From d12f292e8a8dafe95eb850641154f99b7bbe4ce2 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 28 Dec 2016 10:47:23 +0100 Subject: [PATCH] add simple example code, bump version to 1.0-2 --- Makefile | 9 ++++++--- debian/changelog | 6 ++++++ debian/install | 1 + examples/example1.pl | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 3 deletions(-) create mode 100755 examples/example1.pl diff --git a/Makefile b/Makefile index 44f47ae..287dc46 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,13 @@ PACKAGE=libpve-apiclient-perl PKGVER=1.0 -PKGREL=1 +PKGREL=2 DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb DESTDIR= -PERL5DIR=/usr/share/perl5 +PERL5DIR=${DESTDIR}/usr/share/perl5 +DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE} all: ${DEB} @@ -19,7 +20,9 @@ deb ${DEB}: lintian ${DEB} install: - install -D -m 0644 PVE/APIClient/LWP.pm ${DESTDIR}${PERL5DIR}/PVE/APIClient/LWP.pm + install -D -m 0644 PVE/APIClient/LWP.pm ${PERL5DIR}/PVE/APIClient/LWP.pm + install -d -m 755 ${DOCDIR}/examples + install -m 0755 examples/example1.pl ${DOCDIR}/examples .PHONY: upload upload: ${DEB} diff --git a/debian/changelog b/debian/changelog index 1067bea..7ad1dee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libpve-apiclient-perl (1.0-2) unstable; urgency=medium + + * add simple example code: example1.pl + + -- Proxmox Support Team Wed, 28 Dec 2016 10:46:52 +0100 + libpve-apiclient-perl (1.0-1) unstable; urgency=medium * first try diff --git a/debian/install b/debian/install index 02830ab..aab4f0a 100644 --- a/debian/install +++ b/debian/install @@ -1 +1,2 @@ /usr/share/perl5 +/usr/share/doc/libpve-apiclient-perl \ No newline at end of file diff --git a/examples/example1.pl b/examples/example1.pl new file mode 100755 index 0000000..b0fedee --- /dev/null +++ b/examples/example1.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w + +# NOTE: you need to run this on a PVE host, or modify the source to +# provide username/password/hostname from somewhere else. + +use strict; +use PVE::APIClient::LWP; + +use PVE::AccessControl; +use PVE::INotify; +use JSON; + +# normally you use username/password, +# but we can simply create a ticket and CRSF token if we are root +# running on a pve host + +my $hostname = PVE::INotify::read_file("hostname"); + +my $ticket = PVE::AccessControl::assemble_ticket('root@pam'); +my $csrftoken = PVE::AccessControl::assemble_csrf_prevention_token('root@pam'); + +my $conn = PVE::APIClient::LWP->new( + #username => 'root@pam', + #password => 'yourpassword', + ticket => $ticket, + csrftoken => $csrftoken, + host => $hostname, + # allow manual fingerprint verification + manual_verification => 1, + ); + +my $res = $conn->get("api2/json/", {}); + +print to_json($res, { pretty => 1, canonical => 1}); -- 2.39.2