import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Code { S3 ! : S3 ; BranchName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3 { ObjectVersion ? : Value < string > ; Bucket ! : Value < string > ; Key ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RepositoryTrigger { Events ! : List < Value < string > > ; Branches ? : List < Value < string > > ; CustomData ? : Value < string > ; DestinationArn ! : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface RepositoryProperties { RepositoryName : Value < string > ; Triggers ? : List < RepositoryTrigger > ; Code ? : Code ; RepositoryDescription ? : Value < string > ; Tags ? : List < ResourceTag > ; } export default class Repository extends ResourceBase < RepositoryProperties > { static Code = Code ; static S3 = S3 ; static RepositoryTrigger = RepositoryTrigger ; constructor ( properties ) { super ( 'AWS::CodeCommit::Repository' , properties ) ; } }