/*
* 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
{
///
/// Configuration to control how SageMaker captures inference data.
///
public partial class DataCaptureConfig
{
private CaptureContentTypeHeader _captureContentTypeHeader;
private List _captureOptions = new List();
private string _destinationS3Uri;
private bool? _enableCapture;
private int? _initialSamplingPercentage;
private string _kmsKeyId;
///
/// Gets and sets the property CaptureContentTypeHeader.
///
/// Configuration specifying how to treat different headers. If no headers are specified
/// SageMaker will by default base64 encode when capturing the data.
///
///
public CaptureContentTypeHeader CaptureContentTypeHeader
{
get { return this._captureContentTypeHeader; }
set { this._captureContentTypeHeader = value; }
}
// Check to see if CaptureContentTypeHeader property is set
internal bool IsSetCaptureContentTypeHeader()
{
return this._captureContentTypeHeader != null;
}
///
/// Gets and sets the property CaptureOptions.
///
/// Specifies data Model Monitor will capture. You can configure whether to collect only
/// input, only output, or both
///
///
[AWSProperty(Required=true, Min=1, Max=2)]
public List CaptureOptions
{
get { return this._captureOptions; }
set { this._captureOptions = value; }
}
// Check to see if CaptureOptions property is set
internal bool IsSetCaptureOptions()
{
return this._captureOptions != null && this._captureOptions.Count > 0;
}
///
/// Gets and sets the property DestinationS3Uri.
///
/// The Amazon S3 location used to capture the data.
///
///
[AWSProperty(Required=true, Max=512)]
public string DestinationS3Uri
{
get { return this._destinationS3Uri; }
set { this._destinationS3Uri = value; }
}
// Check to see if DestinationS3Uri property is set
internal bool IsSetDestinationS3Uri()
{
return this._destinationS3Uri != null;
}
///
/// Gets and sets the property EnableCapture.
///
/// Whether data capture should be enabled or disabled (defaults to enabled).
///
///
public bool EnableCapture
{
get { return this._enableCapture.GetValueOrDefault(); }
set { this._enableCapture = value; }
}
// Check to see if EnableCapture property is set
internal bool IsSetEnableCapture()
{
return this._enableCapture.HasValue;
}
///
/// Gets and sets the property InitialSamplingPercentage.
///
/// The percentage of requests SageMaker will capture. A lower value is recommended for
/// Endpoints with high traffic.
///
///
[AWSProperty(Required=true, Min=0, Max=100)]
public int InitialSamplingPercentage
{
get { return this._initialSamplingPercentage.GetValueOrDefault(); }
set { this._initialSamplingPercentage = value; }
}
// Check to see if InitialSamplingPercentage property is set
internal bool IsSetInitialSamplingPercentage()
{
return this._initialSamplingPercentage.HasValue;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key
/// that SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side
/// encryption.
///
///
///
/// The KmsKeyId can be any of the following formats:
///
/// -
///
/// Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
///
/// -
///
/// Key ARN:
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
///
///
/// -
///
/// Alias name:
alias/ExampleAlias
///
/// -
///
/// Alias name ARN:
arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
///
///
///
///
[AWSProperty(Max=2048)]
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
}
}