Py_RETURN_FALSE;
}
+static PyObject *
+Container_rename(Container *self, PyObject *args, PyObject *kwds)
+{
+ char *new_name = NULL;
+ static char *kwlist[] = {"new_name", NULL};
+
+ if (! PyArg_ParseTupleAndKeywords(args, kwds, "s|", kwlist,
+ &new_name))
+ return NULL;
+
+ if (self->container->rename(self->container, new_name)) {
+ Py_RETURN_TRUE;
+ }
+
+ Py_RETURN_FALSE;
+}
+
static PyObject *
Container_remove_device_node(Container *self, PyObject *args, PyObject *kwds)
{
"\n"
"Ask the container to reboot."
},
+ {"rename", (PyCFunction)Container_rename,
+ METH_VARARGS|METH_KEYWORDS,
+ "rename(new_name) -> boolean\n"
+ "\n"
+ "Rename the container."
+ },
{"remove_device_node", (PyCFunction)Container_remove_device_node,
METH_VARARGS|METH_KEYWORDS,
"remove_device_node(src_path, dest_path) -> boolean\n"
PYLXC_EXPORT_CONST(LXC_ATTACH_SET_PERSONALITY);
/* clone: clone flags */
+ PYLXC_EXPORT_CONST(LXC_CLONE_KEEPBDEVTYPE);
PYLXC_EXPORT_CONST(LXC_CLONE_KEEPMACADDR);
PYLXC_EXPORT_CONST(LXC_CLONE_KEEPNAME);
+ PYLXC_EXPORT_CONST(LXC_CLONE_MAYBE_SNAPSHOT);
PYLXC_EXPORT_CONST(LXC_CLONE_SNAPSHOT);
/* create: create flags */
return ips
+ def rename(self, new_name):
+ """
+ Rename the container.
+ On success, returns the new Container object.
+ On failure, returns False.
+ """
+
+ if _lxc.Container.rename(self, new_name):
+ return Container(new_name)
+
+ return False
+
def set_config_item(self, key, value):
"""
Set a config key to a provided value.
LXC_ATTACH_SET_PERSONALITY = _lxc.LXC_ATTACH_SET_PERSONALITY
# clone: clone flags
+LXC_CLONE_KEEPBDEVTYPE = _lxc.LXC_CLONE_KEEPBDEVTYPE
LXC_CLONE_KEEPMACADDR = _lxc.LXC_CLONE_KEEPMACADDR
LXC_CLONE_KEEPNAME = _lxc.LXC_CLONE_KEEPNAME
+LXC_CLONE_MAYBE_SNAPSHOT = _lxc.LXC_CLONE_MAYBE_SNAPSHOT
LXC_CLONE_SNAPSHOT = _lxc.LXC_CLONE_SNAPSHOT
# create: create flags