Viewing docs for Freebox v0.3.11
published on Friday, Jul 3, 2026 by OlivierPaquien
published on Friday, Jul 3, 2026 by OlivierPaquien
Freebox
I want to use the Pulumi Freebox package (freebox) in my project.
## Provider details
- Package: freebox
- Version: v0.3.11
- Publisher: OlivierPaquien
- Source: pulumi
- Repository: https://github.com/OlivierPaquien/pulumi-freebox
## Documentation
The Pulumi Cloud Registry API serves canonical, up-to-date docs for this package — including private packages and every published version. Send the "Accept: text/markdown" header for clean readable content, or "application/json" for structured data.
Start at the navigation tree, which cross-links to the readme, installation guide, and per-resource docs URL template:
- https://api.pulumi.com/api/registry/packages/pulumi/OlivierPaquien/freebox/versions/latest/nav
Returns a summary by default. The full tree can be hundreds of kB for large providers, so prefer targeted search: append "?q=<query>&depth=full" to filter by resource/function title or token (for example "?q=bucket&depth=full"). Only request the full nav without a query if you actually need to enumerate every resource.
Other endpoints:
- Overview and getting started: https://api.pulumi.com/api/registry/packages/pulumi/OlivierPaquien/freebox/versions/latest/readme
- Installation and configuration: https://api.pulumi.com/api/registry/packages/pulumi/OlivierPaquien/freebox/versions/latest/installation
- Per-resource/function docs: https://api.pulumi.com/api/registry/packages/pulumi/OlivierPaquien/freebox/versions/latest/docs/{token}?lang={lang}
Replace {token} with the percent-encoded token from the nav response (for example aws:s3/bucket:Bucket).
Replace {lang} with typescript, python, go, csharp, java, or yaml.
Fetch the installation endpoint above for the correct setup steps — install instructions vary between native providers, bridged Terraform providers, and component packages.
Help me get started using this provider. Show me a complete Pulumi program that provisions a common resource, including all necessary configuration and imports.
Viewing docs for Freebox v0.3.11
published on Friday, Jul 3, 2026 by OlivierPaquien
published on Friday, Jul 3, 2026 by OlivierPaquien
The Freebox provider lets you manage a Freebox router through the Freebox API as infrastructure as code. It is a native Pulumi provider implemented in Go with pulumi-go-provider, ported from terraform-provider-freebox without the Terraform Bridge.
Resources
| Token | Description |
|---|---|
freebox:fw:PortForwarding | Port forwarding rule (NAT) |
freebox:virtual:Disk | Virtual disk (qcow2/raw) on the Freebox |
freebox:virtual:Machine | Virtual machine configuration and optional power state |
freebox:virtual:MachinePower | VM power state only (running / stopped), independent of VM config |
freebox:dhcp:StaticLease | DHCP static lease (reserve an IPv4 address for a MAC address) |
freebox:downloads:File | File on the Freebox (download, copy, upload, extract) |
freebox:vpn:Server | OpenVPN server configuration (singleton per Freebox) |
freebox:vpn:User | OpenVPN user account |
freebox:lan:Config | LAN configuration (singleton per Freebox) |
Virtual machines: Machine vs MachinePower
- Use
freebox:virtual:Machinewhen you manage VM configuration (disk, memory, vCPUs) and optionally power state via thestatusproperty (runningorstopped, defaultrunning). - Use
freebox:virtual:MachinePowerwhen you want to control power independently from configuration (for example start/stop on a schedule without changing VM settings). - Do not manage the same VM with both
statusonMachineand aMachinePowerresource — pick one approach per VM.
Functions
| Token | Description |
|---|---|
freebox:api:Version | Freebox API discovery (version, model, etc.) |
freebox:virtual:getVirtualDisk | Virtual disk information (type, sizes) |
freebox:dhcp:getLease | DHCP static lease by MAC address |
freebox:dhcp:getLeases | List all DHCP static leases |
freebox:lan:getConfig | Read LAN configuration |
freebox:lan:getInterfaces | List LAN interfaces |
freebox:lan:getInterfaceHosts | List hosts on a LAN interface |
freebox:lan:getInterfaceHost | Read a single LAN host |
freebox:virtual:getDistributions | VM OS distributions available on the Freebox |
freebox:system:getInfo | Freebox system information |
Example
The example below creates a TCP port forwarding rule that exposes SSH on the WAN side and forwards traffic to a host on the LAN.
import * as pulumi from "@pulumi/pulumi";
import * as freebox from "pulumi-freebox";
const pf = new freebox.PortForwarding("ssh", {
enabled: true,
ipProtocol: "tcp",
portRangeStart: 22,
targetIp: "192.168.1.10",
comment: "SSH",
});
import pulumi
import pulumi_freebox as freebox
pf = freebox.PortForwarding(
"ssh",
enabled=True,
ip_protocol="tcp",
port_range_start=22,
target_ip="192.168.1.10",
comment="SSH",
)
using Pulumi;
using OlivierPaquien.Pulumi.Freebox;
var pf = new PortForwarding("ssh", new PortForwardingArgs
{
Enabled = true,
IpProtocol = "tcp",
PortRangeStart = 22,
TargetIp = "192.168.1.10",
Comment = "SSH",
});
package main
import (
"github.com/OlivierPaquien/pulumi-freebox/sdk/go/freebox"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := freebox.NewPortForwarding(ctx, "ssh", &freebox.PortForwardingArgs{
Enabled: pulumi.Bool(true),
IpProtocol: pulumi.String("tcp"),
PortRangeStart: pulumi.Int(22),
TargetIp: pulumi.String("192.168.1.10"),
Comment: pulumi.String("SSH"),
})
return err
})
}
name: freebox-example
runtime: yaml
config:
freebox:endpoint: http://mafreebox.freebox.fr
freebox:appId: "your_app_id"
freebox:token:
secret: your_token
resources:
ssh:
type: freebox:fw:PortForwarding
properties:
enabled: true
ipProtocol: tcp
portRangeStart: 22
targetIp: "192.168.1.10"
comment: SSH
Source
- Provider repository: github.com/OlivierPaquien/pulumi-freebox
- Freebox API client: github.com/NikolaLohinski/free-go
Viewing docs for Freebox v0.3.11
published on Friday, Jul 3, 2026 by OlivierPaquien
published on Friday, Jul 3, 2026 by OlivierPaquien