constructor()

in src/aws-genomics-cdk/lib/workflows/genomics-task-construct.ts [19:51]


    constructor(scope: cdk.Construct, id: string, props: GenomicsTaskProps) {
        super(scope, id);
    
        const defaultEnvironment = {
            JOB_WORKFLOW_NAME: sfn.JsonPath.stringAt("$$.StateMachine.Name"),
            JOB_WORKFLOW_EXECUTION: sfn.JsonPath.stringAt("$$.Execution.Name"),
            JOB_OUTPUT_PREFIX: sfn.JsonPath.stringAt("$.params.environment.JOB_OUTPUT_PREFIX"),
            JOB_AWS_CLI_PATH: props.awsCliPath ?? "/opt/aws-cli/bin"
        }
        
        let environment;
        if(props.environment){
            environment = {...defaultEnvironment, ...props.environment};
        }
        else{
            environment = defaultEnvironment;
        }
    
        const taskContainerProps = {
          command: props.command,
          environment: environment
        };
        const taskProps = {
            jobName: props.taskName,
            jobDefinitionArn: props.jobDefinition.jobDefinitionArn,
            jobQueueArn: props.queue.jobQueueArn,
            containerOverrides: taskContainerProps,
            inputPath: "$",
            resultPath: "$.result"
        };
    
        this.task = new tasks.BatchSubmitJob(this, taskProps.jobName, taskProps);
    }