import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export type PatchStringDate = Value < string > ; export class PatchFilter { Values ? : List < Value < string > > ; Key ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Rule { ApproveUntilDate ? : PatchStringDate ; EnableNonSecurity ? : Value < boolean > ; PatchFilterGroup ? : PatchFilterGroup ; ApproveAfterDays ? : Value < number > ; ComplianceLevel ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PatchFilterGroup { PatchFilters ? : List < PatchFilter > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PatchSource { Products ? : List < Value < string > > ; Configuration ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RuleGroup { PatchRules ? : List < Rule > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface PatchBaselineProperties { OperatingSystem ? : Value < string > ; Description ? : Value < string > ; ApprovalRules ? : RuleGroup ; Sources ? : List < PatchSource > ; Name : Value < string > ; RejectedPatches ? : List < Value < string > > ; ApprovedPatches ? : List < Value < string > > ; RejectedPatchesAction ? : Value < string > ; PatchGroups ? : List < Value < string > > ; ApprovedPatchesComplianceLevel ? : Value < string > ; ApprovedPatchesEnableNonSecurity ? : Value < boolean > ; GlobalFilters ? : PatchFilterGroup ; Tags ? : List < ResourceTag > ; } export default class PatchBaseline extends ResourceBase < PatchBaselineProperties > { static PatchFilter = PatchFilter ; static Rule = Rule ; static PatchFilterGroup = PatchFilterGroup ; static PatchSource = PatchSource ; static RuleGroup = RuleGroup ; constructor ( properties ) { super ( 'AWS::SSM::PatchBaseline' , properties ) ; } }