Hi could you please give an example of fetch a wor...
# flyte-support
m
Hi could you please give an example of fetch a workflow from the cluster and create and register a launch plan for this fetched workflow? Would it possible?
I can only create launch plan for the imported workflow from the local code, but not for the remote fetched workflow. I am using flytekit 1.16.8
Copy code
version = "7951bdb5-09a0-469f-b9ca-fb1749136365" # We have registered workflow using this verison
PROJECT_NAME = "test_project"
PROJECT_DOMAIN = "development"

remote = FlyteRemote(
    config=Config.auto(config_file=str(Path(__file__).parent.parent / "flytekit.config")),
    default_project=PROJECT_NAME,
    default_domain=PROJECT_DOMAIN,
)

wf = remote.fetch_workflow(
    name="workflows.test_wf", version=version, domain=PROJECT_DOMAIN, project=PROJECT_NAME
)

lp_name = "test_lp"

wf_lp = LaunchPlan.create(
    name=lp_name,
    workflow=wf,
    default_inputs={
        "name": "John",
    },
    schedule=CronSchedule(schedule="0 0 1 * *"),
)
# Register the launch plan
remote.register_launch_plan(wf_lp, version=version)
e
I think you can use
reference_workflow
Copy code
@reference_workflow(project="project", domain="domain", name="name", version="version")
    def ref_wf1(p1: str, p2: str) -> None:
        ...

lp = LaunchPlan.create("reference-wf-12345", ref_wf1, fixed_inputs={"p1": "p1-value", "p2": "p2-value"})