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

Specifies options when sharing an Amazon SageMaker Studio notebook. These * settings are specified as part of DefaultUserSettings when the * CreateDomain API is called, and as part of UserSettings when * the CreateUserProfile API is called.

See Also:

AWS * API Reference

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

Whether to include the notebook cell output when sharing the notebook. The * default is Disabled.

*/ inline const NotebookOutputOption& GetNotebookOutputOption() const{ return m_notebookOutputOption; } /** *

Whether to include the notebook cell output when sharing the notebook. The * default is Disabled.

*/ inline bool NotebookOutputOptionHasBeenSet() const { return m_notebookOutputOptionHasBeenSet; } /** *

Whether to include the notebook cell output when sharing the notebook. The * default is Disabled.

*/ inline void SetNotebookOutputOption(const NotebookOutputOption& value) { m_notebookOutputOptionHasBeenSet = true; m_notebookOutputOption = value; } /** *

Whether to include the notebook cell output when sharing the notebook. The * default is Disabled.

*/ inline void SetNotebookOutputOption(NotebookOutputOption&& value) { m_notebookOutputOptionHasBeenSet = true; m_notebookOutputOption = std::move(value); } /** *

Whether to include the notebook cell output when sharing the notebook. The * default is Disabled.

*/ inline SharingSettings& WithNotebookOutputOption(const NotebookOutputOption& value) { SetNotebookOutputOption(value); return *this;} /** *

Whether to include the notebook cell output when sharing the notebook. The * default is Disabled.

*/ inline SharingSettings& WithNotebookOutputOption(NotebookOutputOption&& value) { SetNotebookOutputOption(std::move(value)); return *this;} /** *

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to save the notebook cell output. If S3OutputPath isn't * specified, a default bucket is used.

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

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline const Aws::String& GetS3KmsKeyId() const{ return m_s3KmsKeyId; } /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline bool S3KmsKeyIdHasBeenSet() const { return m_s3KmsKeyIdHasBeenSet; } /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline void SetS3KmsKeyId(const Aws::String& value) { m_s3KmsKeyIdHasBeenSet = true; m_s3KmsKeyId = value; } /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline void SetS3KmsKeyId(Aws::String&& value) { m_s3KmsKeyIdHasBeenSet = true; m_s3KmsKeyId = std::move(value); } /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline void SetS3KmsKeyId(const char* value) { m_s3KmsKeyIdHasBeenSet = true; m_s3KmsKeyId.assign(value); } /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline SharingSettings& WithS3KmsKeyId(const Aws::String& value) { SetS3KmsKeyId(value); return *this;} /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline SharingSettings& WithS3KmsKeyId(Aws::String&& value) { SetS3KmsKeyId(std::move(value)); return *this;} /** *

When NotebookOutputOption is Allowed, the AWS Key * Management Service (KMS) encryption key ID used to encrypt the notebook cell * output in the Amazon S3 bucket.

*/ inline SharingSettings& WithS3KmsKeyId(const char* value) { SetS3KmsKeyId(value); return *this;} private: NotebookOutputOption m_notebookOutputOption; bool m_notebookOutputOptionHasBeenSet; Aws::String m_s3OutputPath; bool m_s3OutputPathHasBeenSet; Aws::String m_s3KmsKeyId; bool m_s3KmsKeyIdHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws