/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace SageMaker { namespace Model { /** */ class CreateFeatureGroupRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API CreateFeatureGroupRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateFeatureGroup"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline CreateFeatureGroupRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline CreateFeatureGroupRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** *

The name of the FeatureGroup. The name must be unique within an * Amazon Web Services Region in an Amazon Web Services account. The name:

    *
  • Must start and end with an alphanumeric character.

  • Can * only contain alphanumeric character and hyphens. Spaces are not allowed.

    *
*/ inline CreateFeatureGroupRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline const Aws::String& GetRecordIdentifierFeatureName() const{ return m_recordIdentifierFeatureName; } /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline bool RecordIdentifierFeatureNameHasBeenSet() const { return m_recordIdentifierFeatureNameHasBeenSet; } /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline void SetRecordIdentifierFeatureName(const Aws::String& value) { m_recordIdentifierFeatureNameHasBeenSet = true; m_recordIdentifierFeatureName = value; } /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline void SetRecordIdentifierFeatureName(Aws::String&& value) { m_recordIdentifierFeatureNameHasBeenSet = true; m_recordIdentifierFeatureName = std::move(value); } /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline void SetRecordIdentifierFeatureName(const char* value) { m_recordIdentifierFeatureNameHasBeenSet = true; m_recordIdentifierFeatureName.assign(value); } /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline CreateFeatureGroupRequest& WithRecordIdentifierFeatureName(const Aws::String& value) { SetRecordIdentifierFeatureName(value); return *this;} /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline CreateFeatureGroupRequest& WithRecordIdentifierFeatureName(Aws::String&& value) { SetRecordIdentifierFeatureName(std::move(value)); return *this;} /** *

The name of the Feature whose value uniquely identifies a * Record defined in the FeatureStore. Only the latest * record per identifier value will be stored in the OnlineStore. * RecordIdentifierFeatureName must be one of feature definitions' * names.

You use the RecordIdentifierFeatureName to access * data in a FeatureStore.

This name:

  • Must * start and end with an alphanumeric character.

  • Can only * contains alphanumeric characters, hyphens, underscores. Spaces are not allowed. *

*/ inline CreateFeatureGroupRequest& WithRecordIdentifierFeatureName(const char* value) { SetRecordIdentifierFeatureName(value); return *this;} /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline const Aws::String& GetEventTimeFeatureName() const{ return m_eventTimeFeatureName; } /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline bool EventTimeFeatureNameHasBeenSet() const { return m_eventTimeFeatureNameHasBeenSet; } /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline void SetEventTimeFeatureName(const Aws::String& value) { m_eventTimeFeatureNameHasBeenSet = true; m_eventTimeFeatureName = value; } /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline void SetEventTimeFeatureName(Aws::String&& value) { m_eventTimeFeatureNameHasBeenSet = true; m_eventTimeFeatureName = std::move(value); } /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline void SetEventTimeFeatureName(const char* value) { m_eventTimeFeatureNameHasBeenSet = true; m_eventTimeFeatureName.assign(value); } /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline CreateFeatureGroupRequest& WithEventTimeFeatureName(const Aws::String& value) { SetEventTimeFeatureName(value); return *this;} /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline CreateFeatureGroupRequest& WithEventTimeFeatureName(Aws::String&& value) { SetEventTimeFeatureName(std::move(value)); return *this;} /** *

The name of the feature that stores the EventTime of a * Record in a FeatureGroup.

An * EventTime is a point in time when a new event occurs that * corresponds to the creation or update of a Record in a * FeatureGroup. All Records in the * FeatureGroup must have a corresponding EventTime.

*

An EventTime can be a String or * Fractional.

  • Fractional: * EventTime feature values must be a Unix timestamp in seconds.

    *
  • String: EventTime feature values must * be an ISO-8601 string in the format. The following formats are supported * yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ * where yyyy, MM, and dd represent the * year, month, and day respectively and HH, mm, * ss, and if applicable, SSS represent the hour, month, * second and milliseconds respsectively. 'T' and Z are * constants.

*/ inline CreateFeatureGroupRequest& WithEventTimeFeatureName(const char* value) { SetEventTimeFeatureName(value); return *this;} /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline const Aws::Vector& GetFeatureDefinitions() const{ return m_featureDefinitions; } /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline bool FeatureDefinitionsHasBeenSet() const { return m_featureDefinitionsHasBeenSet; } /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline void SetFeatureDefinitions(const Aws::Vector& value) { m_featureDefinitionsHasBeenSet = true; m_featureDefinitions = value; } /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline void SetFeatureDefinitions(Aws::Vector&& value) { m_featureDefinitionsHasBeenSet = true; m_featureDefinitions = std::move(value); } /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithFeatureDefinitions(const Aws::Vector& value) { SetFeatureDefinitions(value); return *this;} /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithFeatureDefinitions(Aws::Vector&& value) { SetFeatureDefinitions(std::move(value)); return *this;} /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline CreateFeatureGroupRequest& AddFeatureDefinitions(const FeatureDefinition& value) { m_featureDefinitionsHasBeenSet = true; m_featureDefinitions.push_back(value); return *this; } /** *

A list of Feature names and types. Name and * Type is compulsory per Feature.

Valid feature * FeatureTypes are Integral, Fractional and * String.

FeatureNames cannot be any of the * following: is_deleted, write_time, * api_invocation_time

You can create up to 2,500 * FeatureDefinitions per FeatureGroup.

*/ inline CreateFeatureGroupRequest& AddFeatureDefinitions(FeatureDefinition&& value) { m_featureDefinitionsHasBeenSet = true; m_featureDefinitions.push_back(std::move(value)); return *this; } /** *

You can turn the OnlineStore on or off by specifying * True for the EnableOnlineStore flag in * OnlineStoreConfig.

You can also include an Amazon Web * Services KMS key ID (KMSKeyId) for at-rest encryption of the * OnlineStore.

The default value is False.

*/ inline const OnlineStoreConfig& GetOnlineStoreConfig() const{ return m_onlineStoreConfig; } /** *

You can turn the OnlineStore on or off by specifying * True for the EnableOnlineStore flag in * OnlineStoreConfig.

You can also include an Amazon Web * Services KMS key ID (KMSKeyId) for at-rest encryption of the * OnlineStore.

The default value is False.

*/ inline bool OnlineStoreConfigHasBeenSet() const { return m_onlineStoreConfigHasBeenSet; } /** *

You can turn the OnlineStore on or off by specifying * True for the EnableOnlineStore flag in * OnlineStoreConfig.

You can also include an Amazon Web * Services KMS key ID (KMSKeyId) for at-rest encryption of the * OnlineStore.

The default value is False.

*/ inline void SetOnlineStoreConfig(const OnlineStoreConfig& value) { m_onlineStoreConfigHasBeenSet = true; m_onlineStoreConfig = value; } /** *

You can turn the OnlineStore on or off by specifying * True for the EnableOnlineStore flag in * OnlineStoreConfig.

You can also include an Amazon Web * Services KMS key ID (KMSKeyId) for at-rest encryption of the * OnlineStore.

The default value is False.

*/ inline void SetOnlineStoreConfig(OnlineStoreConfig&& value) { m_onlineStoreConfigHasBeenSet = true; m_onlineStoreConfig = std::move(value); } /** *

You can turn the OnlineStore on or off by specifying * True for the EnableOnlineStore flag in * OnlineStoreConfig.

You can also include an Amazon Web * Services KMS key ID (KMSKeyId) for at-rest encryption of the * OnlineStore.

The default value is False.

*/ inline CreateFeatureGroupRequest& WithOnlineStoreConfig(const OnlineStoreConfig& value) { SetOnlineStoreConfig(value); return *this;} /** *

You can turn the OnlineStore on or off by specifying * True for the EnableOnlineStore flag in * OnlineStoreConfig.

You can also include an Amazon Web * Services KMS key ID (KMSKeyId) for at-rest encryption of the * OnlineStore.

The default value is False.

*/ inline CreateFeatureGroupRequest& WithOnlineStoreConfig(OnlineStoreConfig&& value) { SetOnlineStoreConfig(std::move(value)); return *this;} /** *

Use this to configure an OfflineFeatureStore. This parameter * allows you to specify:

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

  • A * configuration for an Amazon Web Services Glue or Amazon Web Services Hive data * catalog.

  • An KMS encryption key to encrypt the Amazon S3 * location used for OfflineStore. If KMS encryption key is not * specified, by default we encrypt all data at rest using Amazon Web Services KMS * key. By defining your bucket-level * key for SSE, you can reduce Amazon Web Services KMS requests costs by up to * 99 percent.

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

To learn more about this parameter, see OfflineStoreConfig.

*/ inline const OfflineStoreConfig& GetOfflineStoreConfig() const{ return m_offlineStoreConfig; } /** *

Use this to configure an OfflineFeatureStore. This parameter * allows you to specify:

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

  • A * configuration for an Amazon Web Services Glue or Amazon Web Services Hive data * catalog.

  • An KMS encryption key to encrypt the Amazon S3 * location used for OfflineStore. If KMS encryption key is not * specified, by default we encrypt all data at rest using Amazon Web Services KMS * key. By defining your bucket-level * key for SSE, you can reduce Amazon Web Services KMS requests costs by up to * 99 percent.

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

To learn more about this parameter, see OfflineStoreConfig.

*/ inline bool OfflineStoreConfigHasBeenSet() const { return m_offlineStoreConfigHasBeenSet; } /** *

Use this to configure an OfflineFeatureStore. This parameter * allows you to specify:

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

  • A * configuration for an Amazon Web Services Glue or Amazon Web Services Hive data * catalog.

  • An KMS encryption key to encrypt the Amazon S3 * location used for OfflineStore. If KMS encryption key is not * specified, by default we encrypt all data at rest using Amazon Web Services KMS * key. By defining your bucket-level * key for SSE, you can reduce Amazon Web Services KMS requests costs by up to * 99 percent.

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

To learn more about this parameter, see OfflineStoreConfig.

*/ inline void SetOfflineStoreConfig(const OfflineStoreConfig& value) { m_offlineStoreConfigHasBeenSet = true; m_offlineStoreConfig = value; } /** *

Use this to configure an OfflineFeatureStore. This parameter * allows you to specify:

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

  • A * configuration for an Amazon Web Services Glue or Amazon Web Services Hive data * catalog.

  • An KMS encryption key to encrypt the Amazon S3 * location used for OfflineStore. If KMS encryption key is not * specified, by default we encrypt all data at rest using Amazon Web Services KMS * key. By defining your bucket-level * key for SSE, you can reduce Amazon Web Services KMS requests costs by up to * 99 percent.

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

To learn more about this parameter, see OfflineStoreConfig.

*/ inline void SetOfflineStoreConfig(OfflineStoreConfig&& value) { m_offlineStoreConfigHasBeenSet = true; m_offlineStoreConfig = std::move(value); } /** *

Use this to configure an OfflineFeatureStore. This parameter * allows you to specify:

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

  • A * configuration for an Amazon Web Services Glue or Amazon Web Services Hive data * catalog.

  • An KMS encryption key to encrypt the Amazon S3 * location used for OfflineStore. If KMS encryption key is not * specified, by default we encrypt all data at rest using Amazon Web Services KMS * key. By defining your bucket-level * key for SSE, you can reduce Amazon Web Services KMS requests costs by up to * 99 percent.

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

To learn more about this parameter, see OfflineStoreConfig.

*/ inline CreateFeatureGroupRequest& WithOfflineStoreConfig(const OfflineStoreConfig& value) { SetOfflineStoreConfig(value); return *this;} /** *

Use this to configure an OfflineFeatureStore. This parameter * allows you to specify:

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

  • A * configuration for an Amazon Web Services Glue or Amazon Web Services Hive data * catalog.

  • An KMS encryption key to encrypt the Amazon S3 * location used for OfflineStore. If KMS encryption key is not * specified, by default we encrypt all data at rest using Amazon Web Services KMS * key. By defining your bucket-level * key for SSE, you can reduce Amazon Web Services KMS requests costs by up to * 99 percent.

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

To learn more about this parameter, see OfflineStoreConfig.

*/ inline CreateFeatureGroupRequest& WithOfflineStoreConfig(OfflineStoreConfig&& value) { SetOfflineStoreConfig(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline CreateFeatureGroupRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline CreateFeatureGroupRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM execution role used to persist data * into the OfflineStore if an OfflineStoreConfig is * provided.

*/ inline CreateFeatureGroupRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

A free-form description of a FeatureGroup.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A free-form description of a FeatureGroup.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A free-form description of a FeatureGroup.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A free-form description of a FeatureGroup.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A free-form description of a FeatureGroup.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A free-form description of a FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A free-form description of a FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A free-form description of a FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline CreateFeatureGroupRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline CreateFeatureGroupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Tags used to identify Features in each * FeatureGroup.

*/ inline CreateFeatureGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_featureGroupName; bool m_featureGroupNameHasBeenSet = false; Aws::String m_recordIdentifierFeatureName; bool m_recordIdentifierFeatureNameHasBeenSet = false; Aws::String m_eventTimeFeatureName; bool m_eventTimeFeatureNameHasBeenSet = false; Aws::Vector m_featureDefinitions; bool m_featureDefinitionsHasBeenSet = false; OnlineStoreConfig m_onlineStoreConfig; bool m_onlineStoreConfigHasBeenSet = false; OfflineStoreConfig m_offlineStoreConfig; bool m_offlineStoreConfigHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws