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

Provides information about the output configuration for the compiled * model.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

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

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt your * output artifacts with Amazon S3 server-side encryption. The SageMaker execution * role must have kms:GenerateDataKey permission.

The * KmsKeyId can be any of the following formats:

  • // * KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

    *
  • // Amazon Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

  • // KMS Key Alias

    "alias/ExampleAlias" *

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    * "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline RecommendationJobOutputConfig& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

Provides information about the output configuration for the compiled * model.

*/ inline const RecommendationJobCompiledOutputConfig& GetCompiledOutputConfig() const{ return m_compiledOutputConfig; } /** *

Provides information about the output configuration for the compiled * model.

*/ inline bool CompiledOutputConfigHasBeenSet() const { return m_compiledOutputConfigHasBeenSet; } /** *

Provides information about the output configuration for the compiled * model.

*/ inline void SetCompiledOutputConfig(const RecommendationJobCompiledOutputConfig& value) { m_compiledOutputConfigHasBeenSet = true; m_compiledOutputConfig = value; } /** *

Provides information about the output configuration for the compiled * model.

*/ inline void SetCompiledOutputConfig(RecommendationJobCompiledOutputConfig&& value) { m_compiledOutputConfigHasBeenSet = true; m_compiledOutputConfig = std::move(value); } /** *

Provides information about the output configuration for the compiled * model.

*/ inline RecommendationJobOutputConfig& WithCompiledOutputConfig(const RecommendationJobCompiledOutputConfig& value) { SetCompiledOutputConfig(value); return *this;} /** *

Provides information about the output configuration for the compiled * model.

*/ inline RecommendationJobOutputConfig& WithCompiledOutputConfig(RecommendationJobCompiledOutputConfig&& value) { SetCompiledOutputConfig(std::move(value)); return *this;} private: Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; RecommendationJobCompiledOutputConfig m_compiledOutputConfig; bool m_compiledOutputConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws