constructor()

in infra/stack/mlops/mlops-pipeline-stack.ts [63:97]


    constructor(appContext: AppContext, stackConfig: any) {
        super(appContext, stackConfig);

        const pipelineConfig = stackConfig as MLOpsPipelineConfig;

        const baseName = pipelineConfig.EndpointName;

        const bucket = this.createS3Bucket(baseName);

        const stateMachine = this.createStateMachine({
                statemachineName: baseName,
                statemachineRole: this.createStateMachineRole(baseName),

                bucket: bucket,

                glueJob: this.createGlueEtl(baseName, bucket, pipelineConfig.GlueJobFilePath, pipelineConfig.GlueJobTimeoutInMin),
                glueJobTimeoutInMin: pipelineConfig.GlueJobTimeoutInMin,

                trainInputContent: pipelineConfig.TrainInputContent,
                trainParameters: pipelineConfig.TrainParameters,
                trainJobRole: this.createSageMakerTrainingRole(baseName),
                trainInstanceType: this.findInstanceType(pipelineConfig.TrainInstanceType),
                trainContainerImage: pipelineConfig.TrainContainerImage,

                modelErrorThreshold: pipelineConfig.ModelErrorThreshold,

                endpointInstanceCount: pipelineConfig.EndpointInstanceCount,
                endpointInstanceType: this.findInstanceType(pipelineConfig.EndpointInstanceType),

                queryAccuracyLambda: pipelineConfig.ModelValidationEnable ? this.createQueryAccuracyLambda(baseName) : undefined,
                queryEndpointLambda: this.createQueryEndpointLambda(baseName),
            });

        this.createTriggerStateMachineLambda(baseName, bucket, stateMachine);
    }