EcsRunTaskJsonPathProps Struct
Properties for ECS Tasks using JSONPath.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
import { aws_ecs as ecs } from 'aws-cdk-lib';
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';
import { aws_stepfunctions_tasks as stepfunctions_tasks } from 'aws-cdk-lib';
declare const assign: any;
declare const cluster: ecs.Cluster;
declare const containerDefinition: ecs.ContainerDefinition;
declare const ecsLaunchTarget: stepfunctions_tasks.IEcsLaunchTarget;
declare const resultSelector: any;
declare const securityGroup: ec2.SecurityGroup;
declare const subnet: ec2.Subnet;
declare const subnetFilter: ec2.SubnetFilter;
declare const taskDefinition: ecs.TaskDefinition;
declare const taskRole: stepfunctions.TaskRole;
declare const timeout: stepfunctions.Timeout;
const ecsRunTaskJsonPathProps: stepfunctions_tasks.EcsRunTaskJsonPathProps = {
cluster: cluster,
launchTarget: ecsLaunchTarget,
taskDefinition: taskDefinition,
// the properties below are optional
assign: {
assignKey: assign,
},
assignPublicIp: false,
comment: 'comment',
containerOverrides: [{
containerDefinition: containerDefinition,
// the properties below are optional
command: ['command'],
cpu: 123,
environment: [{
name: 'name',
value: 'value',
}],
memoryLimit: 123,
memoryReservation: 123,
}],
cpu: 'cpu',
credentials: {
role: taskRole,
},
enableExecuteCommand: false,
heartbeat: cdk.Duration.minutes(30),
heartbeatTimeout: timeout,
inputPath: 'inputPath',
integrationPattern: stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
memoryMiB: 'memoryMiB',
outputPath: 'outputPath',
propagatedTagSource: ecs.PropagatedTagSource.SERVICE,
queryLanguage: stepfunctions.QueryLanguage.JSON_PATH,
resultPath: 'resultPath',
resultSelector: {
resultSelectorKey: resultSelector,
},
revisionNumber: 123,
securityGroups: [securityGroup],
stateName: 'stateName',
subnets: {
availabilityZones: ['availabilityZones'],
onePerAz: false,
subnetFilters: [subnetFilter],
subnetGroupName: 'subnetGroupName',
subnets: [subnet],
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
},
taskTimeout: timeout,
timeout: cdk.Duration.minutes(30),
};
Properties
assign{ [key: string]: any }assigntyping.Mapping[str, Any]assignMap<String, Object>AssignIDictionary<string, object>Assign*map[string]interface{}= Not assign variables#Using workflow variables, you can store data in a step and retrieve that data in future steps.
assignPublicIpbooleanassign_public_ipboolassignPublicIpBooleanAssignPublicIpboolAssignPublicIp*bool= false#containerOverridesContainerOverride[]container_overridestyping.List[ContainerOverride]containerOverridesList<ContainerOverride>ContainerOverridesContainerOverride[]ContainerOverrides*[]ContainerOverride= No overrides#Specify the container to use and the overrides to apply.
credentialsCredentialscredentialsCredentialscredentialsCredentialsCredentialsCredentialsCredentialsCredentials= None (Task is executed using the…#This enables cross-account resource invocations.
default
Default: None (Task is executed using the State Machine's execution role)
enableExecuteCommandbooleanenable_execute_commandboolenableExecuteCommandBooleanEnableExecuteCommandboolEnableExecuteCommand*bool= false#heartbeatDurationheartbeatDurationheartbeatDurationHeartbeatDurationHeartbeatDuration= Nonedeprecated#heartbeatTimeoutTimeoutheartbeat_timeoutTimeoutheartbeatTimeoutTimeoutHeartbeatTimeoutTimeoutHeartbeatTimeoutTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
integrationPatternIntegrationPatternintegration_patternIntegrationPatternintegrationPatternIntegrationPatternIntegrationPatternIntegrationPatternIntegrationPatternIntegrationPattern= `IntegrationPattern.REQUEST_RESP…#You can control these AWS services using service integration patterns.
Depending on the AWS Service, the Service Integration Pattern availability will vary.
default
Default: IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.
launchTargetIEcsLaunchTargetlaunch_targetIEcsLaunchTargetlaunchTargetIEcsLaunchTargetLaunchTargetIEcsLaunchTargetLaunchTargetIEcsLaunchTargetrequired#May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
propagatedTagSourcePropagatedTagSourcepropagated_tag_sourcePropagatedTagSourcepropagatedTagSourcePropagatedTagSourcePropagatedTagSourcePropagatedTagSourcePropagatedTagSourcePropagatedTagSource= No tags are propagated.#An error will be received if you specify the SERVICE option when running a task.
queryLanguageQueryLanguagequery_languageQueryLanguagequeryLanguageQueryLanguageQueryLanguageQueryLanguageQueryLanguageQueryLanguage= JSONPath#If the state does not contain a queryLanguage field, then it will use the query language specified in the top-level queryLanguage field.
May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
resultSelector{ [key: string]: any }result_selectortyping.Mapping[str, Any]resultSelectorMap<String, Object>ResultSelectorIDictionary<string, object>ResultSelector*map[string]interface{}= None#You can use ResultSelector to create a payload with values that are static or selected from the state's raw result.
revisionNumbernumberrevision_numberint | floatrevisionNumberNumberRevisionNumberdoubleRevisionNumber*float64= '$latest'#securityGroupsISecurityGroup[]security_groupstyping.List[ISecurityGroup]securityGroupsList<ISecurityGroup>SecurityGroupsISecurityGroup[]SecurityGroups*[]ISecurityGroup= A new security group is created#stateNamestringstate_namestrstateNameStringStateNamestringStateName*string= The construct ID will be used as…#default
Default: The construct ID will be used as state name
subnetsSubnetSelectionsubnetsSubnetSelectionsubnetsSubnetSelectionSubnetsSubnetSelectionSubnetsSubnetSelection= Public subnets if assignPublicIp…#default
Default: Public subnets if assignPublicIp is set. Private subnets otherwise.
taskDefinitionTaskDefinitiontask_definitionTaskDefinitiontaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionrequired#Note: this must be TaskDefinition, and not ITaskDefinition, as it requires properties that are not known for imported task definitions If you want to run a RunTask with an imported task definition, consider using CustomState
[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface