Compare commits
No commits in common. "golang-master" and "bash-master" have entirely different histories.
golang-mas
...
bash-maste
@ -1 +0,0 @@
|
|||||||
curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer 72a0ec632d0834dd3e1b72ec096f4644f527853a747875ca387a0269a625597a" "https://api.digitalocean.com/v2/droplets?tag_name=pacemaker-project"
|
|
@ -1 +0,0 @@
|
|||||||
72a0ec632d0834dd3e1b72ec096f4644f527853a747875ca387a0269a625597a
|
|
66
main.go
66
main.go
@ -1,66 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"io/ioutil"
|
|
||||||
"strings"
|
|
||||||
"encoding/json"
|
|
||||||
/*
|
|
||||||
"fmt"
|
|
||||||
*/
|
|
||||||
)
|
|
||||||
|
|
||||||
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, "")
|
|
||||||
/* ---- Old ------ Using http.Get
|
|
||||||
// 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)
|
|
||||||
*/
|
|
||||||
do_client := &http.Client{
|
|
||||||
CheckRedirect: redirectPolicyFunc,
|
|
||||||
}
|
|
||||||
http_response, err := do_client.Get(droplet_actions_url))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Responese Error: %v", err)
|
|
||||||
}
|
|
||||||
// Create an http.Request object to store the request data
|
|
||||||
// Is 'nil' the correct parameter? Check the docs
|
|
||||||
// How is the response body cached? Is the 'nil' parameter the actual POST body?
|
|
||||||
// Is the post_body to be fashioned with json.Marshal as above? Where is it
|
|
||||||
// used as a parameter?
|
|
||||||
http_request, err := http.Request("POST", droplet_actions_url, nil)
|
|
||||||
// Add the Authorization header with the OAuth token to the request data
|
|
||||||
http_request.Header.Add("Authorization", "Bearer 72a0ec632d0834dd3e1b72ec096f4644f527853a747875ca387a0269a625597a")
|
|
||||||
http_response, err := client.Post(droplet_actions_url, "application/json", response_body)
|
|
||||||
// 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
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user