{
 "additionalProperties": false,
 "conditionalCreateOnlyProperties": [
  "/properties/VpcId"
 ],
 "createOnlyProperties": [
  "/properties/AuthMode",
  "/properties/DomainName",
  "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
  "/properties/KmsKeyId"
 ],
 "definitions": {
  "AppInstanceType": {
   "enum": [
    "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.m5d.large",
    "ml.m5d.xlarge",
    "ml.m5d.2xlarge",
    "ml.m5d.4xlarge",
    "ml.m5d.8xlarge",
    "ml.m5d.12xlarge",
    "ml.m5d.16xlarge",
    "ml.m5d.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.p3dn.24xlarge",
    "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.g5.xlarge",
    "ml.g5.2xlarge",
    "ml.g5.4xlarge",
    "ml.g5.8xlarge",
    "ml.g5.12xlarge",
    "ml.g5.16xlarge",
    "ml.g5.24xlarge",
    "ml.g5.48xlarge",
    "ml.g6.xlarge",
    "ml.g6.2xlarge",
    "ml.g6.4xlarge",
    "ml.g6.8xlarge",
    "ml.g6.12xlarge",
    "ml.g6.16xlarge",
    "ml.g6.24xlarge",
    "ml.g6.48xlarge",
    "ml.g6e.xlarge",
    "ml.g6e.2xlarge",
    "ml.g6e.4xlarge",
    "ml.g6e.8xlarge",
    "ml.g6e.12xlarge",
    "ml.g6e.16xlarge",
    "ml.g6e.24xlarge",
    "ml.g6e.48xlarge",
    "ml.geospatial.interactive",
    "ml.p4d.24xlarge",
    "ml.p4de.24xlarge",
    "ml.trn1.2xlarge",
    "ml.trn1.32xlarge",
    "ml.trn1n.32xlarge",
    "ml.p5.48xlarge",
    "ml.p5e.48xlarge",
    "ml.p5en.48xlarge",
    "ml.m6i.large",
    "ml.m6i.xlarge",
    "ml.m6i.2xlarge",
    "ml.m6i.4xlarge",
    "ml.m6i.8xlarge",
    "ml.m6i.12xlarge",
    "ml.m6i.16xlarge",
    "ml.m6i.24xlarge",
    "ml.m6i.32xlarge",
    "ml.m7i.large",
    "ml.m7i.xlarge",
    "ml.m7i.2xlarge",
    "ml.m7i.4xlarge",
    "ml.m7i.8xlarge",
    "ml.m7i.12xlarge",
    "ml.m7i.16xlarge",
    "ml.m7i.24xlarge",
    "ml.m7i.48xlarge",
    "ml.c6i.large",
    "ml.c6i.xlarge",
    "ml.c6i.2xlarge",
    "ml.c6i.4xlarge",
    "ml.c6i.8xlarge",
    "ml.c6i.12xlarge",
    "ml.c6i.16xlarge",
    "ml.c6i.24xlarge",
    "ml.c6i.32xlarge",
    "ml.c7i.large",
    "ml.c7i.xlarge",
    "ml.c7i.2xlarge",
    "ml.c7i.4xlarge",
    "ml.c7i.8xlarge",
    "ml.c7i.12xlarge",
    "ml.c7i.16xlarge",
    "ml.c7i.24xlarge",
    "ml.c7i.48xlarge",
    "ml.r6i.large",
    "ml.r6i.xlarge",
    "ml.r6i.2xlarge",
    "ml.r6i.4xlarge",
    "ml.r6i.8xlarge",
    "ml.r6i.12xlarge",
    "ml.r6i.16xlarge",
    "ml.r6i.24xlarge",
    "ml.r6i.32xlarge",
    "ml.r7i.large",
    "ml.r7i.xlarge",
    "ml.r7i.2xlarge",
    "ml.r7i.4xlarge",
    "ml.r7i.8xlarge",
    "ml.r7i.12xlarge",
    "ml.r7i.16xlarge",
    "ml.r7i.24xlarge",
    "ml.r7i.48xlarge",
    "ml.m6id.large",
    "ml.m6id.xlarge",
    "ml.m6id.2xlarge",
    "ml.m6id.4xlarge",
    "ml.m6id.8xlarge",
    "ml.m6id.12xlarge",
    "ml.m6id.16xlarge",
    "ml.m6id.24xlarge",
    "ml.m6id.32xlarge",
    "ml.c6id.large",
    "ml.c6id.xlarge",
    "ml.c6id.2xlarge",
    "ml.c6id.4xlarge",
    "ml.c6id.8xlarge",
    "ml.c6id.12xlarge",
    "ml.c6id.16xlarge",
    "ml.c6id.24xlarge",
    "ml.c6id.32xlarge",
    "ml.r6id.large",
    "ml.r6id.xlarge",
    "ml.r6id.2xlarge",
    "ml.r6id.4xlarge",
    "ml.r6id.8xlarge",
    "ml.r6id.12xlarge",
    "ml.r6id.16xlarge",
    "ml.r6id.24xlarge",
    "ml.r6id.32xlarge",
    "ml.p5.4xlarge",
    "ml.p6-b200.48xlarge",
    "ml.g7e.2xlarge",
    "ml.g7e.4xlarge",
    "ml.g7e.8xlarge",
    "ml.g7e.12xlarge",
    "ml.g7e.24xlarge",
    "ml.g7e.48xlarge"
   ],
   "type": "string"
  },
  "AppLifecycleManagement": {
   "additionalProperties": false,
   "properties": {
    "IdleSettings": {
     "$ref": "#/definitions/IdleSettings"
    }
   },
   "type": "object"
  },
  "AppType": {
   "enum": [
    "JupyterServer",
    "TensorBoard",
    "RStudioServerPro",
    "JupyterLab",
    "CodeEditor",
    "DetailedProfiler",
    "Canvas"
   ],
   "type": "string"
  },
  "CodeEditorAppSettings": {
   "additionalProperties": false,
   "properties": {
    "AppLifecycleManagement": {
     "$ref": "#/definitions/AppLifecycleManagement"
    },
    "BuiltInLifecycleConfigArn": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$",
     "type": "string"
    },
    "CustomImages": {
     "items": {
      "$ref": "#/definitions/CustomImage"
     },
     "maxItems": 200,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "DefaultResourceSpec": {
     "$ref": "#/definitions/ResourceSpec"
    },
    "LifecycleConfigArns": {
     "items": {
      "$ref": "#/definitions/StudioLifecycleConfigArn"
     },
     "maxItems": 30,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "CodeRepository": {
   "additionalProperties": false,
   "properties": {
    "RepositoryUrl": {
     "maxLength": 256,
     "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
     "type": "string"
    }
   },
   "required": [
    "RepositoryUrl"
   ],
   "type": "object"
  },
  "CustomFileSystemConfig": {
   "additionalProperties": false,
   "properties": {
    "EFSFileSystemConfig": {
     "$ref": "#/definitions/EFSFileSystemConfig"
    },
    "FSxLustreFileSystemConfig": {
     "$ref": "#/definitions/FSxLustreFileSystemConfig"
    },
    "S3FileSystemConfig": {
     "$ref": "#/definitions/S3FileSystemConfig"
    }
   },
   "type": "object"
  },
  "CustomImage": {
   "additionalProperties": false,
   "properties": {
    "AppImageConfigName": {
     "maxLength": 63,
     "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
     "type": "string"
    },
    "ImageName": {
     "maxLength": 63,
     "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
     "type": "string"
    },
    "ImageVersionNumber": {
     "minimum": 0,
     "type": "integer"
    }
   },
   "required": [
    "AppImageConfigName",
    "ImageName"
   ],
   "type": "object"
  },
  "CustomPosixUserConfig": {
   "additionalProperties": false,
   "properties": {
    "Gid": {
     "maximum": 4000000,
     "minimum": 1001,
     "type": "integer"
    },
    "Uid": {
     "maximum": 4000000,
     "minimum": 10000,
     "type": "integer"
    }
   },
   "required": [
    "Uid",
    "Gid"
   ],
   "type": "object"
  },
  "DefaultEbsStorageSettings": {
   "additionalProperties": false,
   "properties": {
    "DefaultEbsVolumeSizeInGb": {
     "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
    },
    "MaximumEbsVolumeSizeInGb": {
     "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
    }
   },
   "required": [
    "DefaultEbsVolumeSizeInGb",
    "MaximumEbsVolumeSizeInGb"
   ],
   "type": "object"
  },
  "DefaultSpaceSettings": {
   "additionalProperties": false,
   "properties": {
    "CustomFileSystemConfigs": {
     "items": {
      "$ref": "#/definitions/CustomFileSystemConfig"
     },
     "maxItems": 2,
     "minItems": 0,
     "type": "array",
     "uniqueItems": true
    },
    "CustomPosixUserConfig": {
     "$ref": "#/definitions/CustomPosixUserConfig"
    },
    "ExecutionRole": {
     "maxLength": 2048,
     "minLength": 20,
     "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
     "type": "string"
    },
    "JupyterLabAppSettings": {
     "$ref": "#/definitions/JupyterLabAppSettings"
    },
    "JupyterServerAppSettings": {
     "$ref": "#/definitions/JupyterServerAppSettings"
    },
    "KernelGatewayAppSettings": {
     "$ref": "#/definitions/KernelGatewayAppSettings"
    },
    "SecurityGroups": {
     "format": "AWS::EC2::SecurityGroup.Ids",
     "insertionOrder": false,
     "items": {
      "format": "AWS::EC2::SecurityGroup.Id",
      "maxLength": 32,
      "minLength": 0,
      "pattern": "[-0-9a-zA-Z]+",
      "type": "string"
     },
     "maxItems": 5,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "SpaceStorageSettings": {
     "$ref": "#/definitions/DefaultSpaceStorageSettings"
    }
   },
   "required": [
    "ExecutionRole"
   ],
   "type": "object"
  },
  "DefaultSpaceStorageSettings": {
   "additionalProperties": false,
   "properties": {
    "DefaultEbsStorageSettings": {
     "$ref": "#/definitions/DefaultEbsStorageSettings"
    }
   },
   "type": "object"
  },
  "DockerSettings": {
   "additionalProperties": false,
   "properties": {
    "EnableDockerAccess": {
     "enum": [
      "ENABLED",
      "DISABLED"
     ],
     "type": "string"
    },
    "VpcOnlyTrustedAccounts": {
     "insertionOrder": false,
     "items": {
      "maxLength": 12,
      "minLength": 12,
      "pattern": "^\\d+$",
      "type": "string"
     },
     "maxItems": 20,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "DomainSettings": {
   "additionalProperties": false,
   "properties": {
    "DockerSettings": {
     "$ref": "#/definitions/DockerSettings"
    },
    "ExecutionRoleIdentityConfig": {
     "enum": [
      "USER_PROFILE_NAME",
      "DISABLED"
     ],
     "type": "string"
    },
    "IpAddressType": {
     "$ref": "#/definitions/IpAddressType"
    },
    "RStudioServerProDomainSettings": {
     "$ref": "#/definitions/RStudioServerProDomainSettings"
    },
    "SecurityGroupIds": {
     "format": "AWS::EC2::SecurityGroup.Ids",
     "insertionOrder": false,
     "items": {
      "format": "AWS::EC2::SecurityGroup.Id",
      "maxLength": 32,
      "minLength": 0,
      "pattern": "[-0-9a-zA-Z]+",
      "type": "string"
     },
     "maxItems": 3,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "UnifiedStudioSettings": {
     "$ref": "#/definitions/UnifiedStudioSettings"
    }
   },
   "type": "object"
  },
  "EFSFileSystemConfig": {
   "additionalProperties": false,
   "properties": {
    "FileSystemId": {
     "maxLength": 21,
     "minLength": 11,
     "pattern": "^(fs-[0-9a-f]{8,})$",
     "type": "string"
    },
    "FileSystemPath": {
     "maxLength": 256,
     "minLength": 1,
     "pattern": "^\\/\\S*$",
     "type": "string"
    }
   },
   "required": [
    "FileSystemId"
   ],
   "type": "object"
  },
  "FSxLustreFileSystemConfig": {
   "additionalProperties": false,
   "properties": {
    "FileSystemId": {
     "maxLength": 21,
     "minLength": 11,
     "pattern": "^(fs-[0-9a-f]{8,})$",
     "type": "string"
    },
    "FileSystemPath": {
     "maxLength": 256,
     "minLength": 1,
     "pattern": "^\\/\\S*$",
     "type": "string"
    }
   },
   "required": [
    "FileSystemId"
   ],
   "type": "object"
  },
  "HiddenSageMakerImage": {
   "additionalProperties": false,
   "properties": {
    "SageMakerImageName": {
     "enum": [
      "sagemaker_distribution"
     ],
     "type": "string"
    },
    "VersionAliases": {
     "insertionOrder": false,
     "items": {
      "maxLength": 128,
      "minLength": 1,
      "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$",
      "type": "string"
     },
     "maxItems": 20,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "IdleSettings": {
   "additionalProperties": false,
   "properties": {
    "IdleTimeoutInMinutes": {
     "$ref": "#/definitions/IdleTimeoutInMinutes"
    },
    "LifecycleManagement": {
     "$ref": "#/definitions/LifecycleManagement"
    },
    "MaxIdleTimeoutInMinutes": {
     "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
    },
    "MinIdleTimeoutInMinutes": {
     "$ref": "#/definitions/MinIdleTimeoutInMinutes"
    }
   },
   "type": "object"
  },
  "IdleTimeoutInMinutes": {
   "maximum": 525600,
   "minimum": 60,
   "type": "integer"
  },
  "IpAddressType": {
   "enum": [
    "IPV4",
    "DUALSTACK"
   ],
   "type": "string"
  },
  "JupyterLabAppSettings": {
   "additionalProperties": false,
   "properties": {
    "AppLifecycleManagement": {
     "$ref": "#/definitions/AppLifecycleManagement"
    },
    "BuiltInLifecycleConfigArn": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$",
     "type": "string"
    },
    "CodeRepositories": {
     "items": {
      "$ref": "#/definitions/CodeRepository"
     },
     "maxItems": 30,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "CustomImages": {
     "items": {
      "$ref": "#/definitions/CustomImage"
     },
     "maxItems": 200,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "DefaultResourceSpec": {
     "$ref": "#/definitions/ResourceSpec"
    },
    "LifecycleConfigArns": {
     "items": {
      "$ref": "#/definitions/StudioLifecycleConfigArn"
     },
     "maxItems": 30,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "JupyterServerAppSettings": {
   "additionalProperties": false,
   "properties": {
    "DefaultResourceSpec": {
     "$ref": "#/definitions/ResourceSpec"
    },
    "LifecycleConfigArns": {
     "items": {
      "$ref": "#/definitions/StudioLifecycleConfigArn"
     },
     "maxItems": 30,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "KernelGatewayAppSettings": {
   "additionalProperties": false,
   "properties": {
    "CustomImages": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/CustomImage"
     },
     "maxItems": 200,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "DefaultResourceSpec": {
     "$ref": "#/definitions/ResourceSpec"
    },
    "LifecycleConfigArns": {
     "items": {
      "$ref": "#/definitions/StudioLifecycleConfigArn"
     },
     "maxItems": 30,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "LifecycleManagement": {
   "enum": [
    "ENABLED",
    "DISABLED"
   ],
   "type": "string"
  },
  "MaxIdleTimeoutInMinutes": {
   "maximum": 525600,
   "minimum": 60,
   "type": "integer"
  },
  "MinIdleTimeoutInMinutes": {
   "maximum": 525600,
   "minimum": 60,
   "type": "integer"
  },
  "MlTools": {
   "enum": [
    "DataWrangler",
    "FeatureStore",
    "EmrClusters",
    "AutoMl",
    "Experiments",
    "Training",
    "ModelEvaluation",
    "Pipelines",
    "Models",
    "JumpStart",
    "InferenceRecommender",
    "Endpoints",
    "Projects",
    "InferenceOptimization",
    "HyperPodClusters",
    "Comet",
    "DeepchecksLLMEvaluation",
    "Fiddler",
    "LakeraGuard",
    "PerformanceEvaluation"
   ],
   "type": "string"
  },
  "RSessionAppSettings": {
   "additionalProperties": false,
   "properties": {
    "CustomImages": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/CustomImage"
     },
     "maxItems": 200,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "DefaultResourceSpec": {
     "$ref": "#/definitions/ResourceSpec"
    }
   },
   "type": "object"
  },
  "RStudioServerProAppSettings": {
   "additionalProperties": false,
   "properties": {
    "AccessStatus": {
     "enum": [
      "ENABLED",
      "DISABLED"
     ],
     "type": "string"
    },
    "UserGroup": {
     "enum": [
      "R_STUDIO_ADMIN",
      "R_STUDIO_USER"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "RStudioServerProDomainSettings": {
   "additionalProperties": false,
   "properties": {
    "DefaultResourceSpec": {
     "$ref": "#/definitions/ResourceSpec"
    },
    "DomainExecutionRoleArn": {
     "format": "AWS::IAM::Role.Arn",
     "maxLength": 2048,
     "minLength": 20,
     "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
     "type": "string"
    },
    "RStudioConnectUrl": {
     "pattern": "^(https:|http:|www\\.)\\S*",
     "type": "string"
    },
    "RStudioPackageManagerUrl": {
     "pattern": "^(https:|http:|www\\.)\\S*",
     "type": "string"
    }
   },
   "required": [
    "DomainExecutionRoleArn"
   ],
   "type": "object"
  },
  "ResourceSpec": {
   "additionalProperties": false,
   "properties": {
    "InstanceType": {
     "$ref": "#/definitions/AppInstanceType"
    },
    "LifecycleConfigArn": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$",
     "type": "string"
    },
    "SageMakerImageArn": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
     "type": "string"
    },
    "SageMakerImageVersionArn": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
     "type": "string"
    },
    "TrainingPlanArn": {
     "maxLength": 2048,
     "minLength": 0,
     "pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:training-plan/.*|None)$",
     "type": "string"
    }
   },
   "type": "object"
  },
  "S3FileSystemConfig": {
   "additionalProperties": false,
   "properties": {
    "MountPath": {
     "maxLength": 1024,
     "minLength": 0,
     "type": "string"
    },
    "S3Uri": {
     "maxLength": 1024,
     "minLength": 0,
     "pattern": "(s3)://([^/]+)/?(.*)",
     "type": "string"
    }
   },
   "type": "object"
  },
  "SharingSettings": {
   "additionalProperties": false,
   "properties": {
    "NotebookOutputOption": {
     "enum": [
      "Allowed",
      "Disabled"
     ],
     "type": "string"
    },
    "S3KmsKeyId": {
     "maxLength": 2048,
     "minLength": 0,
     "pattern": ".*",
     "type": "string"
    },
    "S3OutputPath": {
     "maxLength": 1024,
     "minLength": 0,
     "pattern": "^(https|s3)://([^/]+)/?(.*)$",
     "type": "string"
    }
   },
   "type": "object"
  },
  "SpaceEbsVolumeSizeInGb": {
   "maximum": 16384,
   "minimum": 5,
   "type": "integer"
  },
  "StudioLifecycleConfigArn": {
   "maxLength": 256,
   "minLength": 0,
   "pattern": "^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$",
   "type": "string"
  },
  "StudioWebPortalSettings": {
   "additionalProperties": false,
   "properties": {
    "HiddenAppTypes": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/AppType"
     },
     "minItems": 0,
     "type": "array",
     "uniqueItems": true
    },
    "HiddenInstanceTypes": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/AppInstanceType"
     },
     "minItems": 0,
     "type": "array",
     "uniqueItems": true
    },
    "HiddenMlTools": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/MlTools"
     },
     "minItems": 0,
     "type": "array",
     "uniqueItems": true
    },
    "HiddenSageMakerImageVersionAliases": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/HiddenSageMakerImage"
     },
     "maxItems": 5,
     "minItems": 0,
     "type": "array",
     "uniqueItems": true
    }
   },
   "type": "object"
  },
  "Tag": {
   "additionalProperties": false,
   "properties": {
    "Key": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
     "type": "string"
    },
    "Value": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
     "type": "string"
    }
   },
   "required": [
    "Key",
    "Value"
   ],
   "type": "object"
  },
  "UnifiedStudioSettings": {
   "additionalProperties": false,
   "properties": {
    "DomainAccountId": {
     "maxLength": 12,
     "minLength": 12,
     "pattern": "^\\d+$",
     "type": "string"
    },
    "DomainId": {
     "maxLength": 36,
     "minLength": 1,
     "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$",
     "type": "string"
    },
    "DomainRegion": {
     "maxLength": 24,
     "minLength": 1,
     "pattern": "[a-zA-Z]{2}-[a-zA-Z\\-]+-\\d+",
     "type": "string"
    },
    "EnvironmentId": {
     "maxLength": 36,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9_-]{1,36}$",
     "type": "string"
    },
    "ProjectId": {
     "pattern": "^[a-zA-Z0-9_-]{1,36}$",
     "type": "string"
    },
    "ProjectS3Path": {
     "maxLength": 100,
     "minLength": 1,
     "pattern": "[\\w\\.-]+$",
     "type": "string"
    },
    "StudioWebPortalAccess": {
     "enum": [
      "ENABLED",
      "DISABLED"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "UserSettings": {
   "additionalProperties": false,
   "properties": {
    "AutoMountHomeEFS": {
     "enum": [
      "Enabled",
      "Disabled",
      "DefaultAsDomain"
     ],
     "type": "string"
    },
    "CodeEditorAppSettings": {
     "$ref": "#/definitions/CodeEditorAppSettings"
    },
    "CustomFileSystemConfigs": {
     "items": {
      "$ref": "#/definitions/CustomFileSystemConfig"
     },
     "maxItems": 2,
     "minItems": 0,
     "type": "array",
     "uniqueItems": true
    },
    "CustomPosixUserConfig": {
     "$ref": "#/definitions/CustomPosixUserConfig"
    },
    "DefaultLandingUri": {
     "maxLength": 1023,
     "minLength": 0,
     "type": "string"
    },
    "ExecutionRole": {
     "maxLength": 2048,
     "minLength": 20,
     "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
     "type": "string"
    },
    "JupyterLabAppSettings": {
     "$ref": "#/definitions/JupyterLabAppSettings"
    },
    "JupyterServerAppSettings": {
     "$ref": "#/definitions/JupyterServerAppSettings"
    },
    "KernelGatewayAppSettings": {
     "$ref": "#/definitions/KernelGatewayAppSettings"
    },
    "RSessionAppSettings": {
     "$ref": "#/definitions/RSessionAppSettings"
    },
    "RStudioServerProAppSettings": {
     "$ref": "#/definitions/RStudioServerProAppSettings"
    },
    "SecurityGroups": {
     "format": "AWS::EC2::SecurityGroup.Ids",
     "insertionOrder": false,
     "items": {
      "format": "AWS::EC2::SecurityGroup.Id",
      "maxLength": 32,
      "minLength": 0,
      "pattern": "[-0-9a-zA-Z]+",
      "type": "string"
     },
     "maxItems": 5,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "SharingSettings": {
     "$ref": "#/definitions/SharingSettings"
    },
    "SpaceStorageSettings": {
     "$ref": "#/definitions/DefaultSpaceStorageSettings"
    },
    "StudioWebPortal": {
     "enum": [
      "ENABLED",
      "DISABLED"
     ],
     "type": "string"
    },
    "StudioWebPortalSettings": {
     "$ref": "#/definitions/StudioWebPortalSettings"
    }
   },
   "required": [
    "ExecutionRole"
   ],
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/DomainId"
 ],
 "properties": {
  "AppNetworkAccessType": {
   "enum": [
    "PublicInternetOnly",
    "VpcOnly"
   ],
   "type": "string"
  },
  "AppSecurityGroupManagement": {
   "enum": [
    "Service",
    "Customer"
   ],
   "type": "string"
  },
  "AuthMode": {
   "enum": [
    "SSO",
    "IAM"
   ],
   "type": "string"
  },
  "DefaultSpaceSettings": {
   "$ref": "#/definitions/DefaultSpaceSettings"
  },
  "DefaultUserSettings": {
   "$ref": "#/definitions/UserSettings"
  },
  "DomainArn": {
   "maxLength": 256,
   "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
   "type": "string"
  },
  "DomainId": {
   "maxLength": 63,
   "minLength": 0,
   "pattern": "^d-(-*[a-z0-9])+",
   "type": "string"
  },
  "DomainName": {
   "maxLength": 63,
   "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
   "type": "string"
  },
  "DomainSettings": {
   "$ref": "#/definitions/DomainSettings"
  },
  "HomeEfsFileSystemCreation": {
   "enum": [
    "Enabled",
    "Disabled"
   ],
   "type": "string"
  },
  "HomeEfsFileSystemId": {
   "maxLength": 32,
   "type": "string"
  },
  "KmsKeyId": {
   "anyOf": [
    {
     "format": "AWS::KMS::Key.Arn"
    },
    {
     "format": "AWS::KMS::Key.Id"
    },
    {
     "format": "AWS::KMS::Alias.AliasName"
    }
   ],
   "maxLength": 2048,
   "minLength": 0,
   "pattern": ".*",
   "type": "string"
  },
  "SecurityGroupIdForDomainBoundary": {
   "maxLength": 32,
   "pattern": "[-0-9a-zA-Z]+",
   "type": "string"
  },
  "SingleSignOnApplicationArn": {
   "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
   "type": "string"
  },
  "SingleSignOnManagedApplicationInstanceId": {
   "maxLength": 256,
   "type": "string"
  },
  "SubnetIds": {
   "insertionOrder": false,
   "items": {
    "maxLength": 32,
    "minLength": 0,
    "pattern": "[-0-9a-zA-Z]+",
    "type": "string"
   },
   "maxItems": 16,
   "minItems": 1,
   "type": "array",
   "uniqueItems": false
  },
  "TagPropagation": {
   "enum": [
    "ENABLED",
    "DISABLED"
   ],
   "type": "string"
  },
  "Tags": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/Tag"
   },
   "maxItems": 50,
   "minItems": 0,
   "type": "array",
   "uniqueItems": false
  },
  "Url": {
   "maxLength": 1024,
   "type": "string"
  },
  "VpcId": {
   "format": "AWS::EC2::VPC.Id",
   "maxLength": 32,
   "minLength": 0,
   "pattern": "[-0-9a-zA-Z]+",
   "type": "string"
  }
 },
 "readOnlyProperties": [
  "/properties/DomainArn",
  "/properties/Url",
  "/properties/DomainId",
  "/properties/HomeEfsFileSystemId",
  "/properties/SecurityGroupIdForDomainBoundary",
  "/properties/SingleSignOnManagedApplicationInstanceId",
  "/properties/SingleSignOnApplicationArn"
 ],
 "required": [
  "AuthMode",
  "DefaultUserSettings",
  "DomainName"
 ],
 "tagging": {
  "cloudFormationSystemTags": false,
  "tagOnCreate": true,
  "tagProperty": "/properties/Tags",
  "tagUpdatable": true,
  "taggable": true
 },
 "typeName": "AWS::SageMaker::Domain"
}
