Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Support "Enum/Options" type as Flyte Input #590

Closed
4 of 13 tasks
thechopkins opened this issue Nov 11, 2020 · 5 comments
Closed
4 of 13 tasks

[Feature] Support "Enum/Options" type as Flyte Input #590

thechopkins opened this issue Nov 11, 2020 · 5 comments
Labels
enhancement New feature or request
Milestone

Comments

@thechopkins
Copy link

Motivation: Why do you think this is important?
One pain point today for kicking off workflows manually is with users specifying invalid inputs. An example, if you have a workflow that takes color as an input and only works for three values (blue, green, orange), we should be able to limit the options that the user enters into the workflow. Instead today, we generally have to write a single initial task that validates that the input is in a specific set and fast-fail if it is outside of a recommended value

Goal: What should the final outcome look like, ideally?
Ideally, when a workflow is kicked off from the UI, instead of being a free text field, a combo box could show up, populated with items that are specified in the workflow's definition. An example Input definition could then look like:
Input(Types.String, default='green', options=['green', 'blue', 'orange'])

Describe alternatives you've considered
Another potential option here is enabling a validation hook specifically on an input field before a workflow runs that could run either in ui, or on a delta change for an input text box.
ex. Input(Types.String, default='green', validation_fn=lambda x: x in {'blue', 'green', 'orange'}, validation_failure_string="Input must be in {'blue', 'green', 'orange'})

Flyte component

  • Overall
  • Flyte Setup and Installation scripts
  • Flyte Documentation
  • Flyte communication (slack/email etc)
  • FlytePropeller
  • FlyteIDL (Flyte specification language)
  • Flytekit (Python SDK)
  • FlyteAdmin (Control Plane service)
  • FlytePlugins
  • DataCatalog
  • FlyteStdlib (common libraries)
  • FlyteConsole (UI)
  • Other

[Optional] Propose: Link/Inline
If you have ideas about the implementation please propose the change. If inline keep it short, if larger then you link to an external document.

Additional context
Add any other context or screenshots about the feature request here.

Is this a blocker for you to adopt Flyte
Please let us know if this makes it impossible to adopt Flyte

@thechopkins thechopkins added enhancement New feature or request untriaged This issues has not yet been looked at by the Maintainers labels Nov 11, 2020
@kumare3 kumare3 removed the untriaged This issues has not yet been looked at by the Maintainers label Apr 28, 2021
@kumare3 kumare3 added this to the 0.14.0 milestone Apr 28, 2021
@mahanh
Copy link

mahanh commented Apr 29, 2021

This is going to be the great feature and needed for us as well.
The same as above description we would also like to limit users to pick the right option and not a free text for inputs.
One example, we have a workflow that can run on different environments such as local computer, Spark, Flink, Google Dataflow, so we only want to give 4 options to the users.

@kumare3 kumare3 modified the milestones: 0.14.0, 0.15.0 Jun 2, 2021
@kumare3
Copy link
Contributor

kumare3 commented Jun 4, 2021

@mahanh / @thechopkins this is in progress - flyteorg/flyteidl#183

@EngHabu
Copy link
Contributor

EngHabu commented Jul 7, 2021

Pushing to next milestone. I think the remaining work is in flyte console? @kumare3

@kumare3
Copy link
Contributor

kumare3 commented Jul 7, 2021

@EngHabu yes, but I want to create a separate UI task for this, as we can then group together all of this into the Flyteconsole project

@kumare3
Copy link
Contributor

kumare3 commented Jul 7, 2021

@thechopkins / @mahanh / @EngHabu this is available now and can be used through flytectl (no console support yet)

@kumare3 kumare3 modified the milestones: 0.16.0, 0.15.0 Jul 7, 2021
@kumare3 kumare3 closed this as completed Jul 7, 2021
eapolinario pushed a commit to eapolinario/flyte that referenced this issue Dec 20, 2022
Signed-off-by: Flyte-Bot <[email protected]>

Signed-off-by: Flyte-Bot <[email protected]>
Co-authored-by: flyte-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants