ChristopheBougere/asl-validator

add configuration to the validation to enable or disable named validations

massfords opened this issue ยท 3 comments

Is your feature request related to a problem? Please describe.

There isn't a way to enforce a strict mode where the process definition is valid according to the ASL definition and doesn't contain any extension elements like a cloud flare deployment function call.

It would also be nice to disable one or more validations. The primary example of this is disabling the path expression checks. There's value in knowing the basic flow of the step function is valid without having to implement every expression. It's also possible that the expressions could be checked elsewhere in the build by another tool and the check in this lib is therefore redundant.

Describe the solution you'd like

Provide a config to enable/disable some of the checkers.

Some ideas on what can be made configurable:

path expression validation

If disabled, register a no-op format validator function for each of the asl expression types in the schema.

task arn validation

if not specified, we support all of the below options

  • valid ARN
  • allow substitution variable syntax ${name}
  • allow cloud function call

If specified, config can remove support for any of the above checks

These checks are currently done declaratively via the schema definition for the task. Each format is an entry in a oneOf field under Resource. The validator could make this configurable by dynamically changing the oneOf array before validating the file. We would also register a different format function validator for the asl_arn type if the valid ARN requirement for the Resource is disabled.

other configurable checks

None

I'll start with just disabling the path validation since that's pretty easy.

๐ŸŽ‰ This issue has been resolved in version 3.0.0 ๐ŸŽ‰

The release is available on:

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€

Available in 3.0.1