/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Configuration to control how SageMaker captures inference data.See
* Also:
AWS
* API Reference
Whether data capture should be enabled or disabled (defaults to enabled).
*/ inline bool GetEnableCapture() const{ return m_enableCapture; } /** *Whether data capture should be enabled or disabled (defaults to enabled).
*/ inline bool EnableCaptureHasBeenSet() const { return m_enableCaptureHasBeenSet; } /** *Whether data capture should be enabled or disabled (defaults to enabled).
*/ inline void SetEnableCapture(bool value) { m_enableCaptureHasBeenSet = true; m_enableCapture = value; } /** *Whether data capture should be enabled or disabled (defaults to enabled).
*/ inline DataCaptureConfig& WithEnableCapture(bool value) { SetEnableCapture(value); return *this;} /** *The percentage of requests SageMaker will capture. A lower value is * recommended for Endpoints with high traffic.
*/ inline int GetInitialSamplingPercentage() const{ return m_initialSamplingPercentage; } /** *The percentage of requests SageMaker will capture. A lower value is * recommended for Endpoints with high traffic.
*/ inline bool InitialSamplingPercentageHasBeenSet() const { return m_initialSamplingPercentageHasBeenSet; } /** *The percentage of requests SageMaker will capture. A lower value is * recommended for Endpoints with high traffic.
*/ inline void SetInitialSamplingPercentage(int value) { m_initialSamplingPercentageHasBeenSet = true; m_initialSamplingPercentage = value; } /** *The percentage of requests SageMaker will capture. A lower value is * recommended for Endpoints with high traffic.
*/ inline DataCaptureConfig& WithInitialSamplingPercentage(int value) { SetInitialSamplingPercentage(value); return *this;} /** *The Amazon S3 location used to capture the data.
*/ inline const Aws::String& GetDestinationS3Uri() const{ return m_destinationS3Uri; } /** *The Amazon S3 location used to capture the data.
*/ inline bool DestinationS3UriHasBeenSet() const { return m_destinationS3UriHasBeenSet; } /** *The Amazon S3 location used to capture the data.
*/ inline void SetDestinationS3Uri(const Aws::String& value) { m_destinationS3UriHasBeenSet = true; m_destinationS3Uri = value; } /** *The Amazon S3 location used to capture the data.
*/ inline void SetDestinationS3Uri(Aws::String&& value) { m_destinationS3UriHasBeenSet = true; m_destinationS3Uri = std::move(value); } /** *The Amazon S3 location used to capture the data.
*/ inline void SetDestinationS3Uri(const char* value) { m_destinationS3UriHasBeenSet = true; m_destinationS3Uri.assign(value); } /** *The Amazon S3 location used to capture the data.
*/ inline DataCaptureConfig& WithDestinationS3Uri(const Aws::String& value) { SetDestinationS3Uri(value); return *this;} /** *The Amazon S3 location used to capture the data.
*/ inline DataCaptureConfig& WithDestinationS3Uri(Aws::String&& value) { SetDestinationS3Uri(std::move(value)); return *this;} /** *The Amazon S3 location used to capture the data.
*/ inline DataCaptureConfig& WithDestinationS3Uri(const char* value) { SetDestinationS3Uri(value); return *this;} /** *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
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
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
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
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
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
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
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
Specifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline const Aws::VectorSpecifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline bool CaptureOptionsHasBeenSet() const { return m_captureOptionsHasBeenSet; } /** *Specifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline void SetCaptureOptions(const Aws::VectorSpecifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline void SetCaptureOptions(Aws::VectorSpecifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline DataCaptureConfig& WithCaptureOptions(const Aws::VectorSpecifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline DataCaptureConfig& WithCaptureOptions(Aws::VectorSpecifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline DataCaptureConfig& AddCaptureOptions(const CaptureOption& value) { m_captureOptionsHasBeenSet = true; m_captureOptions.push_back(value); return *this; } /** *Specifies data Model Monitor will capture. You can configure whether to * collect only input, only output, or both
*/ inline DataCaptureConfig& AddCaptureOptions(CaptureOption&& value) { m_captureOptionsHasBeenSet = true; m_captureOptions.push_back(std::move(value)); return *this; } /** *Configuration specifying how to treat different headers. If no headers are * specified SageMaker will by default base64 encode when capturing the data.
*/ inline const CaptureContentTypeHeader& GetCaptureContentTypeHeader() const{ return m_captureContentTypeHeader; } /** *Configuration specifying how to treat different headers. If no headers are * specified SageMaker will by default base64 encode when capturing the data.
*/ inline bool CaptureContentTypeHeaderHasBeenSet() const { return m_captureContentTypeHeaderHasBeenSet; } /** *Configuration specifying how to treat different headers. If no headers are * specified SageMaker will by default base64 encode when capturing the data.
*/ inline void SetCaptureContentTypeHeader(const CaptureContentTypeHeader& value) { m_captureContentTypeHeaderHasBeenSet = true; m_captureContentTypeHeader = value; } /** *Configuration specifying how to treat different headers. If no headers are * specified SageMaker will by default base64 encode when capturing the data.
*/ inline void SetCaptureContentTypeHeader(CaptureContentTypeHeader&& value) { m_captureContentTypeHeaderHasBeenSet = true; m_captureContentTypeHeader = std::move(value); } /** *Configuration specifying how to treat different headers. If no headers are * specified SageMaker will by default base64 encode when capturing the data.
*/ inline DataCaptureConfig& WithCaptureContentTypeHeader(const CaptureContentTypeHeader& value) { SetCaptureContentTypeHeader(value); return *this;} /** *Configuration specifying how to treat different headers. If no headers are * specified SageMaker will by default base64 encode when capturing the data.
*/ inline DataCaptureConfig& WithCaptureContentTypeHeader(CaptureContentTypeHeader&& value) { SetCaptureContentTypeHeader(std::move(value)); return *this;} private: bool m_enableCapture; bool m_enableCaptureHasBeenSet = false; int m_initialSamplingPercentage; bool m_initialSamplingPercentageHasBeenSet = false; Aws::String m_destinationS3Uri; bool m_destinationS3UriHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::Vector