aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
146 lines (145 loc) • 4.61 kB
TypeScript
import { Construct } from 'constructs';
import * as iam from '../../../aws-iam';
import * as sfn from '../../../aws-stepfunctions';
/**
* The action to take when the cluster step fails.
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_StepConfig.html
*
* Here, they are named as TERMINATE_JOB_FLOW, TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE respectively.
*
* @default CONTINUE
*
*/
export declare enum ActionOnFailure {
/**
* Terminate the Cluster on Step Failure
*/
TERMINATE_CLUSTER = "TERMINATE_CLUSTER",
/**
* Cancel Step execution and enter WAITING state
*/
CANCEL_AND_WAIT = "CANCEL_AND_WAIT",
/**
* Continue to the next Step
*/
CONTINUE = "CONTINUE"
}
interface EmrAddStepOptions {
/**
* The ClusterId to add the Step to.
*/
readonly clusterId: string;
/**
* The name of the Step
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_StepConfig.html
*/
readonly name: string;
/**
* The action to take when the cluster step fails.
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_StepConfig.html
*
* @default ActionOnFailure.CONTINUE
*/
readonly actionOnFailure?: ActionOnFailure;
/**
* A path to a JAR file run during the step.
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_HadoopJarStepConfig.html
*/
readonly jar: string;
/**
* The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_HadoopJarStepConfig.html
*
* @default - No mainClass
*/
readonly mainClass?: string;
/**
* A list of command line arguments passed to the JAR file's main function when executed.
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_HadoopJarStepConfig.html
*
* @default - No args
*/
readonly args?: string[];
/**
* A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_HadoopJarStepConfig.html
*
* @default - No properties
*/
readonly properties?: {
[key: string]: string;
};
/**
* The Amazon Resource Name (ARN) of the runtime role for a step on the cluster.
*
* @see https://docs.aws.amazon.com/emr/latest/APIReference/API_AddJobFlowSteps.html#API_AddJobFlowSteps_RequestSyntax
*
* @default - Uses EC2 instance profile role
*/
readonly executionRoleArn?: string;
}
/**
* Properties for EmrAddStep using JSONPath
*
*/
export interface EmrAddStepJsonPathProps extends sfn.TaskStateJsonPathBaseProps, EmrAddStepOptions {
}
/**
* Properties for EmrAddStep using JSONata
*
*/
export interface EmrAddStepJsonataProps extends sfn.TaskStateJsonataBaseProps, EmrAddStepOptions {
}
/**
* Properties for EmrAddStep
*
*/
export interface EmrAddStepProps extends sfn.TaskStateBaseProps, EmrAddStepOptions {
}
/**
* A Step Functions Task to add a Step to an EMR Cluster
*
* The StepConfiguration is defined as Parameters in the state machine definition.
*
* OUTPUT: the StepId
*
*/
export declare class EmrAddStep extends sfn.TaskStateBase {
private readonly props;
/**
* A Step Functions Task that using JSONPath to add a Step to an EMR Cluster
*
* The StepConfiguration is defined as Parameters in the state machine definition.
*
* OUTPUT: the StepId
*
*/
static jsonPath(scope: Construct, id: string, props: EmrAddStepJsonPathProps): EmrAddStep;
/**
* A Step Functions Task that using JSONata to add a Step to an EMR Cluster
*
* The StepConfiguration is defined as Parameters in the state machine definition.
*
* OUTPUT: the StepId
*
*/
static jsonata(scope: Construct, id: string, props: EmrAddStepJsonataProps): EmrAddStep;
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
protected readonly taskPolicies?: iam.PolicyStatement[];
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
private readonly actionOnFailure;
private readonly integrationPattern;
constructor(scope: Construct, id: string, props: EmrAddStepProps);
/**
* @internal
*/
protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any;
private createPolicyStatements;
}
export {};