Commit Graph

179 Commits (da8f68e013b5728fa864e966443e22d073cd235b)

Author SHA1 Message Date
Filip Grzadkowski 4ef062c22f Merge pull request #18476 from caesarxuchao/fix-query-convert
Fix queryparams convert
2015-12-14 13:22:27 +01:00
k8s-merge-robot 266ab4a796 Merge pull request #18487 from smarterclayton/guard_encode_decode
Auto commit by PR queue bot
2015-12-13 23:08:18 -08:00
Chao Xu 2eba8b7f1f fix queryparams convertStruct 2015-12-13 13:53:28 -08:00
Clayton Coleman 1e21054134 Hide common codec methods under helpers
The pending codec -> conversion split changes the signature of
Encode and Decode to be more complicated. Create a stub helper
with the exact semantics of today and do the simple mechanical
refactor here to reduce the cost of that change.
2015-12-09 21:15:02 -05: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
Wojciech Tyczynski d7b098b0e9 Add DecodeParametersInto method to Codec. 2015-11-18 09:56:04 +01:00
feihujiang eac8d6a997 Cleanup the content of deprecated V1beta1 2015-11-06 13:42:51 +08:00
Chao Xu 69932aecb0 Let discoveryClient use RESTClient;
Ignore 403 and 404 error when discovering server-supported group/version
2015-10-29 09:55:32 -07:00
Wojciech Tyczynski f650abaafa Use ugorji/go/codec for decoding jsons. 2015-10-16 10:12:08 +02:00
Chao Xu f3caff2a79 testapi.Experimental -> testapi.Extensions 2015-10-09 15:15:35 -07:00
Chao Xu 347d53ff2e v1alpa1->v1beta1 2015-10-09 15:06:28 -07:00
Chao Xu 0b7e3c7dd1 experimental/v1alpha1->extensions/v1beta1 2015-10-09 15:01:33 -07:00
Brendan Burns 8998219686 Add a method for encoding directly to a io.Writer and use it for HTTPx 2015-09-24 15:52:09 -07:00
k8s-merge-robot 6d2c2440e9 Merge pull request #14203 from caesarxuchao/encode-unversioned
Auto commit by PR queue bot
2015-09-21 18:59:32 -07:00
Chao Xu ab5c1f6710 let encoder handle unversioned objects
address lavalamp's comments

address lavalamp's comments

address lavalamp's comments

add a TODO based on lavalamp's comment

add a TODO based on lavalamp's comment
2015-09-21 15:57:45 -07:00
Clayton Coleman a02bcefa10 Allow []string to be converted to *int64
Not something we hit before
2015-09-21 12:02:03 -04:00
liguangbo 4df68f03a3 change iff to if and only if to improve annotation readability 2015-09-16 08:29:36 +00:00
kargakis f9bca7bc7d handle structs 2015-09-03 15:49:24 +02:00
kargakis 6c32e071f4 Dont output nil; test nil & omitempty 2015-09-03 15:32:19 +02:00
kargakis edfaa480cf queryparams: Handle pointer fields in structs 2015-09-03 13:45:31 +02:00
Piotr Szczesniak eb01d49783 Merge pull request #12556 from uluyol/copynilinterface
Properly handle nil interfaces in DeepCopy.
2015-08-12 09:54:02 +02:00
Piotr Szczesniak 1df0267f4a Merge pull request #12551 from eparis/underscore-to-dash
Update code and docs to use - in flag names instead of _
2015-08-12 07:16:31 +02:00
Muhammed Uluyol bc8bc37282 Properly handle nil interfaces in DeepCopy.
Running reflect.ValueOf(X) where X is a nil interface will return
a zero Value. We cannot get the type (because no concrete type is
known) and cannot check if the Value is nil later on due to the way
reflect.Value works. So we should handle this case by immediately
returning nil. We cannot type-assert a nil interface to another
interface type (as no concrete type is assigned), so we must add
another check to see if the returned interface is nil.
2015-08-11 17:59:32 -07:00
Kris Rousey 565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
Eric Paris 5aa495cdad Update code to use - in flag names instead of _ 2015-08-11 16:31:52 -04:00
Marek Grabowski 5f9cefc1d8 Merge pull request #12441 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
2015-08-10 16:33:52 +02:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Kris Rousey 6e64a63a84 Adding a way to decode to a specified version.
This is largely needed as a way to get a versioned client without
requiring everyone to switch to versioned types at once.
2015-08-07 14:16:24 -07:00
Mike Danese 8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
Alex Mohr 366b382901 Merge pull request #10200 from caesarxuchao/resthandler-validate-version
verify and default APIVersion in createHandler, verify APIVersion in UpdateResource
2015-08-04 13:09:31 -07:00
Chao Xu 664d20c572 Add DecodeIntoWithSpecifiedVersionKind() to Decoder interface.
The function validate/default the body with the passed in apiVersion and Kind.
It's called in createHandler and UpdateResource
2015-08-03 15:30:00 -07:00
Muhammed Uluyol ab83ad2e4b Update documentation for deep copy functions 2015-07-27 16:47:41 -07:00
Mike Danese 2906f85227 allow conversions.Scheme to expose intermidiate versioned api object 2015-06-25 11:53:17 -07:00
Rodolfo Carvalho b216d09a8d Fix typo 2015-06-04 11:44:10 +02:00
Wojciech Tyczynski 33318f0162 Use generated DeepCopy methods. 2015-05-28 09:03:27 +02:00
Wojciech Tyczynski b2280db724 Deep-copy functions autogeneration. 2015-05-26 21:16:26 +02:00
feihujiang d36173e855 Check json format firstly
Check json format firstly

check json format firstly

check json format firstly
2015-05-18 10:44:29 +08:00
Wojciech Tyczynski e1d9694558 Remove gob 2015-05-15 13:44:37 +02:00
Victor Marmol 8bc3e5121f Merge pull request #8188 from krousey/deep_copy
Changing the implementation of DeepCopy to use reflection
2015-05-14 18:25:30 -07:00
Kris Rousey 4d031abc16 Changing the implementation of DeepCopy to use reflection instead of Gob encode/decode. 2015-05-14 13:46:31 -07:00
Wojciech Tyczynski b00020884c DeepCopy benchmarks 2015-05-14 09:43:21 +02:00
Wojciech Tyczynski 5578dc99e3 Improvements for conversions generator 2015-05-11 12:21:11 +02:00
Cesar Wong 619332d58e Utility to convert versioned runtime objects to a set query parameters
JSON struct tags are used as parameter names, fields that do not have
the omitempty marker are always included.
2015-05-07 14:25:14 -04:00
Wojciech Tyczynski 156795f298 Update conversion functions 2015-05-07 09:27:58 +02:00
Wojciech Tyczynski 5173ee07e1 Chain conversion functions while generation 2015-05-07 09:27:58 +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
Wojciech Tyczynski e225a2e777 Merge pull request #7644 from liggitt/conversion_test
Output generated conversion functions/names
2015-05-04 08:17:03 +02: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 1a8845af61 Merge pull request #7490 from smarterclayton/alter_list
Do not automatically decode runtime.RawExtension
2015-05-01 16:48:26 -04:00
Jordan Liggitt 26caf9e0de Output generated conversion functions/names 2015-05-01 16:28:08 -04:00
Clayton Coleman 32dfd3e07b Correct the capitalization of KubeProxyVersion 2015-04-30 15:43:14 -04:00
Wojciech Tyczynski 3b84bae544 Auto-generated conversion not manually edited 2015-04-30 14:05:42 +02: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 8eca76298f Improvements to conversions generator. 2015-04-29 16:32:31 +02:00
Wojciech Tyczynski 922555f048 Improvements to generator of conversion methods. 2015-04-27 13:33:38 +02:00
Wojciech Tyczynski 7f919a44c2 Generate conversions for v1beta3 package. 2015-04-24 09:18:12 +02:00
Wojciech Tyczynski c4a27f5c0f Generating conversion methods. 2015-04-23 18:26:24 +02:00
Wojciech Tyczynski 7e2724e14b Avoid benchmarks from being optimized 2015-04-23 08:57:29 +02:00
Wojciech Tyczynski ea314d55f7 Create benchmarks for conversions. 2015-04-22 16:27:23 +02:00
Clayton Coleman 545a5a865f List output with differing types should be more resilient
kubectl get can output a series of objects as a List in versioned
form, but not all API objects are available in the same schema.
Make the act of converting a []runtime.Object to api.List more
robust and add a test to verify its behavior in Get.

Makes it easier for client code to output unified objects.
2015-04-20 14:44:16 -04:00
Clayton Coleman f95cc2b8f2 Reuse gob.Encoder and Decoder in DeepCopy 2015-04-13 13:52:38 -04:00
Daniel Smith 395d69641e fix race 2015-04-10 16:02:51 -07:00
Daniel Smith f591873af7 Add DeepCopy! Also-- optimize conversion for []byte 2015-04-10 13:26:46 -07:00
Daniel Smith 2c93080373 Fix licensing for forked code. 2015-04-03 17:06:24 -07:00
Tim Hockin c63f4c71ba Remove dead, buggy code 2015-04-01 21:25:49 -07:00
Tim Hockin b07ed62910 Fix deep equal to not panic on bad slice lengths
Also test it more throughly and test DeepDerivative.
2015-03-26 11:47:30 -07: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
Clayton Coleman 6918a4d32e Replace automatic YAML decoding with opt-in YAML decoding
Base codecs no longer automically handle YAML.  Instead, clients
must convert to JSON first via yaml.ToJSON and runtime.YAMLDecoder.
2015-03-20 00:03:56 -04:00
Daniel Smith 3ef3777192 Make unexported fields panic (informatively)
...Also fix some incorrect calls to semantic.DeepEqual, and a bug where
it returned true incorrectly.
2015-03-05 21:40:37 -08:00
Brendan Burns 877f605dc0 Add specific errors for missing kind and version. 2015-02-26 11:19:04 -08:00
Andy Goldstein 5bd0e9ab05 Add streaming command execution & port forwarding
Add streaming command execution & port forwarding via HTTP connection
upgrades (currently using SPDY).
2015-02-20 09:57:02 -05:00
Yu-Ju Hong 4a72addaeb Factor out API defaulting from validation logic
Currently, the validation logic validates fields in an object and supply default
values wherever applies. This change factors out defaulting to a set of
defaulting callback functions for decoding (see #1502 for more discussion).

 * This change is based on pull request 2587.

 * Most defaulting has been migrated to defaults.go where the defaulting
   functions are added.

 * validation_test.go and converter_test.go have been adapted to not testing the
   default values.

 * Fixed all tests with that create invalid objects with the absence of
   defaulting logic.
2015-02-03 00:55:42 -08:00
Tim Hockin 1ddb68d8d7 Sketch: a third take on defaulting values 2015-02-02 22:35:58 -08:00
Daniel Smith 37f5a9df07 make conversion do deep copies 2015-01-15 12:02:22 -08:00
Joe Beda dcd00c936e Move all kubernetes to posix flags 2015-01-15 09:12:19 -08:00
Clayton Coleman 8f65442c2f Client should not include ns/ for non-namespaced calls in v1beta3 2015-01-08 12:44:07 -05:00
Daniel Smith 0d628b3bff Make semantic deep equal public feature
* Use semantic deep equal when validating
* More test cases for deep equal
2015-01-07 15:21:34 -08:00
Clayton Coleman 3b5c3ec786 Merge pull request #3220 from lavalamp/deepEqual
Add *useful* DeepEqual
2015-01-07 14:24:26 -05:00
Jordan Liggitt 2da1865fc2 Make default conversion behavior available to conversion funcs 2015-01-06 13:38:57 -05:00
Daniel Smith f0b7743402 Add useful DeepEqual 2015-01-05 10:37:50 -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 f3148e9965 Fix taking addr() of map value/key 2014-12-12 15:26:17 -08: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
Daniel Smith 3c1d51b19d refactor to hide structs behind an interface 2014-12-08 17:12:40 -08:00
Daniel Smith 564c087062 produce more readable error messages 2014-12-08 17:12:38 -08:00
Daniel Smith 77521a33d3 Add stack of previous values to converter 2014-12-08 17:12:07 -08: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
Jordan Liggitt 22eee15fe7 Remove uint64 bitshift workaround 2014-12-04 15:00:23 -08:00
Sam Ghods 6399854240 Remove unused YAML tags and GetYAML/SetYAML methods
Unneeded after move to ghodss/yaml.
2014-12-02 16:25:28 -08:00
Sam Ghods 9a9a1e0939 Move from go-yaml/yaml to ghodss/yaml 2014-12-02 16:24:05 -08:00
Daniel Smith f1c21c8fdf add boilerplate reduction struct field copier 2014-11-24 12:57:34 -08:00