@@ -1443,21 +1443,23 @@ def _set_source_code_spec(
14431443 "Please specify one of `source_packages`, `developer_connect_source`, "
14441444 "or `agent_config_source`."
14451445 )
1446- if class_methods is None :
1446+ if class_methods is not None :
1447+ update_masks .append ("spec.class_methods" )
1448+ class_methods_spec_list = (
1449+ _agent_engines_utils ._class_methods_to_class_methods_spec (
1450+ class_methods = class_methods
1451+ )
1452+ )
1453+ spec ["class_methods" ] = [
1454+ _agent_engines_utils ._to_dict (class_method_spec )
1455+ for class_method_spec in class_methods_spec_list
1456+ ]
1457+ elif image_spec is None :
14471458 raise ValueError (
14481459 "`class_methods` must be specified if `source_packages`, "
1449- "`developer_connect_source`, or `agent_config_source` is specified."
1460+ "`developer_connect_source`, or `agent_config_source` is "
1461+ "specified without a Dockerfile or `image_spec`."
14501462 )
1451- update_masks .append ("spec.class_methods" )
1452- class_methods_spec_list = (
1453- _agent_engines_utils ._class_methods_to_class_methods_spec (
1454- class_methods = class_methods
1455- )
1456- )
1457- spec ["class_methods" ] = [
1458- _agent_engines_utils ._to_dict (class_method_spec )
1459- for class_method_spec in class_methods_spec_list
1460- ]
14611463 if image_spec is not None :
14621464 if entrypoint_module or entrypoint_object or requirements_file :
14631465 raise ValueError (
@@ -1771,20 +1773,17 @@ def _create_config(
17711773 )
17721774 elif container_spec :
17731775 agent_engine_spec = {}
1774- if class_methods is None :
1775- raise ValueError (
1776- "`class_methods` must be specified if `container_spec` is specified."
1777- )
1778- update_masks .append ("spec.class_methods" )
1779- class_methods_spec_list = (
1780- _agent_engines_utils ._class_methods_to_class_methods_spec (
1781- class_methods = class_methods
1776+ if class_methods is not None :
1777+ update_masks .append ("spec.class_methods" )
1778+ class_methods_spec_list = (
1779+ _agent_engines_utils ._class_methods_to_class_methods_spec (
1780+ class_methods = class_methods
1781+ )
17821782 )
1783- )
1784- agent_engine_spec ["class_methods" ] = [
1785- _agent_engines_utils ._to_dict (class_method_spec )
1786- for class_method_spec in class_methods_spec_list
1787- ]
1783+ agent_engine_spec ["class_methods" ] = [
1784+ _agent_engines_utils ._to_dict (class_method_spec )
1785+ for class_method_spec in class_methods_spec_list
1786+ ]
17881787 update_masks .append ("spec.container_spec" )
17891788 agent_engine_spec ["container_spec" ] = container_spec
17901789
0 commit comments