fromtyping_extensionsimportAnnotatedfromhera.sharedimportglobal_configfromhera.workflowsimportInput,Output,Parameter,Workflowglobal_config.experimental_features["decorator_syntax"]=True# We start by defining our Workfloww=Workflow(generate_name="resource-workflow-")# This defines the template's inputsclassMyInput(Input):pvc_size:Annotated[int,Parameter(name="pvc-size"),]=10classMyOutput(Output):pvc_name:Annotated[str,Parameter(name="pvc-name",value_from={"jsonPath":"{.metadata.name}"},),]# We then use the decorators of the `Workflow` object# to set the entrypoint and create a Resouruce template@w.set_entrypoint@w.resource_template(action="create",set_owner_reference=True,manifest="""apiVersion: v1kind: PersistentVolumeClaimmetadata: generateName: pvc-example-spec: accessModes: ['ReadWriteOnce', 'ReadOnlyMany'] resources: requests: storage: '{{inputs.parameters.pvc-size}}'""",)defbasic_hello_world(my_input:MyInput)->MyOutput:...