diff options
author | Dean Smith <dean@zelotus.com> | 2017-02-17 20:47:44 +0000 |
---|---|---|
committer | Dean Smith <dean@zelotus.com> | 2017-02-17 20:56:33 +0000 |
commit | e60609f3fe5766885a2edb36b2e52e1dd58ffa6d (patch) | |
tree | f830dd90f1dbb21b1edbdb07728756e2f1e8231a /libvirt | |
parent | b43db5136f5d80267a8172289af3133e4ab241ab (diff) | |
download | terraform-provider-libvirt-e60609f3fe5766885a2edb36b2e52e1dd58ffa6d.tar terraform-provider-libvirt-e60609f3fe5766885a2edb36b2e52e1dd58ffa6d.tar.gz |
Fix for bridged networks.
Need to make domain attribute optional, as not used for bridge
Disabling forwarding for bridged networks
Ensure that parsing existing network doesn't fail due to lack
of domain attribute
Diffstat (limited to 'libvirt')
-rw-r--r-- | libvirt/resource_libvirt_network.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libvirt/resource_libvirt_network.go b/libvirt/resource_libvirt_network.go index d27acfc8..6d4e54b8 100644 --- a/libvirt/resource_libvirt_network.go +++ b/libvirt/resource_libvirt_network.go @@ -48,7 +48,7 @@ func resourceLibvirtNetwork() *schema.Resource { }, "domain": &schema.Schema{ Type: schema.TypeString, - Required: true, + Optional: true, ForceNew: true, }, "mode": &schema.Schema{ // can be "none", "nat" (default), "route", "bridge" @@ -209,6 +209,8 @@ func resourceLibvirtNetworkCreate(d *schema.ResourceData, meta interface{}) erro if bridgeName == "" { return fmt.Errorf("'bridge' must be provided when using the bridged network mode") } + // Bridges cannot forward + networkDef.Forward = nil } else { return fmt.Errorf("unsupported network mode '%s'", networkDef.Forward.Mode) } @@ -284,9 +286,13 @@ func resourceLibvirtNetworkRead(d *schema.ResourceData, meta interface{}) error } d.Set("name", networkDef.Name) - d.Set("domain", networkDef.Domain.Name) d.Set("bridge", networkDef.Bridge.Name) + // Domain as won't be present for bridged networks + if (networkDef.Domain != nil) { + d.Set("domain", networkDef.Domain.Name) + } + active, err := network.IsActive() if err != nil { return err |