https://github.com/client-api/pdm-go
https://github.com/client-api/pdm-go
Last synced: 20 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/client-api/pdm-go
- Owner: client-api
- License: apache-2.0
- Created: 2026-05-23T13:29:49.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-23T15:15:06.000Z (about 1 month ago)
- Last Synced: 2026-05-23T17:09:07.116Z (about 1 month ago)
- Language: Shell
- Size: 947 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pdm-go
Go SDK for the Proxmox Datacenter Manager API. Generated from
the upstream `apidoc.js` from Proxmox Datacenter Manager via [openapi-generator-cli][gen] with custom
Mustache template overrides.
> **Not an official Proxmox project.** Community SDK derived from the
> upstream `apidoc.js`. Always verify against the upstream API viewer.
> .
Requires Go ≥ 1.22.
## Install
```bash
go get github.com/client-api/pdm-go
```
## Usage
```go
package main
import (
"context"
"fmt"
"github.com/client-api/pdm-go"
)
func main() {
cfg := openapi.NewConfiguration()
cfg.Servers[0].URL = "https://pdm1.example.com:8443/api2/json"
cfg.AddDefaultHeader("Authorization", "PDMAPIToken=user@realm!tokenid:uuid-secret")
pve := openapi.NewPdm(cfg)
status, _, err := pve.QemuAPI.QemuVmStatus(context.Background(), "pdm1", 100).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", status)
}
```
`Pdm` is a brand alias for the generator's `*APIClient`, which already
exposes every per-tag API as a struct field
(`QemuAPI`, `LxcAPI`, `ClusterAPI`, …).
## Compound configs
PVE encodes many fields as CLI-style shorthand strings
(`net0=virtio,bridge=vmbr0,firewall=1`). Round-trip helpers are
emitted for every compound config schema:
```go
cfg := openapi.PveQemuNetConfig{
Model: "virtio",
Bridge: stringPtr("vmbr0"),
Firewall: int32Ptr(1),
}
shorthand := cfg.ToShorthand()
// → "virtio,bridge=vmbr0,firewall=1"
```
## License
Apache 2.0 — see [LICENSE](./LICENSE).
[gen]: https://openapi-generator.tech