/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::SageMaker::Domain */ export interface AwsSagemakerDomain { /** * The Amazon Resource Name (ARN) of the created domain. */ DomainArn?: string; /** * The URL to the created domain. */ Url?: string; /** * Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. */ AppNetworkAccessType?: "PublicInternetOnly" | "VpcOnly"; /** * The mode of authentication that members use to access the domain. */ AuthMode: "SSO" | "IAM"; DefaultUserSettings: UserSettings; DefaultSpaceSettings?: DefaultSpaceSettings; /** * A name for the domain. */ DomainName: string; /** * SageMaker uses AWS KMS to encrypt the EFS volume attached to the domain with an AWS managed customer master key (CMK) by default. */ KmsKeyId?: string; /** * The VPC subnets that Studio uses for communication. * * @minItems 1 * @maxItems 16 */ SubnetIds: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; /** * A list of tags to apply to the user profile. * * @minItems 0 * @maxItems 50 */ Tags?: Tag[]; /** * The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. */ VpcId: string; /** * The domain name. */ DomainId?: string; /** * The ID of the Amazon Elastic File System (EFS) managed by this Domain. */ HomeEfsFileSystemId?: string; /** * The SSO managed application instance ID. */ SingleSignOnManagedApplicationInstanceId?: string; DomainSettings?: DomainSettings; /** * The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided. */ AppSecurityGroupManagement?: "Service" | "Customer"; /** * The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. */ SecurityGroupIdForDomainBoundary?: string; } /** * The default user settings. */ export interface UserSettings { /** * The execution role for the user. */ ExecutionRole?: string; JupyterServerAppSettings?: JupyterServerAppSettings; KernelGatewayAppSettings?: KernelGatewayAppSettings; RStudioServerProAppSettings?: RStudioServerProAppSettings; RSessionAppSettings?: RSessionAppSettings; /** * The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. * * @minItems 0 * @maxItems 5 */ SecurityGroups?: | [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string]; SharingSettings?: SharingSettings; } /** * The Jupyter server's app settings. */ export interface JupyterServerAppSettings { DefaultResourceSpec?: ResourceSpec; } export interface ResourceSpec { /** * The instance type that the image version runs on. */ InstanceType?: | "system" | "ml.t3.micro" | "ml.t3.small" | "ml.t3.medium" | "ml.t3.large" | "ml.t3.xlarge" | "ml.t3.2xlarge" | "ml.m5.large" | "ml.m5.xlarge" | "ml.m5.2xlarge" | "ml.m5.4xlarge" | "ml.m5.8xlarge" | "ml.m5.12xlarge" | "ml.m5.16xlarge" | "ml.m5.24xlarge" | "ml.c5.large" | "ml.c5.xlarge" | "ml.c5.2xlarge" | "ml.c5.4xlarge" | "ml.c5.9xlarge" | "ml.c5.12xlarge" | "ml.c5.18xlarge" | "ml.c5.24xlarge" | "ml.p3.2xlarge" | "ml.p3.8xlarge" | "ml.p3.16xlarge" | "ml.g4dn.xlarge" | "ml.g4dn.2xlarge" | "ml.g4dn.4xlarge" | "ml.g4dn.8xlarge" | "ml.g4dn.12xlarge" | "ml.g4dn.16xlarge" | "ml.r5.large" | "ml.r5.xlarge" | "ml.r5.2xlarge" | "ml.r5.4xlarge" | "ml.r5.8xlarge" | "ml.r5.12xlarge" | "ml.r5.16xlarge" | "ml.r5.24xlarge" | "ml.p3dn.24xlarge" | "ml.m5d.large" | "ml.m5d.xlarge" | "ml.m5d.2xlarge" | "ml.m5d.4xlarge" | "ml.m5d.8xlarge" | "ml.m5d.12xlarge" | "ml.m5d.16xlarge" | "ml.m5d.24xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge"; /** * The Amazon Resource Name (ARN) of the SageMaker image that the image version belongs to. */ SageMakerImageArn?: string; /** * The Amazon Resource Name (ARN) of the image version created on the instance. */ SageMakerImageVersionArn?: string; /** * The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. */ LifecycleConfigArn?: string; } /** * The kernel gateway app settings. */ export interface KernelGatewayAppSettings { /** * A list of custom SageMaker images that are configured to run as a KernelGateway app. * * @minItems 0 * @maxItems 30 */ CustomImages?: CustomImage[]; DefaultResourceSpec?: ResourceSpec1; } /** * A custom SageMaker image. */ export interface CustomImage { /** * The Name of the AppImageConfig. */ AppImageConfigName: string; /** * The name of the CustomImage. Must be unique to your account. */ ImageName: string; /** * The version number of the CustomImage. */ ImageVersionNumber?: number; } /** * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. */ export interface ResourceSpec1 { /** * The instance type that the image version runs on. */ InstanceType?: | "system" | "ml.t3.micro" | "ml.t3.small" | "ml.t3.medium" | "ml.t3.large" | "ml.t3.xlarge" | "ml.t3.2xlarge" | "ml.m5.large" | "ml.m5.xlarge" | "ml.m5.2xlarge" | "ml.m5.4xlarge" | "ml.m5.8xlarge" | "ml.m5.12xlarge" | "ml.m5.16xlarge" | "ml.m5.24xlarge" | "ml.c5.large" | "ml.c5.xlarge" | "ml.c5.2xlarge" | "ml.c5.4xlarge" | "ml.c5.9xlarge" | "ml.c5.12xlarge" | "ml.c5.18xlarge" | "ml.c5.24xlarge" | "ml.p3.2xlarge" | "ml.p3.8xlarge" | "ml.p3.16xlarge" | "ml.g4dn.xlarge" | "ml.g4dn.2xlarge" | "ml.g4dn.4xlarge" | "ml.g4dn.8xlarge" | "ml.g4dn.12xlarge" | "ml.g4dn.16xlarge" | "ml.r5.large" | "ml.r5.xlarge" | "ml.r5.2xlarge" | "ml.r5.4xlarge" | "ml.r5.8xlarge" | "ml.r5.12xlarge" | "ml.r5.16xlarge" | "ml.r5.24xlarge" | "ml.p3dn.24xlarge" | "ml.m5d.large" | "ml.m5d.xlarge" | "ml.m5d.2xlarge" | "ml.m5d.4xlarge" | "ml.m5d.8xlarge" | "ml.m5d.12xlarge" | "ml.m5d.16xlarge" | "ml.m5d.24xlarge" | "ml.g5.xlarge" | "ml.g5.2xlarge" | "ml.g5.4xlarge" | "ml.g5.8xlarge" | "ml.g5.12xlarge" | "ml.g5.16xlarge" | "ml.g5.24xlarge" | "ml.g5.48xlarge"; /** * The Amazon Resource Name (ARN) of the SageMaker image that the image version belongs to. */ SageMakerImageArn?: string; /** * The Amazon Resource Name (ARN) of the image version created on the instance. */ SageMakerImageVersionArn?: string; /** * The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource. */ LifecycleConfigArn?: string; } /** * A collection of settings that configure user interaction with the RStudioServerPro app. */ export interface RStudioServerProAppSettings { /** * Indicates whether the current user has access to the RStudioServerPro app. */ AccessStatus?: "ENABLED" | "DISABLED"; /** * The level of permissions that the user has within the RStudioServerPro app. This value defaults to User. The Admin value allows the user access to the RStudio Administrative Dashboard. */ UserGroup?: "R_STUDIO_ADMIN" | "R_STUDIO_USER"; } /** * A collection of settings that apply to an RSessionGateway app. */ export interface RSessionAppSettings { /** * A list of custom SageMaker images that are configured to run as a KernelGateway app. * * @minItems 0 * @maxItems 30 */ CustomImages?: CustomImage[]; DefaultResourceSpec?: ResourceSpec; } /** * The sharing settings. */ export interface SharingSettings { /** * Whether to include the notebook cell output when sharing the notebook. The default is Disabled. */ NotebookOutputOption?: "Allowed" | "Disabled"; /** * 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. */ S3KmsKeyId?: string; /** * When NotebookOutputOption is Allowed, the Amazon S3 bucket used to store the shared notebook snapshots. */ S3OutputPath?: string; } /** * The default space settings. */ export interface DefaultSpaceSettings { /** * The execution role for the space. */ ExecutionRole?: string; JupyterServerAppSettings?: JupyterServerAppSettings1; KernelGatewayAppSettings?: KernelGatewayAppSettings1; /** * The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. * * @minItems 0 * @maxItems 5 */ SecurityGroups?: | [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string]; } /** * The Jupyter server's app settings. */ export interface JupyterServerAppSettings1 { DefaultResourceSpec?: ResourceSpec; } /** * The kernel gateway app settings. */ export interface KernelGatewayAppSettings1 { /** * A list of custom SageMaker images that are configured to run as a KernelGateway app. * * @minItems 0 * @maxItems 30 */ CustomImages?: CustomImage[]; DefaultResourceSpec?: ResourceSpec1; } export interface Tag { Value: string; Key: string; } /** * A collection of Domain settings. */ export interface DomainSettings { /** * The security groups for the Amazon Virtual Private Cloud that the Domain uses for communication between Domain-level apps and user apps. * * @minItems 1 * @maxItems 3 */ SecurityGroupIds?: [string] | [string, string] | [string, string, string]; RStudioServerProDomainSettings?: RStudioServerProDomainSettings; } /** * A collection of settings that update the current configuration for the RStudioServerPro Domain-level app. */ export interface RStudioServerProDomainSettings { /** * The ARN of the execution role for the RStudioServerPro Domain-level app. */ DomainExecutionRoleArn: string; /** * A URL pointing to an RStudio Connect server. */ RStudioConnectUrl?: string; /** * A URL pointing to an RStudio Package Manager server. */ RStudioPackageManagerUrl?: string; DefaultResourceSpec?: ResourceSpec; }