import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LifecyclePolicy { LifecyclePolicyText ? : Value < string > ; RegistryId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ImageScanningConfiguration { ScanOnPush ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EncryptionConfiguration { EncryptionType ! : Value < string > ; KmsKey ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface RepositoryProperties { LifecyclePolicy ? : LifecyclePolicy ; RepositoryName ? : Value < string > ; RepositoryPolicyText ? : { [ key ] : any ; } ; Tags ? : List < ResourceTag > ; ImageTagMutability ? : Value < string > ; ImageScanningConfiguration ? : ImageScanningConfiguration ; EncryptionConfiguration ? : EncryptionConfiguration ; } export default class Repository extends ResourceBase < RepositoryProperties > { static LifecyclePolicy = LifecyclePolicy ; static ImageScanningConfiguration = ImageScanningConfiguration ; static EncryptionConfiguration = EncryptionConfiguration ; constructor ( properties ? ) { super ( 'AWS::ECR::Repository' , properties || { } ) ; } }