com.amazonaws.services.personalize.model.SolutionVersion Maven / Gradle / Ivy
Show all versions of aws-java-sdk-personalize 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.personalize.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* An object that provides information about a specific version of a Solution in a Custom dataset group.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class SolutionVersion implements Serializable, Cloneable, StructuredPojo {
/**
*
* The name of the solution version.
*
*/
private String name;
/**
*
* The ARN of the solution version.
*
*/
private String solutionVersionArn;
/**
*
* The ARN of the solution.
*
*/
private String solutionArn;
/**
*
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false
.
*
*/
private Boolean performHPO;
/**
*
* When true, Amazon Personalize searches for the most optimal recipe according to the solution configuration. When
* false (the default), Amazon Personalize uses recipeArn
.
*
*/
private Boolean performAutoML;
/**
*
* The ARN of the recipe used in the solution.
*
*/
private String recipeArn;
/**
*
* The event type (for example, 'click' or 'like') that is used for training the model.
*
*/
private String eventType;
/**
*
* The Amazon Resource Name (ARN) of the dataset group providing the training data.
*
*/
private String datasetGroupArn;
/**
*
* Describes the configuration properties for the solution.
*
*/
private SolutionConfig solutionConfig;
/**
*
* The time used to train the model. You are billed for the time it takes to train a model. This field is visible
* only after Amazon Personalize successfully trains a model.
*
*/
private Double trainingHours;
/**
*
* The scope of training to be performed when creating the solution version. A FULL
training considers
* all of the data in your dataset group. An UPDATE
processes only the data that has changed since the
* latest training. Only solution versions created with the User-Personalization recipe can use UPDATE
.
*
*/
private String trainingMode;
/**
*
* If hyperparameter optimization was performed, contains the hyperparameter values of the best performing model.
*
*/
private TunedHPOParams tunedHPOParams;
/**
*
* The status of the solution version.
*
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
*
*/
private String status;
/**
*
* If training a solution version fails, the reason for the failure.
*
*/
private String failureReason;
/**
*
* The date and time (in Unix time) that this version of the solution was created.
*
*/
private java.util.Date creationDateTime;
/**
*
* The date and time (in Unix time) that the solution was last updated.
*
*/
private java.util.Date lastUpdatedDateTime;
/**
*
* Whether the solution version was created automatically or manually.
*
*/
private String trainingType;
/**
*
* The name of the solution version.
*
*
* @param name
* The name of the solution version.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* The name of the solution version.
*
*
* @return The name of the solution version.
*/
public String getName() {
return this.name;
}
/**
*
* The name of the solution version.
*
*
* @param name
* The name of the solution version.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withName(String name) {
setName(name);
return this;
}
/**
*
* The ARN of the solution version.
*
*
* @param solutionVersionArn
* The ARN of the solution version.
*/
public void setSolutionVersionArn(String solutionVersionArn) {
this.solutionVersionArn = solutionVersionArn;
}
/**
*
* The ARN of the solution version.
*
*
* @return The ARN of the solution version.
*/
public String getSolutionVersionArn() {
return this.solutionVersionArn;
}
/**
*
* The ARN of the solution version.
*
*
* @param solutionVersionArn
* The ARN of the solution version.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withSolutionVersionArn(String solutionVersionArn) {
setSolutionVersionArn(solutionVersionArn);
return this;
}
/**
*
* The ARN of the solution.
*
*
* @param solutionArn
* The ARN of the solution.
*/
public void setSolutionArn(String solutionArn) {
this.solutionArn = solutionArn;
}
/**
*
* The ARN of the solution.
*
*
* @return The ARN of the solution.
*/
public String getSolutionArn() {
return this.solutionArn;
}
/**
*
* The ARN of the solution.
*
*
* @param solutionArn
* The ARN of the solution.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withSolutionArn(String solutionArn) {
setSolutionArn(solutionArn);
return this;
}
/**
*
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false
.
*
*
* @param performHPO
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is
* false
.
*/
public void setPerformHPO(Boolean performHPO) {
this.performHPO = performHPO;
}
/**
*
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false
.
*
*
* @return Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is
* false
.
*/
public Boolean getPerformHPO() {
return this.performHPO;
}
/**
*
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false
.
*
*
* @param performHPO
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is
* false
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withPerformHPO(Boolean performHPO) {
setPerformHPO(performHPO);
return this;
}
/**
*
* Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false
.
*
*
* @return Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is
* false
.
*/
public Boolean isPerformHPO() {
return this.performHPO;
}
/**
*
* When true, Amazon Personalize searches for the most optimal recipe according to the solution configuration. When
* false (the default), Amazon Personalize uses recipeArn
.
*
*
* @param performAutoML
* When true, Amazon Personalize searches for the most optimal recipe according to the solution
* configuration. When false (the default), Amazon Personalize uses recipeArn
.
*/
public void setPerformAutoML(Boolean performAutoML) {
this.performAutoML = performAutoML;
}
/**
*
* When true, Amazon Personalize searches for the most optimal recipe according to the solution configuration. When
* false (the default), Amazon Personalize uses recipeArn
.
*
*
* @return When true, Amazon Personalize searches for the most optimal recipe according to the solution
* configuration. When false (the default), Amazon Personalize uses recipeArn
.
*/
public Boolean getPerformAutoML() {
return this.performAutoML;
}
/**
*
* When true, Amazon Personalize searches for the most optimal recipe according to the solution configuration. When
* false (the default), Amazon Personalize uses recipeArn
.
*
*
* @param performAutoML
* When true, Amazon Personalize searches for the most optimal recipe according to the solution
* configuration. When false (the default), Amazon Personalize uses recipeArn
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withPerformAutoML(Boolean performAutoML) {
setPerformAutoML(performAutoML);
return this;
}
/**
*
* When true, Amazon Personalize searches for the most optimal recipe according to the solution configuration. When
* false (the default), Amazon Personalize uses recipeArn
.
*
*
* @return When true, Amazon Personalize searches for the most optimal recipe according to the solution
* configuration. When false (the default), Amazon Personalize uses recipeArn
.
*/
public Boolean isPerformAutoML() {
return this.performAutoML;
}
/**
*
* The ARN of the recipe used in the solution.
*
*
* @param recipeArn
* The ARN of the recipe used in the solution.
*/
public void setRecipeArn(String recipeArn) {
this.recipeArn = recipeArn;
}
/**
*
* The ARN of the recipe used in the solution.
*
*
* @return The ARN of the recipe used in the solution.
*/
public String getRecipeArn() {
return this.recipeArn;
}
/**
*
* The ARN of the recipe used in the solution.
*
*
* @param recipeArn
* The ARN of the recipe used in the solution.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withRecipeArn(String recipeArn) {
setRecipeArn(recipeArn);
return this;
}
/**
*
* The event type (for example, 'click' or 'like') that is used for training the model.
*
*
* @param eventType
* The event type (for example, 'click' or 'like') that is used for training the model.
*/
public void setEventType(String eventType) {
this.eventType = eventType;
}
/**
*
* The event type (for example, 'click' or 'like') that is used for training the model.
*
*
* @return The event type (for example, 'click' or 'like') that is used for training the model.
*/
public String getEventType() {
return this.eventType;
}
/**
*
* The event type (for example, 'click' or 'like') that is used for training the model.
*
*
* @param eventType
* The event type (for example, 'click' or 'like') that is used for training the model.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withEventType(String eventType) {
setEventType(eventType);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the dataset group providing the training data.
*
*
* @param datasetGroupArn
* The Amazon Resource Name (ARN) of the dataset group providing the training data.
*/
public void setDatasetGroupArn(String datasetGroupArn) {
this.datasetGroupArn = datasetGroupArn;
}
/**
*
* The Amazon Resource Name (ARN) of the dataset group providing the training data.
*
*
* @return The Amazon Resource Name (ARN) of the dataset group providing the training data.
*/
public String getDatasetGroupArn() {
return this.datasetGroupArn;
}
/**
*
* The Amazon Resource Name (ARN) of the dataset group providing the training data.
*
*
* @param datasetGroupArn
* The Amazon Resource Name (ARN) of the dataset group providing the training data.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withDatasetGroupArn(String datasetGroupArn) {
setDatasetGroupArn(datasetGroupArn);
return this;
}
/**
*
* Describes the configuration properties for the solution.
*
*
* @param solutionConfig
* Describes the configuration properties for the solution.
*/
public void setSolutionConfig(SolutionConfig solutionConfig) {
this.solutionConfig = solutionConfig;
}
/**
*
* Describes the configuration properties for the solution.
*
*
* @return Describes the configuration properties for the solution.
*/
public SolutionConfig getSolutionConfig() {
return this.solutionConfig;
}
/**
*
* Describes the configuration properties for the solution.
*
*
* @param solutionConfig
* Describes the configuration properties for the solution.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withSolutionConfig(SolutionConfig solutionConfig) {
setSolutionConfig(solutionConfig);
return this;
}
/**
*
* The time used to train the model. You are billed for the time it takes to train a model. This field is visible
* only after Amazon Personalize successfully trains a model.
*
*
* @param trainingHours
* The time used to train the model. You are billed for the time it takes to train a model. This field is
* visible only after Amazon Personalize successfully trains a model.
*/
public void setTrainingHours(Double trainingHours) {
this.trainingHours = trainingHours;
}
/**
*
* The time used to train the model. You are billed for the time it takes to train a model. This field is visible
* only after Amazon Personalize successfully trains a model.
*
*
* @return The time used to train the model. You are billed for the time it takes to train a model. This field is
* visible only after Amazon Personalize successfully trains a model.
*/
public Double getTrainingHours() {
return this.trainingHours;
}
/**
*
* The time used to train the model. You are billed for the time it takes to train a model. This field is visible
* only after Amazon Personalize successfully trains a model.
*
*
* @param trainingHours
* The time used to train the model. You are billed for the time it takes to train a model. This field is
* visible only after Amazon Personalize successfully trains a model.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withTrainingHours(Double trainingHours) {
setTrainingHours(trainingHours);
return this;
}
/**
*
* The scope of training to be performed when creating the solution version. A FULL
training considers
* all of the data in your dataset group. An UPDATE
processes only the data that has changed since the
* latest training. Only solution versions created with the User-Personalization recipe can use UPDATE
.
*
*
* @param trainingMode
* The scope of training to be performed when creating the solution version. A FULL
training
* considers all of the data in your dataset group. An UPDATE
processes only the data that has
* changed since the latest training. Only solution versions created with the User-Personalization recipe can
* use UPDATE
.
* @see TrainingMode
*/
public void setTrainingMode(String trainingMode) {
this.trainingMode = trainingMode;
}
/**
*
* The scope of training to be performed when creating the solution version. A FULL
training considers
* all of the data in your dataset group. An UPDATE
processes only the data that has changed since the
* latest training. Only solution versions created with the User-Personalization recipe can use UPDATE
.
*
*
* @return The scope of training to be performed when creating the solution version. A FULL
training
* considers all of the data in your dataset group. An UPDATE
processes only the data that has
* changed since the latest training. Only solution versions created with the User-Personalization recipe
* can use UPDATE
.
* @see TrainingMode
*/
public String getTrainingMode() {
return this.trainingMode;
}
/**
*
* The scope of training to be performed when creating the solution version. A FULL
training considers
* all of the data in your dataset group. An UPDATE
processes only the data that has changed since the
* latest training. Only solution versions created with the User-Personalization recipe can use UPDATE
.
*
*
* @param trainingMode
* The scope of training to be performed when creating the solution version. A FULL
training
* considers all of the data in your dataset group. An UPDATE
processes only the data that has
* changed since the latest training. Only solution versions created with the User-Personalization recipe can
* use UPDATE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TrainingMode
*/
public SolutionVersion withTrainingMode(String trainingMode) {
setTrainingMode(trainingMode);
return this;
}
/**
*
* The scope of training to be performed when creating the solution version. A FULL
training considers
* all of the data in your dataset group. An UPDATE
processes only the data that has changed since the
* latest training. Only solution versions created with the User-Personalization recipe can use UPDATE
.
*
*
* @param trainingMode
* The scope of training to be performed when creating the solution version. A FULL
training
* considers all of the data in your dataset group. An UPDATE
processes only the data that has
* changed since the latest training. Only solution versions created with the User-Personalization recipe can
* use UPDATE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TrainingMode
*/
public SolutionVersion withTrainingMode(TrainingMode trainingMode) {
this.trainingMode = trainingMode.toString();
return this;
}
/**
*
* If hyperparameter optimization was performed, contains the hyperparameter values of the best performing model.
*
*
* @param tunedHPOParams
* If hyperparameter optimization was performed, contains the hyperparameter values of the best performing
* model.
*/
public void setTunedHPOParams(TunedHPOParams tunedHPOParams) {
this.tunedHPOParams = tunedHPOParams;
}
/**
*
* If hyperparameter optimization was performed, contains the hyperparameter values of the best performing model.
*
*
* @return If hyperparameter optimization was performed, contains the hyperparameter values of the best performing
* model.
*/
public TunedHPOParams getTunedHPOParams() {
return this.tunedHPOParams;
}
/**
*
* If hyperparameter optimization was performed, contains the hyperparameter values of the best performing model.
*
*
* @param tunedHPOParams
* If hyperparameter optimization was performed, contains the hyperparameter values of the best performing
* model.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withTunedHPOParams(TunedHPOParams tunedHPOParams) {
setTunedHPOParams(tunedHPOParams);
return this;
}
/**
*
* The status of the solution version.
*
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
*
*
* @param status
* The status of the solution version.
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of the solution version.
*
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
*
*
* @return The status of the solution version.
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of the solution version.
*
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
*
*
* @param status
* The status of the solution version.
*
* A solution version can be in one of the following states:
*
*
* -
*
* CREATE PENDING
*
*
* -
*
* CREATE IN_PROGRESS
*
*
* -
*
* ACTIVE
*
*
* -
*
* CREATE FAILED
*
*
* -
*
* CREATE STOPPING
*
*
* -
*
* CREATE STOPPED
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* If training a solution version fails, the reason for the failure.
*
*
* @param failureReason
* If training a solution version fails, the reason for the failure.
*/
public void setFailureReason(String failureReason) {
this.failureReason = failureReason;
}
/**
*
* If training a solution version fails, the reason for the failure.
*
*
* @return If training a solution version fails, the reason for the failure.
*/
public String getFailureReason() {
return this.failureReason;
}
/**
*
* If training a solution version fails, the reason for the failure.
*
*
* @param failureReason
* If training a solution version fails, the reason for the failure.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withFailureReason(String failureReason) {
setFailureReason(failureReason);
return this;
}
/**
*
* The date and time (in Unix time) that this version of the solution was created.
*
*
* @param creationDateTime
* The date and time (in Unix time) that this version of the solution was created.
*/
public void setCreationDateTime(java.util.Date creationDateTime) {
this.creationDateTime = creationDateTime;
}
/**
*
* The date and time (in Unix time) that this version of the solution was created.
*
*
* @return The date and time (in Unix time) that this version of the solution was created.
*/
public java.util.Date getCreationDateTime() {
return this.creationDateTime;
}
/**
*
* The date and time (in Unix time) that this version of the solution was created.
*
*
* @param creationDateTime
* The date and time (in Unix time) that this version of the solution was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withCreationDateTime(java.util.Date creationDateTime) {
setCreationDateTime(creationDateTime);
return this;
}
/**
*
* The date and time (in Unix time) that the solution was last updated.
*
*
* @param lastUpdatedDateTime
* The date and time (in Unix time) that the solution was last updated.
*/
public void setLastUpdatedDateTime(java.util.Date lastUpdatedDateTime) {
this.lastUpdatedDateTime = lastUpdatedDateTime;
}
/**
*
* The date and time (in Unix time) that the solution was last updated.
*
*
* @return The date and time (in Unix time) that the solution was last updated.
*/
public java.util.Date getLastUpdatedDateTime() {
return this.lastUpdatedDateTime;
}
/**
*
* The date and time (in Unix time) that the solution was last updated.
*
*
* @param lastUpdatedDateTime
* The date and time (in Unix time) that the solution was last updated.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SolutionVersion withLastUpdatedDateTime(java.util.Date lastUpdatedDateTime) {
setLastUpdatedDateTime(lastUpdatedDateTime);
return this;
}
/**
*
* Whether the solution version was created automatically or manually.
*
*
* @param trainingType
* Whether the solution version was created automatically or manually.
* @see TrainingType
*/
public void setTrainingType(String trainingType) {
this.trainingType = trainingType;
}
/**
*
* Whether the solution version was created automatically or manually.
*
*
* @return Whether the solution version was created automatically or manually.
* @see TrainingType
*/
public String getTrainingType() {
return this.trainingType;
}
/**
*
* Whether the solution version was created automatically or manually.
*
*
* @param trainingType
* Whether the solution version was created automatically or manually.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TrainingType
*/
public SolutionVersion withTrainingType(String trainingType) {
setTrainingType(trainingType);
return this;
}
/**
*
* Whether the solution version was created automatically or manually.
*
*
* @param trainingType
* Whether the solution version was created automatically or manually.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TrainingType
*/
public SolutionVersion withTrainingType(TrainingType trainingType) {
this.trainingType = trainingType.toString();
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 (getName() != null)
sb.append("Name: ").append(getName()).append(",");
if (getSolutionVersionArn() != null)
sb.append("SolutionVersionArn: ").append(getSolutionVersionArn()).append(",");
if (getSolutionArn() != null)
sb.append("SolutionArn: ").append(getSolutionArn()).append(",");
if (getPerformHPO() != null)
sb.append("PerformHPO: ").append(getPerformHPO()).append(",");
if (getPerformAutoML() != null)
sb.append("PerformAutoML: ").append(getPerformAutoML()).append(",");
if (getRecipeArn() != null)
sb.append("RecipeArn: ").append(getRecipeArn()).append(",");
if (getEventType() != null)
sb.append("EventType: ").append(getEventType()).append(",");
if (getDatasetGroupArn() != null)
sb.append("DatasetGroupArn: ").append(getDatasetGroupArn()).append(",");
if (getSolutionConfig() != null)
sb.append("SolutionConfig: ").append(getSolutionConfig()).append(",");
if (getTrainingHours() != null)
sb.append("TrainingHours: ").append(getTrainingHours()).append(",");
if (getTrainingMode() != null)
sb.append("TrainingMode: ").append(getTrainingMode()).append(",");
if (getTunedHPOParams() != null)
sb.append("TunedHPOParams: ").append(getTunedHPOParams()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getFailureReason() != null)
sb.append("FailureReason: ").append(getFailureReason()).append(",");
if (getCreationDateTime() != null)
sb.append("CreationDateTime: ").append(getCreationDateTime()).append(",");
if (getLastUpdatedDateTime() != null)
sb.append("LastUpdatedDateTime: ").append(getLastUpdatedDateTime()).append(",");
if (getTrainingType() != null)
sb.append("TrainingType: ").append(getTrainingType());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SolutionVersion == false)
return false;
SolutionVersion other = (SolutionVersion) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getSolutionVersionArn() == null ^ this.getSolutionVersionArn() == null)
return false;
if (other.getSolutionVersionArn() != null && other.getSolutionVersionArn().equals(this.getSolutionVersionArn()) == false)
return false;
if (other.getSolutionArn() == null ^ this.getSolutionArn() == null)
return false;
if (other.getSolutionArn() != null && other.getSolutionArn().equals(this.getSolutionArn()) == false)
return false;
if (other.getPerformHPO() == null ^ this.getPerformHPO() == null)
return false;
if (other.getPerformHPO() != null && other.getPerformHPO().equals(this.getPerformHPO()) == false)
return false;
if (other.getPerformAutoML() == null ^ this.getPerformAutoML() == null)
return false;
if (other.getPerformAutoML() != null && other.getPerformAutoML().equals(this.getPerformAutoML()) == false)
return false;
if (other.getRecipeArn() == null ^ this.getRecipeArn() == null)
return false;
if (other.getRecipeArn() != null && other.getRecipeArn().equals(this.getRecipeArn()) == false)
return false;
if (other.getEventType() == null ^ this.getEventType() == null)
return false;
if (other.getEventType() != null && other.getEventType().equals(this.getEventType()) == false)
return false;
if (other.getDatasetGroupArn() == null ^ this.getDatasetGroupArn() == null)
return false;
if (other.getDatasetGroupArn() != null && other.getDatasetGroupArn().equals(this.getDatasetGroupArn()) == false)
return false;
if (other.getSolutionConfig() == null ^ this.getSolutionConfig() == null)
return false;
if (other.getSolutionConfig() != null && other.getSolutionConfig().equals(this.getSolutionConfig()) == false)
return false;
if (other.getTrainingHours() == null ^ this.getTrainingHours() == null)
return false;
if (other.getTrainingHours() != null && other.getTrainingHours().equals(this.getTrainingHours()) == false)
return false;
if (other.getTrainingMode() == null ^ this.getTrainingMode() == null)
return false;
if (other.getTrainingMode() != null && other.getTrainingMode().equals(this.getTrainingMode()) == false)
return false;
if (other.getTunedHPOParams() == null ^ this.getTunedHPOParams() == null)
return false;
if (other.getTunedHPOParams() != null && other.getTunedHPOParams().equals(this.getTunedHPOParams()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getFailureReason() == null ^ this.getFailureReason() == null)
return false;
if (other.getFailureReason() != null && other.getFailureReason().equals(this.getFailureReason()) == false)
return false;
if (other.getCreationDateTime() == null ^ this.getCreationDateTime() == null)
return false;
if (other.getCreationDateTime() != null && other.getCreationDateTime().equals(this.getCreationDateTime()) == false)
return false;
if (other.getLastUpdatedDateTime() == null ^ this.getLastUpdatedDateTime() == null)
return false;
if (other.getLastUpdatedDateTime() != null && other.getLastUpdatedDateTime().equals(this.getLastUpdatedDateTime()) == false)
return false;
if (other.getTrainingType() == null ^ this.getTrainingType() == null)
return false;
if (other.getTrainingType() != null && other.getTrainingType().equals(this.getTrainingType()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getSolutionVersionArn() == null) ? 0 : getSolutionVersionArn().hashCode());
hashCode = prime * hashCode + ((getSolutionArn() == null) ? 0 : getSolutionArn().hashCode());
hashCode = prime * hashCode + ((getPerformHPO() == null) ? 0 : getPerformHPO().hashCode());
hashCode = prime * hashCode + ((getPerformAutoML() == null) ? 0 : getPerformAutoML().hashCode());
hashCode = prime * hashCode + ((getRecipeArn() == null) ? 0 : getRecipeArn().hashCode());
hashCode = prime * hashCode + ((getEventType() == null) ? 0 : getEventType().hashCode());
hashCode = prime * hashCode + ((getDatasetGroupArn() == null) ? 0 : getDatasetGroupArn().hashCode());
hashCode = prime * hashCode + ((getSolutionConfig() == null) ? 0 : getSolutionConfig().hashCode());
hashCode = prime * hashCode + ((getTrainingHours() == null) ? 0 : getTrainingHours().hashCode());
hashCode = prime * hashCode + ((getTrainingMode() == null) ? 0 : getTrainingMode().hashCode());
hashCode = prime * hashCode + ((getTunedHPOParams() == null) ? 0 : getTunedHPOParams().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getFailureReason() == null) ? 0 : getFailureReason().hashCode());
hashCode = prime * hashCode + ((getCreationDateTime() == null) ? 0 : getCreationDateTime().hashCode());
hashCode = prime * hashCode + ((getLastUpdatedDateTime() == null) ? 0 : getLastUpdatedDateTime().hashCode());
hashCode = prime * hashCode + ((getTrainingType() == null) ? 0 : getTrainingType().hashCode());
return hashCode;
}
@Override
public SolutionVersion clone() {
try {
return (SolutionVersion) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.personalize.model.transform.SolutionVersionMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}