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

// Describes the rules used to configure Mixer's policy and telemetry features.

package v1beta1

import (
	bytes "bytes"
	fmt "fmt"
	github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb"
	proto "github.com/gogo/protobuf/proto"
	_ "github.com/gogo/protobuf/types"
	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 Value
func (this *Value) MarshalJSON() ([]byte, error) {
	str, err := TypeMarshaler.MarshalToString(this)
	return []byte(str), err
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

var (
	TypeMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
	TypeUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
