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
applicationConfigApplicationConfiguration[]application_configtyping.List[ApplicationConfiguration]applicationConfigList<ApplicationConfiguration>ApplicationConfigApplicationConfiguration[]ApplicationConfig*[]ApplicationConfiguration= No application config#Maximum of 100 items
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.
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)
executionRoleIRoleexecution_roleIRoleexecutionRoleIRoleExecutionRoleIRoleExecutionRoleIRole= Automatically generated only whe…#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.
default
Default: Automatically generated only when the provided virtualClusterId is not an encoded JSON path
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.
jobDriverJobDriverjob_driverJobDriverjobDriverJobDriverJobDriverJobDriverJobDriverJobDriverrequired#monitoringMonitoringmonitoringMonitoringmonitoringMonitoringMonitoringMonitoringMonitoringMonitoring= logging enabled and resources au…#default
Default: logging enabled and resources automatically generated if monitoring.logging is set to true
May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
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.
releaseLabelReleaseLabelrelease_labelReleaseLabelreleaseLabelReleaseLabelReleaseLabelReleaseLabelReleaseLabelReleaseLabelrequired#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.
stateNamestringstate_namestrstateNameStringStateNamestringStateName*string= The construct ID will be used as…#default
Default: The construct ID will be used as state name
tags{ [key: string]: string }tagstyping.Mapping[str, str]tagsMap<String, String>TagsIDictionary<string, string>Tags*map[string]*string= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
virtualClusterVirtualClusterInputvirtual_clusterVirtualClusterInputvirtualClusterVirtualClusterInputVirtualClusterVirtualClusterInputVirtualClusterVirtualClusterInputrequired#