Return snapshot slug for snapshot/import (#372)

* Update __init__.py

* Update snapshots.py

* Update API.md

* Update __init__.py

* Update __init__.py
This commit is contained in:
Pascal Vizeli
2018-02-23 10:52:35 +01:00
committed by GitHub
parent 6bc9792248
commit 3b974920d3
3 changed files with 55 additions and 16 deletions

View File

@@ -109,16 +109,24 @@ class APISnapshots(CoreSysAttributes):
async def snapshot_full(self, request):
"""Full-Snapshot a snapshot."""
body = await api_validate(SCHEMA_SNAPSHOT_FULL, request)
return await asyncio.shield(
snapshot = await asyncio.shield(
self._snapshots.do_snapshot_full(**body), loop=self._loop)
if snapshot:
return {ATTR_SLUG: snapshot.slug}
return False
@api_process
async def snapshot_partial(self, request):
"""Partial-Snapshot a snapshot."""
body = await api_validate(SCHEMA_SNAPSHOT_PARTIAL, request)
return await asyncio.shield(
snapshot = await asyncio.shield(
self._snapshots.do_snapshot_partial(**body), loop=self._loop)
if snapshot:
return {ATTR_SLUG: snapshot.slug}
return False
@api_process
async def restore_full(self, request):
"""Full-Restore a snapshot."""
@@ -174,5 +182,9 @@ class APISnapshots(CoreSysAttributes):
except asyncio.CancelledError:
return False
return await asyncio.shield(
snapshot = await asyncio.shield(
self._snapshots.import_snapshot(tar_file), loop=self._loop)
if snapshot:
return {ATTR_SLUG: snapshot.slug}
return False