GoCloud builder of Vultr compute
builder of bare meta and compute (server) module
Basic Information
https://github.com/cloudlibz/gocloud/pull/108
Work
- Implemented builder pattern of Vultr bare metal module
- Implemented builder pattern of Vultr compute module
- Updated examples and API documentations for bare metal and compute
Builder code implemented
For example, builder pattern of create bare metal
type CreateBareMetalBuilder struct {
// contains filtered or unexported fields
}
CreateBareMetal builder pattern code
func NewCreateBareMetalBuilder() *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) APPID(aPPID int) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) Build() (map[string]interface{}, error)
func (b *CreateBareMetalBuilder) DCID(dCID int) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) EnableIpv6(enable_ipv6 string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) Hostname(hostname string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) Label(label string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) METALPLANID(mETALPLANID int) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) NotifyActivate(notify_activate string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) OSID(oSID int) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) SCRIPTID(sCRIPTID int) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) SNAPSHOTID(sNAPSHOTID string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) SSHKEYID(sSHKEYID string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) Tag(tag string) *CreateBareMetalBuilder
func (b *CreateBareMetalBuilder) UserData(userdata string) *CreateBareMetalBuilder
When users use it
createBareMetal, err := vultrbaremetal.NewCreateBareMetalBuilder().
DCID(1).
METALPLANID(100).
OSID(127).
Label("gocloud").
Build()if err != nil {
}
resp, err := vultrBareMetal.CreateBareMetal(create)