// Code generated by protoc-json-shim. DO NOT EDIT.
package catalogv2beta1

import (
	protojson "google.golang.org/protobuf/encoding/protojson"
)

// MarshalJSON is a custom marshaler for FailoverPolicy
func (this *FailoverPolicy) MarshalJSON() ([]byte, error) {
	str, err := FailoverPolicyMarshaler.Marshal(this)
	return []byte(str), err
}

// UnmarshalJSON is a custom unmarshaler for FailoverPolicy
func (this *FailoverPolicy) UnmarshalJSON(b []byte) error {
	return FailoverPolicyUnmarshaler.Unmarshal(b, this)
}

// MarshalJSON is a custom marshaler for FailoverConfig
func (this *FailoverConfig) MarshalJSON() ([]byte, error) {
	str, err := FailoverPolicyMarshaler.Marshal(this)
	return []byte(str), err
}

// UnmarshalJSON is a custom unmarshaler for FailoverConfig
func (this *FailoverConfig) UnmarshalJSON(b []byte) error {
	return FailoverPolicyUnmarshaler.Unmarshal(b, this)
}

// MarshalJSON is a custom marshaler for FailoverDestination
func (this *FailoverDestination) MarshalJSON() ([]byte, error) {
	str, err := FailoverPolicyMarshaler.Marshal(this)
	return []byte(str), err
}

// UnmarshalJSON is a custom unmarshaler for FailoverDestination
func (this *FailoverDestination) UnmarshalJSON(b []byte) error {
	return FailoverPolicyUnmarshaler.Unmarshal(b, this)
}

var (
	FailoverPolicyMarshaler   = &protojson.MarshalOptions{}
	FailoverPolicyUnmarshaler = &protojson.UnmarshalOptions{DiscardUnknown: false}
)
