import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ImageConfiguration { StartCommand ? : Value < string > ; Port ? : Value < string > ; RuntimeEnvironmentVariables ? : List < KeyValuePair > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InstanceConfiguration { Cpu ? : Value < string > ; Memory ? : Value < string > ; InstanceRoleArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AuthenticationConfiguration { ConnectionArn ? : Value < string > ; AccessRoleArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KeyValuePair { Name ? : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EncryptionConfiguration { KmsKey ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HealthCheckConfiguration { Protocol ? : Value < string > ; Path ? : Value < string > ; Interval ? : Value < number > ; Timeout ? : Value < number > ; HealthyThreshold ? : Value < number > ; UnhealthyThreshold ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CodeConfigurationValues { Runtime ! : Value < string > ; BuildCommand ? : Value < string > ; StartCommand ? : Value < string > ; Port ? : Value < string > ; RuntimeEnvironmentVariables ? : List < KeyValuePair > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SourceCodeVersion { Type ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ImageRepository { ImageIdentifier ! : Value < string > ; ImageConfiguration ? : ImageConfiguration ; ImageRepositoryType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SourceConfiguration { CodeRepository ? : CodeRepository ; ImageRepository ? : ImageRepository ; AutoDeploymentsEnabled ? : Value < boolean > ; AuthenticationConfiguration ? : AuthenticationConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CodeRepository { RepositoryUrl ! : Value < string > ; SourceCodeVersion ! : SourceCodeVersion ; CodeConfiguration ? : CodeConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CodeConfiguration { ConfigurationSource ! : Value < string > ; CodeConfigurationValues ? : CodeConfigurationValues ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ServiceProperties { ServiceName ? : Value < string > ; SourceConfiguration : SourceConfiguration ; InstanceConfiguration ? : InstanceConfiguration ; Tags ? : List < ResourceTag > ; EncryptionConfiguration ? : EncryptionConfiguration ; HealthCheckConfiguration ? : HealthCheckConfiguration ; AutoScalingConfigurationArn ? : Value < string > ; } export default class Service extends ResourceBase < ServiceProperties > { static ImageConfiguration = ImageConfiguration ; static InstanceConfiguration = InstanceConfiguration ; static AuthenticationConfiguration = AuthenticationConfiguration ; static KeyValuePair = KeyValuePair ; static EncryptionConfiguration = EncryptionConfiguration ; static HealthCheckConfiguration = HealthCheckConfiguration ; static CodeConfigurationValues = CodeConfigurationValues ; static SourceCodeVersion = SourceCodeVersion ; static ImageRepository = ImageRepository ; static SourceConfiguration = SourceConfiguration ; static CodeRepository = CodeRepository ; static CodeConfiguration = CodeConfiguration ; constructor ( properties ) { super ( 'AWS::AppRunner::Service' , properties ) ; } }