From ecc62a7f72ae3d08e8147dfefdff1cf25a750fd2 Mon Sep 17 00:00:00 2001 From: Jerome Quere Date: Mon, 2 Sep 2019 14:44:29 +0200 Subject: [PATCH 1/3] doc: add create server exemple --- example_test.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/example_test.go b/example_test.go index da0cef458..4b12ac302 100644 --- a/example_test.go +++ b/example_test.go @@ -85,6 +85,43 @@ func Example_listServers() { fmt.Println(response) } +func Example_createServer() { + + // Create a Scaleway client + client, err := scw.NewClient( + scw.WithAuth("ACCESS_KEY", "SECRET_KEY"), // Get your credentials at https://console.scaleway.com/account/credentials + scw.WithDefaultOrganizationID("ORGANIZATION_ID"), + scw.WithDefaultZone(scw.ZoneFrPar1), + ) + if err != nil { + panic(err) + } + + // Create SDK objects for Scaleway Instance and marketplace + instanceAPI := instance.NewAPI(client) + + // Create a new DEV1-S server + createRes, err := instanceAPI.CreateServer(&instance.CreateServerRequest{ + Name: "my-server-01", + CommercialType: "DEV1-S", + Image: "ubuntu-bionic", + DynamicIPRequired: scw.BoolPtr(true), + }) + if err != nil { + panic(err) + } + + // Start the server and wait until it's ready. + err = instanceAPI.ServerActionAndWait(&instance.ServerActionAndWaitRequest{ + ServerID: createRes.Server.ID, + Action: instance.ServerActionPoweron, + Timeout: 3 * time.Minute, + }) + if err != nil { + panic(err) + } +} + func Example_rebootAllServers() { // Create a Scaleway client From 9c456acf81daa339be28476fb7ea7b2ffb2c6f58 Mon Sep 17 00:00:00 2001 From: Jerome Quere Date: Fri, 6 Sep 2019 11:52:04 +0200 Subject: [PATCH 2/3] address comments --- example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example_test.go b/example_test.go index 4b12ac302..095349607 100644 --- a/example_test.go +++ b/example_test.go @@ -115,7 +115,7 @@ func Example_createServer() { err = instanceAPI.ServerActionAndWait(&instance.ServerActionAndWaitRequest{ ServerID: createRes.Server.ID, Action: instance.ServerActionPoweron, - Timeout: 3 * time.Minute, + Timeout: 5 * time.Minute, }) if err != nil { panic(err) From af26895c13dee62c04a4aa5f44361ab40ba54dd8 Mon Sep 17 00:00:00 2001 From: Jerome Quere Date: Fri, 6 Sep 2019 11:53:30 +0200 Subject: [PATCH 3/3] address comments --- example_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/example_test.go b/example_test.go index 095349607..e3a6d4637 100644 --- a/example_test.go +++ b/example_test.go @@ -100,11 +100,14 @@ func Example_createServer() { // Create SDK objects for Scaleway Instance and marketplace instanceAPI := instance.NewAPI(client) + serverType := "DEV1-S" + image := "ubuntu-bionic" + // Create a new DEV1-S server createRes, err := instanceAPI.CreateServer(&instance.CreateServerRequest{ Name: "my-server-01", - CommercialType: "DEV1-S", - Image: "ubuntu-bionic", + CommercialType: serverType, + Image: image, DynamicIPRequired: scw.BoolPtr(true), }) if err != nil {