/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.sagemaker.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateAutoMLJobV2Request extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* Identifies an Autopilot job. The name must be unique to your account and is case insensitive. *
*/ private String autoMLJobName; /** *
* 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
.
*
* Provides information about encryption and the Amazon S3 output path needed to store artifacts from an AutoML job. *
*/ private AutoMLOutputDataConfig outputDataConfig; /** ** Defines the configuration settings of one of the supported problem types. *
*/ private AutoMLProblemTypeConfig autoMLProblemTypeConfig; /** ** The ARN of the role that is used to access the data. *
*/ private String roleArn; /** ** 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. *
*/ private java.util.List* The security configuration for traffic encryption or Amazon VPC settings. *
*/ private AutoMLSecurityConfig securityConfig; /** ** 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.
*
* Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. *
*/ private ModelDeployConfig modelDeployConfig; /** ** 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. *
** Identifies an Autopilot job. The name must be unique to your account and is case insensitive. *
* * @param autoMLJobName * Identifies an Autopilot job. The name must be unique to your account and is case insensitive. */ public void setAutoMLJobName(String autoMLJobName) { this.autoMLJobName = autoMLJobName; } /** ** Identifies an Autopilot job. The name must be unique to your account and is case insensitive. *
* * @return Identifies an Autopilot job. The name must be unique to your account and is case insensitive. */ public String getAutoMLJobName() { return this.autoMLJobName; } /** ** Identifies an Autopilot job. The name must be unique to your account and is case insensitive. *
* * @param autoMLJobName * Identifies an Autopilot job. The name must be unique to your account and is case insensitive. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withAutoMLJobName(String autoMLJobName) { setAutoMLJobName(autoMLJobName); 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
.
*
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
.
*
* 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
.
*
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
.
*
* 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
.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAutoMLJobInputDataConfig(java.util.Collection)} or * {@link #withAutoMLJobInputDataConfig(java.util.Collection)} if you want to override the existing values. *
* * @param 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 theCreateAutoMLJob
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
.
*
* 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
.
*
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
.
*
* Provides information about encryption and the Amazon S3 output path needed to store artifacts from an AutoML job. *
* * @param outputDataConfig * Provides information about encryption and the Amazon S3 output path needed to store artifacts from an * AutoML job. */ public void setOutputDataConfig(AutoMLOutputDataConfig outputDataConfig) { this.outputDataConfig = outputDataConfig; } /** ** Provides information about encryption and the Amazon S3 output path needed to store artifacts from an AutoML job. *
* * @return Provides information about encryption and the Amazon S3 output path needed to store artifacts from an * AutoML job. */ public AutoMLOutputDataConfig getOutputDataConfig() { return this.outputDataConfig; } /** ** Provides information about encryption and the Amazon S3 output path needed to store artifacts from an AutoML job. *
* * @param outputDataConfig * Provides information about encryption and the Amazon S3 output path needed to store artifacts from an * AutoML job. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withOutputDataConfig(AutoMLOutputDataConfig outputDataConfig) { setOutputDataConfig(outputDataConfig); return this; } /** ** Defines the configuration settings of one of the supported problem types. *
* * @param autoMLProblemTypeConfig * Defines the configuration settings of one of the supported problem types. */ public void setAutoMLProblemTypeConfig(AutoMLProblemTypeConfig autoMLProblemTypeConfig) { this.autoMLProblemTypeConfig = autoMLProblemTypeConfig; } /** ** Defines the configuration settings of one of the supported problem types. *
* * @return Defines the configuration settings of one of the supported problem types. */ public AutoMLProblemTypeConfig getAutoMLProblemTypeConfig() { return this.autoMLProblemTypeConfig; } /** ** Defines the configuration settings of one of the supported problem types. *
* * @param autoMLProblemTypeConfig * Defines the configuration settings of one of the supported problem types. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withAutoMLProblemTypeConfig(AutoMLProblemTypeConfig autoMLProblemTypeConfig) { setAutoMLProblemTypeConfig(autoMLProblemTypeConfig); return this; } /** ** The ARN of the role that is used to access the data. *
* * @param roleArn * The ARN of the role that is used to access the data. */ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** ** The ARN of the role that is used to access the data. *
* * @return The ARN of the role that is used to access the data. */ public String getRoleArn() { return this.roleArn; } /** ** The ARN of the role that is used to access the data. *
* * @param roleArn * The ARN of the role that is used to access the data. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withRoleArn(String roleArn) { setRoleArn(roleArn); 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. *
* * @return 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. */ public java.util.List* 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. *
* * @param 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. */ public void setTags(java.util.Collection* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList* 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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withTags(java.util.Collection* The security configuration for traffic encryption or Amazon VPC settings. *
* * @param securityConfig * The security configuration for traffic encryption or Amazon VPC settings. */ public void setSecurityConfig(AutoMLSecurityConfig securityConfig) { this.securityConfig = securityConfig; } /** ** The security configuration for traffic encryption or Amazon VPC settings. *
* * @return The security configuration for traffic encryption or Amazon VPC settings. */ public AutoMLSecurityConfig getSecurityConfig() { return this.securityConfig; } /** ** The security configuration for traffic encryption or Amazon VPC settings. *
* * @param securityConfig * The security configuration for traffic encryption or Amazon VPC settings. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withSecurityConfig(AutoMLSecurityConfig securityConfig) { setSecurityConfig(securityConfig); 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. *
* * @param modelDeployConfig * Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. */ public void setModelDeployConfig(ModelDeployConfig modelDeployConfig) { this.modelDeployConfig = modelDeployConfig; } /** ** Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. *
* * @return Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. */ public ModelDeployConfig getModelDeployConfig() { return this.modelDeployConfig; } /** ** Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. *
* * @param modelDeployConfig * Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withModelDeployConfig(ModelDeployConfig modelDeployConfig) { setModelDeployConfig(modelDeployConfig); 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. *
*
* 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. *
*/ public void setDataSplitConfig(AutoMLDataSplitConfig dataSplitConfig) { this.dataSplitConfig = 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. *
*
* 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. *
*/ public AutoMLDataSplitConfig getDataSplitConfig() { return this.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. *
*
* 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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoMLJobV2Request withDataSplitConfig(AutoMLDataSplitConfig dataSplitConfig) { setDataSplitConfig(dataSplitConfig); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAutoMLJobName() != null) sb.append("AutoMLJobName: ").append(getAutoMLJobName()).append(","); if (getAutoMLJobInputDataConfig() != null) sb.append("AutoMLJobInputDataConfig: ").append(getAutoMLJobInputDataConfig()).append(","); if (getOutputDataConfig() != null) sb.append("OutputDataConfig: ").append(getOutputDataConfig()).append(","); if (getAutoMLProblemTypeConfig() != null) sb.append("AutoMLProblemTypeConfig: ").append(getAutoMLProblemTypeConfig()).append(","); if (getRoleArn() != null) sb.append("RoleArn: ").append(getRoleArn()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getSecurityConfig() != null) sb.append("SecurityConfig: ").append(getSecurityConfig()).append(","); if (getAutoMLJobObjective() != null) sb.append("AutoMLJobObjective: ").append(getAutoMLJobObjective()).append(","); if (getModelDeployConfig() != null) sb.append("ModelDeployConfig: ").append(getModelDeployConfig()).append(","); if (getDataSplitConfig() != null) sb.append("DataSplitConfig: ").append(getDataSplitConfig()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateAutoMLJobV2Request == false) return false; CreateAutoMLJobV2Request other = (CreateAutoMLJobV2Request) obj; if (other.getAutoMLJobName() == null ^ this.getAutoMLJobName() == null) return false; if (other.getAutoMLJobName() != null && other.getAutoMLJobName().equals(this.getAutoMLJobName()) == false) return false; if (other.getAutoMLJobInputDataConfig() == null ^ this.getAutoMLJobInputDataConfig() == null) return false; if (other.getAutoMLJobInputDataConfig() != null && other.getAutoMLJobInputDataConfig().equals(this.getAutoMLJobInputDataConfig()) == false) return false; if (other.getOutputDataConfig() == null ^ this.getOutputDataConfig() == null) return false; if (other.getOutputDataConfig() != null && other.getOutputDataConfig().equals(this.getOutputDataConfig()) == false) return false; if (other.getAutoMLProblemTypeConfig() == null ^ this.getAutoMLProblemTypeConfig() == null) return false; if (other.getAutoMLProblemTypeConfig() != null && other.getAutoMLProblemTypeConfig().equals(this.getAutoMLProblemTypeConfig()) == false) return false; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getSecurityConfig() == null ^ this.getSecurityConfig() == null) return false; if (other.getSecurityConfig() != null && other.getSecurityConfig().equals(this.getSecurityConfig()) == false) return false; if (other.getAutoMLJobObjective() == null ^ this.getAutoMLJobObjective() == null) return false; if (other.getAutoMLJobObjective() != null && other.getAutoMLJobObjective().equals(this.getAutoMLJobObjective()) == false) return false; if (other.getModelDeployConfig() == null ^ this.getModelDeployConfig() == null) return false; if (other.getModelDeployConfig() != null && other.getModelDeployConfig().equals(this.getModelDeployConfig()) == false) return false; if (other.getDataSplitConfig() == null ^ this.getDataSplitConfig() == null) return false; if (other.getDataSplitConfig() != null && other.getDataSplitConfig().equals(this.getDataSplitConfig()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAutoMLJobName() == null) ? 0 : getAutoMLJobName().hashCode()); hashCode = prime * hashCode + ((getAutoMLJobInputDataConfig() == null) ? 0 : getAutoMLJobInputDataConfig().hashCode()); hashCode = prime * hashCode + ((getOutputDataConfig() == null) ? 0 : getOutputDataConfig().hashCode()); hashCode = prime * hashCode + ((getAutoMLProblemTypeConfig() == null) ? 0 : getAutoMLProblemTypeConfig().hashCode()); hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getSecurityConfig() == null) ? 0 : getSecurityConfig().hashCode()); hashCode = prime * hashCode + ((getAutoMLJobObjective() == null) ? 0 : getAutoMLJobObjective().hashCode()); hashCode = prime * hashCode + ((getModelDeployConfig() == null) ? 0 : getModelDeployConfig().hashCode()); hashCode = prime * hashCode + ((getDataSplitConfig() == null) ? 0 : getDataSplitConfig().hashCode()); return hashCode; } @Override public CreateAutoMLJobV2Request clone() { return (CreateAutoMLJobV2Request) super.clone(); } }