blob: e071cde25fce550c02f59a07c33112f6131da84c [file] [log] [blame]
// Code generated by cue get go. DO NOT EDIT.
//cue:generate cue get go k8s.io/apimachinery/pkg/runtime
package runtime
// APIVersionInternal may be used if you are registering a type that should not
// be considered stable or serialized - it is a convention only and has no
// special behavior in this package.
APIVersionInternal :: "__internal"
// GroupVersioner refines a set of possible conversion targets into a single option.
GroupVersioner :: _
// Identifier represents an identifier.
// Identitier of two different objects should be equal if and only if for every
// input the output they produce is exactly the same.
Identifier :: string // enumIdentifier
enumIdentifier ::
noopEncoderIdentifier
// Encoder writes objects to a serialized form
Encoder :: _
// Decoder attempts to load an object from data.
Decoder :: _
// Serializer is the core interface for transforming objects into a serialized format and back.
// Implementations may choose to perform conversion of the object, but no assumptions should be made.
Serializer :: _
// Codec is a Serializer that deals with the details of versioning objects. It offers the same
// interface as Serializer, so this is a marker to consumers that care about the version of the objects
// they receive.
Codec :: Serializer
// ParameterCodec defines methods for serializing and deserializing API objects to url.Values and
// performing any necessary conversion. Unlike the normal Codec, query parameters are not self describing
// and the desired version must be specified.
ParameterCodec :: _
// Framer is a factory for creating readers and writers that obey a particular framing pattern.
Framer :: _
// SerializerInfo contains information about a specific serialization format
SerializerInfo :: {
// MediaType is the value that represents this serializer over the wire.
MediaType: string
// MediaTypeType is the first part of the MediaType ("application" in "application/json").
MediaTypeType: string
// MediaTypeSubType is the second part of the MediaType ("json" in "application/json").
MediaTypeSubType: string
// EncodesAsText indicates this serializer can be encoded to UTF-8 safely.
EncodesAsText: bool
// Serializer is the individual object serializer for this media type.
Serializer: Serializer
// PrettySerializer, if set, can serialize this object in a form biased towards
// readability.
PrettySerializer: Serializer
// StreamSerializer, if set, describes the streaming serialization format
// for this media type.
StreamSerializer: null | StreamSerializerInfo @go(,*StreamSerializerInfo)
}
// StreamSerializerInfo contains information about a specific stream serialization format
StreamSerializerInfo :: {
// EncodesAsText indicates this serializer can be encoded to UTF-8 safely.
EncodesAsText: bool
// Serializer is the top level object serializer for this type when streaming
Serializer: Serializer
// Framer is the factory for retrieving streams that separate objects on the wire
Framer: Framer
}
// NegotiatedSerializer is an interface used for obtaining encoders, decoders, and serializers
// for multiple supported media types. This would commonly be accepted by a server component
// that performs HTTP content negotiation to accept multiple formats.
NegotiatedSerializer :: _
// StorageSerializer is an interface used for obtaining encoders, decoders, and serializers
// that can read and write data at rest. This would commonly be used by client tools that must
// read files, or server side storage interfaces that persist restful objects.
StorageSerializer :: _
// NestedObjectEncoder is an optional interface that objects may implement to be given
// an opportunity to encode any nested Objects / RawExtensions during serialization.
NestedObjectEncoder :: _
// NestedObjectDecoder is an optional interface that objects may implement to be given
// an opportunity to decode any nested Objects / RawExtensions during serialization.
NestedObjectDecoder :: _
ObjectDefaulter :: _
ObjectVersioner :: _
// ObjectConvertor converts an object to a different version.
ObjectConvertor :: _
// ObjectTyper contains methods for extracting the APIVersion and Kind
// of objects.
ObjectTyper :: _
// ObjectCreater contains methods for instantiating an object by kind and version.
ObjectCreater :: _
// EquivalentResourceMapper provides information about resources that address the same underlying data as a specified resource
EquivalentResourceMapper :: _
// EquivalentResourceRegistry provides an EquivalentResourceMapper interface,
// and allows registering known resource[/subresource] -> kind
EquivalentResourceRegistry :: _
// ResourceVersioner provides methods for setting and retrieving
// the resource version from an API object.
ResourceVersioner :: _
// SelfLinker provides methods for setting and retrieving the SelfLink field of an API object.
SelfLinker :: _
// Object interface must be supported by all API types registered with Scheme. Since objects in a scheme are
// expected to be serialized to the wire, the interface an Object must provide to the Scheme allows
// serializers to set the kind, version, and group the object is represented as. An Object may choose
// to return a no-op ObjectKindAccessor in cases where it is not expected to be serialized.
Object :: _
// CacheableObject allows an object to cache its different serializations
// to avoid performing the same serialization multiple times.
CacheableObject :: _
// Unstructured objects store values as map[string]interface{}, with only values that can be serialized
// to JSON allowed.
Unstructured :: _