package awssagemaker


// 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 AWS Key Management Service (KMS) key ID, or `KMSKeyId` , in `S3StorageConfig` .
//
// Example:
//   // The code below shows an example of how to instantiate this type.
//   // The values are placeholders you should change.
//   import "github.com/aws/aws-cdk-go/awscdk"
//
//   offlineStoreConfigProperty := &OfflineStoreConfigProperty{
//   	S3StorageConfig: &S3StorageConfigProperty{
//   		S3Uri: jsii.String("s3Uri"),
//
//   		// the properties below are optional
//   		KmsKeyId: jsii.String("kmsKeyId"),
//   	},
//
//   	// the properties below are optional
//   	DataCatalogConfig: &DataCatalogConfigProperty{
//   		Catalog: jsii.String("catalog"),
//   		Database: jsii.String("database"),
//   		TableName: jsii.String("tableName"),
//   	},
//   	DisableGlueTableCreation: jsii.Boolean(false),
//   	TableFormat: jsii.String("tableFormat"),
//   }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-offlinestoreconfig.html
//
type CfnFeatureGroup_OfflineStoreConfigProperty struct {
	// The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-offlinestoreconfig.html#cfn-sagemaker-featuregroup-offlinestoreconfig-s3storageconfig
	//
	S3StorageConfig interface{} `field:"required" json:"s3StorageConfig" yaml:"s3StorageConfig"`
	// The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-offlinestoreconfig.html#cfn-sagemaker-featuregroup-offlinestoreconfig-datacatalogconfig
	//
	DataCatalogConfig interface{} `field:"optional" json:"dataCatalogConfig" yaml:"dataCatalogConfig"`
	// Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` .
	//
	// If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .
	//
	// The default value is `False` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-offlinestoreconfig.html#cfn-sagemaker-featuregroup-offlinestoreconfig-disablegluetablecreation
	//
	DisableGlueTableCreation interface{} `field:"optional" json:"disableGlueTableCreation" yaml:"disableGlueTableCreation"`
	// Format for the offline store table.
	//
	// Supported formats are Glue (Default) and [Apache Iceberg](https://docs.aws.amazon.com/https://iceberg.apache.org/) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-offlinestoreconfig.html#cfn-sagemaker-featuregroup-offlinestoreconfig-tableformat
	//
	TableFormat *string `field:"optional" json:"tableFormat" yaml:"tableFormat"`
}

