import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ExperimentTemplateStopCondition { Source ! : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ExperimentTemplateTarget { ResourceType ! : Value < string > ; ResourceArns ? : List < Value < string > > ; ResourceTags ? : { [ key ] : Value < string > ; } ; Filters ? : List < ExperimentTemplateTargetFilter > ; SelectionMode ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ExperimentTemplateAction { ActionId ! : Value < string > ; Description ? : Value < string > ; Parameters ? : { [ key ] : Value < string > ; } ; Targets ? : { [ key ] : Value < string > ; } ; StartAfter ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ExperimentTemplateTargetFilter { Path ! : Value < string > ; Values ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ExperimentTemplateProperties { Description : Value < string > ; Targets : { [ key ] : ExperimentTemplateTarget ; } ; Actions ? : { [ key ] : ExperimentTemplateAction ; } ; StopConditions : List < ExperimentTemplateStopCondition > ; RoleArn : Value < string > ; Tags : { [ key ] : Value < string > ; } ; } export default class ExperimentTemplate extends ResourceBase < ExperimentTemplateProperties > { static ExperimentTemplateStopCondition = ExperimentTemplateStopCondition ; static ExperimentTemplateTarget = ExperimentTemplateTarget ; static ExperimentTemplateAction = ExperimentTemplateAction ; static ExperimentTemplateTargetFilter = ExperimentTemplateTargetFilter ; constructor ( properties ) { super ( 'AWS::FIS::ExperimentTemplate' , properties ) ; } }