import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Label { Arn ? : Value < string > ; Inline ? : Value < boolean > ; Name ? : Value < string > ; Description ? : Value < string > ; Tags ? : List < ResourceTag > ; CreatedTime ? : Value < string > ; LastUpdatedTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EntityType { Arn ? : Value < string > ; Inline ? : Value < boolean > ; Name ? : Value < string > ; Description ? : Value < string > ; Tags ? : List < ResourceTag > ; CreatedTime ? : Value < string > ; LastUpdatedTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Model { Arn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Outcome { Arn ? : Value < string > ; Inline ? : Value < boolean > ; Name ? : Value < string > ; Description ? : Value < string > ; Tags ? : List < ResourceTag > ; CreatedTime ? : Value < string > ; LastUpdatedTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EventVariable { Arn ? : Value < string > ; Inline ? : Value < boolean > ; Name ? : Value < string > ; DataSource ? : Value < string > ; DataType ? : Value < string > ; DefaultValue ? : Value < string > ; VariableType ? : Value < string > ; Description ? : Value < string > ; Tags ? : List < ResourceTag > ; CreatedTime ? : Value < string > ; LastUpdatedTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Rule { RuleId ? : Value < string > ; RuleVersion ? : Value < string > ; DetectorId ? : Value < string > ; Expression ? : Value < string > ; Language ? : Value < string > ; Outcomes ? : List < Outcome > ; Arn ? : Value < string > ; Description ? : Value < string > ; Tags ? : List < ResourceTag > ; CreatedTime ? : Value < string > ; LastUpdatedTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EventType { Name ? : Value < string > ; Inline ? : Value < boolean > ; Tags ? : List < ResourceTag > ; Description ? : Value < string > ; EventVariables ? : List < EventVariable > ; Labels ? : List < Label > ; EntityTypes ? : List < EntityType > ; Arn ? : Value < string > ; CreatedTime ? : Value < string > ; LastUpdatedTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DetectorProperties { DetectorId : Value < string > ; DetectorVersionStatus ? : Value < string > ; RuleExecutionMode ? : Value < string > ; Tags ? : List < ResourceTag > ; Description ? : Value < string > ; Rules : List < Rule > ; EventType : EventType ; AssociatedModels ? : List < Model > ; } export default class Detector extends ResourceBase < DetectorProperties > { static Label = Label ; static EntityType = EntityType ; static Model = Model ; static Outcome = Outcome ; static EventVariable = EventVariable ; static Rule = Rule ; static EventType = EventType ; constructor ( properties ) { super ( 'AWS::FraudDetector::Detector' , properties ) ; } }