/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.sagemaker.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* 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
.
*
* The execution role for the user. *
*/ private String executionRole; /** ** 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. *
*/ private java.util.List* Specifies options for sharing SageMaker Studio notebooks. *
*/ private SharingSettings sharingSettings; /** ** The Jupyter server's app settings. *
*/ private JupyterServerAppSettings jupyterServerAppSettings; /** ** The kernel gateway app settings. *
*/ private KernelGatewayAppSettings kernelGatewayAppSettings; /** ** The TensorBoard app settings. *
*/ private TensorBoardAppSettings tensorBoardAppSettings; /** *
* A collection of settings that configure user interaction with the RStudioServerPro
app.
*
* A collection of settings that configure the RSessionGateway
app.
*
* The Canvas app settings. *
*/ private CanvasAppSettings canvasAppSettings; /** ** The execution role for the user. *
* * @param executionRole * The execution role for the user. */ public void setExecutionRole(String executionRole) { this.executionRole = executionRole; } /** ** The execution role for the user. *
* * @return The execution role for the user. */ public String getExecutionRole() { return this.executionRole; } /** ** The execution role for the user. *
* * @param executionRole * The execution role for the user. * @return Returns a reference to this object so that method calls can be chained together. */ public UserSettings withExecutionRole(String executionRole) { setExecutionRole(executionRole); 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. *
* * @return 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.
*/
public java.util.List
* The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
*
* Optional when the
* Required when the
* 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.
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
* CreateDomain.AppNetworkAccessType
parameter is set to VpcOnly
, unless
* specified as part of the DefaultUserSettings
for the domain.
*
* 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.
*/
public void setSecurityGroups(java.util.Collection
* The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
*
* Optional when the
* Required when the
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSecurityGroups(java.util.Collection)} or {@link #withSecurityGroups(java.util.Collection)} if you want
* to override the existing values.
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
* CreateDomain.AppNetworkAccessType
parameter is set to VpcOnly
, unless
* specified as part of the DefaultUserSettings
for the domain.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UserSettings withSecurityGroups(String... securityGroups) {
if (this.securityGroups == null) {
setSecurityGroups(new java.util.ArrayList
* The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
*
* Optional when the
* Required when the
* 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.
* CreateDomain.AppNetworkAccessType
parameter is set to
* PublicInternetOnly
.
* CreateDomain.AppNetworkAccessType
parameter is set to VpcOnly
, unless
* specified as part of the DefaultUserSettings
for the domain.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UserSettings withSecurityGroups(java.util.Collection
* Specifies options for sharing SageMaker Studio notebooks.
*
* Specifies options for sharing SageMaker Studio notebooks.
*
* Specifies options for sharing SageMaker Studio notebooks.
*
* The Jupyter server's app settings.
*
* The Jupyter server's app settings.
*
* The Jupyter server's app settings.
*
* The kernel gateway app settings.
*
* The kernel gateway app settings.
*
* The kernel gateway app settings.
*
* The TensorBoard app settings.
*
* The TensorBoard app settings.
*
* The TensorBoard app settings.
*
* A collection of settings that configure user interaction with the
* A collection of settings that configure user interaction with the
* A collection of settings that configure user interaction with the
* A collection of settings that configure the
* A collection of settings that configure the
* A collection of settings that configure the
* The Canvas app settings.
*
* The Canvas app settings.
*
* The Canvas app settings.
* RStudioServerPro
app.
* RStudioServerPro
app.
*/
public void setRStudioServerProAppSettings(RStudioServerProAppSettings rStudioServerProAppSettings) {
this.rStudioServerProAppSettings = rStudioServerProAppSettings;
}
/**
* RStudioServerPro
app.
* RStudioServerPro
app.
*/
public RStudioServerProAppSettings getRStudioServerProAppSettings() {
return this.rStudioServerProAppSettings;
}
/**
* RStudioServerPro
app.
* RStudioServerPro
app.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UserSettings withRStudioServerProAppSettings(RStudioServerProAppSettings rStudioServerProAppSettings) {
setRStudioServerProAppSettings(rStudioServerProAppSettings);
return this;
}
/**
* RSessionGateway
app.
* RSessionGateway
app.
*/
public void setRSessionAppSettings(RSessionAppSettings rSessionAppSettings) {
this.rSessionAppSettings = rSessionAppSettings;
}
/**
* RSessionGateway
app.
* RSessionGateway
app.
*/
public RSessionAppSettings getRSessionAppSettings() {
return this.rSessionAppSettings;
}
/**
* RSessionGateway
app.
* RSessionGateway
app.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UserSettings withRSessionAppSettings(RSessionAppSettings rSessionAppSettings) {
setRSessionAppSettings(rSessionAppSettings);
return this;
}
/**
*