From e91a4443542c0ecf5661e3cdc1552e8bd017014f Mon Sep 17 00:00:00 2001 From: Mike Holloway Date: Sun, 4 Jul 2021 03:10:22 -0400 Subject: [PATCH] On branch golang-master Changes to be committed: modified: main.go Adding nice comments --- main.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 01b7219..183fe2c 100644 --- a/main.go +++ b/main.go @@ -12,28 +12,39 @@ import ( */ ) -/*droplet_api := io.Post("") -*/ - func main() { + // Create a slice to insert the ID of the current droplet url_slice := []string{"https://api.digitalocean.com/v2/droplets/", get_droplet_id("foo"), "/actions"} + // Construct the string from the slice droplet_actions_url := strings.Join(url_slice, "") + // Create the json object to be posted post_body, _ := json.Marshal(map[string]string{"type": "power_off"}) + // Open a buffer for the post response body response_body := bytes.NewBuffer(post_body) + // instantiate the POST object http_response, err := http.Post(droplet_actions_url, "application/json", response_body) if err != nil { log.Fatalf("Respones Error: %v", err) } + // Pause thread until response is read and http connection closes (I think?) defer http_response.Body.Close() body, err := ioutil.ReadAll(response_body) if err != nil { log.Fatalln(err) } + // Turn the http response object into a string response_body_string := string(body) log.Printf(response_body_string) } func get_droplet_id(hostname string) string { +/* + Eventually, the goal is to use droplet tags to group the cluster, + use the droplet tags api to list all droplets, differentially + identify 'other' nodes with knowledge of our current droplet properties, + and finally return the droplet_id that corresponds to the supplied hostname +*/ + // var droplet_id string = "253365345" var droplet_id string = "253365347" return droplet_id