Commit Graph

41 Commits

Author SHA1 Message Date
Clayton Coleman
6582b4c2ea Remove codec awareness from conversion
Allow convertors to be specialized, some cleanup to how conversion
functions are stored internally to allow better reuse.
2016-01-21 23:18:32 -05:00
Mike Danese
56bb8138bf remove merge conflict comments 2015-12-14 07:57:52 -08:00
deads2k
519b4e80d1 update NewObject for groupversionkind 2015-12-09 08:13:15 -05:00
deads2k
f764e0099c Update ObjectTyper to GroupVersion 2015-12-07 08:35:05 -05:00
Clayton Coleman
a512d83a87 Skip SetVersionAndKind for ConvertToVersion to internal 2015-12-05 18:15:48 -05:00
deads2k
ed95a6d77f update scheme to use GroupVersion 2015-11-25 12:15:48 -05:00
deads2k
e0b7f52633 hack up queryToObject to continue to work as it used to 2015-11-25 12:14:06 -05:00
deads2k
68b0572974 internal versions 2015-11-25 12:14:06 -05:00
deads2k
6231404682 update decoder to use GroupVersion 2015-11-25 12:14:06 -05:00
feihujiang
eac8d6a997 Cleanup the content of deprecated V1beta1 2015-11-06 13:42:51 +08:00
liguangbo
4df68f03a3 change iff to if and only if to improve annotation readability 2015-09-16 08:29:36 +00:00
Wojciech Tyczynski
b2280db724 Deep-copy functions autogeneration. 2015-05-26 21:16:26 +02:00
Wojciech Tyczynski
e1d9694558 Remove gob 2015-05-15 13:44:37 +02:00
Wojciech Tyczynski
d4b32a8371 Support both manual and generate conversions 2015-05-06 16:43:15 +02:00
deads2k
0d796c184d fix DeepCopy to properly support runtime.EmbeddedObject 2015-05-05 10:36:39 -04:00
Eric Paris
6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Clayton Coleman
12ba4e2452 Do not automatically decode runtime.RawExtension
Make clients opt in to decoding objects that are stored
in the generic api.List object by invoking runtime.DecodeList()
with a set of schemes. Makes it easier to handle unknown
schema objects because decoding is in the control of the code.

Add runtime.Unstructured, which is a simple in memory
representation of an external object.
2015-04-29 12:53:07 -04:00
Wojciech Tyczynski
7f919a44c2 Generate conversions for v1beta3 package. 2015-04-24 09:18:12 +02:00
Clayton Coleman
ea32b89e5e Allow map[string][]string to be converted to an object
Will allow query parameters to be converted to versioned objects.
2015-03-24 17:25:45 -04:00
Tim Hockin
1ddb68d8d7 Sketch: a third take on defaulting values 2015-02-02 22:35:58 -08:00
Clayton Coleman
7fde4583f2 v1beta1 should return Minion as kind, rather than Node
This changes the internal name logic (for conversion) to prefer the
internal registered preferred name for a resource, and then makes
v1beta1 and v1beta2 prefer Minion.

Fixes #3010
2014-12-17 19:55:56 -05:00
Daniel Smith
f81ec248d0 Merge pull request #2786 from smarterclayton/load_opaque_objects
Allow runtime.Object to be encoded as runtime.RawExtension
2014-12-10 16:24:05 -08:00
Clayton Coleman
279df03377 Allow mismatched type names on all conversions
Allows v1beta3.Node to be converted to api.Minion
2014-12-10 11:48:41 -05:00
Clayton Coleman
dd24b013cb Use if err := ; err != nil instead of two lines 2014-12-07 20:48:16 -05:00
Clayton Coleman
84d84c50c2 Add a strongly typed error for unrecognized kind/type/version 2014-12-07 20:48:16 -05:00
Daniel Smith
f1c21c8fdf add boilerplate reduction struct field copier 2014-11-24 12:57:34 -08:00
Tim Hockin
ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
Clayton Coleman
ad92ff6952 When explicitly converting two objects, allow names to differ 2014-11-10 11:33:31 -05:00
Clayton Coleman
778a50d00b Introduce ObjectConvertor for conversion to known API versions
Will allow clients to transform internal objects to a version
suitable for external output.
2014-11-04 10:34:15 -05:00
Clayton Coleman
52b582271b Typo in conversion Godoc 2014-10-26 22:21:11 -04:00
Clayton Coleman
13992837ea Use one copy of EnforcePtr 2014-10-13 23:29:39 -04:00
Clayton Coleman
d488e238dd Genericize MetaInsertionFactory into a simpler interface
The common path code for MIF goes through a conversion cycle - it
can also be done through reflection. This simplifies the Create/Update
methods into Interpret (return version) and Update (through reflection).

In addition it uses only one MetaFactory implementation across all of
our packages which reduces a bit of duplication.
2014-10-13 23:29:39 -04:00
Clayton Coleman
96f0c37a31 Allow multiple names to resolve to a type in a Scheme
Allows decoding multiple names into a single type, necessary for
v1beta3 (rename of Minion -> Node)
2014-10-09 17:14:55 -04:00
Clayton Coleman
305db35422 Add a Log method on Scheme for better debugging 2014-10-05 17:17:25 -04:00
Clayton Coleman
61e3ce7ddc Make runtime less global for Codec
* Make Codec separate from Scheme
* Move EncodeOrDie off Scheme to take a Codec
* Make Copy work without a Codec
* Create a "latest" package that imports all versions and
  sets global defaults for "most recent encoding"
  * v1beta1 is the current "latest", v1beta2 exists
  * Kill DefaultCodec, replace it with "latest.Codec"
  * This updates the client and etcd to store the latest known version
* EmbeddedObject is per schema and per package now
* Move runtime.DefaultScheme to api.Scheme
* Split out WatchEvent since it's not an API object today, treat it
like a special object in api
* Kill DefaultResourceVersioner, instead place it on "latest" (as the
  package that understands all packages)
* Move objDiff to runtime.ObjectDiff
2014-09-16 16:26:43 -04:00
Daniel Smith
b8c955ea17 Fixes:
* Fix kubecfg test, which was writing an internal object straight to yaml
* Address review comments
2014-09-15 13:15:46 -07:00
Daniel Smith
71e547124c Make needed changes in conversion package to support pluggability 2014-09-15 13:15:46 -07:00
Daniel Smith
0c6adde92e Change conversion package so that AddKnownTypes takes pointers. 2014-09-07 22:19:24 -07:00
Vojtech Vitek (V-Teq)
59f58cd043 Unify Godoc formatting, fix various typos
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:03 +02:00
Daniel Smith
1cc7fce523 Add documentation and tests to conversion. 2014-08-01 14:26:36 -07:00
Daniel Smith
a73e4f4623 Separate generic parts of api library into conversion package. 2014-08-01 14:25:42 -07:00