import { Value } from '../../../cloudformation/Value';
import { KernelGatewayAppSettingsProps } from './KernelGatewayAppSettingsProps';
import { RStudioServerProAppSettingsProps } from './RStudioServerProAppSettingsProps';
import { JupyterServerAppSettingsProps } from './JupyterServerAppSettingsProps';
import { SharingSettingsProps } from './SharingSettingsProps';
/**
  A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html">CreateUserProfile</a> API is called, and as <code>DefaultUserSettings</code> when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html">CreateDomain</a> API is called.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html">the AWS Docs</a>
*/
export interface UserSettingsProps {
    /** <code>SecurityGroups</code>  <a name="cfn-sagemaker-userprofile-usersettings-securitygroups"></a>
  The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.<br />
  Optional when the <code>CreateDomain.AppNetworkAccessType</code> parameter is set to <code>PublicInternetOnly</code>.<br />
  Required when the <code>CreateDomain.AppNetworkAccessType</code> parameter is set to <code>VpcOnly</code>, unless specified as part of the <code>DefaultUserSettings</code> for the domain.<br />
  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.<br />
  
  Required: No<br />
  
  Maximum: <code>5</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    securityGroups?: Value<Value<string>[]>;
    /** <code>KernelGatewayAppSettings</code>  <a name="cfn-sagemaker-userprofile-usersettings-kernelgatewayappsettings"></a>
  The kernel gateway app settings.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    kernelGatewayAppSettings?: KernelGatewayAppSettingsProps;
    /** <code>RStudioServerProAppSettings</code>  <a name="cfn-sagemaker-userprofile-usersettings-rstudioserverproappsettings"></a>
  A collection of settings that configure user interaction with the <code>RStudioServerPro</code> app.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    rStudioServerProAppSettings?: RStudioServerProAppSettingsProps;
    /** <code>JupyterServerAppSettings</code>  <a name="cfn-sagemaker-userprofile-usersettings-jupyterserverappsettings"></a>
  The Jupyter server’s app settings.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    jupyterServerAppSettings?: JupyterServerAppSettingsProps;
    /** <code>ExecutionRole</code>  <a name="cfn-sagemaker-userprofile-usersettings-executionrole"></a>
  The execution role for the user.<br />
  
  Required: No<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    executionRole?: Value<string>;
    /** <code>SharingSettings</code>  <a name="cfn-sagemaker-userprofile-usersettings-sharingsettings"></a>
  Specifies options for sharing SageMaker Studio notebooks.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sharingSettings?: SharingSettingsProps;
}
