func do()

in custom-targets/vertex-ai/model-deployer/main.go [34:79]


func do() error {
	ctx := context.Background()

	gcsClient, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("unable to create gcs client: %v", err)
	}

	flag.BoolVar(&addAliasesMode, "add-aliases-mode", false, "if enabled, adds aliases set in vertexAIAliases environment variable to the deployed model")
	flag.Parse()

	if addAliasesMode {
		ah, err := newAliasHandler(gcsClient)
		if err != nil {
			return fmt.Errorf("unable to create alias handler: %v", err)
		}
		return ah.process(ctx)
	}

	req, err := clouddeploy.DetermineRequest(ctx, gcsClient, []string{"CANARY"})
	if err != nil {
		return err
	}

	params, err := determineParams()
	if err != nil {
		return fmt.Errorf("unable to parse params: %v", err)
	}

	aiPlatformRegion, err := regionFromModel(params.model)
	if err != nil {
		return fmt.Errorf("unable to parse region from model resource name: %v", err)
	}

	aiPlatformService, err := newAIPlatformService(ctx, aiPlatformRegion)
	if err != nil {
		return fmt.Errorf("unable to create aiplatform.Service object : %v", err)
	}

	handler, err := createRequestHandler(req, params, gcsClient, aiPlatformService)
	if err != nil {
		return fmt.Errorf("unable to create request handler: %v", err)
	}

	return handler.process(ctx)
}