Fix return value; Remove short flags to avoid collisions; Update documentation
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
a38b097309
commit
5c12ec5b93
@ -3,7 +3,7 @@ type: kubernetes
|
|||||||
name: 'Golang Build'
|
name: 'Golang Build'
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
BINARY_VERSION: v0.4.5
|
BINARY_VERSION: v0.5.0
|
||||||
|
|
||||||
clone:
|
clone:
|
||||||
disable: true
|
disable: true
|
||||||
|
11
README.md
11
README.md
@ -1,10 +1,13 @@
|
|||||||
# NPP-Prepper
|
# NPP-Prepper [![Build Status](https://ci.spamasaurus.com/api/badges/djpbessems/Go.NPP-Prepper/status.svg)](https://ci.spamasaurus.com/djpbessems/Go.NPP-Prepper)
|
||||||
A simple static binary that allows the creation of vCenter's Network Protocol Profiles (within vCenter's API referred to as IpPools).
|
A simple static binary that allows the creation of vCenter's Network Protocol Profiles (within vCenter's API referred to as IpPools).
|
||||||
|
|
||||||
Existing tooling like `govc` or `PowerCLI` can either not be used to configure IpPools, or adds unreasonably large overhead (container image `vmware/powerclicore` is nearly 1GB large). In fact, VMware's documentation *only* mentions how to use this feature through the use of vCenter's webinterface, which is entirely pointless in nowadays' world of automation.
|
Existing tooling like `govc` or `PowerCLI` can either not be used to configure IpPools, or adds unreasonably large overhead (container image `vmware/powerclicore` is nearly 1GB large). In fact, VMware's documentation *only* mentions how to use this feature through the use of vCenter's webinterface, which is entirely pointless in nowadays' world of automation.
|
||||||
|
|
||||||
`npp-prepper` was born out of necessity; one of my projects involves bootstrapping OVA's in greenfield environments, with the explicit design choice to not rely on external processes, like DHCP.
|
`npp-prepper` was born out of necessity; one of my projects involves bootstrapping OVA's in greenfield environments, with the explicit design choice to not rely on external processes, like DHCP.
|
||||||
|
|
||||||
|
### Download
|
||||||
|
Latest release can be downloaded [here](https://code.spamasaurus.com/djpbessems/-/packages/generic/npp-prepper)
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
```bash
|
```bash
|
||||||
Usage:
|
Usage:
|
||||||
@ -42,7 +45,7 @@ Help Options:
|
|||||||
|
|
||||||
[dc command options]
|
[dc command options]
|
||||||
-n, --name= Name of datacenter
|
-n, --name= Name of datacenter
|
||||||
-p, --portgroup= Name of network portgroup
|
--portgroup= Name of network portgroup
|
||||||
--startaddress=
|
--startaddress=
|
||||||
--endaddress=
|
--endaddress=
|
||||||
--netmask=
|
--netmask=
|
||||||
@ -69,9 +72,9 @@ Help Options:
|
|||||||
-h, --help Show this help message
|
-h, --help Show this help message
|
||||||
|
|
||||||
[vm command options]
|
[vm command options]
|
||||||
-d, --datacenter= Name of datacenter
|
|
||||||
-n, --name= Name of virtual machine
|
-n, --name= Name of virtual machine
|
||||||
-p, --portgroup= Name of network portgroup
|
--datacenter= Name of datacenter
|
||||||
|
--portgroup= Name of network portgroup
|
||||||
```
|
```
|
||||||
|
|
||||||
### Future plans
|
### Future plans
|
||||||
|
@ -18,7 +18,7 @@ var Global struct {
|
|||||||
var Commands struct {
|
var Commands struct {
|
||||||
Datacenter struct {
|
Datacenter struct {
|
||||||
Name string `short:"n" long:"name" description:"Name of datacenter" required:"true"`
|
Name string `short:"n" long:"name" description:"Name of datacenter" required:"true"`
|
||||||
Network string `short:"p" long:"portgroup" description:"Name of network portgroup" required:"true"`
|
Network string `long:"portgroup" description:"Name of network portgroup" required:"true"`
|
||||||
StartAddress string `long:"startaddress" required:"true"`
|
StartAddress string `long:"startaddress" required:"true"`
|
||||||
EndAddress string `long:"endaddress" required:"true"`
|
EndAddress string `long:"endaddress" required:"true"`
|
||||||
Netmask string `long:"netmask" required:"true"`
|
Netmask string `long:"netmask" required:"true"`
|
||||||
@ -28,9 +28,9 @@ 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 {
|
||||||
Datacenter string `short:"d" long:"datacenter" description:"Name of datacenter" required:"true"`
|
|
||||||
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"`
|
||||||
Network string `short:"p" long:"portgroup" description:"Name of network portgroup" required:"true"`
|
Datacenter string `long:"datacenter" description:"Name of datacenter" required:"true"`
|
||||||
|
Network string `long:"portgroup" description:"Name of network portgroup" required:"true"`
|
||||||
} // `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"`
|
||||||
|
@ -29,7 +29,7 @@ func NewClient(ctx context.Context, host, username, password string, insecure bo
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return clt, err
|
return clt, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func DatacenterFinder(ctx context.Context, clt *vim25.Client, datacenter string) (*find.Finder, error) {
|
func DatacenterFinder(ctx context.Context, clt *vim25.Client, datacenter string) (*find.Finder, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user