// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: policy/v1beta1/cfg.proto

package v1beta1

import (
	bytes "bytes"
	fmt "fmt"
	_ "github.com/gogo/protobuf/gogoproto"
	github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
	proto "github.com/gogo/protobuf/proto"
	_ "github.com/gogo/protobuf/types"
	_ "istio.io/gogo-genproto/googleapis/google/api"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

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

// UnmarshalJSON is a custom unmarshaler for AttributeManifest
func (this *AttributeManifest) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for AttributeManifest_AttributeInfo
func (this *AttributeManifest_AttributeInfo) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Rule
func (this *Rule) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Rule_HeaderOperationTemplate
func (this *Rule_HeaderOperationTemplate) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Action
func (this *Action) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Instance
func (this *Instance) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Handler
func (this *Handler) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Connection
func (this *Connection) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Sampling
func (this *Sampling) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for RandomSampling
func (this *RandomSampling) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for RateLimitSampling
func (this *RateLimitSampling) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for FractionalPercent
func (this *FractionalPercent) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Authentication
func (this *Authentication) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Tls
func (this *Tls) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for OAuth
func (this *OAuth) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

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

// UnmarshalJSON is a custom unmarshaler for Mutual
func (this *Mutual) UnmarshalJSON(b []byte) error {
	return CfgUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}

var (
	CfgMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
	CfgUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
