## VPN Plugin D-Bus API Types

VPN Plugin D-Bus API Types

### enum NMVpnServiceState

VPN daemon states

#### Values

NM_VPN_SERVICE_STATE_UNKNOWN | = `0` | The state of the VPN plugin is unknown. |
NM_VPN_SERVICE_STATE_INIT | = `1` | The VPN plugin is initialized. |
NM_VPN_SERVICE_STATE_SHUTDOWN | = `2` | Not used. |
NM_VPN_SERVICE_STATE_STARTING | = `3` | The plugin is attempting to connect to a VPN server. |
NM_VPN_SERVICE_STATE_STARTED | = `4` | The plugin has connected to a VPN server. |
NM_VPN_SERVICE_STATE_STOPPING | = `5` | The plugin is disconnecting from the VPN server. |
NM_VPN_SERVICE_STATE_STOPPED | = `6` | The plugin has disconnected from the VPN server. |

### enum NMVpnConnectionState

VPN connection states

#### Values

NM_VPN_CONNECTION_STATE_UNKNOWN | = `0` | The state of the VPN connection is unknown. |
NM_VPN_CONNECTION_STATE_PREPARE | = `1` | The VPN connection is preparing to connect. |
NM_VPN_CONNECTION_STATE_NEED_AUTH | = `2` | The VPN connection needs authorization credentials. |
NM_VPN_CONNECTION_STATE_CONNECT | = `3` | The VPN connection is being established. |
NM_VPN_CONNECTION_STATE_IP_CONFIG_GET | = `4` | The VPN connection is getting an IP address. |
NM_VPN_CONNECTION_STATE_ACTIVATED | = `5` | The VPN connection is active. |
NM_VPN_CONNECTION_STATE_FAILED | = `6` | The VPN connection failed. |
NM_VPN_CONNECTION_STATE_DISCONNECTED | = `7` | The VPN connection is disconnected. |

### enum NMVpnConnectionStateReason

VPN connection state reasons

#### Values

NM_VPN_CONNECTION_STATE_REASON_UNKNOWN | = `NM_ACTIVE_CONNECTION_STATE_REASON_UNKNOWN` | The reason for the VPN connection state change is unknown. |
NM_VPN_CONNECTION_STATE_REASON_NONE | = `NM_ACTIVE_CONNECTION_STATE_REASON_NONE` | No reason was given for the VPN connection state change. |
NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED | = `NM_ACTIVE_CONNECTION_STATE_REASON_USER_DISCONNECTED` | The VPN connection changed state because the user disconnected it. |
NM_VPN_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED | = `NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED` | The VPN connection changed state because the device it was using was disconnected. |
NM_VPN_CONNECTION_STATE_REASON_SERVICE_STOPPED | = `NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_STOPPED` | The service providing the VPN connection was stopped. |
NM_VPN_CONNECTION_STATE_REASON_IP_CONFIG_INVALID | = `NM_ACTIVE_CONNECTION_STATE_REASON_IP_CONFIG_INVALID` | The IP config of the VPN connection was invalid. |
NM_VPN_CONNECTION_STATE_REASON_CONNECT_TIMEOUT | = `NM_ACTIVE_CONNECTION_STATE_REASON_CONNECT_TIMEOUT` | The connection attempt to the VPN service timed out. |
NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT | = `NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT` | A timeout occurred while starting the service providing the VPN connection. |
NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_FAILED | = `NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_FAILED` | Starting the service starting the service providing the VPN connection failed. |
NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS | = `NM_ACTIVE_CONNECTION_STATE_REASON_NO_SECRETS` | Necessary secrets for the VPN connection were not provided. |
NM_VPN_CONNECTION_STATE_REASON_LOGIN_FAILED | = `NM_ACTIVE_CONNECTION_STATE_REASON_LOGIN_FAILED` | Authentication to the VPN server failed. |
NM_VPN_CONNECTION_STATE_REASON_CONNECTION_REMOVED | = `NM_ACTIVE_CONNECTION_STATE_REASON_CONNECTION_REMOVED` | The connection was deleted from settings. |

### enum NMVpnPluginFailure

VPN plugin failure reasons

#### Values

NM_VPN_PLUGIN_FAILURE_LOGIN_FAILED | = `0` | Login failed. |
NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED | = `1` | Connect failed. |
NM_VPN_PLUGIN_FAILURE_BAD_IP_CONFIG | = `2` | Invalid IP configuration returned from the VPN plugin. |