From 5027ab3d812cbfc5fc32e7aee8a1aada04ecc1aa Mon Sep 17 00:00:00 2001 From: Quentin Perez Date: Wed, 16 Sep 2015 15:53:33 +0200 Subject: [PATCH] support _userdata SEVER KEY=@path/to/file --- README.md | 2 +- pkg/cli/x_userdata.go | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b39ae3fd8b..b7b024f1b2 100644 --- a/README.md +++ b/README.md @@ -1129,7 +1129,7 @@ $ scw inspect myserver | jq '.[0].public_ip.address' ### master (unreleased) -* No entry +* Support of `scw _userdata name VAR=@/path/to/file` ([#183](https://github.com/scaleway/scaleway-cli/issues/183)) View full [commits list](https://github.com/scaleway/scaleway-cli/compare/v1.5.0...master) diff --git a/pkg/cli/x_userdata.go b/pkg/cli/x_userdata.go index 3cf168d094..3d08fe4894 100644 --- a/pkg/cli/x_userdata.go +++ b/pkg/cli/x_userdata.go @@ -6,6 +6,7 @@ package cli import ( "fmt" + "io/ioutil" "strings" "github.com/scaleway/scaleway-cli/pkg/api" @@ -82,8 +83,17 @@ func runUserdata(cmd *Command, args []string) error { default: value := parts[1] if value != "" { + var data []byte // Set userdata - err := Api.PatchUserdata(serverID, key, []byte(value)) + if value[0] == '@' { + data, err = ioutil.ReadFile(value[1:]) + if err != nil { + return err + } + } else { + data = []byte(value) + } + err := Api.PatchUserdata(serverID, key, data) if err != nil { return err }