# MapBaseOptions

Base properties for defining a Map state.

Extends: MapBaseOptions
Extends: AssignableStateOptions

- Source: [`aws-stepfunctions/lib/states/map-base.ts`](https://github.com/aws/aws-cdk/blob/v2.273.0/packages/aws-cdk-lib/aws-stepfunctions/lib/states/map-base.ts#L96)
- Type last changed: v2.235.0 · 15 Jan 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';

declare const assign: any;
declare const itemSelector: any;
const mapBaseOptions: stepfunctions.MapBaseOptions = {
  assign: {
    assignKey: assign,
  },
  itemSelector: {
    itemSelectorKey: itemSelector,
  },
  jsonataItemSelector: 'jsonataItemSelector',
  jsonataMaxConcurrency: 'jsonataMaxConcurrency',
  maxConcurrency: 123,
};
```

## Properties

- `assign`: { [key: string]: any } = Not assign variables — Workflow variables to store in this step.

  Using workflow variables, you can store data in a step and retrieve that data in future steps.

- `itemSelector`: { [key: string]: any } = $ — The JSON that you want to override your default iteration input (mutually exclusive with `parameters` and `jsonataItemSelector`).

- `jsonataItemSelector`: string = $ — Jsonata expression that evaluates to a JSON array to override your default iteration input (mutually exclusive with `parameters` and `itemSelector`).

  Example value: `{% {\"foo\": \"foo\", \"input\": $states.input} %}`

- `jsonataMaxConcurrency`: string = full concurrency — JSONata expression for MaxConcurrency.

  A JSONata expression that evaluates to an integer, specifying the maximum
  concurrency dynamically. Mutually exclusive with `maxConcurrency` and
  `maxConcurrencyPath`.

  Example value: `{% $states.input.maxConcurrency %}`

- `maxConcurrency`: number = full concurrency — MaxConcurrency.

  An upper bound on the number of iterations you want running at once.
