@resources.command(use_fields_as_options=False)<EOL><INDENT>@click.argument('<STR_LIT>', type=types.Related('<STR_LIT>'))<EOL>@click.argument('<STR_LIT>', type=types.Variables(), required=False)<EOL>def schema(self, wfjt, node_network=None):<DEDENT>
existing_network = self._get_schema(wfjt)<EOL>if not isinstance(existing_network, list):<EOL><INDENT>existing_network = []<EOL><DEDENT>if node_network is None:<EOL><INDENT>if settings.format == '<STR_LIT>':<EOL><INDENT>settings.format = '<STR_LIT>'<EOL><DEDENT>return existing_network<EOL><DEDENT>if hasattr(node_network, '<STR_LIT>'):<EOL><INDENT>node_network = node_network.read()<EOL><DEDENT>node_network = string_to_dict(<EOL>node_network, allow_kv=False, require_dict=False)<EOL>if not isinstance(node_network, list):<EOL><INDENT>node_network = []<EOL><DEDENT>_update_workflow([TreeNode(x, wfjt, include_id=True) for x in existing_network],<EOL>[TreeNode(x, wfjt) for x in node_network])<EOL>if settings.format == '<STR_LIT>':<EOL><INDENT>settings.format = '<STR_LIT>'<EOL><DEDENT>return self._get_schema(wfjt)<EOL>
Convert YAML/JSON content into workflow node objects if
node_network param is given.
If not, print a YAML representation of the node network.

=====API DOCS=====
Convert YAML/JSON content into workflow node objects if ``node_network`` param is given. If not,
print a YAML representation of the node network.

:param wfjt: Primary key or name of the workflow job template to run schema against.
:type wfjt: str
:param node_network: JSON- or YAML-formatted string representing the topology of the workflow job
                     template be updated to.
:type node_network: str
:returns: The latest topology (possibly after modification) of the workflow job template.
:rtype: dict

=====API DOCS=====