import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class AbortIncompleteMultipartUpload { DaysAfterInitiation ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Rule { Status ? : Value < string > ; Id ? : Value < string > ; AbortIncompleteMultipartUpload ? : AbortIncompleteMultipartUpload ; ExpirationDate ? : Value < string > ; ExpirationInDays ? : Value < number > ; Filter ? : { [ key ] : any ; } ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LifecycleConfiguration { Rules ! : List < Rule > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface BucketProperties { BucketName : Value < string > ; OutpostId : Value < string > ; Tags ? : List < ResourceTag > ; LifecycleConfiguration ? : LifecycleConfiguration ; } export default class Bucket extends ResourceBase < BucketProperties > { static AbortIncompleteMultipartUpload = AbortIncompleteMultipartUpload ; static Rule = Rule ; static LifecycleConfiguration = LifecycleConfiguration ; constructor ( properties ) { super ( 'AWS::S3Outposts::Bucket' , properties ) ; } }