EmrContainersStartJobRunJsonPathProps Struct
Properties for calling EMR Containers StartJobRun 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_iam as iam } from 'aws-cdk-lib';
import { aws_logs as logs } from 'aws-cdk-lib';
import { aws_s3 as s3 } 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 applicationConfiguration_: stepfunctions_tasks.ApplicationConfiguration;
declare const assign: any;
declare const bucket: s3.Bucket;
declare const classification: stepfunctions_tasks.Classification;
declare const logGroup: logs.LogGroup;
declare const releaseLabel: stepfunctions_tasks.ReleaseLabel;
declare const resultSelector: any;
declare const role: iam.Role;
declare const taskInput: stepfunctions.TaskInput;
declare const taskRole: stepfunctions.TaskRole;
declare const timeout: stepfunctions.Timeout;
declare const virtualClusterInput: stepfunctions_tasks.VirtualClusterInput;
const emrContainersStartJobRunJsonPathProps: stepfunctions_tasks.EmrContainersStartJobRunJsonPathProps = {
jobDriver: {
sparkSubmitJobDriver: {
entryPoint: taskInput,
// the properties below are optional
entryPointArguments: taskInput,
sparkSubmitParameters: 'sparkSubmitParameters',
},
},
releaseLabel: releaseLabel,
virtualCluster: virtualClusterInput,
// the properties below are optional
applicationConfig: [{
classification: classification,
// the properties below are optional
nestedConfig: [applicationConfiguration_],
properties: {
propertiesKey: 'properties',
},
}],
assign: {
assignKey: assign,
},
comment: 'comment',
credentials: {
role: taskRole,
},
executionRole: role,
heartbeat: cdk.Duration.minutes(30),
heartbeatTimeout: timeout,
inputPath: 'inputPath',
integrationPattern: stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
jobName: 'jobName',
monitoring: {
logBucket: bucket,
logging: false,
logGroup: logGroup,
logStreamNamePrefix: 'logStreamNamePrefix',
persistentAppUI: false,
},
outputPath: 'outputPath',
queryLanguage: stepfunctions.QueryLanguage.JSON_PATH,
resultPath: 'resultPath',
resultSelector: {
resultSelectorKey: resultSelector,
},
stateName: 'stateName',
tags: {
tagsKey: 'tags',
},
taskTimeout: timeout,
timeout: cdk.Duration.minutes(30),
};
Properties
applicationConfigoptionalApplicationConfiguration[]application_configoptionaltyping.List[ApplicationConfiguration]applicationConfigoptionalList<ApplicationConfiguration>ApplicationConfigoptionalApplicationConfiguration[]ApplicationConfigoptional*[]ApplicationConfiguration#Default: No application config
Maximum of 100 items
assignoptional{ [key: string]: any }assignoptionaltyping.Mapping[str, Any]assignoptionalMap<String, Object>AssignoptionalIDictionary<string, object>Assignoptional*map[string]interface{}#Default: Not assign variables
Using workflow variables, you can store data in a step and retrieve that data in future steps.
commentoptionalstringcommentoptionalstrcommentoptionalStringCommentoptionalstringCommentoptional*string#Default: No comment
credentialsoptionalCredentialscredentialsoptionalCredentialscredentialsoptionalCredentialsCredentialsoptionalCredentialsCredentialsoptionalCredentials#Default: None (Task is executed using the State Machine's execution role)
This enables cross-account resource invocations.
executionRoleoptionalIRoleexecution_roleoptionalIRoleexecutionRoleoptionalIRoleExecutionRoleoptionalIRoleExecutionRoleoptionalIRole#Default: Automatically generated only when the provided virtualClusterId is not an encoded JSON path
If virtualClusterId is from a JSON input path, an execution role must be provided. If an execution role is provided, follow the documentation to update the role trust policy.
heartbeatoptionalDurationheartbeatoptionalDurationheartbeatoptionalDurationHeartbeatoptionalDurationHeartbeatoptionalDuration= Nonedeprecated#heartbeatTimeoutoptionalTimeoutheartbeat_timeoutoptionalTimeoutheartbeatTimeoutoptionalTimeoutHeartbeatTimeoutoptionalTimeoutHeartbeatTimeoutoptionalTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
inputPathoptionalstringinput_pathoptionalstrinputPathoptionalStringInputPathoptionalstringInputPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
integrationPatternoptionalIntegrationPatternintegration_patternoptionalIntegrationPatternintegrationPatternoptionalIntegrationPatternIntegrationPatternoptionalIntegrationPatternIntegrationPatternoptionalIntegrationPattern#Default: IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.
You can control these AWS services using service integration patterns.
Depending on the AWS Service, the Service Integration Pattern availability will vary.
jobDriverJobDriverjob_driverJobDriverjobDriverJobDriverJobDriverJobDriverJobDriverJobDriverrequired#jobNameoptionalstringjob_nameoptionalstrjobNameoptionalStringJobNameoptionalstringJobNameoptional*string#Default: No job run name
monitoringoptionalMonitoringmonitoringoptionalMonitoringmonitoringoptionalMonitoringMonitoringoptionalMonitoringMonitoringoptionalMonitoring#Default: logging enabled and resources automatically generated if monitoring.logging is set to true
outputPathoptionalstringoutput_pathoptionalstroutputPathoptionalStringOutputPathoptionalstringOutputPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
queryLanguageoptionalQueryLanguagequery_languageoptionalQueryLanguagequeryLanguageoptionalQueryLanguageQueryLanguageoptionalQueryLanguageQueryLanguageoptionalQueryLanguage= JSONPath#If the state does not contain a queryLanguage field, then it will use the query language specified in the top-level queryLanguage field.
releaseLabelReleaseLabelrelease_labelReleaseLabelreleaseLabelReleaseLabelReleaseLabelReleaseLabelReleaseLabelReleaseLabelrequired#resultPathoptionalstringresult_pathoptionalstrresultPathoptionalStringResultPathoptionalstringResultPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
resultSelectoroptional{ [key: string]: any }result_selectoroptionaltyping.Mapping[str, Any]resultSelectoroptionalMap<String, Object>ResultSelectoroptionalIDictionary<string, object>ResultSelectoroptional*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.
stateNameoptionalstringstate_nameoptionalstrstateNameoptionalStringStateNameoptionalstringStateNameoptional*string#Default: The construct ID will be used as state name
tagsoptional{ [key: string]: string }tagsoptionaltyping.Mapping[str, str]tagsoptionalMap<String, String>TagsoptionalIDictionary<string, string>Tagsoptional*map[string]*string= None#taskTimeoutoptionalTimeouttask_timeoutoptionalTimeouttaskTimeoutoptionalTimeoutTaskTimeoutoptionalTimeoutTaskTimeoutoptionalTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
timeoutoptionalDurationtimeoutoptionalDurationtimeoutoptionalDurationTimeoutoptionalDurationTimeoutoptionalDuration= Nonedeprecated#virtualClusterVirtualClusterInputvirtual_clusterVirtualClusterInputvirtualClusterVirtualClusterInputVirtualClusterVirtualClusterInputVirtualClusterVirtualClusterInputrequired#