---
name: "netplan-dbus"
section: "8"
platform: "linux"
package: "netplan"
version: "1.2.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/netplan-dbus"
---

# netplan-dbus(8)

daemon to access Netplan functionality via a D-Bus API

## NAME

`netplan-dbus` - daemon to access Netplan functionality via a D-Bus API

## SYNOPSIS

**netplan-dbus**

## DESCRIPTION

**netplan-dbus** is a D-Bus daemon, providing `io.netplan.Netplan` on the system bus. The `/io/netplan/Netplan` object provides an `io.netplan.Netplan` interface, offering the following methods:

- •

  `Apply() -> b`: calls `netplan apply` and returns a success or failure status.

- •

  `Generate() -> b`: calls `netplan generate` and returns a success or failure status.

- •

  `Info() -> a(sv)`: returns a dictionary "Features -\> as", containing an array of all available feature flags.

- •

  `Config() -> o`: prepares a new configuration object as `/io/netplan/Netplan/config/<ID>`, by copying the current state from `/{etc,run,lib}/netplan/*.yaml`.

The `/io/netplan/Netplan/config/<ID>` objects provide a `io.netplan.Netplan.Config` interface, offering the following methods:

- •

  `Get() -> s`: calls `netplan get --root-dir=/run/netplan/config-ID all` and returns the merged YAML configuration of the the given configuration object's state

- •

  `Set(s:CONFIG_DELTA, s:ORIGIN_HINT) -> b`: calls `netplan set --root-dir=/run/netplan/config-ID --origin-hint=ORIGIN_HINT CONFIG_DELTA`

  `CONFIG_DELTA` can be something like: `network.ethernets.eth0.dhcp4=true` and `ORIGIN_HINT` can be something like: `70-snapd` (it will then write the configuration to `70-snapd.yaml`). Once `Set()` is called on a configuration object, all other current and future configuration objects are being invalidated and cannot `Set()` or `Try()/Apply()` anymore, due to this pending dirty state. After the dirty configuration object is rejected via `Cancel()`, the other configuration objects are valid again. If the dirty configuration object is accepted via `Apply()`, newly created configuration objects will be valid, while the older states will stay invalid.

- •

  `Try(u:TIMEOUT_SEC) -> b`: replaces the main Netplan configuration with this configuration object's state and calls `netplan try --timeout=TIMEOUT_SEC`.

- •

  `Cancel() -> b`: rejects a currently running `Try()` attempt on this configuration object and/or discards the configuration object.

- •

  `Apply() -> b`: replaces the main Netplan configuration with this configuration object's state and calls `netplan apply`.

For information about the `Apply()`/`Try()`/`Get()`/`Set()` functionality, see [**netplan-apply**(8)](/netplan-apply/8.md)/[**netplan-try**(8)](/netplan-try/8.md)/[**netplan-get**(8)](/netplan-get/8.md)/[**netplan-set**(8)](/netplan-set/8.md) accordingly. For details of the configuration file format, see [**netplan**(5)](/netplan/5.md).

## SEE ALSO

[**netplan**(5)](/netplan/5.md), [**netplan-apply**(8)](/netplan-apply/8.md), [**netplan-try**(8)](/netplan-try/8.md), [**netplan-get**(8)](/netplan-get/8.md), [**netplan-set**(8)](/netplan-set/8.md)

## AUTHORS

Lukas Märdian (⟨lukas.maerdian@canonical.com⟩\\c ).
