com.amazonaws.services.neptunedata.model.StartMLModelTrainingJobRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-neptunedata Show documentation
/*
* Copyright 2019-2024 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.neptunedata.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 StartMLModelTrainingJobRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* A unique identifier for the new job. The default is An autogenerated UUID.
*
*/
private String id;
/**
*
* The job ID of a completed model-training job that you want to update incrementally based on updated data.
*
*/
private String previousModelTrainingJobId;
/**
*
* The job ID of the completed data-processing job that has created the data that the training will work with.
*
*/
private String dataProcessingJobId;
/**
*
* The location in Amazon S3 where the model artifacts are to be stored.
*
*/
private String trainModelS3Location;
/**
*
* The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or an error
* will occur.
*
*/
private String sagemakerIamRoleArn;
/**
*
* The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in
* your DB cluster parameter group or an error will occur.
*
*/
private String neptuneIamRoleArn;
/**
*
* The type of ML instance used in preparing and managing training of ML models. This is a CPU instance chosen based
* on memory requirements for processing the training data and model.
*
*/
private String baseProcessingInstanceType;
/**
*
* The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU training.
* The default is ml.p3.2xlarge
. Choosing the right instance type for training depends on the task
* type, graph size, and your budget.
*
*/
private String trainingInstanceType;
/**
*
* The disk volume size of the training instance. Both input data and the output model are stored on disk, so the
* volume size must be large enough to hold both data sets. The default is 0. If not specified or 0, Neptune ML
* selects a disk volume size based on the recommendation generated in the data processing step.
*
*/
private Integer trainingInstanceVolumeSizeInGB;
/**
*
* Timeout in seconds for the training job. The default is 86,400 (1 day).
*
*/
private Integer trainingTimeOutInSeconds;
/**
*
* Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2. Neptune ML
* automatically tunes the hyperparameters of the machine learning model. To obtain a model that performs well, use
* at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10). In general, the more tuning
* runs, the better the results.
*
*/
private Integer maxHPONumberOfTrainingJobs;
/**
*
* Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The number
* of parallel jobs you can run is limited by the available resources on your training instance.
*
*/
private Integer maxHPOParallelTrainingJobs;
/**
*
* The IDs of the subnets in the Neptune VPC. The default is None.
*
*/
private java.util.List subnets;
/**
*
* The VPC security group IDs. The default is None.
*
*/
private java.util.List securityGroupIds;
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to
* the ML compute instances that run the training job. The default is None.
*
*/
private String volumeEncryptionKMSKey;
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The
* default is none.
*
*/
private String s3OutputEncryptionKMSKey;
/**
*
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot instances. The
* default is False
.
*
*/
private Boolean enableManagedSpotTraining;
/**
*
* The configuration for custom model training. This is a JSON object.
*
*/
private CustomModelTrainingParameters customModelTrainingParameters;
/**
*
* A unique identifier for the new job. The default is An autogenerated UUID.
*
*
* @param id
* A unique identifier for the new job. The default is An autogenerated UUID.
*/
public void setId(String id) {
this.id = id;
}
/**
*
* A unique identifier for the new job. The default is An autogenerated UUID.
*
*
* @return A unique identifier for the new job. The default is An autogenerated UUID.
*/
public String getId() {
return this.id;
}
/**
*
* A unique identifier for the new job. The default is An autogenerated UUID.
*
*
* @param id
* A unique identifier for the new job. The default is An autogenerated UUID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withId(String id) {
setId(id);
return this;
}
/**
*
* The job ID of a completed model-training job that you want to update incrementally based on updated data.
*
*
* @param previousModelTrainingJobId
* The job ID of a completed model-training job that you want to update incrementally based on updated data.
*/
public void setPreviousModelTrainingJobId(String previousModelTrainingJobId) {
this.previousModelTrainingJobId = previousModelTrainingJobId;
}
/**
*
* The job ID of a completed model-training job that you want to update incrementally based on updated data.
*
*
* @return The job ID of a completed model-training job that you want to update incrementally based on updated data.
*/
public String getPreviousModelTrainingJobId() {
return this.previousModelTrainingJobId;
}
/**
*
* The job ID of a completed model-training job that you want to update incrementally based on updated data.
*
*
* @param previousModelTrainingJobId
* The job ID of a completed model-training job that you want to update incrementally based on updated data.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withPreviousModelTrainingJobId(String previousModelTrainingJobId) {
setPreviousModelTrainingJobId(previousModelTrainingJobId);
return this;
}
/**
*
* The job ID of the completed data-processing job that has created the data that the training will work with.
*
*
* @param dataProcessingJobId
* The job ID of the completed data-processing job that has created the data that the training will work
* with.
*/
public void setDataProcessingJobId(String dataProcessingJobId) {
this.dataProcessingJobId = dataProcessingJobId;
}
/**
*
* The job ID of the completed data-processing job that has created the data that the training will work with.
*
*
* @return The job ID of the completed data-processing job that has created the data that the training will work
* with.
*/
public String getDataProcessingJobId() {
return this.dataProcessingJobId;
}
/**
*
* The job ID of the completed data-processing job that has created the data that the training will work with.
*
*
* @param dataProcessingJobId
* The job ID of the completed data-processing job that has created the data that the training will work
* with.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withDataProcessingJobId(String dataProcessingJobId) {
setDataProcessingJobId(dataProcessingJobId);
return this;
}
/**
*
* The location in Amazon S3 where the model artifacts are to be stored.
*
*
* @param trainModelS3Location
* The location in Amazon S3 where the model artifacts are to be stored.
*/
public void setTrainModelS3Location(String trainModelS3Location) {
this.trainModelS3Location = trainModelS3Location;
}
/**
*
* The location in Amazon S3 where the model artifacts are to be stored.
*
*
* @return The location in Amazon S3 where the model artifacts are to be stored.
*/
public String getTrainModelS3Location() {
return this.trainModelS3Location;
}
/**
*
* The location in Amazon S3 where the model artifacts are to be stored.
*
*
* @param trainModelS3Location
* The location in Amazon S3 where the model artifacts are to be stored.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withTrainModelS3Location(String trainModelS3Location) {
setTrainModelS3Location(trainModelS3Location);
return this;
}
/**
*
* The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or an error
* will occur.
*
*
* @param sagemakerIamRoleArn
* The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or
* an error will occur.
*/
public void setSagemakerIamRoleArn(String sagemakerIamRoleArn) {
this.sagemakerIamRoleArn = sagemakerIamRoleArn;
}
/**
*
* The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or an error
* will occur.
*
*
* @return The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or
* an error will occur.
*/
public String getSagemakerIamRoleArn() {
return this.sagemakerIamRoleArn;
}
/**
*
* The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or an error
* will occur.
*
*
* @param sagemakerIamRoleArn
* The ARN of an IAM role for SageMaker execution.This must be listed in your DB cluster parameter group or
* an error will occur.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withSagemakerIamRoleArn(String sagemakerIamRoleArn) {
setSagemakerIamRoleArn(sagemakerIamRoleArn);
return this;
}
/**
*
* The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in
* your DB cluster parameter group or an error will occur.
*
*
* @param neptuneIamRoleArn
* The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be
* listed in your DB cluster parameter group or an error will occur.
*/
public void setNeptuneIamRoleArn(String neptuneIamRoleArn) {
this.neptuneIamRoleArn = neptuneIamRoleArn;
}
/**
*
* The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in
* your DB cluster parameter group or an error will occur.
*
*
* @return The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be
* listed in your DB cluster parameter group or an error will occur.
*/
public String getNeptuneIamRoleArn() {
return this.neptuneIamRoleArn;
}
/**
*
* The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in
* your DB cluster parameter group or an error will occur.
*
*
* @param neptuneIamRoleArn
* The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be
* listed in your DB cluster parameter group or an error will occur.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withNeptuneIamRoleArn(String neptuneIamRoleArn) {
setNeptuneIamRoleArn(neptuneIamRoleArn);
return this;
}
/**
*
* The type of ML instance used in preparing and managing training of ML models. This is a CPU instance chosen based
* on memory requirements for processing the training data and model.
*
*
* @param baseProcessingInstanceType
* The type of ML instance used in preparing and managing training of ML models. This is a CPU instance
* chosen based on memory requirements for processing the training data and model.
*/
public void setBaseProcessingInstanceType(String baseProcessingInstanceType) {
this.baseProcessingInstanceType = baseProcessingInstanceType;
}
/**
*
* The type of ML instance used in preparing and managing training of ML models. This is a CPU instance chosen based
* on memory requirements for processing the training data and model.
*
*
* @return The type of ML instance used in preparing and managing training of ML models. This is a CPU instance
* chosen based on memory requirements for processing the training data and model.
*/
public String getBaseProcessingInstanceType() {
return this.baseProcessingInstanceType;
}
/**
*
* The type of ML instance used in preparing and managing training of ML models. This is a CPU instance chosen based
* on memory requirements for processing the training data and model.
*
*
* @param baseProcessingInstanceType
* The type of ML instance used in preparing and managing training of ML models. This is a CPU instance
* chosen based on memory requirements for processing the training data and model.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withBaseProcessingInstanceType(String baseProcessingInstanceType) {
setBaseProcessingInstanceType(baseProcessingInstanceType);
return this;
}
/**
*
* The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU training.
* The default is ml.p3.2xlarge
. Choosing the right instance type for training depends on the task
* type, graph size, and your budget.
*
*
* @param trainingInstanceType
* The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU
* training. The default is ml.p3.2xlarge
. Choosing the right instance type for training depends
* on the task type, graph size, and your budget.
*/
public void setTrainingInstanceType(String trainingInstanceType) {
this.trainingInstanceType = trainingInstanceType;
}
/**
*
* The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU training.
* The default is ml.p3.2xlarge
. Choosing the right instance type for training depends on the task
* type, graph size, and your budget.
*
*
* @return The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU
* training. The default is ml.p3.2xlarge
. Choosing the right instance type for training
* depends on the task type, graph size, and your budget.
*/
public String getTrainingInstanceType() {
return this.trainingInstanceType;
}
/**
*
* The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU training.
* The default is ml.p3.2xlarge
. Choosing the right instance type for training depends on the task
* type, graph size, and your budget.
*
*
* @param trainingInstanceType
* The type of ML instance used for model training. All Neptune ML models support CPU, GPU, and multiGPU
* training. The default is ml.p3.2xlarge
. Choosing the right instance type for training depends
* on the task type, graph size, and your budget.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withTrainingInstanceType(String trainingInstanceType) {
setTrainingInstanceType(trainingInstanceType);
return this;
}
/**
*
* The disk volume size of the training instance. Both input data and the output model are stored on disk, so the
* volume size must be large enough to hold both data sets. The default is 0. If not specified or 0, Neptune ML
* selects a disk volume size based on the recommendation generated in the data processing step.
*
*
* @param trainingInstanceVolumeSizeInGB
* The disk volume size of the training instance. Both input data and the output model are stored on disk, so
* the volume size must be large enough to hold both data sets. The default is 0. If not specified or 0,
* Neptune ML selects a disk volume size based on the recommendation generated in the data processing step.
*/
public void setTrainingInstanceVolumeSizeInGB(Integer trainingInstanceVolumeSizeInGB) {
this.trainingInstanceVolumeSizeInGB = trainingInstanceVolumeSizeInGB;
}
/**
*
* The disk volume size of the training instance. Both input data and the output model are stored on disk, so the
* volume size must be large enough to hold both data sets. The default is 0. If not specified or 0, Neptune ML
* selects a disk volume size based on the recommendation generated in the data processing step.
*
*
* @return The disk volume size of the training instance. Both input data and the output model are stored on disk,
* so the volume size must be large enough to hold both data sets. The default is 0. If not specified or 0,
* Neptune ML selects a disk volume size based on the recommendation generated in the data processing step.
*/
public Integer getTrainingInstanceVolumeSizeInGB() {
return this.trainingInstanceVolumeSizeInGB;
}
/**
*
* The disk volume size of the training instance. Both input data and the output model are stored on disk, so the
* volume size must be large enough to hold both data sets. The default is 0. If not specified or 0, Neptune ML
* selects a disk volume size based on the recommendation generated in the data processing step.
*
*
* @param trainingInstanceVolumeSizeInGB
* The disk volume size of the training instance. Both input data and the output model are stored on disk, so
* the volume size must be large enough to hold both data sets. The default is 0. If not specified or 0,
* Neptune ML selects a disk volume size based on the recommendation generated in the data processing step.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withTrainingInstanceVolumeSizeInGB(Integer trainingInstanceVolumeSizeInGB) {
setTrainingInstanceVolumeSizeInGB(trainingInstanceVolumeSizeInGB);
return this;
}
/**
*
* Timeout in seconds for the training job. The default is 86,400 (1 day).
*
*
* @param trainingTimeOutInSeconds
* Timeout in seconds for the training job. The default is 86,400 (1 day).
*/
public void setTrainingTimeOutInSeconds(Integer trainingTimeOutInSeconds) {
this.trainingTimeOutInSeconds = trainingTimeOutInSeconds;
}
/**
*
* Timeout in seconds for the training job. The default is 86,400 (1 day).
*
*
* @return Timeout in seconds for the training job. The default is 86,400 (1 day).
*/
public Integer getTrainingTimeOutInSeconds() {
return this.trainingTimeOutInSeconds;
}
/**
*
* Timeout in seconds for the training job. The default is 86,400 (1 day).
*
*
* @param trainingTimeOutInSeconds
* Timeout in seconds for the training job. The default is 86,400 (1 day).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withTrainingTimeOutInSeconds(Integer trainingTimeOutInSeconds) {
setTrainingTimeOutInSeconds(trainingTimeOutInSeconds);
return this;
}
/**
*
* Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2. Neptune ML
* automatically tunes the hyperparameters of the machine learning model. To obtain a model that performs well, use
* at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10). In general, the more tuning
* runs, the better the results.
*
*
* @param maxHPONumberOfTrainingJobs
* Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2.
* Neptune ML automatically tunes the hyperparameters of the machine learning model. To obtain a model that
* performs well, use at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10).
* In general, the more tuning runs, the better the results.
*/
public void setMaxHPONumberOfTrainingJobs(Integer maxHPONumberOfTrainingJobs) {
this.maxHPONumberOfTrainingJobs = maxHPONumberOfTrainingJobs;
}
/**
*
* Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2. Neptune ML
* automatically tunes the hyperparameters of the machine learning model. To obtain a model that performs well, use
* at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10). In general, the more tuning
* runs, the better the results.
*
*
* @return Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2.
* Neptune ML automatically tunes the hyperparameters of the machine learning model. To obtain a model that
* performs well, use at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10).
* In general, the more tuning runs, the better the results.
*/
public Integer getMaxHPONumberOfTrainingJobs() {
return this.maxHPONumberOfTrainingJobs;
}
/**
*
* Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2. Neptune ML
* automatically tunes the hyperparameters of the machine learning model. To obtain a model that performs well, use
* at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10). In general, the more tuning
* runs, the better the results.
*
*
* @param maxHPONumberOfTrainingJobs
* Maximum total number of training jobs to start for the hyperparameter tuning job. The default is 2.
* Neptune ML automatically tunes the hyperparameters of the machine learning model. To obtain a model that
* performs well, use at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs
to 10).
* In general, the more tuning runs, the better the results.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withMaxHPONumberOfTrainingJobs(Integer maxHPONumberOfTrainingJobs) {
setMaxHPONumberOfTrainingJobs(maxHPONumberOfTrainingJobs);
return this;
}
/**
*
* Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The number
* of parallel jobs you can run is limited by the available resources on your training instance.
*
*
* @param maxHPOParallelTrainingJobs
* Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The
* number of parallel jobs you can run is limited by the available resources on your training instance.
*/
public void setMaxHPOParallelTrainingJobs(Integer maxHPOParallelTrainingJobs) {
this.maxHPOParallelTrainingJobs = maxHPOParallelTrainingJobs;
}
/**
*
* Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The number
* of parallel jobs you can run is limited by the available resources on your training instance.
*
*
* @return Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2.
* The number of parallel jobs you can run is limited by the available resources on your training instance.
*/
public Integer getMaxHPOParallelTrainingJobs() {
return this.maxHPOParallelTrainingJobs;
}
/**
*
* Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The number
* of parallel jobs you can run is limited by the available resources on your training instance.
*
*
* @param maxHPOParallelTrainingJobs
* Maximum number of parallel training jobs to start for the hyperparameter tuning job. The default is 2. The
* number of parallel jobs you can run is limited by the available resources on your training instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withMaxHPOParallelTrainingJobs(Integer maxHPOParallelTrainingJobs) {
setMaxHPOParallelTrainingJobs(maxHPOParallelTrainingJobs);
return this;
}
/**
*
* The IDs of the subnets in the Neptune VPC. The default is None.
*
*
* @return The IDs of the subnets in the Neptune VPC. The default is None.
*/
public java.util.List getSubnets() {
return subnets;
}
/**
*
* The IDs of the subnets in the Neptune VPC. The default is None.
*
*
* @param subnets
* The IDs of the subnets in the Neptune VPC. The default is None.
*/
public void setSubnets(java.util.Collection subnets) {
if (subnets == null) {
this.subnets = null;
return;
}
this.subnets = new java.util.ArrayList(subnets);
}
/**
*
* The IDs of the subnets in the Neptune VPC. The default is None.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSubnets(java.util.Collection)} or {@link #withSubnets(java.util.Collection)} if you want to override
* the existing values.
*
*
* @param subnets
* The IDs of the subnets in the Neptune VPC. The default is None.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withSubnets(String... subnets) {
if (this.subnets == null) {
setSubnets(new java.util.ArrayList(subnets.length));
}
for (String ele : subnets) {
this.subnets.add(ele);
}
return this;
}
/**
*
* The IDs of the subnets in the Neptune VPC. The default is None.
*
*
* @param subnets
* The IDs of the subnets in the Neptune VPC. The default is None.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withSubnets(java.util.Collection subnets) {
setSubnets(subnets);
return this;
}
/**
*
* The VPC security group IDs. The default is None.
*
*
* @return The VPC security group IDs. The default is None.
*/
public java.util.List getSecurityGroupIds() {
return securityGroupIds;
}
/**
*
* The VPC security group IDs. The default is None.
*
*
* @param securityGroupIds
* The VPC security group IDs. The default is None.
*/
public void setSecurityGroupIds(java.util.Collection securityGroupIds) {
if (securityGroupIds == null) {
this.securityGroupIds = null;
return;
}
this.securityGroupIds = new java.util.ArrayList(securityGroupIds);
}
/**
*
* The VPC security group IDs. The default is None.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param securityGroupIds
* The VPC security group IDs. The default is None.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withSecurityGroupIds(String... securityGroupIds) {
if (this.securityGroupIds == null) {
setSecurityGroupIds(new java.util.ArrayList(securityGroupIds.length));
}
for (String ele : securityGroupIds) {
this.securityGroupIds.add(ele);
}
return this;
}
/**
*
* The VPC security group IDs. The default is None.
*
*
* @param securityGroupIds
* The VPC security group IDs. The default is None.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withSecurityGroupIds(java.util.Collection securityGroupIds) {
setSecurityGroupIds(securityGroupIds);
return this;
}
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to
* the ML compute instances that run the training job. The default is None.
*
*
* @param volumeEncryptionKMSKey
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume
* attached to the ML compute instances that run the training job. The default is None.
*/
public void setVolumeEncryptionKMSKey(String volumeEncryptionKMSKey) {
this.volumeEncryptionKMSKey = volumeEncryptionKMSKey;
}
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to
* the ML compute instances that run the training job. The default is None.
*
*
* @return The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume
* attached to the ML compute instances that run the training job. The default is None.
*/
public String getVolumeEncryptionKMSKey() {
return this.volumeEncryptionKMSKey;
}
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to
* the ML compute instances that run the training job. The default is None.
*
*
* @param volumeEncryptionKMSKey
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume
* attached to the ML compute instances that run the training job. The default is None.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withVolumeEncryptionKMSKey(String volumeEncryptionKMSKey) {
setVolumeEncryptionKMSKey(volumeEncryptionKMSKey);
return this;
}
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The
* default is none.
*
*
* @param s3OutputEncryptionKMSKey
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing
* job. The default is none.
*/
public void setS3OutputEncryptionKMSKey(String s3OutputEncryptionKMSKey) {
this.s3OutputEncryptionKMSKey = s3OutputEncryptionKMSKey;
}
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The
* default is none.
*
*
* @return The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing
* job. The default is none.
*/
public String getS3OutputEncryptionKMSKey() {
return this.s3OutputEncryptionKMSKey;
}
/**
*
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The
* default is none.
*
*
* @param s3OutputEncryptionKMSKey
* The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing
* job. The default is none.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withS3OutputEncryptionKMSKey(String s3OutputEncryptionKMSKey) {
setS3OutputEncryptionKMSKey(s3OutputEncryptionKMSKey);
return this;
}
/**
*
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot instances. The
* default is False
.
*
*
* @param enableManagedSpotTraining
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot
* instances. The default is False
.
*/
public void setEnableManagedSpotTraining(Boolean enableManagedSpotTraining) {
this.enableManagedSpotTraining = enableManagedSpotTraining;
}
/**
*
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot instances. The
* default is False
.
*
*
* @return Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot
* instances. The default is False
.
*/
public Boolean getEnableManagedSpotTraining() {
return this.enableManagedSpotTraining;
}
/**
*
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot instances. The
* default is False
.
*
*
* @param enableManagedSpotTraining
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot
* instances. The default is False
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withEnableManagedSpotTraining(Boolean enableManagedSpotTraining) {
setEnableManagedSpotTraining(enableManagedSpotTraining);
return this;
}
/**
*
* Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot instances. The
* default is False
.
*
*
* @return Optimizes the cost of training machine-learning models by using Amazon Elastic Compute Cloud spot
* instances. The default is False
.
*/
public Boolean isEnableManagedSpotTraining() {
return this.enableManagedSpotTraining;
}
/**
*
* The configuration for custom model training. This is a JSON object.
*
*
* @param customModelTrainingParameters
* The configuration for custom model training. This is a JSON object.
*/
public void setCustomModelTrainingParameters(CustomModelTrainingParameters customModelTrainingParameters) {
this.customModelTrainingParameters = customModelTrainingParameters;
}
/**
*
* The configuration for custom model training. This is a JSON object.
*
*
* @return The configuration for custom model training. This is a JSON object.
*/
public CustomModelTrainingParameters getCustomModelTrainingParameters() {
return this.customModelTrainingParameters;
}
/**
*
* The configuration for custom model training. This is a JSON object.
*
*
* @param customModelTrainingParameters
* The configuration for custom model training. This is a JSON object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartMLModelTrainingJobRequest withCustomModelTrainingParameters(CustomModelTrainingParameters customModelTrainingParameters) {
setCustomModelTrainingParameters(customModelTrainingParameters);
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 (getId() != null)
sb.append("Id: ").append(getId()).append(",");
if (getPreviousModelTrainingJobId() != null)
sb.append("PreviousModelTrainingJobId: ").append(getPreviousModelTrainingJobId()).append(",");
if (getDataProcessingJobId() != null)
sb.append("DataProcessingJobId: ").append(getDataProcessingJobId()).append(",");
if (getTrainModelS3Location() != null)
sb.append("TrainModelS3Location: ").append(getTrainModelS3Location()).append(",");
if (getSagemakerIamRoleArn() != null)
sb.append("SagemakerIamRoleArn: ").append(getSagemakerIamRoleArn()).append(",");
if (getNeptuneIamRoleArn() != null)
sb.append("NeptuneIamRoleArn: ").append(getNeptuneIamRoleArn()).append(",");
if (getBaseProcessingInstanceType() != null)
sb.append("BaseProcessingInstanceType: ").append(getBaseProcessingInstanceType()).append(",");
if (getTrainingInstanceType() != null)
sb.append("TrainingInstanceType: ").append(getTrainingInstanceType()).append(",");
if (getTrainingInstanceVolumeSizeInGB() != null)
sb.append("TrainingInstanceVolumeSizeInGB: ").append(getTrainingInstanceVolumeSizeInGB()).append(",");
if (getTrainingTimeOutInSeconds() != null)
sb.append("TrainingTimeOutInSeconds: ").append(getTrainingTimeOutInSeconds()).append(",");
if (getMaxHPONumberOfTrainingJobs() != null)
sb.append("MaxHPONumberOfTrainingJobs: ").append(getMaxHPONumberOfTrainingJobs()).append(",");
if (getMaxHPOParallelTrainingJobs() != null)
sb.append("MaxHPOParallelTrainingJobs: ").append(getMaxHPOParallelTrainingJobs()).append(",");
if (getSubnets() != null)
sb.append("Subnets: ").append(getSubnets()).append(",");
if (getSecurityGroupIds() != null)
sb.append("SecurityGroupIds: ").append(getSecurityGroupIds()).append(",");
if (getVolumeEncryptionKMSKey() != null)
sb.append("VolumeEncryptionKMSKey: ").append(getVolumeEncryptionKMSKey()).append(",");
if (getS3OutputEncryptionKMSKey() != null)
sb.append("S3OutputEncryptionKMSKey: ").append(getS3OutputEncryptionKMSKey()).append(",");
if (getEnableManagedSpotTraining() != null)
sb.append("EnableManagedSpotTraining: ").append(getEnableManagedSpotTraining()).append(",");
if (getCustomModelTrainingParameters() != null)
sb.append("CustomModelTrainingParameters: ").append(getCustomModelTrainingParameters());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof StartMLModelTrainingJobRequest == false)
return false;
StartMLModelTrainingJobRequest other = (StartMLModelTrainingJobRequest) obj;
if (other.getId() == null ^ this.getId() == null)
return false;
if (other.getId() != null && other.getId().equals(this.getId()) == false)
return false;
if (other.getPreviousModelTrainingJobId() == null ^ this.getPreviousModelTrainingJobId() == null)
return false;
if (other.getPreviousModelTrainingJobId() != null && other.getPreviousModelTrainingJobId().equals(this.getPreviousModelTrainingJobId()) == false)
return false;
if (other.getDataProcessingJobId() == null ^ this.getDataProcessingJobId() == null)
return false;
if (other.getDataProcessingJobId() != null && other.getDataProcessingJobId().equals(this.getDataProcessingJobId()) == false)
return false;
if (other.getTrainModelS3Location() == null ^ this.getTrainModelS3Location() == null)
return false;
if (other.getTrainModelS3Location() != null && other.getTrainModelS3Location().equals(this.getTrainModelS3Location()) == false)
return false;
if (other.getSagemakerIamRoleArn() == null ^ this.getSagemakerIamRoleArn() == null)
return false;
if (other.getSagemakerIamRoleArn() != null && other.getSagemakerIamRoleArn().equals(this.getSagemakerIamRoleArn()) == false)
return false;
if (other.getNeptuneIamRoleArn() == null ^ this.getNeptuneIamRoleArn() == null)
return false;
if (other.getNeptuneIamRoleArn() != null && other.getNeptuneIamRoleArn().equals(this.getNeptuneIamRoleArn()) == false)
return false;
if (other.getBaseProcessingInstanceType() == null ^ this.getBaseProcessingInstanceType() == null)
return false;
if (other.getBaseProcessingInstanceType() != null && other.getBaseProcessingInstanceType().equals(this.getBaseProcessingInstanceType()) == false)
return false;
if (other.getTrainingInstanceType() == null ^ this.getTrainingInstanceType() == null)
return false;
if (other.getTrainingInstanceType() != null && other.getTrainingInstanceType().equals(this.getTrainingInstanceType()) == false)
return false;
if (other.getTrainingInstanceVolumeSizeInGB() == null ^ this.getTrainingInstanceVolumeSizeInGB() == null)
return false;
if (other.getTrainingInstanceVolumeSizeInGB() != null
&& other.getTrainingInstanceVolumeSizeInGB().equals(this.getTrainingInstanceVolumeSizeInGB()) == false)
return false;
if (other.getTrainingTimeOutInSeconds() == null ^ this.getTrainingTimeOutInSeconds() == null)
return false;
if (other.getTrainingTimeOutInSeconds() != null && other.getTrainingTimeOutInSeconds().equals(this.getTrainingTimeOutInSeconds()) == false)
return false;
if (other.getMaxHPONumberOfTrainingJobs() == null ^ this.getMaxHPONumberOfTrainingJobs() == null)
return false;
if (other.getMaxHPONumberOfTrainingJobs() != null && other.getMaxHPONumberOfTrainingJobs().equals(this.getMaxHPONumberOfTrainingJobs()) == false)
return false;
if (other.getMaxHPOParallelTrainingJobs() == null ^ this.getMaxHPOParallelTrainingJobs() == null)
return false;
if (other.getMaxHPOParallelTrainingJobs() != null && other.getMaxHPOParallelTrainingJobs().equals(this.getMaxHPOParallelTrainingJobs()) == false)
return false;
if (other.getSubnets() == null ^ this.getSubnets() == null)
return false;
if (other.getSubnets() != null && other.getSubnets().equals(this.getSubnets()) == false)
return false;
if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null)
return false;
if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == false)
return false;
if (other.getVolumeEncryptionKMSKey() == null ^ this.getVolumeEncryptionKMSKey() == null)
return false;
if (other.getVolumeEncryptionKMSKey() != null && other.getVolumeEncryptionKMSKey().equals(this.getVolumeEncryptionKMSKey()) == false)
return false;
if (other.getS3OutputEncryptionKMSKey() == null ^ this.getS3OutputEncryptionKMSKey() == null)
return false;
if (other.getS3OutputEncryptionKMSKey() != null && other.getS3OutputEncryptionKMSKey().equals(this.getS3OutputEncryptionKMSKey()) == false)
return false;
if (other.getEnableManagedSpotTraining() == null ^ this.getEnableManagedSpotTraining() == null)
return false;
if (other.getEnableManagedSpotTraining() != null && other.getEnableManagedSpotTraining().equals(this.getEnableManagedSpotTraining()) == false)
return false;
if (other.getCustomModelTrainingParameters() == null ^ this.getCustomModelTrainingParameters() == null)
return false;
if (other.getCustomModelTrainingParameters() != null
&& other.getCustomModelTrainingParameters().equals(this.getCustomModelTrainingParameters()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode());
hashCode = prime * hashCode + ((getPreviousModelTrainingJobId() == null) ? 0 : getPreviousModelTrainingJobId().hashCode());
hashCode = prime * hashCode + ((getDataProcessingJobId() == null) ? 0 : getDataProcessingJobId().hashCode());
hashCode = prime * hashCode + ((getTrainModelS3Location() == null) ? 0 : getTrainModelS3Location().hashCode());
hashCode = prime * hashCode + ((getSagemakerIamRoleArn() == null) ? 0 : getSagemakerIamRoleArn().hashCode());
hashCode = prime * hashCode + ((getNeptuneIamRoleArn() == null) ? 0 : getNeptuneIamRoleArn().hashCode());
hashCode = prime * hashCode + ((getBaseProcessingInstanceType() == null) ? 0 : getBaseProcessingInstanceType().hashCode());
hashCode = prime * hashCode + ((getTrainingInstanceType() == null) ? 0 : getTrainingInstanceType().hashCode());
hashCode = prime * hashCode + ((getTrainingInstanceVolumeSizeInGB() == null) ? 0 : getTrainingInstanceVolumeSizeInGB().hashCode());
hashCode = prime * hashCode + ((getTrainingTimeOutInSeconds() == null) ? 0 : getTrainingTimeOutInSeconds().hashCode());
hashCode = prime * hashCode + ((getMaxHPONumberOfTrainingJobs() == null) ? 0 : getMaxHPONumberOfTrainingJobs().hashCode());
hashCode = prime * hashCode + ((getMaxHPOParallelTrainingJobs() == null) ? 0 : getMaxHPOParallelTrainingJobs().hashCode());
hashCode = prime * hashCode + ((getSubnets() == null) ? 0 : getSubnets().hashCode());
hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getVolumeEncryptionKMSKey() == null) ? 0 : getVolumeEncryptionKMSKey().hashCode());
hashCode = prime * hashCode + ((getS3OutputEncryptionKMSKey() == null) ? 0 : getS3OutputEncryptionKMSKey().hashCode());
hashCode = prime * hashCode + ((getEnableManagedSpotTraining() == null) ? 0 : getEnableManagedSpotTraining().hashCode());
hashCode = prime * hashCode + ((getCustomModelTrainingParameters() == null) ? 0 : getCustomModelTrainingParameters().hashCode());
return hashCode;
}
@Override
public StartMLModelTrainingJobRequest clone() {
return (StartMLModelTrainingJobRequest) super.clone();
}
}