/** * 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 #include namespace Aws { namespace SageMaker { namespace Model { /** */ class CreateAutoMLJobV2Request : public SageMakerRequest { public: AWS_SAGEMAKER_API CreateAutoMLJobV2Request(); // 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 "CreateAutoMLJobV2"; } 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 CreateAutoMLJobV2Request& 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 CreateAutoMLJobV2Request& 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 CreateAutoMLJobV2Request& WithAutoMLJobName(const char* value) { SetAutoMLJobName(value); return *this;} /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline const Aws::Vector& GetAutoMLJobInputDataConfig() const{ return m_autoMLJobInputDataConfig; } /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline bool AutoMLJobInputDataConfigHasBeenSet() const { return m_autoMLJobInputDataConfigHasBeenSet; } /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline void SetAutoMLJobInputDataConfig(const Aws::Vector& value) { m_autoMLJobInputDataConfigHasBeenSet = true; m_autoMLJobInputDataConfig = value; } /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline void SetAutoMLJobInputDataConfig(Aws::Vector&& value) { m_autoMLJobInputDataConfigHasBeenSet = true; m_autoMLJobInputDataConfig = std::move(value); } /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline CreateAutoMLJobV2Request& WithAutoMLJobInputDataConfig(const Aws::Vector& value) { SetAutoMLJobInputDataConfig(value); return *this;} /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline CreateAutoMLJobV2Request& WithAutoMLJobInputDataConfig(Aws::Vector&& value) { SetAutoMLJobInputDataConfig(std::move(value)); return *this;} /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline CreateAutoMLJobV2Request& AddAutoMLJobInputDataConfig(const AutoMLJobChannel& value) { m_autoMLJobInputDataConfigHasBeenSet = true; m_autoMLJobInputDataConfig.push_back(value); return *this; } /** *

An array of channel objects describing the input data and their location. * Each channel is a named input source. Similar to the InputDataConfig * attribute in the CreateAutoMLJob input parameters. The supported * formats depend on the problem type:

  • For tabular problem types: * S3Prefix, ManifestFile.

  • For image * classification: S3Prefix, ManifestFile, * AugmentedManifestFile.

  • For text classification: * S3Prefix.

  • For time-series forecasting: * S3Prefix.

*/ inline CreateAutoMLJobV2Request& AddAutoMLJobInputDataConfig(AutoMLJobChannel&& value) { m_autoMLJobInputDataConfigHasBeenSet = true; m_autoMLJobInputDataConfig.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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline CreateAutoMLJobV2Request& 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.

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

Defines the configuration settings of one of the supported problem types.

*/ inline const AutoMLProblemTypeConfig& GetAutoMLProblemTypeConfig() const{ return m_autoMLProblemTypeConfig; } /** *

Defines the configuration settings of one of the supported problem types.

*/ inline bool AutoMLProblemTypeConfigHasBeenSet() const { return m_autoMLProblemTypeConfigHasBeenSet; } /** *

Defines the configuration settings of one of the supported problem types.

*/ inline void SetAutoMLProblemTypeConfig(const AutoMLProblemTypeConfig& value) { m_autoMLProblemTypeConfigHasBeenSet = true; m_autoMLProblemTypeConfig = value; } /** *

Defines the configuration settings of one of the supported problem types.

*/ inline void SetAutoMLProblemTypeConfig(AutoMLProblemTypeConfig&& value) { m_autoMLProblemTypeConfigHasBeenSet = true; m_autoMLProblemTypeConfig = std::move(value); } /** *

Defines the configuration settings of one of the supported problem types.

*/ inline CreateAutoMLJobV2Request& WithAutoMLProblemTypeConfig(const AutoMLProblemTypeConfig& value) { SetAutoMLProblemTypeConfig(value); return *this;} /** *

Defines the configuration settings of one of the supported problem types.

*/ inline CreateAutoMLJobV2Request& WithAutoMLProblemTypeConfig(AutoMLProblemTypeConfig&& value) { SetAutoMLProblemTypeConfig(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 CreateAutoMLJobV2Request& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

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

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

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

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, such as 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, such as 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, such as 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, such as 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, such as by purpose, owner, or environment. * For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

*/ inline CreateAutoMLJobV2Request& 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, such as by purpose, owner, or environment. * For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

*/ inline CreateAutoMLJobV2Request& 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, such as by purpose, owner, or environment. * For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

*/ inline CreateAutoMLJobV2Request& 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, such as by purpose, owner, or environment. * For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

The security configuration for traffic encryption or Amazon VPC settings.

*/ inline const AutoMLSecurityConfig& GetSecurityConfig() const{ return m_securityConfig; } /** *

The security configuration for traffic encryption or Amazon VPC settings.

*/ inline bool SecurityConfigHasBeenSet() const { return m_securityConfigHasBeenSet; } /** *

The security configuration for traffic encryption or Amazon VPC settings.

*/ inline void SetSecurityConfig(const AutoMLSecurityConfig& value) { m_securityConfigHasBeenSet = true; m_securityConfig = value; } /** *

The security configuration for traffic encryption or Amazon VPC settings.

*/ inline void SetSecurityConfig(AutoMLSecurityConfig&& value) { m_securityConfigHasBeenSet = true; m_securityConfig = std::move(value); } /** *

The security configuration for traffic encryption or Amazon VPC settings.

*/ inline CreateAutoMLJobV2Request& WithSecurityConfig(const AutoMLSecurityConfig& value) { SetSecurityConfig(value); return *this;} /** *

The security configuration for traffic encryption or Amazon VPC settings.

*/ inline CreateAutoMLJobV2Request& WithSecurityConfig(AutoMLSecurityConfig&& value) { SetSecurityConfig(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. For the * list of default values per problem type, see AutoMLJobObjective.

*

For tabular problem types, you must either provide both the * AutoMLJobObjective and indicate the type of supervised learning * problem in AutoMLProblemTypeConfig * (TabularJobConfig.ProblemType), or none at all.

*/ 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. For the * list of default values per problem type, see AutoMLJobObjective.

*

For tabular problem types, you must either provide both the * AutoMLJobObjective and indicate the type of supervised learning * problem in AutoMLProblemTypeConfig * (TabularJobConfig.ProblemType), or none at all.

*/ 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. For the * list of default values per problem type, see AutoMLJobObjective.

*

For tabular problem types, you must either provide both the * AutoMLJobObjective and indicate the type of supervised learning * problem in AutoMLProblemTypeConfig * (TabularJobConfig.ProblemType), or none at all.

*/ 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. For the * list of default values per problem type, see AutoMLJobObjective.

*

For tabular problem types, you must either provide both the * AutoMLJobObjective and indicate the type of supervised learning * problem in AutoMLProblemTypeConfig * (TabularJobConfig.ProblemType), or none at all.

*/ 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. For the * list of default values per problem type, see AutoMLJobObjective.

*

For tabular problem types, you must either provide both the * AutoMLJobObjective and indicate the type of supervised learning * problem in AutoMLProblemTypeConfig * (TabularJobConfig.ProblemType), or none at all.

*/ inline CreateAutoMLJobV2Request& 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. For the * list of default values per problem type, see AutoMLJobObjective.

*

For tabular problem types, you must either provide both the * AutoMLJobObjective and indicate the type of supervised learning * problem in AutoMLProblemTypeConfig * (TabularJobConfig.ProblemType), or none at all.

*/ inline CreateAutoMLJobV2Request& WithAutoMLJobObjective(AutoMLJobObjective&& value) { SetAutoMLJobObjective(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 CreateAutoMLJobV2Request& WithModelDeployConfig(const ModelDeployConfig& value) { SetModelDeployConfig(value); return *this;} /** *

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

*/ inline CreateAutoMLJobV2Request& WithModelDeployConfig(ModelDeployConfig&& value) { SetModelDeployConfig(std::move(value)); return *this;} /** *

This structure specifies how to split the data into train and validation * datasets.

The validation and training datasets must contain the same * headers. For jobs created by calling CreateAutoMLJob, the * validation dataset must be less than 2 GB in size.

This attribute * must not be set for the time-series forecasting problem type, as Autopilot * automatically splits the input dataset into training and validation sets.

* */ inline const AutoMLDataSplitConfig& GetDataSplitConfig() const{ return m_dataSplitConfig; } /** *

This structure specifies how to split the data into train and validation * datasets.

The validation and training datasets must contain the same * headers. For jobs created by calling CreateAutoMLJob, the * validation dataset must be less than 2 GB in size.

This attribute * must not be set for the time-series forecasting problem type, as Autopilot * automatically splits the input dataset into training and validation sets.

* */ inline bool DataSplitConfigHasBeenSet() const { return m_dataSplitConfigHasBeenSet; } /** *

This structure specifies how to split the data into train and validation * datasets.

The validation and training datasets must contain the same * headers. For jobs created by calling CreateAutoMLJob, the * validation dataset must be less than 2 GB in size.

This attribute * must not be set for the time-series forecasting problem type, as Autopilot * automatically splits the input dataset into training and validation sets.

* */ inline void SetDataSplitConfig(const AutoMLDataSplitConfig& value) { m_dataSplitConfigHasBeenSet = true; m_dataSplitConfig = value; } /** *

This structure specifies how to split the data into train and validation * datasets.

The validation and training datasets must contain the same * headers. For jobs created by calling CreateAutoMLJob, the * validation dataset must be less than 2 GB in size.

This attribute * must not be set for the time-series forecasting problem type, as Autopilot * automatically splits the input dataset into training and validation sets.

* */ inline void SetDataSplitConfig(AutoMLDataSplitConfig&& value) { m_dataSplitConfigHasBeenSet = true; m_dataSplitConfig = std::move(value); } /** *

This structure specifies how to split the data into train and validation * datasets.

The validation and training datasets must contain the same * headers. For jobs created by calling CreateAutoMLJob, the * validation dataset must be less than 2 GB in size.

This attribute * must not be set for the time-series forecasting problem type, as Autopilot * automatically splits the input dataset into training and validation sets.

* */ inline CreateAutoMLJobV2Request& WithDataSplitConfig(const AutoMLDataSplitConfig& value) { SetDataSplitConfig(value); return *this;} /** *

This structure specifies how to split the data into train and validation * datasets.

The validation and training datasets must contain the same * headers. For jobs created by calling CreateAutoMLJob, the * validation dataset must be less than 2 GB in size.

This attribute * must not be set for the time-series forecasting problem type, as Autopilot * automatically splits the input dataset into training and validation sets.

* */ inline CreateAutoMLJobV2Request& WithDataSplitConfig(AutoMLDataSplitConfig&& value) { SetDataSplitConfig(std::move(value)); return *this;} private: Aws::String m_autoMLJobName; bool m_autoMLJobNameHasBeenSet = false; Aws::Vector m_autoMLJobInputDataConfig; bool m_autoMLJobInputDataConfigHasBeenSet = false; AutoMLOutputDataConfig m_outputDataConfig; bool m_outputDataConfigHasBeenSet = false; AutoMLProblemTypeConfig m_autoMLProblemTypeConfig; bool m_autoMLProblemTypeConfigHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; AutoMLSecurityConfig m_securityConfig; bool m_securityConfigHasBeenSet = false; AutoMLJobObjective m_autoMLJobObjective; bool m_autoMLJobObjectiveHasBeenSet = false; ModelDeployConfig m_modelDeployConfig; bool m_modelDeployConfigHasBeenSet = false; AutoMLDataSplitConfig m_dataSplitConfig; bool m_dataSplitConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws