The sort of fix I was thinking was (not yet tried):
1. Look in resources.global_env().get_class(type_name) (same as elsewhere in service.py)
2. If we don't find the type, check if it matches foo.yaml/foo.template paths with any url prefix, but *don't* read any files
3. If it's not a path/template type then look in the params derived resource_registry for a type alias
4. If the Type isn't found now, it's a validation failure
Then, when the rework I linked above lands, we'd be able to extend (2) and (3) to consume the files passed in the files map from the client (which as mentioned, the client already passes, but the API ignores).
The sort of fix I was thinking was (not yet tried):
1. Look in resources. global_ env().get_ class(type_ name) (same as elsewhere in service.py) foo.template paths with any url prefix, but *don't* read any files
2. If we don't find the type, check if it matches foo.yaml/
3. If it's not a path/template type then look in the params derived resource_registry for a type alias
4. If the Type isn't found now, it's a validation failure
Then, when the rework I linked above lands, we'd be able to extend (2) and (3) to consume the files passed in the files map from the client (which as mentioned, the client already passes, but the API ignores).