From d246ea91308d0d4d488c01fc5159b18848a64bef Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Wed, 16 Aug 2017 12:08:56 +0100 Subject: [PATCH] cmd: Temporarily use my fork of the packet.net API This adds a new call to update an existing device. Signed-off-by: Rolf Neugebauer --- src/cmd/linuxkit/run_packet.go | 2 +- src/cmd/linuxkit/vendor.conf | 2 +- .../{packethost => rn}/packngo/LICENSE.txt | 0 .../{packethost => rn}/packngo/README.md | 0 .../{packethost => rn}/packngo/devices.go | 32 +++++++++++++++++++ .../{packethost => rn}/packngo/email.go | 0 .../{packethost => rn}/packngo/facilities.go | 0 .../{packethost => rn}/packngo/ip.go | 0 .../packngo/operatingsystems.go | 0 .../{packethost => rn}/packngo/packngo.go | 0 .../{packethost => rn}/packngo/plans.go | 0 .../{packethost => rn}/packngo/projects.go | 0 .../{packethost => rn}/packngo/rate.go | 0 .../{packethost => rn}/packngo/sshkeys.go | 0 .../{packethost => rn}/packngo/timestamp.go | 0 .../{packethost => rn}/packngo/user.go | 0 .../{packethost => rn}/packngo/utils.go | 0 .../{packethost => rn}/packngo/volumes.go | 0 18 files changed, 34 insertions(+), 2 deletions(-) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/LICENSE.txt (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/README.md (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/devices.go (85%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/email.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/facilities.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/ip.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/operatingsystems.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/packngo.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/plans.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/projects.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/rate.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/sshkeys.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/timestamp.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/user.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/utils.go (100%) rename src/cmd/linuxkit/vendor/github.com/{packethost => rn}/packngo/volumes.go (100%) diff --git a/src/cmd/linuxkit/run_packet.go b/src/cmd/linuxkit/run_packet.go index eebf293d8..6c97f65e2 100644 --- a/src/cmd/linuxkit/run_packet.go +++ b/src/cmd/linuxkit/run_packet.go @@ -16,7 +16,7 @@ import ( "path/filepath" "time" - "github.com/packethost/packngo" + "github.com/rn/packngo" log "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh/agent" diff --git a/src/cmd/linuxkit/vendor.conf b/src/cmd/linuxkit/vendor.conf index ac3ed2b4b..0cb7c403c 100644 --- a/src/cmd/linuxkit/vendor.conf +++ b/src/cmd/linuxkit/vendor.conf @@ -13,10 +13,10 @@ github.com/gophercloud/gophercloud 2804b72cf099b41d2e25c8afcca786f9f962ddee github.com/jmespath/go-jmespath bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d github.com/mitchellh/go-ps 4fdf99ab29366514c69ccccddab5dc58b8d84062 github.com/moby/hyperkit a82b409a87f12fa3306813410c37f4eed270efac -github.com/packethost/packngo 9d9409c8c09de7695281e900a776cca03676026a github.com/radu-matei/azure-sdk-for-go 3b12823551999669c9a325a32472508e0af7978e github.com/radu-matei/azure-vhd-utils e52754d5569d2a643a7775f72ff2a6cf524f4c25 github.com/rn/iso9660wrap 4606f848a055435cdef85305960b0e1bb788d506 +github.com/rn/packngo eacc1098296fb3d75607a13e2607474ce40f55b9 github.com/sirupsen/logrus 1.0.2 github.com/vmware/govmomi 6f8ebd89d521d9f9af7a6c2219c4deee511020dd golang.org/x/crypto 573951cbe80bb6352881271bb276f48749eab6f4 diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/LICENSE.txt b/src/cmd/linuxkit/vendor/github.com/rn/packngo/LICENSE.txt similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/LICENSE.txt rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/LICENSE.txt diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/README.md b/src/cmd/linuxkit/vendor/github.com/rn/packngo/README.md similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/README.md rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/README.md diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/devices.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/devices.go similarity index 85% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/devices.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/devices.go index a016f6757..7d347d762 100644 --- a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/devices.go +++ b/src/cmd/linuxkit/vendor/github.com/rn/packngo/devices.go @@ -9,6 +9,7 @@ type DeviceService interface { List(ProjectID string) ([]Device, *Response, error) Get(string) (*Device, *Response, error) Create(*DeviceCreateRequest) (*Device, *Response, error) + Update(string, *DeviceUpdateRequest) (*Device, *Response, error) Delete(string) (*Response, error) Reboot(string) (*Response, error) PowerOff(string) (*Response, error) @@ -38,6 +39,7 @@ type Device struct { Facility *Facility `json:"facility,omitempty"` Project *Project `json:"project,omitempty"` ProvisionPer float32 `json:"provisioning_percentage,omitempty"` + UserData string `json:"userdata",omitempty` IPXEScriptUrl string `json:"ipxe_script_url,omitempty"` AlwaysPXE bool `json:"always_pxe,omitempty"` } @@ -61,6 +63,18 @@ type DeviceCreateRequest struct { AlwaysPXE bool `json:"always_pxe,omitempty"` } +// DeviceUpdateRequest type used to update a Packet device +type DeviceUpdateRequest struct { + HostName string `json:"hostname"` + Description string `json:"description"` + BillingCycle string `json:"billing_cycle"` + UserData string `json:"userdata"` + Locked bool `json:"locked"` + Tags []string `json:"tags"` + AlwaysPXE bool `json:"always_pxe,omitempty"` + IPXEScriptUrl string `json:"ipxe_script_url,omitempty"` +} + func (d DeviceCreateRequest) String() string { return Stringify(d) } @@ -133,6 +147,24 @@ func (s *DeviceServiceOp) Create(createRequest *DeviceCreateRequest) (*Device, * return device, resp, err } +// Update updates an existing device +func (s *DeviceServiceOp) Update(deviceID string, updateRequest *DeviceUpdateRequest) (*Device, *Response, error) { + path := fmt.Sprintf("%s/%s?include=facility", deviceBasePath, deviceID) + + req, err := s.client.NewRequest("PUT", path, updateRequest) + if err != nil { + return nil, nil, err + } + + device := new(Device) + resp, err := s.client.Do(req, device) + if err != nil { + return nil, resp, err + } + + return device, resp, err +} + // Delete deletes a device func (s *DeviceServiceOp) Delete(deviceID string) (*Response, error) { path := fmt.Sprintf("%s/%s", deviceBasePath, deviceID) diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/email.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/email.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/email.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/email.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/facilities.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/facilities.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/facilities.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/facilities.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/ip.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/ip.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/ip.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/ip.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/operatingsystems.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/operatingsystems.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/operatingsystems.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/operatingsystems.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/packngo.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/packngo.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/packngo.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/packngo.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/plans.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/plans.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/plans.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/plans.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/projects.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/projects.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/projects.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/projects.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/rate.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/rate.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/rate.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/rate.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/sshkeys.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/sshkeys.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/sshkeys.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/sshkeys.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/timestamp.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/timestamp.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/timestamp.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/timestamp.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/user.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/user.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/user.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/user.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/utils.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/utils.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/utils.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/utils.go diff --git a/src/cmd/linuxkit/vendor/github.com/packethost/packngo/volumes.go b/src/cmd/linuxkit/vendor/github.com/rn/packngo/volumes.go similarity index 100% rename from src/cmd/linuxkit/vendor/github.com/packethost/packngo/volumes.go rename to src/cmd/linuxkit/vendor/github.com/rn/packngo/volumes.go