From: "Max Carrara" <m.carrara@proxmox.com>
To: "Thomas Lamprecht" <t.lamprecht@proxmox.com>,
"Proxmox VE development discussion" <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH v1 pve-common 11/18] pbsclient: let `status` method return a hash instead of an array
Date: Thu, 21 Nov 2024 17:29:06 +0100 [thread overview]
Message-ID: <D5RZZ1Y9W3FY.EX2JA5Z9INB9@proxmox.com> (raw)
In-Reply-To: <abeefcea-05af-4af0-8fef-cbe8659067ab@proxmox.com>
On Mon Nov 11, 2024 at 8:17 PM CET, Thomas Lamprecht wrote:
> Am 02.08.24 um 15:26 schrieb Max Carrara:
> > Instead of returning an (arguably awkward) array with four elements,
>
> can be fine, but FWIW, this is how our storage plugin system expects the
> status, but currently that calls run_client_cmd itself, i.e. is basically a
> copy of the original code here.
Ah, thanks for pointing that out, I hadn't considered this, as the
`status` sub isn't in use currently.
Wouldn't it make sense to design the API of PVE::PBSClient independent
of other components, though? Of course it should be able to do what
other system components need it to do, but in this case, returning an
array is much less extendable (and IMO readable) than returning a hash.
To elaborate on my reasoning here: Since I had assumed that this is a
more general purpose PBS client lib, I didn't want its return types,
signatures, etc. to be too restrictively designed.
>
> > where each element has a special meaning, return the hash that is
> > constructed from the `proxmox-backup-client status` command's JSON
> > output.
> >
> > The documentation is updated accordingly.
> >
> > This method isn't used anywhere in our code base at the moment, so I
> > assume it is safe to change it. Checked with ripgrep.
> >
> > Signed-off-by: Max Carrara <m.carrara@proxmox.com>
> > ---
> > src/PVE/PBSClient.pm | 32 ++++++++++----------------------
> > 1 file changed, 10 insertions(+), 22 deletions(-)
> >
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2024-11-21 16:29 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-02 13:26 [pve-devel] [PATCH v1 pve-common 00/18] Introduction of libproxmox-backup-client-perl Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 01/18] pbsclient: rename 'sdir' parameter of constructor to 'secret_dir' Max Carrara
2024-11-11 19:08 ` [pve-devel] applied: " Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 02/18] pbsclient: use parentheses when calling most inbuilts Max Carrara
2024-11-11 19:08 ` [pve-devel] applied: " Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 03/18] pbsclient: use post-if definedness checks instead of '//=' operator Max Carrara
2024-11-11 19:09 ` [pve-devel] applied: " Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 04/18] pbsclient: pull variable out of long post-if definedness check Max Carrara
2024-11-11 19:09 ` [pve-devel] applied: " Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 05/18] pbsclient: use cond. statements instead of chained 'or' operators Max Carrara
2024-11-11 19:10 ` Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 06/18] pbsclient: use spaces around list braces and parens around ternaries Max Carrara
2024-11-11 19:11 ` [pve-devel] applied: " Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 07/18] pbsclient: s/foreach/for Max Carrara
2024-11-11 19:11 ` [pve-devel] applied: " Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 08/18] pbsclient: document package and its public functions & methods Max Carrara
2024-11-11 19:14 ` Thomas Lamprecht
2024-11-21 15:54 ` Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 09/18] pbsclient: create secret dir with `mkdir -p` and mode `700` Max Carrara
2024-11-11 19:16 ` Thomas Lamprecht
2024-11-21 16:09 ` Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 10/18] pbsclient: use `File::Spec->catfile` to concatenate file paths Max Carrara
2024-11-11 19:16 ` Thomas Lamprecht
2024-11-21 16:17 ` Max Carrara
2024-11-22 12:46 ` Thomas Lamprecht
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 11/18] pbsclient: let `status` method return a hash instead of an array Max Carrara
2024-11-11 19:17 ` Thomas Lamprecht
2024-11-21 16:29 ` Max Carrara [this message]
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 12/18] pbsclient: throw exception if username of client has no realm Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 13/18] pbsclient: make method `password_file_name` public Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 14/18] pbsclient: prohibit implicit return Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 15/18] pbsclient: don't return anything in PXAR methods Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 16/18] pbsclient: don't return anything in `forget_snapshot` Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 17/18] make: support building multiple packages from the same source Max Carrara
2024-08-02 13:26 ` [pve-devel] [PATCH v1 pve-common 18/18] deb: split PBSClient.pm into new package libproxmox-backup-client-perl Max Carrara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D5RZZ1Y9W3FY.EX2JA5Z9INB9@proxmox.com \
--to=m.carrara@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
--cc=t.lamprecht@proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox