func()

in custom-targets/vertex-ai-pipeline/pipeline-deployer/render.go [107:143]


func (r *renderer) renderCreatePipelineRequest() ([]byte, error) {
	if err := applyDeployParams(r.params.configPath); err != nil {
		return nil, fmt.Errorf("cannot apply deploy parameters to configuration file: %v", err)
	}

	configuration, err := loadConfigurationFile(r.params.configPath)
	if err != nil {
		return nil, fmt.Errorf("unable to obtain configuration data: %v", err)
	}

	// blank pipelineJob template
	pipelineJob := &aiplatform.GoogleCloudAiplatformV1PipelineJob{}

	if err = yaml.Unmarshal(configuration, pipelineJob); err != nil {
		return nil, fmt.Errorf("unable to parse configuration data into pipelineJob object: %v", err)
	}
	paramValues := r.params.pipelineParams

	if pipelineJob.TemplateUri == "" {
		pipelineJob.TemplateUri = r.params.pipeline
	}

	if pipelineJob.DisplayName == "" {
		pipelineJob.DisplayName = paramValues["model_display_name"]
	}

	paramValues["project_id"] = r.params.project
	paramString, err := json.Marshal(paramValues)
	if err != nil {
		fmt.Printf("Error marshalling JSON: %s", err)
		return nil, fmt.Errorf("unable to marshal params json")
	}
	pipelineJob.RuntimeConfig.ParameterValues = paramString

	request := &aiplatform.GoogleCloudAiplatformV1CreatePipelineJobRequest{PipelineJob: pipelineJob}
	return yaml.Marshal(request)
}