/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SageMaker.Model
{
///
/// Container for the parameters to the CreateFeatureGroup operation.
/// Create a new FeatureGroup
. A FeatureGroup
is a group of
/// Features
defined in the FeatureStore
to describe a Record
.
///
///
///
///
/// The FeatureGroup
defines the schema and features contained in the FeatureGroup.
/// A FeatureGroup
definition is composed of a list of Features
,
/// a RecordIdentifierFeatureName
, an EventTimeFeatureName
and
/// configurations for its OnlineStore
and OfflineStore
. Check
/// Amazon
/// Web Services service quotas to see the FeatureGroup
s quota for your
/// Amazon Web Services account.
///
///
///
/// You must include at least one of OnlineStoreConfig
and OfflineStoreConfig
/// to create a FeatureGroup
.
///
///
///
public partial class CreateFeatureGroupRequest : AmazonSageMakerRequest
{
private string _description;
private string _eventTimeFeatureName;
private List _featureDefinitions = new List();
private string _featureGroupName;
private OfflineStoreConfig _offlineStoreConfig;
private OnlineStoreConfig _onlineStoreConfig;
private string _recordIdentifierFeatureName;
private string _roleArn;
private List _tags = new List();
///
/// Gets and sets the property Description.
///
/// A free-form description of a FeatureGroup
.
///
///
[AWSProperty(Max=128)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property 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.
///
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string EventTimeFeatureName
{
get { return this._eventTimeFeatureName; }
set { this._eventTimeFeatureName = value; }
}
// Check to see if EventTimeFeatureName property is set
internal bool IsSetEventTimeFeatureName()
{
return this._eventTimeFeatureName != null;
}
///
/// Gets and sets the property FeatureDefinitions.
///
/// A list of Feature
names and types. Name
and Type
/// is compulsory per Feature
.
///
///
///
/// Valid feature 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
.
///
///
[AWSProperty(Required=true, Min=1, Max=2500)]
public List FeatureDefinitions
{
get { return this._featureDefinitions; }
set { this._featureDefinitions = value; }
}
// Check to see if FeatureDefinitions property is set
internal bool IsSetFeatureDefinitions()
{
return this._featureDefinitions != null && this._featureDefinitions.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string FeatureGroupName
{
get { return this._featureGroupName; }
set { this._featureGroupName = value; }
}
// Check to see if FeatureGroupName property is set
internal bool IsSetFeatureGroupName()
{
return this._featureGroupName != null;
}
///
/// Gets and sets the property 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.
///
///
public OfflineStoreConfig OfflineStoreConfig
{
get { return this._offlineStoreConfig; }
set { this._offlineStoreConfig = value; }
}
// Check to see if OfflineStoreConfig property is set
internal bool IsSetOfflineStoreConfig()
{
return this._offlineStoreConfig != null;
}
///
/// Gets and sets the property 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
.
///
///
public OnlineStoreConfig OnlineStoreConfig
{
get { return this._onlineStoreConfig; }
set { this._onlineStoreConfig = value; }
}
// Check to see if OnlineStoreConfig property is set
internal bool IsSetOnlineStoreConfig()
{
return this._onlineStoreConfig != null;
}
///
/// Gets and sets the property 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.
///
///
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string RecordIdentifierFeatureName
{
get { return this._recordIdentifierFeatureName; }
set { this._recordIdentifierFeatureName = value; }
}
// Check to see if RecordIdentifierFeatureName property is set
internal bool IsSetRecordIdentifierFeatureName()
{
return this._recordIdentifierFeatureName != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of the IAM execution role used to persist data into
/// the OfflineStore
if an OfflineStoreConfig
is provided.
///
///
[AWSProperty(Min=20, Max=2048)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property Tags.
///
/// Tags used to identify Features
in each FeatureGroup
.
///
///
[AWSProperty(Min=0, Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}