def _serialize_folder(folder: CREFolder, show_hosts): links = [] if not folder.is_root(): links.append( constructors.link_rel( rel="cmk/move", href=constructors.object_action_href( "folder_config", folder_slug(folder), action_name="move", ), method="post", title="Move the folder", ) ) rv = constructors.domain_object( domain_type="folder_config", identifier=folder_slug(folder), title=folder.title(), extensions={ "path": "/" + folder.path(), "attributes": folder.attributes().copy(), }, links=links, ) if show_hosts: rv["members"]["hosts"] = constructors.collection_property( name="hosts", base=constructors.object_href("folder_config", folder_slug(folder)), value=[ constructors.collection_item( domain_type="host_config", obj={ "id": host.id(), "title": host.name(), }, ) for host in folder.hosts().values() ], ) return rv
def _serialize_folder(folder: CREFolder, show_hosts): links = [] if not folder.is_root(): links.append( constructors.link_rel( rel='cmk/move', href=constructors.object_action_href( "folder_config", folder_slug(folder), action_name='move', ), method='post', title='Move the folder', )) rv = constructors.domain_object( domain_type='folder_config', identifier=folder_slug(folder), title=folder.title(), extensions={ 'path': '/' + folder.path(), 'attributes': folder.attributes().copy(), }, links=links, ) if show_hosts: rv['members']['hosts'] = constructors.collection_property( name='hosts', base=constructors.object_href('folder_config', folder_slug(folder)), value=[ constructors.collection_item( domain_type='host_config', obj={ 'id': host.id(), 'title': host.name(), }, ) for host in folder.hosts().values() ], ) return rv