# API Reference
## Constructs
### ComprehendGenericSyncSfnTask
Calls a Comprehend Classification endpoint and parses the result, filters on > 50 % confidence and sets the highest confidence score classification.
Input: "textract_result"."txt_output_location"
Output: { "documentType": "AWS_PAYSTUBS" } (example will be at "classification"."documentType")
Example (Python)
```python
comprehend_sync_task = tcdk.ComprehendGenericSyncSfnTask(
self,
"Classification",
comprehend_classifier_arn=
'',
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
lambda_log_level="DEBUG",
timeout=Duration.hours(24),
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload,
}),
result_path="$.classification")
```
#### Initializers
```typescript
import { ComprehendGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
new ComprehendGenericSyncSfnTask(scope: Construct, id: string, props: ComprehendGenericSyncSfnTaskProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| ComprehendGenericSyncSfnTaskProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* ComprehendGenericSyncSfnTaskProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { ComprehendGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
ComprehendGenericSyncSfnTask.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { ComprehendGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
ComprehendGenericSyncSfnTask.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { ComprehendGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
ComprehendGenericSyncSfnTask.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { ComprehendGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
ComprehendGenericSyncSfnTask.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { ComprehendGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
ComprehendGenericSyncSfnTask.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| comprehendSyncCallFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.IStateMachine
| *No description.* |
| version
| string
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `comprehendSyncCallFunction`Required
```typescript
public readonly comprehendSyncCallFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: IStateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine
---
##### `version`Required
```typescript
public readonly version: string;
```
- *Type:* string
---
### CSVToAuroraTask
CSVToAuroraTask is a demo construct to show import into a serverless Aurora DB.
At the moment it also creates the Aurora Serverless RDS DB, initializes a table structure the matches the output of the GenerateCSV construct.
The Step Functions flow expect a pointer to a CSV at "csv_output_location"."TextractOutputCSVPath" and uses that to execute a batch insert statement command.
Example:
```python
csv_to_aurora_task = tcdk.CSVToAuroraTask(
self,
"CsvToAurora",
vpc=vpc,
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
lambda_log_level="DEBUG",
timeout=Duration.hours(24),
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload
}),
result_path="$.textract_result")
```
Input: "csv_output_location"."TextractOutputCSVPath"
Output: CSV in Aurora Serverless DB, table name 'textractcsvimport"
#### Initializers
```typescript
import { CSVToAuroraTask } from 'amazon-textract-idp-cdk-constructs'
new CSVToAuroraTask(scope: Construct, id: string, props: CSVToAuroraTaskProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| CSVToAuroraTaskProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* CSVToAuroraTaskProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { CSVToAuroraTask } from 'amazon-textract-idp-cdk-constructs'
CSVToAuroraTask.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { CSVToAuroraTask } from 'amazon-textract-idp-cdk-constructs'
CSVToAuroraTask.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { CSVToAuroraTask } from 'amazon-textract-idp-cdk-constructs'
CSVToAuroraTask.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { CSVToAuroraTask } from 'amazon-textract-idp-cdk-constructs'
CSVToAuroraTask.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { CSVToAuroraTask } from 'amazon-textract-idp-cdk-constructs'
CSVToAuroraTask.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| auroraSecurityGroup
| aws-cdk-lib.aws_ec2.ISecurityGroup
| *No description.* |
| csvToAuroraFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| dbCluster
| aws-cdk-lib.aws_rds.IServerlessCluster
| *No description.* |
| lambdaSecurityGroup
| aws-cdk-lib.aws_ec2.ISecurityGroup
| *No description.* |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.IStateMachine
| *No description.* |
| version
| string
| *No description.* |
| csvToAuroraNumberRowsInsertedMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `auroraSecurityGroup`Required
```typescript
public readonly auroraSecurityGroup: ISecurityGroup;
```
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
---
##### `csvToAuroraFunction`Required
```typescript
public readonly csvToAuroraFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `dbCluster`Required
```typescript
public readonly dbCluster: IServerlessCluster;
```
- *Type:* aws-cdk-lib.aws_rds.IServerlessCluster
---
##### `lambdaSecurityGroup`Required
```typescript
public readonly lambdaSecurityGroup: ISecurityGroup;
```
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: IStateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine
---
##### `version`Required
```typescript
public readonly version: string;
```
- *Type:* string
---
##### `csvToAuroraNumberRowsInsertedMetric`Optional
```typescript
public readonly csvToAuroraNumberRowsInsertedMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
### DocumentSplitter
This construct takes in a manifest definition with just the s3Path:.
example s3Path:
{"s3Path": "s3://bucketname/prefix/image.png"}
then it generated single page versions of the multi-page file.
For PDF the output are single PDF files, for TIFF the output are single TIFF files.
Example (Python)
```python
```
#### Initializers
```typescript
import { DocumentSplitter } from 'amazon-textract-idp-cdk-constructs'
new DocumentSplitter(parent: Construct, id: string, props: DocumentSplitterProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| DocumentSplitterProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* DocumentSplitterProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| next
| Continue normal execution with the given state. |
| prefixStates
| Prefix the IDs of all states in this state machine fragment. |
| toSingleState
| Wrap all states in this state machine fragment up into a single state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
##### `prefixStates`
```typescript
public prefixStates(prefix?: string): StateMachineFragment
```
Prefix the IDs of all states in this state machine fragment.
Use this to avoid multiple copies of the state machine all having the
same state IDs.
###### `prefix`Optional
- *Type:* string
The prefix to add.
Will use construct ID by default.
---
##### `toSingleState`
```typescript
public toSingleState(options?: SingleStateOptions): Parallel
```
Wrap all states in this state machine fragment up into a single state.
This can be used to add retry or error handling onto this state
machine fragment.
Be aware that this changes the result of the inner state machine
to be an array with the result of the state machine in it. Adjust
your paths accordingly. For example, change 'outputPath' to
'$[0]'.
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.SingleStateOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { DocumentSplitter } from 'amazon-textract-idp-cdk-constructs'
DocumentSplitter.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| The states to chain onto if this fragment is used. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| The start state of this state machine fragment. |
| splitterFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
---
##### `splitterFunction`Required
```typescript
public readonly splitterFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### RDSAuroraServerless
#### Initializers
```typescript
import { RDSAuroraServerless } from 'amazon-textract-idp-cdk-constructs'
new RDSAuroraServerless(scope: Construct, id: string, props: RDSAuroraServerlessProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| RDSAuroraServerlessProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* RDSAuroraServerlessProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { RDSAuroraServerless } from 'amazon-textract-idp-cdk-constructs'
RDSAuroraServerless.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| props
| RDSAuroraServerlessProps
| *No description.* |
| auroraSecurityGroup
| aws-cdk-lib.aws_ec2.ISecurityGroup
| *No description.* |
| dbCluster
| aws-cdk-lib.aws_rds.IServerlessCluster
| *No description.* |
| lambdaSecurityGroup
| aws-cdk-lib.aws_ec2.ISecurityGroup
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `props`Required
```typescript
public readonly props: RDSAuroraServerlessProps;
```
- *Type:* RDSAuroraServerlessProps
---
##### `auroraSecurityGroup`Required
```typescript
public readonly auroraSecurityGroup: ISecurityGroup;
```
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
---
##### `dbCluster`Required
```typescript
public readonly dbCluster: IServerlessCluster;
```
- *Type:* aws-cdk-lib.aws_rds.IServerlessCluster
---
##### `lambdaSecurityGroup`Required
```typescript
public readonly lambdaSecurityGroup: ISecurityGroup;
```
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
---
### SearchablePDF
This construct takes in a JSON with two s3 Paths, s3TextractOutput, s3PDFBucket.
example s3Path:
{"s3TextractOutput": "s3://bucketname/prefix/1"}
{"s3PDFBucket": "s3://bucketname/prefix/document.pdf"}
```
#### Initializers
```typescript
import { SearchablePDF } from 'amazon-textract-idp-cdk-constructs'
new SearchablePDF(parent: Construct, id: string, props: SearchablePDFProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SearchablePDFProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SearchablePDFProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| next
| Continue normal execution with the given state. |
| prefixStates
| Prefix the IDs of all states in this state machine fragment. |
| toSingleState
| Wrap all states in this state machine fragment up into a single state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
##### `prefixStates`
```typescript
public prefixStates(prefix?: string): StateMachineFragment
```
Prefix the IDs of all states in this state machine fragment.
Use this to avoid multiple copies of the state machine all having the
same state IDs.
###### `prefix`Optional
- *Type:* string
The prefix to add.
Will use construct ID by default.
---
##### `toSingleState`
```typescript
public toSingleState(options?: SingleStateOptions): Parallel
```
Wrap all states in this state machine fragment up into a single state.
This can be used to add retry or error handling onto this state
machine fragment.
Be aware that this changes the result of the inner state machine
to be an array with the result of the state machine in it. Adjust
your paths accordingly. For example, change 'outputPath' to
'$[0]'.
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.SingleStateOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { SearchablePDF } from 'amazon-textract-idp-cdk-constructs'
SearchablePDF.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| The states to chain onto if this fragment is used. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| The start state of this state machine fragment. |
| searchablePDFFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
---
##### `searchablePDFFunction`Required
```typescript
public readonly searchablePDFFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### SFExecutionsStartThrottle
This construct starts State Machine executions based on events, but limits the number of concurrent running executions to a threshold number - S3 - API Gateway - SQS This version does not yet support passing in a manifest for configuration of Textract features.
That will be a future enhancement.
The following resources are created:
- Lambda function
- DynamoDB table. For every document pass in an entry in a DynamoDB table is created with a status (RECEIVED, QUEUED, IN_PROGRESS)
#### Initializers
```typescript
import { SFExecutionsStartThrottle } from 'amazon-textract-idp-cdk-constructs'
new SFExecutionsStartThrottle(parent: Construct, id: string, props: SFExecutionsStartThrottleProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SFExecutionsStartThrottleProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SFExecutionsStartThrottleProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { SFExecutionsStartThrottle } from 'amazon-textract-idp-cdk-constructs'
SFExecutionsStartThrottle.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| executionsQueueWorkerFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| executionsStartThrottleFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| executionsThrottleCounterResetFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| documentQueue
| aws-cdk-lib.aws_sqs.IQueue
| *No description.* |
| documentStatusTable
| aws-cdk-lib.aws_dynamodb.ITable
| *No description.* |
| executionsCounterTable
| aws-cdk-lib.aws_dynamodb.ITable
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `executionsQueueWorkerFunction`Required
```typescript
public readonly executionsQueueWorkerFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `executionsStartThrottleFunction`Required
```typescript
public readonly executionsStartThrottleFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `executionsThrottleCounterResetFunction`Required
```typescript
public readonly executionsThrottleCounterResetFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `documentQueue`Optional
```typescript
public readonly documentQueue: IQueue;
```
- *Type:* aws-cdk-lib.aws_sqs.IQueue
---
##### `documentStatusTable`Optional
```typescript
public readonly documentStatusTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
---
##### `executionsCounterTable`Optional
```typescript
public readonly executionsCounterTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
---
### SpacySfnTask
Deploys a Lambda Container with a Spacy NLP model to call textcat.
Input: "textract_result"."txt_output_location"
Output: { "documentType": "AWS_PAYSTUBS" } (example will be at "classification"."documentType")
Example (Python)
```python
spacy_classification_task = tcdk.SpacySfnTask(
self,
"Classification",
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
lambda_log_level="DEBUG",
timeout=Duration.hours(24),
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload,
}),
result_path="$.classification")
```
#### Initializers
```typescript
import { SpacySfnTask } from 'amazon-textract-idp-cdk-constructs'
new SpacySfnTask(scope: Construct, id: string, props: SpacySfnTaskProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SpacySfnTaskProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SpacySfnTaskProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { SpacySfnTask } from 'amazon-textract-idp-cdk-constructs'
SpacySfnTask.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { SpacySfnTask } from 'amazon-textract-idp-cdk-constructs'
SpacySfnTask.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { SpacySfnTask } from 'amazon-textract-idp-cdk-constructs'
SpacySfnTask.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { SpacySfnTask } from 'amazon-textract-idp-cdk-constructs'
SpacySfnTask.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { SpacySfnTask } from 'amazon-textract-idp-cdk-constructs'
SpacySfnTask.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| spacyCallFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| spacySyncLambdaLogGroup
| aws-cdk-lib.aws_logs.ILogGroup
| *No description.* |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.IStateMachine
| *No description.* |
| version
| string
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `spacyCallFunction`Required
```typescript
public readonly spacyCallFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `spacySyncLambdaLogGroup`Required
```typescript
public readonly spacySyncLambdaLogGroup: ILogGroup;
```
- *Type:* aws-cdk-lib.aws_logs.ILogGroup
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: IStateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine
---
##### `version`Required
```typescript
public readonly version: string;
```
- *Type:* string
---
### TextractA2ISfnTask
Calls and A2I endpoint arn with a task_token and waits for the A2I job to finish in order to continue the workflow.
Basic implementation
Input: "Payload"."a2iInputPath"
Output:
```json
{
'humanLoopStatus': human_loop_status,
'humanLoopResultPath': human_loop_result,
'humanLoopCreationTime': human_loop_creation_time,
}
```
```python
textract_a2i_task = tcdk.TextractA2ISfnTask(
self,
"TextractA2I",
a2i_flow_definition_arn=
"arn:aws:sagemaker:us-east-1:913165245630:flow-definition/textract-classifiction",
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
lambda_log_level="DEBUG",
timeout=Duration.hours(24),
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload,
}),
result_path="$.a2i_result")
```
#### Initializers
```typescript
import { TextractA2ISfnTask } from 'amazon-textract-idp-cdk-constructs'
new TextractA2ISfnTask(scope: Construct, id: string, props: TextractA2ISfnTaskProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractA2ISfnTaskProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractA2ISfnTaskProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractA2ISfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractA2ISfnTask.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { TextractA2ISfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractA2ISfnTask.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { TextractA2ISfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractA2ISfnTask.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { TextractA2ISfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractA2ISfnTask.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { TextractA2ISfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractA2ISfnTask.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.IStateMachine
| *No description.* |
| taskTokenTableName
| string
| *No description.* |
| version
| string
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: IStateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine
---
##### `taskTokenTableName`Required
```typescript
public readonly taskTokenTableName: string;
```
- *Type:* string
---
##### `version`Required
```typescript
public readonly version: string;
```
- *Type:* string
---
### TextractAsyncToJSON
combines the potentially paginated response from async Textract calls and stores as one combines JSON.
This construct is not memory optimzed (yet) and will combine all JSON by loading them to memory.
Large responses could exceed the memory potentially, the memory size is set to Lambda max.
Reduce the memory size to your needs if your processing does not yield large responses to save Lamda cost.
Input: "textract_result"."TextractTempOutputJsonPath"
Output: "TextractOutputJsonPath"
Example (Python)
```python
textract_async_to_json = tcdk.TextractAsyncToJSON(
self,
"TextractAsyncToJSON2",
s3_output_prefix=s3_output_prefix,
s3_output_bucket=s3_output_bucket)
```
#### Initializers
```typescript
import { TextractAsyncToJSON } from 'amazon-textract-idp-cdk-constructs'
new TextractAsyncToJSON(parent: Construct, id: string, props: TextractAsyncToJSONProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractAsyncToJSONProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractAsyncToJSONProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| next
| Continue normal execution with the given state. |
| prefixStates
| Prefix the IDs of all states in this state machine fragment. |
| toSingleState
| Wrap all states in this state machine fragment up into a single state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
##### `prefixStates`
```typescript
public prefixStates(prefix?: string): StateMachineFragment
```
Prefix the IDs of all states in this state machine fragment.
Use this to avoid multiple copies of the state machine all having the
same state IDs.
###### `prefix`Optional
- *Type:* string
The prefix to add.
Will use construct ID by default.
---
##### `toSingleState`
```typescript
public toSingleState(options?: SingleStateOptions): Parallel
```
Wrap all states in this state machine fragment up into a single state.
This can be used to add retry or error handling onto this state
machine fragment.
Be aware that this changes the result of the inner state machine
to be an array with the result of the state machine in it. Adjust
your paths accordingly. For example, change 'outputPath' to
'$[0]'.
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.SingleStateOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractAsyncToJSON } from 'amazon-textract-idp-cdk-constructs'
TextractAsyncToJSON.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| The states to chain onto if this fragment is used. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| The start state of this state machine fragment. |
| asyncToJSONFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
---
##### `asyncToJSONFunction`Required
```typescript
public readonly asyncToJSONFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### TextractClassificationConfigurator
Looks for a matching DOCYMENT_TYPE in the configurationTableName and sets the CONFIG value (when found) to the context, so subsequent calls to Textract use those values.
This is an entry from the default config
AWS_PAYSTUBS,"{""queriesConfig"": [{""alias"": ""PAYSTUB_PERIOD_START_DATE"", ""text"": ""What is the Pay Period Start Date?""}, {""alias"": ""PAYSTUB_PERIOD_END_DATE"", ""text"": ""What is the Pay Period End Date?""}, {""alias"": ""PAYSTUB_PERIOD_PAY_DATE"", ""text"": ""What is the Pay Date?""}, {""alias"": ""PAYSTUB_PERIOD_EMPLOYEE_NAME"", ""text"": ""What is the Employee Name?""}, {""alias"": ""PAYSTUB_PERIOD_COMPANY_NAME"", ""text"": ""What is the company Name?""}, {""alias"": ""PAYSTUB_PERIOD_CURRENT_GROSS_PAY"", ""text"": ""What is the Current Gross Pay?""}, {""alias"": ""PAYSTUB_PERIOD_YTD_GROSS_PAY"", ""text"": ""What is the YTD Gross Pay?""}, {""alias"": ""PAYSTUB_PERIOD_REGULAR_HOURLY_RATE"", ""text"": ""What is the regular hourly rate?""}, {""alias"": ""PAYSTUB_PERIOD_HOLIDAY_RATE"", ""text"": ""What is the holiday rate?""}], ""textractFeatures"": [""QUERIES""]}"
So, if the "classification"."documentType" in the Step Function Input is AWS_PAYSTUBS
then it will set the queriesConfig in the manifest for the subsequent Textract Calls in the Step Function flow
Input: "classification"."documentType"
Output: config set to manifest
Example (Python)
```
configurator_task = tcdk.TextractClassificationConfigurator(
self, f"{workflow_name}-Configurator",
)
```
#### Initializers
```typescript
import { TextractClassificationConfigurator } from 'amazon-textract-idp-cdk-constructs'
new TextractClassificationConfigurator(parent: Construct, id: string, props: TextractClassificationConfiguratorProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractClassificationConfiguratorProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractClassificationConfiguratorProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| next
| Continue normal execution with the given state. |
| prefixStates
| Prefix the IDs of all states in this state machine fragment. |
| toSingleState
| Wrap all states in this state machine fragment up into a single state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
##### `prefixStates`
```typescript
public prefixStates(prefix?: string): StateMachineFragment
```
Prefix the IDs of all states in this state machine fragment.
Use this to avoid multiple copies of the state machine all having the
same state IDs.
###### `prefix`Optional
- *Type:* string
The prefix to add.
Will use construct ID by default.
---
##### `toSingleState`
```typescript
public toSingleState(options?: SingleStateOptions): Parallel
```
Wrap all states in this state machine fragment up into a single state.
This can be used to add retry or error handling onto this state
machine fragment.
Be aware that this changes the result of the inner state machine
to be an array with the result of the state machine in it. Adjust
your paths accordingly. For example, change 'outputPath' to
'$[0]'.
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.SingleStateOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractClassificationConfigurator } from 'amazon-textract-idp-cdk-constructs'
TextractClassificationConfigurator.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| The states to chain onto if this fragment is used. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| The start state of this state machine fragment. |
| configurationTable
| aws-cdk-lib.aws_dynamodb.ITable
| *No description.* |
| configurationTableName
| string
| *No description.* |
| configuratorFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
---
##### `configurationTable`Required
```typescript
public readonly configurationTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
---
##### `configurationTableName`Required
```typescript
public readonly configurationTableName: string;
```
- *Type:* string
---
##### `configuratorFunction`Required
```typescript
public readonly configuratorFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### TextractGenerateCSV
Generates a output based on Textract Forms and Queries. Supported output_types: "LINES" | "CSV".
Input: "Payload"."textract_result"."TextractOutputJsonPath"
Output: "TextractOutputCSVPath" TODO: rename
Output as LINES
Example (Python)
```python
generate_text = tcdk.TextractGenerateCSV(
self,
"GenerateText",
csv_s3_output_bucket=document_bucket.bucket_name,
csv_s3_output_prefix=s3_txt_output_prefix,
output_type='LINES',
lambda_log_level="DEBUG",
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload,
}),
result_path="$.txt_output_location")
```
#### Initializers
```typescript
import { TextractGenerateCSV } from 'amazon-textract-idp-cdk-constructs'
new TextractGenerateCSV(scope: Construct, id: string, props: TextractGenerateCSVProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractGenerateCSVProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractGenerateCSVProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractGenerateCSV } from 'amazon-textract-idp-cdk-constructs'
TextractGenerateCSV.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { TextractGenerateCSV } from 'amazon-textract-idp-cdk-constructs'
TextractGenerateCSV.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { TextractGenerateCSV } from 'amazon-textract-idp-cdk-constructs'
TextractGenerateCSV.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { TextractGenerateCSV } from 'amazon-textract-idp-cdk-constructs'
TextractGenerateCSV.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { TextractGenerateCSV } from 'amazon-textract-idp-cdk-constructs'
TextractGenerateCSV.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| generateCSVLambda
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.StateMachine
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `generateCSVLambda`Required
```typescript
public readonly generateCSVLambda: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: StateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.StateMachine
---
### TextractGenericAsyncSfnTask
This Task calls the Textract through the asynchronous API.
Which API to call is defined in
When GENERIC is called with features in the manifest definition, will call the AnalzyeDocument API.
Takes the configuration from "Payload"."manifest"
Will retry on recoverable errors based on textractAsyncCallMaxRetries
errors for retry: ['ThrottlingException', 'LimitExceededException', 'InternalServerError', 'ProvisionedThroughputExceededException'],
Internally calls Start* calls with OutputConfig and SNSNotification.
Another Lambda functions waits for SNS Notification event and notifies the Step Function flow with the task token.
Step Function JSON input requirements
**Input**: "Payload"."manifest"
**Output**: "TextractTempOutputJsonPath" points to potentially paginated Textract JSON Schema output at "TextractTempOutputJsonPath" (using the example code it will be at: "textract_result"."TextractTempOutputJsonPath")
Works together with TextractAsyncToJSON, which takes the s3_output_bucket/s3_temp_output_prefix location as input
Example (Python)
```python
textract_async_task = tcdk.TextractGenericAsyncSfnTask(
self,
"TextractAsync",
s3_output_bucket=s3_output_bucket,
s3_temp_output_prefix=s3_temp_output_prefix,
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
lambda_log_level="DEBUG",
timeout=Duration.hours(24),
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload,
}),
result_path="$.textract_result")
```
#### Initializers
```typescript
import { TextractGenericAsyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
new TextractGenericAsyncSfnTask(scope: Construct, id: string, props: TextractGenericAsyncSfnTaskProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractGenericAsyncSfnTaskProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractGenericAsyncSfnTaskProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractGenericAsyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericAsyncSfnTask.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { TextractGenericAsyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericAsyncSfnTask.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { TextractGenericAsyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericAsyncSfnTask.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { TextractGenericAsyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericAsyncSfnTask.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { TextractGenericAsyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericAsyncSfnTask.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.IStateMachine
| *No description.* |
| taskTokenTable
| aws-cdk-lib.aws_dynamodb.ITable
| *No description.* |
| taskTokenTableName
| string
| *No description.* |
| textractAsyncCallFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| textractAsyncReceiveSNSFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| textractAsyncSNS
| aws-cdk-lib.aws_sns.ITopic
| *No description.* |
| textractAsyncSNSRole
| aws-cdk-lib.aws_iam.IRole
| *No description.* |
| asyncDurationMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| asyncJobFailureMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| asyncJobFinshedMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| asyncJobStartedMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| asyncNumberPagesMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| asyncNumberPagesSendMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: IStateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine
---
##### `taskTokenTable`Required
```typescript
public readonly taskTokenTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
---
##### `taskTokenTableName`Required
```typescript
public readonly taskTokenTableName: string;
```
- *Type:* string
---
##### `textractAsyncCallFunction`Required
```typescript
public readonly textractAsyncCallFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `textractAsyncReceiveSNSFunction`Required
```typescript
public readonly textractAsyncReceiveSNSFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `textractAsyncSNS`Required
```typescript
public readonly textractAsyncSNS: ITopic;
```
- *Type:* aws-cdk-lib.aws_sns.ITopic
---
##### `textractAsyncSNSRole`Required
```typescript
public readonly textractAsyncSNSRole: IRole;
```
- *Type:* aws-cdk-lib.aws_iam.IRole
---
##### `asyncDurationMetric`Optional
```typescript
public readonly asyncDurationMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `asyncJobFailureMetric`Optional
```typescript
public readonly asyncJobFailureMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `asyncJobFinshedMetric`Optional
```typescript
public readonly asyncJobFinshedMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `asyncJobStartedMetric`Optional
```typescript
public readonly asyncJobStartedMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `asyncNumberPagesMetric`Optional
```typescript
public readonly asyncNumberPagesMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `asyncNumberPagesSendMetric`Optional
```typescript
public readonly asyncNumberPagesSendMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
### TextractGenericSyncSfnTask
Calls Textract synchronous API.
Supports the Textract APIs: 'GENERIC' | 'ANALYZEID' | 'EXPENSE'
When GENERIC is called with features in the manifest definition, will call the AnalzyeDocument API.
Takes the configuration from "Payload"."manifest"
Will retry on recoverable errors based on textractAsyncCallMaxRetries
errors for retry: ['ThrottlingException', 'LimitExceededException', 'InternalServerError', 'ProvisionedThroughputExceededException'],
Input: "Payload"."manifest"
Output: Textract JSON Schema at s3_output_bucket/s3_output_prefix
Example (Python)
```python
textract_sync_task = tcdk.TextractGenericSyncSfnTask(
self,
"TextractSync",
s3_output_bucket=document_bucket.bucket_name,
s3_output_prefix=s3_output_prefix,
integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
lambda_log_level="DEBUG",
timeout=Duration.hours(24),
input=sfn.TaskInput.from_object({
"Token":
sfn.JsonPath.task_token,
"ExecutionId":
sfn.JsonPath.string_at('$$.Execution.Id'),
"Payload":
sfn.JsonPath.entire_payload,
}),
result_path="$.textract_result")
```
#### Initializers
```typescript
import { TextractGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
new TextractGenericSyncSfnTask(scope: Construct, id: string, props: TextractGenericSyncSfnTaskProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractGenericSyncSfnTaskProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractGenericSyncSfnTaskProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| addPrefix
| Add a prefix to the stateId of this state. |
| bindToGraph
| Register this state as part of the given graph. |
| toStateJson
| Return the Amazon States Language object for this state. |
| addCatch
| Add a recovery handler for this state. |
| addRetry
| Add retry configuration for this state. |
| metric
| Return the given named metric for this Task. |
| metricFailed
| Metric for the number of times this activity fails. |
| metricHeartbeatTimedOut
| Metric for the number of times the heartbeat times out for this activity. |
| metricRunTime
| The interval, in milliseconds, between the time the Task starts and the time it closes. |
| metricScheduled
| Metric for the number of times this activity is scheduled. |
| metricScheduleTime
| The interval, in milliseconds, for which the activity stays in the schedule state. |
| metricStarted
| Metric for the number of times this activity is started. |
| metricSucceeded
| Metric for the number of times this activity succeeds. |
| metricTime
| The interval, in milliseconds, between the time the activity is scheduled and the time it closes. |
| metricTimedOut
| Metric for the number of times this activity times out. |
| next
| Continue normal execution with the given state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addPrefix`
```typescript
public addPrefix(x: string): void
```
Add a prefix to the stateId of this state.
###### `x`Required
- *Type:* string
---
##### `bindToGraph`
```typescript
public bindToGraph(graph: StateGraph): void
```
Register this state as part of the given graph.
Don't call this. It will be called automatically when you work
with states normally.
###### `graph`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.StateGraph
---
##### `toStateJson`
```typescript
public toStateJson(): object
```
Return the Amazon States Language object for this state.
##### `addCatch`
```typescript
public addCatch(handler: IChainable, props?: CatchProps): TaskStateBase
```
Add a recovery handler for this state.
When a particular error occurs, execution will continue at the error
handler instead of failing the state machine execution.
###### `handler`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.CatchProps
---
##### `addRetry`
```typescript
public addRetry(props?: RetryProps): TaskStateBase
```
Add retry configuration for this state.
This controls if and how the execution will be retried if a particular
error occurs.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.RetryProps
---
##### `metric`
```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```
Return the given named metric for this Task.
###### `metricName`Required
- *Type:* string
---
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricFailed`
```typescript
public metricFailed(props?: MetricOptions): Metric
```
Metric for the number of times this activity fails.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricHeartbeatTimedOut`
```typescript
public metricHeartbeatTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times the heartbeat times out for this activity.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricRunTime`
```typescript
public metricRunTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the Task starts and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduled`
```typescript
public metricScheduled(props?: MetricOptions): Metric
```
Metric for the number of times this activity is scheduled.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricScheduleTime`
```typescript
public metricScheduleTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, for which the activity stays in the schedule state.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricStarted`
```typescript
public metricStarted(props?: MetricOptions): Metric
```
Metric for the number of times this activity is started.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricSucceeded`
```typescript
public metricSucceeded(props?: MetricOptions): Metric
```
Metric for the number of times this activity succeeds.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTime`
```typescript
public metricTime(props?: MetricOptions): Metric
```
The interval, in milliseconds, between the time the activity is scheduled and the time it closes.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `metricTimedOut`
```typescript
public metricTimedOut(props?: MetricOptions): Metric
```
Metric for the number of times this activity times out.
###### `props`Optional
- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions
---
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| filterNextables
| Return only the states that allow chaining from an array of states. |
| findReachableEndStates
| Find the set of end states states reachable through transitions from the given start state. |
| findReachableStates
| Find the set of states reachable through transitions from the given start state. |
| prefixStates
| Add a prefix to the stateId of all States found in a construct tree. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericSyncSfnTask.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `filterNextables`
```typescript
import { TextractGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericSyncSfnTask.filterNextables(states: State[])
```
Return only the states that allow chaining from an array of states.
###### `states`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State[]
---
##### `findReachableEndStates`
```typescript
import { TextractGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericSyncSfnTask.findReachableEndStates(start: State, options?: FindStateOptions)
```
Find the set of end states states reachable through transitions from the given start state.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `findReachableStates`
```typescript
import { TextractGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericSyncSfnTask.findReachableStates(start: State, options?: FindStateOptions)
```
Find the set of states reachable through transitions from the given start state.
This does not retrieve states from within sub-graphs, such as states within a Parallel state's branch.
###### `start`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.State
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.FindStateOptions
---
##### `prefixStates`
```typescript
import { TextractGenericSyncSfnTask } from 'amazon-textract-idp-cdk-constructs'
TextractGenericSyncSfnTask.prefixStates(root: IConstruct, prefix: string)
```
Add a prefix to the stateId of all States found in a construct tree.
###### `root`Required
- *Type:* constructs.IConstruct
---
###### `prefix`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| Continuable states of this Chainable. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| First state of this Chainable. |
| stateId
| string
| Tokenized string that evaluates to the state's ID. |
| stateMachine
| aws-cdk-lib.aws_stepfunctions.IStateMachine
| *No description.* |
| textractSyncCallFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| version
| string
| *No description.* |
| syncDurationMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| syncNumberPagesMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| syncNumberPagesSendMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
| syncTimedOutMetric
| aws-cdk-lib.aws_cloudwatch.IMetric
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
Continuable states of this Chainable.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
First state of this Chainable.
---
##### `stateId`Required
```typescript
public readonly stateId: string;
```
- *Type:* string
Tokenized string that evaluates to the state's ID.
---
##### `stateMachine`Required
```typescript
public readonly stateMachine: IStateMachine;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine
---
##### `textractSyncCallFunction`Required
```typescript
public readonly textractSyncCallFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `version`Required
```typescript
public readonly version: string;
```
- *Type:* string
---
##### `syncDurationMetric`Optional
```typescript
public readonly syncDurationMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `syncNumberPagesMetric`Optional
```typescript
public readonly syncNumberPagesMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `syncNumberPagesSendMetric`Optional
```typescript
public readonly syncNumberPagesSendMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
##### `syncTimedOutMetric`Optional
```typescript
public readonly syncTimedOutMetric: IMetric;
```
- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric
---
### TextractPdfMapperForFhir
This construct takes in a manifest definition or a plain JSON with a s3Path:.
example s3Path:
{"s3Path": "s3://bucketname/prefix/image.png"}
Then it generated the numberOfPages attribute and the mime on the context.
The mime types checked against the supported mime types for Textract and if fails, will raise an Exception failing the workflow.
Example (Python)
```python
decider_task_id = tcdk.TextractPOCDecider(
self,
f"InsuranceDecider",
)
```
#### Initializers
```typescript
import { TextractPdfMapperForFhir } from 'amazon-textract-idp-cdk-constructs'
new TextractPdfMapperForFhir(parent: Construct, id: string, props: TextractPdfMapperForFhirProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractPdfMapperForFhirProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractPdfMapperForFhirProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| next
| Continue normal execution with the given state. |
| prefixStates
| Prefix the IDs of all states in this state machine fragment. |
| toSingleState
| Wrap all states in this state machine fragment up into a single state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
##### `prefixStates`
```typescript
public prefixStates(prefix?: string): StateMachineFragment
```
Prefix the IDs of all states in this state machine fragment.
Use this to avoid multiple copies of the state machine all having the
same state IDs.
###### `prefix`Optional
- *Type:* string
The prefix to add.
Will use construct ID by default.
---
##### `toSingleState`
```typescript
public toSingleState(options?: SingleStateOptions): Parallel
```
Wrap all states in this state machine fragment up into a single state.
This can be used to add retry or error handling onto this state
machine fragment.
Be aware that this changes the result of the inner state machine
to be an array with the result of the state machine in it. Adjust
your paths accordingly. For example, change 'outputPath' to
'$[0]'.
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.SingleStateOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractPdfMapperForFhir } from 'amazon-textract-idp-cdk-constructs'
TextractPdfMapperForFhir.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| The states to chain onto if this fragment is used. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| The start state of this state machine fragment. |
| pdfMapperForFhirFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
---
##### `pdfMapperForFhirFunction`Required
```typescript
public readonly pdfMapperForFhirFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### TextractPOCDecider
This construct takes in a manifest definition or a plain JSON with a s3Path:.
example s3Path:
{"s3Path": "s3://bucketname/prefix/image.png"}
Then it generated the numberOfPages attribute and the mime on the context.
The mime types checked against the supported mime types for Textract and if fails, will raise an Exception failing the workflow.
Example (Python)
```python
decider_task_id = tcdk.TextractPOCDecider(
self,
f"InsuranceDecider",
)
```
#### Initializers
```typescript
import { TextractPOCDecider } from 'amazon-textract-idp-cdk-constructs'
new TextractPOCDecider(parent: Construct, id: string, props: TextractDPPOCDeciderProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| parent
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| TextractDPPOCDeciderProps
| *No description.* |
---
##### `parent`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* TextractDPPOCDeciderProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| next
| Continue normal execution with the given state. |
| prefixStates
| Prefix the IDs of all states in this state machine fragment. |
| toSingleState
| Wrap all states in this state machine fragment up into a single state. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `next`
```typescript
public next(next: IChainable): Chain
```
Continue normal execution with the given state.
###### `next`Required
- *Type:* aws-cdk-lib.aws_stepfunctions.IChainable
---
##### `prefixStates`
```typescript
public prefixStates(prefix?: string): StateMachineFragment
```
Prefix the IDs of all states in this state machine fragment.
Use this to avoid multiple copies of the state machine all having the
same state IDs.
###### `prefix`Optional
- *Type:* string
The prefix to add.
Will use construct ID by default.
---
##### `toSingleState`
```typescript
public toSingleState(options?: SingleStateOptions): Parallel
```
Wrap all states in this state machine fragment up into a single state.
This can be used to add retry or error handling onto this state
machine fragment.
Be aware that this changes the result of the inner state machine
to be an array with the result of the state machine in it. Adjust
your paths accordingly. For example, change 'outputPath' to
'$[0]'.
###### `options`Optional
- *Type:* aws-cdk-lib.aws_stepfunctions.SingleStateOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { TextractPOCDecider } from 'amazon-textract-idp-cdk-constructs'
TextractPOCDecider.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| endStates
| aws-cdk-lib.aws_stepfunctions.INextable[]
| The states to chain onto if this fragment is used. |
| id
| string
| Descriptive identifier for this chainable. |
| startState
| aws-cdk-lib.aws_stepfunctions.State
| The start state of this state machine fragment. |
| deciderFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `endStates`Required
```typescript
public readonly endStates: INextable[];
```
- *Type:* aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
---
##### `id`Required
```typescript
public readonly id: string;
```
- *Type:* string
Descriptive identifier for this chainable.
---
##### `startState`Required
```typescript
public readonly startState: State;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
---
##### `deciderFunction`Required
```typescript
public readonly deciderFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### WorkmailS3IngestionPoint
#### Initializers
```typescript
import { WorkmailS3IngestionPoint } from 'amazon-textract-idp-cdk-constructs'
new WorkmailS3IngestionPoint(scope: Construct, id: string, props: WorkmailS3IngestionPointProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| WorkmailS3IngestionPointProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* WorkmailS3IngestionPointProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
---
##### ~~`isConstruct`~~
```typescript
import { WorkmailS3IngestionPoint } from 'amazon-textract-idp-cdk-constructs'
WorkmailS3IngestionPoint.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| props
| WorkmailS3IngestionPointProps
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `props`Required
```typescript
public readonly props: WorkmailS3IngestionPointProps;
```
- *Type:* WorkmailS3IngestionPointProps
---
## Structs
### ComprehendGenericSyncSfnTaskProps
#### Initializer
```typescript
import { ComprehendGenericSyncSfnTaskProps } from 'amazon-textract-idp-cdk-constructs'
const comprehendGenericSyncSfnTaskProps: ComprehendGenericSyncSfnTaskProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| comprehendClassifierArn
| string
| *No description.* |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| comprehendAsyncCallBackoffRate
| number
| default is 1.1. |
| comprehendAsyncCallInterval
| number
| default is 1. |
| comprehendAsyncCallMaxRetries
| number
| *No description.* |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| *No description.* |
| lambdaMemory
| number
| Memory allocated to Lambda function, default 512. |
| lambdaTimeout
| number
| Lambda Function Timeout in seconds, default 300. |
| name
| string
| The name of the execution, same as that of StartExecution. |
| outputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| s3InputBucket
| string
| location of input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket. |
| s3OutputBucket
| string
| Bucketname to output data to. |
| s3OutputPrefix
| string
| The prefix to use for the temporary output files (e. |
| textractStateMachineTimeoutMinutes
| number
| how long can we wait for the process (default is 60 minutes). |
| workflowTracingEnabled
| boolean
| *No description.* |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `comprehendClassifierArn`Required
```typescript
public readonly comprehendClassifierArn: string;
```
- *Type:* string
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `comprehendAsyncCallBackoffRate`Optional
```typescript
public readonly comprehendAsyncCallBackoffRate: number;
```
- *Type:* number
default is 1.1.
---
##### `comprehendAsyncCallInterval`Optional
```typescript
public readonly comprehendAsyncCallInterval: number;
```
- *Type:* number
default is 1.
---
##### `comprehendAsyncCallMaxRetries`Optional
```typescript
public readonly comprehendAsyncCallMaxRetries: number;
```
- *Type:* number
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
---
##### `lambdaMemory`Optional
```typescript
public readonly lambdaMemory: number;
```
- *Type:* number
Memory allocated to Lambda function, default 512.
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda Function Timeout in seconds, default 300.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `outputPolicyStatements`Optional
```typescript
public readonly outputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
location of input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket.
---
##### `s3OutputBucket`Optional
```typescript
public readonly s3OutputBucket: string;
```
- *Type:* string
Bucketname to output data to.
---
##### `s3OutputPrefix`Optional
```typescript
public readonly s3OutputPrefix: string;
```
- *Type:* string
The prefix to use for the temporary output files (e.
g. output from async process before stiching together)
---
##### `textractStateMachineTimeoutMinutes`Optional
```typescript
public readonly textractStateMachineTimeoutMinutes: number;
```
- *Type:* number
how long can we wait for the process (default is 60 minutes).
---
##### `workflowTracingEnabled`Optional
```typescript
public readonly workflowTracingEnabled: boolean;
```
- *Type:* boolean
---
### CSVToAuroraTaskProps
#### Initializer
```typescript
import { CSVToAuroraTaskProps } from 'amazon-textract-idp-cdk-constructs'
const cSVToAuroraTaskProps: CSVToAuroraTaskProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| auroraSecurityGroup
| aws-cdk-lib.aws_ec2.ISecurityGroup
| auroraSecurity Group for Cluster. |
| csvToAuroraBackoffRate
| number
| default is 1.1. |
| csvToAuroraInterval
| number
| default is 1. |
| csvToAuroraMaxRetries
| number
| *No description.* |
| dbCluster
| aws-cdk-lib.aws_rds.IServerlessCluster
| DBCluster to import into. |
| enableCloudWatchMetricsAndDashboard
| boolean
| enable CloudWatch Metrics and Dashboard. |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| lambdaLogLevel
| string
| *No description.* |
| lambdaMemory
| number
| Memory allocated to Lambda function, default 512. |
| lambdaSecurityGroup
| aws-cdk-lib.aws_ec2.ISecurityGroup
| lambdaSecurity Group for Cluster. |
| lambdaTimeout
| number
| Lambda Function Timeout in seconds, default 300. |
| name
| string
| The name of the execution, same as that of StartExecution. |
| textractStateMachineTimeoutMinutes
| number
| *No description.* |
| vpc
| aws-cdk-lib.aws_ec2.IVpc
| VPC to install the database into, optional if dbCluster is passed in. |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `auroraSecurityGroup`Optional
```typescript
public readonly auroraSecurityGroup: ISecurityGroup;
```
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
auroraSecurity Group for Cluster.
---
##### `csvToAuroraBackoffRate`Optional
```typescript
public readonly csvToAuroraBackoffRate: number;
```
- *Type:* number
default is 1.1.
---
##### `csvToAuroraInterval`Optional
```typescript
public readonly csvToAuroraInterval: number;
```
- *Type:* number
default is 1.
---
##### `csvToAuroraMaxRetries`Optional
```typescript
public readonly csvToAuroraMaxRetries: number;
```
- *Type:* number
---
##### `dbCluster`Optional
```typescript
public readonly dbCluster: IServerlessCluster;
```
- *Type:* aws-cdk-lib.aws_rds.IServerlessCluster
DBCluster to import into.
---
##### `enableCloudWatchMetricsAndDashboard`Optional
```typescript
public readonly enableCloudWatchMetricsAndDashboard: boolean;
```
- *Type:* boolean
- *Default:* false
enable CloudWatch Metrics and Dashboard.
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
---
##### `lambdaMemory`Optional
```typescript
public readonly lambdaMemory: number;
```
- *Type:* number
Memory allocated to Lambda function, default 512.
---
##### `lambdaSecurityGroup`Optional
```typescript
public readonly lambdaSecurityGroup: ISecurityGroup;
```
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
lambdaSecurity Group for Cluster.
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda Function Timeout in seconds, default 300.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `textractStateMachineTimeoutMinutes`Optional
```typescript
public readonly textractStateMachineTimeoutMinutes: number;
```
- *Type:* number
---
##### `vpc`Optional
```typescript
public readonly vpc: IVpc;
```
- *Type:* aws-cdk-lib.aws_ec2.IVpc
VPC to install the database into, optional if dbCluster is passed in.
---
### DocumentSplitterProps
#### Initializer
```typescript
import { DocumentSplitterProps } from 'amazon-textract-idp-cdk-constructs'
const documentSplitterProps: DocumentSplitterProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| s3OutputBucket
| string
| Bucketname to output data to. |
| s3OutputPrefix
| string
| The prefix to use to output files to. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| Lambda log level. |
| lambdaMemoryMB
| number
| Lambda function memory configuration (may need to increase for larger documents). |
| lambdaTimeout
| number
| Lambda function timeout (may need to increase for larger documents). |
| maxNumberOfPagesPerDoc
| number
| *No description.* |
| outputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| s3InputBucket
| string
| location of input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket. |
| textractDocumentSplitterBackoffRate
| number
| retyr backoff rate. |
| textractDocumentSplitterInterval
| number
| *No description.* |
| textractDocumentSplitterMaxRetries
| number
| number of retries in Step Function flow. |
---
##### `s3OutputBucket`Required
```typescript
public readonly s3OutputBucket: string;
```
- *Type:* string
Bucketname to output data to.
---
##### `s3OutputPrefix`Required
```typescript
public readonly s3OutputPrefix: string;
```
- *Type:* string
The prefix to use to output files to.
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
Lambda log level.
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
Lambda function memory configuration (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda function timeout (may need to increase for larger documents).
---
##### `maxNumberOfPagesPerDoc`Optional
```typescript
public readonly maxNumberOfPagesPerDoc: number;
```
- *Type:* number
---
##### `outputPolicyStatements`Optional
```typescript
public readonly outputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
location of input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket.
---
##### `textractDocumentSplitterBackoffRate`Optional
```typescript
public readonly textractDocumentSplitterBackoffRate: number;
```
- *Type:* number
- *Default:* is 1.1
retyr backoff rate.
---
##### `textractDocumentSplitterInterval`Optional
```typescript
public readonly textractDocumentSplitterInterval: number;
```
- *Type:* number
---
##### `textractDocumentSplitterMaxRetries`Optional
```typescript
public readonly textractDocumentSplitterMaxRetries: number;
```
- *Type:* number
- *Default:* is 100
number of retries in Step Function flow.
---
### RDSAuroraServerlessProps
#### Initializer
```typescript
import { RDSAuroraServerlessProps } from 'amazon-textract-idp-cdk-constructs'
const rDSAuroraServerlessProps: RDSAuroraServerlessProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| vpc
| aws-cdk-lib.aws_ec2.IVpc
| VPC to install the database into. |
---
##### `vpc`Required
```typescript
public readonly vpc: IVpc;
```
- *Type:* aws-cdk-lib.aws_ec2.IVpc
VPC to install the database into.
---
### SearchablePDFProps
#### Initializer
```typescript
import { SearchablePDFProps } from 'amazon-textract-idp-cdk-constructs'
const searchablePDFProps: SearchablePDFProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function for S3 GET and LIST. |
| lambdaMemoryMB
| number
| memory of Lambda function (may need to increase for larger documents). |
| lambdaTimeout
| number
| *No description.* |
| s3InputPrefix
| string
| prefix for the incoming document. |
| s3PDFBucket
| string
| *No description.* |
| s3TextractOutputBucket
| string
| *No description.* |
| searchablePDFFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function for S3 GET and LIST.
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for the incoming document.
Will be used to create role
---
##### `s3PDFBucket`Optional
```typescript
public readonly s3PDFBucket: string;
```
- *Type:* string
---
##### `s3TextractOutputBucket`Optional
```typescript
public readonly s3TextractOutputBucket: string;
```
- *Type:* string
---
##### `searchablePDFFunction`Optional
```typescript
public readonly searchablePDFFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
### SFExecutionsStartThrottleProps
#### Initializer
```typescript
import { SFExecutionsStartThrottleProps } from 'amazon-textract-idp-cdk-constructs'
const sFExecutionsStartThrottleProps: SFExecutionsStartThrottleProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| stateMachineArn
| string
| State Machine ARN. |
| documentStatusTable
| aws-cdk-lib.aws_dynamodb.ITable
| Status table - DynamoDB table with status information for the document execution. |
| eventSource
| aws-cdk-lib.aws_lambda.IEventSource[]
| List of PolicyStatements to attach to the Lambda function. |
| executionsConcurrencyThreshold
| number
| Executions concurrency, default is 100 should be set to whatever the bottleneck of the workflow is For Textract Asynchronous APIs, that would be the number of concurrent jobs that can be processed For Textract Synchronous APIs, that would be the TPS for the API. |
| executionsCounterTable
| aws-cdk-lib.aws_dynamodb.ITable
| Step Functions Executions Counter - DynamoDB table with current count of executions. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| log level for Lambda function, supports DEBUG\|INFO\|WARNING\|ERROR\|FATAL. |
| lambdaMemory
| number
| Memory allocated to Lambda function, default 512. |
| lambdaQueueWorkerLogLevel
| string
| log level for Lambda function, supports DEBUG\|INFO\|WARNING\|ERROR\|FATAL. |
| lambdaQueueWorkerMemory
| number
| Memory allocated to Lambda function, default 512. |
| lambdaQueueWorkerTimeout
| number
| Lambda Function Timeout in seconds, default 300. |
| lambdaTimeout
| number
| Lambda Function Timeout in seconds, default 300. |
| s3InputBucket
| string
| Bucketname and prefix to read document from /** location of input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket. |
| sqsBatch
| number
| SQS Batch size when catchup up on queued documents (max 10, which is also the default). |
---
##### `stateMachineArn`Required
```typescript
public readonly stateMachineArn: string;
```
- *Type:* string
State Machine ARN.
---
##### `documentStatusTable`Optional
```typescript
public readonly documentStatusTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
Status table - DynamoDB table with status information for the document execution.
---
##### `eventSource`Optional
```typescript
public readonly eventSource: IEventSource[];
```
- *Type:* aws-cdk-lib.aws_lambda.IEventSource[]
List of PolicyStatements to attach to the Lambda function.
---
##### `executionsConcurrencyThreshold`Optional
```typescript
public readonly executionsConcurrencyThreshold: number;
```
- *Type:* number
Executions concurrency, default is 100 should be set to whatever the bottleneck of the workflow is For Textract Asynchronous APIs, that would be the number of concurrent jobs that can be processed For Textract Synchronous APIs, that would be the TPS for the API.
---
##### `executionsCounterTable`Optional
```typescript
public readonly executionsCounterTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
Step Functions Executions Counter - DynamoDB table with current count of executions.
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
- *Default:* = DEBUG
log level for Lambda function, supports DEBUG|INFO|WARNING|ERROR|FATAL.
---
##### `lambdaMemory`Optional
```typescript
public readonly lambdaMemory: number;
```
- *Type:* number
Memory allocated to Lambda function, default 512.
---
##### `lambdaQueueWorkerLogLevel`Optional
```typescript
public readonly lambdaQueueWorkerLogLevel: string;
```
- *Type:* string
- *Default:* = DEBUG
log level for Lambda function, supports DEBUG|INFO|WARNING|ERROR|FATAL.
---
##### `lambdaQueueWorkerMemory`Optional
```typescript
public readonly lambdaQueueWorkerMemory: number;
```
- *Type:* number
Memory allocated to Lambda function, default 512.
---
##### `lambdaQueueWorkerTimeout`Optional
```typescript
public readonly lambdaQueueWorkerTimeout: number;
```
- *Type:* number
Lambda Function Timeout in seconds, default 300.
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda Function Timeout in seconds, default 300.
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
Bucketname and prefix to read document from /** location of input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket.
---
##### `sqsBatch`Optional
```typescript
public readonly sqsBatch: number;
```
- *Type:* number
SQS Batch size when catchup up on queued documents (max 10, which is also the default).
---
### SpacySfnTaskProps
#### Initializer
```typescript
import { SpacySfnTaskProps } from 'amazon-textract-idp-cdk-constructs'
const spacySfnTaskProps: SpacySfnTaskProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| dockerImageFunction
| aws-cdk-lib.aws_lambda.IFunction
| Docker Container (to use in DockerImageCode.from_ecr() call). |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| lambdaLogLevel
| string
| log level for Lambda function, supports DEBUG\|INFO\|WARNING\|ERROR\|FATAL. |
| name
| string
| The name of the execution, same as that of StartExecution. |
| spacyImageEcrRepository
| string
| ECR Container URI for Spacy classification. |
| spacyLambdaMemorySize
| number
| memorySize for Lambda function calling Spacy NLP, default is 4096 MB. |
| spacyLambdaTimeout
| number
| timeout for Lambda function calling Spacy NLP, default is 900 seconds. |
| textractStateMachineTimeoutMinutes
| number
| how long can we wait for the process (default is 48 hours (60*48=2880)). |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `dockerImageFunction`Optional
```typescript
public readonly dockerImageFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
Docker Container (to use in DockerImageCode.from_ecr() call).
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
log level for Lambda function, supports DEBUG|INFO|WARNING|ERROR|FATAL.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `spacyImageEcrRepository`Optional
```typescript
public readonly spacyImageEcrRepository: string;
```
- *Type:* string
ECR Container URI for Spacy classification.
---
##### `spacyLambdaMemorySize`Optional
```typescript
public readonly spacyLambdaMemorySize: number;
```
- *Type:* number
memorySize for Lambda function calling Spacy NLP, default is 4096 MB.
---
##### `spacyLambdaTimeout`Optional
```typescript
public readonly spacyLambdaTimeout: number;
```
- *Type:* number
timeout for Lambda function calling Spacy NLP, default is 900 seconds.
---
##### `textractStateMachineTimeoutMinutes`Optional
```typescript
public readonly textractStateMachineTimeoutMinutes: number;
```
- *Type:* number
how long can we wait for the process (default is 48 hours (60*48=2880)).
---
### TextractA2ISfnTaskProps
#### Initializer
```typescript
import { TextractA2ISfnTaskProps } from 'amazon-textract-idp-cdk-constructs'
const textractA2ISfnTaskProps: TextractA2ISfnTaskProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| a2iFlowDefinitionARN
| string
| *No description.* |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| lambdaLogLevel
| string
| *No description.* |
| name
| string
| The name of the execution, same as that of StartExecution. |
| taskTokenTableName
| string
| *No description.* |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `a2iFlowDefinitionARN`Required
```typescript
public readonly a2iFlowDefinitionARN: string;
```
- *Type:* string
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `taskTokenTableName`Optional
```typescript
public readonly taskTokenTableName: string;
```
- *Type:* string
---
### TextractAsyncToJSONProps
#### Initializer
```typescript
import { TextractAsyncToJSONProps } from 'amazon-textract-idp-cdk-constructs'
const textractAsyncToJSONProps: TextractAsyncToJSONProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| s3OutputBucket
| string
| Bucketname to output data to. |
| s3OutputPrefix
| string
| The prefix to use for the output files. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| log level for Lambda function, supports DEBUG\|INFO\|WARNING\|ERROR\|FATAL. |
| lambdaMemoryMB
| number
| memory of Lambda function (may need to increase for larger documents), set to 10240 (max) atm, decrease for smaller workloads. |
| lambdaTimeout
| number
| memory of Lambda function (may need to increase for larger documents). |
| outputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| s3InputBucket
| string
| *No description.* |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket. |
| textractAPI
| string
| Which Textract API was used to create the OutputConfig? |
| textractAsyncToJSONBackoffRate
| number
| retyr backoff rate. |
| textractAsyncToJSONInterval
| number
| *No description.* |
| textractAsyncToJSONMaxRetries
| number
| number of retries in Step Function flow. |
---
##### `s3OutputBucket`Required
```typescript
public readonly s3OutputBucket: string;
```
- *Type:* string
Bucketname to output data to.
---
##### `s3OutputPrefix`Required
```typescript
public readonly s3OutputPrefix: string;
```
- *Type:* string
The prefix to use for the output files.
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
log level for Lambda function, supports DEBUG|INFO|WARNING|ERROR|FATAL.
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents), set to 10240 (max) atm, decrease for smaller workloads.
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents).
---
##### `outputPolicyStatements`Optional
```typescript
public readonly outputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket.
---
##### `textractAPI`Optional
```typescript
public readonly textractAPI: string;
```
- *Type:* string
- *Default:* GENERIC
Which Textract API was used to create the OutputConfig?
GENERIC and LENDING are supported.
---
##### `textractAsyncToJSONBackoffRate`Optional
```typescript
public readonly textractAsyncToJSONBackoffRate: number;
```
- *Type:* number
- *Default:* is 1.1
retyr backoff rate.
---
##### `textractAsyncToJSONInterval`Optional
```typescript
public readonly textractAsyncToJSONInterval: number;
```
- *Type:* number
---
##### `textractAsyncToJSONMaxRetries`Optional
```typescript
public readonly textractAsyncToJSONMaxRetries: number;
```
- *Type:* number
- *Default:* is 100
number of retries in Step Function flow.
---
### TextractClassificationConfiguratorProps
#### Initializer
```typescript
import { TextractClassificationConfiguratorProps } from 'amazon-textract-idp-cdk-constructs'
const textractClassificationConfiguratorProps: TextractClassificationConfiguratorProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| configurationTable
| aws-cdk-lib.aws_dynamodb.ITable
| *No description.* |
| lambdaLogLevel
| string
| *No description.* |
| lambdaMemoryMB
| number
| memory of Lambda function (may need to increase for larger documents). |
| lambdaTimeout
| number
| *No description.* |
---
##### `configurationTable`Optional
```typescript
public readonly configurationTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
---
### TextractDPPOCDeciderProps
#### Initializer
```typescript
import { TextractDPPOCDeciderProps } from 'amazon-textract-idp-cdk-constructs'
const textractDPPOCDeciderProps: TextractDPPOCDeciderProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| deciderFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function for S3 GET and LIST. |
| lambdaMemoryMB
| number
| memory of Lambda function (may need to increase for larger documents). |
| lambdaTimeout
| number
| *No description.* |
| s3InputBucket
| string
| *No description.* |
| s3InputPrefix
| string
| prefix for the incoming document. |
| textractDeciderBackoffRate
| number
| retyr backoff rate. |
| textractDeciderInterval
| number
| *No description.* |
| textractDeciderMaxRetries
| number
| number of retries in Step Function flow. |
---
##### `deciderFunction`Optional
```typescript
public readonly deciderFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function for S3 GET and LIST.
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for the incoming document.
Will be used to create role
---
##### `textractDeciderBackoffRate`Optional
```typescript
public readonly textractDeciderBackoffRate: number;
```
- *Type:* number
- *Default:* is 1.1
retyr backoff rate.
---
##### `textractDeciderInterval`Optional
```typescript
public readonly textractDeciderInterval: number;
```
- *Type:* number
---
##### `textractDeciderMaxRetries`Optional
```typescript
public readonly textractDeciderMaxRetries: number;
```
- *Type:* number
- *Default:* is 100
number of retries in Step Function flow.
---
### TextractGenerateCSVProps
#### Initializer
```typescript
import { TextractGenerateCSVProps } from 'amazon-textract-idp-cdk-constructs'
const textractGenerateCSVProps: TextractGenerateCSVProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| csvS3OutputBucket
| string
| *No description.* |
| csvS3OutputPrefix
| string
| *No description.* |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| *No description.* |
| lambdaMemoryMB
| number
| memory of Lambda function (may need to increase for larger documents). |
| lambdaTimeout
| number
| *No description.* |
| metaDataToAppend
| string[]
| The generated CSV can have any meta-data from the manifest file included. |
| name
| string
| The name of the execution, same as that of StartExecution. |
| opensearchIndexName
| string
| *No description.* |
| outputFeatures
| string
| supports FORMS, TABLES, QUERIES, SIGNATURES as a comma seperated string and generates CSV files for the output from those default is "FORMS,TABLES,QUERIES,SIGNATURES". |
| outputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| outputType
| string
| *No description.* |
| s3InputBucket
| string
| Bucketname and prefix to read document from /** location of input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket. |
| textractAPI
| string
| *No description.* |
| textractGenerateCSVBackoffRate
| number
| retyr backoff rate. |
| textractGenerateCSVInterval
| number
| *No description.* |
| textractGenerateCSVMaxRetries
| number
| number of retries in Step Function flow. |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `csvS3OutputBucket`Required
```typescript
public readonly csvS3OutputBucket: string;
```
- *Type:* string
---
##### `csvS3OutputPrefix`Required
```typescript
public readonly csvS3OutputPrefix: string;
```
- *Type:* string
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
---
##### `metaDataToAppend`Optional
```typescript
public readonly metaDataToAppend: string[];
```
- *Type:* string[]
The generated CSV can have any meta-data from the manifest file included.
This is a list of all meta-data names to include
If they are missed they will be ""
MetaData keys have to be without ','
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `opensearchIndexName`Optional
```typescript
public readonly opensearchIndexName: string;
```
- *Type:* string
---
##### `outputFeatures`Optional
```typescript
public readonly outputFeatures: string;
```
- *Type:* string
supports FORMS, TABLES, QUERIES, SIGNATURES as a comma seperated string and generates CSV files for the output from those default is "FORMS,TABLES,QUERIES,SIGNATURES".
---
##### `outputPolicyStatements`Optional
```typescript
public readonly outputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `outputType`Optional
```typescript
public readonly outputType: string;
```
- *Type:* string
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
Bucketname and prefix to read document from /** location of input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket.
---
##### `textractAPI`Optional
```typescript
public readonly textractAPI: string;
```
- *Type:* string
---
##### `textractGenerateCSVBackoffRate`Optional
```typescript
public readonly textractGenerateCSVBackoffRate: number;
```
- *Type:* number
- *Default:* is 1.1
retyr backoff rate.
---
##### `textractGenerateCSVInterval`Optional
```typescript
public readonly textractGenerateCSVInterval: number;
```
- *Type:* number
---
##### `textractGenerateCSVMaxRetries`Optional
```typescript
public readonly textractGenerateCSVMaxRetries: number;
```
- *Type:* number
- *Default:* is 100
number of retries in Step Function flow.
---
### TextractGenericAsyncSfnTaskProps
#### Initializer
```typescript
import { TextractGenericAsyncSfnTaskProps } from 'amazon-textract-idp-cdk-constructs'
const textractGenericAsyncSfnTaskProps: TextractGenericAsyncSfnTaskProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| s3OutputBucket
| string
| Bucketname to output data to. |
| s3TempOutputPrefix
| string
| The prefix to use for the temporary output files (e. |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| enableCloudWatchMetricsAndDashboard
| boolean
| *No description.* |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| log level for Lambda function, supports DEBUG\|INFO\|WARNING\|ERROR\|FATAL. |
| lambdaMemory
| number
| Memory allocated to Lambda function, default 512. |
| lambdaTimeout
| number
| Lambda Function Timeout in seconds, default 300. |
| name
| string
| The name of the execution, same as that of StartExecution. |
| outputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| s3InputBucket
| string
| Bucketname and prefix to read document from /** location of input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket. |
| snsRoleTextract
| aws-cdk-lib.aws_iam.IRole
| IAM Role to assign to Textract, by default new iam.Role(this, 'TextractAsyncSNSRole', { assumedBy: new iam.ServicePrincipal('textract.amazonaws.com'), managedPolicies: [ManagedPolicy.fromAwsManagedPolicyName('AmazonSQSFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonSNSFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonS3ReadOnlyAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonTextractFullAccess')], }); |
| taskTokenTable
| aws-cdk-lib.aws_dynamodb.ITable
| task token table to use for mapping of Textract [JobTag](https://docs.aws.amazon.com/textract/latest/dg/API_StartDocumentTextDetection.html#Textract-StartDocumentTextDetection-request-JobTag) to the [TaskToken](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html). |
| textractAPI
| string
| Which Textract API to call ALL asynchronous Textract API calls are supported. Valid values are GENERIC \| EXPENSE \| LENDING. |
| textractAsyncCallBackoffRate
| number
| retyr backoff rate. |
| textractAsyncCallInterval
| number
| time in seconds to wait before next retry. |
| textractAsyncCallMaxRetries
| number
| number of retries in Step Function flow. |
| textractStateMachineTimeoutMinutes
| number
| how long can we wait for the process. |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `s3OutputBucket`Required
```typescript
public readonly s3OutputBucket: string;
```
- *Type:* string
Bucketname to output data to.
---
##### `s3TempOutputPrefix`Required
```typescript
public readonly s3TempOutputPrefix: string;
```
- *Type:* string
The prefix to use for the temporary output files (e.
g. output from async process before stiching together)
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `enableCloudWatchMetricsAndDashboard`Optional
```typescript
public readonly enableCloudWatchMetricsAndDashboard: boolean;
```
- *Type:* boolean
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
- *Default:* = DEBUG
log level for Lambda function, supports DEBUG|INFO|WARNING|ERROR|FATAL.
---
##### `lambdaMemory`Optional
```typescript
public readonly lambdaMemory: number;
```
- *Type:* number
Memory allocated to Lambda function, default 512.
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda Function Timeout in seconds, default 300.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `outputPolicyStatements`Optional
```typescript
public readonly outputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
Bucketname and prefix to read document from /** location of input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all in bucket.
---
##### `snsRoleTextract`Optional
```typescript
public readonly snsRoleTextract: IRole;
```
- *Type:* aws-cdk-lib.aws_iam.IRole
IAM Role to assign to Textract, by default new iam.Role(this, 'TextractAsyncSNSRole', { assumedBy: new iam.ServicePrincipal('textract.amazonaws.com'), managedPolicies: [ManagedPolicy.fromAwsManagedPolicyName('AmazonSQSFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonSNSFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonS3ReadOnlyAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonTextractFullAccess')], });
---
##### `taskTokenTable`Optional
```typescript
public readonly taskTokenTable: ITable;
```
- *Type:* aws-cdk-lib.aws_dynamodb.ITable
task token table to use for mapping of Textract [JobTag](https://docs.aws.amazon.com/textract/latest/dg/API_StartDocumentTextDetection.html#Textract-StartDocumentTextDetection-request-JobTag) to the [TaskToken](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html).
---
##### `textractAPI`Optional
```typescript
public readonly textractAPI: string;
```
- *Type:* string
- *Default:* GENERIC
Which Textract API to call ALL asynchronous Textract API calls are supported. Valid values are GENERIC | EXPENSE | LENDING.
For GENERIC, when called without features (e. g. FORMS, TABLES, QUERIES, SIGNATURE), StartDetectText is called and only OCR is returned.
For GENERIC, when called with a feature (e. g. FORMS, TABLES, QUERIES, SIGNATURE), StartAnalyzeDocument is called.
---
##### `textractAsyncCallBackoffRate`Optional
```typescript
public readonly textractAsyncCallBackoffRate: number;
```
- *Type:* number
- *Default:* is 1.1
retyr backoff rate.
---
##### `textractAsyncCallInterval`Optional
```typescript
public readonly textractAsyncCallInterval: number;
```
- *Type:* number
- *Default:* is 1
time in seconds to wait before next retry.
---
##### `textractAsyncCallMaxRetries`Optional
```typescript
public readonly textractAsyncCallMaxRetries: number;
```
- *Type:* number
- *Default:* is 100
number of retries in Step Function flow.
---
##### `textractStateMachineTimeoutMinutes`Optional
```typescript
public readonly textractStateMachineTimeoutMinutes: number;
```
- *Type:* number
- *Default:* 2880 (48 hours (60 min * 48 hours = 2880))
how long can we wait for the process.
---
### TextractGenericSyncSfnTaskProps
#### Initializer
```typescript
import { TextractGenericSyncSfnTaskProps } from 'amazon-textract-idp-cdk-constructs'
const textractGenericSyncSfnTaskProps: TextractGenericSyncSfnTaskProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| comment
| string
| An optional description for this state. |
| heartbeat
| aws-cdk-lib.Duration
| Timeout for the heartbeat. |
| inputPath
| string
| JSONPath expression to select part of the state to be the input to this state. |
| integrationPattern
| aws-cdk-lib.aws_stepfunctions.IntegrationPattern
| AWS Step Functions integrates with services directly in the Amazon States Language. |
| outputPath
| string
| JSONPath expression to select select a portion of the state output to pass to the next state. |
| resultPath
| string
| JSONPath expression to indicate where to inject the state's output. |
| resultSelector
| {[ key: string ]: any}
| The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. |
| timeout
| aws-cdk-lib.Duration
| Timeout for the state machine. |
| s3OutputBucket
| string
| *No description.* |
| s3OutputPrefix
| string
| The prefix to use for the output files. |
| associateWithParent
| boolean
| Pass the execution ID from the context object to the execution input. |
| customFunction
| aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke
| not implemented yet. |
| enableCloudWatchMetricsAndDashboard
| boolean
| enable CloudWatch Metrics and Dashboard. |
| enableDashboard
| boolean
| not implemented yet. |
| enableMonitoring
| boolean
| not implemented yet. |
| input
| aws-cdk-lib.aws_stepfunctions.TaskInput
| The JSON input for the execution, same as that of StartExecution. |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| lambdaLogLevel
| string
| Log level, can be DEBUG, INFO, WARNING, ERROR, FATAL. |
| lambdaMemory
| number
| Memory allocated to Lambda function, default 512. |
| lambdaTimeout
| number
| Lambda Function Timeout in seconds, default 300. |
| name
| string
| The name of the execution, same as that of StartExecution. |
| outputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function. |
| s3InputBucket
| string
| location of input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| s3InputPrefix
| string
| prefix for input S3 objects - if left empty will generate rule for s3 access to all [*]. |
| textractAPI
| string
| *No description.* |
| textractAsyncCallBackoffRate
| number
| default is 1.1. |
| textractAsyncCallInterval
| number
| default is 1. |
| textractAsyncCallMaxRetries
| number
| *No description.* |
| textractStateMachineTimeoutMinutes
| number
| how long can we wait for the process (default is 48 hours (60*48=2880)). |
| workflowTracingEnabled
| boolean
| *No description.* |
---
##### `comment`Optional
```typescript
public readonly comment: string;
```
- *Type:* string
- *Default:* No comment
An optional description for this state.
---
##### `heartbeat`Optional
```typescript
public readonly heartbeat: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the heartbeat.
---
##### `inputPath`Optional
```typescript
public readonly inputPath: string;
```
- *Type:* string
- *Default:* The entire task input (JSON path '$')
JSONPath expression to select part of the state to be the input to this state.
May also be the special value JsonPath.DISCARD, which will cause the effective
input to be the empty object {}.
---
##### `integrationPattern`Optional
```typescript
public readonly integrationPattern: IntegrationPattern;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.IntegrationPattern
- *Default:* IntegrationPattern.REQUEST_RESPONSE
AWS Step Functions integrates with services directly in the Amazon States Language.
You can control these AWS services using service integration patterns
> [https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)
---
##### `outputPath`Optional
```typescript
public readonly outputPath: string;
```
- *Type:* string
- *Default:* The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
JSONPath expression to select select a portion of the state output to pass to the next state.
May also be the special value JsonPath.DISCARD, which will cause the effective
output to be the empty object {}.
---
##### `resultPath`Optional
```typescript
public readonly resultPath: string;
```
- *Type:* string
- *Default:* Replaces the entire input with the result (JSON path '$')
JSONPath expression to indicate where to inject the state's output.
May also be the special value JsonPath.DISCARD, which will cause the state's
input to become its output.
---
##### `resultSelector`Optional
```typescript
public readonly resultSelector: {[ key: string ]: any};
```
- *Type:* {[ key: string ]: any}
- *Default:* None
The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
You can use ResultSelector to create a payload with values that are static
or selected from the state's raw result.
> [https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector](https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector)
---
##### `timeout`Optional
```typescript
public readonly timeout: Duration;
```
- *Type:* aws-cdk-lib.Duration
- *Default:* None
Timeout for the state machine.
---
##### `s3OutputBucket`Required
```typescript
public readonly s3OutputBucket: string;
```
- *Type:* string
---
##### `s3OutputPrefix`Required
```typescript
public readonly s3OutputPrefix: string;
```
- *Type:* string
The prefix to use for the output files.
---
##### `associateWithParent`Optional
```typescript
public readonly associateWithParent: boolean;
```
- *Type:* boolean
- *Default:* false
Pass the execution ID from the context object to the execution input.
This allows the Step Functions UI to link child executions from parent executions, making it easier to trace execution flow across state machines.
If you set this property to `true`, the `input` property must be an object (provided by `sfn.TaskInput.fromObject`) or omitted entirely.
> [https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-nested-workflows.html#nested-execution-startid)
---
##### `customFunction`Optional
```typescript
public readonly customFunction: LambdaInvoke;
```
- *Type:* aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke
not implemented yet.
---
##### `enableCloudWatchMetricsAndDashboard`Optional
```typescript
public readonly enableCloudWatchMetricsAndDashboard: boolean;
```
- *Type:* boolean
- *Default:* false
enable CloudWatch Metrics and Dashboard.
---
##### `enableDashboard`Optional
```typescript
public readonly enableDashboard: boolean;
```
- *Type:* boolean
not implemented yet.
---
##### `enableMonitoring`Optional
```typescript
public readonly enableMonitoring: boolean;
```
- *Type:* boolean
not implemented yet.
---
##### `input`Optional
```typescript
public readonly input: TaskInput;
```
- *Type:* aws-cdk-lib.aws_stepfunctions.TaskInput
- *Default:* The state input (JSON path '$')
The JSON input for the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
Log level, can be DEBUG, INFO, WARNING, ERROR, FATAL.
---
##### `lambdaMemory`Optional
```typescript
public readonly lambdaMemory: number;
```
- *Type:* number
Memory allocated to Lambda function, default 512.
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda Function Timeout in seconds, default 300.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
- *Default:* None
The name of the execution, same as that of StartExecution.
> [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)
---
##### `outputPolicyStatements`Optional
```typescript
public readonly outputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function.
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
location of input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for input S3 objects - if left empty will generate rule for s3 access to all [*].
---
##### `textractAPI`Optional
```typescript
public readonly textractAPI: string;
```
- *Type:* string
---
##### `textractAsyncCallBackoffRate`Optional
```typescript
public readonly textractAsyncCallBackoffRate: number;
```
- *Type:* number
default is 1.1.
---
##### `textractAsyncCallInterval`Optional
```typescript
public readonly textractAsyncCallInterval: number;
```
- *Type:* number
default is 1.
---
##### `textractAsyncCallMaxRetries`Optional
```typescript
public readonly textractAsyncCallMaxRetries: number;
```
- *Type:* number
---
##### `textractStateMachineTimeoutMinutes`Optional
```typescript
public readonly textractStateMachineTimeoutMinutes: number;
```
- *Type:* number
how long can we wait for the process (default is 48 hours (60*48=2880)).
---
##### `workflowTracingEnabled`Optional
```typescript
public readonly workflowTracingEnabled: boolean;
```
- *Type:* boolean
---
### TextractPdfMapperForFhirProps
#### Initializer
```typescript
import { TextractPdfMapperForFhirProps } from 'amazon-textract-idp-cdk-constructs'
const textractPdfMapperForFhirProps: TextractPdfMapperForFhirProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| healthlakeEndpoint
| string
| *No description.* |
| inputPolicyStatements
| aws-cdk-lib.aws_iam.PolicyStatement[]
| List of PolicyStatements to attach to the Lambda function for S3 GET and LIST. |
| lambdaLogLevel
| string
| *No description.* |
| lambdaMemoryMB
| number
| memory of Lambda function (may need to increase for larger documents). |
| lambdaTimeout
| number
| *No description.* |
| pdfMapperForFhirFunction
| aws-cdk-lib.aws_lambda.IFunction
| *No description.* |
| s3InputBucket
| string
| *No description.* |
| s3InputPrefix
| string
| prefix for the incoming document. |
---
##### `healthlakeEndpoint`Optional
```typescript
public readonly healthlakeEndpoint: string;
```
- *Type:* string
---
##### `inputPolicyStatements`Optional
```typescript
public readonly inputPolicyStatements: PolicyStatement[];
```
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement[]
List of PolicyStatements to attach to the Lambda function for S3 GET and LIST.
---
##### `lambdaLogLevel`Optional
```typescript
public readonly lambdaLogLevel: string;
```
- *Type:* string
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
memory of Lambda function (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
---
##### `pdfMapperForFhirFunction`Optional
```typescript
public readonly pdfMapperForFhirFunction: IFunction;
```
- *Type:* aws-cdk-lib.aws_lambda.IFunction
---
##### `s3InputBucket`Optional
```typescript
public readonly s3InputBucket: string;
```
- *Type:* string
---
##### `s3InputPrefix`Optional
```typescript
public readonly s3InputPrefix: string;
```
- *Type:* string
prefix for the incoming document.
Will be used to create role
---
### WorkmailS3IngestionPointProps
#### Initializer
```typescript
import { WorkmailS3IngestionPointProps } from 'amazon-textract-idp-cdk-constructs'
const workmailS3IngestionPointProps: WorkmailS3IngestionPointProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| s3OutputBucket
| string
| Bucket name to output data to. |
| s3OutputPrefix
| string
| The prefix to use to output files to. |
| workmailAccountNumber
| string
| Account number for WorkMail instance. |
| workmailRegion
| string
| Region where WorkMailail instance exists. |
| lambdaMemoryMB
| number
| Lambda function memory configuration (may need to increase for larger documents). |
| lambdaTimeout
| number
| Lambda function timeout (may need to increase for larger documents). |
---
##### `s3OutputBucket`Required
```typescript
public readonly s3OutputBucket: string;
```
- *Type:* string
Bucket name to output data to.
---
##### `s3OutputPrefix`Required
```typescript
public readonly s3OutputPrefix: string;
```
- *Type:* string
The prefix to use to output files to.
---
##### `workmailAccountNumber`Required
```typescript
public readonly workmailAccountNumber: string;
```
- *Type:* string
Account number for WorkMail instance.
---
##### `workmailRegion`Required
```typescript
public readonly workmailRegion: string;
```
- *Type:* string
Region where WorkMailail instance exists.
---
##### `lambdaMemoryMB`Optional
```typescript
public readonly lambdaMemoryMB: number;
```
- *Type:* number
Lambda function memory configuration (may need to increase for larger documents).
---
##### `lambdaTimeout`Optional
```typescript
public readonly lambdaTimeout: number;
```
- *Type:* number
Lambda function timeout (may need to increase for larger documents).
---