// Code generated by protoc-gen-jsonshim. DO NOT EDIT.
package v1alpha1

import (
	bytes "bytes"
	jsonpb "github.com/golang/protobuf/jsonpb"
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

var (
	CommonMarshaler   = &jsonpb.Marshaler{Int64Uint64asIntegers: true}
	CommonUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
