diff --git a/.drone.yml b/.drone.yml index c643d15..484c325 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,7 +3,7 @@ type: kubernetes name: 'Golang Build' environment: - BINARY_VERSION: v0.5.0 + BINARY_VERSION: v0.5.1 clone: disable: true diff --git a/cmd/npp-prepper/main.go b/cmd/npp-prepper/main.go index cf3ba5c..acf4e59 100644 --- a/cmd/npp-prepper/main.go +++ b/cmd/npp-prepper/main.go @@ -28,9 +28,10 @@ var Commands struct { Force bool `short:"f" long:"force"` } // `command:"datacenter" alias:"dc" description:"Define a Network Protocol Profile within a datacenter"` VirtualMachine struct { - Name string `short:"n" long:"name" description:"Name of virtual machine" required:"true"` - Datacenter string `long:"datacenter" description:"Name of datacenter" required:"true"` - Network string `long:"portgroup" description:"Name of network portgroup" required:"true"` + Name string `short:"n" long:"name" description:"Name of virtual machine" required:"true"` + Datacenter string `long:"datacenter" description:"Name of datacenter" required:"true"` + Network string `long:"portgroup" description:"Name of network portgroup" required:"true"` + OvfTransport bool `long:"ovftransport" description:"Enable the OVF transport 'VMware Tools'" default:"true"` } // `command:"virtualmachine" alias:"vm" description:"Configure a virtual machine for usage of Network Protocol Profiles"` GuestOS struct { } // `command:"guestos" alias:"os" description:"Configure guest OS network with allocated IP address"` @@ -71,7 +72,7 @@ func main() { case "guestos", "os": // TODO case "virtualmachine", "vm": - if err := hypervisor.SetVirtualMachineProperties(ctx, clt, Commands.VirtualMachine.Datacenter, Commands.VirtualMachine.Name, Commands.VirtualMachine.Network); err != nil { + if err := hypervisor.SetVirtualMachineProperties(ctx, clt, Commands.VirtualMachine.Datacenter, Commands.VirtualMachine.Name, Commands.VirtualMachine.Network, Commands.VirtualMachine.OvfTransport); err != nil { log.Fatalf("[ERROR] Could not apply vApp properties: %s", err) } diff --git a/pkg/hypervisor/virtualmachine.go b/pkg/hypervisor/virtualmachine.go index 88d1e2a..ef1d4ed 100644 --- a/pkg/hypervisor/virtualmachine.go +++ b/pkg/hypervisor/virtualmachine.go @@ -16,7 +16,7 @@ type vAPPProperty struct { Value string } -func SetVirtualMachineProperties(ctx context.Context, clt *vim25.Client, datacenter, virtualmachine, network string) error { +func SetVirtualMachineProperties(ctx context.Context, clt *vim25.Client, datacenter, virtualmachine, network string, ovftransport bool) error { finder := find.NewFinder(clt, true) dc, err := finder.Datacenter(ctx, datacenter) @@ -33,8 +33,11 @@ func SetVirtualMachineProperties(ctx context.Context, clt *vim25.Client, datacen var moref mo.VirtualMachine vm.Properties(ctx, vm.Reference(), []string{"config.vAppConfig"}, &moref) - vappconfig := &types.VmConfigSpec{ - OvfEnvironmentTransport: []string{"com.vmware.guestInfo"}, + vappconfig := &types.VmConfigSpec{} + if ovftransport == true { + vappconfig = &types.VmConfigSpec{ + OvfEnvironmentTransport: []string{"com.vmware.guestInfo"}, + } } currentvappproperties := moref.Config.VAppConfig.GetVmConfigInfo().Property