/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Output configuration information for a labeling job.

See Also:

* AWS * API Reference

*/ class AWS_SAGEMAKER_API LabelingJobOutputConfig { public: LabelingJobOutputConfig(); LabelingJobOutputConfig(Aws::Utils::Json::JsonView jsonValue); LabelingJobOutputConfig& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon S3 location to write output data.

*/ inline const Aws::String& GetS3OutputPath() const{ return m_s3OutputPath; } /** *

The Amazon S3 location to write output data.

*/ inline bool S3OutputPathHasBeenSet() const { return m_s3OutputPathHasBeenSet; } /** *

The Amazon S3 location to write output data.

*/ inline void SetS3OutputPath(const Aws::String& value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath = value; } /** *

The Amazon S3 location to write output data.

*/ inline void SetS3OutputPath(Aws::String&& value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath = std::move(value); } /** *

The Amazon S3 location to write output data.

*/ inline void SetS3OutputPath(const char* value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath.assign(value); } /** *

The Amazon S3 location to write output data.

*/ inline LabelingJobOutputConfig& WithS3OutputPath(const Aws::String& value) { SetS3OutputPath(value); return *this;} /** *

The Amazon S3 location to write output data.

*/ inline LabelingJobOutputConfig& WithS3OutputPath(Aws::String&& value) { SetS3OutputPath(std::move(value)); return *this;} /** *

The Amazon S3 location to write output data.

*/ inline LabelingJobOutputConfig& WithS3OutputPath(const char* value) { SetS3OutputPath(value); return *this;} /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline LabelingJobOutputConfig& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline LabelingJobOutputConfig& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The AWS Key Management Service ID of the key used to encrypt the output data, * if any.

If you use a KMS key ID or an alias of your master key, the * Amazon SageMaker execution role must include permissions to call * kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker * uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker * uses server-side encryption with KMS-managed keys for * LabelingJobOutputConfig. If you use a bucket policy with an * s3:PutObject permission that only allows objects with server-side * encryption, set the condition key of * s3:x-amz-server-side-encryption to "aws:kms". For more * information, see KMS-Managed * Encryption Keys in the Amazon Simple Storage Service Developer Guide. *

The KMS key policy must grant permission to the IAM role that you * specify in your CreateLabelingJob request. For more information, * see Using * Key Policies in AWS KMS in the AWS Key Management Service Developer * Guide.

*/ inline LabelingJobOutputConfig& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} private: Aws::String m_s3OutputPath; bool m_s3OutputPathHasBeenSet; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws