
com.amazonaws.services.sagemaker.model.FeatureGroup Maven / Gradle / Ivy
/*
* Copyright 2015-2020 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.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Amazon SageMaker Feature Store stores features in a collection called Feature Group. A Feature Group can be
* visualized as a table which has rows, with a unique identifier for each row where each column in the table is a
* feature. In principle, a Feature Group is composed of features and values per features.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class FeatureGroup implements Serializable, Cloneable, StructuredPojo {
/**
*
* The Amazon Resource Name (ARN) of a FeatureGroup
.
*
*/
private String featureGroupArn;
/**
*
* The name of the FeatureGroup
.
*
*/
private String featureGroupName;
/**
*
* The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
*
*/
private String recordIdentifierFeatureName;
/**
*
* The name of the feature that stores the EventTime
of a Record in a FeatureGroup
.
*
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or update of a
* Record
in FeatureGroup
. All Records
in the FeatureGroup
must
* have a corresponding EventTime
.
*
*/
private String eventTimeFeatureName;
/**
*
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
*
* Valid FeatureType
s are Integral
, Fractional
and String
.
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
,
* api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*
*/
private java.util.List featureDefinitions;
/**
*
* The time a FeatureGroup
was created.
*
*/
private java.util.Date creationTime;
private OnlineStoreConfig onlineStoreConfig;
private OfflineStoreConfig offlineStoreConfig;
/**
*
* The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
*
*/
private String roleArn;
/**
*
* A FeatureGroup
status.
*
*/
private String featureGroupStatus;
private OfflineStoreStatus offlineStoreStatus;
/**
*
* The reason that the FeatureGroup
failed to be replicated in the OfflineStore
. This is
* failure may be due to a failure to create a FeatureGroup
in or delete a FeatureGroup
* from the OfflineStore
.
*
*/
private String failureReason;
/**
*
* A free form description of a FeatureGroup
.
*
*/
private String description;
/**
*
* Tags used to define a FeatureGroup
.
*
*/
private java.util.List tags;
/**
*
* The Amazon Resource Name (ARN) of a FeatureGroup
.
*
*
* @param featureGroupArn
* The Amazon Resource Name (ARN) of a FeatureGroup
.
*/
public void setFeatureGroupArn(String featureGroupArn) {
this.featureGroupArn = featureGroupArn;
}
/**
*
* The Amazon Resource Name (ARN) of a FeatureGroup
.
*
*
* @return The Amazon Resource Name (ARN) of a FeatureGroup
.
*/
public String getFeatureGroupArn() {
return this.featureGroupArn;
}
/**
*
* The Amazon Resource Name (ARN) of a FeatureGroup
.
*
*
* @param featureGroupArn
* The Amazon Resource Name (ARN) of a FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withFeatureGroupArn(String featureGroupArn) {
setFeatureGroupArn(featureGroupArn);
return this;
}
/**
*
* The name of the FeatureGroup
.
*
*
* @param featureGroupName
* The name of the FeatureGroup
.
*/
public void setFeatureGroupName(String featureGroupName) {
this.featureGroupName = featureGroupName;
}
/**
*
* The name of the FeatureGroup
.
*
*
* @return The name of the FeatureGroup
.
*/
public String getFeatureGroupName() {
return this.featureGroupName;
}
/**
*
* The name of the FeatureGroup
.
*
*
* @param featureGroupName
* The name of the FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withFeatureGroupName(String featureGroupName) {
setFeatureGroupName(featureGroupName);
return this;
}
/**
*
* The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
*
*
* @param recordIdentifierFeatureName
* The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
*/
public void setRecordIdentifierFeatureName(String recordIdentifierFeatureName) {
this.recordIdentifierFeatureName = recordIdentifierFeatureName;
}
/**
*
* The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
*
*
* @return The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
*/
public String getRecordIdentifierFeatureName() {
return this.recordIdentifierFeatureName;
}
/**
*
* The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
*
*
* @param recordIdentifierFeatureName
* The name of the Feature
whose value uniquely identifies a Record
defined in the
* FeatureGroup
FeatureDefinitions
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withRecordIdentifierFeatureName(String recordIdentifierFeatureName) {
setRecordIdentifierFeatureName(recordIdentifierFeatureName);
return this;
}
/**
*
* The name of the feature that stores the EventTime
of a Record in a FeatureGroup
.
*
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or update of a
* Record
in FeatureGroup
. All Records
in the FeatureGroup
must
* have a corresponding EventTime
.
*
*
* @param eventTimeFeatureName
* The name of the feature that stores the EventTime
of a Record in a FeatureGroup
* .
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or
* update of a Record
in FeatureGroup
. All Records
in the
* FeatureGroup
must have a corresponding EventTime
.
*/
public void setEventTimeFeatureName(String eventTimeFeatureName) {
this.eventTimeFeatureName = eventTimeFeatureName;
}
/**
*
* The name of the feature that stores the EventTime
of a Record in a FeatureGroup
.
*
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or update of a
* Record
in FeatureGroup
. All Records
in the FeatureGroup
must
* have a corresponding EventTime
.
*
*
* @return The name of the feature that stores the EventTime
of a Record in a FeatureGroup
* .
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or
* update of a Record
in FeatureGroup
. All Records
in the
* FeatureGroup
must have a corresponding EventTime
.
*/
public String getEventTimeFeatureName() {
return this.eventTimeFeatureName;
}
/**
*
* The name of the feature that stores the EventTime
of a Record in a FeatureGroup
.
*
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or update of a
* Record
in FeatureGroup
. All Records
in the FeatureGroup
must
* have a corresponding EventTime
.
*
*
* @param eventTimeFeatureName
* The name of the feature that stores the EventTime
of a Record in a FeatureGroup
* .
*
* A EventTime
is point in time when a new event occurs that corresponds to the creation or
* update of a Record
in FeatureGroup
. All Records
in the
* FeatureGroup
must have a corresponding EventTime
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withEventTimeFeatureName(String eventTimeFeatureName) {
setEventTimeFeatureName(eventTimeFeatureName);
return this;
}
/**
*
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
*
* Valid FeatureType
s are Integral
, Fractional
and String
.
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
,
* api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*
*
* @return A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
* Valid FeatureType
s are Integral
, Fractional
and
* String
.
*
*
* FeatureName
s cannot be any of the following: is_deleted
,
* write_time
, api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*/
public java.util.List getFeatureDefinitions() {
return featureDefinitions;
}
/**
*
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
*
* Valid FeatureType
s are Integral
, Fractional
and String
.
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
,
* api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*
*
* @param featureDefinitions
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
* Valid FeatureType
s are Integral
, Fractional
and String
* .
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
, api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*/
public void setFeatureDefinitions(java.util.Collection featureDefinitions) {
if (featureDefinitions == null) {
this.featureDefinitions = null;
return;
}
this.featureDefinitions = new java.util.ArrayList(featureDefinitions);
}
/**
*
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
*
* Valid FeatureType
s are Integral
, Fractional
and String
.
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
,
* api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setFeatureDefinitions(java.util.Collection)} or {@link #withFeatureDefinitions(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param featureDefinitions
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
* Valid FeatureType
s are Integral
, Fractional
and String
* .
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
, api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withFeatureDefinitions(FeatureDefinition... featureDefinitions) {
if (this.featureDefinitions == null) {
setFeatureDefinitions(new java.util.ArrayList(featureDefinitions.length));
}
for (FeatureDefinition ele : featureDefinitions) {
this.featureDefinitions.add(ele);
}
return this;
}
/**
*
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
*
* Valid FeatureType
s are Integral
, Fractional
and String
.
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
,
* api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
*
*
* @param featureDefinitions
* A list of Feature
s. Each Feature
must include a FeatureName
and a
* FeatureType
.
*
* Valid FeatureType
s are Integral
, Fractional
and String
* .
*
*
* FeatureName
s cannot be any of the following: is_deleted
, write_time
, api_invocation_time
.
*
*
* You can create up to 2,500 FeatureDefinition
s per FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withFeatureDefinitions(java.util.Collection featureDefinitions) {
setFeatureDefinitions(featureDefinitions);
return this;
}
/**
*
* The time a FeatureGroup
was created.
*
*
* @param creationTime
* The time a FeatureGroup
was created.
*/
public void setCreationTime(java.util.Date creationTime) {
this.creationTime = creationTime;
}
/**
*
* The time a FeatureGroup
was created.
*
*
* @return The time a FeatureGroup
was created.
*/
public java.util.Date getCreationTime() {
return this.creationTime;
}
/**
*
* The time a FeatureGroup
was created.
*
*
* @param creationTime
* The time a FeatureGroup
was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withCreationTime(java.util.Date creationTime) {
setCreationTime(creationTime);
return this;
}
/**
* @param onlineStoreConfig
*/
public void setOnlineStoreConfig(OnlineStoreConfig onlineStoreConfig) {
this.onlineStoreConfig = onlineStoreConfig;
}
/**
* @return
*/
public OnlineStoreConfig getOnlineStoreConfig() {
return this.onlineStoreConfig;
}
/**
* @param onlineStoreConfig
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withOnlineStoreConfig(OnlineStoreConfig onlineStoreConfig) {
setOnlineStoreConfig(onlineStoreConfig);
return this;
}
/**
* @param offlineStoreConfig
*/
public void setOfflineStoreConfig(OfflineStoreConfig offlineStoreConfig) {
this.offlineStoreConfig = offlineStoreConfig;
}
/**
* @return
*/
public OfflineStoreConfig getOfflineStoreConfig() {
return this.offlineStoreConfig;
}
/**
* @param offlineStoreConfig
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withOfflineStoreConfig(OfflineStoreConfig offlineStoreConfig) {
setOfflineStoreConfig(offlineStoreConfig);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
*
*
* @param roleArn
* The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
*/
public void setRoleArn(String roleArn) {
this.roleArn = roleArn;
}
/**
*
* The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
*
*
* @return The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
*/
public String getRoleArn() {
return this.roleArn;
}
/**
*
* The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
*
*
* @param roleArn
* The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withRoleArn(String roleArn) {
setRoleArn(roleArn);
return this;
}
/**
*
* A FeatureGroup
status.
*
*
* @param featureGroupStatus
* A FeatureGroup
status.
* @see FeatureGroupStatus
*/
public void setFeatureGroupStatus(String featureGroupStatus) {
this.featureGroupStatus = featureGroupStatus;
}
/**
*
* A FeatureGroup
status.
*
*
* @return A FeatureGroup
status.
* @see FeatureGroupStatus
*/
public String getFeatureGroupStatus() {
return this.featureGroupStatus;
}
/**
*
* A FeatureGroup
status.
*
*
* @param featureGroupStatus
* A FeatureGroup
status.
* @return Returns a reference to this object so that method calls can be chained together.
* @see FeatureGroupStatus
*/
public FeatureGroup withFeatureGroupStatus(String featureGroupStatus) {
setFeatureGroupStatus(featureGroupStatus);
return this;
}
/**
*
* A FeatureGroup
status.
*
*
* @param featureGroupStatus
* A FeatureGroup
status.
* @return Returns a reference to this object so that method calls can be chained together.
* @see FeatureGroupStatus
*/
public FeatureGroup withFeatureGroupStatus(FeatureGroupStatus featureGroupStatus) {
this.featureGroupStatus = featureGroupStatus.toString();
return this;
}
/**
* @param offlineStoreStatus
*/
public void setOfflineStoreStatus(OfflineStoreStatus offlineStoreStatus) {
this.offlineStoreStatus = offlineStoreStatus;
}
/**
* @return
*/
public OfflineStoreStatus getOfflineStoreStatus() {
return this.offlineStoreStatus;
}
/**
* @param offlineStoreStatus
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withOfflineStoreStatus(OfflineStoreStatus offlineStoreStatus) {
setOfflineStoreStatus(offlineStoreStatus);
return this;
}
/**
*
* The reason that the FeatureGroup
failed to be replicated in the OfflineStore
. This is
* failure may be due to a failure to create a FeatureGroup
in or delete a FeatureGroup
* from the OfflineStore
.
*
*
* @param failureReason
* The reason that the FeatureGroup
failed to be replicated in the OfflineStore
.
* This is failure may be due to a failure to create a FeatureGroup
in or delete a
* FeatureGroup
from the OfflineStore
.
*/
public void setFailureReason(String failureReason) {
this.failureReason = failureReason;
}
/**
*
* The reason that the FeatureGroup
failed to be replicated in the OfflineStore
. This is
* failure may be due to a failure to create a FeatureGroup
in or delete a FeatureGroup
* from the OfflineStore
.
*
*
* @return The reason that the FeatureGroup
failed to be replicated in the OfflineStore
.
* This is failure may be due to a failure to create a FeatureGroup
in or delete a
* FeatureGroup
from the OfflineStore
.
*/
public String getFailureReason() {
return this.failureReason;
}
/**
*
* The reason that the FeatureGroup
failed to be replicated in the OfflineStore
. This is
* failure may be due to a failure to create a FeatureGroup
in or delete a FeatureGroup
* from the OfflineStore
.
*
*
* @param failureReason
* The reason that the FeatureGroup
failed to be replicated in the OfflineStore
.
* This is failure may be due to a failure to create a FeatureGroup
in or delete a
* FeatureGroup
from the OfflineStore
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withFailureReason(String failureReason) {
setFailureReason(failureReason);
return this;
}
/**
*
* A free form description of a FeatureGroup
.
*
*
* @param description
* A free form description of a FeatureGroup
.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* A free form description of a FeatureGroup
.
*
*
* @return A free form description of a FeatureGroup
.
*/
public String getDescription() {
return this.description;
}
/**
*
* A free form description of a FeatureGroup
.
*
*
* @param description
* A free form description of a FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* Tags used to define a FeatureGroup
.
*
*
* @return Tags used to define a FeatureGroup
.
*/
public java.util.List getTags() {
return tags;
}
/**
*
* Tags used to define a FeatureGroup
.
*
*
* @param tags
* Tags used to define a FeatureGroup
.
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new java.util.ArrayList(tags);
}
/**
*
* Tags used to define a FeatureGroup
.
*
*
* 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
* Tags used to define a FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
return this;
}
/**
*
* Tags used to define a FeatureGroup
.
*
*
* @param tags
* Tags used to define a FeatureGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FeatureGroup withTags(java.util.Collection tags) {
setTags(tags);
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 (getFeatureGroupArn() != null)
sb.append("FeatureGroupArn: ").append(getFeatureGroupArn()).append(",");
if (getFeatureGroupName() != null)
sb.append("FeatureGroupName: ").append(getFeatureGroupName()).append(",");
if (getRecordIdentifierFeatureName() != null)
sb.append("RecordIdentifierFeatureName: ").append(getRecordIdentifierFeatureName()).append(",");
if (getEventTimeFeatureName() != null)
sb.append("EventTimeFeatureName: ").append(getEventTimeFeatureName()).append(",");
if (getFeatureDefinitions() != null)
sb.append("FeatureDefinitions: ").append(getFeatureDefinitions()).append(",");
if (getCreationTime() != null)
sb.append("CreationTime: ").append(getCreationTime()).append(",");
if (getOnlineStoreConfig() != null)
sb.append("OnlineStoreConfig: ").append(getOnlineStoreConfig()).append(",");
if (getOfflineStoreConfig() != null)
sb.append("OfflineStoreConfig: ").append(getOfflineStoreConfig()).append(",");
if (getRoleArn() != null)
sb.append("RoleArn: ").append(getRoleArn()).append(",");
if (getFeatureGroupStatus() != null)
sb.append("FeatureGroupStatus: ").append(getFeatureGroupStatus()).append(",");
if (getOfflineStoreStatus() != null)
sb.append("OfflineStoreStatus: ").append(getOfflineStoreStatus()).append(",");
if (getFailureReason() != null)
sb.append("FailureReason: ").append(getFailureReason()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof FeatureGroup == false)
return false;
FeatureGroup other = (FeatureGroup) obj;
if (other.getFeatureGroupArn() == null ^ this.getFeatureGroupArn() == null)
return false;
if (other.getFeatureGroupArn() != null && other.getFeatureGroupArn().equals(this.getFeatureGroupArn()) == false)
return false;
if (other.getFeatureGroupName() == null ^ this.getFeatureGroupName() == null)
return false;
if (other.getFeatureGroupName() != null && other.getFeatureGroupName().equals(this.getFeatureGroupName()) == false)
return false;
if (other.getRecordIdentifierFeatureName() == null ^ this.getRecordIdentifierFeatureName() == null)
return false;
if (other.getRecordIdentifierFeatureName() != null && other.getRecordIdentifierFeatureName().equals(this.getRecordIdentifierFeatureName()) == false)
return false;
if (other.getEventTimeFeatureName() == null ^ this.getEventTimeFeatureName() == null)
return false;
if (other.getEventTimeFeatureName() != null && other.getEventTimeFeatureName().equals(this.getEventTimeFeatureName()) == false)
return false;
if (other.getFeatureDefinitions() == null ^ this.getFeatureDefinitions() == null)
return false;
if (other.getFeatureDefinitions() != null && other.getFeatureDefinitions().equals(this.getFeatureDefinitions()) == false)
return false;
if (other.getCreationTime() == null ^ this.getCreationTime() == null)
return false;
if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false)
return false;
if (other.getOnlineStoreConfig() == null ^ this.getOnlineStoreConfig() == null)
return false;
if (other.getOnlineStoreConfig() != null && other.getOnlineStoreConfig().equals(this.getOnlineStoreConfig()) == false)
return false;
if (other.getOfflineStoreConfig() == null ^ this.getOfflineStoreConfig() == null)
return false;
if (other.getOfflineStoreConfig() != null && other.getOfflineStoreConfig().equals(this.getOfflineStoreConfig()) == 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.getFeatureGroupStatus() == null ^ this.getFeatureGroupStatus() == null)
return false;
if (other.getFeatureGroupStatus() != null && other.getFeatureGroupStatus().equals(this.getFeatureGroupStatus()) == false)
return false;
if (other.getOfflineStoreStatus() == null ^ this.getOfflineStoreStatus() == null)
return false;
if (other.getOfflineStoreStatus() != null && other.getOfflineStoreStatus().equals(this.getOfflineStoreStatus()) == 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.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getFeatureGroupArn() == null) ? 0 : getFeatureGroupArn().hashCode());
hashCode = prime * hashCode + ((getFeatureGroupName() == null) ? 0 : getFeatureGroupName().hashCode());
hashCode = prime * hashCode + ((getRecordIdentifierFeatureName() == null) ? 0 : getRecordIdentifierFeatureName().hashCode());
hashCode = prime * hashCode + ((getEventTimeFeatureName() == null) ? 0 : getEventTimeFeatureName().hashCode());
hashCode = prime * hashCode + ((getFeatureDefinitions() == null) ? 0 : getFeatureDefinitions().hashCode());
hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode());
hashCode = prime * hashCode + ((getOnlineStoreConfig() == null) ? 0 : getOnlineStoreConfig().hashCode());
hashCode = prime * hashCode + ((getOfflineStoreConfig() == null) ? 0 : getOfflineStoreConfig().hashCode());
hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode());
hashCode = prime * hashCode + ((getFeatureGroupStatus() == null) ? 0 : getFeatureGroupStatus().hashCode());
hashCode = prime * hashCode + ((getOfflineStoreStatus() == null) ? 0 : getOfflineStoreStatus().hashCode());
hashCode = prime * hashCode + ((getFailureReason() == null) ? 0 : getFailureReason().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
return hashCode;
}
@Override
public FeatureGroup clone() {
try {
return (FeatureGroup) 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.sagemaker.model.transform.FeatureGroupMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}