1. Packages
  2. Libvirt Provider
  3. API Docs
  4. Network
libvirt v0.5.3 published on Thursday, Oct 24, 2024 by Pulumi

libvirt.Network

Explore with Pulumi AI

libvirt logo
libvirt v0.5.3 published on Thursday, Oct 24, 2024 by Pulumi

    Manages a VM network resource within libvirt. For more information see the official documentation.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as libvirt from "@pulumi/libvirt";
    
    const kubeNetwork = new libvirt.Network("kube_network", {
        name: "k8snet",
        mode: "nat",
        domain: "k8s.local",
        addresses: [
            "10.17.3.0/24",
            "2001:db8:ca2:2::1/64",
        ],
        dns: {
            enabled: true,
            localOnly: true,
        },
        dnsmasqOptions: {},
    });
    
    import pulumi
    import pulumi_libvirt as libvirt
    
    kube_network = libvirt.Network("kube_network",
        name="k8snet",
        mode="nat",
        domain="k8s.local",
        addresses=[
            "10.17.3.0/24",
            "2001:db8:ca2:2::1/64",
        ],
        dns={
            "enabled": True,
            "local_only": True,
        },
        dnsmasq_options={})
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-libvirt/sdk/go/libvirt"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := libvirt.NewNetwork(ctx, "kube_network", &libvirt.NetworkArgs{
    			Name:   pulumi.String("k8snet"),
    			Mode:   pulumi.String("nat"),
    			Domain: pulumi.String("k8s.local"),
    			Addresses: pulumi.StringArray{
    				pulumi.String("10.17.3.0/24"),
    				pulumi.String("2001:db8:ca2:2::1/64"),
    			},
    			Dns: &libvirt.NetworkDnsArgs{
    				Enabled:   pulumi.Bool(true),
    				LocalOnly: pulumi.Bool(true),
    			},
    			DnsmasqOptions: &libvirt.NetworkDnsmasqOptionsArgs{},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Libvirt = Pulumi.Libvirt;
    
    return await Deployment.RunAsync(() => 
    {
        var kubeNetwork = new Libvirt.Network("kube_network", new()
        {
            Name = "k8snet",
            Mode = "nat",
            Domain = "k8s.local",
            Addresses = new[]
            {
                "10.17.3.0/24",
                "2001:db8:ca2:2::1/64",
            },
            Dns = new Libvirt.Inputs.NetworkDnsArgs
            {
                Enabled = true,
                LocalOnly = true,
            },
            DnsmasqOptions = null,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.libvirt.Network;
    import com.pulumi.libvirt.NetworkArgs;
    import com.pulumi.libvirt.inputs.NetworkDnsArgs;
    import com.pulumi.libvirt.inputs.NetworkDnsmasqOptionsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var kubeNetwork = new Network("kubeNetwork", NetworkArgs.builder()
                .name("k8snet")
                .mode("nat")
                .domain("k8s.local")
                .addresses(            
                    "10.17.3.0/24",
                    "2001:db8:ca2:2::1/64")
                .dns(NetworkDnsArgs.builder()
                    .enabled(true)
                    .localOnly(true)
                    .build())
                .dnsmasqOptions()
                .build());
    
        }
    }
    
    resources:
      kubeNetwork:
        type: libvirt:Network
        name: kube_network
        properties:
          name: k8snet
          mode: nat
          domain: k8s.local
          addresses:
            - 10.17.3.0/24
            - 2001:db8:ca2:2::1/64
          dns:
            enabled: true
            localOnly: true
          dnsmasqOptions: {}
    

    Create Network Resource

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

    Constructor syntax

    new Network(name: string, args?: NetworkArgs, opts?: CustomResourceOptions);
    @overload
    def Network(resource_name: str,
                args: Optional[NetworkArgs] = None,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Network(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                addresses: Optional[Sequence[str]] = None,
                autostart: Optional[bool] = None,
                bridge: Optional[str] = None,
                dhcp: Optional[NetworkDhcpArgs] = None,
                dns: Optional[NetworkDnsArgs] = None,
                dnsmasq_options: Optional[NetworkDnsmasqOptionsArgs] = None,
                domain: Optional[str] = None,
                mode: Optional[str] = None,
                mtu: Optional[int] = None,
                name: Optional[str] = None,
                routes: Optional[Sequence[NetworkRouteArgs]] = None,
                xml: Optional[NetworkXmlArgs] = None)
    func NewNetwork(ctx *Context, name string, args *NetworkArgs, opts ...ResourceOption) (*Network, error)
    public Network(string name, NetworkArgs? args = null, CustomResourceOptions? opts = null)
    public Network(String name, NetworkArgs args)
    public Network(String name, NetworkArgs args, CustomResourceOptions options)
    
    type: libvirt:Network
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args NetworkArgs
    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 NetworkArgs
    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 NetworkArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NetworkArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NetworkArgs
    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 networkResource = new Libvirt.Network("networkResource", new()
    {
        Addresses = new[]
        {
            "string",
        },
        Autostart = false,
        Bridge = "string",
        Dhcp = new Libvirt.Inputs.NetworkDhcpArgs
        {
            Enabled = false,
        },
        Dns = new Libvirt.Inputs.NetworkDnsArgs
        {
            Enabled = false,
            Forwarders = new[]
            {
                new Libvirt.Inputs.NetworkDnsForwarderArgs
                {
                    Address = "string",
                    Domain = "string",
                },
            },
            Hosts = new[]
            {
                new Libvirt.Inputs.NetworkDnsHostArgs
                {
                    Hostname = "string",
                    Ip = "string",
                },
            },
            LocalOnly = false,
            Srvs = new[]
            {
                new Libvirt.Inputs.NetworkDnsSrvArgs
                {
                    Domain = "string",
                    Port = "string",
                    Priority = "string",
                    Protocol = "string",
                    Service = "string",
                    Target = "string",
                    Weight = "string",
                },
            },
        },
        DnsmasqOptions = new Libvirt.Inputs.NetworkDnsmasqOptionsArgs
        {
            Options = new[]
            {
                new Libvirt.Inputs.NetworkDnsmasqOptionsOptionArgs
                {
                    OptionName = "string",
                    OptionValue = "string",
                },
            },
        },
        Domain = "string",
        Mode = "string",
        Mtu = 0,
        Name = "string",
        Routes = new[]
        {
            new Libvirt.Inputs.NetworkRouteArgs
            {
                Cidr = "string",
                Gateway = "string",
            },
        },
        Xml = new Libvirt.Inputs.NetworkXmlArgs
        {
            Xslt = "string",
        },
    });
    
    example, err := libvirt.NewNetwork(ctx, "networkResource", &libvirt.NetworkArgs{
    	Addresses: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Autostart: pulumi.Bool(false),
    	Bridge:    pulumi.String("string"),
    	Dhcp: &libvirt.NetworkDhcpArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	Dns: &libvirt.NetworkDnsArgs{
    		Enabled: pulumi.Bool(false),
    		Forwarders: libvirt.NetworkDnsForwarderArray{
    			&libvirt.NetworkDnsForwarderArgs{
    				Address: pulumi.String("string"),
    				Domain:  pulumi.String("string"),
    			},
    		},
    		Hosts: libvirt.NetworkDnsHostArray{
    			&libvirt.NetworkDnsHostArgs{
    				Hostname: pulumi.String("string"),
    				Ip:       pulumi.String("string"),
    			},
    		},
    		LocalOnly: pulumi.Bool(false),
    		Srvs: libvirt.NetworkDnsSrvArray{
    			&libvirt.NetworkDnsSrvArgs{
    				Domain:   pulumi.String("string"),
    				Port:     pulumi.String("string"),
    				Priority: pulumi.String("string"),
    				Protocol: pulumi.String("string"),
    				Service:  pulumi.String("string"),
    				Target:   pulumi.String("string"),
    				Weight:   pulumi.String("string"),
    			},
    		},
    	},
    	DnsmasqOptions: &libvirt.NetworkDnsmasqOptionsArgs{
    		Options: libvirt.NetworkDnsmasqOptionsOptionArray{
    			&libvirt.NetworkDnsmasqOptionsOptionArgs{
    				OptionName:  pulumi.String("string"),
    				OptionValue: pulumi.String("string"),
    			},
    		},
    	},
    	Domain: pulumi.String("string"),
    	Mode:   pulumi.String("string"),
    	Mtu:    pulumi.Int(0),
    	Name:   pulumi.String("string"),
    	Routes: libvirt.NetworkRouteArray{
    		&libvirt.NetworkRouteArgs{
    			Cidr:    pulumi.String("string"),
    			Gateway: pulumi.String("string"),
    		},
    	},
    	Xml: &libvirt.NetworkXmlArgs{
    		Xslt: pulumi.String("string"),
    	},
    })
    
    var networkResource = new Network("networkResource", NetworkArgs.builder()
        .addresses("string")
        .autostart(false)
        .bridge("string")
        .dhcp(NetworkDhcpArgs.builder()
            .enabled(false)
            .build())
        .dns(NetworkDnsArgs.builder()
            .enabled(false)
            .forwarders(NetworkDnsForwarderArgs.builder()
                .address("string")
                .domain("string")
                .build())
            .hosts(NetworkDnsHostArgs.builder()
                .hostname("string")
                .ip("string")
                .build())
            .localOnly(false)
            .srvs(NetworkDnsSrvArgs.builder()
                .domain("string")
                .port("string")
                .priority("string")
                .protocol("string")
                .service("string")
                .target("string")
                .weight("string")
                .build())
            .build())
        .dnsmasqOptions(NetworkDnsmasqOptionsArgs.builder()
            .options(NetworkDnsmasqOptionsOptionArgs.builder()
                .optionName("string")
                .optionValue("string")
                .build())
            .build())
        .domain("string")
        .mode("string")
        .mtu(0)
        .name("string")
        .routes(NetworkRouteArgs.builder()
            .cidr("string")
            .gateway("string")
            .build())
        .xml(NetworkXmlArgs.builder()
            .xslt("string")
            .build())
        .build());
    
    network_resource = libvirt.Network("networkResource",
        addresses=["string"],
        autostart=False,
        bridge="string",
        dhcp={
            "enabled": False,
        },
        dns={
            "enabled": False,
            "forwarders": [{
                "address": "string",
                "domain": "string",
            }],
            "hosts": [{
                "hostname": "string",
                "ip": "string",
            }],
            "local_only": False,
            "srvs": [{
                "domain": "string",
                "port": "string",
                "priority": "string",
                "protocol": "string",
                "service": "string",
                "target": "string",
                "weight": "string",
            }],
        },
        dnsmasq_options={
            "options": [{
                "option_name": "string",
                "option_value": "string",
            }],
        },
        domain="string",
        mode="string",
        mtu=0,
        name="string",
        routes=[{
            "cidr": "string",
            "gateway": "string",
        }],
        xml={
            "xslt": "string",
        })
    
    const networkResource = new libvirt.Network("networkResource", {
        addresses: ["string"],
        autostart: false,
        bridge: "string",
        dhcp: {
            enabled: false,
        },
        dns: {
            enabled: false,
            forwarders: [{
                address: "string",
                domain: "string",
            }],
            hosts: [{
                hostname: "string",
                ip: "string",
            }],
            localOnly: false,
            srvs: [{
                domain: "string",
                port: "string",
                priority: "string",
                protocol: "string",
                service: "string",
                target: "string",
                weight: "string",
            }],
        },
        dnsmasqOptions: {
            options: [{
                optionName: "string",
                optionValue: "string",
            }],
        },
        domain: "string",
        mode: "string",
        mtu: 0,
        name: "string",
        routes: [{
            cidr: "string",
            gateway: "string",
        }],
        xml: {
            xslt: "string",
        },
    });
    
    type: libvirt:Network
    properties:
        addresses:
            - string
        autostart: false
        bridge: string
        dhcp:
            enabled: false
        dns:
            enabled: false
            forwarders:
                - address: string
                  domain: string
            hosts:
                - hostname: string
                  ip: string
            localOnly: false
            srvs:
                - domain: string
                  port: string
                  priority: string
                  protocol: string
                  service: string
                  target: string
                  weight: string
        dnsmasqOptions:
            options:
                - optionName: string
                  optionValue: string
        domain: string
        mode: string
        mtu: 0
        name: string
        routes:
            - cidr: string
              gateway: string
        xml:
            xslt: string
    

    Network 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 Network resource accepts the following input properties:

    Addresses List<string>
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    Autostart bool
    Set to true to start the network on host boot up. If not specified false is assumed.
    Bridge string
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    Dhcp NetworkDhcp
    Dns NetworkDns
    configuration of DNS specific settings for the network
    DnsmasqOptions NetworkDnsmasqOptions
    Domain string
    The domain used by the DNS server.
    Mode string
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    Mtu int
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    Name string
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    Routes List<NetworkRoute>
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    Xml NetworkXml
    Addresses []string
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    Autostart bool
    Set to true to start the network on host boot up. If not specified false is assumed.
    Bridge string
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    Dhcp NetworkDhcpArgs
    Dns NetworkDnsArgs
    configuration of DNS specific settings for the network
    DnsmasqOptions NetworkDnsmasqOptionsArgs
    Domain string
    The domain used by the DNS server.
    Mode string
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    Mtu int
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    Name string
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    Routes []NetworkRouteArgs
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    Xml NetworkXmlArgs
    addresses List<String>
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart Boolean
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge String
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp NetworkDhcp
    dns NetworkDns
    configuration of DNS specific settings for the network
    dnsmasqOptions NetworkDnsmasqOptions
    domain String
    The domain used by the DNS server.
    mode String
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu Integer
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name String
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes List<NetworkRoute>
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml NetworkXml
    addresses string[]
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart boolean
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge string
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp NetworkDhcp
    dns NetworkDns
    configuration of DNS specific settings for the network
    dnsmasqOptions NetworkDnsmasqOptions
    domain string
    The domain used by the DNS server.
    mode string
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu number
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name string
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes NetworkRoute[]
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml NetworkXml
    addresses Sequence[str]
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart bool
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge str
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp NetworkDhcpArgs
    dns NetworkDnsArgs
    configuration of DNS specific settings for the network
    dnsmasq_options NetworkDnsmasqOptionsArgs
    domain str
    The domain used by the DNS server.
    mode str
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu int
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name str
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes Sequence[NetworkRouteArgs]
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml NetworkXmlArgs
    addresses List<String>
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart Boolean
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge String
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp Property Map
    dns Property Map
    configuration of DNS specific settings for the network
    dnsmasqOptions Property Map
    domain String
    The domain used by the DNS server.
    mode String
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu Number
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name String
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes List<Property Map>
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml Property Map

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Network Resource

    Get an existing Network resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: NetworkState, opts?: CustomResourceOptions): Network
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            addresses: Optional[Sequence[str]] = None,
            autostart: Optional[bool] = None,
            bridge: Optional[str] = None,
            dhcp: Optional[NetworkDhcpArgs] = None,
            dns: Optional[NetworkDnsArgs] = None,
            dnsmasq_options: Optional[NetworkDnsmasqOptionsArgs] = None,
            domain: Optional[str] = None,
            mode: Optional[str] = None,
            mtu: Optional[int] = None,
            name: Optional[str] = None,
            routes: Optional[Sequence[NetworkRouteArgs]] = None,
            xml: Optional[NetworkXmlArgs] = None) -> Network
    func GetNetwork(ctx *Context, name string, id IDInput, state *NetworkState, opts ...ResourceOption) (*Network, error)
    public static Network Get(string name, Input<string> id, NetworkState? state, CustomResourceOptions? opts = null)
    public static Network get(String name, Output<String> id, NetworkState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Addresses List<string>
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    Autostart bool
    Set to true to start the network on host boot up. If not specified false is assumed.
    Bridge string
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    Dhcp NetworkDhcp
    Dns NetworkDns
    configuration of DNS specific settings for the network
    DnsmasqOptions NetworkDnsmasqOptions
    Domain string
    The domain used by the DNS server.
    Mode string
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    Mtu int
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    Name string
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    Routes List<NetworkRoute>
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    Xml NetworkXml
    Addresses []string
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    Autostart bool
    Set to true to start the network on host boot up. If not specified false is assumed.
    Bridge string
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    Dhcp NetworkDhcpArgs
    Dns NetworkDnsArgs
    configuration of DNS specific settings for the network
    DnsmasqOptions NetworkDnsmasqOptionsArgs
    Domain string
    The domain used by the DNS server.
    Mode string
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    Mtu int
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    Name string
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    Routes []NetworkRouteArgs
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    Xml NetworkXmlArgs
    addresses List<String>
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart Boolean
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge String
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp NetworkDhcp
    dns NetworkDns
    configuration of DNS specific settings for the network
    dnsmasqOptions NetworkDnsmasqOptions
    domain String
    The domain used by the DNS server.
    mode String
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu Integer
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name String
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes List<NetworkRoute>
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml NetworkXml
    addresses string[]
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart boolean
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge string
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp NetworkDhcp
    dns NetworkDns
    configuration of DNS specific settings for the network
    dnsmasqOptions NetworkDnsmasqOptions
    domain string
    The domain used by the DNS server.
    mode string
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu number
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name string
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes NetworkRoute[]
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml NetworkXml
    addresses Sequence[str]
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart bool
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge str
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp NetworkDhcpArgs
    dns NetworkDnsArgs
    configuration of DNS specific settings for the network
    dnsmasq_options NetworkDnsmasqOptionsArgs
    domain str
    The domain used by the DNS server.
    mode str
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu int
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name str
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes Sequence[NetworkRouteArgs]
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml NetworkXmlArgs
    addresses List<String>
    A list of (0 or 1) IPv4 and (0 or 1) IPv6 subnets in CIDR notation. This defines the subnets associated to that network. This argument is also used to define the address on the real host. If dhcp { enabled = true } addresses is also used to define the address range served by the DHCP server. No DHCP server will be started if addresses is omitted.
    autostart Boolean
    Set to true to start the network on host boot up. If not specified false is assumed.
    bridge String
    The bridge device defines the name of a bridge device which will be used to construct the virtual network (when not provided, it will be automatically obtained by libvirt in none, nat, route and open modes).
    dhcp Property Map
    dns Property Map
    configuration of DNS specific settings for the network
    dnsmasqOptions Property Map
    domain String
    The domain used by the DNS server.
    mode String
    One of:

    • "none": the guests can talk to each other and the host OS, but cannot reach any other machines on the LAN.
    • "nat": it is the default network mode. This is a configuration that allows guest OS to get outbound connectivity regardless of whether the host uses ethernet, wireless, dialup, or VPN networking without requiring any specific admin configuration. In the absence of host networking, it at least allows guests to talk directly to each other.
    • "route": this is a variant on the default network which routes traffic from the virtual network to the LAN without applying any NAT. It requires that the IP address range be pre-configured in the routing tables of the router on the host network.
    • "open": similar to route, but no firewall rules are added.
    • "bridge": use a pre-existing host bridge. The guests will effectively be directly connected to the physical network (i.e. their IP addresses will all be on the subnet of the physical network, and there will be no restrictions on inbound or outbound connections). The bridge network attribute is mandatory in this case.
    mtu Number
    The MTU to set for the underlying network interfaces. When not supplied, libvirt will use the default for the interface, usually 1500. Libvirt version 5.1 and greater will advertise this value to nodes via DHCP.
    name String
    A unique name for the resource, required by libvirt. Changing this forces a new resource to be created.
    routes List<Property Map>
    a list of static routes. A cidr and a gateway must be provided. The gateway must be reachable via the bridge interface.
    xml Property Map

    Supporting Types

    NetworkDhcp, NetworkDhcpArgs

    Enabled bool
    when false, disable the DHCP server
    Enabled bool
    when false, disable the DHCP server
    enabled Boolean
    when false, disable the DHCP server
    enabled boolean
    when false, disable the DHCP server
    enabled bool
    when false, disable the DHCP server
    enabled Boolean
    when false, disable the DHCP server

    NetworkDns, NetworkDnsArgs

    Enabled bool
    when false, disable the DHCP server
    Forwarders List<NetworkDnsForwarder>
    Either address, domain, or both must be set
    Hosts List<NetworkDnsHost>

    a DNS host entry block. You can have one or more of these blocks in your DNS definition. You must specify both ip and hostname.

    An advanced example of round-robin DNS (using DNS host templates) follows:

    LocalOnly bool
    true/false: true means 'do not forward unresolved requests for this domain to the part DNS server
    Srvs List<NetworkDnsSrv>
    a DNS SRV entry block. You can have one or more of these blocks in your DNS definition. You must specify service and protocol.
    Enabled bool
    when false, disable the DHCP server
    Forwarders []NetworkDnsForwarder
    Either address, domain, or both must be set
    Hosts []NetworkDnsHost

    a DNS host entry block. You can have one or more of these blocks in your DNS definition. You must specify both ip and hostname.

    An advanced example of round-robin DNS (using DNS host templates) follows:

    LocalOnly bool
    true/false: true means 'do not forward unresolved requests for this domain to the part DNS server
    Srvs []NetworkDnsSrv
    a DNS SRV entry block. You can have one or more of these blocks in your DNS definition. You must specify service and protocol.
    enabled Boolean
    when false, disable the DHCP server
    forwarders List<NetworkDnsForwarder>
    Either address, domain, or both must be set
    hosts List<NetworkDnsHost>

    a DNS host entry block. You can have one or more of these blocks in your DNS definition. You must specify both ip and hostname.

    An advanced example of round-robin DNS (using DNS host templates) follows:

    localOnly Boolean
    true/false: true means 'do not forward unresolved requests for this domain to the part DNS server
    srvs List<NetworkDnsSrv>
    a DNS SRV entry block. You can have one or more of these blocks in your DNS definition. You must specify service and protocol.
    enabled boolean
    when false, disable the DHCP server
    forwarders NetworkDnsForwarder[]
    Either address, domain, or both must be set
    hosts NetworkDnsHost[]

    a DNS host entry block. You can have one or more of these blocks in your DNS definition. You must specify both ip and hostname.

    An advanced example of round-robin DNS (using DNS host templates) follows:

    localOnly boolean
    true/false: true means 'do not forward unresolved requests for this domain to the part DNS server
    srvs NetworkDnsSrv[]
    a DNS SRV entry block. You can have one or more of these blocks in your DNS definition. You must specify service and protocol.
    enabled bool
    when false, disable the DHCP server
    forwarders Sequence[NetworkDnsForwarder]
    Either address, domain, or both must be set
    hosts Sequence[NetworkDnsHost]

    a DNS host entry block. You can have one or more of these blocks in your DNS definition. You must specify both ip and hostname.

    An advanced example of round-robin DNS (using DNS host templates) follows:

    local_only bool
    true/false: true means 'do not forward unresolved requests for this domain to the part DNS server
    srvs Sequence[NetworkDnsSrv]
    a DNS SRV entry block. You can have one or more of these blocks in your DNS definition. You must specify service and protocol.
    enabled Boolean
    when false, disable the DHCP server
    forwarders List<Property Map>
    Either address, domain, or both must be set
    hosts List<Property Map>

    a DNS host entry block. You can have one or more of these blocks in your DNS definition. You must specify both ip and hostname.

    An advanced example of round-robin DNS (using DNS host templates) follows:

    localOnly Boolean
    true/false: true means 'do not forward unresolved requests for this domain to the part DNS server
    srvs List<Property Map>
    a DNS SRV entry block. You can have one or more of these blocks in your DNS definition. You must specify service and protocol.

    NetworkDnsForwarder, NetworkDnsForwarderArgs

    Address string
    Domain string
    The domain used by the DNS server.
    Address string
    Domain string
    The domain used by the DNS server.
    address String
    domain String
    The domain used by the DNS server.
    address string
    domain string
    The domain used by the DNS server.
    address str
    domain str
    The domain used by the DNS server.
    address String
    domain String
    The domain used by the DNS server.

    NetworkDnsHost, NetworkDnsHostArgs

    Hostname string
    Ip string
    Hostname string
    Ip string
    hostname String
    ip String
    hostname string
    ip string
    hostname str
    ip str
    hostname String
    ip String

    NetworkDnsSrv, NetworkDnsSrvArgs

    Domain string
    The domain used by the DNS server.
    Port string
    Priority string
    Protocol string
    Service string
    Target string
    Weight string
    Domain string
    The domain used by the DNS server.
    Port string
    Priority string
    Protocol string
    Service string
    Target string
    Weight string
    domain String
    The domain used by the DNS server.
    port String
    priority String
    protocol String
    service String
    target String
    weight String
    domain string
    The domain used by the DNS server.
    port string
    priority string
    protocol string
    service string
    target string
    weight string
    domain str
    The domain used by the DNS server.
    port str
    priority str
    protocol str
    service str
    target str
    weight str
    domain String
    The domain used by the DNS server.
    port String
    priority String
    protocol String
    service String
    target String
    weight String

    NetworkDnsmasqOptions, NetworkDnsmasqOptionsArgs

    Options List<NetworkDnsmasqOptionsOption>

    a Dnsmasq option entry block. You can have one or more of these blocks in your definition. You must specify option_name while option_value is optional to support value-less options.

    An example of setting Dnsmasq options (using Dnsmasq option templates) follows:

    Options []NetworkDnsmasqOptionsOption

    a Dnsmasq option entry block. You can have one or more of these blocks in your definition. You must specify option_name while option_value is optional to support value-less options.

    An example of setting Dnsmasq options (using Dnsmasq option templates) follows:

    options List<NetworkDnsmasqOptionsOption>

    a Dnsmasq option entry block. You can have one or more of these blocks in your definition. You must specify option_name while option_value is optional to support value-less options.

    An example of setting Dnsmasq options (using Dnsmasq option templates) follows:

    options NetworkDnsmasqOptionsOption[]

    a Dnsmasq option entry block. You can have one or more of these blocks in your definition. You must specify option_name while option_value is optional to support value-less options.

    An example of setting Dnsmasq options (using Dnsmasq option templates) follows:

    options Sequence[NetworkDnsmasqOptionsOption]

    a Dnsmasq option entry block. You can have one or more of these blocks in your definition. You must specify option_name while option_value is optional to support value-less options.

    An example of setting Dnsmasq options (using Dnsmasq option templates) follows:

    options List<Property Map>

    a Dnsmasq option entry block. You can have one or more of these blocks in your definition. You must specify option_name while option_value is optional to support value-less options.

    An example of setting Dnsmasq options (using Dnsmasq option templates) follows:

    NetworkDnsmasqOptionsOption, NetworkDnsmasqOptionsOptionArgs

    OptionName string
    OptionValue string
    OptionName string
    OptionValue string
    optionName String
    optionValue String
    optionName string
    optionValue string
    optionName String
    optionValue String

    NetworkRoute, NetworkRouteArgs

    Cidr string
    Gateway string
    Cidr string
    Gateway string
    cidr String
    gateway String
    cidr string
    gateway string
    cidr str
    gateway str
    cidr String
    gateway String

    NetworkXml, NetworkXmlArgs

    Xslt string
    Xslt string
    xslt String
    xslt string
    xslt str
    xslt String

    Package Details

    Repository
    libvirt pulumi/pulumi-libvirt
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the libvirt Terraform Provider.
    libvirt logo
    libvirt v0.5.3 published on Thursday, Oct 24, 2024 by Pulumi