/** * 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 for sharing SageMaker Studio notebooks. 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. * When SharingSettings is not specified, notebook sharing isn't * allowed.

See Also:

AWS * API Reference

*/ class SharingSettings { public: AWS_SAGEMAKER_API SharingSettings(); AWS_SAGEMAKER_API SharingSettings(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API SharingSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API 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 store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon S3 * bucket used to store the shared notebook snapshots.

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

When NotebookOutputOption is Allowed, the Amazon * Web Services 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 Amazon * Web Services 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 Amazon * Web Services 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 Amazon * Web Services 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 Amazon * Web Services 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 Amazon * Web Services 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 Amazon * Web Services 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 Amazon * Web Services 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 = false; Aws::String m_s3OutputPath; bool m_s3OutputPathHasBeenSet = false; Aws::String m_s3KmsKeyId; bool m_s3KmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws