157 lines
3.9 KiB
Python
157 lines
3.9 KiB
Python
#
|
|
# Copyright 2015 ClusterHQ
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
'''
|
|
Python wrappers for **libzfs_core** library.
|
|
|
|
*libzfs_core* is intended to be a stable, committed interface for programmatic
|
|
administration of ZFS.
|
|
This wrapper provides one-to-one wrappers for libzfs_core API functions,
|
|
but the signatures and types are more natural to Python.
|
|
nvlists are wrapped as dictionaries or lists depending on their usage.
|
|
Some parameters have default values depending on typical use for
|
|
increased convenience.
|
|
Output parameters are not used and return values are directly returned.
|
|
Enumerations and bit flags become strings and lists of strings in Python.
|
|
Errors are reported as exceptions rather than integer errno-style
|
|
error codes. The wrapper takes care to provide one-to-many mapping
|
|
of the error codes to the exceptions by interpreting a context
|
|
in which the error code is produced.
|
|
|
|
To submit an issue or contribute to development of this package
|
|
please visit its `GitHub repository <https://github.com/zfsonlinux/zfs>`_.
|
|
|
|
.. data:: MAXNAMELEN
|
|
|
|
Maximum length of any ZFS name.
|
|
'''
|
|
from __future__ import absolute_import, division, print_function
|
|
|
|
from ._constants import (
|
|
MAXNAMELEN,
|
|
ZCP_DEFAULT_INSTRLIMIT,
|
|
ZCP_DEFAULT_MEMLIMIT,
|
|
WRAPPING_KEY_LEN,
|
|
zfs_key_location,
|
|
zfs_keyformat,
|
|
zio_encrypt
|
|
)
|
|
|
|
from ._libzfs_core import (
|
|
lzc_bookmark,
|
|
lzc_change_key,
|
|
lzc_channel_program,
|
|
lzc_channel_program_nosync,
|
|
lzc_clone,
|
|
lzc_create,
|
|
lzc_destroy_bookmarks,
|
|
lzc_destroy_snaps,
|
|
lzc_exists,
|
|
lzc_get_bookmarks,
|
|
lzc_get_holds,
|
|
lzc_hold,
|
|
lzc_load_key,
|
|
lzc_pool_checkpoint,
|
|
lzc_pool_checkpoint_discard,
|
|
lzc_promote,
|
|
lzc_receive,
|
|
lzc_receive_one,
|
|
lzc_receive_resumable,
|
|
lzc_receive_with_cmdprops,
|
|
lzc_receive_with_header,
|
|
lzc_release,
|
|
lzc_remap,
|
|
lzc_reopen,
|
|
lzc_rollback,
|
|
lzc_rollback_to,
|
|
lzc_send,
|
|
lzc_send_resume,
|
|
lzc_send_space,
|
|
lzc_snaprange_space,
|
|
lzc_snapshot,
|
|
lzc_sync,
|
|
lzc_unload_key,
|
|
is_supported,
|
|
lzc_recv,
|
|
lzc_snap,
|
|
lzc_rename,
|
|
lzc_destroy,
|
|
lzc_inherit_prop,
|
|
lzc_get_props,
|
|
lzc_set_props,
|
|
lzc_list_children,
|
|
lzc_list_snaps,
|
|
receive_header,
|
|
)
|
|
|
|
__all__ = [
|
|
'ctypes',
|
|
'exceptions',
|
|
'MAXNAMELEN',
|
|
'ZCP_DEFAULT_INSTRLIMIT',
|
|
'ZCP_DEFAULT_MEMLIMIT',
|
|
'WRAPPING_KEY_LEN',
|
|
'zfs_key_location',
|
|
'zfs_keyformat',
|
|
'zio_encrypt',
|
|
'lzc_bookmark',
|
|
'lzc_change_key',
|
|
'lzc_channel_program',
|
|
'lzc_channel_program_nosync',
|
|
'lzc_clone',
|
|
'lzc_create',
|
|
'lzc_destroy_bookmarks',
|
|
'lzc_destroy_snaps',
|
|
'lzc_exists',
|
|
'lzc_get_bookmarks',
|
|
'lzc_get_holds',
|
|
'lzc_hold',
|
|
'lzc_load_key',
|
|
'lzc_pool_checkpoint',
|
|
'lzc_pool_checkpoint_discard',
|
|
'lzc_promote',
|
|
'lzc_receive',
|
|
'lzc_receive_one',
|
|
'lzc_receive_resumable',
|
|
'lzc_receive_with_cmdprops',
|
|
'lzc_receive_with_header',
|
|
'lzc_release',
|
|
'lzc_remap',
|
|
'lzc_reopen',
|
|
'lzc_rollback',
|
|
'lzc_rollback_to',
|
|
'lzc_send',
|
|
'lzc_send_resume',
|
|
'lzc_send_space',
|
|
'lzc_snaprange_space',
|
|
'lzc_snapshot',
|
|
'lzc_sync',
|
|
'lzc_unload_key',
|
|
'is_supported',
|
|
'lzc_recv',
|
|
'lzc_snap',
|
|
'lzc_rename',
|
|
'lzc_destroy',
|
|
'lzc_inherit_prop',
|
|
'lzc_get_props',
|
|
'lzc_set_props',
|
|
'lzc_list_children',
|
|
'lzc_list_snaps',
|
|
'receive_header',
|
|
]
|
|
|
|
# vim: softtabstop=4 tabstop=4 expandtab shiftwidth=4
|