all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	n.frey@proxmox.com
Subject: Re: [pve-devel] [PATCH pve-manager 4/5] api: add service state return schema
Date: Mon, 22 Sep 2025 19:16:33 +0200	[thread overview]
Message-ID: <c2d7501c-a306-4778-8ff8-4e9897fb8482@proxmox.com> (raw)
In-Reply-To: <20250919093915.21641-5-n.frey@proxmox.com>

Am 19.09.25 um 11:40 schrieb n.frey@proxmox.com:
> From: Nicolas Frey <n.frey@proxmox.com>
> 
> Signed-off-by: Nicolas Frey <n.frey@proxmox.com>
> ---
>  PVE/API2/Services.pm | 30 +++++++++++++++++++++++++++++-
>  1 file changed, 29 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/API2/Services.pm b/PVE/API2/Services.pm
> index 708b6613..c8e3e933 100644
> --- a/PVE/API2/Services.pm
> +++ b/PVE/API2/Services.pm
> @@ -241,7 +241,35 @@ __PACKAGE__->register_method({
>      },
>      returns => {
>          type => "object",
> -        properties => {},
> +        properties => {
> +            'active-state' => {
> +                type => 'string',
> +                enum => ['active', 'inactive', 'unknown'],

This is taken 1:1 from systemd's ActiveState of a unit.

You can check the systemd.directives manual page for all known configuration
and most state terms that systemd knows about. For "ActiveState" it links
to the manual page describing the D-Bus interface of systemd, which has
a table with all known values [1] that has a few more variants than what you
include above.

[0]: https://manpages.debian.org/trixie/systemd/systemd.directives.7.en.html
[1]: https://manpages.debian.org/trixie/systemd/org.freedesktop.systemd1.5.en.html#:~:text=Unit%20ACTIVE%20states

> +                description => 'Current active state of the service process.',
> +            },
> +            'state' => {
> +                type => 'string',
> +                enum => ['running', 'dead', 'unknown'],

Similar to above this can be a few other variants as well, you can check our
code and then [1] to see what values this can actually include.

> +                description => 'Execution status of the service.',
> +            },
> +            'unit-state' => {
> +                type => 'string',
> +                enum => ['enabled', 'disabled', 'not-found'],

There are a few additional variants here too, see [1] again, "UnitFileState" is
documented quite close to the "ActiveState"

> +                description => 'Whether the service is enabled to start at boot.',
> +            },
> +            'service' => {
> +                type => 'string',
> +                description => 'Systemd unit name (e.g., pveproxy).',

While not wrong, this is actually what we refer to the systemd unit
too, i.e. it might resolve to a different name if we use a (outdated)
alias or the like. But not really relevant and hard to encode into the
description, so fine by me as is.

> +            },
> +            'name' => {
> +                type => 'string',
> +                description => 'Short identifier for the service (e.g., "pveproxy").',

> +            },
> +            'desc' => {
> +                type => 'string',
> +                description => 'Human-readable description of the service.',
> +            },
> +        },
>      },
>      code => sub {
>          my ($param) = @_;



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  reply	other threads:[~2025-09-22 17:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-19  9:33 [pve-devel] [PATCH pve-manager 0/5] api: add return schemas and fix grammar in ifupdown2 error message n.frey
2025-09-19  9:33 ` [pve-devel] [PATCH pve-manager 1/5] Fix grammar in ifupdown2 version " n.frey
2025-09-22 16:49   ` [pve-devel] applied: " Thomas Lamprecht
2025-09-19  9:33 ` [pve-devel] [PATCH pve-manager 2/5] api: add ACME plugin return schema n.frey
2025-09-22 16:47   ` Thomas Lamprecht
2025-09-19  9:33 ` [pve-devel] [PATCH pve-manager 3/5] api: add APT versions " n.frey
2025-09-22 17:01   ` Thomas Lamprecht
2025-09-19  9:33 ` [pve-devel] [PATCH pve-manager 4/5] api: add service state " n.frey
2025-09-22 17:16   ` Thomas Lamprecht [this message]
2025-09-19  9:33 ` [pve-devel] [PATCH pve-manager 5/5] api: add replication config read " n.frey
2025-09-22 17:18   ` Thomas Lamprecht

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=c2d7501c-a306-4778-8ff8-4e9897fb8482@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=n.frey@proxmox.com \
    --cc=pve-devel@lists.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal