Documentation ¶
Index ¶
- Variables
- func NewSerializer(meta MetaFactory, creater runtime.ObjectCreater, typer runtime.Typer, ...) runtime.Serializer
- func NewYAMLSerializer(meta MetaFactory, creater runtime.ObjectCreater, typer runtime.Typer) runtime.Serializer
- type MetaFactory
- type Serializer
- func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error)
- func (s *Serializer) EncodeToStream(obj runtime.Object, w io.Writer, overrides ...unversioned.GroupVersion) error
- func (s *Serializer) RecognizesData(peek io.Reader) (bool, error)
- type SimpleMetaFactory
Constants ¶
This section is empty.
Variables ¶
var DefaultMetaFactory = SimpleMetaFactory{}
DefaultMetaFactory is a default factory for versioning objects in JSON. The object in memory and in the default JSON serialization will use the "kind" and "apiVersion" fields.
Functions ¶
func NewSerializer ¶
func NewSerializer(meta MetaFactory, creater runtime.ObjectCreater, typer runtime.Typer, pretty bool) runtime.Serializer
NewSerializer creates a JSON serializer that handles encoding versioned objects into the proper JSON form. If typer is not nil, the object has the group, version, and kind fields set.
func NewYAMLSerializer ¶
func NewYAMLSerializer(meta MetaFactory, creater runtime.ObjectCreater, typer runtime.Typer) runtime.Serializer
NewYAMLSerializer creates a YAML serializer that handles encoding versioned objects into the proper YAML form. If typer is not nil, the object has the group, version, and kind fields set. This serializer supports only the subset of YAML that matches JSON, and will error if constructs are used that do not serialize to JSON.
Types ¶
type MetaFactory ¶
type MetaFactory interface { // Interpret should return the version and kind of the wire-format of // the object. Interpret(data []byte) (*unversioned.GroupVersionKind, error) }
MetaFactory is used to store and retrieve the version and kind information for JSON objects in a serializer.
type Serializer ¶
type Serializer struct {
// contains filtered or unexported fields
}
func (*Serializer) Decode ¶
func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error)
Decode attempts to convert the provided data into YAML or JSON, extract the stored schema kind, apply the provided default gvk, and then load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown, the raw data will be extracted and no decoding will be performed. If into is not registered with the typer, then the object will be straight decoded using normal JSON/YAML unmarshalling. If into is provided and the original data is not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most errors, the method will return the calculated schema kind.
func (*Serializer) EncodeToStream ¶
func (s *Serializer) EncodeToStream(obj runtime.Object, w io.Writer, overrides ...unversioned.GroupVersion) error
EncodeToStream serializes the provided object to the given writer. Overrides is ignored.
func (*Serializer) RecognizesData ¶
func (s *Serializer) RecognizesData(peek io.Reader) (bool, error)
RecognizesData implements the RecognizingDecoder interface.
type SimpleMetaFactory ¶
type SimpleMetaFactory struct { }
SimpleMetaFactory provides default methods for retrieving the type and version of objects that are identified with an "apiVersion" and "kind" fields in their JSON serialization. It may be parameterized with the names of the fields in memory, or an optional list of base structs to search for those fields in memory.
func (SimpleMetaFactory) Interpret ¶
func (SimpleMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, error)
Interpret will return the APIVersion and Kind of the JSON wire-format encoding of an object, or an error.