make everything a uint
This commit is contained in:
parent
4cb58446f7
commit
c214f6735b
|
@ -37,7 +37,7 @@ type Config struct {
|
|||
Network string `mapstructure:"network"`
|
||||
Project string `mapstructure:"project"`
|
||||
PublicIPAddress string `mapstructure:"public_ip_address"`
|
||||
PublicPort int `mapstructure:"public_port"`
|
||||
PublicPort uint `mapstructure:"public_port"`
|
||||
SecurityGroups []string `mapstructure:"security_groups"`
|
||||
ServiceOffering string `mapstructure:"service_offering"`
|
||||
PreventFirewallChanges bool `mapstructure:"prevent_firewall_changes"`
|
||||
|
|
|
@ -15,8 +15,8 @@ func commHost(state multistep.StateBag) (string, error) {
|
|||
return ip, nil
|
||||
}
|
||||
|
||||
func commPort(state multistep.StateBag) (int, error) {
|
||||
commPort, hasPort := state.Get("commPort").(int)
|
||||
func commPort(state multistep.StateBag) (uint, error) {
|
||||
commPort, hasPort := state.Get("commPort").(uint)
|
||||
if !hasPort {
|
||||
return 0, fmt.Errorf("Failed to retrieve communication port")
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ import (
|
|||
)
|
||||
|
||||
type stepSetupNetworking struct {
|
||||
privatePort int
|
||||
publicPort int
|
||||
privatePort uint
|
||||
publicPort uint
|
||||
}
|
||||
|
||||
func (s *stepSetupNetworking) Run(_ context.Context, state multistep.StateBag) multistep.StepAction {
|
||||
|
@ -36,7 +36,7 @@ func (s *stepSetupNetworking) Run(_ context.Context, state multistep.StateBag) m
|
|||
} else {
|
||||
// Generate a random public port used to configure our port forward.
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
s.publicPort = 50000 + rand.Intn(10000)
|
||||
s.publicPort = uint(50000 + rand.Intn(10000))
|
||||
}
|
||||
state.Put("commPort", s.publicPort)
|
||||
|
||||
|
@ -99,9 +99,9 @@ func (s *stepSetupNetworking) Run(_ context.Context, state multistep.StateBag) m
|
|||
ui.Message("Creating port forward...")
|
||||
p := client.Firewall.NewCreatePortForwardingRuleParams(
|
||||
config.PublicIPAddress,
|
||||
s.privatePort,
|
||||
int(s.privatePort),
|
||||
"TCP",
|
||||
s.publicPort,
|
||||
int(s.publicPort),
|
||||
instanceID,
|
||||
)
|
||||
|
||||
|
@ -143,8 +143,8 @@ func (s *stepSetupNetworking) Run(_ context.Context, state multistep.StateBag) m
|
|||
p.SetAclid(network.Aclid)
|
||||
p.SetAction("allow")
|
||||
p.SetCidrlist(config.CIDRList)
|
||||
p.SetStartport(s.privatePort)
|
||||
p.SetEndport(s.privatePort)
|
||||
p.SetStartport(int(s.privatePort))
|
||||
p.SetEndport(int(s.privatePort))
|
||||
p.SetTraffictype("ingress")
|
||||
|
||||
// Create the network ACL rule.
|
||||
|
@ -166,8 +166,8 @@ func (s *stepSetupNetworking) Run(_ context.Context, state multistep.StateBag) m
|
|||
|
||||
// Configure the firewall rule.
|
||||
p.SetCidrlist(config.CIDRList)
|
||||
p.SetStartport(s.publicPort)
|
||||
p.SetEndport(s.publicPort)
|
||||
p.SetStartport(int(s.publicPort))
|
||||
p.SetEndport(int(s.publicPort))
|
||||
|
||||
fwRule, err := client.Firewall.CreateFirewallRule(p)
|
||||
if err != nil {
|
||||
|
|
|
@ -54,8 +54,8 @@ func (s *stepCreateSecurityGroup) Run(_ context.Context, state multistep.StateBa
|
|||
i.SetCidrlist(config.CIDRList)
|
||||
i.SetProtocol("TCP")
|
||||
i.SetSecuritygroupid(sg.Id)
|
||||
i.SetStartport(config.Comm.Port())
|
||||
i.SetEndport(config.Comm.Port())
|
||||
i.SetStartport(int(config.Comm.Port()))
|
||||
i.SetEndport(int(config.Comm.Port()))
|
||||
if config.Project != "" {
|
||||
i.SetProjectid(config.Project)
|
||||
}
|
||||
|
|
|
@ -120,8 +120,8 @@ type Config struct {
|
|||
SSHHostPortMax uint `mapstructure:"ssh_host_port_max"`
|
||||
UseDefaultDisplay bool `mapstructure:"use_default_display"`
|
||||
VNCBindAddress string `mapstructure:"vnc_bind_address"`
|
||||
VNCPortMin int `mapstructure:"vnc_port_min"`
|
||||
VNCPortMax int `mapstructure:"vnc_port_max"`
|
||||
VNCPortMin uint `mapstructure:"vnc_port_min"`
|
||||
VNCPortMax uint `mapstructure:"vnc_port_max"`
|
||||
VMName string `mapstructure:"vm_name"`
|
||||
|
||||
// These are deprecated, but we keep them around for BC
|
||||
|
|
|
@ -8,7 +8,7 @@ func commHost(state multistep.StateBag) (string, error) {
|
|||
return "127.0.0.1", nil
|
||||
}
|
||||
|
||||
func commPort(state multistep.StateBag) (int, error) {
|
||||
func commPort(state multistep.StateBag) (uint, error) {
|
||||
sshHostPort := state.Get("sshHostPort").(uint)
|
||||
return int(sshHostPort), nil
|
||||
return sshHostPort, nil
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@ func CommHost() func(multistep.StateBag) (string, error) {
|
|||
}
|
||||
}
|
||||
|
||||
func SSHPort() func(multistep.StateBag) (int, error) {
|
||||
return func(state multistep.StateBag) (int, error) {
|
||||
func SSHPort() func(multistep.StateBag) (uint, error) {
|
||||
return func(state multistep.StateBag) (uint, error) {
|
||||
config := state.Get("config").(*Config)
|
||||
return config.Comm.SSHPort, nil
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ func (s *StepSSHConfig) Run(_ context.Context, state multistep.StateBag) multist
|
|||
state.Put("error", err)
|
||||
return multistep.ActionHalt
|
||||
}
|
||||
config.Comm.SSHPort = port
|
||||
config.Comm.SSHPort = uint(port)
|
||||
|
||||
return multistep.ActionContinue
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ type RunConfig struct {
|
|||
Headless bool `mapstructure:"headless"`
|
||||
|
||||
VRDPBindAddress string `mapstructure:"vrdp_bind_address"`
|
||||
VRDPPortMin int `mapstructure:"vrdp_port_min"`
|
||||
VRDPPortMax int `mapstructure:"vrdp_port_max"`
|
||||
VRDPPortMin uint `mapstructure:"vrdp_port_min"`
|
||||
VRDPPortMax uint `mapstructure:"vrdp_port_max"`
|
||||
}
|
||||
|
||||
func (c *RunConfig) Prepare(ctx *interpolate.Context) (errs []error) {
|
||||
|
|
|
@ -10,7 +10,7 @@ func CommHost(host string) func(multistep.StateBag) (string, error) {
|
|||
}
|
||||
}
|
||||
|
||||
func SSHPort(state multistep.StateBag) (int, error) {
|
||||
sshHostPort := state.Get("sshHostPort").(int)
|
||||
func SSHPort(state multistep.StateBag) (uint, error) {
|
||||
sshHostPort := state.Get("sshHostPort").(uint)
|
||||
return sshHostPort, nil
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@ import (
|
|||
type SSHConfig struct {
|
||||
Comm communicator.Config `mapstructure:",squash"`
|
||||
|
||||
SSHHostPortMin int `mapstructure:"ssh_host_port_min"`
|
||||
SSHHostPortMax int `mapstructure:"ssh_host_port_max"`
|
||||
SSHHostPortMin uint `mapstructure:"ssh_host_port_min"`
|
||||
SSHHostPortMax uint `mapstructure:"ssh_host_port_max"`
|
||||
SSHSkipNatMapping bool `mapstructure:"ssh_skip_nat_mapping"`
|
||||
|
||||
// These are deprecated, but we keep them around for BC
|
||||
|
|
|
@ -22,8 +22,8 @@ import (
|
|||
// vrdp_port unit - The port that VRDP is configured to listen on.
|
||||
type StepConfigureVRDP struct {
|
||||
VRDPBindAddress string
|
||||
VRDPPortMin int
|
||||
VRDPPortMax int
|
||||
VRDPPortMin uint
|
||||
VRDPPortMax uint
|
||||
|
||||
l *net.Listener
|
||||
}
|
||||
|
|
|
@ -22,8 +22,8 @@ import (
|
|||
// Produces:
|
||||
type StepForwardSSH struct {
|
||||
CommConfig *communicator.Config
|
||||
HostPortMin int
|
||||
HostPortMax int
|
||||
HostPortMin uint
|
||||
HostPortMax uint
|
||||
SkipNatMapping bool
|
||||
|
||||
l *net.Listener
|
||||
|
@ -40,7 +40,7 @@ func (s *StepForwardSSH) Run(ctx context.Context, state multistep.StateBag) mult
|
|||
return multistep.ActionContinue
|
||||
}
|
||||
|
||||
guestPort := s.CommConfig.Port()
|
||||
guestPort := uint(s.CommConfig.Port())
|
||||
sshHostPort := guestPort
|
||||
if !s.SkipNatMapping {
|
||||
log.Printf("Looking for available communicator (SSH, WinRM, etc) port between %d and %d",
|
||||
|
|
|
@ -10,8 +10,8 @@ type RunConfig struct {
|
|||
Headless bool `mapstructure:"headless"`
|
||||
|
||||
VNCBindAddress string `mapstructure:"vnc_bind_address"`
|
||||
VNCPortMin int `mapstructure:"vnc_port_min"`
|
||||
VNCPortMax int `mapstructure:"vnc_port_max"`
|
||||
VNCPortMin uint `mapstructure:"vnc_port_min"`
|
||||
VNCPortMax uint `mapstructure:"vnc_port_max"`
|
||||
VNCDisablePassword bool `mapstructure:"vnc_disable_password"`
|
||||
}
|
||||
|
||||
|
|
|
@ -18,12 +18,12 @@ import (
|
|||
// vmx_path string
|
||||
//
|
||||
// Produces:
|
||||
// vnc_port int - The port that VNC is configured to listen on.
|
||||
// vnc_port uint - The port that VNC is configured to listen on.
|
||||
type StepConfigureVNC struct {
|
||||
Enabled bool
|
||||
VNCBindAddress string
|
||||
VNCPortMin int
|
||||
VNCPortMax int
|
||||
VNCPortMin uint
|
||||
VNCPortMax uint
|
||||
VNCDisablePassword bool
|
||||
|
||||
l *net.Listener
|
||||
|
@ -31,7 +31,7 @@ type StepConfigureVNC struct {
|
|||
|
||||
type VNCAddressFinder interface {
|
||||
// UpdateVMX, sets driver specific VNC values to VMX data.
|
||||
UpdateVMX(vncAddress, vncPassword string, vncPort int, vmxData map[string]string)
|
||||
UpdateVMX(vncAddress, vncPassword string, vncPort uint, vmxData map[string]string)
|
||||
}
|
||||
|
||||
func VNCPassword(skipPassword bool) string {
|
||||
|
@ -105,12 +105,14 @@ func (s *StepConfigureVNC) Run(ctx context.Context, state multistep.StateBag) mu
|
|||
return multistep.ActionHalt
|
||||
}
|
||||
|
||||
state.Put("vnc_port", s.l.Port)
|
||||
state.Put("vnc_ip", s.l.Address)
|
||||
state.Put("vnc_password", vncPassword)
|
||||
|
||||
return multistep.ActionContinue
|
||||
}
|
||||
|
||||
func (*StepConfigureVNC) UpdateVMX(address, password string, port int, data map[string]string) {
|
||||
func (StepConfigureVNC) UpdateVMX(address, password string, port uint, data map[string]string) {
|
||||
data["remotedisplay.vnc.enabled"] = "TRUE"
|
||||
data["remotedisplay.vnc.port"] = fmt.Sprintf("%d", port)
|
||||
data["remotedisplay.vnc.ip"] = address
|
||||
|
|
|
@ -9,8 +9,8 @@ import (
|
|||
// HTTPConfig contains configuration for the local HTTP Server
|
||||
type HTTPConfig struct {
|
||||
HTTPDir string `mapstructure:"http_directory"`
|
||||
HTTPPortMin int `mapstructure:"http_port_min"`
|
||||
HTTPPortMax int `mapstructure:"http_port_max"`
|
||||
HTTPPortMin uint `mapstructure:"http_port_min"`
|
||||
HTTPPortMax uint `mapstructure:"http_port_max"`
|
||||
}
|
||||
|
||||
func (c *HTTPConfig) Prepare(ctx *interpolate.Context) []error {
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"log"
|
||||
"math/rand"
|
||||
"net"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofrs/flock"
|
||||
|
||||
|
@ -25,7 +24,7 @@ type Listener struct {
|
|||
// Listener can be closed but Port will be file locked by packer until
|
||||
// Close is called.
|
||||
net.Listener
|
||||
Port int
|
||||
Port uint
|
||||
Address string
|
||||
lock *flock.Flock
|
||||
}
|
||||
|
@ -44,7 +43,7 @@ type ListenRangeConfig struct {
|
|||
// tcp", "udp"
|
||||
Network string
|
||||
Addr string
|
||||
Min, Max int
|
||||
Min, Max uint
|
||||
net.ListenConfig
|
||||
}
|
||||
|
||||
|
@ -65,9 +64,9 @@ func (lc ListenRangeConfig) Listen(ctx context.Context) (*Listener, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
port := rand.Intn(portRange) + lc.Min
|
||||
port := uint(rand.Intn(portRange)) + lc.Min
|
||||
|
||||
lockFilePath, err := packer.CachePath("port", strconv.Itoa(port))
|
||||
lockFilePath, err := packer.CachePath("port", fmt.Sprintf("%d", port))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -23,8 +23,8 @@ import (
|
|||
// http_port int - The port the HTTP server started on.
|
||||
type StepHTTPServer struct {
|
||||
HTTPDir string
|
||||
HTTPPortMin int
|
||||
HTTPPortMax int
|
||||
HTTPPortMin uint
|
||||
HTTPPortMax uint
|
||||
|
||||
l *net.Listener
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ type Communicator struct {
|
|||
func New(config *Config) (*Communicator, error) {
|
||||
endpoint := &winrm.Endpoint{
|
||||
Host: config.Host,
|
||||
Port: config.Port,
|
||||
Port: int(config.Port), // it's a uint
|
||||
HTTPS: config.Https,
|
||||
Insecure: config.Insecure,
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
// Config is used to configure the WinRM connection
|
||||
type Config struct {
|
||||
Host string
|
||||
Port int
|
||||
Port uint
|
||||
Username string
|
||||
Password string
|
||||
Timeout time.Duration
|
||||
|
|
|
@ -25,7 +25,7 @@ type Config struct {
|
|||
|
||||
// SSH
|
||||
SSHHost string `mapstructure:"ssh_host"`
|
||||
SSHPort int `mapstructure:"ssh_port"`
|
||||
SSHPort uint `mapstructure:"ssh_port"`
|
||||
SSHUsername string `mapstructure:"ssh_username"`
|
||||
SSHPassword string `mapstructure:"ssh_password"`
|
||||
SSHKeyPairName string `mapstructure:"ssh_keypair_name"`
|
||||
|
@ -60,7 +60,7 @@ type Config struct {
|
|||
WinRMUser string `mapstructure:"winrm_username"`
|
||||
WinRMPassword string `mapstructure:"winrm_password"`
|
||||
WinRMHost string `mapstructure:"winrm_host"`
|
||||
WinRMPort int `mapstructure:"winrm_port"`
|
||||
WinRMPort uint `mapstructure:"winrm_port"`
|
||||
WinRMTimeout time.Duration `mapstructure:"winrm_timeout"`
|
||||
WinRMUseSSL bool `mapstructure:"winrm_use_ssl"`
|
||||
WinRMInsecure bool `mapstructure:"winrm_insecure"`
|
||||
|
@ -150,7 +150,7 @@ func (c *Config) SSHConfigFunc() func(multistep.StateBag) (*ssh.ClientConfig, er
|
|||
}
|
||||
|
||||
// Port returns the port that will be used for access based on config.
|
||||
func (c *Config) Port() int {
|
||||
func (c *Config) Port() uint {
|
||||
switch c.Type {
|
||||
case "ssh":
|
||||
return c.SSHPort
|
||||
|
|
|
@ -28,14 +28,14 @@ type StepConnect struct {
|
|||
// SSHConfig should return the default configuration for
|
||||
// connecting via SSH.
|
||||
SSHConfig func(multistep.StateBag) (*gossh.ClientConfig, error)
|
||||
SSHPort func(multistep.StateBag) (int, error)
|
||||
SSHPort func(multistep.StateBag) (uint, error)
|
||||
|
||||
// The fields below are callbacks to assist with connecting to WinRM.
|
||||
//
|
||||
// WinRMConfig should return the default configuration for
|
||||
// connecting via WinRM.
|
||||
WinRMConfig func(multistep.StateBag) (*WinRMConfig, error)
|
||||
WinRMPort func(multistep.StateBag) (int, error)
|
||||
WinRMPort func(multistep.StateBag) (uint, error)
|
||||
|
||||
// CustomConnect can be set to have custom connectors for specific
|
||||
// types. These take highest precedence so you can also override
|
||||
|
|
|
@ -27,7 +27,7 @@ type StepConnectSSH struct {
|
|||
Config *Config
|
||||
Host func(multistep.StateBag) (string, error)
|
||||
SSHConfig func(multistep.StateBag) (*gossh.ClientConfig, error)
|
||||
SSHPort func(multistep.StateBag) (int, error)
|
||||
SSHPort func(multistep.StateBag) (uint, error)
|
||||
}
|
||||
|
||||
func (s *StepConnectSSH) Run(_ context.Context, state multistep.StateBag) multistep.StepAction {
|
||||
|
|
|
@ -30,7 +30,7 @@ type StepConnectWinRM struct {
|
|||
Config *Config
|
||||
Host func(multistep.StateBag) (string, error)
|
||||
WinRMConfig func(multistep.StateBag) (*WinRMConfig, error)
|
||||
WinRMPort func(multistep.StateBag) (int, error)
|
||||
WinRMPort func(multistep.StateBag) (uint, error)
|
||||
}
|
||||
|
||||
func (s *StepConnectWinRM) Run(_ context.Context, state multistep.StateBag) multistep.StepAction {
|
||||
|
|
Loading…
Reference in New Issue