@ -18,24 +18,27 @@ type RunConfig struct {
SSHInterface string ` mapstructure:"ssh_interface" `
SSHIPVersion string ` mapstructure:"ssh_ip_version" `
SourceImage string ` mapstructure:"source_image" `
SourceImageName string ` mapstructure:"source_image_name" `
Flavor string ` mapstructure:"flavor" `
AvailabilityZone string ` mapstructure:"availability_zone" `
RackconnectWait bool ` mapstructure:"rackconnect_wait" `
Floating Network string ` mapstructure:"floating _network"`
FloatingIP string ` mapstructure:"floating_ip" `
ReuseIPs bool ` mapstructure:"reuse_ips" `
SecurityGroups [ ] string ` mapstructure:"security_groups" `
Networks [ ] string ` mapstructure:"networks" `
Ports [ ] string ` mapstructure:"ports" `
UserData string ` mapstructure:"user_data" `
UserDataFile string ` mapstructure:"user_data_file" `
InstanceName string ` mapstructure:"instance_name" `
InstanceMetadata map [ string ] string ` mapstructure:"instance_metadata" `
SourceImage string ` mapstructure:"source_image" `
SourceImageName string ` mapstructure:"source_image_name" `
Flavor string ` mapstructure:"flavor" `
AvailabilityZone string ` mapstructure:"availability_zone" `
RackconnectWait bool ` mapstructure:"rackconnect_wait" `
Floating IP Network string ` mapstructure:"floating _ip _network"`
FloatingIP string ` mapstructure:"floating_ip" `
ReuseIPs bool ` mapstructure:"reuse_ips" `
SecurityGroups [ ] string ` mapstructure:"security_groups" `
Networks [ ] string ` mapstructure:"networks" `
Ports [ ] string ` mapstructure:"ports" `
UserData string ` mapstructure:"user_data" `
UserDataFile string ` mapstructure:"user_data_file" `
InstanceName string ` mapstructure:"instance_name" `
InstanceMetadata map [ string ] string ` mapstructure:"instance_metadata" `
ConfigDrive bool ` mapstructure:"config_drive" `
// Used for BC, value will be passed to the "floating_ip_network"
FloatingIPPool string ` mapstructure:"floating_ip_pool" `
UseBlockStorageVolume bool ` mapstructure:"use_blockstorage_volume" `
VolumeName string ` mapstructure:"volume_name" `
VolumeType string ` mapstructure:"volume_type" `
@ -57,6 +60,10 @@ func (c *RunConfig) Prepare(ctx *interpolate.Context) []error {
c . TemporaryKeyPairName = fmt . Sprintf ( "packer_%s" , uuid . TimeOrderedUUID ( ) )
}
if c . FloatingIPPool != "" {
c . FloatingIPNetwork = c . FloatingIPPool
}
// Validation
errs := c . Comm . Prepare ( ctx )