/* * Subset of Influx API covered by Influx CLI * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * API version: 2.0.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package api import ( "encoding/json" "errors" ) // VariableOrMemberAssignment - struct for VariableOrMemberAssignment type VariableOrMemberAssignment struct { MemberAssignment *MemberAssignment VariableAssignment *VariableAssignment } // MemberAssignmentAsVariableOrMemberAssignment is a convenience function that returns MemberAssignment wrapped in VariableOrMemberAssignment func MemberAssignmentAsVariableOrMemberAssignment(v *MemberAssignment) VariableOrMemberAssignment { return VariableOrMemberAssignment{MemberAssignment: v} } // VariableAssignmentAsVariableOrMemberAssignment is a convenience function that returns VariableAssignment wrapped in VariableOrMemberAssignment func VariableAssignmentAsVariableOrMemberAssignment(v *VariableAssignment) VariableOrMemberAssignment { return VariableOrMemberAssignment{VariableAssignment: v} } // Unmarshal JSON data into one of the pointers in the struct func (dst *VariableOrMemberAssignment) UnmarshalJSON(data []byte) error { var err error match := 0 // try to unmarshal data into MemberAssignment err = json.Unmarshal(data, &dst.MemberAssignment) if err == nil { jsonMemberAssignment, _ := json.Marshal(dst.MemberAssignment) if string(jsonMemberAssignment) == "{}" { // empty struct dst.MemberAssignment = nil } else { match++ } } else { dst.MemberAssignment = nil } // try to unmarshal data into VariableAssignment err = json.Unmarshal(data, &dst.VariableAssignment) if err == nil { jsonVariableAssignment, _ := json.Marshal(dst.VariableAssignment) if string(jsonVariableAssignment) == "{}" { // empty struct dst.VariableAssignment = nil } else { match++ } } else { dst.VariableAssignment = nil } if match > 1 { // more than 1 match // reset to nil dst.MemberAssignment = nil dst.VariableAssignment = nil return errors.New("data matches more than one schema in oneOf(VariableOrMemberAssignment)") } else if match == 1 { return nil // exactly one match } else { // no match return errors.New("data failed to match schemas in oneOf(VariableOrMemberAssignment)") } } // Marshal data from the first non-nil pointers in the struct to JSON func (src VariableOrMemberAssignment) MarshalJSON() ([]byte, error) { if src.MemberAssignment != nil { return json.Marshal(&src.MemberAssignment) } if src.VariableAssignment != nil { return json.Marshal(&src.VariableAssignment) } return nil, nil // no data in oneOf schemas } // Get the actual instance func (obj *VariableOrMemberAssignment) GetActualInstance() interface{} { if obj.MemberAssignment != nil { return obj.MemberAssignment } if obj.VariableAssignment != nil { return obj.VariableAssignment } // all schemas are nil return nil } type NullableVariableOrMemberAssignment struct { value *VariableOrMemberAssignment isSet bool } func (v NullableVariableOrMemberAssignment) Get() *VariableOrMemberAssignment { return v.value } func (v *NullableVariableOrMemberAssignment) Set(val *VariableOrMemberAssignment) { v.value = val v.isSet = true } func (v NullableVariableOrMemberAssignment) IsSet() bool { return v.isSet } func (v *NullableVariableOrMemberAssignment) Unset() { v.value = nil v.isSet = false } func NewNullableVariableOrMemberAssignment(val *VariableOrMemberAssignment) *NullableVariableOrMemberAssignment { return &NullableVariableOrMemberAssignment{value: val, isSet: true} } func (v NullableVariableOrMemberAssignment) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableVariableOrMemberAssignment) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }