This was generating fine before but it makes it explicit in the proto and it avoids weirdness where the protobuf tag will say a name is something like requestId where the json tag says it's request_id. This way they line up. One thing not honoring this properly is TraceId. I don't know why the JSON tag being generated doesn't match even when explicitly set here. For now I'm just manually fixing it.
58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
// Code generated by "make api"; DO NOT EDIT.
|
|
package hosts
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
|
|
"github.com/fatih/structs"
|
|
|
|
"github.com/hashicorp/watchtower/api"
|
|
"github.com/hashicorp/watchtower/api/internal/strutil"
|
|
)
|
|
|
|
type Host struct {
|
|
Client *api.Client `json:"-"`
|
|
|
|
defaultFields []string
|
|
|
|
// The ID of the host
|
|
// Output only.
|
|
Id string `json:"id,omitempty"`
|
|
// The type of the resource, to help differentiate schemas
|
|
Type *string `json:"type,omitempty"`
|
|
// Optional name for identification purposes
|
|
Name *string `json:"name,omitempty"`
|
|
// Optional user-set description for identification purposes
|
|
Description *string `json:"description,omitempty"`
|
|
// The time this resource was created
|
|
// Output only.
|
|
CreatedTime time.Time `json:"created_time,omitempty"`
|
|
// The time this resource was last updated
|
|
// Output only.
|
|
UpdatedTime time.Time `json:"updated_time,omitempty"`
|
|
// Whether the host is disabled
|
|
Disabled *bool `json:"disabled,omitempty"`
|
|
// The address (DNS or IP name) used to reach the host
|
|
Address *string `json:"address,omitempty"`
|
|
}
|
|
|
|
func (s *Host) SetDefault(key string) {
|
|
s.defaultFields = strutil.AppendIfMissing(s.defaultFields, key)
|
|
}
|
|
|
|
func (s *Host) UnsetDefault(key string) {
|
|
s.defaultFields = strutil.StrListDelete(s.defaultFields, key)
|
|
}
|
|
|
|
func (s Host) MarshalJSON() ([]byte, error) {
|
|
m := structs.Map(s)
|
|
if m == nil {
|
|
m = make(map[string]interface{})
|
|
}
|
|
for _, k := range s.defaultFields {
|
|
m[k] = nil
|
|
}
|
|
return json.Marshal(m)
|
|
}
|