/** * 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 { /** *

The Amazon Simple Storage (Amazon S3) location and and security configuration * for OfflineStore.

See Also:

AWS * API Reference

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

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline const Aws::String& GetS3Uri() const{ return m_s3Uri; } /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline bool S3UriHasBeenSet() const { return m_s3UriHasBeenSet; } /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline void SetS3Uri(const Aws::String& value) { m_s3UriHasBeenSet = true; m_s3Uri = value; } /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline void SetS3Uri(Aws::String&& value) { m_s3UriHasBeenSet = true; m_s3Uri = std::move(value); } /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline void SetS3Uri(const char* value) { m_s3UriHasBeenSet = true; m_s3Uri.assign(value); } /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline S3StorageConfig& WithS3Uri(const Aws::String& value) { SetS3Uri(value); return *this;} /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline S3StorageConfig& WithS3Uri(Aws::String&& value) { SetS3Uri(std::move(value)); return *this;} /** *

The S3 URI, or location in Amazon S3, of OfflineStore.

S3 * URIs have a format similar to the following: * s3://example-bucket/prefix/.

*/ inline S3StorageConfig& WithS3Uri(const char* value) { SetS3Uri(value); return *this;} /** *

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The Amazon Web Services Key Management Service (KMS) key ARN of the key used * to encrypt any objects written into the OfflineStore S3 * location.

The IAM roleARN that is passed as a parameter to * CreateFeatureGroup must have below permissions to the * KmsKeyId:

  • "kms:GenerateDataKey"

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

The S3 path where offline records are written.

*/ inline const Aws::String& GetResolvedOutputS3Uri() const{ return m_resolvedOutputS3Uri; } /** *

The S3 path where offline records are written.

*/ inline bool ResolvedOutputS3UriHasBeenSet() const { return m_resolvedOutputS3UriHasBeenSet; } /** *

The S3 path where offline records are written.

*/ inline void SetResolvedOutputS3Uri(const Aws::String& value) { m_resolvedOutputS3UriHasBeenSet = true; m_resolvedOutputS3Uri = value; } /** *

The S3 path where offline records are written.

*/ inline void SetResolvedOutputS3Uri(Aws::String&& value) { m_resolvedOutputS3UriHasBeenSet = true; m_resolvedOutputS3Uri = std::move(value); } /** *

The S3 path where offline records are written.

*/ inline void SetResolvedOutputS3Uri(const char* value) { m_resolvedOutputS3UriHasBeenSet = true; m_resolvedOutputS3Uri.assign(value); } /** *

The S3 path where offline records are written.

*/ inline S3StorageConfig& WithResolvedOutputS3Uri(const Aws::String& value) { SetResolvedOutputS3Uri(value); return *this;} /** *

The S3 path where offline records are written.

*/ inline S3StorageConfig& WithResolvedOutputS3Uri(Aws::String&& value) { SetResolvedOutputS3Uri(std::move(value)); return *this;} /** *

The S3 path where offline records are written.

*/ inline S3StorageConfig& WithResolvedOutputS3Uri(const char* value) { SetResolvedOutputS3Uri(value); return *this;} private: Aws::String m_s3Uri; bool m_s3UriHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_resolvedOutputS3Uri; bool m_resolvedOutputS3UriHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws