diff --git a/Readme.md b/Readme.md index 99cdc50..05a8486 100644 --- a/Readme.md +++ b/Readme.md @@ -70,7 +70,8 @@ Command line flags: - `--vultr-private-networking`: Enable private networking support for the VPS. - `--vultr-backups`: Enable automatic backups for the VPS. - `--vultr-userdata`: Path to file with cloud-init user-data. - - `--vultr-snapshot-id`: Using snapshot to create host. + - `--vultr-snapshot-id`: ID of an existing Snapshot in your Vultr account. + - `--vultr-reserved-ip`: ID of a reserved IP in your Vultr account. - `--vultr-tag`: Tag to assign to the VPS. - `--vultr-firewall-group`: ID of existing firewall group to assign. - `--vultr-api-endpoint`: Override default Vultr API endpoint URL. @@ -100,6 +101,7 @@ The operating system must support cloud-init and be configured to use the `ec2` | `--vultr-backups` | `VULTR_BACKUPS` | `false` | | `--vultr-userdata` | `VULTR_USERDATA` | - | | `--vultr-snapshot-id` | `VULTR_SNAPSHOT` | - | +| `--vultr-reserved-ip` | `VULTR_RESERVED_IP` | - | | `--vultr-tag` | `VULTR_TAG` | - | | `--vultr-firewall-group` | `VULTR_FIREWALL_GROUP` | - | | `--vultr-api-endpoint` | `VULTR_API_ENDPOINT` | - | diff --git a/vultr.go b/vultr.go index 1c61710..4d830e1 100644 --- a/vultr.go +++ b/vultr.go @@ -30,6 +30,7 @@ type Driver struct { SSHKeyID string VultrPublicKey string ROSVersion string + ReservedIP string IPv6 bool Backups bool PrivateNetworking bool @@ -113,6 +114,11 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag { Name: "vultr-ssh-key-id", Usage: "ID of an existing SSH key in your Vultr account.", }, + mcnflag.StringFlag{ + EnvVar: "VULTR_RESERVED_IP", + Name: "vultr-reserved-ip", + Usage: "ID of a reserved IP in your Vultr account.", + }, mcnflag.BoolFlag{ EnvVar: "VULTR_IPV6", Name: "vultr-ipv6", @@ -183,6 +189,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.PxeScriptID = flags.Int("vultr-pxe-script") d.BootScriptID = flags.Int("vultr-boot-script") d.SSHKeyID = flags.String("vultr-ssh-key-id") + d.ReservedIP = flags.String("vultr-reserved-ip") d.IPv6 = flags.Bool("vultr-ipv6") d.PrivateNetworking = flags.Bool("vultr-private-networking") d.Backups = flags.Bool("vultr-backups") @@ -327,6 +334,7 @@ func (d *Driver) Create() error { DontNotifyOnActivate: true, Tag: d.VultrTag, FirewallGroupID: d.FirewallGroupID, + ReservedIP: d.ReservedIP, }) if err != nil { return err