@ -6,11 +6,13 @@
package tailcfg
import (
"encoding/json"
jsonv1 "encoding/json"
"errors"
"net/netip"
"time"
jsonv2 "github.com/go-json-experiment/json"
"github.com/go-json-experiment/json/jsontext"
"tailscale.com/types/dnstype"
"tailscale.com/types/key"
"tailscale.com/types/opt"
@ -49,8 +51,17 @@ func (v UserView) AsStruct() *User {
return v . ж . Clone ( )
}
func ( v UserView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v UserView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v UserView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * UserView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -59,7 +70,20 @@ func (v *UserView) UnmarshalJSON(b []byte) error {
return nil
}
var x User
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * UserView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x User
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -107,8 +131,17 @@ func (v NodeView) AsStruct() *Node {
return v . ж . Clone ( )
}
func ( v NodeView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v NodeView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v NodeView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * NodeView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -117,7 +150,20 @@ func (v *NodeView) UnmarshalJSON(b []byte) error {
return nil
}
var x Node
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * NodeView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x Node
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -246,8 +292,17 @@ func (v HostinfoView) AsStruct() *Hostinfo {
return v . ж . Clone ( )
}
func ( v HostinfoView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v HostinfoView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v HostinfoView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * HostinfoView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -256,7 +311,20 @@ func (v *HostinfoView) UnmarshalJSON(b []byte) error {
return nil
}
var x Hostinfo
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * HostinfoView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x Hostinfo
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -380,8 +448,17 @@ func (v NetInfoView) AsStruct() *NetInfo {
return v . ж . Clone ( )
}
func ( v NetInfoView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v NetInfoView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v NetInfoView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * NetInfoView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -390,7 +467,20 @@ func (v *NetInfoView) UnmarshalJSON(b []byte) error {
return nil
}
var x NetInfo
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * NetInfoView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x NetInfo
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -460,8 +550,17 @@ func (v LoginView) AsStruct() *Login {
return v . ж . Clone ( )
}
func ( v LoginView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v LoginView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v LoginView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * LoginView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -470,7 +569,20 @@ func (v *LoginView) UnmarshalJSON(b []byte) error {
return nil
}
var x Login
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * LoginView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x Login
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -521,8 +633,17 @@ func (v DNSConfigView) AsStruct() *DNSConfig {
return v . ж . Clone ( )
}
func ( v DNSConfigView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v DNSConfigView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v DNSConfigView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * DNSConfigView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -531,7 +652,20 @@ func (v *DNSConfigView) UnmarshalJSON(b []byte) error {
return nil
}
var x DNSConfig
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * DNSConfigView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x DNSConfig
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -602,8 +736,17 @@ func (v RegisterResponseView) AsStruct() *RegisterResponse {
return v . ж . Clone ( )
}
func ( v RegisterResponseView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v RegisterResponseView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v RegisterResponseView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * RegisterResponseView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -612,7 +755,20 @@ func (v *RegisterResponseView) UnmarshalJSON(b []byte) error {
return nil
}
var x RegisterResponse
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * RegisterResponseView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x RegisterResponse
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -668,8 +824,17 @@ func (v RegisterResponseAuthView) AsStruct() *RegisterResponseAuth {
return v . ж . Clone ( )
}
func ( v RegisterResponseAuthView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v RegisterResponseAuthView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v RegisterResponseAuthView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * RegisterResponseAuthView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -678,7 +843,20 @@ func (v *RegisterResponseAuthView) UnmarshalJSON(b []byte) error {
return nil
}
var x RegisterResponseAuth
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * RegisterResponseAuthView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x RegisterResponseAuth
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -726,8 +904,17 @@ func (v RegisterRequestView) AsStruct() *RegisterRequest {
return v . ж . Clone ( )
}
func ( v RegisterRequestView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v RegisterRequestView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v RegisterRequestView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * RegisterRequestView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -736,7 +923,20 @@ func (v *RegisterRequestView) UnmarshalJSON(b []byte) error {
return nil
}
var x RegisterRequest
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * RegisterRequestView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x RegisterRequest
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -816,8 +1016,17 @@ func (v DERPHomeParamsView) AsStruct() *DERPHomeParams {
return v . ж . Clone ( )
}
func ( v DERPHomeParamsView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v DERPHomeParamsView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v DERPHomeParamsView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * DERPHomeParamsView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -826,7 +1035,20 @@ func (v *DERPHomeParamsView) UnmarshalJSON(b []byte) error {
return nil
}
var x DERPHomeParams
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * DERPHomeParamsView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x DERPHomeParams
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -870,8 +1092,17 @@ func (v DERPRegionView) AsStruct() *DERPRegion {
return v . ж . Clone ( )
}
func ( v DERPRegionView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v DERPRegionView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v DERPRegionView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * DERPRegionView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -880,7 +1111,20 @@ func (v *DERPRegionView) UnmarshalJSON(b []byte) error {
return nil
}
var x DERPRegion
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * DERPRegionView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x DERPRegion
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -938,8 +1182,17 @@ func (v DERPMapView) AsStruct() *DERPMap {
return v . ж . Clone ( )
}
func ( v DERPMapView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v DERPMapView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v DERPMapView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * DERPMapView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -948,7 +1201,20 @@ func (v *DERPMapView) UnmarshalJSON(b []byte) error {
return nil
}
var x DERPMap
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * DERPMapView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x DERPMap
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -999,8 +1265,17 @@ func (v DERPNodeView) AsStruct() *DERPNode {
return v . ж . Clone ( )
}
func ( v DERPNodeView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v DERPNodeView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v DERPNodeView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * DERPNodeView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1009,7 +1284,20 @@ func (v *DERPNodeView) UnmarshalJSON(b []byte) error {
return nil
}
var x DERPNode
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * DERPNodeView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x DERPNode
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1073,8 +1361,17 @@ func (v SSHRuleView) AsStruct() *SSHRule {
return v . ж . Clone ( )
}
func ( v SSHRuleView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v SSHRuleView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v SSHRuleView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * SSHRuleView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1083,7 +1380,20 @@ func (v *SSHRuleView) UnmarshalJSON(b []byte) error {
return nil
}
var x SSHRule
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * SSHRuleView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x SSHRule
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1139,8 +1449,17 @@ func (v SSHActionView) AsStruct() *SSHAction {
return v . ж . Clone ( )
}
func ( v SSHActionView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v SSHActionView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v SSHActionView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * SSHActionView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1149,7 +1468,20 @@ func (v *SSHActionView) UnmarshalJSON(b []byte) error {
return nil
}
var x SSHAction
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * SSHActionView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x SSHAction
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1211,8 +1543,17 @@ func (v SSHPrincipalView) AsStruct() *SSHPrincipal {
return v . ж . Clone ( )
}
func ( v SSHPrincipalView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v SSHPrincipalView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v SSHPrincipalView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * SSHPrincipalView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1221,7 +1562,20 @@ func (v *SSHPrincipalView) UnmarshalJSON(b []byte) error {
return nil
}
var x SSHPrincipal
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * SSHPrincipalView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x SSHPrincipal
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1273,8 +1627,17 @@ func (v ControlDialPlanView) AsStruct() *ControlDialPlan {
return v . ж . Clone ( )
}
func ( v ControlDialPlanView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v ControlDialPlanView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v ControlDialPlanView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * ControlDialPlanView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1283,7 +1646,20 @@ func (v *ControlDialPlanView) UnmarshalJSON(b []byte) error {
return nil
}
var x ControlDialPlan
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * ControlDialPlanView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x ControlDialPlan
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1327,8 +1703,17 @@ func (v LocationView) AsStruct() *Location {
return v . ж . Clone ( )
}
func ( v LocationView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v LocationView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v LocationView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * LocationView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1337,7 +1722,20 @@ func (v *LocationView) UnmarshalJSON(b []byte) error {
return nil
}
var x Location
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * LocationView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x Location
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1391,8 +1789,17 @@ func (v UserProfileView) AsStruct() *UserProfile {
return v . ж . Clone ( )
}
func ( v UserProfileView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v UserProfileView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v UserProfileView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * UserProfileView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1401,7 +1808,20 @@ func (v *UserProfileView) UnmarshalJSON(b []byte) error {
return nil
}
var x UserProfile
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * UserProfileView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x UserProfile
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x
@ -1450,8 +1870,17 @@ func (v VIPServiceView) AsStruct() *VIPService {
return v . ж . Clone ( )
}
func ( v VIPServiceView ) MarshalJSON ( ) ( [ ] byte , error ) { return json . Marshal ( v . ж ) }
// MarshalJSON implements [jsonv1.Marshaler].
func ( v VIPServiceView ) MarshalJSON ( ) ( [ ] byte , error ) {
return jsonv1 . Marshal ( v . ж )
}
// MarshalJSONTo implements [jsonv2.MarshalerTo].
func ( v VIPServiceView ) MarshalJSONTo ( enc * jsontext . Encoder ) error {
return jsonv2 . MarshalEncode ( enc , v . ж )
}
// UnmarshalJSON implements [jsonv1.Unmarshaler].
func ( v * VIPServiceView ) UnmarshalJSON ( b [ ] byte ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
@ -1460,7 +1889,20 @@ func (v *VIPServiceView) UnmarshalJSON(b []byte) error {
return nil
}
var x VIPService
if err := json . Unmarshal ( b , & x ) ; err != nil {
if err := jsonv1 . Unmarshal ( b , & x ) ; err != nil {
return err
}
v . ж = & x
return nil
}
// UnmarshalJSONFrom implements [jsonv2.UnmarshalerFrom].
func ( v * VIPServiceView ) UnmarshalJSONFrom ( dec * jsontext . Decoder ) error {
if v . ж != nil {
return errors . New ( "already initialized" )
}
var x VIPService
if err := jsonv2 . UnmarshalDecode ( dec , & x ) ; err != nil {
return err
}
v . ж = & x