import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class FunctionConfiguration { MemorySize ? : Value < number > ; Pinned ? : Value < boolean > ; ExecArgs ? : Value < string > ; Timeout ? : Value < number > ; EncodingType ? : Value < string > ; Environment ? : Environment ; Executable ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Execution { IsolationMode ? : Value < string > ; RunAs ? : RunAs ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DefaultConfig { Execution ! : Execution ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Function { FunctionArn ! : Value < string > ; FunctionConfiguration ! : FunctionConfiguration ; Id ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RunAs { Uid ? : Value < number > ; Gid ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Environment { Variables ? : { [ key ] : any ; } ; Execution ? : Execution ; ResourceAccessPolicies ? : List < ResourceAccessPolicy > ; AccessSysfs ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourceAccessPolicy { ResourceId ! : Value < string > ; Permission ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface FunctionDefinitionVersionProperties { DefaultConfig ? : DefaultConfig ; Functions : List < Function > ; FunctionDefinitionId : Value < string > ; } export default class FunctionDefinitionVersion extends ResourceBase < FunctionDefinitionVersionProperties > { static FunctionConfiguration = FunctionConfiguration ; static Execution = Execution ; static DefaultConfig = DefaultConfig ; static Function = Function ; static RunAs = RunAs ; static Environment = Environment ; static ResourceAccessPolicy = ResourceAccessPolicy ; constructor ( properties ) { super ( 'AWS::Greengrass::FunctionDefinitionVersion' , properties ) ; } }