// Code generated by cue get go. DO NOT EDIT.

//cue:generate cue get go k8s.io/apimachinery/pkg/types

package types

// Similarly to above, these are constants to support HTTP PATCH utilized by
// both the client and server that didn't make sense for a whole package to be
// dedicated to.
#PatchType: string // #enumPatchType

#enumPatchType:
	#JSONPatchType |
	#MergePatchType |
	#StrategicMergePatchType |
	#ApplyPatchType

#JSONPatchType:           #PatchType & "application/json-patch+json"
#MergePatchType:          #PatchType & "application/merge-patch+json"
#StrategicMergePatchType: #PatchType & "application/strategic-merge-patch+json"
#ApplyPatchType:          #PatchType & "application/apply-patch+yaml"
