Skip to content

Instantly share code, notes, and snippets.

@yuuki
Last active March 7, 2018 00:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuuki/acd9c06a591f13feafbeaad4c7e3c673 to your computer and use it in GitHub Desktop.
Save yuuki/acd9c06a591f13feafbeaad4c7e3c673 to your computer and use it in GitHub Desktop.
package main
import (
"log"
mackerel "github.com/mackerelio/mackerel-client-go"
)
func main() {
mkr := mackerel.NewClient("your api key")
md := mackerel.HostMetaData{
"type": 12345,
"instance_type": "c4.xlarge",
}
if err := mkr.CreateHostMetaData("9rxGOHfVF8F", "testing", &md); err != nil {
log.Fatal(err)
}
metadata, err := mkr.GetHostMetaData("9rxGOHfVF8F", "testing")
if err != nil {
log.Fatal(err)
}
log.Printf("%+v\n", metadata)
if err := mkr.CreateHostMetaData("9rxGOHfVF8F", "testing2", &md); err != nil {
log.Fatal(err)
}
namespaces, err := mkr.GetHostMetaDataNameSpaces("9rxGOHfVF8F")
if err != nil {
log.Fatal(err)
}
log.Printf("%+v\n", namespaces)
if err := mkr.DeleteHostMetaData("9rxGOHfVF8F", "testing"); err != nil {
log.Fatal(err)
}
log.Println("testing deleted")
namespaces, err = mkr.GetHostMetaDataNameSpaces("9rxGOHfVF8F")
if err != nil {
log.Fatal(err)
}
log.Printf("%+v\n", namespaces)
md = mackerel.HostMetaData{
"type": 54321,
"instance_type": "m4.large",
"env": "prod",
}
if err = mkr.UpdateHostMetaData("9rxGOHfVF8F", "testing2", &md); err != nil {
log.Fatal(err)
}
log.Printf("%+v\n", namespaces)
metadata, err = mkr.GetHostMetaData("9rxGOHfVF8F", "testing2")
if err != nil {
log.Fatal(err)
}
log.Printf("%+v\n", metadata)
}
@yuuki
Copy link
Author

yuuki commented Mar 7, 2018

$ go run metadata-test.go
2018/03/07 09:08:02 metadata-test.go:22: &{HostMetaData:map[instance_type:c4.xlarge type:12345] LastModified:2018-03-07 00:08:02 +0000 UTC}
2018/03/07 09:08:02 metadata-test.go:32: [testing testing2]
2018/03/07 09:08:02 metadata-test.go:37: testing deleted
2018/03/07 09:08:02 metadata-test.go:43: [testing2]
2018/03/07 09:08:02 metadata-test.go:53: [testing2]
2018/03/07 09:08:02 metadata-test.go:59: &{HostMetaData:map[env:prod instance_type:m4.large type:54321] LastModified:2018-03-07 00:08:02 +0000 UTC}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment