import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class JupyterServerAppSettings { DefaultResourceSpec ? : ResourceSpec ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class UserSettings { ExecutionRole ? : Value < string > ; JupyterServerAppSettings ? : JupyterServerAppSettings ; KernelGatewayAppSettings ? : KernelGatewayAppSettings ; SecurityGroups ? : List < Value < string > > ; SharingSettings ? : SharingSettings ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CustomImage { AppImageConfigName ! : Value < string > ; ImageName ! : Value < string > ; ImageVersionNumber ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourceSpec { InstanceType ? : Value < string > ; SageMakerImageArn ? : Value < string > ; SageMakerImageVersionArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KernelGatewayAppSettings { CustomImages ? : List < CustomImage > ; DefaultResourceSpec ? : ResourceSpec ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SharingSettings { NotebookOutputOption ? : Value < string > ; S3KmsKeyId ? : Value < string > ; S3OutputPath ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DomainProperties { AppNetworkAccessType ? : Value < string > ; AuthMode : Value < string > ; DefaultUserSettings : UserSettings ; DomainName : Value < string > ; KmsKeyId ? : Value < string > ; SubnetIds : List < Value < string > > ; Tags ? : List < ResourceTag > ; VpcId : Value < string > ; } export default class Domain extends ResourceBase < DomainProperties > { static JupyterServerAppSettings = JupyterServerAppSettings ; static UserSettings = UserSettings ; static CustomImage = CustomImage ; static ResourceSpec = ResourceSpec ; static KernelGatewayAppSettings = KernelGatewayAppSettings ; static SharingSettings = SharingSettings ; constructor ( properties ) { super ( 'AWS::SageMaker::Domain' , properties ) ; } }