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

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

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

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

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

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

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

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

var (
	TelemetryStateMarshaler   = &protojson.MarshalOptions{}
	TelemetryStateUnmarshaler = &protojson.UnmarshalOptions{DiscardUnknown: false}
)
