This commit is contained in:
parent
a2028a7d3b
commit
ae0b6a76bf
@ -3,7 +3,7 @@ type: kubernetes
|
|||||||
name: 'Golang Build'
|
name: 'Golang Build'
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
BINARY_VERSION: v0.5.1
|
BINARY_VERSION: v0.5.2
|
||||||
|
|
||||||
clone:
|
clone:
|
||||||
disable: true
|
disable: true
|
||||||
|
@ -28,10 +28,10 @@ var Commands struct {
|
|||||||
Force bool `short:"f" long:"force"`
|
Force bool `short:"f" long:"force"`
|
||||||
} // `command:"datacenter" alias:"dc" description:"Define a Network Protocol Profile within a datacenter"`
|
} // `command:"datacenter" alias:"dc" description:"Define a Network Protocol Profile within a datacenter"`
|
||||||
VirtualMachine struct {
|
VirtualMachine struct {
|
||||||
Name string `short:"n" long:"name" description:"Name of virtual machine" 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"`
|
Datacenter string `long:"datacenter" description:"Name of datacenter" required:"true"`
|
||||||
Network string `long:"portgroup" description:"Name of network portgroup" 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"`
|
DisableOvfTransport bool `long:"ovftransport" description:"Disable the OVF transport 'VMware Tools'"`
|
||||||
} // `command:"virtualmachine" alias:"vm" description:"Configure a virtual machine for usage of Network Protocol Profiles"`
|
} // `command:"virtualmachine" alias:"vm" description:"Configure a virtual machine for usage of Network Protocol Profiles"`
|
||||||
GuestOS struct {
|
GuestOS struct {
|
||||||
} // `command:"guestos" alias:"os" description:"Configure guest OS network with allocated IP address"`
|
} // `command:"guestos" alias:"os" description:"Configure guest OS network with allocated IP address"`
|
||||||
@ -45,6 +45,7 @@ func main() {
|
|||||||
parser.AddCommand("vm", "", "", &Commands.VirtualMachine)
|
parser.AddCommand("vm", "", "", &Commands.VirtualMachine)
|
||||||
parser.AddCommand("guestos", "Configure guest OS network with allocated IP address", "", &Commands.GuestOS)
|
parser.AddCommand("guestos", "Configure guest OS network with allocated IP address", "", &Commands.GuestOS)
|
||||||
parser.AddCommand("os", "", "", &Commands.GuestOS)
|
parser.AddCommand("os", "", "", &Commands.GuestOS)
|
||||||
|
|
||||||
_, err := parser.Parse()
|
_, err := parser.Parse()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
|
if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
|
||||||
@ -72,7 +73,7 @@ func main() {
|
|||||||
case "guestos", "os":
|
case "guestos", "os":
|
||||||
// TODO
|
// TODO
|
||||||
case "virtualmachine", "vm":
|
case "virtualmachine", "vm":
|
||||||
if err := hypervisor.SetVirtualMachineProperties(ctx, clt, Commands.VirtualMachine.Datacenter, Commands.VirtualMachine.Name, Commands.VirtualMachine.Network, Commands.VirtualMachine.OvfTransport); err != nil {
|
if err := hypervisor.SetVirtualMachineProperties(ctx, clt, Commands.VirtualMachine.Datacenter, Commands.VirtualMachine.Name, Commands.VirtualMachine.Network, Commands.VirtualMachine.DisableOvfTransport); err != nil {
|
||||||
log.Fatalf("[ERROR] Could not apply vApp properties: %s", err)
|
log.Fatalf("[ERROR] Could not apply vApp properties: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ type vAPPProperty struct {
|
|||||||
Value string
|
Value string
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetVirtualMachineProperties(ctx context.Context, clt *vim25.Client, datacenter, virtualmachine, network string, ovftransport bool) error {
|
func SetVirtualMachineProperties(ctx context.Context, clt *vim25.Client, datacenter, virtualmachine, network string, disableovftransport bool) error {
|
||||||
finder := find.NewFinder(clt, true)
|
finder := find.NewFinder(clt, true)
|
||||||
|
|
||||||
dc, err := finder.Datacenter(ctx, datacenter)
|
dc, err := finder.Datacenter(ctx, datacenter)
|
||||||
@ -33,11 +33,11 @@ func SetVirtualMachineProperties(ctx context.Context, clt *vim25.Client, datacen
|
|||||||
var moref mo.VirtualMachine
|
var moref mo.VirtualMachine
|
||||||
vm.Properties(ctx, vm.Reference(), []string{"config.vAppConfig"}, &moref)
|
vm.Properties(ctx, vm.Reference(), []string{"config.vAppConfig"}, &moref)
|
||||||
|
|
||||||
vappconfig := &types.VmConfigSpec{}
|
vappconfig := &types.VmConfigSpec{
|
||||||
if ovftransport == true {
|
OvfEnvironmentTransport: []string{"com.vmware.guestInfo"},
|
||||||
vappconfig = &types.VmConfigSpec{
|
}
|
||||||
OvfEnvironmentTransport: []string{"com.vmware.guestInfo"},
|
if disableovftransport == true {
|
||||||
}
|
vappconfig = &types.VmConfigSpec{}
|
||||||
}
|
}
|
||||||
|
|
||||||
currentvappproperties := moref.Config.VAppConfig.GetVmConfigInfo().Property
|
currentvappproperties := moref.Config.VAppConfig.GetVmConfigInfo().Property
|
||||||
|
Loading…
Reference in New Issue
Block a user