import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class PolicyTag { Key ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourceTag { Key ! : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IEMap { ACCOUNT ? : List < Value < string > > ; ORGUNIT ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface PolicyProperties { ExcludeMap ? : IEMap ; ExcludeResourceTags : Value < boolean > ; IncludeMap ? : IEMap ; PolicyName : Value < string > ; RemediationEnabled : Value < boolean > ; ResourceTags ? : List < ResourceTag > ; ResourceType : Value < string > ; ResourceTypeList ? : List < Value < string > > ; SecurityServicePolicyData : { [ key ] : any ; } ; DeleteAllPolicyResources ? : Value < boolean > ; Tags ? : List < PolicyTag > ; } export default class Policy extends ResourceBase < PolicyProperties > { static PolicyTag = PolicyTag ; static ResourceTag = ResourceTag ; static IEMap = IEMap ; constructor ( properties ) { super ( 'AWS::FMS::Policy' , properties ) ; } }