def _separate(self, kwargs):
self._pop_none(kwargs)<EOL>result = {}<EOL>for field in Resource.config_fields:<EOL><INDENT>if field in kwargs:<EOL><INDENT>result[field] = kwargs.pop(field)<EOL>if field in Resource.json_fields:<EOL><INDENT>if not isinstance(result[field], six.string_types):<EOL><INDENT>continue<EOL><DEDENT>try:<EOL><INDENT>data = json.loads(result[field])<EOL>result[field] = data<EOL><DEDENT>except ValueError:<EOL><INDENT>raise exc.TowerCLIError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT><DEDENT><DEDENT><DEDENT>return result<EOL>
Remove None-valued and configuration-related keyworded arguments