import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LogDestination { CloudWatchLogsLogGroup ? : CloudWatchLogsLogGroup ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TagsEntry { Key ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LoggingConfiguration { Level ? : Value < string > ; IncludeExecutionData ? : Value < boolean > ; Destinations ? : List < LogDestination > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3Location { Bucket ! : Value < string > ; Key ! : Value < string > ; Version ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CloudWatchLogsLogGroup { LogGroupArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TracingConfiguration { Enabled ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface StateMachineProperties { DefinitionString ? : Value < string > ; RoleArn : Value < string > ; StateMachineName ? : Value < string > ; StateMachineType ? : Value < string > ; LoggingConfiguration ? : LoggingConfiguration ; TracingConfiguration ? : TracingConfiguration ; DefinitionS3Location ? : S3Location ; DefinitionSubstitutions ? : { [ key ] : Value < string > ; } ; Definition ? : Definition ; Tags ? : List < TagsEntry > ; } export default class StateMachine extends ResourceBase < StateMachineProperties > { static LogDestination = LogDestination ; static TagsEntry = TagsEntry ; static LoggingConfiguration = LoggingConfiguration ; static S3Location = S3Location ; static CloudWatchLogsLogGroup = CloudWatchLogsLogGroup ; static TracingConfiguration = TracingConfiguration ; constructor ( properties ) { super ( 'AWS::StepFunctions::StateMachine' , properties ) ; } }