GoCloud Vultr builder pattern for inputting parameters

compute, storage, dns, bare metal

odd cn
gocloud
1 min readJul 16, 2018

--

Basic Information

Work

  • Implemented builder pattern of vultr ‘s compute, storage, dns, bare metal module
  • Unit tests for builder of vultr compute, storage, dns, bare metal module
  • APIdocs, example documentation for builder of vultr compute, storage, dns, bare metal module
  • Example videos for vultr builder pattern: compute, bare metal, dns, storage

User can input parameters like this

create a bare metal

createBareMetal, err := vultrbaremetal.NewCreateBareMetalBuilder().
DCID(1).
METALPLANID(100).
OSID(127).
Label("gocloud").
Build()
if err != nil {

}
resp, err := vultrBareMetal.CreateBareMetal(create)

attach a disk to node(server)

attachDisk, err := vultrstorage.NewAttachDiskBuilder().
SUBID(1313217).
AttachToSUBID(1313207).
Build()
resp, err := vultr.AttachDisk(attachDisk)
if err != nil {
fmt.Println(err)
return
}
response := resp.(map[string]interface{})
fmt.Println(response["body"])

create a snapshot

createSnapshot, err := vultrstorage.NewCreateSnapshotBuilder().
SUBID(1312965).
Description("desc").
Build()
resp, err := vultr.CreateSnapshot(createSnapshot)
if err != nil {
fmt.Println(err)
return
}
response := resp.(map[string]interface{})
fmt.Println(response["body"])

Video tutorials Link

--

--