
com.amazonaws.services.sagemaker.model.OfflineStoreConfig Maven / Gradle / Ivy
Show all versions of aws-java-sdk-sagemaker 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.sagemaker.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* The configuration of an OfflineStore
.
*
*
* Provide an OfflineStoreConfig
in a request to CreateFeatureGroup
to create an
* OfflineStore
.
*
*
* To encrypt an OfflineStore
using at rest data encryption, specify Amazon Web Services Key Management
* Service (KMS) key ID, or KMSKeyId
, in S3StorageConfig
.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class OfflineStoreConfig implements Serializable, Cloneable, StructuredPojo {
/**
*
* The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
*
*/
private S3StorageConfig s3StorageConfig;
/**
*
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when configuring
* an OfflineStore
. If set to False
, Feature Store will name the OfflineStore
* Glue table following Athena's naming
* recommendations.
*
*
* The default value is False
.
*
*/
private Boolean disableGlueTableCreation;
/**
*
* The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
*
*/
private DataCatalogConfig dataCatalogConfig;
/**
*
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
*
*/
private String tableFormat;
/**
*
* The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
*
*
* @param s3StorageConfig
* The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
*/
public void setS3StorageConfig(S3StorageConfig s3StorageConfig) {
this.s3StorageConfig = s3StorageConfig;
}
/**
*
* The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
*
*
* @return The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
*/
public S3StorageConfig getS3StorageConfig() {
return this.s3StorageConfig;
}
/**
*
* The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
*
*
* @param s3StorageConfig
* The Amazon Simple Storage (Amazon S3) location of OfflineStore
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public OfflineStoreConfig withS3StorageConfig(S3StorageConfig s3StorageConfig) {
setS3StorageConfig(s3StorageConfig);
return this;
}
/**
*
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when configuring
* an OfflineStore
. If set to False
, Feature Store will name the OfflineStore
* Glue table following Athena's naming
* recommendations.
*
*
* The default value is False
.
*
*
* @param disableGlueTableCreation
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when
* configuring an OfflineStore
. If set to False
, Feature Store will name the
* OfflineStore
Glue table following Athena's naming
* recommendations.
*
* The default value is False
.
*/
public void setDisableGlueTableCreation(Boolean disableGlueTableCreation) {
this.disableGlueTableCreation = disableGlueTableCreation;
}
/**
*
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when configuring
* an OfflineStore
. If set to False
, Feature Store will name the OfflineStore
* Glue table following Athena's naming
* recommendations.
*
*
* The default value is False
.
*
*
* @return Set to True
to disable the automatic creation of an Amazon Web Services Glue table when
* configuring an OfflineStore
. If set to False
, Feature Store will name the
* OfflineStore
Glue table following Athena's naming
* recommendations.
*
* The default value is False
.
*/
public Boolean getDisableGlueTableCreation() {
return this.disableGlueTableCreation;
}
/**
*
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when configuring
* an OfflineStore
. If set to False
, Feature Store will name the OfflineStore
* Glue table following Athena's naming
* recommendations.
*
*
* The default value is False
.
*
*
* @param disableGlueTableCreation
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when
* configuring an OfflineStore
. If set to False
, Feature Store will name the
* OfflineStore
Glue table following Athena's naming
* recommendations.
*
* The default value is False
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public OfflineStoreConfig withDisableGlueTableCreation(Boolean disableGlueTableCreation) {
setDisableGlueTableCreation(disableGlueTableCreation);
return this;
}
/**
*
* Set to True
to disable the automatic creation of an Amazon Web Services Glue table when configuring
* an OfflineStore
. If set to False
, Feature Store will name the OfflineStore
* Glue table following Athena's naming
* recommendations.
*
*
* The default value is False
.
*
*
* @return Set to True
to disable the automatic creation of an Amazon Web Services Glue table when
* configuring an OfflineStore
. If set to False
, Feature Store will name the
* OfflineStore
Glue table following Athena's naming
* recommendations.
*
* The default value is False
.
*/
public Boolean isDisableGlueTableCreation() {
return this.disableGlueTableCreation;
}
/**
*
* The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
*
*
* @param dataCatalogConfig
* The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
*/
public void setDataCatalogConfig(DataCatalogConfig dataCatalogConfig) {
this.dataCatalogConfig = dataCatalogConfig;
}
/**
*
* The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
*
*
* @return The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
*/
public DataCatalogConfig getDataCatalogConfig() {
return this.dataCatalogConfig;
}
/**
*
* The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
*
*
* @param dataCatalogConfig
* The meta data of the Glue table that is autogenerated when an OfflineStore
is created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public OfflineStoreConfig withDataCatalogConfig(DataCatalogConfig dataCatalogConfig) {
setDataCatalogConfig(dataCatalogConfig);
return this;
}
/**
*
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
*
*
* @param tableFormat
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
* @see TableFormat
*/
public void setTableFormat(String tableFormat) {
this.tableFormat = tableFormat;
}
/**
*
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
*
*
* @return Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
* @see TableFormat
*/
public String getTableFormat() {
return this.tableFormat;
}
/**
*
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
*
*
* @param tableFormat
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TableFormat
*/
public OfflineStoreConfig withTableFormat(String tableFormat) {
setTableFormat(tableFormat);
return this;
}
/**
*
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
*
*
* @param tableFormat
* Format for the offline store table. Supported formats are Glue (Default) and Apache Iceberg.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TableFormat
*/
public OfflineStoreConfig withTableFormat(TableFormat tableFormat) {
this.tableFormat = tableFormat.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 (getS3StorageConfig() != null)
sb.append("S3StorageConfig: ").append(getS3StorageConfig()).append(",");
if (getDisableGlueTableCreation() != null)
sb.append("DisableGlueTableCreation: ").append(getDisableGlueTableCreation()).append(",");
if (getDataCatalogConfig() != null)
sb.append("DataCatalogConfig: ").append(getDataCatalogConfig()).append(",");
if (getTableFormat() != null)
sb.append("TableFormat: ").append(getTableFormat());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof OfflineStoreConfig == false)
return false;
OfflineStoreConfig other = (OfflineStoreConfig) obj;
if (other.getS3StorageConfig() == null ^ this.getS3StorageConfig() == null)
return false;
if (other.getS3StorageConfig() != null && other.getS3StorageConfig().equals(this.getS3StorageConfig()) == false)
return false;
if (other.getDisableGlueTableCreation() == null ^ this.getDisableGlueTableCreation() == null)
return false;
if (other.getDisableGlueTableCreation() != null && other.getDisableGlueTableCreation().equals(this.getDisableGlueTableCreation()) == false)
return false;
if (other.getDataCatalogConfig() == null ^ this.getDataCatalogConfig() == null)
return false;
if (other.getDataCatalogConfig() != null && other.getDataCatalogConfig().equals(this.getDataCatalogConfig()) == false)
return false;
if (other.getTableFormat() == null ^ this.getTableFormat() == null)
return false;
if (other.getTableFormat() != null && other.getTableFormat().equals(this.getTableFormat()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getS3StorageConfig() == null) ? 0 : getS3StorageConfig().hashCode());
hashCode = prime * hashCode + ((getDisableGlueTableCreation() == null) ? 0 : getDisableGlueTableCreation().hashCode());
hashCode = prime * hashCode + ((getDataCatalogConfig() == null) ? 0 : getDataCatalogConfig().hashCode());
hashCode = prime * hashCode + ((getTableFormat() == null) ? 0 : getTableFormat().hashCode());
return hashCode;
}
@Override
public OfflineStoreConfig clone() {
try {
return (OfflineStoreConfig) 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.OfflineStoreConfigMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}