1
0
mirror of https://gitlab.com/libvirt/libvirt-python.git synced 2024-10-26 07:55:06 +03:00

Add support for virDomainGetLaunchSecurityInfo

Libvirt recently introduced support for getting launch security
parameters, most notably AMD SEV VM memory measurement. This API can't
be generated as it's using typed parameters which we need to allocate.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Erik Skultety 2018-06-12 16:06:23 +02:00
parent a950b08317
commit dbae262811
3 changed files with 46 additions and 0 deletions

View File

@ -489,6 +489,7 @@ skip_impl = (
'virDomainSetPerfEvents',
'virDomainGetGuestVcpus',
'virConnectBaselineHypervisorCPU',
'virDomainGetLaunchSecurityInfo',
)
lxc_skip_impl = (

View File

@ -728,5 +728,11 @@
<arg name='xmlCPUs' type='const char **' info='array of XML descriptions of CPUs'/>
<arg name='flags' type='unsigned int' info='bitwise-OR of virConnectBaselineCPUFlags'/>
</function>
<function name='virDomainGetLaunchSecurityInfo' file='python'>
<info>Get launch security info for a domain</info>
<return type='char *' info='None in case of error, returns a dictionary of params'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
<arg name='flags' type='int' info='unused, always pass 0'/>
</function>
</symbols>
</api>

View File

@ -9763,6 +9763,42 @@ libvirt_virConnectBaselineHypervisorCPU(PyObject *self ATTRIBUTE_UNUSED,
#endif /* LIBVIR_CHECK_VERSION(4, 4, 0) */
#if LIBVIR_CHECK_VERSION(4, 5, 0)
static PyObject *
libvirt_virDomainGetLaunchSecurityInfo(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args)
{
PyObject *pyobj_dom = NULL;
PyObject *ret = NULL;
virDomainPtr dom = NULL;
virTypedParameterPtr params = NULL;
int nparams = 0;
unsigned int flags = 0;
int i_retval;
if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetLaunchSecurityInfo",
&pyobj_dom, &flags))
return NULL;
dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom);
LIBVIRT_BEGIN_ALLOW_THREADS;
i_retval = virDomainGetLaunchSecurityInfo(dom, &params, &nparams, flags);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0) {
ret = VIR_PY_NONE;
goto cleanup;
}
ret = getPyVirTypedParameter(params, nparams);
cleanup:
virTypedParamsFree(params, nparams);
return ret;
}
#endif /* LIBVIR_CHECK_VERSION(4, 5, 0) */
/************************************************************************
* *
* The registration stuff *
@ -9999,6 +10035,9 @@ static PyMethodDef libvirtMethods[] = {
#if LIBVIR_CHECK_VERSION(4, 4, 0)
{(char *) "virConnectBaselineHypervisorCPU", libvirt_virConnectBaselineHypervisorCPU, METH_VARARGS, NULL},
#endif /* LIBVIR_CHECK_VERSION(4, 4, 0) */
#if LIBVIR_CHECK_VERSION(4, 5, 0)
{(char *) "virDomainGetLaunchSecurityInfo", libvirt_virDomainGetLaunchSecurityInfo, METH_VARARGS, NULL},
#endif /* LIBVIR_CHECK_VERSION(4, 5, 0) */
{NULL, NULL, 0, NULL}
};