// Code generated by "make api"; DO NOT EDIT. package api import ( "encoding/json" "strings" "github.com/fatih/structs" "github.com/hashicorp/watchtower/api/internal/strutil" ) type ErrorDetails struct { defaultFields []string TraceId string `json:"TraceId,omitempty"` RequestId string `json:"request_id,omitempty"` RequestFields []*FieldError `json:"request_fields,omitempty"` } func (s *ErrorDetails) SetDefault(key string) { lowerKey := strings.ToLower(key) validMap := map[string]string{"requestfields": "request_fields", "requestid": "request_id", "traceid": "TraceId"} for k, v := range validMap { if k == lowerKey || v == lowerKey { s.defaultFields = strutil.AppendIfMissing(s.defaultFields, v) return } } } func (s *ErrorDetails) UnsetDefault(key string) { lowerKey := strings.ToLower(key) validMap := map[string]string{"requestfields": "request_fields", "requestid": "request_id", "traceid": "TraceId"} for k, v := range validMap { if k == lowerKey || v == lowerKey { s.defaultFields = strutil.StrListDelete(s.defaultFields, v) return } } } func (s ErrorDetails) 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) }