import { AcquireSemaphoreFragment } from 'cdk-concurrency-controller'
new AcquireSemaphoreFragment(scope: Construct, id: string, props: AcquireSemaphoreFragmentProps)
Name | Type | Description |
---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
AcquireSemaphoreFragmentProps |
No description. |
- Type: constructs.Construct
- Type: string
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. |
public toString(): string
Returns a string representation of this construct.
public next(next: IChainable): Chain
Continue normal execution with the given state.
- Type: aws-cdk-lib.aws_stepfunctions.IChainable
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.
- Type: string
The prefix to add.
Will use construct ID by default.
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]'.
- Type: aws-cdk-lib.aws_stepfunctions.SingleStateOptions
Name | Description |
---|---|
isConstruct |
Checks if x is a construct. |
import { AcquireSemaphoreFragment } from 'cdk-concurrency-controller'
AcquireSemaphoreFragment.isConstruct(x: any)
Checks if x
is a construct.
- Type: any
Any object.
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. |
public readonly node: Node;
- Type: constructs.Node
The tree node.
public readonly endStates: INextable[];
- Type: aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
public readonly id: string;
- Type: string
Descriptive identifier for this chainable.
public readonly startState: State;
- Type: aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
import { AcquireViaStartExecutionFragment } from 'cdk-concurrency-controller'
new AcquireViaStartExecutionFragment(scope: Construct, id: string, props: AcquireViaStartExecutionFragmentProps)
Name | Type | Description |
---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
AcquireViaStartExecutionFragmentProps |
No description. |
- Type: constructs.Construct
- Type: string
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. |
public toString(): string
Returns a string representation of this construct.
public next(next: IChainable): Chain
Continue normal execution with the given state.
- Type: aws-cdk-lib.aws_stepfunctions.IChainable
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.
- Type: string
The prefix to add.
Will use construct ID by default.
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]'.
- Type: aws-cdk-lib.aws_stepfunctions.SingleStateOptions
Name | Description |
---|---|
isConstruct |
Checks if x is a construct. |
import { AcquireViaStartExecutionFragment } from 'cdk-concurrency-controller'
AcquireViaStartExecutionFragment.isConstruct(x: any)
Checks if x
is a construct.
- Type: any
Any object.
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. |
public readonly node: Node;
- Type: constructs.Node
The tree node.
public readonly endStates: INextable[];
- Type: aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
public readonly id: string;
- Type: string
Descriptive identifier for this chainable.
public readonly startState: State;
- Type: aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
import { DistributedSemaphore } from 'cdk-concurrency-controller'
new DistributedSemaphore(scope: Construct, id: string, props?: DistributedSemaphoreProps)
Name | Type | Description |
---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
DistributedSemaphoreProps |
No description. |
- Type: constructs.Construct
- Type: string
Name | Description |
---|---|
toString |
Returns a string representation of this construct. |
acquire |
Acquire a permit for a limited resource. |
release |
Release the permit for the resource. |
public toString(): string
Returns a string representation of this construct.
public acquire(options?: AcquireOptions): StateMachineFragment
Acquire a permit for a limited resource.
- Type: AcquireOptions
use default semaphore if not specified.
public release(options?: ReleaseOptions): StateMachineFragment
Release the permit for the resource.
- Type: ReleaseOptions
use default semaphore if not specified.
Name | Description |
---|---|
isConstruct |
Checks if x is a construct. |
import { DistributedSemaphore } from 'cdk-concurrency-controller'
DistributedSemaphore.isConstruct(x: any)
Checks if x
is a construct.
- Type: any
Any object.
Name | Type | Description |
---|---|---|
node |
constructs.Node |
The tree node. |
acquireSemaphoreStateMachine |
aws-cdk-lib.aws_stepfunctions.IStateMachine |
No description. |
allSemaphores |
SemaphoreDefinition[] |
No description. |
cleanupSemaphoreStateMachine |
aws-cdk-lib.aws_stepfunctions.IStateMachine |
No description. |
defaultSemaphore |
SemaphoreDefinition |
No description. |
releaseSemaphoreStateMachine |
aws-cdk-lib.aws_stepfunctions.IStateMachine |
No description. |
semaphoreTable |
SemaphoreTableDefinition |
No description. |
public readonly node: Node;
- Type: constructs.Node
The tree node.
public readonly acquireSemaphoreStateMachine: IStateMachine;
- Type: aws-cdk-lib.aws_stepfunctions.IStateMachine
public readonly allSemaphores: SemaphoreDefinition[];
- Type: SemaphoreDefinition[]
public readonly cleanupSemaphoreStateMachine: IStateMachine;
- Type: aws-cdk-lib.aws_stepfunctions.IStateMachine
public readonly defaultSemaphore: SemaphoreDefinition;
- Type: SemaphoreDefinition
public readonly releaseSemaphoreStateMachine: IStateMachine;
- Type: aws-cdk-lib.aws_stepfunctions.IStateMachine
public readonly semaphoreTable: SemaphoreTableDefinition;
- Type: SemaphoreTableDefinition
import { ReleaseSemaphoreFragment } from 'cdk-concurrency-controller'
new ReleaseSemaphoreFragment(scope: Construct, id: string, props: ReleaseSemaphoreFragmentProps)
Name | Type | Description |
---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
ReleaseSemaphoreFragmentProps |
No description. |
- Type: constructs.Construct
- Type: string
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. |
public toString(): string
Returns a string representation of this construct.
public next(next: IChainable): Chain
Continue normal execution with the given state.
- Type: aws-cdk-lib.aws_stepfunctions.IChainable
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.
- Type: string
The prefix to add.
Will use construct ID by default.
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]'.
- Type: aws-cdk-lib.aws_stepfunctions.SingleStateOptions
Name | Description |
---|---|
isConstruct |
Checks if x is a construct. |
import { ReleaseSemaphoreFragment } from 'cdk-concurrency-controller'
ReleaseSemaphoreFragment.isConstruct(x: any)
Checks if x
is a construct.
- Type: any
Any object.
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. |
public readonly node: Node;
- Type: constructs.Node
The tree node.
public readonly endStates: INextable[];
- Type: aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
public readonly id: string;
- Type: string
Descriptive identifier for this chainable.
public readonly startState: State;
- Type: aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
import { ReleaseViaStartExecutionFragment } from 'cdk-concurrency-controller'
new ReleaseViaStartExecutionFragment(scope: Construct, id: string, props: ReleaseViaStartExecutionFragmentProps)
Name | Type | Description |
---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
ReleaseViaStartExecutionFragmentProps |
No description. |
- Type: constructs.Construct
- Type: string
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. |
public toString(): string
Returns a string representation of this construct.
public next(next: IChainable): Chain
Continue normal execution with the given state.
- Type: aws-cdk-lib.aws_stepfunctions.IChainable
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.
- Type: string
The prefix to add.
Will use construct ID by default.
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]'.
- Type: aws-cdk-lib.aws_stepfunctions.SingleStateOptions
Name | Description |
---|---|
isConstruct |
Checks if x is a construct. |
import { ReleaseViaStartExecutionFragment } from 'cdk-concurrency-controller'
ReleaseViaStartExecutionFragment.isConstruct(x: any)
Checks if x
is a construct.
- Type: any
Any object.
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. |
public readonly node: Node;
- Type: constructs.Node
The tree node.
public readonly endStates: INextable[];
- Type: aws-cdk-lib.aws_stepfunctions.INextable[]
The states to chain onto if this fragment is used.
public readonly id: string;
- Type: string
Descriptive identifier for this chainable.
public readonly startState: State;
- Type: aws-cdk-lib.aws_stepfunctions.State
The start state of this state machine fragment.
import { AcquireOptions } from 'cdk-concurrency-controller'
const acquireOptions: AcquireOptions = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
nextTryWaitTime |
string |
Wait a fixed amount of time (in second) for another try to acquire semaphore if not acquired in previous tries. |
timeout |
aws-cdk-lib.Duration |
Maximum run time for the execution. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.
public readonly nextTryWaitTime: string;
- Type: string
- Default: '3' seconds
Wait a fixed amount of time (in second) for another try to acquire semaphore if not acquired in previous tries.
public readonly timeout: Duration;
- Type: aws-cdk-lib.Duration
- Default: No timeout
Maximum run time for the execution.
import { AcquireSemaphoreFragmentProps } from 'cdk-concurrency-controller'
const acquireSemaphoreFragmentProps: AcquireSemaphoreFragmentProps = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
nextTryWaitTime |
string |
Wait a fixed amount of time (in second) for another try to acquire semaphore if not acquired in previous tries. |
limit |
string |
The value for concurrency control. |
semaphoreTable |
SemaphoreTableDefinition |
The DynamoDB table to use for the semaphore. |
retryStrategy |
aws-cdk-lib.aws_stepfunctions.RetryProps |
Retry strategy on Errors.ALL when releasing a semaphore use from the semaphore table. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.
public readonly nextTryWaitTime: string;
- Type: string
- Default: '3' seconds
Wait a fixed amount of time (in second) for another try to acquire semaphore if not acquired in previous tries.
public readonly limit: string;
- Type: string
The value for concurrency control.
public readonly semaphoreTable: SemaphoreTableDefinition;
- Type: SemaphoreTableDefinition
The DynamoDB table to use for the semaphore.
public readonly retryStrategy: RetryProps;
- Type: aws-cdk-lib.aws_stepfunctions.RetryProps
- Default: '{ interval: Duration.seconds(1), maxAttempts: 5, backoffRate: 1.5 }'
Retry strategy on Errors.ALL when releasing a semaphore use from the semaphore table.
NOTE: errors
property is always overridden to [Errors.ALL].
import { AcquireSemaphoreOptions } from 'cdk-concurrency-controller'
const acquireSemaphoreOptions: AcquireSemaphoreOptions = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
nextTryWaitTime |
string |
Wait a fixed amount of time (in second) for another try to acquire semaphore if not acquired in previous tries. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.
public readonly nextTryWaitTime: string;
- Type: string
- Default: '3' seconds
Wait a fixed amount of time (in second) for another try to acquire semaphore if not acquired in previous tries.
import { AcquireSemaphoreTaskInput } from 'cdk-concurrency-controller'
const acquireSemaphoreTaskInput: AcquireSemaphoreTaskInput = { ... }
Name | Type | Description |
---|---|---|
limit |
string |
No description. |
name |
string |
No description. |
nextTryWaitTime |
string |
No description. |
userId |
string |
No description. |
public readonly limit: string;
- Type: string
public readonly name: string;
- Type: string
public readonly nextTryWaitTime: string;
- Type: string
public readonly userId: string;
- Type: string
import { AcquireViaStartExecutionFragmentProps } from 'cdk-concurrency-controller'
const acquireViaStartExecutionFragmentProps: AcquireViaStartExecutionFragmentProps = { ... }
Name | Type | Description |
---|---|---|
timeout |
aws-cdk-lib.Duration |
Maximum run time for the execution. |
input |
AcquireSemaphoreTaskInput |
No description. |
stateMachine |
aws-cdk-lib.aws_stepfunctions.IStateMachine |
The Step Functions state machine to start the execution on. |
public readonly timeout: Duration;
- Type: aws-cdk-lib.Duration
- Default: No timeout
Maximum run time for the execution.
public readonly input: AcquireSemaphoreTaskInput;
public readonly stateMachine: IStateMachine;
- Type: aws-cdk-lib.aws_stepfunctions.IStateMachine
The Step Functions state machine to start the execution on.
import { DistributedSemaphoreProps } from 'cdk-concurrency-controller'
const distributedSemaphoreProps: DistributedSemaphoreProps = { ... }
Name | Type | Description |
---|---|---|
acquireSemaphoreStateMachineProps |
SemaphoreStateMachineProps |
No description. |
cleanupSemaphoreStateMachineProps |
SemaphoreStateMachineProps |
No description. |
defaultSemaphore |
SemaphoreDefinition |
The default semaphore settings. |
releaseSemaphoreStateMachineProps |
SemaphoreStateMachineProps |
No description. |
semaphores |
SemaphoreDefinition[] |
No description. |
public readonly acquireSemaphoreStateMachineProps: SemaphoreStateMachineProps;
public readonly cleanupSemaphoreStateMachineProps: SemaphoreStateMachineProps;
public readonly defaultSemaphore: SemaphoreDefinition;
- Type: SemaphoreDefinition
- Default: '{ name: "DefaultSemaphore", limit: "5" }'
The default semaphore settings.
It is used when no other pattern of semaphore applied. This can be used as a quick start when working with a single arbitrary resource.
NOTE: the default semaphore name cannot use JsonPath expression for the sake of a safe fallback.
public readonly releaseSemaphoreStateMachineProps: SemaphoreStateMachineProps;
public readonly semaphores: SemaphoreDefinition[];
- Type: SemaphoreDefinition[]
import { ReleaseOptions } from 'cdk-concurrency-controller'
const releaseOptions: ReleaseOptions = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
checkSemaphoreUseFirst |
boolean |
Check if the semaphore use exists before trying to release it. |
timeout |
aws-cdk-lib.Duration |
Maximum run time for the execution. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.
public readonly checkSemaphoreUseFirst: boolean;
- Type: boolean
- Default: false
Check if the semaphore use exists before trying to release it.
This can help to shift the load from write capacity to read capacity in case of missing semaphore use (best effort to avoid hot partitions and save write capacity for crucial actions), where DDB provides 3x throughput on read capacity than write capacity per partition. see more about hot partition: https://aws.amazon.com/premiumsupport/knowledge-center/dynamodb-table-throttled/#You_have_a_hot_partition_in_your_table
public readonly timeout: Duration;
- Type: aws-cdk-lib.Duration
- Default: No timeout
Maximum run time for the execution.
import { ReleaseSemaphoreFragmentProps } from 'cdk-concurrency-controller'
const releaseSemaphoreFragmentProps: ReleaseSemaphoreFragmentProps = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
checkSemaphoreUseFirst |
boolean |
Check if the semaphore use exists before trying to release it. |
semaphoreTable |
SemaphoreTableDefinition |
The DynamoDB table to use for the semaphore. |
retryStrategy |
aws-cdk-lib.aws_stepfunctions.RetryProps |
Retry strategy on Errors.ALL when releasing a semaphore use from the semaphore table. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.
public readonly checkSemaphoreUseFirst: boolean;
- Type: boolean
- Default: false
Check if the semaphore use exists before trying to release it.
This can help to shift the load from write capacity to read capacity in case of missing semaphore use (best effort to avoid hot partitions and save write capacity for crucial actions), where DDB provides 3x throughput on read capacity than write capacity per partition. see more about hot partition: https://aws.amazon.com/premiumsupport/knowledge-center/dynamodb-table-throttled/#You_have_a_hot_partition_in_your_table
public readonly semaphoreTable: SemaphoreTableDefinition;
- Type: SemaphoreTableDefinition
The DynamoDB table to use for the semaphore.
public readonly retryStrategy: RetryProps;
- Type: aws-cdk-lib.aws_stepfunctions.RetryProps
- Default: '{ interval: Duration.seconds(1), maxAttempts: 5, backoffRate: 1.5 }'
Retry strategy on Errors.ALL when releasing a semaphore use from the semaphore table.
NOTE: errors
property is always overridden to [Errors.ALL].
import { ReleaseSemaphoreOptions } from 'cdk-concurrency-controller'
const releaseSemaphoreOptions: ReleaseSemaphoreOptions = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
checkSemaphoreUseFirst |
boolean |
Check if the semaphore use exists before trying to release it. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.
public readonly checkSemaphoreUseFirst: boolean;
- Type: boolean
- Default: false
Check if the semaphore use exists before trying to release it.
This can help to shift the load from write capacity to read capacity in case of missing semaphore use (best effort to avoid hot partitions and save write capacity for crucial actions), where DDB provides 3x throughput on read capacity than write capacity per partition. see more about hot partition: https://aws.amazon.com/premiumsupport/knowledge-center/dynamodb-table-throttled/#You_have_a_hot_partition_in_your_table
import { ReleaseSemaphoreTaskInput } from 'cdk-concurrency-controller'
const releaseSemaphoreTaskInput: ReleaseSemaphoreTaskInput = { ... }
Name | Type | Description |
---|---|---|
name |
string |
No description. |
userId |
string |
No description. |
public readonly name: string;
- Type: string
public readonly userId: string;
- Type: string
import { ReleaseViaStartExecutionFragmentProps } from 'cdk-concurrency-controller'
const releaseViaStartExecutionFragmentProps: ReleaseViaStartExecutionFragmentProps = { ... }
Name | Type | Description |
---|---|---|
timeout |
aws-cdk-lib.Duration |
Maximum run time for the execution. |
input |
ReleaseSemaphoreTaskInput |
No description. |
stateMachine |
aws-cdk-lib.aws_stepfunctions.IStateMachine |
The Step Functions state machine to start the execution on. |
public readonly timeout: Duration;
- Type: aws-cdk-lib.Duration
- Default: No timeout
Maximum run time for the execution.
public readonly input: ReleaseSemaphoreTaskInput;
public readonly stateMachine: IStateMachine;
- Type: aws-cdk-lib.aws_stepfunctions.IStateMachine
The Step Functions state machine to start the execution on.
import { SemaphoreDefinition } from 'cdk-concurrency-controller'
const semaphoreDefinition: SemaphoreDefinition = { ... }
Name | Type | Description |
---|---|---|
limit |
string |
The value for concurrency control. |
name |
string |
The name for the semaphore. |
public readonly limit: string;
- Type: string
The value for concurrency control.
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
import { SemaphoreStateMachineProps } from 'cdk-concurrency-controller'
const semaphoreStateMachineProps: SemaphoreStateMachineProps = { ... }
Name | Type | Description |
---|---|---|
timeout |
aws-cdk-lib.Duration |
Maximum run time for the execution. |
logs |
aws-cdk-lib.aws_stepfunctions.LogOptions |
Defines what execution history events are logged and where they are logged. |
tracingEnabled |
boolean |
Specifies whether Amazon X-Ray tracing is enabled for this state machine. |
public readonly timeout: Duration;
- Type: aws-cdk-lib.Duration
- Default: No timeout
Maximum run time for the execution.
public readonly logs: LogOptions;
- Type: aws-cdk-lib.aws_stepfunctions.LogOptions
- Default: No logging
Defines what execution history events are logged and where they are logged.
public readonly tracingEnabled: boolean;
- Type: boolean
- Default: false
Specifies whether Amazon X-Ray tracing is enabled for this state machine.
import { SemaphoreTableDefinition } from 'cdk-concurrency-controller'
const semaphoreTableDefinition: SemaphoreTableDefinition = { ... }
Name | Type | Description |
---|---|---|
countAttributeName |
string |
The attribute name for a semaphore in-use count. |
partitionKey |
aws-cdk-lib.aws_dynamodb.Attribute |
No description. |
table |
aws-cdk-lib.aws_dynamodb.ITable |
No description. |
public readonly countAttributeName: string;
- Type: string
The attribute name for a semaphore in-use count.
public readonly partitionKey: Attribute;
- Type: aws-cdk-lib.aws_dynamodb.Attribute
public readonly table: ITable;
- Type: aws-cdk-lib.aws_dynamodb.ITable
import { SemaphoreTimeoutOptions } from 'cdk-concurrency-controller'
const semaphoreTimeoutOptions: SemaphoreTimeoutOptions = { ... }
Name | Type | Description |
---|---|---|
timeout |
aws-cdk-lib.Duration |
Maximum run time for the execution. |
public readonly timeout: Duration;
- Type: aws-cdk-lib.Duration
- Default: No timeout
Maximum run time for the execution.
import { SemaphoreUseDefinition } from 'cdk-concurrency-controller'
const semaphoreUseDefinition: SemaphoreUseDefinition = { ... }
Name | Type | Description |
---|---|---|
name |
string |
The name for the semaphore. |
userId |
string |
The semaphore user id to acquire/release resource usage. |
public readonly name: string;
- Type: string
The name for the semaphore.
Or it can be JsonPath expression that extracts the value from the state object at runtime. This allows custom semaphore names from runtime input for multiple resources.
Example value: $.semaphoreName
public readonly userId: string;
- Type: string
The semaphore user id to acquire/release resource usage.