import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LicenseServiceConfiguration { Endpoint ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ScriptParameterKeyValue { Key ? : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ActiveDirectoryConfiguration { ComputerAttributes ? : List < ActiveDirectoryComputerAttribute > ; DirectoryId ? : Value < string > ; OrganizationalUnitDistinguishedName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ActiveDirectoryComputerAttribute { Name ? : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StudioComponentConfiguration { ActiveDirectoryConfiguration ? : ActiveDirectoryConfiguration ; ComputeFarmConfiguration ? : ComputeFarmConfiguration ; LicenseServiceConfiguration ? : LicenseServiceConfiguration ; SharedFileSystemConfiguration ? : SharedFileSystemConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StudioComponentInitializationScript { LaunchProfileProtocolVersion ? : Value < string > ; Platform ? : Value < string > ; RunContext ? : Value < string > ; Script ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ComputeFarmConfiguration { ActiveDirectoryUser ? : Value < string > ; Endpoint ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SharedFileSystemConfiguration { Endpoint ? : Value < string > ; FileSystemId ? : Value < string > ; LinuxMountPoint ? : Value < string > ; ShareName ? : Value < string > ; WindowsMountDrive ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface StudioComponentProperties { Configuration ? : StudioComponentConfiguration ; Description ? : Value < string > ; InitializationScripts ? : List < StudioComponentInitializationScript > ; Name : Value < string > ; ScriptParameters ? : List < ScriptParameterKeyValue > ; Ec2SecurityGroupIds ? : List < Value < string > > ; StudioId : Value < string > ; Subtype ? : Value < string > ; Type : Value < string > ; Tags ? : { [ key ] : Value < string > ; } ; } export default class StudioComponent extends ResourceBase < StudioComponentProperties > { static LicenseServiceConfiguration = LicenseServiceConfiguration ; static ScriptParameterKeyValue = ScriptParameterKeyValue ; static ActiveDirectoryConfiguration = ActiveDirectoryConfiguration ; static ActiveDirectoryComputerAttribute = ActiveDirectoryComputerAttribute ; static StudioComponentConfiguration = StudioComponentConfiguration ; static StudioComponentInitializationScript = StudioComponentInitializationScript ; static ComputeFarmConfiguration = ComputeFarmConfiguration ; static SharedFileSystemConfiguration = SharedFileSystemConfiguration ; constructor ( properties ) { super ( 'AWS::NimbleStudio::StudioComponent' , properties ) ; } }