Skip to content

AWS::StepFunctions::StateMachine fails when using old definition style #4196

@ccassidy-vaisala

Description

@ccassidy-vaisala

CloudFormation Lint Version

1.38.0

What operating system are you using?

Amazon Linux 2023

Describe the bug

It appears #3524 may have cropped up again, I have a step function using the legacy Iterator/ItemsPath configuration and it is throwing E3601:

E3601 'ItemProcessor' is a required property
template.yml:257:11

E3601 Additional properties are not allowed ('Iterator' was unexpected)
template.yml:270:13

Expected behavior

Do not throw error, maybe warning considering this legacy style is deprecated?

Reproduction template

Resources:
  StateMachine:
    Type: AWS::StepFunctions::StateMachine
    Properties:
      Definition:
        StartAt: ProcessMap
        States:
          ProcessMap:
            Type: Map
            Next: EndState
            ItemsPath: "$.items"
            Iterator:
              StartAt: ProcessingTask
              States:
                ProcessingTask:
                  Type: Task
                  End: true
          EndState:
            End: true
            Type: Pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions