├── .github └── workflows │ └── ruby.yml ├── .gitignore ├── Gemfile ├── LICENSE ├── NOTICE.txt ├── README.md ├── Rakefile ├── bin └── statelint ├── data └── StateMachine.j2119 ├── lib ├── statelint.rb └── statelint │ └── state_node.rb ├── spec ├── state_node_spec.rb └── statelint_spec.rb ├── statelint.gemspec └── test ├── backoff-with-backoffrate-between-0-and-1.json ├── backoff-with-backoffrate-decimal.json ├── backoff-with-backoffrate-integer.json ├── backoff-with-backoffrate-negative.json ├── backoff-with-invalid-jitter-on-retry.json ├── backoff-with-jitter-on-retry.json ├── choice-nested-comment.json ├── choice-rule-with-comment.json ├── choice-with-context-object.json ├── choice-with-parameters.json ├── choice-with-resultpath.json ├── choice-with-resultselector.json ├── empty-error-equals-on-catch.json ├── empty-error-equals-on-retry.json ├── fail-with-error-and-cause-path-using-intrinsic-functions.json ├── fail-with-error-and-cause-path.json ├── fail-with-parameters.json ├── fail-with-resultpath.json ├── fail-with-resultselector.json ├── fail-with-static-and-dynamic-cause.json ├── fail-with-static-and-dynamic-error.json ├── has-dupes.json ├── invalid-backoff-with-jitter-on-retry.json ├── invalid-function-invocation.json ├── linked-parallel.json ├── map-with-itemprocessor-and-iterator.json ├── map-with-itemprocessor.json ├── map-with-itemspath-context-object.json ├── map-with-null-itemspath.json ├── map-with-parameters-and-itemselector.json ├── map-with-parameters.json ├── map-with-resultselector.json ├── minimal-fail-state.json ├── no-terminal.json ├── parallel-with-parameters.json ├── parallel-with-resultpath.json ├── parallel-with-resultselector.json ├── parameter-path-problems.json ├── pass-with-intrinsic-function-inputpath.json ├── pass-with-io-path-context-object.json ├── pass-with-null-inputpath.json ├── pass-with-null-outputpath.json ├── pass-with-parameters.json ├── pass-with-resultpath.json ├── pass-with-resultselector.json ├── states-array-intrinsic-functions.json ├── states-array-invocation-leftpad.json ├── states-array-invocation.json ├── states-encoding-decoding-intrinsic-functions.json ├── states-format-invocation.json ├── states-hash-intrinsic-functions.json ├── states-json-intrinsic-functions.json ├── states-jsontostring-invocation.json ├── states-math-intrinsic-functions.json ├── states-string-intrinsic-functions.json ├── states-stringtojson-invocation.json ├── states-uuid-intrinsic-functions.json ├── succeed-with-comment-in-catcher.json ├── succeed-with-parameters.json ├── succeed-with-resultpath.json ├── succeed-with-resultselector.json ├── task-with-credentials.json ├── task-with-dynamic-timeouts.json ├── task-with-invalid-credentials.json ├── task-with-parameters.json ├── task-with-resultpath.json ├── task-with-resultselector.json ├── task-with-static-and-dynamic-heartbeat.json ├── task-with-static-and-dynamic-timeout.json ├── test_retval.sh ├── wait-with-parameters.json ├── wait-with-resultpath.json └── wait-with-resultselector.json /.github/workflows/ruby.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/.github/workflows/ruby.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.gem 3 | .bundle 4 | vendor 5 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/LICENSE -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/NOTICE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/Rakefile -------------------------------------------------------------------------------- /bin/statelint: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/bin/statelint -------------------------------------------------------------------------------- /data/StateMachine.j2119: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/data/StateMachine.j2119 -------------------------------------------------------------------------------- /lib/statelint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/lib/statelint.rb -------------------------------------------------------------------------------- /lib/statelint/state_node.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/lib/statelint/state_node.rb -------------------------------------------------------------------------------- /spec/state_node_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/spec/state_node_spec.rb -------------------------------------------------------------------------------- /spec/statelint_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/spec/statelint_spec.rb -------------------------------------------------------------------------------- /statelint.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/statelint.gemspec -------------------------------------------------------------------------------- /test/backoff-with-backoffrate-between-0-and-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/backoff-with-backoffrate-between-0-and-1.json -------------------------------------------------------------------------------- /test/backoff-with-backoffrate-decimal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/backoff-with-backoffrate-decimal.json -------------------------------------------------------------------------------- /test/backoff-with-backoffrate-integer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/backoff-with-backoffrate-integer.json -------------------------------------------------------------------------------- /test/backoff-with-backoffrate-negative.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/backoff-with-backoffrate-negative.json -------------------------------------------------------------------------------- /test/backoff-with-invalid-jitter-on-retry.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/backoff-with-invalid-jitter-on-retry.json -------------------------------------------------------------------------------- /test/backoff-with-jitter-on-retry.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/backoff-with-jitter-on-retry.json -------------------------------------------------------------------------------- /test/choice-nested-comment.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/choice-nested-comment.json -------------------------------------------------------------------------------- /test/choice-rule-with-comment.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/choice-rule-with-comment.json -------------------------------------------------------------------------------- /test/choice-with-context-object.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/choice-with-context-object.json -------------------------------------------------------------------------------- /test/choice-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/choice-with-parameters.json -------------------------------------------------------------------------------- /test/choice-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/choice-with-resultpath.json -------------------------------------------------------------------------------- /test/choice-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/choice-with-resultselector.json -------------------------------------------------------------------------------- /test/empty-error-equals-on-catch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/empty-error-equals-on-catch.json -------------------------------------------------------------------------------- /test/empty-error-equals-on-retry.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/empty-error-equals-on-retry.json -------------------------------------------------------------------------------- /test/fail-with-error-and-cause-path-using-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-error-and-cause-path-using-intrinsic-functions.json -------------------------------------------------------------------------------- /test/fail-with-error-and-cause-path.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-error-and-cause-path.json -------------------------------------------------------------------------------- /test/fail-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-parameters.json -------------------------------------------------------------------------------- /test/fail-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-resultpath.json -------------------------------------------------------------------------------- /test/fail-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-resultselector.json -------------------------------------------------------------------------------- /test/fail-with-static-and-dynamic-cause.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-static-and-dynamic-cause.json -------------------------------------------------------------------------------- /test/fail-with-static-and-dynamic-error.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/fail-with-static-and-dynamic-error.json -------------------------------------------------------------------------------- /test/has-dupes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/has-dupes.json -------------------------------------------------------------------------------- /test/invalid-backoff-with-jitter-on-retry.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/invalid-backoff-with-jitter-on-retry.json -------------------------------------------------------------------------------- /test/invalid-function-invocation.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/invalid-function-invocation.json -------------------------------------------------------------------------------- /test/linked-parallel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/linked-parallel.json -------------------------------------------------------------------------------- /test/map-with-itemprocessor-and-iterator.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-itemprocessor-and-iterator.json -------------------------------------------------------------------------------- /test/map-with-itemprocessor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-itemprocessor.json -------------------------------------------------------------------------------- /test/map-with-itemspath-context-object.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-itemspath-context-object.json -------------------------------------------------------------------------------- /test/map-with-null-itemspath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-null-itemspath.json -------------------------------------------------------------------------------- /test/map-with-parameters-and-itemselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-parameters-and-itemselector.json -------------------------------------------------------------------------------- /test/map-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-parameters.json -------------------------------------------------------------------------------- /test/map-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/map-with-resultselector.json -------------------------------------------------------------------------------- /test/minimal-fail-state.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/minimal-fail-state.json -------------------------------------------------------------------------------- /test/no-terminal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/no-terminal.json -------------------------------------------------------------------------------- /test/parallel-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/parallel-with-parameters.json -------------------------------------------------------------------------------- /test/parallel-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/parallel-with-resultpath.json -------------------------------------------------------------------------------- /test/parallel-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/parallel-with-resultselector.json -------------------------------------------------------------------------------- /test/parameter-path-problems.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/parameter-path-problems.json -------------------------------------------------------------------------------- /test/pass-with-intrinsic-function-inputpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-intrinsic-function-inputpath.json -------------------------------------------------------------------------------- /test/pass-with-io-path-context-object.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-io-path-context-object.json -------------------------------------------------------------------------------- /test/pass-with-null-inputpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-null-inputpath.json -------------------------------------------------------------------------------- /test/pass-with-null-outputpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-null-outputpath.json -------------------------------------------------------------------------------- /test/pass-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-parameters.json -------------------------------------------------------------------------------- /test/pass-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-resultpath.json -------------------------------------------------------------------------------- /test/pass-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/pass-with-resultselector.json -------------------------------------------------------------------------------- /test/states-array-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-array-intrinsic-functions.json -------------------------------------------------------------------------------- /test/states-array-invocation-leftpad.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-array-invocation-leftpad.json -------------------------------------------------------------------------------- /test/states-array-invocation.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-array-invocation.json -------------------------------------------------------------------------------- /test/states-encoding-decoding-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-encoding-decoding-intrinsic-functions.json -------------------------------------------------------------------------------- /test/states-format-invocation.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-format-invocation.json -------------------------------------------------------------------------------- /test/states-hash-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-hash-intrinsic-functions.json -------------------------------------------------------------------------------- /test/states-json-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-json-intrinsic-functions.json -------------------------------------------------------------------------------- /test/states-jsontostring-invocation.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-jsontostring-invocation.json -------------------------------------------------------------------------------- /test/states-math-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-math-intrinsic-functions.json -------------------------------------------------------------------------------- /test/states-string-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-string-intrinsic-functions.json -------------------------------------------------------------------------------- /test/states-stringtojson-invocation.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-stringtojson-invocation.json -------------------------------------------------------------------------------- /test/states-uuid-intrinsic-functions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/states-uuid-intrinsic-functions.json -------------------------------------------------------------------------------- /test/succeed-with-comment-in-catcher.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/succeed-with-comment-in-catcher.json -------------------------------------------------------------------------------- /test/succeed-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/succeed-with-parameters.json -------------------------------------------------------------------------------- /test/succeed-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/succeed-with-resultpath.json -------------------------------------------------------------------------------- /test/succeed-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/succeed-with-resultselector.json -------------------------------------------------------------------------------- /test/task-with-credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-credentials.json -------------------------------------------------------------------------------- /test/task-with-dynamic-timeouts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-dynamic-timeouts.json -------------------------------------------------------------------------------- /test/task-with-invalid-credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-invalid-credentials.json -------------------------------------------------------------------------------- /test/task-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-parameters.json -------------------------------------------------------------------------------- /test/task-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-resultpath.json -------------------------------------------------------------------------------- /test/task-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-resultselector.json -------------------------------------------------------------------------------- /test/task-with-static-and-dynamic-heartbeat.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-static-and-dynamic-heartbeat.json -------------------------------------------------------------------------------- /test/task-with-static-and-dynamic-timeout.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/task-with-static-and-dynamic-timeout.json -------------------------------------------------------------------------------- /test/test_retval.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/test_retval.sh -------------------------------------------------------------------------------- /test/wait-with-parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/wait-with-parameters.json -------------------------------------------------------------------------------- /test/wait-with-resultpath.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/wait-with-resultpath.json -------------------------------------------------------------------------------- /test/wait-with-resultselector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/statelint/HEAD/test/wait-with-resultselector.json --------------------------------------------------------------------------------