Skip to content

Commit 76956e4

Browse files
committed
Enable specifying a custom private IPv4 address for the server.
1 parent b89caf1 commit 76956e4

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changes
22

3+
## v0.9.2
4+
5+
Enhancements:
6+
7+
* Can now specify a custom private IPv4 address for the server.
8+
39
## v0.9.1
410

511
Bug fixes:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = 0.9.1
1+
VERSION = 0.9.2
22

33
default: fmt build test
44

client.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,17 @@ func (driver *Driver) buildDeploymentConfiguration() (deploymentConfiguration co
284284
return
285285
}
286286

287+
// Specify private IPv4 address or VLAN Id.
288+
var (
289+
vlanID *string
290+
privateIPv4Address *string
291+
)
292+
if driver.PrivateIPAddress != "" {
293+
privateIPv4Address = &driver.PrivateIPAddress
294+
} else {
295+
vlanID = &driver.VLANID
296+
}
297+
287298
deploymentConfiguration = compute.ServerDeploymentConfiguration{
288299
Name: driver.MachineName,
289300
Description: fmt.Sprintf("%s (created by Docker Machine).", driver.MachineName),
@@ -292,7 +303,8 @@ func (driver *Driver) buildDeploymentConfiguration() (deploymentConfiguration co
292303
Network: compute.VirtualMachineNetwork{
293304
NetworkDomainID: driver.NetworkDomainID,
294305
PrimaryAdapter: compute.VirtualMachineNetworkAdapter{
295-
VLANID: &driver.VLANID,
306+
VLANID: vlanID,
307+
PrivateIPv4Address: privateIPv4Address,
296308
},
297309
},
298310
PrimaryDNS: "8.8.8.8",

driver.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@ func (driver *Driver) GetCreateFlags() []mcnflag.Flag {
137137
Usage: "The name of the target CloudControl VLAN",
138138
Value: "",
139139
},
140+
mcnflag.StringFlag{
141+
Name: "ddcloud-private-ipv4",
142+
Usage: "An optional IPv4 address for the server",
143+
Value: "",
144+
},
140145
mcnflag.StringFlag{
141146
Name: "ddcloud-image-name",
142147
Usage: fmt.Sprintf(`The name of OS image used to create the target machine. Default: "%s"`, DefaultImageName),
@@ -198,6 +203,8 @@ func (driver *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
198203

199204
driver.NetworkDomainName = flags.String("ddcloud-networkdomain")
200205
driver.DataCenterID = flags.String("ddcloud-datacenter")
206+
driver.PrivateIPAddress = flags.String("ddcloud-private-ipv4")
207+
driver.VLANName = flags.String("ddcloud-vlan")
201208
driver.VLANName = flags.String("ddcloud-vlan")
202209
driver.ImageName = flags.String("ddcloud-image-name")
203210

0 commit comments

Comments
 (0)