1. Packages
  2. Packages
  3. Freebox
  4. API Docs
  5. virtual
  6. Machine
Viewing docs for Freebox v0.3.11
published on Friday, Jul 3, 2026 by OlivierPaquien
freebox logo
Viewing docs for Freebox v0.3.11
published on Friday, Jul 3, 2026 by OlivierPaquien

    Create Machine Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Machine(name: string, args: MachineArgs, opts?: CustomResourceOptions);
    @overload
    def Machine(resource_name: str,
                args: MachineArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Machine(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                disk_type: Optional[str] = None,
                vcpus: Optional[int] = None,
                name: Optional[str] = None,
                memory: Optional[int] = None,
                disk_path: Optional[str] = None,
                cloudinit_userdata: Optional[str] = None,
                enable_cloudinit: Optional[bool] = None,
                enable_screen: Optional[bool] = None,
                bind_usb_ports: Optional[Sequence[str]] = None,
                cloudinit_hostname: Optional[str] = None,
                os: Optional[str] = None,
                status: Optional[str] = None,
                timeouts: Optional[_root_inputs.VirtualMachineTimeoutsArgs] = None,
                cd_path: Optional[str] = None)
    func NewMachine(ctx *Context, name string, args MachineArgs, opts ...ResourceOption) (*Machine, error)
    public Machine(string name, MachineArgs args, CustomResourceOptions? opts = null)
    public Machine(String name, MachineArgs args)
    public Machine(String name, MachineArgs args, CustomResourceOptions options)
    
    type: freebox:virtual:Machine
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "freebox_virtual_machine" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args MachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args MachineArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args MachineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args MachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args MachineArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var machineResource = new Freebox.Virtual.Machine("machineResource", new()
    {
        DiskType = "string",
        Vcpus = 0,
        Name = "string",
        Memory = 0,
        DiskPath = "string",
        CloudinitUserdata = "string",
        EnableCloudinit = false,
        EnableScreen = false,
        BindUsbPorts = new[]
        {
            "string",
        },
        CloudinitHostname = "string",
        Os = "string",
        Status = "string",
        Timeouts = new Freebox.Inputs.VirtualMachineTimeoutsArgs
        {
            Create = 0,
            Delete = 0,
            Kill = 0,
            Networking = 0,
            Read = 0,
            Update = 0,
        },
        CdPath = "string",
    });
    
    example, err := virtual.NewMachine(ctx, "machineResource", &virtual.MachineArgs{
    	DiskType:          pulumi.String("string"),
    	Vcpus:             pulumi.Int(0),
    	Name:              pulumi.String("string"),
    	Memory:            pulumi.Int(0),
    	DiskPath:          pulumi.String("string"),
    	CloudinitUserdata: pulumi.String("string"),
    	EnableCloudinit:   pulumi.Bool(false),
    	EnableScreen:      pulumi.Bool(false),
    	BindUsbPorts: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	CloudinitHostname: pulumi.String("string"),
    	Os:                pulumi.String("string"),
    	Status:            pulumi.String("string"),
    	Timeouts: &freebox.VirtualMachineTimeoutsArgs{
    		Create:     pulumi.Int(0),
    		Delete:     pulumi.Int(0),
    		Kill:       pulumi.Int(0),
    		Networking: pulumi.Int(0),
    		Read:       pulumi.Int(0),
    		Update:     pulumi.Int(0),
    	},
    	CdPath: pulumi.String("string"),
    })
    
    resource "freebox_virtual_machine" "machineResource" {
      disk_type          = "string"
      vcpus              = 0
      name               = "string"
      memory             = 0
      disk_path          = "string"
      cloudinit_userdata = "string"
      enable_cloudinit   = false
      enable_screen      = false
      bind_usb_ports     = ["string"]
      cloudinit_hostname = "string"
      os                 = "string"
      status             = "string"
      timeouts = {
        create     = 0
        delete     = 0
        kill       = 0
        networking = 0
        read       = 0
        update     = 0
      }
      cd_path = "string"
    }
    
    var machineResource = new Machine("machineResource", MachineArgs.builder()
        .diskType("string")
        .vcpus(0)
        .name("string")
        .memory(0)
        .diskPath("string")
        .cloudinitUserdata("string")
        .enableCloudinit(false)
        .enableScreen(false)
        .bindUsbPorts("string")
        .cloudinitHostname("string")
        .os("string")
        .status("string")
        .timeouts(VirtualMachineTimeoutsArgs.builder()
            .create(0)
            .delete(0)
            .kill(0)
            .networking(0)
            .read(0)
            .update(0)
            .build())
        .cdPath("string")
        .build());
    
    machine_resource = freebox.virtual.Machine("machineResource",
        disk_type="string",
        vcpus=0,
        name="string",
        memory=0,
        disk_path="string",
        cloudinit_userdata="string",
        enable_cloudinit=False,
        enable_screen=False,
        bind_usb_ports=["string"],
        cloudinit_hostname="string",
        os="string",
        status="string",
        timeouts={
            "create": 0,
            "delete": 0,
            "kill": 0,
            "networking": 0,
            "read": 0,
            "update": 0,
        },
        cd_path="string")
    
    const machineResource = new freebox.virtual.Machine("machineResource", {
        diskType: "string",
        vcpus: 0,
        name: "string",
        memory: 0,
        diskPath: "string",
        cloudinitUserdata: "string",
        enableCloudinit: false,
        enableScreen: false,
        bindUsbPorts: ["string"],
        cloudinitHostname: "string",
        os: "string",
        status: "string",
        timeouts: {
            create: 0,
            "delete": 0,
            kill: 0,
            networking: 0,
            read: 0,
            update: 0,
        },
        cdPath: "string",
    });
    
    type: freebox:virtual:Machine
    properties:
        bindUsbPorts:
            - string
        cdPath: string
        cloudinitHostname: string
        cloudinitUserdata: string
        diskPath: string
        diskType: string
        enableCloudinit: false
        enableScreen: false
        memory: 0
        name: string
        os: string
        status: string
        timeouts:
            create: 0
            delete: 0
            kill: 0
            networking: 0
            read: 0
            update: 0
        vcpus: 0
    

    Machine Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Machine resource accepts the following input properties:

    DiskPath string
    Path to the disk image.
    DiskType string
    Disk type: qcow2 or raw.
    Memory int
    Memory in MB.
    Name string
    Name of the VM.
    Vcpus int
    Number of vCPUs.
    BindUsbPorts List<string>
    USB ports to bind.
    CdPath string
    Path to CD/ISO image.
    CloudinitHostname string
    Cloud-init hostname.
    CloudinitUserdata string
    Cloud-init user-data.
    EnableCloudinit bool
    Enable cloud-init.
    EnableScreen bool
    Enable VNC screen.
    Os string
    OS type (for icon).
    Status string
    Desired state: running or stopped. Default running.
    Timeouts OlivierPaquien.Pulumi.Freebox.Inputs.VirtualMachineTimeouts
    Operation timeouts (create, update, read, delete, kill, networking).
    DiskPath string
    Path to the disk image.
    DiskType string
    Disk type: qcow2 or raw.
    Memory int
    Memory in MB.
    Name string
    Name of the VM.
    Vcpus int
    Number of vCPUs.
    BindUsbPorts []string
    USB ports to bind.
    CdPath string
    Path to CD/ISO image.
    CloudinitHostname string
    Cloud-init hostname.
    CloudinitUserdata string
    Cloud-init user-data.
    EnableCloudinit bool
    Enable cloud-init.
    EnableScreen bool
    Enable VNC screen.
    Os string
    OS type (for icon).
    Status string
    Desired state: running or stopped. Default running.
    Timeouts VirtualMachineTimeoutsArgs
    Operation timeouts (create, update, read, delete, kill, networking).
    disk_path string
    Path to the disk image.
    disk_type string
    Disk type: qcow2 or raw.
    memory number
    Memory in MB.
    name string
    Name of the VM.
    vcpus number
    Number of vCPUs.
    bind_usb_ports list(string)
    USB ports to bind.
    cd_path string
    Path to CD/ISO image.
    cloudinit_hostname string
    Cloud-init hostname.
    cloudinit_userdata string
    Cloud-init user-data.
    enable_cloudinit bool
    Enable cloud-init.
    enable_screen bool
    Enable VNC screen.
    os string
    OS type (for icon).
    status string
    Desired state: running or stopped. Default running.
    timeouts object
    Operation timeouts (create, update, read, delete, kill, networking).
    diskPath String
    Path to the disk image.
    diskType String
    Disk type: qcow2 or raw.
    memory Integer
    Memory in MB.
    name String
    Name of the VM.
    vcpus Integer
    Number of vCPUs.
    bindUsbPorts List<String>
    USB ports to bind.
    cdPath String
    Path to CD/ISO image.
    cloudinitHostname String
    Cloud-init hostname.
    cloudinitUserdata String
    Cloud-init user-data.
    enableCloudinit Boolean
    Enable cloud-init.
    enableScreen Boolean
    Enable VNC screen.
    os String
    OS type (for icon).
    status String
    Desired state: running or stopped. Default running.
    timeouts VirtualMachineTimeouts
    Operation timeouts (create, update, read, delete, kill, networking).
    diskPath string
    Path to the disk image.
    diskType string
    Disk type: qcow2 or raw.
    memory number
    Memory in MB.
    name string
    Name of the VM.
    vcpus number
    Number of vCPUs.
    bindUsbPorts string[]
    USB ports to bind.
    cdPath string
    Path to CD/ISO image.
    cloudinitHostname string
    Cloud-init hostname.
    cloudinitUserdata string
    Cloud-init user-data.
    enableCloudinit boolean
    Enable cloud-init.
    enableScreen boolean
    Enable VNC screen.
    os string
    OS type (for icon).
    status string
    Desired state: running or stopped. Default running.
    timeouts VirtualMachineTimeouts
    Operation timeouts (create, update, read, delete, kill, networking).
    disk_path str
    Path to the disk image.
    disk_type str
    Disk type: qcow2 or raw.
    memory int
    Memory in MB.
    name str
    Name of the VM.
    vcpus int
    Number of vCPUs.
    bind_usb_ports Sequence[str]
    USB ports to bind.
    cd_path str
    Path to CD/ISO image.
    cloudinit_hostname str
    Cloud-init hostname.
    cloudinit_userdata str
    Cloud-init user-data.
    enable_cloudinit bool
    Enable cloud-init.
    enable_screen bool
    Enable VNC screen.
    os str
    OS type (for icon).
    status str
    Desired state: running or stopped. Default running.
    timeouts VirtualMachineTimeoutsArgs
    Operation timeouts (create, update, read, delete, kill, networking).
    diskPath String
    Path to the disk image.
    diskType String
    Disk type: qcow2 or raw.
    memory Number
    Memory in MB.
    name String
    Name of the VM.
    vcpus Number
    Number of vCPUs.
    bindUsbPorts List<String>
    USB ports to bind.
    cdPath String
    Path to CD/ISO image.
    cloudinitHostname String
    Cloud-init hostname.
    cloudinitUserdata String
    Cloud-init user-data.
    enableCloudinit Boolean
    Enable cloud-init.
    enableScreen Boolean
    Enable VNC screen.
    os String
    OS type (for icon).
    status String
    Desired state: running or stopped. Default running.
    timeouts Property Map
    Operation timeouts (create, update, read, delete, kill, networking).

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Machine resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Mac string
    MAC address of the VM.
    VmId int
    Freebox API VM ID.
    Ipv4 string
    First IPv4 address of the VM on the LAN (when running).
    Networking List<OlivierPaquien.Pulumi.Freebox.Outputs.NetworkingBind>
    Network binds (interface, IPv4, IPv6) for the VM.
    Id string
    The provider-assigned unique ID for this managed resource.
    Mac string
    MAC address of the VM.
    VmId int
    Freebox API VM ID.
    Ipv4 string
    First IPv4 address of the VM on the LAN (when running).
    Networking NetworkingBind
    Network binds (interface, IPv4, IPv6) for the VM.
    id string
    The provider-assigned unique ID for this managed resource.
    mac string
    MAC address of the VM.
    vm_id number
    Freebox API VM ID.
    ipv4 string
    First IPv4 address of the VM on the LAN (when running).
    networking list(object)
    Network binds (interface, IPv4, IPv6) for the VM.
    id String
    The provider-assigned unique ID for this managed resource.
    mac String
    MAC address of the VM.
    vmId Integer
    Freebox API VM ID.
    ipv4 String
    First IPv4 address of the VM on the LAN (when running).
    networking List<NetworkingBind>
    Network binds (interface, IPv4, IPv6) for the VM.
    id string
    The provider-assigned unique ID for this managed resource.
    mac string
    MAC address of the VM.
    vmId number
    Freebox API VM ID.
    ipv4 string
    First IPv4 address of the VM on the LAN (when running).
    networking NetworkingBind[]
    Network binds (interface, IPv4, IPv6) for the VM.
    id str
    The provider-assigned unique ID for this managed resource.
    mac str
    MAC address of the VM.
    vm_id int
    Freebox API VM ID.
    ipv4 str
    First IPv4 address of the VM on the LAN (when running).
    networking Sequence[root_NetworkingBind]
    Network binds (interface, IPv4, IPv6) for the VM.
    id String
    The provider-assigned unique ID for this managed resource.
    mac String
    MAC address of the VM.
    vmId Number
    Freebox API VM ID.
    ipv4 String
    First IPv4 address of the VM on the LAN (when running).
    networking List<Property Map>
    Network binds (interface, IPv4, IPv6) for the VM.

    Supporting Types

    NetworkingBind, NetworkingBindArgs

    Interface string
    Ipv4 string
    Ipv6 List<string>
    Interface string
    Ipv4 string
    Ipv6 []string
    interface string
    ipv4 string
    ipv6 list(string)
    interface_ String
    ipv4 String
    ipv6 List<String>
    interface string
    ipv4 string
    ipv6 string[]
    interface str
    ipv4 str
    ipv6 Sequence[str]
    interface String
    ipv4 String
    ipv6 List<String>

    VirtualMachineTimeouts, VirtualMachineTimeoutsArgs

    Create int
    Delete int
    Kill int
    Networking int
    Read int
    Update int
    Create int
    Delete int
    Kill int
    Networking int
    Read int
    Update int
    create number
    delete number
    kill number
    networking number
    read number
    update number
    create Integer
    delete Integer
    kill Integer
    networking Integer
    read Integer
    update Integer
    create number
    delete number
    kill number
    networking number
    read number
    update number
    create int
    delete int
    kill int
    networking int
    read int
    update int
    create Number
    delete Number
    kill Number
    networking Number
    read Number
    update Number

    Package Details

    Repository
    freebox
    License
    freebox logo
    Viewing docs for Freebox v0.3.11
    published on Friday, Jul 3, 2026 by OlivierPaquien

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial