@@ -92,21 +92,29 @@ def _get_apply_plan_excludes(plan: ApplyRunPlanInput) -> Optional[Dict]:
9292 Use this method to exclude new fields when they are not set to keep
9393 clients backward-compatibility with older servers.
9494 """
95+ apply_plan_excludes = {}
9596 run_spec_excludes = _get_run_spec_excludes (plan .run_spec )
9697 if run_spec_excludes is not None :
97- return {"plan" : run_spec_excludes }
98- return None
98+ apply_plan_excludes ["run_spec" ] = run_spec_excludes
99+ if plan .current_resource is not None :
100+ apply_plan_excludes ["current_resource" ] = {
101+ "run_spec" : _get_run_spec_excludes (plan .current_resource .run_spec )
102+ }
103+ return {"plan" : apply_plan_excludes }
99104
100105
101106def _get_get_plan_excludes (request : GetRunPlanRequest ) -> Optional [Dict ]:
102107 """
103108 Excludes new fields when they are not set to keep
104109 clients backward-compatibility with older servers.
105110 """
111+ get_plan_excludes = {}
106112 run_spec_excludes = _get_run_spec_excludes (request .run_spec )
113+ if run_spec_excludes is not None :
114+ get_plan_excludes ["run_spec" ] = run_spec_excludes
107115 if request .max_offers is None :
108- run_spec_excludes ["max_offers" ] = True
109- return run_spec_excludes
116+ get_plan_excludes ["max_offers" ] = True
117+ return get_plan_excludes
110118
111119
112120def _get_run_spec_excludes (run_spec : RunSpec ) -> Optional [Dict ]:
@@ -139,5 +147,5 @@ def _get_run_spec_excludes(run_spec: RunSpec) -> Optional[Dict]:
139147 if profile_excludes :
140148 spec_excludes ["profile" ] = profile_excludes
141149 if spec_excludes :
142- return { "run_spec" : spec_excludes }
150+ return spec_excludes
143151 return None
0 commit comments