PrefectHQ / prefect

Prefect is a workflow orchestration framework for building resilient data pipelines in Python.
https://prefect.io
Apache License 2.0
17.6k stars 1.65k forks source link

pull_steps should be editable in the UI and through the Prefect client #11052

Open maitlandmarshall opened 1 year ago

maitlandmarshall commented 1 year ago

First check

Prefect Version

2.x

Describe the current behavior

pull_steps are visible in the deployments UI but currently no way to edit them. The Prefect Client also has no API for editing or providing pull_steps for new deployments programmatically.

Describe the proposed behavior

pull_steps should be editable in the UI in the same way as Infrastructure overrides.

image

pull_steps should be added as a prop to the Prefect Deployment class.

Example Use

No response

Additional context

I am travelling overseas and one of my deployments is affected by #11051 and I am currently unable to fix it until I get home.

zzstoatzz commented 1 year ago

hi @maitlandmarshall - thank you for the issue!

Independent of #11051 (a fix for which should be merged shortly), this seems like a good enhancement 🙂 that may require some careful thinking

(similar to #11042 in the sense that we would need to settle on a way of handling null Deployment fields on updates to a deployment that already has that field populated on the server)

techxorcist commented 2 weeks ago

I have a situation where numerous existing deployments are impacted by a change in the URL of the repo and the access token being used to access it (where the existing access token Block cannot simply be redefined). PrefectClient.update_deployment() and the DeploymentUpdate class seem able to handle a pull_steps parameter as defined in the Deployment class but the API returns a 422 for extra input.

The triage issue in #11042 seems settled. In this case, the expected behavior for a PATCH method would be to not amend any elements left unspecified in the PATCH call, I'd think.