/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

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 Also:

AWS * API Reference

*/ class OfflineStoreConfig { public: AWS_SAGEMAKER_API OfflineStoreConfig(); AWS_SAGEMAKER_API OfflineStoreConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API OfflineStoreConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Simple Storage (Amazon S3) location of * OfflineStore.

*/ inline const S3StorageConfig& GetS3StorageConfig() const{ return m_s3StorageConfig; } /** *

The Amazon Simple Storage (Amazon S3) location of * OfflineStore.

*/ inline bool S3StorageConfigHasBeenSet() const { return m_s3StorageConfigHasBeenSet; } /** *

The Amazon Simple Storage (Amazon S3) location of * OfflineStore.

*/ inline void SetS3StorageConfig(const S3StorageConfig& value) { m_s3StorageConfigHasBeenSet = true; m_s3StorageConfig = value; } /** *

The Amazon Simple Storage (Amazon S3) location of * OfflineStore.

*/ inline void SetS3StorageConfig(S3StorageConfig&& value) { m_s3StorageConfigHasBeenSet = true; m_s3StorageConfig = std::move(value); } /** *

The Amazon Simple Storage (Amazon S3) location of * OfflineStore.

*/ inline OfflineStoreConfig& WithS3StorageConfig(const S3StorageConfig& value) { SetS3StorageConfig(value); return *this;} /** *

The Amazon Simple Storage (Amazon S3) location of * OfflineStore.

*/ inline OfflineStoreConfig& WithS3StorageConfig(S3StorageConfig&& value) { SetS3StorageConfig(std::move(value)); 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.

*/ inline bool GetDisableGlueTableCreation() const{ return m_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.

*/ inline bool DisableGlueTableCreationHasBeenSet() const { return m_disableGlueTableCreationHasBeenSet; } /** *

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.

*/ inline void SetDisableGlueTableCreation(bool value) { m_disableGlueTableCreationHasBeenSet = true; m_disableGlueTableCreation = value; } /** *

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.

*/ inline OfflineStoreConfig& WithDisableGlueTableCreation(bool value) { SetDisableGlueTableCreation(value); return *this;} /** *

The meta data of the Glue table that is autogenerated when an * OfflineStore is created.

*/ inline const DataCatalogConfig& GetDataCatalogConfig() const{ return m_dataCatalogConfig; } /** *

The meta data of the Glue table that is autogenerated when an * OfflineStore is created.

*/ inline bool DataCatalogConfigHasBeenSet() const { return m_dataCatalogConfigHasBeenSet; } /** *

The meta data of the Glue table that is autogenerated when an * OfflineStore is created.

*/ inline void SetDataCatalogConfig(const DataCatalogConfig& value) { m_dataCatalogConfigHasBeenSet = true; m_dataCatalogConfig = value; } /** *

The meta data of the Glue table that is autogenerated when an * OfflineStore is created.

*/ inline void SetDataCatalogConfig(DataCatalogConfig&& value) { m_dataCatalogConfigHasBeenSet = true; m_dataCatalogConfig = std::move(value); } /** *

The meta data of the Glue table that is autogenerated when an * OfflineStore is created.

*/ inline OfflineStoreConfig& WithDataCatalogConfig(const DataCatalogConfig& value) { SetDataCatalogConfig(value); return *this;} /** *

The meta data of the Glue table that is autogenerated when an * OfflineStore is created.

*/ inline OfflineStoreConfig& WithDataCatalogConfig(DataCatalogConfig&& value) { SetDataCatalogConfig(std::move(value)); return *this;} /** *

Format for the offline store table. Supported formats are Glue (Default) and * Apache Iceberg.

*/ inline const TableFormat& GetTableFormat() const{ return m_tableFormat; } /** *

Format for the offline store table. Supported formats are Glue (Default) and * Apache Iceberg.

*/ inline bool TableFormatHasBeenSet() const { return m_tableFormatHasBeenSet; } /** *

Format for the offline store table. Supported formats are Glue (Default) and * Apache Iceberg.

*/ inline void SetTableFormat(const TableFormat& value) { m_tableFormatHasBeenSet = true; m_tableFormat = value; } /** *

Format for the offline store table. Supported formats are Glue (Default) and * Apache Iceberg.

*/ inline void SetTableFormat(TableFormat&& value) { m_tableFormatHasBeenSet = true; m_tableFormat = std::move(value); } /** *

Format for the offline store table. Supported formats are Glue (Default) and * Apache Iceberg.

*/ inline OfflineStoreConfig& WithTableFormat(const TableFormat& value) { SetTableFormat(value); return *this;} /** *

Format for the offline store table. Supported formats are Glue (Default) and * Apache Iceberg.

*/ inline OfflineStoreConfig& WithTableFormat(TableFormat&& value) { SetTableFormat(std::move(value)); return *this;} private: S3StorageConfig m_s3StorageConfig; bool m_s3StorageConfigHasBeenSet = false; bool m_disableGlueTableCreation; bool m_disableGlueTableCreationHasBeenSet = false; DataCatalogConfig m_dataCatalogConfig; bool m_dataCatalogConfigHasBeenSet = false; TableFormat m_tableFormat; bool m_tableFormatHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws