/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A collection of settings that apply to users of Amazon SageMaker Studio.
* These settings are specified when the CreateUserProfile
API is
* called, and as DefaultUserSettings
when the
* CreateDomain
API is called.SecurityGroups
is
* aggregated when specified in both calls. For all other settings in
* UserSettings
, the values specified in
* CreateUserProfile
take precedence over those specified in
* CreateDomain
.See Also:
AWS
* API Reference
The execution role for the user.
*/ inline const Aws::String& GetExecutionRole() const{ return m_executionRole; } /** *The execution role for the user.
*/ inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; } /** *The execution role for the user.
*/ inline void SetExecutionRole(const Aws::String& value) { m_executionRoleHasBeenSet = true; m_executionRole = value; } /** *The execution role for the user.
*/ inline void SetExecutionRole(Aws::String&& value) { m_executionRoleHasBeenSet = true; m_executionRole = std::move(value); } /** *The execution role for the user.
*/ inline void SetExecutionRole(const char* value) { m_executionRoleHasBeenSet = true; m_executionRole.assign(value); } /** *The execution role for the user.
*/ inline UserSettings& WithExecutionRole(const Aws::String& value) { SetExecutionRole(value); return *this;} /** *The execution role for the user.
*/ inline UserSettings& WithExecutionRole(Aws::String&& value) { SetExecutionRole(std::move(value)); return *this;} /** *The execution role for the user.
*/ inline UserSettings& WithExecutionRole(const char* value) { SetExecutionRole(value); return *this;} /** *The security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline const Aws::VectorThe security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *The security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline void SetSecurityGroups(const Aws::VectorThe security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline void SetSecurityGroups(Aws::VectorThe security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline UserSettings& WithSecurityGroups(const Aws::VectorThe security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline UserSettings& WithSecurityGroups(Aws::VectorThe security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline UserSettings& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *The security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline UserSettings& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *The security groups for the Amazon Virtual Private Cloud (VPC) that Studio * uses for communication.
Optional when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
Required when the
* CreateDomain.AppNetworkAccessType
parameter is set to
* VpcOnly
, unless specified as part of the
* DefaultUserSettings
for the domain.
Amazon SageMaker adds a * security group to allow NFS traffic from SageMaker Studio. Therefore, the number * of security groups that you can specify is one less than the maximum number * shown.
*/ inline UserSettings& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *Specifies options for sharing SageMaker Studio notebooks.
*/ inline const SharingSettings& GetSharingSettings() const{ return m_sharingSettings; } /** *Specifies options for sharing SageMaker Studio notebooks.
*/ inline bool SharingSettingsHasBeenSet() const { return m_sharingSettingsHasBeenSet; } /** *Specifies options for sharing SageMaker Studio notebooks.
*/ inline void SetSharingSettings(const SharingSettings& value) { m_sharingSettingsHasBeenSet = true; m_sharingSettings = value; } /** *Specifies options for sharing SageMaker Studio notebooks.
*/ inline void SetSharingSettings(SharingSettings&& value) { m_sharingSettingsHasBeenSet = true; m_sharingSettings = std::move(value); } /** *Specifies options for sharing SageMaker Studio notebooks.
*/ inline UserSettings& WithSharingSettings(const SharingSettings& value) { SetSharingSettings(value); return *this;} /** *Specifies options for sharing SageMaker Studio notebooks.
*/ inline UserSettings& WithSharingSettings(SharingSettings&& value) { SetSharingSettings(std::move(value)); return *this;} /** *The Jupyter server's app settings.
*/ inline const JupyterServerAppSettings& GetJupyterServerAppSettings() const{ return m_jupyterServerAppSettings; } /** *The Jupyter server's app settings.
*/ inline bool JupyterServerAppSettingsHasBeenSet() const { return m_jupyterServerAppSettingsHasBeenSet; } /** *The Jupyter server's app settings.
*/ inline void SetJupyterServerAppSettings(const JupyterServerAppSettings& value) { m_jupyterServerAppSettingsHasBeenSet = true; m_jupyterServerAppSettings = value; } /** *The Jupyter server's app settings.
*/ inline void SetJupyterServerAppSettings(JupyterServerAppSettings&& value) { m_jupyterServerAppSettingsHasBeenSet = true; m_jupyterServerAppSettings = std::move(value); } /** *The Jupyter server's app settings.
*/ inline UserSettings& WithJupyterServerAppSettings(const JupyterServerAppSettings& value) { SetJupyterServerAppSettings(value); return *this;} /** *The Jupyter server's app settings.
*/ inline UserSettings& WithJupyterServerAppSettings(JupyterServerAppSettings&& value) { SetJupyterServerAppSettings(std::move(value)); return *this;} /** *The kernel gateway app settings.
*/ inline const KernelGatewayAppSettings& GetKernelGatewayAppSettings() const{ return m_kernelGatewayAppSettings; } /** *The kernel gateway app settings.
*/ inline bool KernelGatewayAppSettingsHasBeenSet() const { return m_kernelGatewayAppSettingsHasBeenSet; } /** *The kernel gateway app settings.
*/ inline void SetKernelGatewayAppSettings(const KernelGatewayAppSettings& value) { m_kernelGatewayAppSettingsHasBeenSet = true; m_kernelGatewayAppSettings = value; } /** *The kernel gateway app settings.
*/ inline void SetKernelGatewayAppSettings(KernelGatewayAppSettings&& value) { m_kernelGatewayAppSettingsHasBeenSet = true; m_kernelGatewayAppSettings = std::move(value); } /** *The kernel gateway app settings.
*/ inline UserSettings& WithKernelGatewayAppSettings(const KernelGatewayAppSettings& value) { SetKernelGatewayAppSettings(value); return *this;} /** *The kernel gateway app settings.
*/ inline UserSettings& WithKernelGatewayAppSettings(KernelGatewayAppSettings&& value) { SetKernelGatewayAppSettings(std::move(value)); return *this;} /** *The TensorBoard app settings.
*/ inline const TensorBoardAppSettings& GetTensorBoardAppSettings() const{ return m_tensorBoardAppSettings; } /** *The TensorBoard app settings.
*/ inline bool TensorBoardAppSettingsHasBeenSet() const { return m_tensorBoardAppSettingsHasBeenSet; } /** *The TensorBoard app settings.
*/ inline void SetTensorBoardAppSettings(const TensorBoardAppSettings& value) { m_tensorBoardAppSettingsHasBeenSet = true; m_tensorBoardAppSettings = value; } /** *The TensorBoard app settings.
*/ inline void SetTensorBoardAppSettings(TensorBoardAppSettings&& value) { m_tensorBoardAppSettingsHasBeenSet = true; m_tensorBoardAppSettings = std::move(value); } /** *The TensorBoard app settings.
*/ inline UserSettings& WithTensorBoardAppSettings(const TensorBoardAppSettings& value) { SetTensorBoardAppSettings(value); return *this;} /** *The TensorBoard app settings.
*/ inline UserSettings& WithTensorBoardAppSettings(TensorBoardAppSettings&& value) { SetTensorBoardAppSettings(std::move(value)); return *this;} /** *A collection of settings that configure user interaction with the
* RStudioServerPro
app.
A collection of settings that configure user interaction with the
* RStudioServerPro
app.
A collection of settings that configure user interaction with the
* RStudioServerPro
app.
A collection of settings that configure user interaction with the
* RStudioServerPro
app.
A collection of settings that configure user interaction with the
* RStudioServerPro
app.
A collection of settings that configure user interaction with the
* RStudioServerPro
app.
A collection of settings that configure the RSessionGateway
* app.
A collection of settings that configure the RSessionGateway
* app.
A collection of settings that configure the RSessionGateway
* app.
A collection of settings that configure the RSessionGateway
* app.
A collection of settings that configure the RSessionGateway
* app.
A collection of settings that configure the RSessionGateway
* app.
The Canvas app settings.
*/ inline const CanvasAppSettings& GetCanvasAppSettings() const{ return m_canvasAppSettings; } /** *The Canvas app settings.
*/ inline bool CanvasAppSettingsHasBeenSet() const { return m_canvasAppSettingsHasBeenSet; } /** *The Canvas app settings.
*/ inline void SetCanvasAppSettings(const CanvasAppSettings& value) { m_canvasAppSettingsHasBeenSet = true; m_canvasAppSettings = value; } /** *The Canvas app settings.
*/ inline void SetCanvasAppSettings(CanvasAppSettings&& value) { m_canvasAppSettingsHasBeenSet = true; m_canvasAppSettings = std::move(value); } /** *The Canvas app settings.
*/ inline UserSettings& WithCanvasAppSettings(const CanvasAppSettings& value) { SetCanvasAppSettings(value); return *this;} /** *The Canvas app settings.
*/ inline UserSettings& WithCanvasAppSettings(CanvasAppSettings&& value) { SetCanvasAppSettings(std::move(value)); return *this;} private: Aws::String m_executionRole; bool m_executionRoleHasBeenSet = false; Aws::Vector