#164 Change SdkBindingData to be typed and add typed transform outputs #minor
Pull request opened by
sonjaer
TL;DR
This PR tries to accomplish two features:
Change the SdkBindingData to be typed SdkBindingData<?>
This change allows the user to know the inner type of the attributes from INPUT and OUTPUT at development time.
Add typed transform outputs
This change allows getting the outputs of a SdkNode.getOutputs() this output is a typed output using an AutoValue class or a case class.
Type
☐ Bug Fix
☑︎ Feature
☐ Plugin
Are all requirements met?
☑︎ Code completed
☐ Smoke tested
☑︎ Unit tests added
☐ Code documentation added
☐ Any pending items have an associated Issue
Complete description
Change the SdkBindingData to be typed SdkBindingData<?>
This change allows the user to know the inner type of the attributes from INPUT and OUTPUT at development time. Before this change, the users must go to the input/output class to figure out the specified attribute type. Now, the SdkBindingData<?> shows the inner type value making the user experience more smoothie.
Add typed transform outputs
This change allows getting the outputs of a SdkNode.getOutputs() this output is a typed output using an AutoValue class or a case class. These changes force all the input/output class attributes to be SdkBindingData<?> and now you need to do a
SdkBindingData.get()
to get the inner value in the run task context (
java example,
scala example), but at the same time these changes allow to recover the attributes by name in the workflow site (
java example,
scala example).
Tracking Issue
•
flyteorg/flyte#3250
•
flyteorg/flyte#3251
Follow-up issue
•
flyteorg/flyte#3252
flyteorg/flytekit-java
✅ All checks have passed
3/3 successful checks