mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-05-03 20:37:00 +08:00
Merge pull request #57142 from nikhita/bump-jsoniter
Automatic merge from submit-queue (batch tested with PRs 57122, 57142, 57016, 56927, 56678). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. bump(13f864): github.com/json-iterator/go: use ConfigCompatibleWithStandardLibrary Jsoniter in `ConfigFastest` mode does not support escape characters in object keys, whereas `ConfigCompatibleWithStandardLibrary` does. Fixes kubernetes/kubernetes#56018 Related kubernetes/kubernetes#56055 Benchmark results: ``` BenchmarkDecodeIntoJSON-4 30000 48522 ns/op 3792 B/op 63 allocs/op BenchmarkDecodeIntoJSONCodecGenConfigFast-4 100000 17409 ns/op 4524 B/op 96 allocs/op BenchmarkDecodeIntoJSONCodecGenConfigCompatibleWithStandardLibrary-4 100000 18617 ns/op 4924 B/op 121 allocs/op ``` /assign sttts thockin mfojtik Kubernetes-commit: 135d58b3941fac99ae0426e18cbda266b83ca49e
This commit is contained in:
commit
46b5d73382
374
Godeps/Godeps.json
generated
374
Godeps/Godeps.json
generated
@ -128,7 +128,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/json-iterator/go",
|
"ImportPath": "github.com/json-iterator/go",
|
||||||
"Rev": "36b14963da70d11297d313183d7e6388c8510e1e"
|
"Rev": "13f86432b882000a51c6e610c620974462691a97"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/juju/ratelimit",
|
"ImportPath": "github.com/juju/ratelimit",
|
||||||
@ -240,747 +240,747 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/apps/v1",
|
"ImportPath": "k8s.io/api/apps/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/apps/v1beta1",
|
"ImportPath": "k8s.io/api/apps/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/apps/v1beta2",
|
"ImportPath": "k8s.io/api/apps/v1beta2",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/authentication/v1",
|
"ImportPath": "k8s.io/api/authentication/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/authentication/v1beta1",
|
"ImportPath": "k8s.io/api/authentication/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/authorization/v1",
|
"ImportPath": "k8s.io/api/authorization/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/authorization/v1beta1",
|
"ImportPath": "k8s.io/api/authorization/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/autoscaling/v1",
|
"ImportPath": "k8s.io/api/autoscaling/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/batch/v1",
|
"ImportPath": "k8s.io/api/batch/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/batch/v1beta1",
|
"ImportPath": "k8s.io/api/batch/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/batch/v2alpha1",
|
"ImportPath": "k8s.io/api/batch/v2alpha1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/certificates/v1beta1",
|
"ImportPath": "k8s.io/api/certificates/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/core/v1",
|
"ImportPath": "k8s.io/api/core/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/events/v1beta1",
|
"ImportPath": "k8s.io/api/events/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/extensions/v1beta1",
|
"ImportPath": "k8s.io/api/extensions/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/networking/v1",
|
"ImportPath": "k8s.io/api/networking/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/policy/v1beta1",
|
"ImportPath": "k8s.io/api/policy/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/rbac/v1",
|
"ImportPath": "k8s.io/api/rbac/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/rbac/v1alpha1",
|
"ImportPath": "k8s.io/api/rbac/v1alpha1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/rbac/v1beta1",
|
"ImportPath": "k8s.io/api/rbac/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/settings/v1alpha1",
|
"ImportPath": "k8s.io/api/settings/v1alpha1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/storage/v1",
|
"ImportPath": "k8s.io/api/storage/v1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/storage/v1alpha1",
|
"ImportPath": "k8s.io/api/storage/v1alpha1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/api/storage/v1beta1",
|
"ImportPath": "k8s.io/api/storage/v1beta1",
|
||||||
"Rev": "c18c417b5eb7424945ae723ef240465d00ddf054"
|
"Rev": "3b9b65abe0aa9d995259dad1469ff3e1f18802c5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1alpha1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1alpha1",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||||
"Rev": "a04e753f5223cf882db01ac64212682ea28767b4"
|
"Rev": "5250765d28a6a1e07c6f09fe814a4b58ad74cc11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/discovery",
|
"ImportPath": "k8s.io/client-go/discovery",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/discovery/fake",
|
"ImportPath": "k8s.io/client-go/discovery/fake",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers",
|
"ImportPath": "k8s.io/client-go/informers",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps",
|
"ImportPath": "k8s.io/client-go/informers/apps",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps/v1",
|
"ImportPath": "k8s.io/client-go/informers/apps/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
|
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/autoscaling",
|
"ImportPath": "k8s.io/client-go/informers/autoscaling",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
|
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch",
|
"ImportPath": "k8s.io/client-go/informers/batch",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch/v1",
|
"ImportPath": "k8s.io/client-go/informers/batch/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
|
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/certificates",
|
"ImportPath": "k8s.io/client-go/informers/certificates",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/core",
|
"ImportPath": "k8s.io/client-go/informers/core",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/core/v1",
|
"ImportPath": "k8s.io/client-go/informers/core/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/events",
|
"ImportPath": "k8s.io/client-go/informers/events",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/events/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/events/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/extensions",
|
"ImportPath": "k8s.io/client-go/informers/extensions",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/internalinterfaces",
|
"ImportPath": "k8s.io/client-go/informers/internalinterfaces",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/networking",
|
"ImportPath": "k8s.io/client-go/informers/networking",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/networking/v1",
|
"ImportPath": "k8s.io/client-go/informers/networking/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/policy",
|
"ImportPath": "k8s.io/client-go/informers/policy",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac",
|
"ImportPath": "k8s.io/client-go/informers/rbac",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1",
|
"ImportPath": "k8s.io/client-go/informers/rbac/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/scheduling",
|
"ImportPath": "k8s.io/client-go/informers/scheduling",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/settings",
|
"ImportPath": "k8s.io/client-go/informers/settings",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage",
|
"ImportPath": "k8s.io/client-go/informers/storage",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage/v1",
|
"ImportPath": "k8s.io/client-go/informers/storage/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
|
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
|
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes",
|
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
|
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/apps/v1",
|
"ImportPath": "k8s.io/client-go/listers/apps/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
|
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
|
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
|
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/batch/v1",
|
"ImportPath": "k8s.io/client-go/listers/batch/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
|
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/events/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/events/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/networking/v1",
|
"ImportPath": "k8s.io/client-go/listers/networking/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1",
|
"ImportPath": "k8s.io/client-go/listers/rbac/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/storage/v1",
|
"ImportPath": "k8s.io/client-go/listers/storage/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
|
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
|
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/pkg/version",
|
"ImportPath": "k8s.io/client-go/pkg/version",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/rest",
|
"ImportPath": "k8s.io/client-go/rest",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/rest/watch",
|
"ImportPath": "k8s.io/client-go/rest/watch",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/testing",
|
"ImportPath": "k8s.io/client-go/testing",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/auth",
|
"ImportPath": "k8s.io/client-go/tools/auth",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/cache",
|
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/metrics",
|
"ImportPath": "k8s.io/client-go/tools/metrics",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/pager",
|
"ImportPath": "k8s.io/client-go/tools/pager",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/record",
|
"ImportPath": "k8s.io/client-go/tools/record",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/tools/reference",
|
"ImportPath": "k8s.io/client-go/tools/reference",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/transport",
|
"ImportPath": "k8s.io/client-go/transport",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/buffer",
|
"ImportPath": "k8s.io/client-go/util/buffer",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/cert",
|
"ImportPath": "k8s.io/client-go/util/cert",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/homedir",
|
"ImportPath": "k8s.io/client-go/util/homedir",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/integer",
|
"ImportPath": "k8s.io/client-go/util/integer",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go/util/workqueue",
|
"ImportPath": "k8s.io/client-go/util/workqueue",
|
||||||
"Rev": "375bcf98d2ce9bb76438e825b3534a5a7932d5b0"
|
"Rev": "17dfc2579839ade675e779b6540fba06b3a57e0c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
||||||
|
5
vendor/github.com/json-iterator/go/.gitignore
generated
vendored
5
vendor/github.com/json-iterator/go/.gitignore
generated
vendored
@ -1,3 +1,4 @@
|
|||||||
.idea
|
/vendor
|
||||||
|
/bug_test.go
|
||||||
/coverage.txt
|
/coverage.txt
|
||||||
/profile.out
|
/.idea
|
||||||
|
1
vendor/github.com/json-iterator/go/.travis.yml
generated
vendored
1
vendor/github.com/json-iterator/go/.travis.yml
generated
vendored
@ -2,6 +2,7 @@ language: go
|
|||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.8.x
|
- 1.8.x
|
||||||
|
- 1.x
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- go get -t -v ./...
|
- go get -t -v ./...
|
||||||
|
33
vendor/github.com/json-iterator/go/Gopkg.lock
generated
vendored
Normal file
33
vendor/github.com/json-iterator/go/Gopkg.lock
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
||||||
|
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/davecgh/go-spew"
|
||||||
|
packages = ["spew"]
|
||||||
|
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
|
||||||
|
version = "v1.1.0"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/google/gofuzz"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/pmezard/go-difflib"
|
||||||
|
packages = ["difflib"]
|
||||||
|
revision = "792786c7400a136282c1664665ae0a8db921c6c2"
|
||||||
|
version = "v1.0.0"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/stretchr/testify"
|
||||||
|
packages = ["assert","require"]
|
||||||
|
revision = "69483b4bd14f5845b5a1e55bca19e954e827f1d0"
|
||||||
|
version = "v1.1.4"
|
||||||
|
|
||||||
|
[solve-meta]
|
||||||
|
analyzer-name = "dep"
|
||||||
|
analyzer-version = 1
|
||||||
|
inputs-digest = "f8b7cf3941d3792cbbd570bb53c093adaf774334d1162c651565c97a58dc9d09"
|
||||||
|
solver-name = "gps-cdcl"
|
||||||
|
solver-version = 1
|
33
vendor/github.com/json-iterator/go/Gopkg.toml
generated
vendored
Normal file
33
vendor/github.com/json-iterator/go/Gopkg.toml
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Gopkg.toml example
|
||||||
|
#
|
||||||
|
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
|
||||||
|
# for detailed Gopkg.toml documentation.
|
||||||
|
#
|
||||||
|
# required = ["github.com/user/thing/cmd/thing"]
|
||||||
|
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
|
||||||
|
#
|
||||||
|
# [[constraint]]
|
||||||
|
# name = "github.com/user/project"
|
||||||
|
# version = "1.0.0"
|
||||||
|
#
|
||||||
|
# [[constraint]]
|
||||||
|
# name = "github.com/user/project2"
|
||||||
|
# branch = "dev"
|
||||||
|
# source = "github.com/myfork/project2"
|
||||||
|
#
|
||||||
|
# [[override]]
|
||||||
|
# name = "github.com/x/y"
|
||||||
|
# version = "2.4.0"
|
||||||
|
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
name = "github.com/davecgh/go-spew"
|
||||||
|
version = "1.1.0"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/google/gofuzz"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
name = "github.com/stretchr/testify"
|
||||||
|
version = "1.1.4"
|
10
vendor/github.com/json-iterator/go/README.md
generated
vendored
10
vendor/github.com/json-iterator/go/README.md
generated
vendored
@ -44,7 +44,9 @@ with
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import "github.com/json-iterator/go"
|
import "github.com/json-iterator/go"
|
||||||
jsoniter.Marshal(&data)
|
|
||||||
|
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
||||||
|
json.Marshal(&data)
|
||||||
```
|
```
|
||||||
|
|
||||||
Replace
|
Replace
|
||||||
@ -58,7 +60,9 @@ with
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import "github.com/json-iterator/go"
|
import "github.com/json-iterator/go"
|
||||||
jsoniter.Unmarshal(input, &data)
|
|
||||||
|
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
||||||
|
json.Unmarshal(input, &data)
|
||||||
```
|
```
|
||||||
|
|
||||||
[More documentation](http://jsoniter.com/migrate-from-go-std.html)
|
[More documentation](http://jsoniter.com/migrate-from-go-std.html)
|
||||||
@ -76,5 +80,7 @@ Contributors
|
|||||||
* [thockin](https://github.com/thockin)
|
* [thockin](https://github.com/thockin)
|
||||||
* [mattn](https://github.com/mattn)
|
* [mattn](https://github.com/mattn)
|
||||||
* [cch123](https://github.com/cch123)
|
* [cch123](https://github.com/cch123)
|
||||||
|
* [Oleg Shaldybin](https://github.com/olegshaldybin)
|
||||||
|
* [Jason Toffaletti](https://github.com/toffaletti)
|
||||||
|
|
||||||
Report issue or pull request, or email taowen@gmail.com, or [](https://gitter.im/json-iterator/Lobby)
|
Report issue or pull request, or email taowen@gmail.com, or [](https://gitter.im/json-iterator/Lobby)
|
||||||
|
12
vendor/github.com/json-iterator/go/build.sh
generated
vendored
Executable file
12
vendor/github.com/json-iterator/go/build.sh
generated
vendored
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [ ! -d /tmp/build-golang/src/github.com/json-iterator ]; then
|
||||||
|
mkdir -p /tmp/build-golang/src/github.com/json-iterator
|
||||||
|
ln -s $PWD /tmp/build-golang/src/github.com/json-iterator/go
|
||||||
|
fi
|
||||||
|
export GOPATH=/tmp/build-golang
|
||||||
|
go get -u github.com/golang/dep/cmd/dep
|
||||||
|
cd /tmp/build-golang/src/github.com/json-iterator/go
|
||||||
|
exec $GOPATH/bin/dep ensure -update
|
6
vendor/github.com/json-iterator/go/feature_adapter.go
generated
vendored
6
vendor/github.com/json-iterator/go/feature_adapter.go
generated
vendored
@ -110,6 +110,7 @@ type Encoder struct {
|
|||||||
// Encode encode interface{} as JSON to io.Writer
|
// Encode encode interface{} as JSON to io.Writer
|
||||||
func (adapter *Encoder) Encode(val interface{}) error {
|
func (adapter *Encoder) Encode(val interface{}) error {
|
||||||
adapter.stream.WriteVal(val)
|
adapter.stream.WriteVal(val)
|
||||||
|
adapter.stream.WriteRaw("\n")
|
||||||
adapter.stream.Flush()
|
adapter.stream.Flush()
|
||||||
return adapter.stream.Error
|
return adapter.stream.Error
|
||||||
}
|
}
|
||||||
@ -125,3 +126,8 @@ func (adapter *Encoder) SetEscapeHTML(escapeHTML bool) {
|
|||||||
config.EscapeHTML = escapeHTML
|
config.EscapeHTML = escapeHTML
|
||||||
adapter.stream.cfg = config.Froze().(*frozenConfig)
|
adapter.stream.cfg = config.Froze().(*frozenConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Valid reports whether data is a valid JSON encoding.
|
||||||
|
func Valid(data []byte) bool {
|
||||||
|
return ConfigDefault.Valid(data)
|
||||||
|
}
|
||||||
|
3
vendor/github.com/json-iterator/go/feature_any.go
generated
vendored
3
vendor/github.com/json-iterator/go/feature_any.go
generated
vendored
@ -1,6 +1,7 @@
|
|||||||
package jsoniter
|
package jsoniter
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"reflect"
|
"reflect"
|
||||||
@ -157,6 +158,8 @@ func (iter *Iterator) readAny() Any {
|
|||||||
return iter.readArrayAny()
|
return iter.readArrayAny()
|
||||||
case '-':
|
case '-':
|
||||||
return iter.readNumberAny(false)
|
return iter.readNumberAny(false)
|
||||||
|
case 0:
|
||||||
|
return &invalidAny{baseAny{}, errors.New("input is empty")}
|
||||||
default:
|
default:
|
||||||
return iter.readNumberAny(true)
|
return iter.readNumberAny(true)
|
||||||
}
|
}
|
||||||
|
82
vendor/github.com/json-iterator/go/feature_config.go
generated
vendored
82
vendor/github.com/json-iterator/go/feature_config.go
generated
vendored
@ -12,23 +12,26 @@ import (
|
|||||||
// Config customize how the API should behave.
|
// Config customize how the API should behave.
|
||||||
// The API is created from Config by Froze.
|
// The API is created from Config by Froze.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
IndentionStep int
|
IndentionStep int
|
||||||
MarshalFloatWith6Digits bool
|
MarshalFloatWith6Digits bool
|
||||||
EscapeHTML bool
|
EscapeHTML bool
|
||||||
SortMapKeys bool
|
SortMapKeys bool
|
||||||
UseNumber bool
|
UseNumber bool
|
||||||
TagKey string
|
TagKey string
|
||||||
|
ValidateJsonRawMessage bool
|
||||||
|
ObjectFieldMustBeSimpleString bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type frozenConfig struct {
|
type frozenConfig struct {
|
||||||
configBeforeFrozen Config
|
configBeforeFrozen Config
|
||||||
sortMapKeys bool
|
sortMapKeys bool
|
||||||
indentionStep int
|
indentionStep int
|
||||||
decoderCache unsafe.Pointer
|
objectFieldMustBeSimpleString bool
|
||||||
encoderCache unsafe.Pointer
|
decoderCache unsafe.Pointer
|
||||||
extensions []Extension
|
encoderCache unsafe.Pointer
|
||||||
streamPool chan *Stream
|
extensions []Extension
|
||||||
iteratorPool chan *Iterator
|
streamPool chan *Stream
|
||||||
|
iteratorPool chan *Iterator
|
||||||
}
|
}
|
||||||
|
|
||||||
// API the public interface of this package.
|
// API the public interface of this package.
|
||||||
@ -44,6 +47,8 @@ type API interface {
|
|||||||
Get(data []byte, path ...interface{}) Any
|
Get(data []byte, path ...interface{}) Any
|
||||||
NewEncoder(writer io.Writer) *Encoder
|
NewEncoder(writer io.Writer) *Encoder
|
||||||
NewDecoder(reader io.Reader) *Decoder
|
NewDecoder(reader io.Reader) *Decoder
|
||||||
|
Valid(data []byte) bool
|
||||||
|
RegisterExtension(extension Extension)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConfigDefault the default API
|
// ConfigDefault the default API
|
||||||
@ -53,24 +58,27 @@ var ConfigDefault = Config{
|
|||||||
|
|
||||||
// ConfigCompatibleWithStandardLibrary tries to be 100% compatible with standard library behavior
|
// ConfigCompatibleWithStandardLibrary tries to be 100% compatible with standard library behavior
|
||||||
var ConfigCompatibleWithStandardLibrary = Config{
|
var ConfigCompatibleWithStandardLibrary = Config{
|
||||||
EscapeHTML: true,
|
EscapeHTML: true,
|
||||||
SortMapKeys: true,
|
SortMapKeys: true,
|
||||||
|
ValidateJsonRawMessage: true,
|
||||||
}.Froze()
|
}.Froze()
|
||||||
|
|
||||||
// ConfigFastest marshals float with only 6 digits precision
|
// ConfigFastest marshals float with only 6 digits precision
|
||||||
var ConfigFastest = Config{
|
var ConfigFastest = Config{
|
||||||
EscapeHTML: false,
|
EscapeHTML: false,
|
||||||
MarshalFloatWith6Digits: true,
|
MarshalFloatWith6Digits: true, // will lose precession
|
||||||
|
ObjectFieldMustBeSimpleString: true, // do not unescape object field
|
||||||
}.Froze()
|
}.Froze()
|
||||||
|
|
||||||
// Froze forge API from config
|
// Froze forge API from config
|
||||||
func (cfg Config) Froze() API {
|
func (cfg Config) Froze() API {
|
||||||
// TODO: cache frozen config
|
// TODO: cache frozen config
|
||||||
frozenConfig := &frozenConfig{
|
frozenConfig := &frozenConfig{
|
||||||
sortMapKeys: cfg.SortMapKeys,
|
sortMapKeys: cfg.SortMapKeys,
|
||||||
indentionStep: cfg.IndentionStep,
|
indentionStep: cfg.IndentionStep,
|
||||||
streamPool: make(chan *Stream, 16),
|
objectFieldMustBeSimpleString: cfg.ObjectFieldMustBeSimpleString,
|
||||||
iteratorPool: make(chan *Iterator, 16),
|
streamPool: make(chan *Stream, 16),
|
||||||
|
iteratorPool: make(chan *Iterator, 16),
|
||||||
}
|
}
|
||||||
atomic.StorePointer(&frozenConfig.decoderCache, unsafe.Pointer(&map[string]ValDecoder{}))
|
atomic.StorePointer(&frozenConfig.decoderCache, unsafe.Pointer(&map[string]ValDecoder{}))
|
||||||
atomic.StorePointer(&frozenConfig.encoderCache, unsafe.Pointer(&map[string]ValEncoder{}))
|
atomic.StorePointer(&frozenConfig.encoderCache, unsafe.Pointer(&map[string]ValEncoder{}))
|
||||||
@ -83,10 +91,31 @@ func (cfg Config) Froze() API {
|
|||||||
if cfg.UseNumber {
|
if cfg.UseNumber {
|
||||||
frozenConfig.useNumber()
|
frozenConfig.useNumber()
|
||||||
}
|
}
|
||||||
|
if cfg.ValidateJsonRawMessage {
|
||||||
|
frozenConfig.validateJsonRawMessage()
|
||||||
|
}
|
||||||
frozenConfig.configBeforeFrozen = cfg
|
frozenConfig.configBeforeFrozen = cfg
|
||||||
return frozenConfig
|
return frozenConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cfg *frozenConfig) validateJsonRawMessage() {
|
||||||
|
encoder := &funcEncoder{func(ptr unsafe.Pointer, stream *Stream) {
|
||||||
|
rawMessage := *(*json.RawMessage)(ptr)
|
||||||
|
iter := cfg.BorrowIterator([]byte(rawMessage))
|
||||||
|
iter.Read()
|
||||||
|
if iter.Error != nil {
|
||||||
|
stream.WriteRaw("null")
|
||||||
|
} else {
|
||||||
|
cfg.ReturnIterator(iter)
|
||||||
|
stream.WriteRaw(string(rawMessage))
|
||||||
|
}
|
||||||
|
}, func(ptr unsafe.Pointer) bool {
|
||||||
|
return false
|
||||||
|
}}
|
||||||
|
cfg.addEncoderToCache(reflect.TypeOf((*json.RawMessage)(nil)).Elem(), encoder)
|
||||||
|
cfg.addEncoderToCache(reflect.TypeOf((*RawMessage)(nil)).Elem(), encoder)
|
||||||
|
}
|
||||||
|
|
||||||
func (cfg *frozenConfig) useNumber() {
|
func (cfg *frozenConfig) useNumber() {
|
||||||
cfg.addDecoderToCache(reflect.TypeOf((*interface{})(nil)).Elem(), &funcDecoder{func(ptr unsafe.Pointer, iter *Iterator) {
|
cfg.addDecoderToCache(reflect.TypeOf((*interface{})(nil)).Elem(), &funcDecoder{func(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
if iter.WhatIsNext() == NumberValue {
|
if iter.WhatIsNext() == NumberValue {
|
||||||
@ -104,7 +133,7 @@ func (cfg *frozenConfig) getTagKey() string {
|
|||||||
return tagKey
|
return tagKey
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg *frozenConfig) registerExtension(extension Extension) {
|
func (cfg *frozenConfig) RegisterExtension(extension Extension) {
|
||||||
cfg.extensions = append(cfg.extensions, extension)
|
cfg.extensions = append(cfg.extensions, extension)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -310,3 +339,10 @@ func (cfg *frozenConfig) NewDecoder(reader io.Reader) *Decoder {
|
|||||||
iter := Parse(cfg, reader, 512)
|
iter := Parse(cfg, reader, 512)
|
||||||
return &Decoder{iter}
|
return &Decoder{iter}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cfg *frozenConfig) Valid(data []byte) bool {
|
||||||
|
iter := cfg.BorrowIterator(data)
|
||||||
|
defer cfg.ReturnIterator(iter)
|
||||||
|
iter.Skip()
|
||||||
|
return iter.Error == nil
|
||||||
|
}
|
||||||
|
23
vendor/github.com/json-iterator/go/feature_iter.go
generated
vendored
23
vendor/github.com/json-iterator/go/feature_iter.go
generated
vendored
@ -77,6 +77,7 @@ type Iterator struct {
|
|||||||
captureStartedAt int
|
captureStartedAt int
|
||||||
captured []byte
|
captured []byte
|
||||||
Error error
|
Error error
|
||||||
|
Attachment interface{} // open for customized decoder
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewIterator creates an empty Iterator instance
|
// NewIterator creates an empty Iterator instance
|
||||||
@ -167,7 +168,7 @@ func (iter *Iterator) isObjectEnd() bool {
|
|||||||
if c == '}' {
|
if c == '}' {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
iter.ReportError("isObjectEnd", "object ended prematurely")
|
iter.ReportError("isObjectEnd", "object ended prematurely, unexpected char "+string([]byte{c}))
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,8 +201,22 @@ func (iter *Iterator) ReportError(operation string, msg string) {
|
|||||||
if peekStart < 0 {
|
if peekStart < 0 {
|
||||||
peekStart = 0
|
peekStart = 0
|
||||||
}
|
}
|
||||||
iter.Error = fmt.Errorf("%s: %s, parsing %v ...%s... at %s", operation, msg, iter.head,
|
peekEnd := iter.head + 10
|
||||||
string(iter.buf[peekStart:iter.head]), string(iter.buf[0:iter.tail]))
|
if peekEnd > iter.tail {
|
||||||
|
peekEnd = iter.tail
|
||||||
|
}
|
||||||
|
parsing := string(iter.buf[peekStart:peekEnd])
|
||||||
|
contextStart := iter.head - 50
|
||||||
|
if contextStart < 0 {
|
||||||
|
contextStart = 0
|
||||||
|
}
|
||||||
|
contextEnd := iter.head + 50
|
||||||
|
if contextEnd > iter.tail {
|
||||||
|
contextEnd = iter.tail
|
||||||
|
}
|
||||||
|
context := string(iter.buf[contextStart:contextEnd])
|
||||||
|
iter.Error = fmt.Errorf("%s: %s, error found in #%v byte of ...|%s|..., bigger context ...|%s|...",
|
||||||
|
operation, msg, iter.head-peekStart, parsing, context)
|
||||||
}
|
}
|
||||||
|
|
||||||
// CurrentBuffer gets current buffer as string for debugging purpose
|
// CurrentBuffer gets current buffer as string for debugging purpose
|
||||||
@ -210,7 +225,7 @@ func (iter *Iterator) CurrentBuffer() string {
|
|||||||
if peekStart < 0 {
|
if peekStart < 0 {
|
||||||
peekStart = 0
|
peekStart = 0
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("parsing %v ...|%s|... at %s", iter.head,
|
return fmt.Sprintf("parsing #%v byte, around ...|%s|..., whole buffer ...|%s|...", iter.head,
|
||||||
string(iter.buf[peekStart:iter.head]), string(iter.buf[0:iter.tail]))
|
string(iter.buf[peekStart:iter.head]), string(iter.buf[0:iter.tail]))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
6
vendor/github.com/json-iterator/go/feature_iter_array.go
generated
vendored
6
vendor/github.com/json-iterator/go/feature_iter_array.go
generated
vendored
@ -19,7 +19,7 @@ func (iter *Iterator) ReadArray() (ret bool) {
|
|||||||
case ',':
|
case ',':
|
||||||
return true
|
return true
|
||||||
default:
|
default:
|
||||||
iter.ReportError("ReadArray", "expect [ or , or ] or n, but found: "+string([]byte{c}))
|
iter.ReportError("ReadArray", "expect [ or , or ] or n, but found "+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@ func (iter *Iterator) ReadArrayCB(callback func(*Iterator) bool) (ret bool) {
|
|||||||
c = iter.nextToken()
|
c = iter.nextToken()
|
||||||
}
|
}
|
||||||
if c != ']' {
|
if c != ']' {
|
||||||
iter.ReportError("ReadArrayCB", "expect ] in the end")
|
iter.ReportError("ReadArrayCB", "expect ] in the end, but found "+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
@ -53,6 +53,6 @@ func (iter *Iterator) ReadArrayCB(callback func(*Iterator) bool) (ret bool) {
|
|||||||
iter.skipThreeBytes('u', 'l', 'l')
|
iter.skipThreeBytes('u', 'l', 'l')
|
||||||
return true // null
|
return true // null
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadArrayCB", "expect [ or n, but found: "+string([]byte{c}))
|
iter.ReportError("ReadArrayCB", "expect [ or n, but found "+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
81
vendor/github.com/json-iterator/go/feature_iter_int.go
generated
vendored
81
vendor/github.com/json-iterator/go/feature_iter_int.go
generated
vendored
@ -115,6 +115,7 @@ func (iter *Iterator) ReadUint32() (ret uint32) {
|
|||||||
func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
||||||
ind := intDigits[c]
|
ind := intDigits[c]
|
||||||
if ind == 0 {
|
if ind == 0 {
|
||||||
|
iter.assertInteger()
|
||||||
return 0 // single zero
|
return 0 // single zero
|
||||||
}
|
}
|
||||||
if ind == invalidCharForNumber {
|
if ind == invalidCharForNumber {
|
||||||
@ -127,12 +128,14 @@ func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
|||||||
ind2 := intDigits[iter.buf[i]]
|
ind2 := intDigits[iter.buf[i]]
|
||||||
if ind2 == invalidCharForNumber {
|
if ind2 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
ind3 := intDigits[iter.buf[i]]
|
ind3 := intDigits[iter.buf[i]]
|
||||||
if ind3 == invalidCharForNumber {
|
if ind3 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value*10 + uint32(ind2)
|
return value*10 + uint32(ind2)
|
||||||
}
|
}
|
||||||
//iter.head = i + 1
|
//iter.head = i + 1
|
||||||
@ -141,30 +144,35 @@ func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
|||||||
ind4 := intDigits[iter.buf[i]]
|
ind4 := intDigits[iter.buf[i]]
|
||||||
if ind4 == invalidCharForNumber {
|
if ind4 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value*100 + uint32(ind2)*10 + uint32(ind3)
|
return value*100 + uint32(ind2)*10 + uint32(ind3)
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
ind5 := intDigits[iter.buf[i]]
|
ind5 := intDigits[iter.buf[i]]
|
||||||
if ind5 == invalidCharForNumber {
|
if ind5 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value*1000 + uint32(ind2)*100 + uint32(ind3)*10 + uint32(ind4)
|
return value*1000 + uint32(ind2)*100 + uint32(ind3)*10 + uint32(ind4)
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
ind6 := intDigits[iter.buf[i]]
|
ind6 := intDigits[iter.buf[i]]
|
||||||
if ind6 == invalidCharForNumber {
|
if ind6 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value*10000 + uint32(ind2)*1000 + uint32(ind3)*100 + uint32(ind4)*10 + uint32(ind5)
|
return value*10000 + uint32(ind2)*1000 + uint32(ind3)*100 + uint32(ind4)*10 + uint32(ind5)
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
ind7 := intDigits[iter.buf[i]]
|
ind7 := intDigits[iter.buf[i]]
|
||||||
if ind7 == invalidCharForNumber {
|
if ind7 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value*100000 + uint32(ind2)*10000 + uint32(ind3)*1000 + uint32(ind4)*100 + uint32(ind5)*10 + uint32(ind6)
|
return value*100000 + uint32(ind2)*10000 + uint32(ind3)*1000 + uint32(ind4)*100 + uint32(ind5)*10 + uint32(ind6)
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
ind8 := intDigits[iter.buf[i]]
|
ind8 := intDigits[iter.buf[i]]
|
||||||
if ind8 == invalidCharForNumber {
|
if ind8 == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value*1000000 + uint32(ind2)*100000 + uint32(ind3)*10000 + uint32(ind4)*1000 + uint32(ind5)*100 + uint32(ind6)*10 + uint32(ind7)
|
return value*1000000 + uint32(ind2)*100000 + uint32(ind3)*10000 + uint32(ind4)*1000 + uint32(ind5)*100 + uint32(ind6)*10 + uint32(ind7)
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
@ -172,6 +180,7 @@ func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
|||||||
value = value*10000000 + uint32(ind2)*1000000 + uint32(ind3)*100000 + uint32(ind4)*10000 + uint32(ind5)*1000 + uint32(ind6)*100 + uint32(ind7)*10 + uint32(ind8)
|
value = value*10000000 + uint32(ind2)*1000000 + uint32(ind3)*100000 + uint32(ind4)*10000 + uint32(ind5)*1000 + uint32(ind6)*100 + uint32(ind7)*10 + uint32(ind8)
|
||||||
iter.head = i
|
iter.head = i
|
||||||
if ind9 == invalidCharForNumber {
|
if ind9 == invalidCharForNumber {
|
||||||
|
iter.assertInteger()
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -180,6 +189,7 @@ func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
|||||||
ind = intDigits[iter.buf[i]]
|
ind = intDigits[iter.buf[i]]
|
||||||
if ind == invalidCharForNumber {
|
if ind == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
if value > uint32SafeToMultiply10 {
|
if value > uint32SafeToMultiply10 {
|
||||||
@ -194,6 +204,7 @@ func (iter *Iterator) readUint32(c byte) (ret uint32) {
|
|||||||
value = (value << 3) + (value << 1) + uint32(ind)
|
value = (value << 3) + (value << 1) + uint32(ind)
|
||||||
}
|
}
|
||||||
if !iter.loadMore() {
|
if !iter.loadMore() {
|
||||||
|
iter.assertInteger()
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -226,6 +237,7 @@ func (iter *Iterator) ReadUint64() uint64 {
|
|||||||
func (iter *Iterator) readUint64(c byte) (ret uint64) {
|
func (iter *Iterator) readUint64(c byte) (ret uint64) {
|
||||||
ind := intDigits[c]
|
ind := intDigits[c]
|
||||||
if ind == 0 {
|
if ind == 0 {
|
||||||
|
iter.assertInteger()
|
||||||
return 0 // single zero
|
return 0 // single zero
|
||||||
}
|
}
|
||||||
if ind == invalidCharForNumber {
|
if ind == invalidCharForNumber {
|
||||||
@ -233,11 +245,73 @@ func (iter *Iterator) readUint64(c byte) (ret uint64) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
value := uint64(ind)
|
value := uint64(ind)
|
||||||
|
if iter.tail-iter.head > 10 {
|
||||||
|
i := iter.head
|
||||||
|
ind2 := intDigits[iter.buf[i]]
|
||||||
|
if ind2 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
ind3 := intDigits[iter.buf[i]]
|
||||||
|
if ind3 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value*10 + uint64(ind2)
|
||||||
|
}
|
||||||
|
//iter.head = i + 1
|
||||||
|
//value = value * 100 + uint32(ind2) * 10 + uint32(ind3)
|
||||||
|
i++
|
||||||
|
ind4 := intDigits[iter.buf[i]]
|
||||||
|
if ind4 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value*100 + uint64(ind2)*10 + uint64(ind3)
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
ind5 := intDigits[iter.buf[i]]
|
||||||
|
if ind5 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value*1000 + uint64(ind2)*100 + uint64(ind3)*10 + uint64(ind4)
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
ind6 := intDigits[iter.buf[i]]
|
||||||
|
if ind6 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value*10000 + uint64(ind2)*1000 + uint64(ind3)*100 + uint64(ind4)*10 + uint64(ind5)
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
ind7 := intDigits[iter.buf[i]]
|
||||||
|
if ind7 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value*100000 + uint64(ind2)*10000 + uint64(ind3)*1000 + uint64(ind4)*100 + uint64(ind5)*10 + uint64(ind6)
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
ind8 := intDigits[iter.buf[i]]
|
||||||
|
if ind8 == invalidCharForNumber {
|
||||||
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
|
return value*1000000 + uint64(ind2)*100000 + uint64(ind3)*10000 + uint64(ind4)*1000 + uint64(ind5)*100 + uint64(ind6)*10 + uint64(ind7)
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
ind9 := intDigits[iter.buf[i]]
|
||||||
|
value = value*10000000 + uint64(ind2)*1000000 + uint64(ind3)*100000 + uint64(ind4)*10000 + uint64(ind5)*1000 + uint64(ind6)*100 + uint64(ind7)*10 + uint64(ind8)
|
||||||
|
iter.head = i
|
||||||
|
if ind9 == invalidCharForNumber {
|
||||||
|
iter.assertInteger()
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
}
|
||||||
for {
|
for {
|
||||||
for i := iter.head; i < iter.tail; i++ {
|
for i := iter.head; i < iter.tail; i++ {
|
||||||
ind = intDigits[iter.buf[i]]
|
ind = intDigits[iter.buf[i]]
|
||||||
if ind == invalidCharForNumber {
|
if ind == invalidCharForNumber {
|
||||||
iter.head = i
|
iter.head = i
|
||||||
|
iter.assertInteger()
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
if value > uint64SafeToMultiple10 {
|
if value > uint64SafeToMultiple10 {
|
||||||
@ -252,7 +326,14 @@ func (iter *Iterator) readUint64(c byte) (ret uint64) {
|
|||||||
value = (value << 3) + (value << 1) + uint64(ind)
|
value = (value << 3) + (value << 1) + uint64(ind)
|
||||||
}
|
}
|
||||||
if !iter.loadMore() {
|
if !iter.loadMore() {
|
||||||
|
iter.assertInteger()
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (iter *Iterator) assertInteger() {
|
||||||
|
if iter.head < len(iter.buf) && iter.buf[iter.head] == '.' {
|
||||||
|
iter.ReportError("assertInteger", "can not decode float as int")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
89
vendor/github.com/json-iterator/go/feature_iter_object.go
generated
vendored
89
vendor/github.com/json-iterator/go/feature_iter_object.go
generated
vendored
@ -19,15 +19,33 @@ func (iter *Iterator) ReadObject() (ret string) {
|
|||||||
c = iter.nextToken()
|
c = iter.nextToken()
|
||||||
if c == '"' {
|
if c == '"' {
|
||||||
iter.unreadByte()
|
iter.unreadByte()
|
||||||
return string(iter.readObjectFieldAsBytes())
|
if iter.cfg.objectFieldMustBeSimpleString {
|
||||||
|
return string(iter.readObjectFieldAsBytes())
|
||||||
|
} else {
|
||||||
|
field := iter.ReadString()
|
||||||
|
c = iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c}))
|
||||||
|
}
|
||||||
|
return field
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if c == '}' {
|
if c == '}' {
|
||||||
return "" // end of object
|
return "" // end of object
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadObject", `expect " after {`)
|
iter.ReportError("ReadObject", `expect " after {, but found `+string([]byte{c}))
|
||||||
return
|
return
|
||||||
case ',':
|
case ',':
|
||||||
return string(iter.readObjectFieldAsBytes())
|
if iter.cfg.objectFieldMustBeSimpleString {
|
||||||
|
return string(iter.readObjectFieldAsBytes())
|
||||||
|
} else {
|
||||||
|
field := iter.ReadString()
|
||||||
|
c = iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c}))
|
||||||
|
}
|
||||||
|
return field
|
||||||
|
}
|
||||||
case '}':
|
case '}':
|
||||||
return "" // end of object
|
return "" // end of object
|
||||||
default:
|
default:
|
||||||
@ -44,17 +62,34 @@ func (iter *Iterator) readFieldHash() int32 {
|
|||||||
for i := iter.head; i < iter.tail; i++ {
|
for i := iter.head; i < iter.tail; i++ {
|
||||||
// require ascii string and no escape
|
// require ascii string and no escape
|
||||||
b := iter.buf[i]
|
b := iter.buf[i]
|
||||||
if 'A' <= b && b <= 'Z' {
|
if !iter.cfg.objectFieldMustBeSimpleString && b == '\\' {
|
||||||
b += 'a' - 'A'
|
iter.head = i
|
||||||
|
for _, b := range iter.readStringSlowPath() {
|
||||||
|
if 'A' <= b && b <= 'Z' {
|
||||||
|
b += 'a' - 'A'
|
||||||
|
}
|
||||||
|
hash ^= int64(b)
|
||||||
|
hash *= 0x1000193
|
||||||
|
}
|
||||||
|
c = iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("readFieldHash", `expect :, but found `+string([]byte{c}))
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return int32(hash)
|
||||||
}
|
}
|
||||||
if b == '"' {
|
if b == '"' {
|
||||||
iter.head = i + 1
|
iter.head = i + 1
|
||||||
c = iter.nextToken()
|
c = iter.nextToken()
|
||||||
if c != ':' {
|
if c != ':' {
|
||||||
iter.ReportError("readFieldHash", `expect :, but found `+string([]byte{c}))
|
iter.ReportError("readFieldHash", `expect :, but found `+string([]byte{c}))
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
return int32(hash)
|
return int32(hash)
|
||||||
}
|
}
|
||||||
|
if 'A' <= b && b <= 'Z' {
|
||||||
|
b += 'a' - 'A'
|
||||||
|
}
|
||||||
hash ^= int64(b)
|
hash ^= int64(b)
|
||||||
hash *= 0x1000193
|
hash *= 0x1000193
|
||||||
}
|
}
|
||||||
@ -80,18 +115,38 @@ func calcHash(str string) int32 {
|
|||||||
// ReadObjectCB read object with callback, the key is ascii only and field name not copied
|
// ReadObjectCB read object with callback, the key is ascii only and field name not copied
|
||||||
func (iter *Iterator) ReadObjectCB(callback func(*Iterator, string) bool) bool {
|
func (iter *Iterator) ReadObjectCB(callback func(*Iterator, string) bool) bool {
|
||||||
c := iter.nextToken()
|
c := iter.nextToken()
|
||||||
|
var fieldBytes []byte
|
||||||
|
var field string
|
||||||
if c == '{' {
|
if c == '{' {
|
||||||
c = iter.nextToken()
|
c = iter.nextToken()
|
||||||
if c == '"' {
|
if c == '"' {
|
||||||
iter.unreadByte()
|
iter.unreadByte()
|
||||||
field := iter.readObjectFieldAsBytes()
|
if iter.cfg.objectFieldMustBeSimpleString {
|
||||||
if !callback(iter, *(*string)(unsafe.Pointer(&field))) {
|
fieldBytes = iter.readObjectFieldAsBytes()
|
||||||
|
field = *(*string)(unsafe.Pointer(&fieldBytes))
|
||||||
|
} else {
|
||||||
|
field = iter.ReadString()
|
||||||
|
c = iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c}))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !callback(iter, field) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
c = iter.nextToken()
|
c = iter.nextToken()
|
||||||
for c == ',' {
|
for c == ',' {
|
||||||
field = iter.readObjectFieldAsBytes()
|
if iter.cfg.objectFieldMustBeSimpleString {
|
||||||
if !callback(iter, *(*string)(unsafe.Pointer(&field))) {
|
fieldBytes = iter.readObjectFieldAsBytes()
|
||||||
|
field = *(*string)(unsafe.Pointer(&fieldBytes))
|
||||||
|
} else {
|
||||||
|
field = iter.ReadString()
|
||||||
|
c = iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c}))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !callback(iter, field) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
c = iter.nextToken()
|
c = iter.nextToken()
|
||||||
@ -105,14 +160,14 @@ func (iter *Iterator) ReadObjectCB(callback func(*Iterator, string) bool) bool {
|
|||||||
if c == '}' {
|
if c == '}' {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadObjectCB", `expect " after }`)
|
iter.ReportError("ReadObjectCB", `expect " after }, but found `+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if c == 'n' {
|
if c == 'n' {
|
||||||
iter.skipThreeBytes('u', 'l', 'l')
|
iter.skipThreeBytes('u', 'l', 'l')
|
||||||
return true // null
|
return true // null
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadObjectCB", `expect { or n`)
|
iter.ReportError("ReadObjectCB", `expect { or n, but found `+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +180,7 @@ func (iter *Iterator) ReadMapCB(callback func(*Iterator, string) bool) bool {
|
|||||||
iter.unreadByte()
|
iter.unreadByte()
|
||||||
field := iter.ReadString()
|
field := iter.ReadString()
|
||||||
if iter.nextToken() != ':' {
|
if iter.nextToken() != ':' {
|
||||||
iter.ReportError("ReadMapCB", "expect : after object field")
|
iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if !callback(iter, field) {
|
if !callback(iter, field) {
|
||||||
@ -135,7 +190,7 @@ func (iter *Iterator) ReadMapCB(callback func(*Iterator, string) bool) bool {
|
|||||||
for c == ',' {
|
for c == ',' {
|
||||||
field = iter.ReadString()
|
field = iter.ReadString()
|
||||||
if iter.nextToken() != ':' {
|
if iter.nextToken() != ':' {
|
||||||
iter.ReportError("ReadMapCB", "expect : after object field")
|
iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if !callback(iter, field) {
|
if !callback(iter, field) {
|
||||||
@ -152,14 +207,14 @@ func (iter *Iterator) ReadMapCB(callback func(*Iterator, string) bool) bool {
|
|||||||
if c == '}' {
|
if c == '}' {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadMapCB", `expect " after }`)
|
iter.ReportError("ReadMapCB", `expect " after }, but found `+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if c == 'n' {
|
if c == 'n' {
|
||||||
iter.skipThreeBytes('u', 'l', 'l')
|
iter.skipThreeBytes('u', 'l', 'l')
|
||||||
return true // null
|
return true // null
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadMapCB", `expect { or n`)
|
iter.ReportError("ReadMapCB", `expect { or n, but found `+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,7 +231,7 @@ func (iter *Iterator) readObjectStart() bool {
|
|||||||
iter.skipThreeBytes('u', 'l', 'l')
|
iter.skipThreeBytes('u', 'l', 'l')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
iter.ReportError("readObjectStart", "expect { or n")
|
iter.ReportError("readObjectStart", "expect { or n, but found "+string([]byte{c}))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,7 +247,7 @@ func (iter *Iterator) readObjectFieldAsBytes() (ret []byte) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if iter.buf[iter.head] != ':' {
|
if iter.buf[iter.head] != ':' {
|
||||||
iter.ReportError("readObjectFieldAsBytes", "expect : after object field")
|
iter.ReportError("readObjectFieldAsBytes", "expect : after object field, but found "+string([]byte{iter.buf[iter.head]}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
iter.head++
|
iter.head++
|
||||||
|
6
vendor/github.com/json-iterator/go/feature_iter_skip.go
generated
vendored
6
vendor/github.com/json-iterator/go/feature_iter_skip.go
generated
vendored
@ -25,7 +25,7 @@ func (iter *Iterator) ReadBool() (ret bool) {
|
|||||||
iter.skipFourBytes('a', 'l', 's', 'e')
|
iter.skipFourBytes('a', 'l', 's', 'e')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadBool", "expect t or f")
|
iter.ReportError("ReadBool", "expect t or f, but found "+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,9 @@ func (iter *Iterator) stopCapture() []byte {
|
|||||||
iter.captureStartedAt = -1
|
iter.captureStartedAt = -1
|
||||||
iter.captured = nil
|
iter.captured = nil
|
||||||
if len(captured) == 0 {
|
if len(captured) == 0 {
|
||||||
return remaining
|
copied := make([]byte, len(remaining))
|
||||||
|
copy(copied, remaining)
|
||||||
|
return copied
|
||||||
}
|
}
|
||||||
captured = append(captured, remaining...)
|
captured = append(captured, remaining...)
|
||||||
return captured
|
return captured
|
||||||
|
2
vendor/github.com/json-iterator/go/feature_iter_skip_sloppy.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_iter_skip_sloppy.go
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
//+build jsoniter-sloppy
|
//+build jsoniter_sloppy
|
||||||
|
|
||||||
package jsoniter
|
package jsoniter
|
||||||
|
|
||||||
|
4
vendor/github.com/json-iterator/go/feature_iter_skip_strict.go
generated
vendored
4
vendor/github.com/json-iterator/go/feature_iter_skip_strict.go
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
//+build !jsoniter-sloppy
|
//+build !jsoniter_sloppy
|
||||||
|
|
||||||
package jsoniter
|
package jsoniter
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ func (iter *Iterator) trySkipString() bool {
|
|||||||
} else if c == '\\' {
|
} else if c == '\\' {
|
||||||
return false
|
return false
|
||||||
} else if c < ' ' {
|
} else if c < ' ' {
|
||||||
iter.ReportError("ReadString",
|
iter.ReportError("trySkipString",
|
||||||
fmt.Sprintf(`invalid control character found: %d`, c))
|
fmt.Sprintf(`invalid control character found: %d`, c))
|
||||||
return true // already failed
|
return true // already failed
|
||||||
}
|
}
|
||||||
|
10
vendor/github.com/json-iterator/go/feature_iter_string.go
generated
vendored
10
vendor/github.com/json-iterator/go/feature_iter_string.go
generated
vendored
@ -28,7 +28,7 @@ func (iter *Iterator) ReadString() (ret string) {
|
|||||||
iter.skipThreeBytes('u', 'l', 'l')
|
iter.skipThreeBytes('u', 'l', 'l')
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadString", `expects " or n`)
|
iter.ReportError("ReadString", `expects " or n, but found `+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ func (iter *Iterator) readStringSlowPath() (ret string) {
|
|||||||
str = append(str, c)
|
str = append(str, c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadString", "unexpected end of input")
|
iter.ReportError("readStringSlowPath", "unexpected end of input")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ func (iter *Iterator) readEscapedChar(c byte, str []byte) []byte {
|
|||||||
case 't':
|
case 't':
|
||||||
str = append(str, '\t')
|
str = append(str, '\t')
|
||||||
default:
|
default:
|
||||||
iter.ReportError("ReadString",
|
iter.ReportError("readEscapedChar",
|
||||||
`invalid escape char after \`)
|
`invalid escape char after \`)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -139,7 +139,7 @@ func (iter *Iterator) ReadStringAsSlice() (ret []byte) {
|
|||||||
}
|
}
|
||||||
return copied
|
return copied
|
||||||
}
|
}
|
||||||
iter.ReportError("ReadString", `expects " or n`)
|
iter.ReportError("ReadStringAsSlice", `expects " or n, but found `+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ func (iter *Iterator) readU4() (ret rune) {
|
|||||||
} else if c >= 'A' && c <= 'F' {
|
} else if c >= 'A' && c <= 'F' {
|
||||||
ret = ret*16 + rune(c-'A'+10)
|
ret = ret*16 + rune(c-'A'+10)
|
||||||
} else {
|
} else {
|
||||||
iter.ReportError("readU4", "expects 0~9 or a~f")
|
iter.ReportError("readU4", "expects 0~9 or a~f, but found "+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
vendor/github.com/json-iterator/go/feature_json_number.go
generated
vendored
18
vendor/github.com/json-iterator/go/feature_json_number.go
generated
vendored
@ -1,9 +1,25 @@
|
|||||||
package jsoniter
|
package jsoniter
|
||||||
|
|
||||||
import "encoding/json"
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
type Number string
|
type Number string
|
||||||
|
|
||||||
|
// String returns the literal text of the number.
|
||||||
|
func (n Number) String() string { return string(n) }
|
||||||
|
|
||||||
|
// Float64 returns the number as a float64.
|
||||||
|
func (n Number) Float64() (float64, error) {
|
||||||
|
return strconv.ParseFloat(string(n), 64)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Int64 returns the number as an int64.
|
||||||
|
func (n Number) Int64() (int64, error) {
|
||||||
|
return strconv.ParseInt(string(n), 10, 64)
|
||||||
|
}
|
||||||
|
|
||||||
func CastJsonNumber(val interface{}) (string, bool) {
|
func CastJsonNumber(val interface{}) (string, bool) {
|
||||||
switch typedVal := val.(type) {
|
switch typedVal := val.(type) {
|
||||||
case json.Number:
|
case json.Number:
|
||||||
|
2
vendor/github.com/json-iterator/go/feature_pool.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_pool.go
generated
vendored
@ -28,6 +28,7 @@ func (cfg *frozenConfig) BorrowStream(writer io.Writer) *Stream {
|
|||||||
|
|
||||||
func (cfg *frozenConfig) ReturnStream(stream *Stream) {
|
func (cfg *frozenConfig) ReturnStream(stream *Stream) {
|
||||||
stream.Error = nil
|
stream.Error = nil
|
||||||
|
stream.Attachment = nil
|
||||||
select {
|
select {
|
||||||
case cfg.streamPool <- stream:
|
case cfg.streamPool <- stream:
|
||||||
return
|
return
|
||||||
@ -48,6 +49,7 @@ func (cfg *frozenConfig) BorrowIterator(data []byte) *Iterator {
|
|||||||
|
|
||||||
func (cfg *frozenConfig) ReturnIterator(iter *Iterator) {
|
func (cfg *frozenConfig) ReturnIterator(iter *Iterator) {
|
||||||
iter.Error = nil
|
iter.Error = nil
|
||||||
|
iter.Attachment = nil
|
||||||
select {
|
select {
|
||||||
case cfg.iteratorPool <- iter:
|
case cfg.iteratorPool <- iter:
|
||||||
return
|
return
|
||||||
|
104
vendor/github.com/json-iterator/go/feature_reflect.go
generated
vendored
104
vendor/github.com/json-iterator/go/feature_reflect.go
generated
vendored
@ -72,24 +72,24 @@ func init() {
|
|||||||
textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem()
|
textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem()
|
||||||
}
|
}
|
||||||
|
|
||||||
type optionalDecoder struct {
|
type OptionalDecoder struct {
|
||||||
valueType reflect.Type
|
ValueType reflect.Type
|
||||||
valueDecoder ValDecoder
|
ValueDecoder ValDecoder
|
||||||
}
|
}
|
||||||
|
|
||||||
func (decoder *optionalDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (decoder *OptionalDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
if iter.ReadNil() {
|
if iter.ReadNil() {
|
||||||
*((*unsafe.Pointer)(ptr)) = nil
|
*((*unsafe.Pointer)(ptr)) = nil
|
||||||
} else {
|
} else {
|
||||||
if *((*unsafe.Pointer)(ptr)) == nil {
|
if *((*unsafe.Pointer)(ptr)) == nil {
|
||||||
//pointer to null, we have to allocate memory to hold the value
|
//pointer to null, we have to allocate memory to hold the value
|
||||||
value := reflect.New(decoder.valueType)
|
value := reflect.New(decoder.ValueType)
|
||||||
newPtr := extractInterface(value.Interface()).word
|
newPtr := extractInterface(value.Interface()).word
|
||||||
decoder.valueDecoder.Decode(newPtr, iter)
|
decoder.ValueDecoder.Decode(newPtr, iter)
|
||||||
*((*uintptr)(ptr)) = uintptr(newPtr)
|
*((*uintptr)(ptr)) = uintptr(newPtr)
|
||||||
} else {
|
} else {
|
||||||
//reuse existing instance
|
//reuse existing instance
|
||||||
decoder.valueDecoder.Decode(*((*unsafe.Pointer)(ptr)), iter)
|
decoder.ValueDecoder.Decode(*((*unsafe.Pointer)(ptr)), iter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -113,11 +113,31 @@ func (decoder *deferenceDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type optionalEncoder struct {
|
type OptionalEncoder struct {
|
||||||
|
ValueEncoder ValEncoder
|
||||||
|
}
|
||||||
|
|
||||||
|
func (encoder *OptionalEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
|
if *((*unsafe.Pointer)(ptr)) == nil {
|
||||||
|
stream.WriteNil()
|
||||||
|
} else {
|
||||||
|
encoder.ValueEncoder.Encode(*((*unsafe.Pointer)(ptr)), stream)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (encoder *OptionalEncoder) EncodeInterface(val interface{}, stream *Stream) {
|
||||||
|
WriteToStream(val, stream, encoder)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (encoder *OptionalEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||||
|
return *((*unsafe.Pointer)(ptr)) == nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type optionalMapEncoder struct {
|
||||||
valueEncoder ValEncoder
|
valueEncoder ValEncoder
|
||||||
}
|
}
|
||||||
|
|
||||||
func (encoder *optionalEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (encoder *optionalMapEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
if *((*unsafe.Pointer)(ptr)) == nil {
|
if *((*unsafe.Pointer)(ptr)) == nil {
|
||||||
stream.WriteNil()
|
stream.WriteNil()
|
||||||
} else {
|
} else {
|
||||||
@ -125,15 +145,13 @@ func (encoder *optionalEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (encoder *optionalEncoder) EncodeInterface(val interface{}, stream *Stream) {
|
func (encoder *optionalMapEncoder) EncodeInterface(val interface{}, stream *Stream) {
|
||||||
WriteToStream(val, stream, encoder)
|
WriteToStream(val, stream, encoder)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (encoder *optionalEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
func (encoder *optionalMapEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||||
if *((*unsafe.Pointer)(ptr)) == nil {
|
p := *((*unsafe.Pointer)(ptr))
|
||||||
return true
|
return p == nil || encoder.valueEncoder.IsEmpty(p)
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type placeholderEncoder struct {
|
type placeholderEncoder struct {
|
||||||
@ -146,7 +164,7 @@ func (encoder *placeholderEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (encoder *placeholderEncoder) EncodeInterface(val interface{}, stream *Stream) {
|
func (encoder *placeholderEncoder) EncodeInterface(val interface{}, stream *Stream) {
|
||||||
WriteToStream(val, stream, encoder)
|
encoder.getRealEncoder().EncodeInterface(val, stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (encoder *placeholderEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
func (encoder *placeholderEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||||
@ -154,11 +172,11 @@ func (encoder *placeholderEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (encoder *placeholderEncoder) getRealEncoder() ValEncoder {
|
func (encoder *placeholderEncoder) getRealEncoder() ValEncoder {
|
||||||
for i := 0; i < 30; i++ {
|
for i := 0; i < 500; i++ {
|
||||||
realDecoder := encoder.cfg.getEncoderFromCache(encoder.cacheKey)
|
realDecoder := encoder.cfg.getEncoderFromCache(encoder.cacheKey)
|
||||||
_, isPlaceholder := realDecoder.(*placeholderEncoder)
|
_, isPlaceholder := realDecoder.(*placeholderEncoder)
|
||||||
if isPlaceholder {
|
if isPlaceholder {
|
||||||
time.Sleep(time.Second)
|
time.Sleep(10 * time.Millisecond)
|
||||||
} else {
|
} else {
|
||||||
return realDecoder
|
return realDecoder
|
||||||
}
|
}
|
||||||
@ -172,11 +190,11 @@ type placeholderDecoder struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (decoder *placeholderDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (decoder *placeholderDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
for i := 0; i < 30; i++ {
|
for i := 0; i < 500; i++ {
|
||||||
realDecoder := decoder.cfg.getDecoderFromCache(decoder.cacheKey)
|
realDecoder := decoder.cfg.getDecoderFromCache(decoder.cacheKey)
|
||||||
_, isPlaceholder := realDecoder.(*placeholderDecoder)
|
_, isPlaceholder := realDecoder.(*placeholderDecoder)
|
||||||
if isPlaceholder {
|
if isPlaceholder {
|
||||||
time.Sleep(time.Second)
|
time.Sleep(10 * time.Millisecond)
|
||||||
} else {
|
} else {
|
||||||
realDecoder.Decode(ptr, iter)
|
realDecoder.Decode(ptr, iter)
|
||||||
return
|
return
|
||||||
@ -256,7 +274,7 @@ func decoderOfType(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error) {
|
|||||||
if decoder != nil {
|
if decoder != nil {
|
||||||
return decoder, nil
|
return decoder, nil
|
||||||
}
|
}
|
||||||
decoder = getTypeDecoderFromExtension(typ)
|
decoder = getTypeDecoderFromExtension(cfg, typ)
|
||||||
if decoder != nil {
|
if decoder != nil {
|
||||||
cfg.addDecoderToCache(cacheKey, decoder)
|
cfg.addDecoderToCache(cacheKey, decoder)
|
||||||
return decoder, nil
|
return decoder, nil
|
||||||
@ -267,6 +285,9 @@ func decoderOfType(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error) {
|
|||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
decoder = extension.DecorateDecoder(typ, decoder)
|
decoder = extension.DecorateDecoder(typ, decoder)
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
decoder = extension.DecorateDecoder(typ, decoder)
|
||||||
|
}
|
||||||
cfg.addDecoderToCache(cacheKey, decoder)
|
cfg.addDecoderToCache(cacheKey, decoder)
|
||||||
return decoder, err
|
return decoder, err
|
||||||
}
|
}
|
||||||
@ -289,7 +310,7 @@ func createDecoderOfType(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error
|
|||||||
templateInterface := reflect.New(typ).Elem().Interface()
|
templateInterface := reflect.New(typ).Elem().Interface()
|
||||||
var decoder ValDecoder = &unmarshalerDecoder{extractInterface(templateInterface)}
|
var decoder ValDecoder = &unmarshalerDecoder{extractInterface(templateInterface)}
|
||||||
if typ.Kind() == reflect.Ptr {
|
if typ.Kind() == reflect.Ptr {
|
||||||
decoder = &optionalDecoder{typ.Elem(), decoder}
|
decoder = &OptionalDecoder{typ.Elem(), decoder}
|
||||||
}
|
}
|
||||||
return decoder, nil
|
return decoder, nil
|
||||||
}
|
}
|
||||||
@ -302,7 +323,7 @@ func createDecoderOfType(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error
|
|||||||
templateInterface := reflect.New(typ).Elem().Interface()
|
templateInterface := reflect.New(typ).Elem().Interface()
|
||||||
var decoder ValDecoder = &textUnmarshalerDecoder{extractInterface(templateInterface)}
|
var decoder ValDecoder = &textUnmarshalerDecoder{extractInterface(templateInterface)}
|
||||||
if typ.Kind() == reflect.Ptr {
|
if typ.Kind() == reflect.Ptr {
|
||||||
decoder = &optionalDecoder{typ.Elem(), decoder}
|
decoder = &OptionalDecoder{typ.Elem(), decoder}
|
||||||
}
|
}
|
||||||
return decoder, nil
|
return decoder, nil
|
||||||
}
|
}
|
||||||
@ -423,7 +444,7 @@ func encoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
|||||||
if encoder != nil {
|
if encoder != nil {
|
||||||
return encoder, nil
|
return encoder, nil
|
||||||
}
|
}
|
||||||
encoder = getTypeEncoderFromExtension(typ)
|
encoder = getTypeEncoderFromExtension(cfg, typ)
|
||||||
if encoder != nil {
|
if encoder != nil {
|
||||||
cfg.addEncoderToCache(cacheKey, encoder)
|
cfg.addEncoderToCache(cacheKey, encoder)
|
||||||
return encoder, nil
|
return encoder, nil
|
||||||
@ -434,6 +455,9 @@ func encoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
|||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
encoder = extension.DecorateEncoder(typ, encoder)
|
encoder = extension.DecorateEncoder(typ, encoder)
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
encoder = extension.DecorateEncoder(typ, encoder)
|
||||||
|
}
|
||||||
cfg.addEncoderToCache(cacheKey, encoder)
|
cfg.addEncoderToCache(cacheKey, encoder)
|
||||||
return encoder, err
|
return encoder, err
|
||||||
}
|
}
|
||||||
@ -452,7 +476,7 @@ func createEncoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error
|
|||||||
return &jsoniterNumberCodec{}, nil
|
return &jsoniterNumberCodec{}, nil
|
||||||
}
|
}
|
||||||
if typ.Implements(marshalerType) {
|
if typ.Implements(marshalerType) {
|
||||||
checkIsEmpty, err := createCheckIsEmpty(typ)
|
checkIsEmpty, err := createCheckIsEmpty(cfg, typ)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -462,12 +486,24 @@ func createEncoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error
|
|||||||
checkIsEmpty: checkIsEmpty,
|
checkIsEmpty: checkIsEmpty,
|
||||||
}
|
}
|
||||||
if typ.Kind() == reflect.Ptr {
|
if typ.Kind() == reflect.Ptr {
|
||||||
encoder = &optionalEncoder{encoder}
|
encoder = &OptionalEncoder{encoder}
|
||||||
|
}
|
||||||
|
return encoder, nil
|
||||||
|
}
|
||||||
|
if reflect.PtrTo(typ).Implements(marshalerType) {
|
||||||
|
checkIsEmpty, err := createCheckIsEmpty(cfg, reflect.PtrTo(typ))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
templateInterface := reflect.New(typ).Interface()
|
||||||
|
var encoder ValEncoder = &marshalerEncoder{
|
||||||
|
templateInterface: extractInterface(templateInterface),
|
||||||
|
checkIsEmpty: checkIsEmpty,
|
||||||
}
|
}
|
||||||
return encoder, nil
|
return encoder, nil
|
||||||
}
|
}
|
||||||
if typ.Implements(textMarshalerType) {
|
if typ.Implements(textMarshalerType) {
|
||||||
checkIsEmpty, err := createCheckIsEmpty(typ)
|
checkIsEmpty, err := createCheckIsEmpty(cfg, typ)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -477,7 +513,7 @@ func createEncoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error
|
|||||||
checkIsEmpty: checkIsEmpty,
|
checkIsEmpty: checkIsEmpty,
|
||||||
}
|
}
|
||||||
if typ.Kind() == reflect.Ptr {
|
if typ.Kind() == reflect.Ptr {
|
||||||
encoder = &optionalEncoder{encoder}
|
encoder = &OptionalEncoder{encoder}
|
||||||
}
|
}
|
||||||
return encoder, nil
|
return encoder, nil
|
||||||
}
|
}
|
||||||
@ -490,7 +526,7 @@ func createEncoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error
|
|||||||
return createEncoderOfSimpleType(cfg, typ)
|
return createEncoderOfSimpleType(cfg, typ)
|
||||||
}
|
}
|
||||||
|
|
||||||
func createCheckIsEmpty(typ reflect.Type) (checkIsEmpty, error) {
|
func createCheckIsEmpty(cfg *frozenConfig, typ reflect.Type) (checkIsEmpty, error) {
|
||||||
kind := typ.Kind()
|
kind := typ.Kind()
|
||||||
switch kind {
|
switch kind {
|
||||||
case reflect.String:
|
case reflect.String:
|
||||||
@ -535,9 +571,9 @@ func createCheckIsEmpty(typ reflect.Type) (checkIsEmpty, error) {
|
|||||||
case reflect.Slice:
|
case reflect.Slice:
|
||||||
return &sliceEncoder{}, nil
|
return &sliceEncoder{}, nil
|
||||||
case reflect.Map:
|
case reflect.Map:
|
||||||
return &mapEncoder{}, nil
|
return encoderOfMap(cfg, typ)
|
||||||
case reflect.Ptr:
|
case reflect.Ptr:
|
||||||
return &optionalEncoder{}, nil
|
return &OptionalEncoder{}, nil
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unsupported type: %v", typ)
|
return nil, fmt.Errorf("unsupported type: %v", typ)
|
||||||
}
|
}
|
||||||
@ -648,7 +684,7 @@ func decoderOfOptional(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return &optionalDecoder{elemType, decoder}, nil
|
return &OptionalDecoder{elemType, decoder}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func encoderOfOptional(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
func encoderOfOptional(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
||||||
@ -657,9 +693,9 @@ func encoderOfOptional(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
encoder := &optionalEncoder{elemEncoder}
|
encoder := &OptionalEncoder{elemEncoder}
|
||||||
if elemType.Kind() == reflect.Map {
|
if elemType.Kind() == reflect.Map {
|
||||||
encoder = &optionalEncoder{encoder}
|
encoder = &OptionalEncoder{encoder}
|
||||||
}
|
}
|
||||||
return encoder, nil
|
return encoder, nil
|
||||||
}
|
}
|
||||||
|
2
vendor/github.com/json-iterator/go/feature_reflect_array.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_reflect_array.go
generated
vendored
@ -21,7 +21,7 @@ func encoderOfArray(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if typ.Elem().Kind() == reflect.Map {
|
if typ.Elem().Kind() == reflect.Map {
|
||||||
encoder = &optionalEncoder{encoder}
|
encoder = &OptionalEncoder{encoder}
|
||||||
}
|
}
|
||||||
return &arrayEncoder{typ, typ.Elem(), encoder}, nil
|
return &arrayEncoder{typ, typ.Elem(), encoder}, nil
|
||||||
}
|
}
|
||||||
|
50
vendor/github.com/json-iterator/go/feature_reflect_extension.go
generated
vendored
50
vendor/github.com/json-iterator/go/feature_reflect_extension.go
generated
vendored
@ -161,22 +161,31 @@ func RegisterExtension(extension Extension) {
|
|||||||
extensions = append(extensions, extension)
|
extensions = append(extensions, extension)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getTypeDecoderFromExtension(typ reflect.Type) ValDecoder {
|
func getTypeDecoderFromExtension(cfg *frozenConfig, typ reflect.Type) ValDecoder {
|
||||||
decoder := _getTypeDecoderFromExtension(typ)
|
decoder := _getTypeDecoderFromExtension(cfg, typ)
|
||||||
if decoder != nil {
|
if decoder != nil {
|
||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
decoder = extension.DecorateDecoder(typ, decoder)
|
decoder = extension.DecorateDecoder(typ, decoder)
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
decoder = extension.DecorateDecoder(typ, decoder)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return decoder
|
return decoder
|
||||||
}
|
}
|
||||||
func _getTypeDecoderFromExtension(typ reflect.Type) ValDecoder {
|
func _getTypeDecoderFromExtension(cfg *frozenConfig, typ reflect.Type) ValDecoder {
|
||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
decoder := extension.CreateDecoder(typ)
|
decoder := extension.CreateDecoder(typ)
|
||||||
if decoder != nil {
|
if decoder != nil {
|
||||||
return decoder
|
return decoder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
decoder := extension.CreateDecoder(typ)
|
||||||
|
if decoder != nil {
|
||||||
|
return decoder
|
||||||
|
}
|
||||||
|
}
|
||||||
typeName := typ.String()
|
typeName := typ.String()
|
||||||
decoder := typeDecoders[typeName]
|
decoder := typeDecoders[typeName]
|
||||||
if decoder != nil {
|
if decoder != nil {
|
||||||
@ -185,29 +194,38 @@ func _getTypeDecoderFromExtension(typ reflect.Type) ValDecoder {
|
|||||||
if typ.Kind() == reflect.Ptr {
|
if typ.Kind() == reflect.Ptr {
|
||||||
decoder := typeDecoders[typ.Elem().String()]
|
decoder := typeDecoders[typ.Elem().String()]
|
||||||
if decoder != nil {
|
if decoder != nil {
|
||||||
return &optionalDecoder{typ.Elem(), decoder}
|
return &OptionalDecoder{typ.Elem(), decoder}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getTypeEncoderFromExtension(typ reflect.Type) ValEncoder {
|
func getTypeEncoderFromExtension(cfg *frozenConfig, typ reflect.Type) ValEncoder {
|
||||||
encoder := _getTypeEncoderFromExtension(typ)
|
encoder := _getTypeEncoderFromExtension(cfg, typ)
|
||||||
if encoder != nil {
|
if encoder != nil {
|
||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
encoder = extension.DecorateEncoder(typ, encoder)
|
encoder = extension.DecorateEncoder(typ, encoder)
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
encoder = extension.DecorateEncoder(typ, encoder)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return encoder
|
return encoder
|
||||||
}
|
}
|
||||||
|
|
||||||
func _getTypeEncoderFromExtension(typ reflect.Type) ValEncoder {
|
func _getTypeEncoderFromExtension(cfg *frozenConfig, typ reflect.Type) ValEncoder {
|
||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
encoder := extension.CreateEncoder(typ)
|
encoder := extension.CreateEncoder(typ)
|
||||||
if encoder != nil {
|
if encoder != nil {
|
||||||
return encoder
|
return encoder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
encoder := extension.CreateEncoder(typ)
|
||||||
|
if encoder != nil {
|
||||||
|
return encoder
|
||||||
|
}
|
||||||
|
}
|
||||||
typeName := typ.String()
|
typeName := typ.String()
|
||||||
encoder := typeEncoders[typeName]
|
encoder := typeEncoders[typeName]
|
||||||
if encoder != nil {
|
if encoder != nil {
|
||||||
@ -216,7 +234,7 @@ func _getTypeEncoderFromExtension(typ reflect.Type) ValEncoder {
|
|||||||
if typ.Kind() == reflect.Ptr {
|
if typ.Kind() == reflect.Ptr {
|
||||||
encoder := typeEncoders[typ.Elem().String()]
|
encoder := typeEncoders[typ.Elem().String()]
|
||||||
if encoder != nil {
|
if encoder != nil {
|
||||||
return &optionalEncoder{encoder}
|
return &OptionalEncoder{encoder}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
@ -254,7 +272,7 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
|||||||
for _, binding := range structDescriptor.Fields {
|
for _, binding := range structDescriptor.Fields {
|
||||||
binding.levels = append([]int{i}, binding.levels...)
|
binding.levels = append([]int{i}, binding.levels...)
|
||||||
omitempty := binding.Encoder.(*structFieldEncoder).omitempty
|
omitempty := binding.Encoder.(*structFieldEncoder).omitempty
|
||||||
binding.Encoder = &optionalEncoder{binding.Encoder}
|
binding.Encoder = &OptionalEncoder{binding.Encoder}
|
||||||
binding.Encoder = &structFieldEncoder{&field, binding.Encoder, omitempty}
|
binding.Encoder = &structFieldEncoder{&field, binding.Encoder, omitempty}
|
||||||
binding.Decoder = &deferenceDecoder{field.Type.Elem(), binding.Decoder}
|
binding.Decoder = &deferenceDecoder{field.Type.Elem(), binding.Decoder}
|
||||||
binding.Decoder = &structFieldDecoder{&field, binding.Decoder}
|
binding.Decoder = &structFieldDecoder{&field, binding.Decoder}
|
||||||
@ -269,7 +287,7 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
|||||||
if decoder == nil {
|
if decoder == nil {
|
||||||
var err error
|
var err error
|
||||||
decoder, err = decoderOfType(cfg, field.Type)
|
decoder, err = decoderOfType(cfg, field.Type)
|
||||||
if err != nil {
|
if len(fieldNames) > 0 && err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -277,12 +295,13 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
|||||||
if encoder == nil {
|
if encoder == nil {
|
||||||
var err error
|
var err error
|
||||||
encoder, err = encoderOfType(cfg, field.Type)
|
encoder, err = encoderOfType(cfg, field.Type)
|
||||||
if err != nil {
|
if len(fieldNames) > 0 && err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// map is stored as pointer in the struct
|
// map is stored as pointer in the struct,
|
||||||
if field.Type.Kind() == reflect.Map {
|
// and treat nil or empty map as empty field
|
||||||
encoder = &optionalEncoder{encoder}
|
if encoder != nil && field.Type.Kind() == reflect.Map {
|
||||||
|
encoder = &optionalMapEncoder{encoder}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
binding := &Binding{
|
binding := &Binding{
|
||||||
@ -323,6 +342,9 @@ func createStructDescriptor(cfg *frozenConfig, typ reflect.Type, bindings []*Bin
|
|||||||
for _, extension := range extensions {
|
for _, extension := range extensions {
|
||||||
extension.UpdateStructDescriptor(structDescriptor)
|
extension.UpdateStructDescriptor(structDescriptor)
|
||||||
}
|
}
|
||||||
|
for _, extension := range cfg.extensions {
|
||||||
|
extension.UpdateStructDescriptor(structDescriptor)
|
||||||
|
}
|
||||||
processTags(structDescriptor, cfg)
|
processTags(structDescriptor, cfg)
|
||||||
// merge normal & embedded bindings & sort with original order
|
// merge normal & embedded bindings & sort with original order
|
||||||
allBindings := sortableBindings(append(embeddedBindings, structDescriptor.Fields...))
|
allBindings := sortableBindings(append(embeddedBindings, structDescriptor.Fields...))
|
||||||
|
140
vendor/github.com/json-iterator/go/feature_reflect_native.go
generated
vendored
140
vendor/github.com/json-iterator/go/feature_reflect_native.go
generated
vendored
@ -4,6 +4,7 @@ import (
|
|||||||
"encoding"
|
"encoding"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"reflect"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -31,7 +32,9 @@ type intCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *intCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *intCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*int)(ptr)) = iter.ReadInt()
|
if !iter.ReadNil() {
|
||||||
|
*((*int)(ptr)) = iter.ReadInt()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *intCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *intCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -50,7 +53,9 @@ type uintptrCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uintptrCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *uintptrCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*uintptr)(ptr)) = uintptr(iter.ReadUint64())
|
if !iter.ReadNil() {
|
||||||
|
*((*uintptr)(ptr)) = uintptr(iter.ReadUint64())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uintptrCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *uintptrCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -69,7 +74,9 @@ type int8Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *int8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*int8)(ptr)) = iter.ReadInt8()
|
if !iter.ReadNil() {
|
||||||
|
*((*int8)(ptr)) = iter.ReadInt8()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int8Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *int8Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -88,7 +95,9 @@ type int16Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *int16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*int16)(ptr)) = iter.ReadInt16()
|
if !iter.ReadNil() {
|
||||||
|
*((*int16)(ptr)) = iter.ReadInt16()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int16Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *int16Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -107,7 +116,9 @@ type int32Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *int32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*int32)(ptr)) = iter.ReadInt32()
|
if !iter.ReadNil() {
|
||||||
|
*((*int32)(ptr)) = iter.ReadInt32()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int32Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *int32Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -126,7 +137,9 @@ type int64Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *int64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*int64)(ptr)) = iter.ReadInt64()
|
if !iter.ReadNil() {
|
||||||
|
*((*int64)(ptr)) = iter.ReadInt64()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *int64Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *int64Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -145,7 +158,10 @@ type uintCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uintCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *uintCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*uint)(ptr)) = iter.ReadUint()
|
if !iter.ReadNil() {
|
||||||
|
*((*uint)(ptr)) = iter.ReadUint()
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uintCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *uintCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -164,7 +180,9 @@ type uint8Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *uint8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*uint8)(ptr)) = iter.ReadUint8()
|
if !iter.ReadNil() {
|
||||||
|
*((*uint8)(ptr)) = iter.ReadUint8()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint8Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *uint8Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -183,7 +201,9 @@ type uint16Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *uint16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*uint16)(ptr)) = iter.ReadUint16()
|
if !iter.ReadNil() {
|
||||||
|
*((*uint16)(ptr)) = iter.ReadUint16()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint16Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *uint16Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -202,7 +222,9 @@ type uint32Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *uint32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*uint32)(ptr)) = iter.ReadUint32()
|
if !iter.ReadNil() {
|
||||||
|
*((*uint32)(ptr)) = iter.ReadUint32()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint32Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *uint32Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -221,7 +243,9 @@ type uint64Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *uint64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*uint64)(ptr)) = iter.ReadUint64()
|
if !iter.ReadNil() {
|
||||||
|
*((*uint64)(ptr)) = iter.ReadUint64()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *uint64Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *uint64Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -240,7 +264,9 @@ type float32Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *float32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *float32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*float32)(ptr)) = iter.ReadFloat32()
|
if !iter.ReadNil() {
|
||||||
|
*((*float32)(ptr)) = iter.ReadFloat32()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *float32Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *float32Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -259,7 +285,9 @@ type float64Codec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *float64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *float64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*float64)(ptr)) = iter.ReadFloat64()
|
if !iter.ReadNil() {
|
||||||
|
*((*float64)(ptr)) = iter.ReadFloat64()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *float64Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *float64Codec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -278,7 +306,9 @@ type boolCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *boolCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *boolCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*bool)(ptr)) = iter.ReadBool()
|
if !iter.ReadNil() {
|
||||||
|
*((*bool)(ptr)) = iter.ReadBool()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *boolCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *boolCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -297,7 +327,42 @@ type emptyInterfaceCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *emptyInterfaceCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *emptyInterfaceCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*interface{})(ptr)) = iter.Read()
|
existing := *((*interface{})(ptr))
|
||||||
|
|
||||||
|
// Checking for both typed and untyped nil pointers.
|
||||||
|
if existing != nil &&
|
||||||
|
reflect.TypeOf(existing).Kind() == reflect.Ptr &&
|
||||||
|
!reflect.ValueOf(existing).IsNil() {
|
||||||
|
|
||||||
|
var ptrToExisting interface{}
|
||||||
|
for {
|
||||||
|
elem := reflect.ValueOf(existing).Elem()
|
||||||
|
if elem.Kind() != reflect.Ptr || elem.IsNil() {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
ptrToExisting = existing
|
||||||
|
existing = elem.Interface()
|
||||||
|
}
|
||||||
|
|
||||||
|
if iter.ReadNil() {
|
||||||
|
if ptrToExisting != nil {
|
||||||
|
nilPtr := reflect.Zero(reflect.TypeOf(ptrToExisting).Elem())
|
||||||
|
reflect.ValueOf(ptrToExisting).Elem().Set(nilPtr)
|
||||||
|
} else {
|
||||||
|
*((*interface{})(ptr)) = nil
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
iter.ReadVal(existing)
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if iter.ReadNil() {
|
||||||
|
*((*interface{})(ptr)) = nil
|
||||||
|
} else {
|
||||||
|
*((*interface{})(ptr)) = iter.Read()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *emptyInterfaceCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *emptyInterfaceCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -309,7 +374,8 @@ func (codec *emptyInterfaceCodec) EncodeInterface(val interface{}, stream *Strea
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *emptyInterfaceCodec) IsEmpty(ptr unsafe.Pointer) bool {
|
func (codec *emptyInterfaceCodec) IsEmpty(ptr unsafe.Pointer) bool {
|
||||||
return ptr == nil
|
emptyInterface := (*emptyInterface)(ptr)
|
||||||
|
return emptyInterface.typ == nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type nonEmptyInterfaceCodec struct {
|
type nonEmptyInterfaceCodec struct {
|
||||||
@ -326,15 +392,20 @@ func (codec *nonEmptyInterfaceCodec) Decode(ptr unsafe.Pointer, iter *Iterator)
|
|||||||
e.typ = nonEmptyInterface.itab.typ
|
e.typ = nonEmptyInterface.itab.typ
|
||||||
e.word = nonEmptyInterface.word
|
e.word = nonEmptyInterface.word
|
||||||
iter.ReadVal(&i)
|
iter.ReadVal(&i)
|
||||||
|
if e.word == nil {
|
||||||
|
nonEmptyInterface.itab = nil
|
||||||
|
}
|
||||||
nonEmptyInterface.word = e.word
|
nonEmptyInterface.word = e.word
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *nonEmptyInterfaceCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *nonEmptyInterfaceCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
nonEmptyInterface := (*nonEmptyInterface)(ptr)
|
nonEmptyInterface := (*nonEmptyInterface)(ptr)
|
||||||
var i interface{}
|
var i interface{}
|
||||||
e := (*emptyInterface)(unsafe.Pointer(&i))
|
if nonEmptyInterface.itab != nil {
|
||||||
e.typ = nonEmptyInterface.itab.typ
|
e := (*emptyInterface)(unsafe.Pointer(&i))
|
||||||
e.word = nonEmptyInterface.word
|
e.typ = nonEmptyInterface.itab.typ
|
||||||
|
e.word = nonEmptyInterface.word
|
||||||
|
}
|
||||||
stream.WriteVal(i)
|
stream.WriteVal(i)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -370,7 +441,15 @@ type jsonNumberCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *jsonNumberCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *jsonNumberCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*json.Number)(ptr)) = json.Number([]byte(iter.readNumberAsString()))
|
switch iter.WhatIsNext() {
|
||||||
|
case StringValue:
|
||||||
|
*((*json.Number)(ptr)) = json.Number(iter.ReadString())
|
||||||
|
case NilValue:
|
||||||
|
iter.skipFourBytes('n', 'u', 'l', 'l')
|
||||||
|
*((*json.Number)(ptr)) = ""
|
||||||
|
default:
|
||||||
|
*((*json.Number)(ptr)) = json.Number([]byte(iter.readNumberAsString()))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *jsonNumberCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *jsonNumberCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -389,7 +468,15 @@ type jsoniterNumberCodec struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (codec *jsoniterNumberCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (codec *jsoniterNumberCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
*((*Number)(ptr)) = Number([]byte(iter.readNumberAsString()))
|
switch iter.WhatIsNext() {
|
||||||
|
case StringValue:
|
||||||
|
*((*Number)(ptr)) = Number(iter.ReadString())
|
||||||
|
case NilValue:
|
||||||
|
iter.skipFourBytes('n', 'u', 'l', 'l')
|
||||||
|
*((*Number)(ptr)) = ""
|
||||||
|
default:
|
||||||
|
*((*Number)(ptr)) = Number([]byte(iter.readNumberAsString()))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec *jsoniterNumberCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
func (codec *jsoniterNumberCodec) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||||
@ -521,7 +608,7 @@ type stringModeNumberDecoder struct {
|
|||||||
func (decoder *stringModeNumberDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
func (decoder *stringModeNumberDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||||
c := iter.nextToken()
|
c := iter.nextToken()
|
||||||
if c != '"' {
|
if c != '"' {
|
||||||
iter.ReportError("stringModeNumberDecoder", `expect "`)
|
iter.ReportError("stringModeNumberDecoder", `expect ", but found `+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
decoder.elemDecoder.Decode(ptr, iter)
|
decoder.elemDecoder.Decode(ptr, iter)
|
||||||
@ -530,7 +617,7 @@ func (decoder *stringModeNumberDecoder) Decode(ptr unsafe.Pointer, iter *Iterato
|
|||||||
}
|
}
|
||||||
c = iter.readByte()
|
c = iter.readByte()
|
||||||
if c != '"' {
|
if c != '"' {
|
||||||
iter.ReportError("stringModeNumberDecoder", `expect "`)
|
iter.ReportError("stringModeNumberDecoder", `expect ", but found `+string([]byte{c}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -595,7 +682,12 @@ func (encoder *marshalerEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
|||||||
templateInterface := encoder.templateInterface
|
templateInterface := encoder.templateInterface
|
||||||
templateInterface.word = ptr
|
templateInterface.word = ptr
|
||||||
realInterface := (*interface{})(unsafe.Pointer(&templateInterface))
|
realInterface := (*interface{})(unsafe.Pointer(&templateInterface))
|
||||||
marshaler := (*realInterface).(json.Marshaler)
|
marshaler, ok := (*realInterface).(json.Marshaler)
|
||||||
|
if !ok {
|
||||||
|
stream.WriteVal(nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
bytes, err := marshaler.MarshalJSON()
|
bytes, err := marshaler.MarshalJSON()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stream.Error = err
|
stream.Error = err
|
||||||
|
12
vendor/github.com/json-iterator/go/feature_reflect_slice.go
generated
vendored
12
vendor/github.com/json-iterator/go/feature_reflect_slice.go
generated
vendored
@ -21,7 +21,7 @@ func encoderOfSlice(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if typ.Elem().Kind() == reflect.Map {
|
if typ.Elem().Kind() == reflect.Map {
|
||||||
encoder = &optionalEncoder{encoder}
|
encoder = &OptionalEncoder{encoder}
|
||||||
}
|
}
|
||||||
return &sliceEncoder{typ, typ.Elem(), encoder}, nil
|
return &sliceEncoder{typ, typ.Elem(), encoder}, nil
|
||||||
}
|
}
|
||||||
@ -127,12 +127,10 @@ func growOne(slice *sliceHeader, sliceType reflect.Type, elementType reflect.Typ
|
|||||||
newVal := reflect.MakeSlice(sliceType, newLen, newCap)
|
newVal := reflect.MakeSlice(sliceType, newLen, newCap)
|
||||||
dst := unsafe.Pointer(newVal.Pointer())
|
dst := unsafe.Pointer(newVal.Pointer())
|
||||||
// copy old array into new array
|
// copy old array into new array
|
||||||
originalBytesCount := uintptr(slice.Len) * elementType.Size()
|
originalBytesCount := slice.Len * int(elementType.Size())
|
||||||
srcPtr := (*[1 << 30]byte)(slice.Data)
|
srcSliceHeader := (unsafe.Pointer)(&sliceHeader{slice.Data, originalBytesCount, originalBytesCount})
|
||||||
dstPtr := (*[1 << 30]byte)(dst)
|
dstSliceHeader := (unsafe.Pointer)(&sliceHeader{dst, originalBytesCount, originalBytesCount})
|
||||||
for i := uintptr(0); i < originalBytesCount; i++ {
|
copy(*(*[]byte)(dstSliceHeader), *(*[]byte)(srcSliceHeader))
|
||||||
dstPtr[i] = srcPtr[i]
|
|
||||||
}
|
|
||||||
slice.Data = dst
|
slice.Data = dst
|
||||||
slice.Len = newLen
|
slice.Len = newLen
|
||||||
slice.Cap = newCap
|
slice.Cap = newCap
|
||||||
|
26
vendor/github.com/json-iterator/go/feature_reflect_struct_decoder.go
generated
vendored
26
vendor/github.com/json-iterator/go/feature_reflect_struct_decoder.go
generated
vendored
@ -427,8 +427,18 @@ func (decoder *generalStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator)
|
|||||||
if !iter.readObjectStart() {
|
if !iter.readObjectStart() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fieldBytes := iter.readObjectFieldAsBytes()
|
var fieldBytes []byte
|
||||||
field := *(*string)(unsafe.Pointer(&fieldBytes))
|
var field string
|
||||||
|
if iter.cfg.objectFieldMustBeSimpleString {
|
||||||
|
fieldBytes = iter.readObjectFieldAsBytes()
|
||||||
|
field = *(*string)(unsafe.Pointer(&fieldBytes))
|
||||||
|
} else {
|
||||||
|
field = iter.ReadString()
|
||||||
|
c := iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c}))
|
||||||
|
}
|
||||||
|
}
|
||||||
fieldDecoder := decoder.fields[strings.ToLower(field)]
|
fieldDecoder := decoder.fields[strings.ToLower(field)]
|
||||||
if fieldDecoder == nil {
|
if fieldDecoder == nil {
|
||||||
iter.Skip()
|
iter.Skip()
|
||||||
@ -436,8 +446,16 @@ func (decoder *generalStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator)
|
|||||||
fieldDecoder.Decode(ptr, iter)
|
fieldDecoder.Decode(ptr, iter)
|
||||||
}
|
}
|
||||||
for iter.nextToken() == ',' {
|
for iter.nextToken() == ',' {
|
||||||
fieldBytes = iter.readObjectFieldAsBytes()
|
if iter.cfg.objectFieldMustBeSimpleString {
|
||||||
field = *(*string)(unsafe.Pointer(&fieldBytes))
|
fieldBytes := iter.readObjectFieldAsBytes()
|
||||||
|
field = *(*string)(unsafe.Pointer(&fieldBytes))
|
||||||
|
} else {
|
||||||
|
field = iter.ReadString()
|
||||||
|
c := iter.nextToken()
|
||||||
|
if c != ':' {
|
||||||
|
iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c}))
|
||||||
|
}
|
||||||
|
}
|
||||||
fieldDecoder = decoder.fields[strings.ToLower(field)]
|
fieldDecoder = decoder.fields[strings.ToLower(field)]
|
||||||
if fieldDecoder == nil {
|
if fieldDecoder == nil {
|
||||||
iter.Skip()
|
iter.Skip()
|
||||||
|
21
vendor/github.com/json-iterator/go/feature_stream.go
generated
vendored
21
vendor/github.com/json-iterator/go/feature_stream.go
generated
vendored
@ -4,15 +4,16 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Stream is a io.Writer like object, with JSON specific write functions.
|
// stream is a io.Writer like object, with JSON specific write functions.
|
||||||
// Error is not returned as return value, but stored as Error member on this stream instance.
|
// Error is not returned as return value, but stored as Error member on this stream instance.
|
||||||
type Stream struct {
|
type Stream struct {
|
||||||
cfg *frozenConfig
|
cfg *frozenConfig
|
||||||
out io.Writer
|
out io.Writer
|
||||||
buf []byte
|
buf []byte
|
||||||
n int
|
n int
|
||||||
Error error
|
Error error
|
||||||
indention int
|
indention int
|
||||||
|
Attachment interface{} // open for customized encoder
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewStream create new stream instance.
|
// NewStream create new stream instance.
|
||||||
@ -191,6 +192,9 @@ func (stream *Stream) ensure(minimal int) {
|
|||||||
func (stream *Stream) growAtLeast(minimal int) {
|
func (stream *Stream) growAtLeast(minimal int) {
|
||||||
if stream.out != nil {
|
if stream.out != nil {
|
||||||
stream.Flush()
|
stream.Flush()
|
||||||
|
if stream.Available() >= minimal {
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
toGrow := len(stream.buf)
|
toGrow := len(stream.buf)
|
||||||
if toGrow < minimal {
|
if toGrow < minimal {
|
||||||
@ -280,8 +284,7 @@ func (stream *Stream) WriteArrayStart() {
|
|||||||
|
|
||||||
// WriteEmptyArray write []
|
// WriteEmptyArray write []
|
||||||
func (stream *Stream) WriteEmptyArray() {
|
func (stream *Stream) WriteEmptyArray() {
|
||||||
stream.writeByte('[')
|
stream.writeTwoBytes('[', ']')
|
||||||
stream.writeByte(']')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteArrayEnd write ] with possible indention
|
// WriteArrayEnd write ] with possible indention
|
||||||
|
10
vendor/k8s.io/api/apps/v1beta2/generated.proto
generated
vendored
10
vendor/k8s.io/api/apps/v1beta2/generated.proto
generated
vendored
@ -31,6 +31,8 @@ import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
|||||||
// Package-wide variables from generator "generated".
|
// Package-wide variables from generator "generated".
|
||||||
option go_package = "v1beta2";
|
option go_package = "v1beta2";
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the
|
||||||
|
// release notes for more information.
|
||||||
// ControllerRevision implements an immutable snapshot of state data. Clients
|
// ControllerRevision implements an immutable snapshot of state data. Clients
|
||||||
// are responsible for serializing and deserializing the objects that contain
|
// are responsible for serializing and deserializing the objects that contain
|
||||||
// their internal state.
|
// their internal state.
|
||||||
@ -63,6 +65,8 @@ message ControllerRevisionList {
|
|||||||
repeated ControllerRevision items = 2;
|
repeated ControllerRevision items = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for
|
||||||
|
// more information.
|
||||||
// DaemonSet represents the configuration of a daemon set.
|
// DaemonSet represents the configuration of a daemon set.
|
||||||
message DaemonSet {
|
message DaemonSet {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
@ -218,6 +222,8 @@ message DaemonSetUpdateStrategy {
|
|||||||
optional RollingUpdateDaemonSet rollingUpdate = 2;
|
optional RollingUpdateDaemonSet rollingUpdate = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for
|
||||||
|
// more information.
|
||||||
// Deployment enables declarative updates for Pods and ReplicaSets.
|
// Deployment enables declarative updates for Pods and ReplicaSets.
|
||||||
message Deployment {
|
message Deployment {
|
||||||
// Standard object metadata.
|
// Standard object metadata.
|
||||||
@ -362,6 +368,8 @@ message DeploymentStrategy {
|
|||||||
optional RollingUpdateDeployment rollingUpdate = 2;
|
optional RollingUpdateDeployment rollingUpdate = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for
|
||||||
|
// more information.
|
||||||
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
|
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
|
||||||
message ReplicaSet {
|
message ReplicaSet {
|
||||||
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
// If the Labels of a ReplicaSet are empty, they are defaulted to
|
||||||
@ -574,6 +582,8 @@ message ScaleStatus {
|
|||||||
optional string targetSelector = 3;
|
optional string targetSelector = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for
|
||||||
|
// more information.
|
||||||
// StatefulSet represents a set of pods with consistent identities.
|
// StatefulSet represents a set of pods with consistent identities.
|
||||||
// Identities are defined as:
|
// Identities are defined as:
|
||||||
// - Network: A single stable DNS and hostname.
|
// - Network: A single stable DNS and hostname.
|
||||||
|
10
vendor/k8s.io/api/apps/v1beta2/types.go
generated
vendored
10
vendor/k8s.io/api/apps/v1beta2/types.go
generated
vendored
@ -82,6 +82,8 @@ type Scale struct {
|
|||||||
// +genclient:method=UpdateScale,verb=update,subresource=scale,input=Scale,result=Scale
|
// +genclient:method=UpdateScale,verb=update,subresource=scale,input=Scale,result=Scale
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for
|
||||||
|
// more information.
|
||||||
// StatefulSet represents a set of pods with consistent identities.
|
// StatefulSet represents a set of pods with consistent identities.
|
||||||
// Identities are defined as:
|
// Identities are defined as:
|
||||||
// - Network: A single stable DNS and hostname.
|
// - Network: A single stable DNS and hostname.
|
||||||
@ -294,6 +296,8 @@ type StatefulSetList struct {
|
|||||||
// +genclient
|
// +genclient
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for
|
||||||
|
// more information.
|
||||||
// Deployment enables declarative updates for Pods and ReplicaSets.
|
// Deployment enables declarative updates for Pods and ReplicaSets.
|
||||||
type Deployment struct {
|
type Deployment struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
@ -657,6 +661,8 @@ type DaemonSetCondition struct {
|
|||||||
// +genclient
|
// +genclient
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for
|
||||||
|
// more information.
|
||||||
// DaemonSet represents the configuration of a daemon set.
|
// DaemonSet represents the configuration of a daemon set.
|
||||||
type DaemonSet struct {
|
type DaemonSet struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
@ -703,6 +709,8 @@ type DaemonSetList struct {
|
|||||||
// +genclient
|
// +genclient
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for
|
||||||
|
// more information.
|
||||||
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
|
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
|
||||||
type ReplicaSet struct {
|
type ReplicaSet struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
@ -829,6 +837,8 @@ type ReplicaSetCondition struct {
|
|||||||
// +genclient
|
// +genclient
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the
|
||||||
|
// release notes for more information.
|
||||||
// ControllerRevision implements an immutable snapshot of state data. Clients
|
// ControllerRevision implements an immutable snapshot of state data. Clients
|
||||||
// are responsible for serializing and deserializing the objects that contain
|
// are responsible for serializing and deserializing the objects that contain
|
||||||
// their internal state.
|
// their internal state.
|
||||||
|
10
vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
generated
vendored
10
vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
generated
vendored
@ -28,7 +28,7 @@ package v1beta2
|
|||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS START HERE
|
// AUTO-GENERATED FUNCTIONS START HERE
|
||||||
var map_ControllerRevision = map[string]string{
|
var map_ControllerRevision = map[string]string{
|
||||||
"": "ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
|
"": "DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
"data": "Data is the serialized representation of the state.",
|
"data": "Data is the serialized representation of the state.",
|
||||||
"revision": "Revision indicates the revision of the state represented by Data.",
|
"revision": "Revision indicates the revision of the state represented by Data.",
|
||||||
@ -49,7 +49,7 @@ func (ControllerRevisionList) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_DaemonSet = map[string]string{
|
var map_DaemonSet = map[string]string{
|
||||||
"": "DaemonSet represents the configuration of a daemon set.",
|
"": "DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for more information. DaemonSet represents the configuration of a daemon set.",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
"spec": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
"status": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
@ -124,7 +124,7 @@ func (DaemonSetUpdateStrategy) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_Deployment = map[string]string{
|
var map_Deployment = map[string]string{
|
||||||
"": "Deployment enables declarative updates for Pods and ReplicaSets.",
|
"": "DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for more information. Deployment enables declarative updates for Pods and ReplicaSets.",
|
||||||
"metadata": "Standard object metadata.",
|
"metadata": "Standard object metadata.",
|
||||||
"spec": "Specification of the desired behavior of the Deployment.",
|
"spec": "Specification of the desired behavior of the Deployment.",
|
||||||
"status": "Most recently observed status of the Deployment.",
|
"status": "Most recently observed status of the Deployment.",
|
||||||
@ -201,7 +201,7 @@ func (DeploymentStrategy) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_ReplicaSet = map[string]string{
|
var map_ReplicaSet = map[string]string{
|
||||||
"": "ReplicaSet ensures that a specified number of pod replicas are running at any given time.",
|
"": "DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for more information. ReplicaSet ensures that a specified number of pod replicas are running at any given time.",
|
||||||
"metadata": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
"spec": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"spec": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
"status": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
"status": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status",
|
||||||
@ -320,7 +320,7 @@ func (ScaleStatus) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_StatefulSet = map[string]string{
|
var map_StatefulSet = map[string]string{
|
||||||
"": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
|
"": "DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
|
||||||
"spec": "Spec defines the desired identities of pods in this set.",
|
"spec": "Spec defines the desired identities of pods in this set.",
|
||||||
"status": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.",
|
"status": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.",
|
||||||
}
|
}
|
||||||
|
6
vendor/k8s.io/api/autoscaling/v1/generated.proto
generated
vendored
6
vendor/k8s.io/api/autoscaling/v1/generated.proto
generated
vendored
@ -138,7 +138,8 @@ message HorizontalPodAutoscalerStatus {
|
|||||||
// MetricSpec specifies how to scale based on a single metric
|
// MetricSpec specifies how to scale based on a single metric
|
||||||
// (only `type` and one other matching field should be set at once).
|
// (only `type` and one other matching field should be set at once).
|
||||||
message MetricSpec {
|
message MetricSpec {
|
||||||
// type is the type of metric source. It should match one of the fields below.
|
// type is the type of metric source. It should be one of "Object",
|
||||||
|
// "Pods" or "Resource", each mapping to a matching field in the object.
|
||||||
optional string type = 1;
|
optional string type = 1;
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
@ -163,7 +164,8 @@ message MetricSpec {
|
|||||||
|
|
||||||
// MetricStatus describes the last-read state of a single metric.
|
// MetricStatus describes the last-read state of a single metric.
|
||||||
message MetricStatus {
|
message MetricStatus {
|
||||||
// type is the type of metric source. It will match one of the fields below.
|
// type is the type of metric source. It will be one of "Object",
|
||||||
|
// "Pods" or "Resource", each corresponds to a matching field in the object.
|
||||||
optional string type = 1;
|
optional string type = 1;
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
|
6
vendor/k8s.io/api/autoscaling/v1/types.go
generated
vendored
6
vendor/k8s.io/api/autoscaling/v1/types.go
generated
vendored
@ -166,7 +166,8 @@ var (
|
|||||||
// MetricSpec specifies how to scale based on a single metric
|
// MetricSpec specifies how to scale based on a single metric
|
||||||
// (only `type` and one other matching field should be set at once).
|
// (only `type` and one other matching field should be set at once).
|
||||||
type MetricSpec struct {
|
type MetricSpec struct {
|
||||||
// type is the type of metric source. It should match one of the fields below.
|
// type is the type of metric source. It should be one of "Object",
|
||||||
|
// "Pods" or "Resource", each mapping to a matching field in the object.
|
||||||
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
@ -235,7 +236,8 @@ type ResourceMetricSource struct {
|
|||||||
|
|
||||||
// MetricStatus describes the last-read state of a single metric.
|
// MetricStatus describes the last-read state of a single metric.
|
||||||
type MetricStatus struct {
|
type MetricStatus struct {
|
||||||
// type is the type of metric source. It will match one of the fields below.
|
// type is the type of metric source. It will be one of "Object",
|
||||||
|
// "Pods" or "Resource", each corresponds to a matching field in the object.
|
||||||
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
|
4
vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
generated
vendored
4
vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go
generated
vendored
@ -99,7 +99,7 @@ func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
|
|||||||
|
|
||||||
var map_MetricSpec = map[string]string{
|
var map_MetricSpec = map[string]string{
|
||||||
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
|
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
|
||||||
"type": "type is the type of metric source. It should match one of the fields below.",
|
"type": "type is the type of metric source. It should be one of \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
|
||||||
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
||||||
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
||||||
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
||||||
@ -111,7 +111,7 @@ func (MetricSpec) SwaggerDoc() map[string]string {
|
|||||||
|
|
||||||
var map_MetricStatus = map[string]string{
|
var map_MetricStatus = map[string]string{
|
||||||
"": "MetricStatus describes the last-read state of a single metric.",
|
"": "MetricStatus describes the last-read state of a single metric.",
|
||||||
"type": "type is the type of metric source. It will match one of the fields below.",
|
"type": "type is the type of metric source. It will be one of \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
|
||||||
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
||||||
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
||||||
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
||||||
|
6
vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
generated
vendored
6
vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
generated
vendored
@ -153,7 +153,8 @@ message HorizontalPodAutoscalerStatus {
|
|||||||
// MetricSpec specifies how to scale based on a single metric
|
// MetricSpec specifies how to scale based on a single metric
|
||||||
// (only `type` and one other matching field should be set at once).
|
// (only `type` and one other matching field should be set at once).
|
||||||
message MetricSpec {
|
message MetricSpec {
|
||||||
// type is the type of metric source. It should match one of the fields below.
|
// type is the type of metric source. It should be one of "Object",
|
||||||
|
// "Pods" or "Resource", each mapping to a matching field in the object.
|
||||||
optional string type = 1;
|
optional string type = 1;
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
@ -178,7 +179,8 @@ message MetricSpec {
|
|||||||
|
|
||||||
// MetricStatus describes the last-read state of a single metric.
|
// MetricStatus describes the last-read state of a single metric.
|
||||||
message MetricStatus {
|
message MetricStatus {
|
||||||
// type is the type of metric source. It will match one of the fields below.
|
// type is the type of metric source. It will be one of "Object",
|
||||||
|
// "Pods" or "Resource", each corresponds to a matching field in the object.
|
||||||
optional string type = 1;
|
optional string type = 1;
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
|
6
vendor/k8s.io/api/autoscaling/v2beta1/types.go
generated
vendored
6
vendor/k8s.io/api/autoscaling/v2beta1/types.go
generated
vendored
@ -78,7 +78,8 @@ var (
|
|||||||
// MetricSpec specifies how to scale based on a single metric
|
// MetricSpec specifies how to scale based on a single metric
|
||||||
// (only `type` and one other matching field should be set at once).
|
// (only `type` and one other matching field should be set at once).
|
||||||
type MetricSpec struct {
|
type MetricSpec struct {
|
||||||
// type is the type of metric source. It should match one of the fields below.
|
// type is the type of metric source. It should be one of "Object",
|
||||||
|
// "Pods" or "Resource", each mapping to a matching field in the object.
|
||||||
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
@ -210,7 +211,8 @@ type HorizontalPodAutoscalerCondition struct {
|
|||||||
|
|
||||||
// MetricStatus describes the last-read state of a single metric.
|
// MetricStatus describes the last-read state of a single metric.
|
||||||
type MetricStatus struct {
|
type MetricStatus struct {
|
||||||
// type is the type of metric source. It will match one of the fields below.
|
// type is the type of metric source. It will be one of "Object",
|
||||||
|
// "Pods" or "Resource", each corresponds to a matching field in the object.
|
||||||
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"`
|
||||||
|
|
||||||
// object refers to a metric describing a single kubernetes object
|
// object refers to a metric describing a single kubernetes object
|
||||||
|
4
vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
generated
vendored
4
vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go
generated
vendored
@ -100,7 +100,7 @@ func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
|
|||||||
|
|
||||||
var map_MetricSpec = map[string]string{
|
var map_MetricSpec = map[string]string{
|
||||||
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
|
"": "MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).",
|
||||||
"type": "type is the type of metric source. It should match one of the fields below.",
|
"type": "type is the type of metric source. It should be one of \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object.",
|
||||||
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
||||||
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
||||||
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
||||||
@ -112,7 +112,7 @@ func (MetricSpec) SwaggerDoc() map[string]string {
|
|||||||
|
|
||||||
var map_MetricStatus = map[string]string{
|
var map_MetricStatus = map[string]string{
|
||||||
"": "MetricStatus describes the last-read state of a single metric.",
|
"": "MetricStatus describes the last-read state of a single metric.",
|
||||||
"type": "type is the type of metric source. It will match one of the fields below.",
|
"type": "type is the type of metric source. It will be one of \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object.",
|
||||||
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
"object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).",
|
||||||
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
"pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
|
||||||
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
"resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
|
||||||
|
3276
vendor/k8s.io/api/core/v1/generated.pb.go
generated
vendored
3276
vendor/k8s.io/api/core/v1/generated.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
43
vendor/k8s.io/api/core/v1/generated.proto
generated
vendored
43
vendor/k8s.io/api/core/v1/generated.proto
generated
vendored
@ -1169,8 +1169,38 @@ message FCVolumeSource {
|
|||||||
repeated string wwids = 5;
|
repeated string wwids = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FlexPersistentVolumeSource represents a generic persistent volume resource that is
|
||||||
|
// provisioned/attached using an exec based plugin.
|
||||||
|
message FlexPersistentVolumeSource {
|
||||||
|
// Driver is the name of the driver to use for this volume.
|
||||||
|
optional string driver = 1;
|
||||||
|
|
||||||
|
// Filesystem type to mount.
|
||||||
|
// Must be a filesystem type supported by the host operating system.
|
||||||
|
// Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
||||||
|
// +optional
|
||||||
|
optional string fsType = 2;
|
||||||
|
|
||||||
|
// Optional: SecretRef is reference to the secret object containing
|
||||||
|
// sensitive information to pass to the plugin scripts. This may be
|
||||||
|
// empty if no secret object is specified. If the secret object
|
||||||
|
// contains more than one secret, all secrets are passed to the plugin
|
||||||
|
// scripts.
|
||||||
|
// +optional
|
||||||
|
optional SecretReference secretRef = 3;
|
||||||
|
|
||||||
|
// Optional: Defaults to false (read/write). ReadOnly here will force
|
||||||
|
// the ReadOnly setting in VolumeMounts.
|
||||||
|
// +optional
|
||||||
|
optional bool readOnly = 4;
|
||||||
|
|
||||||
|
// Optional: Extra command options if any.
|
||||||
|
// +optional
|
||||||
|
map<string, string> options = 5;
|
||||||
|
}
|
||||||
|
|
||||||
// FlexVolume represents a generic volume resource that is
|
// FlexVolume represents a generic volume resource that is
|
||||||
// provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
|
// provisioned/attached using an exec based plugin.
|
||||||
message FlexVolumeSource {
|
message FlexVolumeSource {
|
||||||
// Driver is the name of the driver to use for this volume.
|
// Driver is the name of the driver to use for this volume.
|
||||||
optional string driver = 1;
|
optional string driver = 1;
|
||||||
@ -2439,10 +2469,9 @@ message PersistentVolumeSource {
|
|||||||
optional FlockerVolumeSource flocker = 11;
|
optional FlockerVolumeSource flocker = 11;
|
||||||
|
|
||||||
// FlexVolume represents a generic volume resource that is
|
// FlexVolume represents a generic volume resource that is
|
||||||
// provisioned/attached using an exec based plugin. This is an
|
// provisioned/attached using an exec based plugin.
|
||||||
// alpha feature and may change in future.
|
|
||||||
// +optional
|
// +optional
|
||||||
optional FlexVolumeSource flexVolume = 12;
|
optional FlexPersistentVolumeSource flexVolume = 12;
|
||||||
|
|
||||||
// AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
|
// AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
|
||||||
// +optional
|
// +optional
|
||||||
@ -2620,6 +2649,7 @@ message PodAffinityTerm {
|
|||||||
|
|
||||||
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
||||||
// null or empty list means "this pod's namespace"
|
// null or empty list means "this pod's namespace"
|
||||||
|
// +optional
|
||||||
repeated string namespaces = 2;
|
repeated string namespaces = 2;
|
||||||
|
|
||||||
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
||||||
@ -2979,6 +3009,7 @@ message PodSpec {
|
|||||||
// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
|
// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
|
||||||
// To have DNS options set along with hostNetwork, you have to specify DNS policy
|
// To have DNS options set along with hostNetwork, you have to specify DNS policy
|
||||||
// explicitly to 'ClusterFirstWithHostNet'.
|
// explicitly to 'ClusterFirstWithHostNet'.
|
||||||
|
// Note that 'None' policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.
|
||||||
// +optional
|
// +optional
|
||||||
optional string dnsPolicy = 6;
|
optional string dnsPolicy = 6;
|
||||||
|
|
||||||
@ -3091,6 +3122,7 @@ message PodSpec {
|
|||||||
// Specifies the DNS parameters of a pod.
|
// Specifies the DNS parameters of a pod.
|
||||||
// Parameters specified here will be merged to the generated DNS
|
// Parameters specified here will be merged to the generated DNS
|
||||||
// configuration based on DNSPolicy.
|
// configuration based on DNSPolicy.
|
||||||
|
// This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.
|
||||||
// +optional
|
// +optional
|
||||||
optional PodDNSConfig dnsConfig = 26;
|
optional PodDNSConfig dnsConfig = 26;
|
||||||
}
|
}
|
||||||
@ -4475,8 +4507,7 @@ message VolumeSource {
|
|||||||
optional RBDVolumeSource rbd = 11;
|
optional RBDVolumeSource rbd = 11;
|
||||||
|
|
||||||
// FlexVolume represents a generic volume resource that is
|
// FlexVolume represents a generic volume resource that is
|
||||||
// provisioned/attached using an exec based plugin. This is an
|
// provisioned/attached using an exec based plugin.
|
||||||
// alpha feature and may change in future.
|
|
||||||
// +optional
|
// +optional
|
||||||
optional FlexVolumeSource flexVolume = 12;
|
optional FlexVolumeSource flexVolume = 12;
|
||||||
|
|
||||||
|
2
vendor/k8s.io/api/core/v1/register.go
generated
vendored
2
vendor/k8s.io/api/core/v1/register.go
generated
vendored
@ -14,8 +14,6 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//TODO: this file is going to be moved to k8s.io/api
|
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
39
vendor/k8s.io/api/core/v1/types.go
generated
vendored
39
vendor/k8s.io/api/core/v1/types.go
generated
vendored
@ -302,8 +302,7 @@ type VolumeSource struct {
|
|||||||
// +optional
|
// +optional
|
||||||
RBD *RBDVolumeSource `json:"rbd,omitempty" protobuf:"bytes,11,opt,name=rbd"`
|
RBD *RBDVolumeSource `json:"rbd,omitempty" protobuf:"bytes,11,opt,name=rbd"`
|
||||||
// FlexVolume represents a generic volume resource that is
|
// FlexVolume represents a generic volume resource that is
|
||||||
// provisioned/attached using an exec based plugin. This is an
|
// provisioned/attached using an exec based plugin.
|
||||||
// alpha feature and may change in future.
|
|
||||||
// +optional
|
// +optional
|
||||||
FlexVolume *FlexVolumeSource `json:"flexVolume,omitempty" protobuf:"bytes,12,opt,name=flexVolume"`
|
FlexVolume *FlexVolumeSource `json:"flexVolume,omitempty" protobuf:"bytes,12,opt,name=flexVolume"`
|
||||||
// Cinder represents a cinder volume attached and mounted on kubelets host machine
|
// Cinder represents a cinder volume attached and mounted on kubelets host machine
|
||||||
@ -417,10 +416,9 @@ type PersistentVolumeSource struct {
|
|||||||
// +optional
|
// +optional
|
||||||
Flocker *FlockerVolumeSource `json:"flocker,omitempty" protobuf:"bytes,11,opt,name=flocker"`
|
Flocker *FlockerVolumeSource `json:"flocker,omitempty" protobuf:"bytes,11,opt,name=flocker"`
|
||||||
// FlexVolume represents a generic volume resource that is
|
// FlexVolume represents a generic volume resource that is
|
||||||
// provisioned/attached using an exec based plugin. This is an
|
// provisioned/attached using an exec based plugin.
|
||||||
// alpha feature and may change in future.
|
|
||||||
// +optional
|
// +optional
|
||||||
FlexVolume *FlexVolumeSource `json:"flexVolume,omitempty" protobuf:"bytes,12,opt,name=flexVolume"`
|
FlexVolume *FlexPersistentVolumeSource `json:"flexVolume,omitempty" protobuf:"bytes,12,opt,name=flexVolume"`
|
||||||
// AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
|
// AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
|
||||||
// +optional
|
// +optional
|
||||||
AzureFile *AzureFilePersistentVolumeSource `json:"azureFile,omitempty" protobuf:"bytes,13,opt,name=azureFile"`
|
AzureFile *AzureFilePersistentVolumeSource `json:"azureFile,omitempty" protobuf:"bytes,13,opt,name=azureFile"`
|
||||||
@ -1083,8 +1081,34 @@ type QuobyteVolumeSource struct {
|
|||||||
Group string `json:"group,omitempty" protobuf:"bytes,5,opt,name=group"`
|
Group string `json:"group,omitempty" protobuf:"bytes,5,opt,name=group"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FlexPersistentVolumeSource represents a generic persistent volume resource that is
|
||||||
|
// provisioned/attached using an exec based plugin.
|
||||||
|
type FlexPersistentVolumeSource struct {
|
||||||
|
// Driver is the name of the driver to use for this volume.
|
||||||
|
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
||||||
|
// Filesystem type to mount.
|
||||||
|
// Must be a filesystem type supported by the host operating system.
|
||||||
|
// Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
||||||
|
// +optional
|
||||||
|
FSType string `json:"fsType,omitempty" protobuf:"bytes,2,opt,name=fsType"`
|
||||||
|
// Optional: SecretRef is reference to the secret object containing
|
||||||
|
// sensitive information to pass to the plugin scripts. This may be
|
||||||
|
// empty if no secret object is specified. If the secret object
|
||||||
|
// contains more than one secret, all secrets are passed to the plugin
|
||||||
|
// scripts.
|
||||||
|
// +optional
|
||||||
|
SecretRef *SecretReference `json:"secretRef,omitempty" protobuf:"bytes,3,opt,name=secretRef"`
|
||||||
|
// Optional: Defaults to false (read/write). ReadOnly here will force
|
||||||
|
// the ReadOnly setting in VolumeMounts.
|
||||||
|
// +optional
|
||||||
|
ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,4,opt,name=readOnly"`
|
||||||
|
// Optional: Extra command options if any.
|
||||||
|
// +optional
|
||||||
|
Options map[string]string `json:"options,omitempty" protobuf:"bytes,5,rep,name=options"`
|
||||||
|
}
|
||||||
|
|
||||||
// FlexVolume represents a generic volume resource that is
|
// FlexVolume represents a generic volume resource that is
|
||||||
// provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.
|
// provisioned/attached using an exec based plugin.
|
||||||
type FlexVolumeSource struct {
|
type FlexVolumeSource struct {
|
||||||
// Driver is the name of the driver to use for this volume.
|
// Driver is the name of the driver to use for this volume.
|
||||||
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
||||||
@ -2587,6 +2611,7 @@ type PodAffinityTerm struct {
|
|||||||
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"`
|
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"`
|
||||||
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
// namespaces specifies which namespaces the labelSelector applies to (matches against);
|
||||||
// null or empty list means "this pod's namespace"
|
// null or empty list means "this pod's namespace"
|
||||||
|
// +optional
|
||||||
Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,2,rep,name=namespaces"`
|
Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,2,rep,name=namespaces"`
|
||||||
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
||||||
// the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
// the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
||||||
@ -2771,6 +2796,7 @@ type PodSpec struct {
|
|||||||
// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
|
// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
|
||||||
// To have DNS options set along with hostNetwork, you have to specify DNS policy
|
// To have DNS options set along with hostNetwork, you have to specify DNS policy
|
||||||
// explicitly to 'ClusterFirstWithHostNet'.
|
// explicitly to 'ClusterFirstWithHostNet'.
|
||||||
|
// Note that 'None' policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.
|
||||||
// +optional
|
// +optional
|
||||||
DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
|
DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
|
||||||
// NodeSelector is a selector which must be true for the pod to fit on a node.
|
// NodeSelector is a selector which must be true for the pod to fit on a node.
|
||||||
@ -2866,6 +2892,7 @@ type PodSpec struct {
|
|||||||
// Specifies the DNS parameters of a pod.
|
// Specifies the DNS parameters of a pod.
|
||||||
// Parameters specified here will be merged to the generated DNS
|
// Parameters specified here will be merged to the generated DNS
|
||||||
// configuration based on DNSPolicy.
|
// configuration based on DNSPolicy.
|
||||||
|
// This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.
|
||||||
// +optional
|
// +optional
|
||||||
DNSConfig *PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
|
DNSConfig *PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
|
||||||
}
|
}
|
||||||
|
23
vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
generated
vendored
23
vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
generated
vendored
@ -616,8 +616,21 @@ func (FCVolumeSource) SwaggerDoc() map[string]string {
|
|||||||
return map_FCVolumeSource
|
return map_FCVolumeSource
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var map_FlexPersistentVolumeSource = map[string]string{
|
||||||
|
"": "FlexPersistentVolumeSource represents a generic persistent volume resource that is provisioned/attached using an exec based plugin.",
|
||||||
|
"driver": "Driver is the name of the driver to use for this volume.",
|
||||||
|
"fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
|
||||||
|
"secretRef": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.",
|
||||||
|
"readOnly": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
|
||||||
|
"options": "Optional: Extra command options if any.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (FlexPersistentVolumeSource) SwaggerDoc() map[string]string {
|
||||||
|
return map_FlexPersistentVolumeSource
|
||||||
|
}
|
||||||
|
|
||||||
var map_FlexVolumeSource = map[string]string{
|
var map_FlexVolumeSource = map[string]string{
|
||||||
"": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.",
|
"": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
|
||||||
"driver": "Driver is the name of the driver to use for this volume.",
|
"driver": "Driver is the name of the driver to use for this volume.",
|
||||||
"fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
|
"fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
|
||||||
"secretRef": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.",
|
"secretRef": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.",
|
||||||
@ -1251,7 +1264,7 @@ var map_PersistentVolumeSource = map[string]string{
|
|||||||
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
|
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
|
||||||
"fc": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
|
"fc": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
|
||||||
"flocker": "Flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running",
|
"flocker": "Flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running",
|
||||||
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.",
|
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
|
||||||
"azureFile": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
|
"azureFile": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
|
||||||
"vsphereVolume": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
|
"vsphereVolume": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
|
||||||
"quobyte": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
|
"quobyte": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
|
||||||
@ -1481,7 +1494,7 @@ var map_PodSpec = map[string]string{
|
|||||||
"restartPolicy": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy",
|
"restartPolicy": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy",
|
||||||
"terminationGracePeriodSeconds": "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.",
|
"terminationGracePeriodSeconds": "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.",
|
||||||
"activeDeadlineSeconds": "Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.",
|
"activeDeadlineSeconds": "Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.",
|
||||||
"dnsPolicy": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.",
|
"dnsPolicy": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. Note that 'None' policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.",
|
||||||
"nodeSelector": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
|
"nodeSelector": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
|
||||||
"serviceAccountName": "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/",
|
"serviceAccountName": "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/",
|
||||||
"serviceAccount": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.",
|
"serviceAccount": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.",
|
||||||
@ -1500,7 +1513,7 @@ var map_PodSpec = map[string]string{
|
|||||||
"hostAliases": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.",
|
"hostAliases": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.",
|
||||||
"priorityClassName": "If specified, indicates the pod's priority. \"SYSTEM\" is a special keyword which indicates the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
|
"priorityClassName": "If specified, indicates the pod's priority. \"SYSTEM\" is a special keyword which indicates the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
|
||||||
"priority": "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.",
|
"priority": "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.",
|
||||||
"dnsConfig": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.",
|
"dnsConfig": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (PodSpec) SwaggerDoc() map[string]string {
|
func (PodSpec) SwaggerDoc() map[string]string {
|
||||||
@ -2184,7 +2197,7 @@ var map_VolumeSource = map[string]string{
|
|||||||
"glusterfs": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md",
|
"glusterfs": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md",
|
||||||
"persistentVolumeClaim": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
|
"persistentVolumeClaim": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
|
||||||
"rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
|
"rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
|
||||||
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.",
|
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
|
||||||
"cinder": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
|
"cinder": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
|
||||||
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
|
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
|
||||||
"flocker": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
|
"flocker": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
|
||||||
|
34
vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
generated
vendored
34
vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
generated
vendored
@ -1547,6 +1547,38 @@ func (in *FCVolumeSource) DeepCopy() *FCVolumeSource {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *FlexPersistentVolumeSource) DeepCopyInto(out *FlexPersistentVolumeSource) {
|
||||||
|
*out = *in
|
||||||
|
if in.SecretRef != nil {
|
||||||
|
in, out := &in.SecretRef, &out.SecretRef
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(SecretReference)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Options != nil {
|
||||||
|
in, out := &in.Options, &out.Options
|
||||||
|
*out = make(map[string]string, len(*in))
|
||||||
|
for key, val := range *in {
|
||||||
|
(*out)[key] = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexPersistentVolumeSource.
|
||||||
|
func (in *FlexPersistentVolumeSource) DeepCopy() *FlexPersistentVolumeSource {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(FlexPersistentVolumeSource)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *FlexVolumeSource) DeepCopyInto(out *FlexVolumeSource) {
|
func (in *FlexVolumeSource) DeepCopyInto(out *FlexVolumeSource) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@ -3165,7 +3197,7 @@ func (in *PersistentVolumeSource) DeepCopyInto(out *PersistentVolumeSource) {
|
|||||||
if *in == nil {
|
if *in == nil {
|
||||||
*out = nil
|
*out = nil
|
||||||
} else {
|
} else {
|
||||||
*out = new(FlexVolumeSource)
|
*out = new(FlexPersistentVolumeSource)
|
||||||
(*in).DeepCopyInto(*out)
|
(*in).DeepCopyInto(*out)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
730
vendor/k8s.io/api/extensions/v1beta1/generated.pb.go
generated
vendored
730
vendor/k8s.io/api/extensions/v1beta1/generated.pb.go
generated
vendored
@ -25,6 +25,7 @@ limitations under the License.
|
|||||||
k8s.io/kubernetes/vendor/k8s.io/api/extensions/v1beta1/generated.proto
|
k8s.io/kubernetes/vendor/k8s.io/api/extensions/v1beta1/generated.proto
|
||||||
|
|
||||||
It has these top-level messages:
|
It has these top-level messages:
|
||||||
|
AllowedFlexVolume
|
||||||
AllowedHostPath
|
AllowedHostPath
|
||||||
CustomMetricCurrentStatus
|
CustomMetricCurrentStatus
|
||||||
CustomMetricCurrentStatusList
|
CustomMetricCurrentStatusList
|
||||||
@ -113,253 +114,258 @@ var _ = math.Inf
|
|||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
|
func (m *AllowedFlexVolume) Reset() { *m = AllowedFlexVolume{} }
|
||||||
|
func (*AllowedFlexVolume) ProtoMessage() {}
|
||||||
|
func (*AllowedFlexVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
||||||
|
|
||||||
func (m *AllowedHostPath) Reset() { *m = AllowedHostPath{} }
|
func (m *AllowedHostPath) Reset() { *m = AllowedHostPath{} }
|
||||||
func (*AllowedHostPath) ProtoMessage() {}
|
func (*AllowedHostPath) ProtoMessage() {}
|
||||||
func (*AllowedHostPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
|
func (*AllowedHostPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
|
||||||
|
|
||||||
func (m *CustomMetricCurrentStatus) Reset() { *m = CustomMetricCurrentStatus{} }
|
func (m *CustomMetricCurrentStatus) Reset() { *m = CustomMetricCurrentStatus{} }
|
||||||
func (*CustomMetricCurrentStatus) ProtoMessage() {}
|
func (*CustomMetricCurrentStatus) ProtoMessage() {}
|
||||||
func (*CustomMetricCurrentStatus) Descriptor() ([]byte, []int) {
|
func (*CustomMetricCurrentStatus) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{1}
|
return fileDescriptorGenerated, []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *CustomMetricCurrentStatusList) Reset() { *m = CustomMetricCurrentStatusList{} }
|
func (m *CustomMetricCurrentStatusList) Reset() { *m = CustomMetricCurrentStatusList{} }
|
||||||
func (*CustomMetricCurrentStatusList) ProtoMessage() {}
|
func (*CustomMetricCurrentStatusList) ProtoMessage() {}
|
||||||
func (*CustomMetricCurrentStatusList) Descriptor() ([]byte, []int) {
|
func (*CustomMetricCurrentStatusList) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{2}
|
return fileDescriptorGenerated, []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *CustomMetricTarget) Reset() { *m = CustomMetricTarget{} }
|
func (m *CustomMetricTarget) Reset() { *m = CustomMetricTarget{} }
|
||||||
func (*CustomMetricTarget) ProtoMessage() {}
|
func (*CustomMetricTarget) ProtoMessage() {}
|
||||||
func (*CustomMetricTarget) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
func (*CustomMetricTarget) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
||||||
|
|
||||||
func (m *CustomMetricTargetList) Reset() { *m = CustomMetricTargetList{} }
|
func (m *CustomMetricTargetList) Reset() { *m = CustomMetricTargetList{} }
|
||||||
func (*CustomMetricTargetList) ProtoMessage() {}
|
func (*CustomMetricTargetList) ProtoMessage() {}
|
||||||
func (*CustomMetricTargetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
func (*CustomMetricTargetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
|
||||||
|
|
||||||
func (m *DaemonSet) Reset() { *m = DaemonSet{} }
|
func (m *DaemonSet) Reset() { *m = DaemonSet{} }
|
||||||
func (*DaemonSet) ProtoMessage() {}
|
func (*DaemonSet) ProtoMessage() {}
|
||||||
func (*DaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
|
func (*DaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
|
||||||
|
|
||||||
func (m *DaemonSetCondition) Reset() { *m = DaemonSetCondition{} }
|
func (m *DaemonSetCondition) Reset() { *m = DaemonSetCondition{} }
|
||||||
func (*DaemonSetCondition) ProtoMessage() {}
|
func (*DaemonSetCondition) ProtoMessage() {}
|
||||||
func (*DaemonSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
|
func (*DaemonSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
|
||||||
|
|
||||||
func (m *DaemonSetList) Reset() { *m = DaemonSetList{} }
|
func (m *DaemonSetList) Reset() { *m = DaemonSetList{} }
|
||||||
func (*DaemonSetList) ProtoMessage() {}
|
func (*DaemonSetList) ProtoMessage() {}
|
||||||
func (*DaemonSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
|
func (*DaemonSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
|
||||||
|
|
||||||
func (m *DaemonSetSpec) Reset() { *m = DaemonSetSpec{} }
|
func (m *DaemonSetSpec) Reset() { *m = DaemonSetSpec{} }
|
||||||
func (*DaemonSetSpec) ProtoMessage() {}
|
func (*DaemonSetSpec) ProtoMessage() {}
|
||||||
func (*DaemonSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
|
func (*DaemonSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
|
||||||
|
|
||||||
func (m *DaemonSetStatus) Reset() { *m = DaemonSetStatus{} }
|
func (m *DaemonSetStatus) Reset() { *m = DaemonSetStatus{} }
|
||||||
func (*DaemonSetStatus) ProtoMessage() {}
|
func (*DaemonSetStatus) ProtoMessage() {}
|
||||||
func (*DaemonSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
|
func (*DaemonSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
|
||||||
|
|
||||||
func (m *DaemonSetUpdateStrategy) Reset() { *m = DaemonSetUpdateStrategy{} }
|
func (m *DaemonSetUpdateStrategy) Reset() { *m = DaemonSetUpdateStrategy{} }
|
||||||
func (*DaemonSetUpdateStrategy) ProtoMessage() {}
|
func (*DaemonSetUpdateStrategy) ProtoMessage() {}
|
||||||
func (*DaemonSetUpdateStrategy) Descriptor() ([]byte, []int) {
|
func (*DaemonSetUpdateStrategy) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{10}
|
return fileDescriptorGenerated, []int{11}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Deployment) Reset() { *m = Deployment{} }
|
func (m *Deployment) Reset() { *m = Deployment{} }
|
||||||
func (*Deployment) ProtoMessage() {}
|
func (*Deployment) ProtoMessage() {}
|
||||||
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
|
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
|
||||||
|
|
||||||
func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} }
|
func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} }
|
||||||
func (*DeploymentCondition) ProtoMessage() {}
|
func (*DeploymentCondition) ProtoMessage() {}
|
||||||
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
|
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
|
||||||
|
|
||||||
func (m *DeploymentList) Reset() { *m = DeploymentList{} }
|
func (m *DeploymentList) Reset() { *m = DeploymentList{} }
|
||||||
func (*DeploymentList) ProtoMessage() {}
|
func (*DeploymentList) ProtoMessage() {}
|
||||||
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
|
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
|
||||||
|
|
||||||
func (m *DeploymentRollback) Reset() { *m = DeploymentRollback{} }
|
func (m *DeploymentRollback) Reset() { *m = DeploymentRollback{} }
|
||||||
func (*DeploymentRollback) ProtoMessage() {}
|
func (*DeploymentRollback) ProtoMessage() {}
|
||||||
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
|
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
|
||||||
|
|
||||||
func (m *DeploymentSpec) Reset() { *m = DeploymentSpec{} }
|
func (m *DeploymentSpec) Reset() { *m = DeploymentSpec{} }
|
||||||
func (*DeploymentSpec) ProtoMessage() {}
|
func (*DeploymentSpec) ProtoMessage() {}
|
||||||
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
|
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
|
||||||
|
|
||||||
func (m *DeploymentStatus) Reset() { *m = DeploymentStatus{} }
|
func (m *DeploymentStatus) Reset() { *m = DeploymentStatus{} }
|
||||||
func (*DeploymentStatus) ProtoMessage() {}
|
func (*DeploymentStatus) ProtoMessage() {}
|
||||||
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
|
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
|
||||||
|
|
||||||
func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} }
|
func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} }
|
||||||
func (*DeploymentStrategy) ProtoMessage() {}
|
func (*DeploymentStrategy) ProtoMessage() {}
|
||||||
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
|
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
|
||||||
|
|
||||||
func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} }
|
func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} }
|
||||||
func (*FSGroupStrategyOptions) ProtoMessage() {}
|
func (*FSGroupStrategyOptions) ProtoMessage() {}
|
||||||
func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
|
func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
|
||||||
|
|
||||||
func (m *HTTPIngressPath) Reset() { *m = HTTPIngressPath{} }
|
func (m *HTTPIngressPath) Reset() { *m = HTTPIngressPath{} }
|
||||||
func (*HTTPIngressPath) ProtoMessage() {}
|
func (*HTTPIngressPath) ProtoMessage() {}
|
||||||
func (*HTTPIngressPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
|
func (*HTTPIngressPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} }
|
||||||
|
|
||||||
func (m *HTTPIngressRuleValue) Reset() { *m = HTTPIngressRuleValue{} }
|
func (m *HTTPIngressRuleValue) Reset() { *m = HTTPIngressRuleValue{} }
|
||||||
func (*HTTPIngressRuleValue) ProtoMessage() {}
|
func (*HTTPIngressRuleValue) ProtoMessage() {}
|
||||||
func (*HTTPIngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} }
|
func (*HTTPIngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} }
|
||||||
|
|
||||||
func (m *HostPortRange) Reset() { *m = HostPortRange{} }
|
func (m *HostPortRange) Reset() { *m = HostPortRange{} }
|
||||||
func (*HostPortRange) ProtoMessage() {}
|
func (*HostPortRange) ProtoMessage() {}
|
||||||
func (*HostPortRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} }
|
func (*HostPortRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
|
||||||
|
|
||||||
func (m *IDRange) Reset() { *m = IDRange{} }
|
func (m *IDRange) Reset() { *m = IDRange{} }
|
||||||
func (*IDRange) ProtoMessage() {}
|
func (*IDRange) ProtoMessage() {}
|
||||||
func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
|
func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
|
||||||
|
|
||||||
func (m *IPBlock) Reset() { *m = IPBlock{} }
|
func (m *IPBlock) Reset() { *m = IPBlock{} }
|
||||||
func (*IPBlock) ProtoMessage() {}
|
func (*IPBlock) ProtoMessage() {}
|
||||||
func (*IPBlock) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
|
func (*IPBlock) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
|
||||||
|
|
||||||
func (m *Ingress) Reset() { *m = Ingress{} }
|
func (m *Ingress) Reset() { *m = Ingress{} }
|
||||||
func (*Ingress) ProtoMessage() {}
|
func (*Ingress) ProtoMessage() {}
|
||||||
func (*Ingress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
|
func (*Ingress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
|
||||||
|
|
||||||
func (m *IngressBackend) Reset() { *m = IngressBackend{} }
|
func (m *IngressBackend) Reset() { *m = IngressBackend{} }
|
||||||
func (*IngressBackend) ProtoMessage() {}
|
func (*IngressBackend) ProtoMessage() {}
|
||||||
func (*IngressBackend) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
|
func (*IngressBackend) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
|
||||||
|
|
||||||
func (m *IngressList) Reset() { *m = IngressList{} }
|
func (m *IngressList) Reset() { *m = IngressList{} }
|
||||||
func (*IngressList) ProtoMessage() {}
|
func (*IngressList) ProtoMessage() {}
|
||||||
func (*IngressList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
|
func (*IngressList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
|
||||||
|
|
||||||
func (m *IngressRule) Reset() { *m = IngressRule{} }
|
func (m *IngressRule) Reset() { *m = IngressRule{} }
|
||||||
func (*IngressRule) ProtoMessage() {}
|
func (*IngressRule) ProtoMessage() {}
|
||||||
func (*IngressRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
|
func (*IngressRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
|
||||||
|
|
||||||
func (m *IngressRuleValue) Reset() { *m = IngressRuleValue{} }
|
func (m *IngressRuleValue) Reset() { *m = IngressRuleValue{} }
|
||||||
func (*IngressRuleValue) ProtoMessage() {}
|
func (*IngressRuleValue) ProtoMessage() {}
|
||||||
func (*IngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
|
func (*IngressRuleValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} }
|
||||||
|
|
||||||
func (m *IngressSpec) Reset() { *m = IngressSpec{} }
|
func (m *IngressSpec) Reset() { *m = IngressSpec{} }
|
||||||
func (*IngressSpec) ProtoMessage() {}
|
func (*IngressSpec) ProtoMessage() {}
|
||||||
func (*IngressSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} }
|
func (*IngressSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} }
|
||||||
|
|
||||||
func (m *IngressStatus) Reset() { *m = IngressStatus{} }
|
func (m *IngressStatus) Reset() { *m = IngressStatus{} }
|
||||||
func (*IngressStatus) ProtoMessage() {}
|
func (*IngressStatus) ProtoMessage() {}
|
||||||
func (*IngressStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} }
|
func (*IngressStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} }
|
||||||
|
|
||||||
func (m *IngressTLS) Reset() { *m = IngressTLS{} }
|
func (m *IngressTLS) Reset() { *m = IngressTLS{} }
|
||||||
func (*IngressTLS) ProtoMessage() {}
|
func (*IngressTLS) ProtoMessage() {}
|
||||||
func (*IngressTLS) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} }
|
func (*IngressTLS) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} }
|
||||||
|
|
||||||
func (m *NetworkPolicy) Reset() { *m = NetworkPolicy{} }
|
func (m *NetworkPolicy) Reset() { *m = NetworkPolicy{} }
|
||||||
func (*NetworkPolicy) ProtoMessage() {}
|
func (*NetworkPolicy) ProtoMessage() {}
|
||||||
func (*NetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} }
|
func (*NetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} }
|
||||||
|
|
||||||
func (m *NetworkPolicyEgressRule) Reset() { *m = NetworkPolicyEgressRule{} }
|
func (m *NetworkPolicyEgressRule) Reset() { *m = NetworkPolicyEgressRule{} }
|
||||||
func (*NetworkPolicyEgressRule) ProtoMessage() {}
|
func (*NetworkPolicyEgressRule) ProtoMessage() {}
|
||||||
func (*NetworkPolicyEgressRule) Descriptor() ([]byte, []int) {
|
func (*NetworkPolicyEgressRule) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{33}
|
return fileDescriptorGenerated, []int{34}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *NetworkPolicyIngressRule) Reset() { *m = NetworkPolicyIngressRule{} }
|
func (m *NetworkPolicyIngressRule) Reset() { *m = NetworkPolicyIngressRule{} }
|
||||||
func (*NetworkPolicyIngressRule) ProtoMessage() {}
|
func (*NetworkPolicyIngressRule) ProtoMessage() {}
|
||||||
func (*NetworkPolicyIngressRule) Descriptor() ([]byte, []int) {
|
func (*NetworkPolicyIngressRule) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{34}
|
return fileDescriptorGenerated, []int{35}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *NetworkPolicyList) Reset() { *m = NetworkPolicyList{} }
|
func (m *NetworkPolicyList) Reset() { *m = NetworkPolicyList{} }
|
||||||
func (*NetworkPolicyList) ProtoMessage() {}
|
func (*NetworkPolicyList) ProtoMessage() {}
|
||||||
func (*NetworkPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{35} }
|
func (*NetworkPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} }
|
||||||
|
|
||||||
func (m *NetworkPolicyPeer) Reset() { *m = NetworkPolicyPeer{} }
|
func (m *NetworkPolicyPeer) Reset() { *m = NetworkPolicyPeer{} }
|
||||||
func (*NetworkPolicyPeer) ProtoMessage() {}
|
func (*NetworkPolicyPeer) ProtoMessage() {}
|
||||||
func (*NetworkPolicyPeer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} }
|
func (*NetworkPolicyPeer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} }
|
||||||
|
|
||||||
func (m *NetworkPolicyPort) Reset() { *m = NetworkPolicyPort{} }
|
func (m *NetworkPolicyPort) Reset() { *m = NetworkPolicyPort{} }
|
||||||
func (*NetworkPolicyPort) ProtoMessage() {}
|
func (*NetworkPolicyPort) ProtoMessage() {}
|
||||||
func (*NetworkPolicyPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} }
|
func (*NetworkPolicyPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} }
|
||||||
|
|
||||||
func (m *NetworkPolicySpec) Reset() { *m = NetworkPolicySpec{} }
|
func (m *NetworkPolicySpec) Reset() { *m = NetworkPolicySpec{} }
|
||||||
func (*NetworkPolicySpec) ProtoMessage() {}
|
func (*NetworkPolicySpec) ProtoMessage() {}
|
||||||
func (*NetworkPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} }
|
func (*NetworkPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicy) Reset() { *m = PodSecurityPolicy{} }
|
func (m *PodSecurityPolicy) Reset() { *m = PodSecurityPolicy{} }
|
||||||
func (*PodSecurityPolicy) ProtoMessage() {}
|
func (*PodSecurityPolicy) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} }
|
func (*PodSecurityPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicyList) Reset() { *m = PodSecurityPolicyList{} }
|
func (m *PodSecurityPolicyList) Reset() { *m = PodSecurityPolicyList{} }
|
||||||
func (*PodSecurityPolicyList) ProtoMessage() {}
|
func (*PodSecurityPolicyList) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} }
|
func (*PodSecurityPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{41} }
|
||||||
|
|
||||||
func (m *PodSecurityPolicySpec) Reset() { *m = PodSecurityPolicySpec{} }
|
func (m *PodSecurityPolicySpec) Reset() { *m = PodSecurityPolicySpec{} }
|
||||||
func (*PodSecurityPolicySpec) ProtoMessage() {}
|
func (*PodSecurityPolicySpec) ProtoMessage() {}
|
||||||
func (*PodSecurityPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{41} }
|
func (*PodSecurityPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} }
|
||||||
|
|
||||||
func (m *ReplicaSet) Reset() { *m = ReplicaSet{} }
|
func (m *ReplicaSet) Reset() { *m = ReplicaSet{} }
|
||||||
func (*ReplicaSet) ProtoMessage() {}
|
func (*ReplicaSet) ProtoMessage() {}
|
||||||
func (*ReplicaSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} }
|
func (*ReplicaSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} }
|
||||||
|
|
||||||
func (m *ReplicaSetCondition) Reset() { *m = ReplicaSetCondition{} }
|
func (m *ReplicaSetCondition) Reset() { *m = ReplicaSetCondition{} }
|
||||||
func (*ReplicaSetCondition) ProtoMessage() {}
|
func (*ReplicaSetCondition) ProtoMessage() {}
|
||||||
func (*ReplicaSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} }
|
func (*ReplicaSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{44} }
|
||||||
|
|
||||||
func (m *ReplicaSetList) Reset() { *m = ReplicaSetList{} }
|
func (m *ReplicaSetList) Reset() { *m = ReplicaSetList{} }
|
||||||
func (*ReplicaSetList) ProtoMessage() {}
|
func (*ReplicaSetList) ProtoMessage() {}
|
||||||
func (*ReplicaSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{44} }
|
func (*ReplicaSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{45} }
|
||||||
|
|
||||||
func (m *ReplicaSetSpec) Reset() { *m = ReplicaSetSpec{} }
|
func (m *ReplicaSetSpec) Reset() { *m = ReplicaSetSpec{} }
|
||||||
func (*ReplicaSetSpec) ProtoMessage() {}
|
func (*ReplicaSetSpec) ProtoMessage() {}
|
||||||
func (*ReplicaSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{45} }
|
func (*ReplicaSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{46} }
|
||||||
|
|
||||||
func (m *ReplicaSetStatus) Reset() { *m = ReplicaSetStatus{} }
|
func (m *ReplicaSetStatus) Reset() { *m = ReplicaSetStatus{} }
|
||||||
func (*ReplicaSetStatus) ProtoMessage() {}
|
func (*ReplicaSetStatus) ProtoMessage() {}
|
||||||
func (*ReplicaSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{46} }
|
func (*ReplicaSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{47} }
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) Reset() { *m = ReplicationControllerDummy{} }
|
func (m *ReplicationControllerDummy) Reset() { *m = ReplicationControllerDummy{} }
|
||||||
func (*ReplicationControllerDummy) ProtoMessage() {}
|
func (*ReplicationControllerDummy) ProtoMessage() {}
|
||||||
func (*ReplicationControllerDummy) Descriptor() ([]byte, []int) {
|
func (*ReplicationControllerDummy) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{47}
|
return fileDescriptorGenerated, []int{48}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
|
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
|
||||||
func (*RollbackConfig) ProtoMessage() {}
|
func (*RollbackConfig) ProtoMessage() {}
|
||||||
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{48} }
|
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{49} }
|
||||||
|
|
||||||
func (m *RollingUpdateDaemonSet) Reset() { *m = RollingUpdateDaemonSet{} }
|
func (m *RollingUpdateDaemonSet) Reset() { *m = RollingUpdateDaemonSet{} }
|
||||||
func (*RollingUpdateDaemonSet) ProtoMessage() {}
|
func (*RollingUpdateDaemonSet) ProtoMessage() {}
|
||||||
func (*RollingUpdateDaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{49} }
|
func (*RollingUpdateDaemonSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{50} }
|
||||||
|
|
||||||
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
|
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
|
||||||
func (*RollingUpdateDeployment) ProtoMessage() {}
|
func (*RollingUpdateDeployment) ProtoMessage() {}
|
||||||
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
|
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{50}
|
return fileDescriptorGenerated, []int{51}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
||||||
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{51}
|
return fileDescriptorGenerated, []int{52}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
||||||
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
||||||
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{52} }
|
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} }
|
||||||
|
|
||||||
func (m *Scale) Reset() { *m = Scale{} }
|
func (m *Scale) Reset() { *m = Scale{} }
|
||||||
func (*Scale) ProtoMessage() {}
|
func (*Scale) ProtoMessage() {}
|
||||||
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} }
|
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{54} }
|
||||||
|
|
||||||
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
|
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
|
||||||
func (*ScaleSpec) ProtoMessage() {}
|
func (*ScaleSpec) ProtoMessage() {}
|
||||||
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{54} }
|
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{55} }
|
||||||
|
|
||||||
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
|
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
|
||||||
func (*ScaleStatus) ProtoMessage() {}
|
func (*ScaleStatus) ProtoMessage() {}
|
||||||
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{55} }
|
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{56} }
|
||||||
|
|
||||||
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
||||||
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
||||||
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptorGenerated, []int{56}
|
return fileDescriptorGenerated, []int{57}
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
proto.RegisterType((*AllowedFlexVolume)(nil), "k8s.io.api.extensions.v1beta1.AllowedFlexVolume")
|
||||||
proto.RegisterType((*AllowedHostPath)(nil), "k8s.io.api.extensions.v1beta1.AllowedHostPath")
|
proto.RegisterType((*AllowedHostPath)(nil), "k8s.io.api.extensions.v1beta1.AllowedHostPath")
|
||||||
proto.RegisterType((*CustomMetricCurrentStatus)(nil), "k8s.io.api.extensions.v1beta1.CustomMetricCurrentStatus")
|
proto.RegisterType((*CustomMetricCurrentStatus)(nil), "k8s.io.api.extensions.v1beta1.CustomMetricCurrentStatus")
|
||||||
proto.RegisterType((*CustomMetricCurrentStatusList)(nil), "k8s.io.api.extensions.v1beta1.CustomMetricCurrentStatusList")
|
proto.RegisterType((*CustomMetricCurrentStatusList)(nil), "k8s.io.api.extensions.v1beta1.CustomMetricCurrentStatusList")
|
||||||
@ -418,6 +424,28 @@ func init() {
|
|||||||
proto.RegisterType((*ScaleStatus)(nil), "k8s.io.api.extensions.v1beta1.ScaleStatus")
|
proto.RegisterType((*ScaleStatus)(nil), "k8s.io.api.extensions.v1beta1.ScaleStatus")
|
||||||
proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "k8s.io.api.extensions.v1beta1.SupplementalGroupsStrategyOptions")
|
proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "k8s.io.api.extensions.v1beta1.SupplementalGroupsStrategyOptions")
|
||||||
}
|
}
|
||||||
|
func (m *AllowedFlexVolume) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalTo(dAtA)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AllowedFlexVolume) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
var i int
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Driver)))
|
||||||
|
i += copy(dAtA[i:], m.Driver)
|
||||||
|
return i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *AllowedHostPath) Marshal() (dAtA []byte, err error) {
|
func (m *AllowedHostPath) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
@ -2207,6 +2235,20 @@ func (m *PodSecurityPolicySpec) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
i += n
|
i += n
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(m.AllowedFlexVolumes) > 0 {
|
||||||
|
for _, msg := range m.AllowedFlexVolumes {
|
||||||
|
dAtA[i] = 0x92
|
||||||
|
i++
|
||||||
|
dAtA[i] = 0x1
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
|
||||||
|
n, err := msg.MarshalTo(dAtA[i:])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i += n
|
||||||
|
}
|
||||||
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2763,6 +2805,14 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
|||||||
dAtA[offset] = uint8(v)
|
dAtA[offset] = uint8(v)
|
||||||
return offset + 1
|
return offset + 1
|
||||||
}
|
}
|
||||||
|
func (m *AllowedFlexVolume) Size() (n int) {
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.Driver)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func (m *AllowedHostPath) Size() (n int) {
|
func (m *AllowedHostPath) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
@ -3401,6 +3451,12 @@ func (m *PodSecurityPolicySpec) Size() (n int) {
|
|||||||
n += 2 + l + sovGenerated(uint64(l))
|
n += 2 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(m.AllowedFlexVolumes) > 0 {
|
||||||
|
for _, e := range m.AllowedFlexVolumes {
|
||||||
|
l = e.Size()
|
||||||
|
n += 2 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3605,6 +3661,16 @@ func sovGenerated(x uint64) (n int) {
|
|||||||
func sozGenerated(x uint64) (n int) {
|
func sozGenerated(x uint64) (n int) {
|
||||||
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||||
}
|
}
|
||||||
|
func (this *AllowedFlexVolume) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&AllowedFlexVolume{`,
|
||||||
|
`Driver:` + fmt.Sprintf("%v", this.Driver) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func (this *AllowedHostPath) String() string {
|
func (this *AllowedHostPath) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
@ -4122,6 +4188,7 @@ func (this *PodSecurityPolicySpec) String() string {
|
|||||||
`DefaultAllowPrivilegeEscalation:` + valueToStringGenerated(this.DefaultAllowPrivilegeEscalation) + `,`,
|
`DefaultAllowPrivilegeEscalation:` + valueToStringGenerated(this.DefaultAllowPrivilegeEscalation) + `,`,
|
||||||
`AllowPrivilegeEscalation:` + valueToStringGenerated(this.AllowPrivilegeEscalation) + `,`,
|
`AllowPrivilegeEscalation:` + valueToStringGenerated(this.AllowPrivilegeEscalation) + `,`,
|
||||||
`AllowedHostPaths:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedHostPaths), "AllowedHostPath", "AllowedHostPath", 1), `&`, ``, 1) + `,`,
|
`AllowedHostPaths:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedHostPaths), "AllowedHostPath", "AllowedHostPath", 1), `&`, ``, 1) + `,`,
|
||||||
|
`AllowedFlexVolumes:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedFlexVolumes), "AllowedFlexVolume", "AllowedFlexVolume", 1), `&`, ``, 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
@ -4316,6 +4383,85 @@ func valueToStringGenerated(v interface{}) string {
|
|||||||
pv := reflect.Indirect(rv).Interface()
|
pv := reflect.Indirect(rv).Interface()
|
||||||
return fmt.Sprintf("*%v", pv)
|
return fmt.Sprintf("*%v", pv)
|
||||||
}
|
}
|
||||||
|
func (m *AllowedFlexVolume) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: AllowedFlexVolume: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: AllowedFlexVolume: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= (uint64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Driver = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if skippy < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func (m *AllowedHostPath) Unmarshal(dAtA []byte) error {
|
func (m *AllowedHostPath) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
@ -10129,6 +10275,37 @@ func (m *PodSecurityPolicySpec) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 18:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field AllowedFlexVolumes", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= (int(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.AllowedFlexVolumes = append(m.AllowedFlexVolumes, AllowedFlexVolume{})
|
||||||
|
if err := m.AllowedFlexVolumes[len(m.AllowedFlexVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
@ -12108,226 +12285,229 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorGenerated = []byte{
|
var fileDescriptorGenerated = []byte{
|
||||||
// 3523 bytes of a gzipped FileDescriptorProto
|
// 3571 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1c, 0x47,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1c, 0x47,
|
||||||
0x76, 0x57, 0xcf, 0x0c, 0x39, 0xc3, 0x47, 0xf1, 0xab, 0x28, 0x93, 0x63, 0xca, 0xe2, 0xc8, 0x6d,
|
0x76, 0x57, 0xcf, 0x0c, 0x39, 0xc3, 0x47, 0xf1, 0xab, 0x28, 0x93, 0x63, 0xca, 0xe2, 0xc8, 0x6d,
|
||||||
0x40, 0x91, 0x1c, 0x69, 0xc6, 0x92, 0x2d, 0x59, 0xb1, 0x10, 0x3b, 0x1c, 0x52, 0x1f, 0x74, 0xf8,
|
0x40, 0x91, 0x1c, 0x69, 0xc6, 0x92, 0x2d, 0x59, 0xb1, 0x10, 0x3b, 0x1c, 0x52, 0x1f, 0x74, 0xf8,
|
||||||
0xa5, 0x1a, 0x52, 0x71, 0x8c, 0xc8, 0x71, 0x73, 0xa6, 0x38, 0x6c, 0xb1, 0xa7, 0xbb, 0xdd, 0x5d,
|
0xa5, 0x1a, 0x52, 0x71, 0x8c, 0xc8, 0x71, 0x73, 0xa6, 0x38, 0x6c, 0xb1, 0xa7, 0xbb, 0xdd, 0x5d,
|
||||||
0x4d, 0x73, 0x2e, 0x41, 0x0e, 0x41, 0x80, 0x00, 0x09, 0x92, 0x1c, 0x9c, 0x38, 0xb7, 0xf8, 0x92,
|
0x4d, 0x73, 0x80, 0x20, 0xc8, 0x21, 0x08, 0x10, 0x20, 0x41, 0x92, 0x83, 0xf3, 0x71, 0x8b, 0x2f,
|
||||||
0x53, 0x82, 0xe4, 0x96, 0x1c, 0x0c, 0x03, 0x01, 0x1c, 0x40, 0x08, 0xbc, 0x80, 0x6f, 0xeb, 0x13,
|
0x39, 0x25, 0x48, 0x6e, 0xc9, 0xc1, 0x30, 0x10, 0xc0, 0x0b, 0x08, 0x0b, 0x2f, 0xe0, 0xdb, 0xfa,
|
||||||
0xb1, 0xa6, 0x4f, 0x8b, 0xfd, 0x07, 0x16, 0x3a, 0x2c, 0x16, 0x55, 0x5d, 0xfd, 0xdd, 0xcd, 0x99,
|
0x44, 0xac, 0xe9, 0xd3, 0x62, 0xff, 0x81, 0x85, 0x0e, 0x8b, 0x45, 0x55, 0x57, 0x7f, 0x77, 0x73,
|
||||||
0xa1, 0x25, 0x62, 0xb1, 0xd8, 0x1b, 0xa7, 0xde, 0x7b, 0xbf, 0xf7, 0xea, 0xd5, 0xab, 0xf7, 0x5e,
|
0x66, 0x68, 0x89, 0x58, 0x2c, 0xf6, 0xc6, 0xa9, 0xf7, 0xde, 0xef, 0xbd, 0x7a, 0xf5, 0xea, 0xbd,
|
||||||
0x57, 0x15, 0xe1, 0xde, 0xde, 0x6d, 0xbb, 0xaa, 0x1a, 0xb5, 0x3d, 0x67, 0x9b, 0x58, 0x3a, 0xa1,
|
0xd7, 0x55, 0x45, 0xb8, 0xb7, 0x77, 0xdb, 0xae, 0xaa, 0x46, 0x6d, 0xcf, 0xd9, 0x26, 0x96, 0x4e,
|
||||||
0xc4, 0xae, 0xed, 0x13, 0xbd, 0x65, 0x58, 0x35, 0x41, 0x50, 0x4c, 0xb5, 0x46, 0x0e, 0x28, 0xd1,
|
0x28, 0xb1, 0x6b, 0xfb, 0x44, 0x6f, 0x19, 0x56, 0x4d, 0x10, 0x14, 0x53, 0xad, 0x91, 0x03, 0x4a,
|
||||||
0x6d, 0xd5, 0xd0, 0xed, 0xda, 0xfe, 0xf5, 0x6d, 0x42, 0x95, 0xeb, 0xb5, 0x36, 0xd1, 0x89, 0xa5,
|
0x74, 0x5b, 0x35, 0x74, 0xbb, 0xb6, 0x7f, 0x7d, 0x9b, 0x50, 0xe5, 0x7a, 0xad, 0x4d, 0x74, 0x62,
|
||||||
0x50, 0xd2, 0xaa, 0x9a, 0x96, 0x41, 0x0d, 0x74, 0xc1, 0x65, 0xaf, 0x2a, 0xa6, 0x5a, 0x0d, 0xd8,
|
0x29, 0x94, 0xb4, 0xaa, 0xa6, 0x65, 0x50, 0x03, 0x5d, 0x70, 0xd9, 0xab, 0x8a, 0xa9, 0x56, 0x03,
|
||||||
0xab, 0x82, 0x7d, 0xee, 0x5a, 0x5b, 0xa5, 0xbb, 0xce, 0x76, 0xb5, 0x69, 0x74, 0x6a, 0x6d, 0xa3,
|
0xf6, 0xaa, 0x60, 0x9f, 0xbb, 0xd6, 0x56, 0xe9, 0xae, 0xb3, 0x5d, 0x6d, 0x1a, 0x9d, 0x5a, 0xdb,
|
||||||
0x6d, 0xd4, 0xb8, 0xd4, 0xb6, 0xb3, 0xc3, 0x7f, 0xf1, 0x1f, 0xfc, 0x2f, 0x17, 0x6d, 0x4e, 0x0e,
|
0x68, 0x1b, 0x35, 0x2e, 0xb5, 0xed, 0xec, 0xf0, 0x5f, 0xfc, 0x07, 0xff, 0xcb, 0x45, 0x9b, 0x93,
|
||||||
0x29, 0x6f, 0x1a, 0x16, 0xa9, 0xed, 0x27, 0x34, 0xce, 0x5d, 0x09, 0xf1, 0x98, 0x86, 0xa6, 0x36,
|
0x43, 0xca, 0x9b, 0x86, 0x45, 0x6a, 0xfb, 0x09, 0x8d, 0x73, 0x57, 0x42, 0x3c, 0xa6, 0xa1, 0xa9,
|
||||||
0xbb, 0x59, 0xc6, 0xcd, 0xbd, 0x15, 0xb0, 0x76, 0x94, 0xe6, 0xae, 0xaa, 0x13, 0xab, 0x5b, 0x33,
|
0xcd, 0x6e, 0x96, 0x71, 0x73, 0x6f, 0x05, 0xac, 0x1d, 0xa5, 0xb9, 0xab, 0xea, 0xc4, 0xea, 0xd6,
|
||||||
0xf7, 0xda, 0x5c, 0xd6, 0x22, 0xb6, 0xe1, 0x58, 0x4d, 0x32, 0x90, 0x94, 0x5d, 0xeb, 0x10, 0xaa,
|
0xcc, 0xbd, 0x36, 0x97, 0xb5, 0x88, 0x6d, 0x38, 0x56, 0x93, 0x0c, 0x24, 0x65, 0xd7, 0x3a, 0x84,
|
||||||
0xa4, 0x99, 0x55, 0xcb, 0x92, 0xb2, 0x1c, 0x9d, 0xaa, 0x9d, 0xa4, 0x9a, 0x5b, 0xbd, 0x04, 0xec,
|
0x2a, 0x69, 0x66, 0xd5, 0xb2, 0xa4, 0x2c, 0x47, 0xa7, 0x6a, 0x27, 0xa9, 0xe6, 0x56, 0x2f, 0x01,
|
||||||
0xe6, 0x2e, 0xe9, 0x28, 0x09, 0xb9, 0x37, 0xb3, 0xe4, 0x1c, 0xaa, 0x6a, 0x35, 0x55, 0xa7, 0x36,
|
0xbb, 0xb9, 0x4b, 0x3a, 0x4a, 0x42, 0xee, 0xcd, 0x2c, 0x39, 0x87, 0xaa, 0x5a, 0x4d, 0xd5, 0xa9,
|
||||||
0xb5, 0xe2, 0x42, 0xf2, 0x5d, 0x98, 0x58, 0xd0, 0x34, 0xe3, 0x53, 0xd2, 0x7a, 0x60, 0xd8, 0x74,
|
0x4d, 0xad, 0xb8, 0x90, 0x7c, 0x07, 0xa6, 0x16, 0x34, 0xcd, 0xf8, 0x94, 0xb4, 0xee, 0x69, 0xe4,
|
||||||
0x43, 0xa1, 0xbb, 0xe8, 0x06, 0x80, 0xa9, 0xd0, 0xdd, 0x0d, 0x8b, 0xec, 0xa8, 0x07, 0x65, 0xe9,
|
0xe0, 0x91, 0xa1, 0x39, 0x1d, 0x82, 0x2e, 0xc1, 0x70, 0xcb, 0x52, 0xf7, 0x89, 0x55, 0x96, 0x2e,
|
||||||
0xa2, 0x74, 0x79, 0xa4, 0x8e, 0x9e, 0x1e, 0x56, 0xce, 0x1c, 0x1d, 0x56, 0x60, 0xc3, 0xa7, 0xe0,
|
0x4a, 0x97, 0x47, 0xea, 0xe3, 0x4f, 0x0f, 0x2b, 0x67, 0x8e, 0x0e, 0x2b, 0xc3, 0x4b, 0x7c, 0x14,
|
||||||
0x10, 0x97, 0xfc, 0x2f, 0x12, 0xbc, 0xbc, 0xe8, 0xd8, 0xd4, 0xe8, 0xac, 0x12, 0x6a, 0xa9, 0xcd,
|
0x0b, 0xaa, 0x7c, 0x17, 0x26, 0x84, 0xf0, 0x03, 0xc3, 0xa6, 0x1b, 0x0a, 0xdd, 0x45, 0x37, 0x00,
|
||||||
0x45, 0xc7, 0xb2, 0x88, 0x4e, 0x1b, 0x54, 0xa1, 0x8e, 0x8d, 0x2e, 0x42, 0x41, 0x57, 0x3a, 0x44,
|
0x4c, 0x85, 0xee, 0x6e, 0x58, 0x64, 0x47, 0x3d, 0x10, 0xe2, 0x48, 0x88, 0xc3, 0x86, 0x4f, 0xc1,
|
||||||
0x60, 0x9d, 0x15, 0x58, 0x85, 0x35, 0xa5, 0x43, 0x30, 0xa7, 0xa0, 0x0f, 0x61, 0x68, 0x5f, 0xd1,
|
0x21, 0x2e, 0xf9, 0xdf, 0x24, 0x78, 0x79, 0xd1, 0xb1, 0xa9, 0xd1, 0x59, 0x25, 0xd4, 0x52, 0x9b,
|
||||||
0x1c, 0x52, 0xce, 0x5d, 0x94, 0x2e, 0x8f, 0xde, 0xa8, 0x56, 0x83, 0xe8, 0xf1, 0xe7, 0x52, 0x35,
|
0x8b, 0x8e, 0x65, 0x11, 0x9d, 0x36, 0xa8, 0x42, 0x1d, 0x1b, 0x5d, 0x84, 0x82, 0xae, 0x74, 0x88,
|
||||||
0xf7, 0xda, 0x3c, 0x9c, 0xbc, 0x05, 0xaa, 0x3e, 0x74, 0x14, 0x9d, 0xaa, 0xb4, 0x5b, 0x3f, 0x27,
|
0xc0, 0x3a, 0x2b, 0xb0, 0x0a, 0x6b, 0x4a, 0x87, 0x60, 0x4e, 0x41, 0x1f, 0xc2, 0xd0, 0xbe, 0xa2,
|
||||||
0x20, 0xcf, 0x0a, 0xbd, 0x8f, 0x18, 0x16, 0x76, 0x21, 0xe5, 0xbf, 0x80, 0x0b, 0x99, 0xa6, 0xad,
|
0x39, 0xa4, 0x9c, 0xbb, 0x28, 0x5d, 0x1e, 0xbd, 0x51, 0xad, 0x06, 0xa1, 0xe7, 0x3b, 0xa2, 0x6a,
|
||||||
0xa8, 0x36, 0x45, 0x8f, 0x61, 0x48, 0xa5, 0xa4, 0x63, 0x97, 0xa5, 0x8b, 0xf9, 0xcb, 0xa3, 0x37,
|
0xee, 0xb5, 0x79, 0x2c, 0x7a, 0xab, 0x5b, 0x7d, 0xe8, 0x28, 0x3a, 0x55, 0x69, 0xb7, 0x7e, 0x4e,
|
||||||
0x6e, 0x57, 0x8f, 0x0d, 0xdd, 0x6a, 0x26, 0x58, 0x7d, 0x4c, 0x98, 0x31, 0xb4, 0xcc, 0xe0, 0xb0,
|
0x40, 0x9e, 0x15, 0x7a, 0x1f, 0x31, 0x2c, 0xec, 0x42, 0xca, 0x7f, 0x09, 0x17, 0x32, 0x4d, 0x5b,
|
||||||
0x8b, 0x2a, 0xff, 0xa3, 0x04, 0x28, 0x2c, 0xb3, 0xa9, 0x58, 0x6d, 0x42, 0xfb, 0x70, 0xca, 0x9f,
|
0x51, 0x6d, 0x8a, 0x1e, 0xc3, 0x90, 0x4a, 0x49, 0xc7, 0x2e, 0x4b, 0x17, 0xf3, 0x97, 0x47, 0x6f,
|
||||||
0xfe, 0x38, 0xa7, 0x4c, 0x0b, 0xc8, 0x51, 0x57, 0x61, 0xc4, 0x27, 0x26, 0xcc, 0x24, 0x4d, 0xe2,
|
0xdc, 0xae, 0x1e, 0x1b, 0xf7, 0xd5, 0x4c, 0xb0, 0xfa, 0x98, 0x30, 0x63, 0x68, 0x99, 0xc1, 0x61,
|
||||||
0xce, 0x78, 0x14, 0x75, 0xc6, 0xf5, 0x01, 0x9c, 0xe1, 0xa2, 0x64, 0x78, 0xe1, 0xb3, 0x1c, 0x8c,
|
0x17, 0x55, 0xfe, 0x27, 0x09, 0x50, 0x58, 0x66, 0x53, 0xb1, 0xda, 0x84, 0xf6, 0xe1, 0x94, 0x3f,
|
||||||
0x2c, 0x29, 0xa4, 0x63, 0xe8, 0x0d, 0x42, 0xd1, 0xc7, 0x50, 0x62, 0xfb, 0xa5, 0xa5, 0x50, 0x85,
|
0xfd, 0x61, 0x4e, 0x99, 0x16, 0x90, 0xa3, 0xae, 0xc2, 0x88, 0x4f, 0x4c, 0x98, 0x49, 0x9a, 0xc4,
|
||||||
0x3b, 0x60, 0xf4, 0xc6, 0x1b, 0xc7, 0xcd, 0xce, 0xae, 0x32, 0xee, 0xea, 0xfe, 0xf5, 0xea, 0xfa,
|
0x9d, 0xf1, 0x28, 0xea, 0x8c, 0xeb, 0x03, 0x38, 0xc3, 0x45, 0xc9, 0xf0, 0xc2, 0x67, 0x39, 0x18,
|
||||||
0xf6, 0x13, 0xd2, 0xa4, 0xab, 0x84, 0x2a, 0x41, 0x4c, 0x06, 0x63, 0xd8, 0x47, 0x45, 0x6b, 0x50,
|
0x59, 0x52, 0x48, 0xc7, 0xd0, 0x1b, 0x84, 0xa2, 0x8f, 0xa1, 0xc4, 0x36, 0x5b, 0x4b, 0xa1, 0x0a,
|
||||||
0xb0, 0x4d, 0xd2, 0x14, 0xbe, 0xbb, 0xda, 0x63, 0x1a, 0xbe, 0x65, 0x0d, 0x93, 0x34, 0x83, 0xc5,
|
0x77, 0xc0, 0xe8, 0x8d, 0x37, 0x8e, 0x9b, 0x9d, 0x5d, 0x65, 0xdc, 0xd5, 0xfd, 0xeb, 0xd5, 0xf5,
|
||||||
0x60, 0xbf, 0x30, 0xc7, 0x41, 0x8f, 0x60, 0xd8, 0xe6, 0xab, 0x5c, 0xce, 0x27, 0x56, 0xe3, 0x78,
|
0xed, 0x27, 0xa4, 0x49, 0x57, 0x09, 0x55, 0x82, 0x98, 0x0c, 0xc6, 0xb0, 0x8f, 0x8a, 0xd6, 0xa0,
|
||||||
0x44, 0x37, 0x36, 0xc6, 0x05, 0xe6, 0xb0, 0xfb, 0x1b, 0x0b, 0x34, 0xf9, 0xe7, 0x39, 0x40, 0x3e,
|
0x60, 0x9b, 0xa4, 0x29, 0x7c, 0x77, 0xb5, 0xc7, 0x34, 0x7c, 0xcb, 0x1a, 0x26, 0x69, 0x06, 0x8b,
|
||||||
0xef, 0xa2, 0xa1, 0xb7, 0x54, 0xaa, 0x1a, 0x3a, 0x7a, 0x07, 0x0a, 0xb4, 0x6b, 0x7a, 0xd1, 0x71,
|
0xc1, 0x7e, 0x61, 0x8e, 0x83, 0x1e, 0xc1, 0xb0, 0xcd, 0x57, 0xb9, 0x9c, 0x4f, 0xac, 0xc6, 0xf1,
|
||||||
0xc9, 0x33, 0x68, 0xb3, 0x6b, 0x92, 0x67, 0x87, 0x95, 0x99, 0xa4, 0x04, 0xa3, 0x60, 0x2e, 0x83,
|
0x88, 0x6e, 0x6c, 0xf8, 0x1b, 0xd0, 0xfd, 0x8d, 0x05, 0x9a, 0xfc, 0xf3, 0x1c, 0x20, 0x9f, 0x77,
|
||||||
0x56, 0x7c, 0x53, 0x73, 0x5c, 0xfa, 0xad, 0xa8, 0xea, 0x67, 0x87, 0x95, 0x94, 0x74, 0x5a, 0xf5,
|
0xd1, 0xd0, 0x5b, 0x2a, 0x55, 0x0d, 0x1d, 0xbd, 0x03, 0x05, 0xda, 0x35, 0xbd, 0xe8, 0xb8, 0xe4,
|
||||||
0x91, 0xa2, 0x06, 0xa2, 0x7d, 0x40, 0x9a, 0x62, 0xd3, 0x4d, 0x4b, 0xd1, 0x6d, 0x57, 0x93, 0xda,
|
0x19, 0xb4, 0xd9, 0x35, 0xc9, 0xb3, 0xc3, 0xca, 0x4c, 0x52, 0x82, 0x51, 0x30, 0x97, 0x41, 0x2b,
|
||||||
0x21, 0xc2, 0x09, 0xaf, 0xf7, 0xb7, 0x68, 0x4c, 0xa2, 0x3e, 0x27, 0xac, 0x40, 0x2b, 0x09, 0x34,
|
0xbe, 0xa9, 0x39, 0x2e, 0xfd, 0x56, 0x54, 0xf5, 0xb3, 0xc3, 0x4a, 0x4a, 0x2e, 0xae, 0xfa, 0x48,
|
||||||
0x9c, 0xa2, 0x01, 0x5d, 0x82, 0x61, 0x8b, 0x28, 0xb6, 0xa1, 0x97, 0x0b, 0x7c, 0x16, 0xbe, 0x03,
|
0x51, 0x03, 0xd1, 0x3e, 0x20, 0x4d, 0xb1, 0xe9, 0xa6, 0xa5, 0xe8, 0xb6, 0xab, 0x49, 0xed, 0x10,
|
||||||
0x31, 0x1f, 0xc5, 0x82, 0x8a, 0xae, 0x40, 0xb1, 0x43, 0x6c, 0x5b, 0x69, 0x93, 0xf2, 0x10, 0x67,
|
0xe1, 0x84, 0xd7, 0xfb, 0x5b, 0x34, 0x26, 0x51, 0x9f, 0x13, 0x56, 0xa0, 0x95, 0x04, 0x1a, 0x4e,
|
||||||
0x9c, 0x10, 0x8c, 0xc5, 0x55, 0x77, 0x18, 0x7b, 0x74, 0xf9, 0x4b, 0x09, 0xc6, 0x7c, 0xcf, 0xf1,
|
0xd1, 0xc0, 0x32, 0x98, 0x45, 0x14, 0xdb, 0xd0, 0xcb, 0x85, 0x68, 0x06, 0xc3, 0x7c, 0x14, 0x0b,
|
||||||
0x68, 0xff, 0xb3, 0x44, 0x1c, 0x56, 0xfb, 0x9b, 0x12, 0x93, 0xe6, 0x51, 0x38, 0x29, 0xb4, 0x95,
|
0x2a, 0xba, 0x02, 0xc5, 0x0e, 0xb1, 0x6d, 0xa5, 0x4d, 0xca, 0x43, 0x9c, 0x71, 0x42, 0x30, 0x16,
|
||||||
0xbc, 0x91, 0x50, 0x0c, 0xae, 0x7a, 0x7b, 0x29, 0xc7, 0xf7, 0xd2, 0xe5, 0x7e, 0x43, 0x26, 0x63,
|
0x57, 0xdd, 0x61, 0xec, 0xd1, 0xe5, 0x2f, 0x24, 0x18, 0xf3, 0x3d, 0xc7, 0xa3, 0xfd, 0xcf, 0x12,
|
||||||
0x0b, 0xfd, 0x53, 0x21, 0x64, 0x3e, 0x0b, 0x4d, 0xf4, 0x18, 0x4a, 0x36, 0xd1, 0x48, 0x93, 0x1a,
|
0x71, 0x58, 0xed, 0x6f, 0x4a, 0x4c, 0x9a, 0x47, 0xe1, 0xa4, 0xd0, 0x56, 0xf2, 0x46, 0x42, 0x31,
|
||||||
0x96, 0x30, 0xff, 0xcd, 0x3e, 0xcd, 0x57, 0xb6, 0x89, 0xd6, 0x10, 0xa2, 0xf5, 0xb3, 0xcc, 0x7e,
|
0xb8, 0xea, 0xed, 0xa5, 0x1c, 0xdf, 0x4b, 0x97, 0xfb, 0x0d, 0x99, 0x8c, 0x2d, 0xf4, 0xcf, 0x85,
|
||||||
0xef, 0x17, 0xf6, 0x21, 0xd1, 0x43, 0x28, 0x51, 0xd2, 0x31, 0x35, 0x85, 0x7a, 0x39, 0xe8, 0xb5,
|
0x90, 0xf9, 0x2c, 0x34, 0xd1, 0x63, 0x28, 0xd9, 0x44, 0x23, 0x4d, 0x6a, 0x58, 0xc2, 0xfc, 0x37,
|
||||||
0xf0, 0x14, 0x58, 0xe4, 0x30, 0xb0, 0x0d, 0xa3, 0xb5, 0x29, 0xd8, 0xf8, 0xf6, 0xf1, 0x5d, 0xe2,
|
0xfb, 0x34, 0x5f, 0xd9, 0x26, 0x5a, 0x43, 0x88, 0xd6, 0xcf, 0x32, 0xfb, 0xbd, 0x5f, 0xd8, 0x87,
|
||||||
0x8d, 0x62, 0x1f, 0x06, 0xed, 0xc3, 0xb8, 0x63, 0xb6, 0x18, 0x27, 0x65, 0x65, 0xa8, 0xdd, 0x15,
|
0x44, 0x0f, 0xa1, 0x44, 0x49, 0xc7, 0xd4, 0x14, 0xea, 0xe5, 0xa0, 0xd7, 0xc2, 0x53, 0x60, 0x91,
|
||||||
0x91, 0x74, 0xab, 0x5f, 0xdf, 0x6c, 0x45, 0xa4, 0xeb, 0x33, 0x42, 0xd7, 0x78, 0x74, 0x1c, 0xc7,
|
0xc3, 0xc0, 0x36, 0x8c, 0xd6, 0xa6, 0x60, 0xe3, 0xdb, 0xc7, 0x77, 0x89, 0x37, 0x8a, 0x7d, 0x18,
|
||||||
0xb4, 0xa0, 0x05, 0x98, 0xe8, 0xa8, 0x3a, 0x26, 0x4a, 0xab, 0xdb, 0x20, 0x4d, 0x43, 0x6f, 0xd9,
|
0xb4, 0x0f, 0xe3, 0x8e, 0xd9, 0x62, 0x9c, 0x94, 0xd5, 0xb0, 0x76, 0x57, 0x44, 0xd2, 0xad, 0x7e,
|
||||||
0x3c, 0xac, 0x86, 0xea, 0xb3, 0x02, 0x60, 0x62, 0x35, 0x4a, 0xc6, 0x71, 0x7e, 0xf4, 0x3e, 0x20,
|
0x7d, 0xb3, 0x15, 0x91, 0xae, 0xcf, 0x08, 0x5d, 0xe3, 0xd1, 0x71, 0x1c, 0xd3, 0x82, 0x16, 0x60,
|
||||||
0x6f, 0x1a, 0xf7, 0xdd, 0x2a, 0xaa, 0x1a, 0x3a, 0x8f, 0xb9, 0x7c, 0x10, 0xdc, 0x9b, 0x09, 0x0e,
|
0xa2, 0xa3, 0xea, 0x98, 0x28, 0xad, 0x6e, 0x83, 0x34, 0x0d, 0xbd, 0x65, 0xf3, 0xb0, 0x1a, 0xaa,
|
||||||
0x9c, 0x22, 0x85, 0x56, 0xe0, 0x9c, 0x45, 0xf6, 0x55, 0x36, 0xc7, 0x07, 0xaa, 0x4d, 0x0d, 0xab,
|
0xcf, 0x0a, 0x80, 0x89, 0xd5, 0x28, 0x19, 0xc7, 0xf9, 0xd1, 0xfb, 0x80, 0xbc, 0x69, 0xdc, 0x77,
|
||||||
0xbb, 0xa2, 0x76, 0x54, 0x5a, 0x1e, 0xe6, 0x36, 0x95, 0x8f, 0x0e, 0x2b, 0xe7, 0x70, 0x0a, 0x1d,
|
0x4b, 0xb0, 0x6a, 0xe8, 0x3c, 0xe6, 0xf2, 0x41, 0x70, 0x6f, 0x26, 0x38, 0x70, 0x8a, 0x14, 0x5a,
|
||||||
0xa7, 0x4a, 0xc9, 0xff, 0x3c, 0x0c, 0x13, 0xb1, 0x7c, 0x83, 0x1e, 0xc1, 0x4c, 0xd3, 0x2d, 0x4e,
|
0x81, 0x73, 0x16, 0xd9, 0x57, 0xd9, 0x1c, 0x1f, 0xa8, 0x36, 0x35, 0xac, 0xee, 0x8a, 0xda, 0x51,
|
||||||
0x6b, 0x4e, 0x67, 0x9b, 0x58, 0x8d, 0xe6, 0x2e, 0x69, 0x39, 0x1a, 0x69, 0xf1, 0x40, 0x19, 0xaa,
|
0x69, 0x79, 0x98, 0xdb, 0x54, 0x3e, 0x3a, 0xac, 0x9c, 0xc3, 0x29, 0x74, 0x9c, 0x2a, 0x25, 0xff,
|
||||||
0xcf, 0x0b, 0x8b, 0x67, 0x16, 0x53, 0xb9, 0x70, 0x86, 0x34, 0xf3, 0x82, 0xce, 0x87, 0x56, 0x55,
|
0xcb, 0x30, 0x4c, 0xc4, 0xf2, 0x0d, 0x7a, 0x04, 0x33, 0x4d, 0xb7, 0x38, 0xad, 0x39, 0x9d, 0x6d,
|
||||||
0xdb, 0xf6, 0x31, 0x73, 0x1c, 0xd3, 0xf7, 0xc2, 0x5a, 0x82, 0x03, 0xa7, 0x48, 0x31, 0x1b, 0x5b,
|
0x62, 0x35, 0x9a, 0xbb, 0xa4, 0xe5, 0x68, 0xa4, 0xc5, 0x03, 0x65, 0xa8, 0x3e, 0x2f, 0x2c, 0x9e,
|
||||||
0xc4, 0x56, 0x2d, 0xd2, 0x8a, 0xdb, 0x98, 0x8f, 0xda, 0xb8, 0x94, 0xca, 0x85, 0x33, 0xa4, 0xd1,
|
0x59, 0x4c, 0xe5, 0xc2, 0x19, 0xd2, 0xcc, 0x0b, 0x3a, 0x1f, 0x5a, 0x55, 0x6d, 0xdb, 0xc7, 0xcc,
|
||||||
0x4d, 0x18, 0x75, 0xb5, 0xf1, 0xf5, 0x13, 0x0b, 0xed, 0x97, 0xc3, 0xb5, 0x80, 0x84, 0xc3, 0x7c,
|
0x71, 0x4c, 0xdf, 0x0b, 0x6b, 0x09, 0x0e, 0x9c, 0x22, 0xc5, 0x6c, 0x6c, 0x11, 0x5b, 0xb5, 0x48,
|
||||||
0x6c, 0x6a, 0xc6, 0xb6, 0x4d, 0xac, 0x7d, 0xd2, 0xca, 0x5e, 0xe0, 0xf5, 0x04, 0x07, 0x4e, 0x91,
|
0x2b, 0x6e, 0x63, 0x3e, 0x6a, 0xe3, 0x52, 0x2a, 0x17, 0xce, 0x90, 0x46, 0x37, 0x61, 0xd4, 0xd5,
|
||||||
0x62, 0x53, 0x73, 0x23, 0x30, 0x31, 0xb5, 0xe1, 0xe8, 0xd4, 0xb6, 0x52, 0xb9, 0x70, 0x86, 0x34,
|
0xc6, 0xd7, 0x4f, 0x2c, 0xb4, 0x5f, 0x0e, 0xd7, 0x02, 0x12, 0x0e, 0xf3, 0xb1, 0xa9, 0x19, 0xdb,
|
||||||
0x8b, 0x63, 0xd7, 0xe4, 0x85, 0x7d, 0x45, 0xd5, 0x94, 0x6d, 0x8d, 0x94, 0x8b, 0xd1, 0x38, 0x5e,
|
0x36, 0xb1, 0xf6, 0x49, 0x2b, 0x7b, 0x81, 0xd7, 0x13, 0x1c, 0x38, 0x45, 0x8a, 0x4d, 0xcd, 0x8d,
|
||||||
0x8b, 0x92, 0x71, 0x9c, 0x1f, 0xdd, 0x87, 0x29, 0x77, 0x68, 0x4b, 0x57, 0x7c, 0x90, 0x12, 0x07,
|
0xc0, 0xc4, 0xd4, 0x86, 0xa3, 0x53, 0xdb, 0x4a, 0xe5, 0xc2, 0x19, 0xd2, 0x2c, 0x8e, 0x5d, 0x93,
|
||||||
0x79, 0x59, 0x80, 0x4c, 0xad, 0xc5, 0x19, 0x70, 0x52, 0x06, 0xbd, 0x03, 0xe3, 0x4d, 0x43, 0xd3,
|
0x17, 0xf6, 0x15, 0x55, 0x53, 0xb6, 0x35, 0x52, 0x2e, 0x46, 0xe3, 0x78, 0x2d, 0x4a, 0xc6, 0x71,
|
||||||
0x78, 0x3c, 0x2e, 0x1a, 0x8e, 0x4e, 0xcb, 0x23, 0x1c, 0x05, 0xb1, 0xfd, 0xb8, 0x18, 0xa1, 0xe0,
|
0x7e, 0x74, 0x1f, 0xa6, 0xdc, 0xa1, 0x2d, 0x5d, 0xf1, 0x41, 0x4a, 0x1c, 0xe4, 0x65, 0x01, 0x32,
|
||||||
0x18, 0x27, 0x22, 0x00, 0x4d, 0xaf, 0xe0, 0xd8, 0x65, 0xe8, 0xab, 0xd7, 0x48, 0x16, 0xbd, 0xa0,
|
0xb5, 0x16, 0x67, 0xc0, 0x49, 0x19, 0xf4, 0x0e, 0x8c, 0x37, 0x0d, 0x4d, 0xe3, 0xf1, 0xb8, 0x68,
|
||||||
0x07, 0xf0, 0x87, 0x6c, 0x1c, 0x02, 0x96, 0xff, 0x5f, 0x82, 0xd9, 0x8c, 0xd4, 0x81, 0xde, 0x8b,
|
0x38, 0x3a, 0x2d, 0x8f, 0x70, 0x14, 0xc4, 0xf6, 0xe3, 0x62, 0x84, 0x82, 0x63, 0x9c, 0x88, 0x00,
|
||||||
0x94, 0xd8, 0xdf, 0x8f, 0x95, 0xd8, 0xf3, 0x19, 0x62, 0xa1, 0x3a, 0xab, 0xc3, 0x98, 0xc5, 0x66,
|
0x34, 0xbd, 0x82, 0x63, 0x97, 0xa1, 0xaf, 0x5e, 0x23, 0x59, 0xf4, 0x82, 0x1e, 0xc0, 0x1f, 0xb2,
|
||||||
0xa5, 0xb7, 0x5d, 0x16, 0x91, 0x23, 0x6f, 0xf6, 0x98, 0x06, 0x0e, 0xcb, 0x04, 0x39, 0x7f, 0xea,
|
0x71, 0x08, 0x58, 0xfe, 0xb1, 0x04, 0xb3, 0x19, 0xa9, 0x03, 0xbd, 0x17, 0x29, 0xb1, 0xbf, 0x1f,
|
||||||
0xe8, 0xb0, 0x32, 0x16, 0xa1, 0xe1, 0x28, 0xbc, 0xfc, 0x79, 0x0e, 0x60, 0x89, 0x98, 0x9a, 0xd1,
|
0x2b, 0xb1, 0xe7, 0x33, 0xc4, 0x42, 0x75, 0x56, 0x87, 0x31, 0x8b, 0xcd, 0x4a, 0x6f, 0xbb, 0x2c,
|
||||||
0xed, 0x10, 0xfd, 0x34, 0x7a, 0xa8, 0xf5, 0x48, 0x0f, 0x75, 0xad, 0xd7, 0xf2, 0xf8, 0xa6, 0x65,
|
0x22, 0x47, 0xde, 0xec, 0x31, 0x0d, 0x1c, 0x96, 0x09, 0x72, 0xfe, 0xd4, 0xd1, 0x61, 0x65, 0x2c,
|
||||||
0x36, 0x51, 0x7f, 0x12, 0x6b, 0xa2, 0x6a, 0xfd, 0x43, 0x1e, 0xdf, 0x45, 0xfd, 0x34, 0x0f, 0xd3,
|
0x42, 0xc3, 0x51, 0x78, 0xf9, 0x5f, 0x73, 0x00, 0x4b, 0xc4, 0xd4, 0x8c, 0x6e, 0x87, 0xe8, 0xa7,
|
||||||
0x01, 0x73, 0xd0, 0x46, 0xdd, 0x89, 0xac, 0xf1, 0xef, 0xc5, 0xd6, 0x78, 0x36, 0x45, 0xe4, 0x85,
|
0xd1, 0x43, 0xad, 0x47, 0x7a, 0xa8, 0x6b, 0xbd, 0x96, 0xc7, 0x37, 0x2d, 0xb3, 0x89, 0xfa, 0x93,
|
||||||
0xf5, 0x51, 0xcf, 0xbf, 0x9f, 0x41, 0x4f, 0x60, 0x9c, 0x35, 0x4e, 0x6e, 0x78, 0xf0, 0xb6, 0x6c,
|
0x58, 0x13, 0x55, 0xeb, 0x1f, 0xf2, 0xf8, 0x2e, 0xea, 0xa7, 0x79, 0x98, 0x0e, 0x98, 0x83, 0x36,
|
||||||
0x78, 0xe0, 0xb6, 0xcc, 0x2f, 0xa0, 0x2b, 0x11, 0x24, 0x1c, 0x43, 0xce, 0x68, 0x03, 0x8b, 0x2f,
|
0xea, 0x4e, 0x64, 0x8d, 0x7f, 0x2f, 0xb6, 0xc6, 0xb3, 0x29, 0x22, 0x2f, 0xac, 0x8f, 0x7a, 0xfe,
|
||||||
0xba, 0x0d, 0x94, 0xbf, 0x92, 0x60, 0x3c, 0x58, 0xa6, 0x53, 0x68, 0xda, 0xd6, 0xa2, 0x4d, 0xdb,
|
0xfd, 0x0c, 0x7a, 0x02, 0xe3, 0xac, 0x71, 0x72, 0xc3, 0x83, 0xb7, 0x65, 0xc3, 0x03, 0xb7, 0x65,
|
||||||
0x95, 0xbe, 0x43, 0x34, 0xa3, 0x6b, 0xfb, 0x25, 0x6b, 0xf0, 0x7d, 0x26, 0xb6, 0xc1, 0xb7, 0x95,
|
0x7e, 0x01, 0x5d, 0x89, 0x20, 0xe1, 0x18, 0x72, 0x46, 0x1b, 0x58, 0x7c, 0xd1, 0x6d, 0xa0, 0xfc,
|
||||||
0xe6, 0x5e, 0x1f, 0x9f, 0x7f, 0x9f, 0x49, 0x80, 0x44, 0x15, 0x58, 0xd0, 0x75, 0x83, 0x2a, 0x6e,
|
0xa5, 0x04, 0xe3, 0xc1, 0x32, 0x9d, 0x42, 0xd3, 0xb6, 0x16, 0x6d, 0xda, 0xae, 0xf4, 0x1d, 0xa2,
|
||||||
0xae, 0x74, 0xcd, 0x5a, 0xee, 0xdb, 0x2c, 0x4f, 0x63, 0x75, 0x2b, 0x81, 0x75, 0x57, 0xa7, 0x56,
|
0x19, 0x5d, 0xdb, 0x2f, 0x59, 0x83, 0xef, 0x33, 0xb1, 0x0d, 0xbe, 0xad, 0x34, 0xf7, 0xfa, 0xf8,
|
||||||
0x37, 0x58, 0x91, 0x24, 0x03, 0x4e, 0x31, 0x00, 0x29, 0x00, 0x96, 0xc0, 0xdc, 0x34, 0xc4, 0x46,
|
0xfc, 0xfb, 0x4c, 0x02, 0x24, 0xaa, 0xc0, 0x82, 0xae, 0x1b, 0x54, 0x71, 0x73, 0xa5, 0x6b, 0xd6,
|
||||||
0xbe, 0xd6, 0x47, 0xce, 0x63, 0x02, 0x8b, 0x86, 0xbe, 0xa3, 0xb6, 0x83, 0xb4, 0x83, 0x7d, 0x20,
|
0x72, 0xdf, 0x66, 0x79, 0x1a, 0xab, 0x5b, 0x09, 0xac, 0xbb, 0x3a, 0xb5, 0xba, 0xc1, 0x8a, 0x24,
|
||||||
0x1c, 0x02, 0x9d, 0xbb, 0x0b, 0xb3, 0x19, 0xd6, 0xa2, 0x49, 0xc8, 0xef, 0x91, 0xae, 0xeb, 0x36,
|
0x19, 0x70, 0x8a, 0x01, 0x48, 0x01, 0xb0, 0x04, 0xe6, 0xa6, 0x21, 0x36, 0xf2, 0xb5, 0x3e, 0x72,
|
||||||
0xcc, 0xfe, 0x44, 0xe7, 0xc2, 0x9f, 0xc9, 0x23, 0xe2, 0x0b, 0xf7, 0x9d, 0xdc, 0x6d, 0x49, 0xfe,
|
0x1e, 0x13, 0x58, 0x34, 0xf4, 0x1d, 0xb5, 0x1d, 0xa4, 0x1d, 0xec, 0x03, 0xe1, 0x10, 0xe8, 0xdc,
|
||||||
0x72, 0x28, 0x1c, 0x3b, 0xbc, 0x63, 0xbe, 0x0c, 0x25, 0x8b, 0x98, 0x9a, 0xda, 0x54, 0x6c, 0xd1,
|
0x5d, 0x98, 0xcd, 0xb0, 0x16, 0x4d, 0x42, 0x7e, 0x8f, 0x74, 0x5d, 0xb7, 0x61, 0xf6, 0x27, 0x3a,
|
||||||
0x08, 0xf1, 0xe6, 0x17, 0x8b, 0x31, 0xec, 0x53, 0x23, 0xbd, 0x75, 0xee, 0xc5, 0xf6, 0xd6, 0xf9,
|
0x17, 0xfe, 0x4c, 0x1e, 0x11, 0x5f, 0xb8, 0xef, 0xe4, 0x6e, 0x4b, 0xf2, 0x17, 0x43, 0xe1, 0xd8,
|
||||||
0xe7, 0xd3, 0x5b, 0xff, 0x39, 0x94, 0x6c, 0xaf, 0xab, 0x2e, 0x70, 0xc8, 0xeb, 0x03, 0xe4, 0x57,
|
0xe1, 0x1d, 0xf3, 0x65, 0x28, 0x59, 0xc4, 0xd4, 0xd4, 0xa6, 0x62, 0x8b, 0x46, 0x88, 0x37, 0xbf,
|
||||||
0xd1, 0x50, 0xfb, 0x0a, 0xfc, 0x56, 0xda, 0x07, 0x4d, 0x6b, 0xa2, 0x87, 0x06, 0x6c, 0xa2, 0x9f,
|
0x58, 0x8c, 0x61, 0x9f, 0x1a, 0xe9, 0xad, 0x73, 0x2f, 0xb6, 0xb7, 0xce, 0x3f, 0x9f, 0xde, 0xfa,
|
||||||
0x6b, 0xe3, 0xcb, 0x72, 0xaa, 0xa9, 0x38, 0x36, 0x69, 0xf1, 0x44, 0x54, 0x0a, 0x72, 0xea, 0x06,
|
0xcf, 0xa1, 0x64, 0x7b, 0x5d, 0x75, 0x81, 0x43, 0x5e, 0x1f, 0x20, 0xbf, 0x8a, 0x86, 0xda, 0x57,
|
||||||
0x1f, 0xc5, 0x82, 0x8a, 0x1e, 0x47, 0x42, 0xb6, 0x74, 0x92, 0x90, 0x1d, 0xcf, 0x0e, 0x57, 0xb4,
|
0xe0, 0xb7, 0xd2, 0x3e, 0x68, 0x5a, 0x13, 0x3d, 0x34, 0x60, 0x13, 0xfd, 0x5c, 0x1b, 0x5f, 0x96,
|
||||||
0x05, 0xb3, 0xa6, 0x65, 0xb4, 0x2d, 0x62, 0xdb, 0x4b, 0x44, 0x69, 0x69, 0xaa, 0x4e, 0x3c, 0xff,
|
0x53, 0x4d, 0xc5, 0xb1, 0x49, 0x8b, 0x27, 0xa2, 0x52, 0x90, 0x53, 0x37, 0xf8, 0x28, 0x16, 0x54,
|
||||||
0xb8, 0x1d, 0xd1, 0xf9, 0xa3, 0xc3, 0xca, 0xec, 0x46, 0x3a, 0x0b, 0xce, 0x92, 0x95, 0x9f, 0x16,
|
0xf4, 0x38, 0x12, 0xb2, 0xa5, 0x93, 0x84, 0xec, 0x78, 0x76, 0xb8, 0xa2, 0x2d, 0x98, 0x35, 0x2d,
|
||||||
0x60, 0x32, 0x5e, 0x01, 0x33, 0x9a, 0x54, 0xe9, 0x44, 0x4d, 0xea, 0xd5, 0xd0, 0x66, 0x70, 0x3b,
|
0xa3, 0x6d, 0x11, 0xdb, 0x5e, 0x22, 0x4a, 0x4b, 0x53, 0x75, 0xe2, 0xf9, 0xc7, 0xed, 0x88, 0xce,
|
||||||
0x78, 0x7f, 0xf5, 0x53, 0x36, 0xc4, 0x02, 0x4c, 0x88, 0x6c, 0xe0, 0x11, 0x45, 0x9b, 0xee, 0xaf,
|
0x1f, 0x1d, 0x56, 0x66, 0x37, 0xd2, 0x59, 0x70, 0x96, 0xac, 0xfc, 0xb4, 0x00, 0x93, 0xf1, 0x0a,
|
||||||
0xfe, 0x56, 0x94, 0x8c, 0xe3, 0xfc, 0xac, 0xf5, 0x0c, 0x3a, 0x4a, 0x0f, 0xa4, 0x10, 0x6d, 0x3d,
|
0x98, 0xd1, 0xa4, 0x4a, 0x27, 0x6a, 0x52, 0xaf, 0x86, 0x36, 0x83, 0xdb, 0xc1, 0xfb, 0xab, 0x9f,
|
||||||
0x17, 0xe2, 0x0c, 0x38, 0x29, 0x83, 0x56, 0x61, 0xda, 0xd1, 0x93, 0x50, 0x6e, 0x34, 0x9e, 0x17,
|
0xb2, 0x21, 0x16, 0x60, 0x42, 0x64, 0x03, 0x8f, 0x28, 0xda, 0x74, 0x7f, 0xf5, 0xb7, 0xa2, 0x64,
|
||||||
0x50, 0xd3, 0x5b, 0x49, 0x16, 0x9c, 0x26, 0x87, 0x76, 0x22, 0xdd, 0xe8, 0x30, 0xcf, 0xb0, 0x37,
|
0x1c, 0xe7, 0x67, 0xad, 0x67, 0xd0, 0x51, 0x7a, 0x20, 0x85, 0x68, 0xeb, 0xb9, 0x10, 0x67, 0xc0,
|
||||||
0xfa, 0xde, 0x3b, 0x7d, 0xb7, 0xa3, 0xe8, 0x0e, 0x8c, 0x59, 0xfc, 0xbb, 0xc3, 0x33, 0xd8, 0xed,
|
0x49, 0x19, 0xb4, 0x0a, 0xd3, 0x8e, 0x9e, 0x84, 0x72, 0xa3, 0xf1, 0xbc, 0x80, 0x9a, 0xde, 0x4a,
|
||||||
0xdd, 0x5f, 0x12, 0x62, 0x63, 0x38, 0x4c, 0xc4, 0x51, 0xde, 0x94, 0x76, 0xbb, 0xd4, 0x6f, 0xbb,
|
0xb2, 0xe0, 0x34, 0x39, 0xb4, 0x13, 0xe9, 0x46, 0x87, 0x79, 0x86, 0xbd, 0xd1, 0xf7, 0xde, 0xe9,
|
||||||
0x2d, 0xff, 0xaf, 0x14, 0x2e, 0x42, 0x7e, 0x0b, 0xdc, 0xeb, 0x94, 0x29, 0x21, 0x11, 0xea, 0x8e,
|
0xbb, 0x1d, 0x45, 0x77, 0x60, 0xcc, 0xe2, 0xdf, 0x1d, 0x9e, 0xc1, 0x6e, 0xef, 0xfe, 0x92, 0x10,
|
||||||
0x8c, 0xf4, 0xee, 0xf7, 0xd6, 0x40, 0xdd, 0x6f, 0x50, 0x3c, 0x7b, 0xb7, 0xbf, 0x5f, 0x48, 0x30,
|
0x1b, 0xc3, 0x61, 0x22, 0x8e, 0xf2, 0xa6, 0xb4, 0xdb, 0xa5, 0x7e, 0xdb, 0x6d, 0xf9, 0xff, 0xa5,
|
||||||
0x73, 0xaf, 0x71, 0xdf, 0x32, 0x1c, 0xd3, 0x33, 0x67, 0xdd, 0x74, 0xfd, 0xfa, 0x36, 0x14, 0x2c,
|
0x70, 0x11, 0xf2, 0x5b, 0xe0, 0x5e, 0xa7, 0x4c, 0x09, 0x89, 0x50, 0x77, 0x64, 0xa4, 0x77, 0xbf,
|
||||||
0x47, 0xf3, 0xe6, 0xf1, 0x9a, 0x37, 0x0f, 0xec, 0x68, 0x6c, 0x1e, 0xd3, 0x31, 0x29, 0x77, 0x12,
|
0xb7, 0x06, 0xea, 0x7e, 0x83, 0xe2, 0xd9, 0xbb, 0xfd, 0xfd, 0x5c, 0x82, 0x99, 0x7b, 0x8d, 0xfb,
|
||||||
0x4c, 0x00, 0xad, 0xc1, 0xb0, 0xa5, 0xe8, 0x6d, 0xe2, 0x95, 0xd5, 0x4b, 0x3d, 0xac, 0x5f, 0x5e,
|
0x96, 0xe1, 0x98, 0x9e, 0x39, 0xeb, 0xa6, 0xeb, 0xd7, 0xb7, 0xa1, 0x60, 0x39, 0x9a, 0x37, 0x8f,
|
||||||
0xc2, 0x8c, 0x3d, 0xd4, 0xbc, 0x71, 0x69, 0x2c, 0x50, 0xe4, 0xbf, 0x93, 0x60, 0xe2, 0xc1, 0xe6,
|
0xd7, 0xbc, 0x79, 0x60, 0x47, 0x63, 0xf3, 0x98, 0x8e, 0x49, 0xb9, 0x93, 0x60, 0x02, 0x68, 0x0d,
|
||||||
0xe6, 0xc6, 0xb2, 0xce, 0x77, 0x34, 0x3f, 0x4f, 0xbf, 0x08, 0x05, 0x53, 0xa1, 0xbb, 0xf1, 0x4a,
|
0x86, 0x2d, 0x45, 0x6f, 0x13, 0xaf, 0xac, 0x5e, 0xea, 0x61, 0xfd, 0xf2, 0x12, 0x66, 0xec, 0xa1,
|
||||||
0xcf, 0x68, 0x98, 0x53, 0xd0, 0x07, 0x50, 0x64, 0x99, 0x84, 0xe8, 0xad, 0x3e, 0x5b, 0x6d, 0x01,
|
0xe6, 0x8d, 0x4b, 0x63, 0x81, 0x22, 0xff, 0xbd, 0x04, 0x13, 0x0f, 0x36, 0x37, 0x37, 0x96, 0x75,
|
||||||
0x5f, 0x77, 0x85, 0x82, 0x0e, 0x51, 0x0c, 0x60, 0x0f, 0x4e, 0xde, 0x83, 0x73, 0x21, 0x73, 0x98,
|
0xbe, 0xa3, 0xf9, 0x79, 0xfa, 0x45, 0x28, 0x98, 0x0a, 0xdd, 0x8d, 0x57, 0x7a, 0x46, 0xc3, 0x9c,
|
||||||
0x3f, 0xf8, 0x31, 0x30, 0x6a, 0xc0, 0x10, 0xd3, 0xec, 0x9d, 0xf2, 0xf6, 0x3a, 0xcc, 0x8c, 0x4d,
|
0x82, 0x3e, 0x80, 0x22, 0xcb, 0x24, 0x44, 0x6f, 0xf5, 0xd9, 0x6a, 0x0b, 0xf8, 0xba, 0x2b, 0x14,
|
||||||
0x29, 0xe8, 0x74, 0xd8, 0x2f, 0x1b, 0xbb, 0x58, 0xf2, 0x2a, 0x8c, 0xf1, 0x4b, 0x04, 0xc3, 0xa2,
|
0x74, 0x88, 0x62, 0x00, 0x7b, 0x70, 0xf2, 0x1e, 0x9c, 0x0b, 0x99, 0xc3, 0xfc, 0xc1, 0x8f, 0x81,
|
||||||
0xdc, 0x2d, 0xe8, 0x02, 0xe4, 0x3b, 0xaa, 0x2e, 0xea, 0xec, 0xa8, 0x90, 0xc9, 0xb3, 0x1a, 0xc1,
|
0x51, 0x03, 0x86, 0x98, 0x66, 0xef, 0x94, 0xb7, 0xd7, 0x61, 0x66, 0x6c, 0x4a, 0x41, 0xa7, 0xc3,
|
||||||
0xc6, 0x39, 0x59, 0x39, 0x10, 0x99, 0x27, 0x20, 0x2b, 0x07, 0x98, 0x8d, 0xcb, 0xf7, 0xa1, 0x28,
|
0x7e, 0xd9, 0xd8, 0xc5, 0x92, 0x57, 0x61, 0x8c, 0x5f, 0x22, 0x18, 0x16, 0xe5, 0x6e, 0x41, 0x17,
|
||||||
0xdc, 0x1d, 0x06, 0xca, 0x1f, 0x0f, 0x94, 0x4f, 0x01, 0x5a, 0x87, 0xe2, 0xf2, 0x46, 0x5d, 0x33,
|
0x20, 0xdf, 0x51, 0x75, 0x51, 0x67, 0x47, 0x85, 0x4c, 0x9e, 0xd5, 0x08, 0x36, 0xce, 0xc9, 0xca,
|
||||||
0xdc, 0xae, 0xab, 0xa9, 0xb6, 0xac, 0xf8, 0x5a, 0x2c, 0x2e, 0x2f, 0x61, 0xcc, 0x29, 0x48, 0x86,
|
0x81, 0xc8, 0x3c, 0x01, 0x59, 0x39, 0xc0, 0x6c, 0x5c, 0xbe, 0x0f, 0x45, 0xe1, 0xee, 0x30, 0x50,
|
||||||
0x61, 0x72, 0xd0, 0x24, 0x26, 0xe5, 0x11, 0x31, 0x52, 0x07, 0xb6, 0xca, 0x77, 0xf9, 0x08, 0x16,
|
0xfe, 0x78, 0xa0, 0x7c, 0x0a, 0xd0, 0x3a, 0x14, 0x97, 0x37, 0xea, 0x9a, 0xe1, 0x76, 0x5d, 0x4d,
|
||||||
0x14, 0xf9, 0xef, 0x73, 0x50, 0x14, 0xee, 0x38, 0x85, 0xaf, 0xb0, 0x95, 0xc8, 0x57, 0xd8, 0xeb,
|
0xb5, 0x65, 0xc5, 0xd7, 0x62, 0x71, 0x79, 0x09, 0x63, 0x4e, 0x41, 0x32, 0x0c, 0x93, 0x83, 0x26,
|
||||||
0xfd, 0x85, 0x46, 0xe6, 0x27, 0xd8, 0x66, 0xec, 0x13, 0xec, 0x6a, 0x9f, 0x78, 0xc7, 0x7f, 0x7f,
|
0x31, 0x29, 0x8f, 0x88, 0x91, 0x3a, 0xb0, 0x55, 0xbe, 0xcb, 0x47, 0xb0, 0xa0, 0xc8, 0xff, 0x90,
|
||||||
0xfd, 0x97, 0x04, 0xe3, 0xd1, 0xa0, 0x44, 0x37, 0x61, 0x94, 0x15, 0x1c, 0xb5, 0x49, 0xd6, 0x82,
|
0x83, 0xa2, 0x70, 0xc7, 0x29, 0x7c, 0x85, 0xad, 0x44, 0xbe, 0xc2, 0x5e, 0xef, 0x2f, 0x34, 0x32,
|
||||||
0x3e, 0xd7, 0x3f, 0x84, 0x69, 0x04, 0x24, 0x1c, 0xe6, 0x43, 0x6d, 0x5f, 0x8c, 0xc5, 0x91, 0x98,
|
0x3f, 0xc1, 0x36, 0x63, 0x9f, 0x60, 0x57, 0xfb, 0xc4, 0x3b, 0xfe, 0xfb, 0xeb, 0x7f, 0x24, 0x18,
|
||||||
0x74, 0xb6, 0x4b, 0x1d, 0xaa, 0x6a, 0x55, 0xf7, 0x6e, 0xab, 0xba, 0xac, 0xd3, 0x75, 0xab, 0x41,
|
0x8f, 0x06, 0x25, 0xba, 0x09, 0xa3, 0xac, 0xe0, 0xa8, 0x4d, 0xb2, 0x16, 0xf4, 0xb9, 0xfe, 0x21,
|
||||||
0x2d, 0x55, 0x6f, 0x27, 0x14, 0xf1, 0xa0, 0x0c, 0x23, 0xcb, 0xff, 0x23, 0xc1, 0xa8, 0x30, 0xf9,
|
0x4c, 0x23, 0x20, 0xe1, 0x30, 0x1f, 0x6a, 0xfb, 0x62, 0x2c, 0x8e, 0xc4, 0xa4, 0xb3, 0x5d, 0xea,
|
||||||
0x14, 0xbe, 0x2a, 0xfe, 0x38, 0xfa, 0x55, 0x71, 0xa9, 0xcf, 0x0d, 0x9e, 0xfe, 0x49, 0xf1, 0x6f,
|
0x50, 0x55, 0xab, 0xba, 0x17, 0x63, 0xd5, 0x65, 0x9d, 0xae, 0x5b, 0x0d, 0x6a, 0xa9, 0x7a, 0x3b,
|
||||||
0x81, 0xe9, 0x6c, 0x4b, 0xb3, 0xa8, 0xde, 0x35, 0x6c, 0x1a, 0x8f, 0x6a, 0xb6, 0x19, 0x31, 0xa7,
|
0xa1, 0x88, 0x07, 0x65, 0x18, 0x59, 0xfe, 0x3f, 0x09, 0x46, 0x85, 0xc9, 0xa7, 0xf0, 0x55, 0xf1,
|
||||||
0x20, 0x07, 0x26, 0xd5, 0x58, 0x0e, 0x10, 0xae, 0xad, 0xf5, 0x67, 0x89, 0x2f, 0x56, 0x2f, 0x0b,
|
0xc7, 0xd1, 0xaf, 0x8a, 0x4b, 0x7d, 0x6e, 0xf0, 0xf4, 0x4f, 0x8a, 0xff, 0x08, 0x4c, 0x67, 0x5b,
|
||||||
0xf8, 0xc9, 0x38, 0x05, 0x27, 0x54, 0xc8, 0x04, 0x12, 0x5c, 0xe8, 0x21, 0x14, 0x76, 0x29, 0x35,
|
0x9a, 0x45, 0xf5, 0xae, 0x61, 0xd3, 0x78, 0x54, 0xb3, 0xcd, 0x88, 0x39, 0x05, 0x39, 0x30, 0xa9,
|
||||||
0x53, 0xce, 0xab, 0x7b, 0x64, 0x9e, 0xc0, 0x84, 0x12, 0x9f, 0xdd, 0xe6, 0xe6, 0x06, 0xe6, 0x50,
|
0xc6, 0x72, 0x80, 0x70, 0x6d, 0xad, 0x3f, 0x4b, 0x7c, 0xb1, 0x7a, 0x59, 0xc0, 0x4f, 0xc6, 0x29,
|
||||||
0xf2, 0xaf, 0x02, 0x7f, 0x34, 0xdc, 0x18, 0xf7, 0xf3, 0xa9, 0x74, 0x92, 0x7c, 0x3a, 0x9a, 0x96,
|
0x38, 0xa1, 0x42, 0x26, 0x90, 0xe0, 0x42, 0x0f, 0xa1, 0xb0, 0x4b, 0xa9, 0x99, 0x72, 0x5e, 0xdd,
|
||||||
0x4b, 0xd1, 0x03, 0xc8, 0x53, 0xad, 0xdf, 0xcf, 0x42, 0x81, 0xb8, 0xb9, 0xd2, 0x08, 0x12, 0xd2,
|
0x23, 0xf3, 0x04, 0x26, 0x94, 0xf8, 0xec, 0x36, 0x37, 0x37, 0x30, 0x87, 0x92, 0x7f, 0x15, 0xf8,
|
||||||
0xe6, 0x4a, 0x03, 0x33, 0x08, 0xb4, 0x0e, 0x43, 0xac, 0xfa, 0xb0, 0x2d, 0x98, 0xef, 0x7f, 0x4b,
|
0xa3, 0xe1, 0xc6, 0xb8, 0x9f, 0x4f, 0xa5, 0x93, 0xe4, 0xd3, 0xd1, 0xb4, 0x5c, 0x8a, 0x1e, 0x40,
|
||||||
0xb3, 0xf9, 0x07, 0x01, 0xc1, 0x7e, 0xd9, 0xd8, 0xc5, 0x91, 0x3f, 0x81, 0xb1, 0xc8, 0x3e, 0x45,
|
0x9e, 0x6a, 0xfd, 0x7e, 0x16, 0x0a, 0xc4, 0xcd, 0x95, 0x46, 0x90, 0x90, 0x36, 0x57, 0x1a, 0x98,
|
||||||
0x1f, 0xc3, 0x59, 0xcd, 0x50, 0x5a, 0x75, 0x45, 0x53, 0xf4, 0x26, 0xf1, 0x2e, 0x07, 0x2e, 0xa5,
|
0x41, 0xa0, 0x75, 0x18, 0x62, 0xd5, 0x87, 0x6d, 0xc1, 0x7c, 0xff, 0x5b, 0x9a, 0xcd, 0x3f, 0x08,
|
||||||
0x7d, 0x61, 0xac, 0x84, 0xf8, 0xc4, 0x2e, 0xf7, 0xaf, 0x53, 0xc3, 0x34, 0x1c, 0x41, 0x94, 0x15,
|
0x08, 0xf6, 0xcb, 0xc6, 0x2e, 0x8e, 0xfc, 0x09, 0x8c, 0x45, 0xf6, 0x29, 0xfa, 0x18, 0xce, 0x6a,
|
||||||
0x80, 0x60, 0x8e, 0xa8, 0x02, 0x43, 0x2c, 0xce, 0xdc, 0x7a, 0x32, 0x52, 0x1f, 0x61, 0x16, 0xb2,
|
0x86, 0xd2, 0xaa, 0x2b, 0x9a, 0xa2, 0x37, 0x89, 0x77, 0x39, 0x70, 0x29, 0xed, 0x0b, 0x63, 0x25,
|
||||||
0xf0, 0xb3, 0xb1, 0x3b, 0x8e, 0x6e, 0x00, 0xd8, 0xa4, 0x69, 0x11, 0xca, 0x93, 0x41, 0x2e, 0x7a,
|
0xc4, 0x27, 0x76, 0xb9, 0x7f, 0x9d, 0x1a, 0xa6, 0xe1, 0x08, 0xa2, 0xac, 0x00, 0x04, 0x73, 0x44,
|
||||||
0xa9, 0xdc, 0xf0, 0x29, 0x38, 0xc4, 0x25, 0xff, 0x9f, 0x04, 0x63, 0x6b, 0x84, 0x7e, 0x6a, 0x58,
|
0x15, 0x18, 0x62, 0x71, 0xe6, 0xd6, 0x93, 0x91, 0xfa, 0x08, 0xb3, 0x90, 0x85, 0x9f, 0x8d, 0xdd,
|
||||||
0x7b, 0x1b, 0xfc, 0x3e, 0xff, 0x14, 0x92, 0x2d, 0x8e, 0x24, 0xdb, 0x37, 0x7a, 0xac, 0x4c, 0xc4,
|
0x71, 0x74, 0x03, 0xc0, 0x26, 0x4d, 0x8b, 0x50, 0x9e, 0x0c, 0x72, 0xd1, 0x4b, 0xe5, 0x86, 0x4f,
|
||||||
0xba, 0xac, 0x94, 0x2b, 0x7f, 0x25, 0xc1, 0x6c, 0x84, 0xf3, 0x6e, 0xb0, 0x75, 0xb7, 0x60, 0xc8,
|
0xc1, 0x21, 0x2e, 0xf9, 0x47, 0x12, 0x8c, 0xad, 0x11, 0xfa, 0xa9, 0x61, 0xed, 0x6d, 0xf0, 0xc7,
|
||||||
0x34, 0x2c, 0xea, 0x15, 0xe2, 0x81, 0x14, 0xb2, 0x34, 0x16, 0x2a, 0xc5, 0x0c, 0x06, 0xbb, 0x68,
|
0x00, 0xa7, 0x90, 0x6c, 0x71, 0x24, 0xd9, 0xbe, 0xd1, 0x63, 0x65, 0x22, 0xd6, 0x65, 0xa5, 0x5c,
|
||||||
0x68, 0x05, 0x72, 0xd4, 0x10, 0xa1, 0x3a, 0x18, 0x26, 0x21, 0x56, 0x1d, 0x04, 0x66, 0x6e, 0xd3,
|
0xf9, 0x4b, 0x09, 0x66, 0x23, 0x9c, 0x77, 0x83, 0xad, 0xbb, 0x05, 0x43, 0xa6, 0x61, 0x51, 0xaf,
|
||||||
0xc0, 0x39, 0x6a, 0xb0, 0x85, 0x28, 0x47, 0xb8, 0xc2, 0xc9, 0xe7, 0x05, 0xcd, 0x00, 0x43, 0x61,
|
0x10, 0x0f, 0xa4, 0x90, 0xa5, 0xb1, 0x50, 0x29, 0x66, 0x30, 0xd8, 0x45, 0x43, 0x2b, 0x90, 0xa3,
|
||||||
0xc7, 0x32, 0x3a, 0x27, 0x9e, 0x83, 0xbf, 0x10, 0xf7, 0x2c, 0xa3, 0x83, 0x39, 0x96, 0xfc, 0xb5,
|
0x86, 0x08, 0xd5, 0xc1, 0x30, 0x09, 0xb1, 0xea, 0x20, 0x30, 0x73, 0x9b, 0x06, 0xce, 0x51, 0x83,
|
||||||
0x04, 0x53, 0x11, 0xce, 0x53, 0x48, 0xfc, 0x0f, 0xa3, 0x89, 0xff, 0xea, 0x20, 0x13, 0xc9, 0x48,
|
0x2d, 0x44, 0x39, 0xc2, 0x15, 0x4e, 0x3e, 0x2f, 0x68, 0x06, 0x18, 0x0a, 0x3b, 0x96, 0xd1, 0x39,
|
||||||
0xff, 0x5f, 0xe7, 0x62, 0xd3, 0x60, 0x13, 0x46, 0x3b, 0x30, 0x6a, 0x1a, 0xad, 0xc6, 0x73, 0xb8,
|
0xf1, 0x1c, 0xfc, 0x85, 0xb8, 0x67, 0x19, 0x1d, 0xcc, 0xb1, 0xe4, 0xaf, 0x24, 0x98, 0x8a, 0x70,
|
||||||
0x0e, 0x9c, 0x60, 0x75, 0x73, 0x23, 0xc0, 0xc2, 0x61, 0x60, 0x74, 0x00, 0x53, 0xba, 0xd2, 0x21,
|
0x9e, 0x42, 0xe2, 0x7f, 0x18, 0x4d, 0xfc, 0x57, 0x07, 0x99, 0x48, 0x46, 0xfa, 0xff, 0x2a, 0x17,
|
||||||
0xb6, 0xa9, 0x34, 0x49, 0xe3, 0x39, 0x1c, 0x90, 0xbc, 0xc4, 0xef, 0x1b, 0xe2, 0x88, 0x38, 0xa9,
|
0x9b, 0x06, 0x9b, 0x30, 0xda, 0x81, 0x51, 0xd3, 0x68, 0x35, 0x9e, 0xc3, 0x75, 0xe0, 0x04, 0xab,
|
||||||
0x04, 0xad, 0x42, 0x51, 0x35, 0x79, 0x1f, 0x27, 0x7a, 0x97, 0x9e, 0x55, 0xd4, 0xed, 0xfa, 0xdc,
|
0x9b, 0x1b, 0x01, 0x16, 0x0e, 0x03, 0xa3, 0x03, 0x98, 0xd2, 0x95, 0x0e, 0xb1, 0x4d, 0xa5, 0x49,
|
||||||
0x7c, 0x2e, 0x7e, 0x60, 0x0f, 0x43, 0xfe, 0xf7, 0x78, 0x34, 0xb0, 0xf8, 0x43, 0xf7, 0xa1, 0xc4,
|
0x1a, 0xcf, 0xe1, 0x80, 0xe4, 0x25, 0x7e, 0xdf, 0x10, 0x47, 0xc4, 0x49, 0x25, 0x68, 0x15, 0x8a,
|
||||||
0x5f, 0xc6, 0x34, 0x0d, 0xcd, 0xbb, 0x19, 0x60, 0x2b, 0xbb, 0x21, 0xc6, 0x9e, 0x1d, 0x56, 0xce,
|
0xaa, 0xc9, 0xfb, 0x38, 0xd1, 0xbb, 0xf4, 0xac, 0xa2, 0x6e, 0xd7, 0xe7, 0xe6, 0x73, 0xf1, 0x03,
|
||||||
0xa7, 0x1c, 0xfa, 0x7a, 0x64, 0xec, 0x0b, 0xa3, 0x35, 0x28, 0x98, 0x3f, 0xa6, 0x83, 0xe1, 0x45,
|
0x7b, 0x18, 0xf2, 0x7f, 0xc6, 0xa3, 0x81, 0xc5, 0x1f, 0xba, 0x0f, 0x25, 0xfe, 0xac, 0xa6, 0x69,
|
||||||
0x8e, 0xb7, 0x2d, 0x1c, 0x47, 0xfe, 0xab, 0x7c, 0xcc, 0x5c, 0x5e, 0xea, 0x9e, 0x3c, 0xb7, 0x55,
|
0x68, 0xde, 0xcd, 0x00, 0x5b, 0xd9, 0x0d, 0x31, 0xf6, 0xec, 0xb0, 0x72, 0x3e, 0xe5, 0xd0, 0xd7,
|
||||||
0xf7, 0x3b, 0xa6, 0xcc, 0x95, 0xdf, 0x86, 0xa2, 0xa8, 0xf0, 0x22, 0x98, 0xdf, 0x1e, 0x24, 0x98,
|
0x23, 0x63, 0x5f, 0x18, 0xad, 0x41, 0xc1, 0xfc, 0x21, 0x1d, 0x0c, 0x2f, 0x72, 0xbc, 0x6d, 0xe1,
|
||||||
0xc3, 0x55, 0xcc, 0xff, 0x60, 0xf1, 0x06, 0x3d, 0x60, 0xf4, 0x11, 0x0c, 0x13, 0x57, 0x85, 0x5b,
|
0x38, 0xf2, 0x5f, 0xe7, 0x63, 0xe6, 0xf2, 0x52, 0xf7, 0xe4, 0xb9, 0xad, 0xba, 0xdf, 0x31, 0x65,
|
||||||
0x1b, 0x6f, 0x0d, 0xa2, 0x22, 0xc8, 0xab, 0x41, 0xa3, 0x2a, 0xc6, 0x04, 0x2a, 0x7a, 0x8f, 0xf9,
|
0xae, 0xfc, 0x36, 0x14, 0x45, 0x85, 0x17, 0xc1, 0xfc, 0xf6, 0x20, 0xc1, 0x1c, 0xae, 0x62, 0xfe,
|
||||||
0x8b, 0xf1, 0xb2, 0x8f, 0x40, 0xbb, 0x5c, 0xe0, 0xe5, 0xea, 0x82, 0x3b, 0x6d, 0x7f, 0xf8, 0xd9,
|
0x07, 0x8b, 0x37, 0xe8, 0x01, 0xa3, 0x8f, 0x60, 0x98, 0xb8, 0x2a, 0xdc, 0xda, 0x78, 0x6b, 0x10,
|
||||||
0x61, 0x05, 0x82, 0x9f, 0x38, 0x2c, 0x21, 0xff, 0x44, 0x82, 0x29, 0xee, 0xa1, 0xa6, 0x63, 0xa9,
|
0x15, 0x41, 0x5e, 0x0d, 0x1a, 0x55, 0x31, 0x26, 0x50, 0xd1, 0x7b, 0xcc, 0x5f, 0x8c, 0x97, 0x7d,
|
||||||
0xb4, 0x7b, 0x6a, 0x85, 0xe9, 0x51, 0xa4, 0x30, 0xbd, 0xd5, 0xc3, 0x2d, 0x09, 0x0b, 0x33, 0x8b,
|
0x04, 0xda, 0xe5, 0x02, 0x2f, 0x57, 0x17, 0xdc, 0x69, 0xfb, 0xc3, 0xcf, 0x0e, 0x2b, 0x10, 0xfc,
|
||||||
0xd3, 0x37, 0x12, 0xbc, 0x94, 0xe0, 0x3e, 0x85, 0xbc, 0xb8, 0x15, 0xcd, 0x8b, 0x6f, 0x0c, 0x3a,
|
0xc4, 0x61, 0x09, 0xf9, 0x27, 0x12, 0x4c, 0x71, 0x0f, 0x35, 0x1d, 0x4b, 0xa5, 0xdd, 0x53, 0x2b,
|
||||||
0xa1, 0x8c, 0xdc, 0xf8, 0xf9, 0xd9, 0x94, 0xe9, 0xf0, 0x9d, 0x72, 0x03, 0xc0, 0xb4, 0xd4, 0x7d,
|
0x4c, 0x8f, 0x22, 0x85, 0xe9, 0xad, 0x1e, 0x6e, 0x49, 0x58, 0x98, 0x59, 0x9c, 0xbe, 0x96, 0xe0,
|
||||||
0x55, 0x23, 0x6d, 0x71, 0x09, 0x5e, 0x0a, 0x3d, 0x6b, 0xf3, 0x29, 0x38, 0xc4, 0x85, 0x6c, 0x98,
|
0xa5, 0x04, 0xf7, 0x29, 0xe4, 0xc5, 0xad, 0x68, 0x5e, 0x7c, 0x63, 0xd0, 0x09, 0x65, 0xbd, 0x91,
|
||||||
0x69, 0x91, 0x1d, 0xc5, 0xd1, 0xe8, 0x42, 0xab, 0xb5, 0xa8, 0x98, 0xca, 0xb6, 0xaa, 0xa9, 0x54,
|
0x18, 0x4b, 0x99, 0x0e, 0xdf, 0x29, 0x37, 0x00, 0x4c, 0x4b, 0xdd, 0x57, 0x35, 0xd2, 0x16, 0x97,
|
||||||
0x15, 0xc7, 0x05, 0x23, 0xf5, 0x3b, 0xee, 0xe5, 0x74, 0x1a, 0xc7, 0xb3, 0xc3, 0xca, 0x85, 0xb4,
|
0xe0, 0xa5, 0xd0, 0xb3, 0x36, 0x9f, 0x82, 0x43, 0x5c, 0xc8, 0x86, 0x99, 0x16, 0xd9, 0x51, 0x1c,
|
||||||
0xdb, 0x21, 0x8f, 0xa5, 0x8b, 0x33, 0xa0, 0x51, 0x17, 0xca, 0x16, 0xf9, 0xc4, 0x51, 0x2d, 0xd2,
|
0x8d, 0x2e, 0xb4, 0x5a, 0x8b, 0x8a, 0xa9, 0x6c, 0xab, 0x9a, 0x4a, 0x55, 0x71, 0x5c, 0x30, 0x52,
|
||||||
0x5a, 0xb2, 0x0c, 0x33, 0xa2, 0x36, 0xcf, 0xd5, 0xfe, 0xe1, 0xd1, 0x61, 0xa5, 0x8c, 0x33, 0x78,
|
0xbf, 0xe3, 0x5e, 0x4e, 0xa7, 0x71, 0x3c, 0x3b, 0xac, 0x5c, 0x48, 0xbb, 0x1d, 0xf2, 0x58, 0xba,
|
||||||
0x7a, 0x2b, 0xce, 0x84, 0x47, 0x4f, 0x60, 0x5a, 0x71, 0x5f, 0x03, 0x46, 0xb4, 0xba, 0xbb, 0xe4,
|
0x38, 0x03, 0x1a, 0x75, 0xa1, 0x6c, 0x91, 0x4f, 0x1c, 0xd5, 0x22, 0xad, 0x25, 0xcb, 0x30, 0x23,
|
||||||
0xf6, 0xd1, 0x61, 0x65, 0x7a, 0x21, 0x49, 0xee, 0xad, 0x30, 0x0d, 0x14, 0xd5, 0xa0, 0xb8, 0x6f,
|
0x6a, 0xf3, 0x5c, 0xed, 0x1f, 0x1e, 0x1d, 0x56, 0xca, 0x38, 0x83, 0xa7, 0xb7, 0xe2, 0x4c, 0x78,
|
||||||
0x68, 0x4e, 0x87, 0xd8, 0xe5, 0x21, 0x8e, 0xcf, 0x0a, 0x41, 0xf1, 0x91, 0x3b, 0xf4, 0xec, 0xb0,
|
0xf4, 0x04, 0xa6, 0x15, 0xf7, 0x35, 0x60, 0x44, 0xab, 0xbb, 0x4b, 0x6e, 0x1f, 0x1d, 0x56, 0xa6,
|
||||||
0x32, 0x7c, 0xaf, 0xc1, 0x77, 0x9f, 0xc7, 0xc5, 0x3e, 0x28, 0x59, 0x2f, 0x29, 0x76, 0x3c, 0x3f,
|
0x17, 0x92, 0xe4, 0xde, 0x0a, 0xd3, 0x40, 0x51, 0x0d, 0x8a, 0xfb, 0xfc, 0xad, 0xa2, 0x5d, 0x1e,
|
||||||
0x31, 0x2e, 0x05, 0x59, 0xeb, 0x41, 0x40, 0xc2, 0x61, 0x3e, 0xf4, 0x18, 0x46, 0x76, 0xc5, 0xa9,
|
0xe2, 0xf8, 0xac, 0x10, 0x14, 0xdd, 0xe7, 0x8b, 0x0c, 0x73, 0xf8, 0x5e, 0x83, 0xef, 0x3e, 0x8f,
|
||||||
0x84, 0x5d, 0x2e, 0xf6, 0x55, 0x84, 0x23, 0xa7, 0x18, 0xf5, 0x29, 0xa1, 0x62, 0xc4, 0x1b, 0xb6,
|
0x8b, 0x7d, 0x50, 0xb2, 0x5e, 0x52, 0xec, 0x78, 0x7e, 0x62, 0x5c, 0x0a, 0xb2, 0xd6, 0x83, 0x80,
|
||||||
0x71, 0x80, 0x88, 0xae, 0x40, 0x91, 0xff, 0x58, 0x5e, 0xe2, 0xc7, 0x71, 0xa5, 0x20, 0xb7, 0x3d,
|
0x84, 0xc3, 0x7c, 0xe8, 0x31, 0x8c, 0xec, 0x8a, 0x53, 0x09, 0xbb, 0x5c, 0xec, 0xab, 0x08, 0x47,
|
||||||
0x70, 0x87, 0xb1, 0x47, 0xf7, 0x58, 0x97, 0x37, 0x16, 0xf9, 0xb1, 0x70, 0x8c, 0x75, 0x79, 0x63,
|
0x4e, 0x31, 0xea, 0x53, 0x42, 0xc5, 0x88, 0x37, 0x6c, 0xe3, 0x00, 0x11, 0x5d, 0x81, 0x22, 0xff,
|
||||||
0x11, 0x7b, 0x74, 0xf4, 0x31, 0x14, 0x6d, 0xb2, 0xa2, 0xea, 0xce, 0x41, 0x19, 0xfa, 0xba, 0x54,
|
0xb1, 0xbc, 0xc4, 0x8f, 0xe3, 0x4a, 0x41, 0x6e, 0x7b, 0xe0, 0x0e, 0x63, 0x8f, 0xee, 0xb1, 0x2e,
|
||||||
0x6e, 0xdc, 0xe5, 0xdc, 0xb1, 0x83, 0xb1, 0x40, 0x83, 0xa0, 0x63, 0x0f, 0x16, 0xed, 0xc2, 0x88,
|
0x6f, 0x2c, 0xf2, 0x63, 0xe1, 0x18, 0xeb, 0xf2, 0xc6, 0x22, 0xf6, 0xe8, 0xe8, 0x63, 0x28, 0xda,
|
||||||
0xe5, 0xe8, 0x0b, 0xf6, 0x96, 0x4d, 0xac, 0xf2, 0x28, 0xd7, 0xd1, 0x2b, 0x9d, 0x63, 0x8f, 0x3f,
|
0x64, 0x45, 0xd5, 0x9d, 0x83, 0x32, 0xf4, 0x75, 0xa9, 0xdc, 0xb8, 0xcb, 0xb9, 0x63, 0x07, 0x63,
|
||||||
0xae, 0xc5, 0xf7, 0x90, 0xcf, 0x81, 0x03, 0x70, 0xf4, 0xb7, 0x12, 0x20, 0xdb, 0x31, 0x4d, 0x8d,
|
0x81, 0x06, 0x41, 0xc7, 0x1e, 0x2c, 0xda, 0x85, 0x11, 0xcb, 0xd1, 0x17, 0xec, 0x2d, 0x9b, 0x58,
|
||||||
0x74, 0x88, 0x4e, 0x15, 0x8d, 0x9f, 0xc5, 0xd9, 0xe5, 0xb3, 0x5c, 0xe7, 0x1f, 0xf5, 0x9a, 0x57,
|
0xe5, 0x51, 0xae, 0xa3, 0x57, 0x3a, 0xc7, 0x1e, 0x7f, 0x5c, 0x8b, 0xef, 0x21, 0x9f, 0x03, 0x07,
|
||||||
0x42, 0x30, 0xae, 0xdc, 0x3f, 0xf4, 0x4e, 0xb2, 0xe2, 0x14, 0xbd, 0xcc, 0xb5, 0x3b, 0x36, 0xff,
|
0xe0, 0xe8, 0xef, 0x24, 0x40, 0xb6, 0x63, 0x9a, 0x1a, 0xe9, 0x10, 0x9d, 0x2a, 0x1a, 0x3f, 0x8b,
|
||||||
0xbb, 0x3c, 0xd6, 0x97, 0x6b, 0xd3, 0xcf, 0x1c, 0x03, 0xd7, 0x0a, 0x3a, 0xf6, 0x60, 0xd1, 0x23,
|
0xb3, 0xcb, 0x67, 0xb9, 0xce, 0x3f, 0xea, 0x35, 0xaf, 0x84, 0x60, 0x5c, 0xb9, 0x7f, 0xe8, 0x9d,
|
||||||
0x98, 0xb1, 0x88, 0xd2, 0x5a, 0xd7, 0xb5, 0x2e, 0x36, 0x0c, 0x7a, 0x4f, 0xd5, 0x88, 0xdd, 0xb5,
|
0x64, 0xc5, 0x29, 0x7a, 0x99, 0x6b, 0x77, 0x6c, 0xfe, 0x77, 0x79, 0xac, 0x2f, 0xd7, 0xa6, 0x9f,
|
||||||
0x29, 0xe9, 0x94, 0xc7, 0xf9, 0xb2, 0xfb, 0x6f, 0x3f, 0x70, 0x2a, 0x17, 0xce, 0x90, 0x46, 0x1d,
|
0x39, 0x06, 0xae, 0x15, 0x74, 0xec, 0xc1, 0xa2, 0x47, 0x30, 0x63, 0x11, 0xa5, 0xb5, 0xae, 0x6b,
|
||||||
0xa8, 0x78, 0x29, 0x83, 0xed, 0x27, 0x3f, 0x67, 0xdd, 0xb5, 0x9b, 0x8a, 0xe6, 0xde, 0x03, 0x4c,
|
0x5d, 0x6c, 0x18, 0xf4, 0x9e, 0xaa, 0x11, 0xbb, 0x6b, 0x53, 0xd2, 0x29, 0x8f, 0xf3, 0x65, 0xf7,
|
||||||
0x70, 0x05, 0xaf, 0x1d, 0x1d, 0x56, 0x2a, 0x4b, 0xc7, 0xb3, 0xe2, 0x5e, 0x58, 0xe8, 0x03, 0x28,
|
0xdf, 0x7e, 0xe0, 0x54, 0x2e, 0x9c, 0x21, 0x8d, 0x3a, 0x50, 0xf1, 0x52, 0x06, 0xdb, 0x4f, 0x7e,
|
||||||
0x2b, 0x59, 0x7a, 0x26, 0xb9, 0x9e, 0x57, 0x58, 0x1e, 0xca, 0x54, 0x90, 0x29, 0x8d, 0x28, 0x4c,
|
0xce, 0xba, 0x6b, 0x37, 0x15, 0xcd, 0xbd, 0x07, 0x98, 0xe0, 0x0a, 0x5e, 0x3b, 0x3a, 0xac, 0x54,
|
||||||
0x2a, 0xd1, 0x47, 0xc7, 0x76, 0x79, 0xaa, 0xaf, 0x83, 0xc8, 0xd8, 0x5b, 0xe5, 0xe0, 0x30, 0x22,
|
0x96, 0x8e, 0x67, 0xc5, 0xbd, 0xb0, 0xd0, 0x07, 0x50, 0x56, 0xb2, 0xf4, 0x4c, 0x72, 0x3d, 0xaf,
|
||||||
0x46, 0xb0, 0x71, 0x42, 0x03, 0x7f, 0x3e, 0x21, 0x0e, 0xd3, 0x4f, 0xe7, 0x09, 0xea, 0x60, 0xcf,
|
0xb0, 0x3c, 0x94, 0xa9, 0x20, 0x53, 0x1a, 0x51, 0x98, 0x54, 0xa2, 0x8f, 0x8e, 0xed, 0xf2, 0x54,
|
||||||
0x27, 0x02, 0xd3, 0x9e, 0xdb, 0xf3, 0x89, 0x10, 0xe4, 0xf1, 0xc7, 0x77, 0xbf, 0xc8, 0xc1, 0x74,
|
0x5f, 0x07, 0x91, 0xb1, 0xb7, 0xca, 0xc1, 0x61, 0x44, 0x8c, 0x60, 0xe3, 0x84, 0x06, 0xf4, 0x17,
|
||||||
0xc0, 0xdc, 0xf7, 0xf3, 0x89, 0x14, 0x91, 0xdf, 0x3d, 0x43, 0xed, 0xfd, 0x0c, 0xf5, 0x2b, 0x09,
|
0x80, 0x94, 0xf8, 0x3b, 0x69, 0xbb, 0x8c, 0xfa, 0x2a, 0x3f, 0x89, 0x07, 0xd6, 0x41, 0xd8, 0x25,
|
||||||
0xc6, 0x03, 0xd7, 0xfd, 0xe6, 0x3d, 0x69, 0x08, 0x6c, 0xcb, 0x68, 0xb2, 0xfe, 0x33, 0x17, 0x9e,
|
0x48, 0x36, 0x4e, 0xd1, 0xc3, 0x1f, 0x6f, 0x88, 0xa3, 0xfc, 0xd3, 0x79, 0x00, 0x3b, 0xd8, 0xe3,
|
||||||
0xc0, 0x6f, 0xfd, 0xbd, 0xfa, 0x8f, 0x7f, 0x3b, 0x2a, 0x7f, 0x93, 0x87, 0xc9, 0xf8, 0x6e, 0x8c,
|
0x8d, 0xc0, 0xb4, 0xe7, 0xf6, 0x78, 0x23, 0x04, 0x79, 0xfc, 0xe1, 0xe1, 0x2f, 0x72, 0x30, 0x1d,
|
||||||
0x5c, 0xbf, 0x4a, 0x3d, 0xaf, 0x5f, 0x37, 0xe0, 0xdc, 0x8e, 0xa3, 0x69, 0x5d, 0xee, 0x86, 0xd0,
|
0x30, 0xf7, 0xfd, 0x78, 0x23, 0x45, 0xe4, 0x77, 0x8f, 0x60, 0x7b, 0x3f, 0x82, 0xfd, 0x52, 0x82,
|
||||||
0x1d, 0xac, 0x7b, 0x7d, 0xf2, 0x8a, 0x90, 0x3c, 0x77, 0x2f, 0x85, 0x07, 0xa7, 0x4a, 0x66, 0x5c,
|
0xf1, 0xc0, 0x75, 0xbf, 0x79, 0x0f, 0x2a, 0x02, 0xdb, 0x32, 0x5a, 0xbc, 0xff, 0xce, 0x85, 0x27,
|
||||||
0x25, 0xe7, 0x4f, 0x74, 0x95, 0x9c, 0xb8, 0xd9, 0x2c, 0x0c, 0x70, 0xb3, 0x99, 0x7a, 0x2d, 0x3c,
|
0xf0, 0x5b, 0x7f, 0xab, 0xff, 0xc3, 0x5f, 0xae, 0xca, 0x5f, 0xe7, 0x61, 0x32, 0xbe, 0x1b, 0x23,
|
||||||
0x74, 0x82, 0x6b, 0xe1, 0x93, 0xdc, 0xe3, 0xa6, 0x24, 0xb1, 0x9e, 0xcf, 0x0a, 0x5f, 0x81, 0x39,
|
0x97, 0xbf, 0x52, 0xcf, 0xcb, 0xdf, 0x0d, 0x38, 0xb7, 0xe3, 0x68, 0x5a, 0x97, 0xbb, 0x21, 0x74,
|
||||||
0x21, 0x46, 0xf9, 0x15, 0xab, 0x4e, 0x2d, 0x43, 0xd3, 0x88, 0xb5, 0xe4, 0x74, 0x3a, 0x5d, 0xf9,
|
0x03, 0xec, 0x5e, 0xde, 0xbc, 0x22, 0x24, 0xcf, 0xdd, 0x4b, 0xe1, 0xc1, 0xa9, 0x92, 0x19, 0x17,
|
||||||
0x5d, 0x18, 0x8f, 0x3e, 0x1e, 0x70, 0x57, 0xda, 0x7d, 0xbf, 0x20, 0x2e, 0xb1, 0x42, 0x2b, 0xed,
|
0xd9, 0xf9, 0x13, 0x5d, 0x64, 0x27, 0xee, 0x55, 0x0b, 0x03, 0xdc, 0xab, 0xa6, 0x5e, 0x4a, 0x0f,
|
||||||
0x8e, 0x63, 0x9f, 0x43, 0xfe, 0x6b, 0x09, 0x66, 0xd2, 0x1f, 0x09, 0x22, 0x0d, 0xc6, 0x3b, 0xca,
|
0x9d, 0xe0, 0x52, 0xfa, 0x24, 0xb7, 0xc8, 0x29, 0x49, 0xac, 0xe7, 0xa3, 0xc6, 0x57, 0x60, 0x4e,
|
||||||
0x41, 0xf8, 0xe1, 0xa6, 0x74, 0xc2, 0xe3, 0x05, 0x7e, 0x6b, 0xbc, 0x1a, 0xc1, 0xc2, 0x31, 0x6c,
|
0x88, 0x51, 0x7e, 0xc1, 0xab, 0x53, 0xcb, 0xd0, 0x34, 0x62, 0x2d, 0x39, 0x9d, 0x4e, 0x57, 0x7e,
|
||||||
0xf9, 0x07, 0x09, 0x66, 0x33, 0xee, 0x6b, 0x4f, 0xd7, 0x12, 0xf4, 0x21, 0x94, 0x3a, 0xca, 0x41,
|
0x17, 0xc6, 0xa3, 0x4f, 0x17, 0xdc, 0x95, 0x76, 0x5f, 0x4f, 0x88, 0x2b, 0xb4, 0xd0, 0x4a, 0xbb,
|
||||||
0xc3, 0xb1, 0xda, 0xe4, 0xc4, 0x07, 0x2a, 0x3c, 0x63, 0xac, 0x0a, 0x14, 0xec, 0xe3, 0xc9, 0x5f,
|
0xe3, 0xd8, 0xe7, 0x90, 0xff, 0x46, 0x82, 0x99, 0xf4, 0x27, 0x8a, 0x48, 0x83, 0xf1, 0x8e, 0x72,
|
||||||
0x48, 0x50, 0xce, 0x6a, 0x6d, 0xd1, 0xcd, 0xc8, 0xcd, 0xf2, 0xab, 0xb1, 0x9b, 0xe5, 0xa9, 0x84,
|
0x10, 0x7e, 0x36, 0x2a, 0x9d, 0xf0, 0x70, 0x83, 0xdf, 0x59, 0xaf, 0x46, 0xb0, 0x70, 0x0c, 0x5b,
|
||||||
0xdc, 0x0b, 0xba, 0x57, 0xfe, 0x0f, 0x09, 0x66, 0xd2, 0x5b, 0x7c, 0xf4, 0x66, 0xc4, 0xc2, 0x4a,
|
0xfe, 0x5e, 0x82, 0xd9, 0x8c, 0xdb, 0xe2, 0xd3, 0xb5, 0x04, 0x7d, 0x08, 0xa5, 0x8e, 0x72, 0xd0,
|
||||||
0xcc, 0xc2, 0x89, 0x98, 0x94, 0xb0, 0xef, 0x23, 0x18, 0x17, 0x1f, 0x02, 0x02, 0x46, 0x78, 0x55,
|
0x70, 0xac, 0x36, 0x39, 0xf1, 0x71, 0x0e, 0xcf, 0x18, 0xab, 0x02, 0x05, 0xfb, 0x78, 0xf2, 0xe7,
|
||||||
0x4e, 0xcb, 0x95, 0x02, 0xc2, 0x6b, 0x7c, 0xf9, 0x7a, 0x45, 0xc7, 0x70, 0x0c, 0x4d, 0xfe, 0x9b,
|
0x12, 0x94, 0xb3, 0x1a, 0x6b, 0x74, 0x33, 0x72, 0xaf, 0xfd, 0x6a, 0xec, 0x5e, 0x7b, 0x2a, 0x21,
|
||||||
0x1c, 0x0c, 0x35, 0x9a, 0x8a, 0x46, 0x4e, 0xa1, 0xcd, 0x7a, 0x3f, 0xd2, 0x66, 0xf5, 0xfa, 0x27,
|
0xf7, 0x82, 0x6e, 0xb5, 0xff, 0x4b, 0x82, 0x99, 0xf4, 0x0f, 0x0c, 0xf4, 0x66, 0xc4, 0xc2, 0x4a,
|
||||||
0x0b, 0x6e, 0x55, 0x66, 0x87, 0x85, 0x63, 0x1d, 0xd6, 0xeb, 0x7d, 0xa1, 0x1d, 0xdf, 0x5c, 0xfd,
|
0xcc, 0xc2, 0x89, 0x98, 0x94, 0xb0, 0xef, 0x23, 0x18, 0x17, 0x9f, 0x21, 0x02, 0x46, 0x78, 0x55,
|
||||||
0x01, 0x8c, 0xf8, 0x4a, 0x07, 0xcb, 0xf9, 0xf2, 0xbf, 0xe6, 0x60, 0x34, 0xa4, 0x62, 0xc0, 0x8a,
|
0x4e, 0xcb, 0x95, 0x02, 0xc2, 0x6b, 0xbb, 0xf9, 0x7a, 0x45, 0xc7, 0x70, 0x0c, 0x4d, 0xfe, 0xdb,
|
||||||
0xb1, 0x13, 0xa9, 0xb4, 0xfd, 0xfc, 0x6b, 0x5b, 0x48, 0x57, 0xd5, 0xab, 0xad, 0xee, 0x23, 0xc1,
|
0x1c, 0x0c, 0x35, 0x9a, 0x8a, 0x46, 0x4e, 0xa1, 0xcd, 0x7a, 0x3f, 0xd2, 0x66, 0xf5, 0xfa, 0x17,
|
||||||
0xe0, 0x59, 0x58, 0xb2, 0xe4, 0xbe, 0x0b, 0xe3, 0x94, 0xff, 0xeb, 0x97, 0x7f, 0x0c, 0x99, 0xe7,
|
0x0f, 0x6e, 0x55, 0x66, 0x87, 0x85, 0x63, 0x1d, 0xd6, 0xeb, 0x7d, 0xa1, 0x1d, 0xdf, 0x5c, 0xfd,
|
||||||
0xb1, 0xe8, 0x3f, 0x2d, 0xdd, 0x8c, 0x50, 0x71, 0x8c, 0x7b, 0xee, 0x0e, 0x8c, 0x45, 0x94, 0x0d,
|
0x01, 0x8c, 0xf8, 0x4a, 0x07, 0xcb, 0xf9, 0xf2, 0xbf, 0xe7, 0x60, 0x34, 0xa4, 0x62, 0xc0, 0x8a,
|
||||||
0xf4, 0xc6, 0xef, 0xbf, 0x25, 0x78, 0xb5, 0xe7, 0x47, 0x22, 0xaa, 0x47, 0x36, 0x49, 0x35, 0xb6,
|
0xb1, 0x13, 0xa9, 0xb4, 0xfd, 0xfc, 0x63, 0x5d, 0x48, 0x57, 0xd5, 0xab, 0xad, 0xee, 0x13, 0xc5,
|
||||||
0x49, 0xe6, 0xb3, 0x01, 0x5e, 0xdc, 0x5b, 0x91, 0xfa, 0xb5, 0xa7, 0xdf, 0xcf, 0x9f, 0xf9, 0xf6,
|
0xe0, 0x51, 0x5a, 0xb2, 0xe4, 0xbe, 0x0b, 0xe3, 0x94, 0xff, 0xe3, 0x99, 0x7f, 0x08, 0x9a, 0xe7,
|
||||||
0xfb, 0xf9, 0x33, 0xdf, 0x7d, 0x3f, 0x7f, 0xe6, 0x2f, 0x8f, 0xe6, 0xa5, 0xa7, 0x47, 0xf3, 0xd2,
|
0xb1, 0xe8, 0x3f, 0x6c, 0xdd, 0x8c, 0x50, 0x71, 0x8c, 0x7b, 0xee, 0x0e, 0x8c, 0x45, 0x94, 0x0d,
|
||||||
0xb7, 0x47, 0xf3, 0xd2, 0x77, 0x47, 0xf3, 0xd2, 0xcf, 0x8e, 0xe6, 0xa5, 0x7f, 0xf8, 0x61, 0xfe,
|
0xf4, 0xc2, 0xf0, 0x7f, 0x25, 0x78, 0xb5, 0xe7, 0x27, 0x2a, 0xaa, 0x47, 0x36, 0x49, 0x35, 0xb6,
|
||||||
0xcc, 0x87, 0x45, 0x01, 0xf7, 0xeb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x22, 0xba, 0x16, 0x0c, 0x99,
|
0x49, 0xe6, 0xb3, 0x01, 0x5e, 0xdc, 0x4b, 0x95, 0xfa, 0xb5, 0xa7, 0xdf, 0xcd, 0x9f, 0xf9, 0xe6,
|
||||||
0x3b, 0x00, 0x00,
|
0xbb, 0xf9, 0x33, 0xdf, 0x7e, 0x37, 0x7f, 0xe6, 0xaf, 0x8e, 0xe6, 0xa5, 0xa7, 0x47, 0xf3, 0xd2,
|
||||||
|
0x37, 0x47, 0xf3, 0xd2, 0xb7, 0x47, 0xf3, 0xd2, 0xcf, 0x8e, 0xe6, 0xa5, 0x7f, 0xfc, 0x7e, 0xfe,
|
||||||
|
0xcc, 0x87, 0x45, 0x01, 0xf7, 0xeb, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xb3, 0xc8, 0xe2, 0x54,
|
||||||
|
0x3c, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
20
vendor/k8s.io/api/extensions/v1beta1/generated.proto
generated
vendored
20
vendor/k8s.io/api/extensions/v1beta1/generated.proto
generated
vendored
@ -32,6 +32,12 @@ import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
|||||||
// Package-wide variables from generator "generated".
|
// Package-wide variables from generator "generated".
|
||||||
option go_package = "v1beta1";
|
option go_package = "v1beta1";
|
||||||
|
|
||||||
|
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
|
||||||
|
message AllowedFlexVolume {
|
||||||
|
// Driver is the name of the Flexvolume driver.
|
||||||
|
optional string driver = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// defines the host volume conditions that will be enabled by a policy
|
// defines the host volume conditions that will be enabled by a policy
|
||||||
// for pods to use. It requires the path prefix to be defined.
|
// for pods to use. It requires the path prefix to be defined.
|
||||||
message AllowedHostPath {
|
message AllowedHostPath {
|
||||||
@ -461,6 +467,7 @@ message IDRange {
|
|||||||
optional int64 max = 2;
|
optional int64 max = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of IPBlock is deprecated by networking/v1/IPBlock.
|
||||||
// IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods
|
// IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods
|
||||||
// matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should
|
// matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should
|
||||||
// not be included within this rule.
|
// not be included within this rule.
|
||||||
@ -602,6 +609,7 @@ message IngressTLS {
|
|||||||
optional string secretName = 2;
|
optional string secretName = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy.
|
||||||
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
||||||
message NetworkPolicy {
|
message NetworkPolicy {
|
||||||
// Standard object's metadata.
|
// Standard object's metadata.
|
||||||
@ -614,6 +622,7 @@ message NetworkPolicy {
|
|||||||
optional NetworkPolicySpec spec = 2;
|
optional NetworkPolicySpec spec = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyEgressRule is deprecated by networking/v1/NetworkPolicyEgressRule.
|
||||||
// NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods
|
// NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods
|
||||||
// matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.
|
// matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.
|
||||||
// This type is beta-level in 1.8
|
// This type is beta-level in 1.8
|
||||||
@ -635,6 +644,7 @@ message NetworkPolicyEgressRule {
|
|||||||
repeated NetworkPolicyPeer to = 2;
|
repeated NetworkPolicyPeer to = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyIngressRule is deprecated by networking/v1/NetworkPolicyIngressRule.
|
||||||
// This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.
|
// This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.
|
||||||
message NetworkPolicyIngressRule {
|
message NetworkPolicyIngressRule {
|
||||||
// List of ports which should be made accessible on the pods selected for this rule.
|
// List of ports which should be made accessible on the pods selected for this rule.
|
||||||
@ -654,6 +664,7 @@ message NetworkPolicyIngressRule {
|
|||||||
repeated NetworkPolicyPeer from = 2;
|
repeated NetworkPolicyPeer from = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList.
|
||||||
// Network Policy List is a list of NetworkPolicy objects.
|
// Network Policy List is a list of NetworkPolicy objects.
|
||||||
message NetworkPolicyList {
|
message NetworkPolicyList {
|
||||||
// Standard list metadata.
|
// Standard list metadata.
|
||||||
@ -665,6 +676,7 @@ message NetworkPolicyList {
|
|||||||
repeated NetworkPolicy items = 2;
|
repeated NetworkPolicy items = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyPeer is deprecated by networking/v1/NetworkPolicyPeer.
|
||||||
message NetworkPolicyPeer {
|
message NetworkPolicyPeer {
|
||||||
// This is a label selector which selects Pods in this namespace.
|
// This is a label selector which selects Pods in this namespace.
|
||||||
// This field follows standard label selector semantics.
|
// This field follows standard label selector semantics.
|
||||||
@ -684,6 +696,7 @@ message NetworkPolicyPeer {
|
|||||||
optional IPBlock ipBlock = 3;
|
optional IPBlock ipBlock = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyPort is deprecated by networking/v1/NetworkPolicyPort.
|
||||||
message NetworkPolicyPort {
|
message NetworkPolicyPort {
|
||||||
// Optional. The protocol (TCP or UDP) which traffic must match.
|
// Optional. The protocol (TCP or UDP) which traffic must match.
|
||||||
// If not specified, this field defaults to TCP.
|
// If not specified, this field defaults to TCP.
|
||||||
@ -699,6 +712,7 @@ message NetworkPolicyPort {
|
|||||||
optional k8s.io.apimachinery.pkg.util.intstr.IntOrString port = 2;
|
optional k8s.io.apimachinery.pkg.util.intstr.IntOrString port = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicySpec is deprecated by networking/v1/NetworkPolicySpec.
|
||||||
message NetworkPolicySpec {
|
message NetworkPolicySpec {
|
||||||
// Selects the pods to which this NetworkPolicy object applies. The array of ingress rules
|
// Selects the pods to which this NetworkPolicy object applies. The array of ingress rules
|
||||||
// is applied to any pods selected by this field. Multiple network policies can select the
|
// is applied to any pods selected by this field. Multiple network policies can select the
|
||||||
@ -843,6 +857,12 @@ message PodSecurityPolicySpec {
|
|||||||
// is a white list of allowed host paths. Empty indicates that all host paths may be used.
|
// is a white list of allowed host paths. Empty indicates that all host paths may be used.
|
||||||
// +optional
|
// +optional
|
||||||
repeated AllowedHostPath allowedHostPaths = 17;
|
repeated AllowedHostPath allowedHostPaths = 17;
|
||||||
|
|
||||||
|
// AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all
|
||||||
|
// Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes
|
||||||
|
// is allowed in the "Volumes" field.
|
||||||
|
// +optional
|
||||||
|
repeated AllowedFlexVolume allowedFlexVolumes = 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for
|
// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for
|
||||||
|
20
vendor/k8s.io/api/extensions/v1beta1/types.go
generated
vendored
20
vendor/k8s.io/api/extensions/v1beta1/types.go
generated
vendored
@ -938,6 +938,11 @@ type PodSecurityPolicySpec struct {
|
|||||||
// is a white list of allowed host paths. Empty indicates that all host paths may be used.
|
// is a white list of allowed host paths. Empty indicates that all host paths may be used.
|
||||||
// +optional
|
// +optional
|
||||||
AllowedHostPaths []AllowedHostPath `json:"allowedHostPaths,omitempty" protobuf:"bytes,17,rep,name=allowedHostPaths"`
|
AllowedHostPaths []AllowedHostPath `json:"allowedHostPaths,omitempty" protobuf:"bytes,17,rep,name=allowedHostPaths"`
|
||||||
|
// AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all
|
||||||
|
// Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes
|
||||||
|
// is allowed in the "Volumes" field.
|
||||||
|
// +optional
|
||||||
|
AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// defines the host volume conditions that will be enabled by a policy
|
// defines the host volume conditions that will be enabled by a policy
|
||||||
@ -981,6 +986,12 @@ var (
|
|||||||
All FSType = "*"
|
All FSType = "*"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
|
||||||
|
type AllowedFlexVolume struct {
|
||||||
|
// Driver is the name of the Flexvolume driver.
|
||||||
|
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
|
||||||
|
}
|
||||||
|
|
||||||
// Host Port Range defines a range of host ports that will be enabled by a policy
|
// Host Port Range defines a range of host ports that will be enabled by a policy
|
||||||
// for pods to use. It requires both the start and end to be defined.
|
// for pods to use. It requires both the start and end to be defined.
|
||||||
type HostPortRange struct {
|
type HostPortRange struct {
|
||||||
@ -1101,6 +1112,7 @@ type PodSecurityPolicyList struct {
|
|||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy.
|
||||||
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
// NetworkPolicy describes what network traffic is allowed for a set of Pods
|
||||||
type NetworkPolicy struct {
|
type NetworkPolicy struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
@ -1114,6 +1126,7 @@ type NetworkPolicy struct {
|
|||||||
Spec NetworkPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
Spec NetworkPolicySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of PolicyType is deprecated by networking/v1/PolicyType.
|
||||||
// Policy Type string describes the NetworkPolicy type
|
// Policy Type string describes the NetworkPolicy type
|
||||||
// This type is beta-level in 1.8
|
// This type is beta-level in 1.8
|
||||||
type PolicyType string
|
type PolicyType string
|
||||||
@ -1125,6 +1138,7 @@ const (
|
|||||||
PolicyTypeEgress PolicyType = "Egress"
|
PolicyTypeEgress PolicyType = "Egress"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicySpec is deprecated by networking/v1/NetworkPolicySpec.
|
||||||
type NetworkPolicySpec struct {
|
type NetworkPolicySpec struct {
|
||||||
// Selects the pods to which this NetworkPolicy object applies. The array of ingress rules
|
// Selects the pods to which this NetworkPolicy object applies. The array of ingress rules
|
||||||
// is applied to any pods selected by this field. Multiple network policies can select the
|
// is applied to any pods selected by this field. Multiple network policies can select the
|
||||||
@ -1167,6 +1181,7 @@ type NetworkPolicySpec struct {
|
|||||||
PolicyTypes []PolicyType `json:"policyTypes,omitempty" protobuf:"bytes,4,rep,name=policyTypes,casttype=PolicyType"`
|
PolicyTypes []PolicyType `json:"policyTypes,omitempty" protobuf:"bytes,4,rep,name=policyTypes,casttype=PolicyType"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyIngressRule is deprecated by networking/v1/NetworkPolicyIngressRule.
|
||||||
// This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.
|
// This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.
|
||||||
type NetworkPolicyIngressRule struct {
|
type NetworkPolicyIngressRule struct {
|
||||||
// List of ports which should be made accessible on the pods selected for this rule.
|
// List of ports which should be made accessible on the pods selected for this rule.
|
||||||
@ -1186,6 +1201,7 @@ type NetworkPolicyIngressRule struct {
|
|||||||
From []NetworkPolicyPeer `json:"from,omitempty" protobuf:"bytes,2,rep,name=from"`
|
From []NetworkPolicyPeer `json:"from,omitempty" protobuf:"bytes,2,rep,name=from"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyEgressRule is deprecated by networking/v1/NetworkPolicyEgressRule.
|
||||||
// NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods
|
// NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods
|
||||||
// matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.
|
// matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.
|
||||||
// This type is beta-level in 1.8
|
// This type is beta-level in 1.8
|
||||||
@ -1207,6 +1223,7 @@ type NetworkPolicyEgressRule struct {
|
|||||||
To []NetworkPolicyPeer `json:"to,omitempty" protobuf:"bytes,2,rep,name=to"`
|
To []NetworkPolicyPeer `json:"to,omitempty" protobuf:"bytes,2,rep,name=to"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyPort is deprecated by networking/v1/NetworkPolicyPort.
|
||||||
type NetworkPolicyPort struct {
|
type NetworkPolicyPort struct {
|
||||||
// Optional. The protocol (TCP or UDP) which traffic must match.
|
// Optional. The protocol (TCP or UDP) which traffic must match.
|
||||||
// If not specified, this field defaults to TCP.
|
// If not specified, this field defaults to TCP.
|
||||||
@ -1222,6 +1239,7 @@ type NetworkPolicyPort struct {
|
|||||||
Port *intstr.IntOrString `json:"port,omitempty" protobuf:"bytes,2,opt,name=port"`
|
Port *intstr.IntOrString `json:"port,omitempty" protobuf:"bytes,2,opt,name=port"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of IPBlock is deprecated by networking/v1/IPBlock.
|
||||||
// IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods
|
// IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods
|
||||||
// matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should
|
// matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should
|
||||||
// not be included within this rule.
|
// not be included within this rule.
|
||||||
@ -1236,6 +1254,7 @@ type IPBlock struct {
|
|||||||
Except []string `json:"except,omitempty" protobuf:"bytes,2,rep,name=except"`
|
Except []string `json:"except,omitempty" protobuf:"bytes,2,rep,name=except"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyPeer is deprecated by networking/v1/NetworkPolicyPeer.
|
||||||
type NetworkPolicyPeer struct {
|
type NetworkPolicyPeer struct {
|
||||||
// Exactly one of the following must be specified.
|
// Exactly one of the following must be specified.
|
||||||
|
|
||||||
@ -1259,6 +1278,7 @@ type NetworkPolicyPeer struct {
|
|||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList.
|
||||||
// Network Policy List is a list of NetworkPolicy objects.
|
// Network Policy List is a list of NetworkPolicy objects.
|
||||||
type NetworkPolicyList struct {
|
type NetworkPolicyList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
23
vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go
generated
vendored
23
vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go
generated
vendored
@ -27,6 +27,15 @@ package v1beta1
|
|||||||
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
|
||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS START HERE
|
// AUTO-GENERATED FUNCTIONS START HERE
|
||||||
|
var map_AllowedFlexVolume = map[string]string{
|
||||||
|
"": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.",
|
||||||
|
"driver": "Driver is the name of the Flexvolume driver.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (AllowedFlexVolume) SwaggerDoc() map[string]string {
|
||||||
|
return map_AllowedFlexVolume
|
||||||
|
}
|
||||||
|
|
||||||
var map_AllowedHostPath = map[string]string{
|
var map_AllowedHostPath = map[string]string{
|
||||||
"": "defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.",
|
"": "defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.",
|
||||||
"pathPrefix": "is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.\n\nExamples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`",
|
"pathPrefix": "is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.\n\nExamples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`",
|
||||||
@ -269,7 +278,7 @@ func (IDRange) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_IPBlock = map[string]string{
|
var map_IPBlock = map[string]string{
|
||||||
"": "IPBlock describes a particular CIDR (Ex. \"192.168.1.1/24\") that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should not be included within this rule.",
|
"": "DEPRECATED 1.9 - This group version of IPBlock is deprecated by networking/v1/IPBlock. IPBlock describes a particular CIDR (Ex. \"192.168.1.1/24\") that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should not be included within this rule.",
|
||||||
"cidr": "CIDR is a string representing the IP Block Valid examples are \"192.168.1.1/24\"",
|
"cidr": "CIDR is a string representing the IP Block Valid examples are \"192.168.1.1/24\"",
|
||||||
"except": "Except is a slice of CIDRs that should not be included within an IP Block Valid examples are \"192.168.1.1/24\" Except values will be rejected if they are outside the CIDR range",
|
"except": "Except is a slice of CIDRs that should not be included within an IP Block Valid examples are \"192.168.1.1/24\" Except values will be rejected if they are outside the CIDR range",
|
||||||
}
|
}
|
||||||
@ -357,7 +366,7 @@ func (IngressTLS) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicy = map[string]string{
|
var map_NetworkPolicy = map[string]string{
|
||||||
"": "NetworkPolicy describes what network traffic is allowed for a set of Pods",
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy. NetworkPolicy describes what network traffic is allowed for a set of Pods",
|
||||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
"spec": "Specification of the desired behavior for this NetworkPolicy.",
|
"spec": "Specification of the desired behavior for this NetworkPolicy.",
|
||||||
}
|
}
|
||||||
@ -367,7 +376,7 @@ func (NetworkPolicy) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicyEgressRule = map[string]string{
|
var map_NetworkPolicyEgressRule = map[string]string{
|
||||||
"": "NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. This type is beta-level in 1.8",
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicyEgressRule is deprecated by networking/v1/NetworkPolicyEgressRule. NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. This type is beta-level in 1.8",
|
||||||
"ports": "List of destination ports for outgoing traffic. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.",
|
"ports": "List of destination ports for outgoing traffic. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.",
|
||||||
"to": "List of destinations for outgoing traffic of pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all destinations (traffic not restricted by destination). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the to list.",
|
"to": "List of destinations for outgoing traffic of pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all destinations (traffic not restricted by destination). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the to list.",
|
||||||
}
|
}
|
||||||
@ -377,7 +386,7 @@ func (NetworkPolicyEgressRule) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicyIngressRule = map[string]string{
|
var map_NetworkPolicyIngressRule = map[string]string{
|
||||||
"": "This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.",
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicyIngressRule is deprecated by networking/v1/NetworkPolicyIngressRule. This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.",
|
||||||
"ports": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.",
|
"ports": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.",
|
||||||
"from": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.",
|
"from": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.",
|
||||||
}
|
}
|
||||||
@ -387,7 +396,7 @@ func (NetworkPolicyIngressRule) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicyList = map[string]string{
|
var map_NetworkPolicyList = map[string]string{
|
||||||
"": "Network Policy List is a list of NetworkPolicy objects.",
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList. Network Policy List is a list of NetworkPolicy objects.",
|
||||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
|
||||||
"items": "Items is a list of schema objects.",
|
"items": "Items is a list of schema objects.",
|
||||||
}
|
}
|
||||||
@ -397,6 +406,7 @@ func (NetworkPolicyList) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicyPeer = map[string]string{
|
var map_NetworkPolicyPeer = map[string]string{
|
||||||
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicyPeer is deprecated by networking/v1/NetworkPolicyPeer.",
|
||||||
"podSelector": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If present but empty, this selector selects all pods in this namespace.",
|
"podSelector": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If present but empty, this selector selects all pods in this namespace.",
|
||||||
"namespaceSelector": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If present but empty, this selector selects all namespaces.",
|
"namespaceSelector": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If present but empty, this selector selects all namespaces.",
|
||||||
"ipBlock": "IPBlock defines policy on a particular IPBlock",
|
"ipBlock": "IPBlock defines policy on a particular IPBlock",
|
||||||
@ -407,6 +417,7 @@ func (NetworkPolicyPeer) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicyPort = map[string]string{
|
var map_NetworkPolicyPort = map[string]string{
|
||||||
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicyPort is deprecated by networking/v1/NetworkPolicyPort.",
|
||||||
"protocol": "Optional. The protocol (TCP or UDP) which traffic must match. If not specified, this field defaults to TCP.",
|
"protocol": "Optional. The protocol (TCP or UDP) which traffic must match. If not specified, this field defaults to TCP.",
|
||||||
"port": "If specified, the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.",
|
"port": "If specified, the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.",
|
||||||
}
|
}
|
||||||
@ -416,6 +427,7 @@ func (NetworkPolicyPort) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_NetworkPolicySpec = map[string]string{
|
var map_NetworkPolicySpec = map[string]string{
|
||||||
|
"": "DEPRECATED 1.9 - This group version of NetworkPolicySpec is deprecated by networking/v1/NetworkPolicySpec.",
|
||||||
"podSelector": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
|
"podSelector": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
|
||||||
"ingress": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default).",
|
"ingress": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default).",
|
||||||
"egress": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8",
|
"egress": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8",
|
||||||
@ -465,6 +477,7 @@ var map_PodSecurityPolicySpec = map[string]string{
|
|||||||
"defaultAllowPrivilegeEscalation": "DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.",
|
"defaultAllowPrivilegeEscalation": "DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.",
|
||||||
"allowPrivilegeEscalation": "AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.",
|
"allowPrivilegeEscalation": "AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.",
|
||||||
"allowedHostPaths": "is a white list of allowed host paths. Empty indicates that all host paths may be used.",
|
"allowedHostPaths": "is a white list of allowed host paths. Empty indicates that all host paths may be used.",
|
||||||
|
"allowedFlexVolumes": "AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"Volumes\" field.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (PodSecurityPolicySpec) SwaggerDoc() map[string]string {
|
func (PodSecurityPolicySpec) SwaggerDoc() map[string]string {
|
||||||
|
21
vendor/k8s.io/api/extensions/v1beta1/zz_generated.deepcopy.go
generated
vendored
21
vendor/k8s.io/api/extensions/v1beta1/zz_generated.deepcopy.go
generated
vendored
@ -27,6 +27,22 @@ import (
|
|||||||
intstr "k8s.io/apimachinery/pkg/util/intstr"
|
intstr "k8s.io/apimachinery/pkg/util/intstr"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *AllowedFlexVolume) DeepCopyInto(out *AllowedFlexVolume) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedFlexVolume.
|
||||||
|
func (in *AllowedFlexVolume) DeepCopy() *AllowedFlexVolume {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(AllowedFlexVolume)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *AllowedHostPath) DeepCopyInto(out *AllowedHostPath) {
|
func (in *AllowedHostPath) DeepCopyInto(out *AllowedHostPath) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@ -1194,6 +1210,11 @@ func (in *PodSecurityPolicySpec) DeepCopyInto(out *PodSecurityPolicySpec) {
|
|||||||
*out = make([]AllowedHostPath, len(*in))
|
*out = make([]AllowedHostPath, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.AllowedFlexVolumes != nil {
|
||||||
|
in, out := &in.AllowedFlexVolumes, &out.AllowedFlexVolumes
|
||||||
|
*out = make([]AllowedFlexVolume, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
180
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/helpers.go
generated
vendored
180
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/helpers.go
generated
vendored
@ -31,147 +31,163 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// NestedFieldCopy returns a deep copy of the value of a nested field.
|
// NestedFieldCopy returns a deep copy of the value of a nested field.
|
||||||
// false is returned if the value is missing.
|
// Returns false if the value is missing.
|
||||||
// nil, true is returned for a nil field.
|
// No error is returned for a nil field.
|
||||||
func NestedFieldCopy(obj map[string]interface{}, fields ...string) (interface{}, bool) {
|
func NestedFieldCopy(obj map[string]interface{}, fields ...string) (interface{}, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil, false
|
return nil, found, err
|
||||||
}
|
}
|
||||||
return runtime.DeepCopyJSONValue(val), true
|
return runtime.DeepCopyJSONValue(val), true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func nestedFieldNoCopy(obj map[string]interface{}, fields ...string) (interface{}, bool) {
|
func nestedFieldNoCopy(obj map[string]interface{}, fields ...string) (interface{}, bool, error) {
|
||||||
var val interface{} = obj
|
var val interface{} = obj
|
||||||
for _, field := range fields {
|
for _, field := range fields {
|
||||||
if m, ok := val.(map[string]interface{}); ok {
|
if m, ok := val.(map[string]interface{}); ok {
|
||||||
val, ok = m[field]
|
val, ok = m[field]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, false
|
return nil, false, nil
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Expected map[string]interface{}, got something else
|
return nil, false, fmt.Errorf("%v is of the type %T, expected map[string]interface{}", val, val)
|
||||||
return nil, false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return val, true
|
return val, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedString returns the string value of a nested field.
|
// NestedString returns the string value of a nested field.
|
||||||
// Returns false if value is not found or is not a string.
|
// Returns false if value is not found and an error if not a string.
|
||||||
func NestedString(obj map[string]interface{}, fields ...string) (string, bool) {
|
func NestedString(obj map[string]interface{}, fields ...string) (string, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return "", false
|
return "", found, err
|
||||||
}
|
}
|
||||||
s, ok := val.(string)
|
s, ok := val.(string)
|
||||||
return s, ok
|
if !ok {
|
||||||
|
return "", false, fmt.Errorf("%v is of the type %T, expected string", val, val)
|
||||||
|
}
|
||||||
|
return s, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedBool returns the bool value of a nested field.
|
// NestedBool returns the bool value of a nested field.
|
||||||
// Returns false if value is not found or is not a bool.
|
// Returns false if value is not found and an error if not a bool.
|
||||||
func NestedBool(obj map[string]interface{}, fields ...string) (bool, bool) {
|
func NestedBool(obj map[string]interface{}, fields ...string) (bool, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return false, false
|
return false, found, err
|
||||||
}
|
}
|
||||||
b, ok := val.(bool)
|
b, ok := val.(bool)
|
||||||
return b, ok
|
if !ok {
|
||||||
|
return false, false, fmt.Errorf("%v is of the type %T, expected bool", val, val)
|
||||||
|
}
|
||||||
|
return b, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedFloat64 returns the bool value of a nested field.
|
// NestedFloat64 returns the float64 value of a nested field.
|
||||||
// Returns false if value is not found or is not a float64.
|
// Returns false if value is not found and an error if not a float64.
|
||||||
func NestedFloat64(obj map[string]interface{}, fields ...string) (float64, bool) {
|
func NestedFloat64(obj map[string]interface{}, fields ...string) (float64, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return 0, false
|
return 0, found, err
|
||||||
}
|
}
|
||||||
f, ok := val.(float64)
|
f, ok := val.(float64)
|
||||||
return f, ok
|
if !ok {
|
||||||
|
return 0, false, fmt.Errorf("%v is of the type %T, expected float64", val, val)
|
||||||
|
}
|
||||||
|
return f, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedInt64 returns the int64 value of a nested field.
|
// NestedInt64 returns the int64 value of a nested field.
|
||||||
// Returns false if value is not found or is not an int64.
|
// Returns false if value is not found and an error if not an int64.
|
||||||
func NestedInt64(obj map[string]interface{}, fields ...string) (int64, bool) {
|
func NestedInt64(obj map[string]interface{}, fields ...string) (int64, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return 0, false
|
return 0, found, err
|
||||||
}
|
}
|
||||||
i, ok := val.(int64)
|
i, ok := val.(int64)
|
||||||
return i, ok
|
if !ok {
|
||||||
|
return 0, false, fmt.Errorf("%v is of the type %T, expected int64", val, val)
|
||||||
|
}
|
||||||
|
return i, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedStringSlice returns a copy of []string value of a nested field.
|
// NestedStringSlice returns a copy of []string value of a nested field.
|
||||||
// Returns false if value is not found, is not a []interface{} or contains non-string items in the slice.
|
// Returns false if value is not found and an error if not a []interface{} or contains non-string items in the slice.
|
||||||
func NestedStringSlice(obj map[string]interface{}, fields ...string) ([]string, bool) {
|
func NestedStringSlice(obj map[string]interface{}, fields ...string) ([]string, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
|
if !found || err != nil {
|
||||||
|
return nil, found, err
|
||||||
|
}
|
||||||
|
m, ok := val.([]interface{})
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, false
|
return nil, false, fmt.Errorf("%v is of the type %T, expected []interface{}", val, val)
|
||||||
}
|
}
|
||||||
if m, ok := val.([]interface{}); ok {
|
strSlice := make([]string, 0, len(m))
|
||||||
strSlice := make([]string, 0, len(m))
|
for _, v := range m {
|
||||||
for _, v := range m {
|
if str, ok := v.(string); ok {
|
||||||
if str, ok := v.(string); ok {
|
strSlice = append(strSlice, str)
|
||||||
strSlice = append(strSlice, str)
|
} else {
|
||||||
} else {
|
return nil, false, fmt.Errorf("contains non-string key in the slice: %v is of the type %T, expected string", v, v)
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return strSlice, true
|
|
||||||
}
|
}
|
||||||
return nil, false
|
return strSlice, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedSlice returns a deep copy of []interface{} value of a nested field.
|
// NestedSlice returns a deep copy of []interface{} value of a nested field.
|
||||||
// Returns false if value is not found or is not a []interface{}.
|
// Returns false if value is not found and an error if not a []interface{}.
|
||||||
func NestedSlice(obj map[string]interface{}, fields ...string) ([]interface{}, bool) {
|
func NestedSlice(obj map[string]interface{}, fields ...string) ([]interface{}, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
|
if !found || err != nil {
|
||||||
|
return nil, found, err
|
||||||
|
}
|
||||||
|
_, ok := val.([]interface{})
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, false
|
return nil, false, fmt.Errorf("%v is of the type %T, expected []interface{}", val, val)
|
||||||
}
|
}
|
||||||
if _, ok := val.([]interface{}); ok {
|
return runtime.DeepCopyJSONValue(val).([]interface{}), true, nil
|
||||||
return runtime.DeepCopyJSONValue(val).([]interface{}), true
|
|
||||||
}
|
|
||||||
return nil, false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedStringMap returns a copy of map[string]string value of a nested field.
|
// NestedStringMap returns a copy of map[string]string value of a nested field.
|
||||||
// Returns false if value is not found, is not a map[string]interface{} or contains non-string values in the map.
|
// Returns false if value is not found and an error if not a map[string]interface{} or contains non-string values in the map.
|
||||||
func NestedStringMap(obj map[string]interface{}, fields ...string) (map[string]string, bool) {
|
func NestedStringMap(obj map[string]interface{}, fields ...string) (map[string]string, bool, error) {
|
||||||
m, ok := nestedMapNoCopy(obj, fields...)
|
m, found, err := nestedMapNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil, false
|
return nil, found, err
|
||||||
}
|
}
|
||||||
strMap := make(map[string]string, len(m))
|
strMap := make(map[string]string, len(m))
|
||||||
for k, v := range m {
|
for k, v := range m {
|
||||||
if str, ok := v.(string); ok {
|
if str, ok := v.(string); ok {
|
||||||
strMap[k] = str
|
strMap[k] = str
|
||||||
} else {
|
} else {
|
||||||
return nil, false
|
return nil, false, fmt.Errorf("contains non-string key in the map: %v is of the type %T, expected string", v, v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return strMap, true
|
return strMap, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NestedMap returns a deep copy of map[string]interface{} value of a nested field.
|
// NestedMap returns a deep copy of map[string]interface{} value of a nested field.
|
||||||
// Returns false if value is not found or is not a map[string]interface{}.
|
// Returns false if value is not found and an error if not a map[string]interface{}.
|
||||||
func NestedMap(obj map[string]interface{}, fields ...string) (map[string]interface{}, bool) {
|
func NestedMap(obj map[string]interface{}, fields ...string) (map[string]interface{}, bool, error) {
|
||||||
m, ok := nestedMapNoCopy(obj, fields...)
|
m, found, err := nestedMapNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil, false
|
return nil, found, err
|
||||||
}
|
}
|
||||||
return runtime.DeepCopyJSON(m), true
|
return runtime.DeepCopyJSON(m), true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// nestedMapNoCopy returns a map[string]interface{} value of a nested field.
|
// nestedMapNoCopy returns a map[string]interface{} value of a nested field.
|
||||||
// Returns false if value is not found or is not a map[string]interface{}.
|
// Returns false if value is not found and an error if not a map[string]interface{}.
|
||||||
func nestedMapNoCopy(obj map[string]interface{}, fields ...string) (map[string]interface{}, bool) {
|
func nestedMapNoCopy(obj map[string]interface{}, fields ...string) (map[string]interface{}, bool, error) {
|
||||||
val, ok := nestedFieldNoCopy(obj, fields...)
|
val, found, err := nestedFieldNoCopy(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil, false
|
return nil, found, err
|
||||||
}
|
}
|
||||||
m, ok := val.(map[string]interface{})
|
m, ok := val.(map[string]interface{})
|
||||||
return m, ok
|
if !ok {
|
||||||
|
return nil, false, fmt.Errorf("%v is of the type %T, expected map[string]interface{}", val, val)
|
||||||
|
}
|
||||||
|
return m, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetNestedField sets the value of a nested field to a deep copy of the value provided.
|
// SetNestedField sets the value of a nested field to a deep copy of the value provided.
|
||||||
@ -245,8 +261,8 @@ func RemoveNestedField(obj map[string]interface{}, fields ...string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getNestedString(obj map[string]interface{}, fields ...string) string {
|
func getNestedString(obj map[string]interface{}, fields ...string) string {
|
||||||
val, ok := NestedString(obj, fields...)
|
val, found, err := NestedString(obj, fields...)
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
return val
|
return val
|
||||||
@ -256,11 +272,11 @@ func extractOwnerReference(v map[string]interface{}) metav1.OwnerReference {
|
|||||||
// though this field is a *bool, but when decoded from JSON, it's
|
// though this field is a *bool, but when decoded from JSON, it's
|
||||||
// unmarshalled as bool.
|
// unmarshalled as bool.
|
||||||
var controllerPtr *bool
|
var controllerPtr *bool
|
||||||
if controller, ok := NestedBool(v, "controller"); ok {
|
if controller, found, err := NestedBool(v, "controller"); err == nil && found {
|
||||||
controllerPtr = &controller
|
controllerPtr = &controller
|
||||||
}
|
}
|
||||||
var blockOwnerDeletionPtr *bool
|
var blockOwnerDeletionPtr *bool
|
||||||
if blockOwnerDeletion, ok := NestedBool(v, "blockOwnerDeletion"); ok {
|
if blockOwnerDeletion, found, err := NestedBool(v, "blockOwnerDeletion"); err == nil && found {
|
||||||
blockOwnerDeletionPtr = &blockOwnerDeletion
|
blockOwnerDeletionPtr = &blockOwnerDeletion
|
||||||
}
|
}
|
||||||
return metav1.OwnerReference{
|
return metav1.OwnerReference{
|
||||||
|
22
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go
generated
vendored
22
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go
generated
vendored
@ -138,8 +138,8 @@ func (u *Unstructured) setNestedMap(value map[string]string, fields ...string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetOwnerReferences() []metav1.OwnerReference {
|
func (u *Unstructured) GetOwnerReferences() []metav1.OwnerReference {
|
||||||
field, ok := nestedFieldNoCopy(u.Object, "metadata", "ownerReferences")
|
field, found, err := nestedFieldNoCopy(u.Object, "metadata", "ownerReferences")
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
original, ok := field.([]interface{})
|
original, ok := field.([]interface{})
|
||||||
@ -228,8 +228,8 @@ func (u *Unstructured) SetResourceVersion(version string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetGeneration() int64 {
|
func (u *Unstructured) GetGeneration() int64 {
|
||||||
val, ok := NestedInt64(u.Object, "metadata", "generation")
|
val, found, err := NestedInt64(u.Object, "metadata", "generation")
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return val
|
return val
|
||||||
@ -289,8 +289,8 @@ func (u *Unstructured) SetDeletionTimestamp(timestamp *metav1.Time) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetDeletionGracePeriodSeconds() *int64 {
|
func (u *Unstructured) GetDeletionGracePeriodSeconds() *int64 {
|
||||||
val, ok := NestedInt64(u.Object, "metadata", "deletionGracePeriodSeconds")
|
val, found, err := NestedInt64(u.Object, "metadata", "deletionGracePeriodSeconds")
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return &val
|
return &val
|
||||||
@ -305,7 +305,7 @@ func (u *Unstructured) SetDeletionGracePeriodSeconds(deletionGracePeriodSeconds
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetLabels() map[string]string {
|
func (u *Unstructured) GetLabels() map[string]string {
|
||||||
m, _ := NestedStringMap(u.Object, "metadata", "labels")
|
m, _, _ := NestedStringMap(u.Object, "metadata", "labels")
|
||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,7 +314,7 @@ func (u *Unstructured) SetLabels(labels map[string]string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetAnnotations() map[string]string {
|
func (u *Unstructured) GetAnnotations() map[string]string {
|
||||||
m, _ := NestedStringMap(u.Object, "metadata", "annotations")
|
m, _, _ := NestedStringMap(u.Object, "metadata", "annotations")
|
||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -337,8 +337,8 @@ func (u *Unstructured) GroupVersionKind() schema.GroupVersionKind {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetInitializers() *metav1.Initializers {
|
func (u *Unstructured) GetInitializers() *metav1.Initializers {
|
||||||
m, ok := nestedMapNoCopy(u.Object, "metadata", "initializers")
|
m, found, err := nestedMapNoCopy(u.Object, "metadata", "initializers")
|
||||||
if !ok {
|
if !found || err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
out := &metav1.Initializers{}
|
out := &metav1.Initializers{}
|
||||||
@ -362,7 +362,7 @@ func (u *Unstructured) SetInitializers(initializers *metav1.Initializers) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (u *Unstructured) GetFinalizers() []string {
|
func (u *Unstructured) GetFinalizers() []string {
|
||||||
val, _ := NestedStringSlice(u.Object, "metadata", "finalizers")
|
val, _, _ := NestedStringSlice(u.Object, "metadata", "finalizers")
|
||||||
return val
|
return val
|
||||||
}
|
}
|
||||||
|
|
||||||
|
58
vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go
generated
vendored
58
vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go
generated
vendored
@ -98,11 +98,29 @@ func init() {
|
|||||||
jsoniter.RegisterTypeDecoderFunc("interface {}", decodeNumberAsInt64IfPossible)
|
jsoniter.RegisterTypeDecoderFunc("interface {}", decodeNumberAsInt64IfPossible)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// gvkWithDefaults returns group kind and version defaulting from provided default
|
||||||
|
func gvkWithDefaults(actual, defaultGVK schema.GroupVersionKind) schema.GroupVersionKind {
|
||||||
|
if len(actual.Kind) == 0 {
|
||||||
|
actual.Kind = defaultGVK.Kind
|
||||||
|
}
|
||||||
|
if len(actual.Version) == 0 && len(actual.Group) == 0 {
|
||||||
|
actual.Group = defaultGVK.Group
|
||||||
|
actual.Version = defaultGVK.Version
|
||||||
|
}
|
||||||
|
if len(actual.Version) == 0 && actual.Group == defaultGVK.Group {
|
||||||
|
actual.Version = defaultGVK.Version
|
||||||
|
}
|
||||||
|
return actual
|
||||||
|
}
|
||||||
|
|
||||||
// Decode attempts to convert the provided data into YAML or JSON, extract the stored schema kind, apply the provided default gvk, and then
|
// 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
|
// load that data into an object matching the desired schema kind or the provided into.
|
||||||
// extracted and no decoding will be performed. If into is not registered with the typer, then the object will be straight decoded using
|
// If into is *runtime.Unknown, the raw data will be extracted and no decoding will be performed.
|
||||||
// normal JSON/YAML unmarshalling. If into is provided and the original data is not fully qualified with kind/version/group, the type of
|
// If into is not registered with the typer, then the object will be straight decoded using normal JSON/YAML unmarshalling.
|
||||||
// the into will be used to alter the returned gvk. On success or most errors, the method will return the calculated schema kind.
|
// 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.
|
||||||
|
// If into is nil or data's gvk different from into's gvk, it will generate a new Object with ObjectCreater.New(gvk)
|
||||||
|
// On success or most errors, the method will return the calculated schema kind.
|
||||||
|
// The gvk calculate priority will be originalData > default gvk > into
|
||||||
func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) {
|
func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) {
|
||||||
if versioned, ok := into.(*runtime.VersionedObjects); ok {
|
if versioned, ok := into.(*runtime.VersionedObjects); ok {
|
||||||
into = versioned.Last()
|
into = versioned.Last()
|
||||||
@ -129,17 +147,7 @@ func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
if gvk != nil {
|
if gvk != nil {
|
||||||
// apply kind and version defaulting from provided default
|
*actual = gvkWithDefaults(*actual, *gvk)
|
||||||
if len(actual.Kind) == 0 {
|
|
||||||
actual.Kind = gvk.Kind
|
|
||||||
}
|
|
||||||
if len(actual.Version) == 0 && len(actual.Group) == 0 {
|
|
||||||
actual.Group = gvk.Group
|
|
||||||
actual.Version = gvk.Version
|
|
||||||
}
|
|
||||||
if len(actual.Version) == 0 && actual.Group == gvk.Group {
|
|
||||||
actual.Version = gvk.Version
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if unk, ok := into.(*runtime.Unknown); ok && unk != nil {
|
if unk, ok := into.(*runtime.Unknown); ok && unk != nil {
|
||||||
@ -154,24 +162,14 @@ func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, i
|
|||||||
types, _, err := s.typer.ObjectKinds(into)
|
types, _, err := s.typer.ObjectKinds(into)
|
||||||
switch {
|
switch {
|
||||||
case runtime.IsNotRegisteredError(err), isUnstructured:
|
case runtime.IsNotRegisteredError(err), isUnstructured:
|
||||||
if err := jsoniter.ConfigFastest.Unmarshal(data, into); err != nil {
|
if err := jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(data, into); err != nil {
|
||||||
return nil, actual, err
|
return nil, actual, err
|
||||||
}
|
}
|
||||||
return into, actual, nil
|
return into, actual, nil
|
||||||
case err != nil:
|
case err != nil:
|
||||||
return nil, actual, err
|
return nil, actual, err
|
||||||
default:
|
default:
|
||||||
typed := types[0]
|
*actual = gvkWithDefaults(*actual, types[0])
|
||||||
if len(actual.Kind) == 0 {
|
|
||||||
actual.Kind = typed.Kind
|
|
||||||
}
|
|
||||||
if len(actual.Version) == 0 && len(actual.Group) == 0 {
|
|
||||||
actual.Group = typed.Group
|
|
||||||
actual.Version = typed.Version
|
|
||||||
}
|
|
||||||
if len(actual.Version) == 0 && actual.Group == typed.Group {
|
|
||||||
actual.Version = typed.Version
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +186,7 @@ func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, i
|
|||||||
return nil, actual, err
|
return nil, actual, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := jsoniter.ConfigFastest.Unmarshal(data, obj); err != nil {
|
if err := jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal(data, obj); err != nil {
|
||||||
return nil, actual, err
|
return nil, actual, err
|
||||||
}
|
}
|
||||||
return obj, actual, nil
|
return obj, actual, nil
|
||||||
@ -197,7 +195,7 @@ func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, i
|
|||||||
// Encode serializes the provided object to the given writer.
|
// Encode serializes the provided object to the given writer.
|
||||||
func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error {
|
func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error {
|
||||||
if s.yaml {
|
if s.yaml {
|
||||||
json, err := jsoniter.ConfigFastest.Marshal(obj)
|
json, err := jsoniter.ConfigCompatibleWithStandardLibrary.Marshal(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -210,7 +208,7 @@ func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if s.pretty {
|
if s.pretty {
|
||||||
data, err := jsoniter.ConfigFastest.MarshalIndent(obj, "", " ")
|
data, err := jsoniter.ConfigCompatibleWithStandardLibrary.MarshalIndent(obj, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
9
vendor/k8s.io/client-go/discovery/discovery_client.go
generated
vendored
9
vendor/k8s.io/client-go/discovery/discovery_client.go
generated
vendored
@ -395,15 +395,6 @@ func NewDiscoveryClient(c restclient.Interface) *DiscoveryClient {
|
|||||||
return &DiscoveryClient{restClient: c, LegacyPrefix: "/api"}
|
return &DiscoveryClient{restClient: c, LegacyPrefix: "/api"}
|
||||||
}
|
}
|
||||||
|
|
||||||
func stringDoesntExistIn(str string, slice []string) bool {
|
|
||||||
for _, s := range slice {
|
|
||||||
if s == str {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// RESTClient returns a RESTClient that is used to communicate
|
// RESTClient returns a RESTClient that is used to communicate
|
||||||
// with API server by this client implementation.
|
// with API server by this client implementation.
|
||||||
func (c *DiscoveryClient) RESTClient() restclient.Interface {
|
func (c *DiscoveryClient) RESTClient() restclient.Interface {
|
||||||
|
6
vendor/k8s.io/client-go/listers/apps/v1/BUILD
generated
vendored
6
vendor/k8s.io/client-go/listers/apps/v1/BUILD
generated
vendored
@ -5,16 +5,22 @@ go_library(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"controllerrevision.go",
|
"controllerrevision.go",
|
||||||
"daemonset.go",
|
"daemonset.go",
|
||||||
|
"daemonset_expansion.go",
|
||||||
"deployment.go",
|
"deployment.go",
|
||||||
|
"deployment_expansion.go",
|
||||||
"expansion_generated.go",
|
"expansion_generated.go",
|
||||||
"replicaset.go",
|
"replicaset.go",
|
||||||
|
"replicaset_expansion.go",
|
||||||
"statefulset.go",
|
"statefulset.go",
|
||||||
|
"statefulset_expansion.go",
|
||||||
],
|
],
|
||||||
importpath = "k8s.io/client-go/listers/apps/v1",
|
importpath = "k8s.io/client-go/listers/apps/v1",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//vendor/k8s.io/api/apps/v1:go_default_library",
|
"//vendor/k8s.io/api/apps/v1:go_default_library",
|
||||||
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||||
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
||||||
],
|
],
|
||||||
|
113
vendor/k8s.io/client-go/listers/apps/v1/daemonset_expansion.go
generated
vendored
Normal file
113
vendor/k8s.io/client-go/listers/apps/v1/daemonset_expansion.go
generated
vendored
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
apps "k8s.io/api/apps/v1"
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DaemonSetListerExpansion allows custom methods to be added to
|
||||||
|
// DaemonSetLister.
|
||||||
|
type DaemonSetListerExpansion interface {
|
||||||
|
GetPodDaemonSets(pod *v1.Pod) ([]*apps.DaemonSet, error)
|
||||||
|
GetHistoryDaemonSets(history *apps.ControllerRevision) ([]*apps.DaemonSet, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DaemonSetNamespaceListerExpansion allows custom methods to be added to
|
||||||
|
// DaemonSetNamespaceLister.
|
||||||
|
type DaemonSetNamespaceListerExpansion interface{}
|
||||||
|
|
||||||
|
// GetPodDaemonSets returns a list of DaemonSets that potentially match a pod.
|
||||||
|
// Only the one specified in the Pod's ControllerRef will actually manage it.
|
||||||
|
// Returns an error only if no matching DaemonSets are found.
|
||||||
|
func (s *daemonSetLister) GetPodDaemonSets(pod *v1.Pod) ([]*apps.DaemonSet, error) {
|
||||||
|
var selector labels.Selector
|
||||||
|
var daemonSet *apps.DaemonSet
|
||||||
|
|
||||||
|
if len(pod.Labels) == 0 {
|
||||||
|
return nil, fmt.Errorf("no daemon sets found for pod %v because it has no labels", pod.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
list, err := s.DaemonSets(pod.Namespace).List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var daemonSets []*apps.DaemonSet
|
||||||
|
for i := range list {
|
||||||
|
daemonSet = list[i]
|
||||||
|
if daemonSet.Namespace != pod.Namespace {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
selector, err = metav1.LabelSelectorAsSelector(daemonSet.Spec.Selector)
|
||||||
|
if err != nil {
|
||||||
|
// this should not happen if the DaemonSet passed validation
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// If a daemonSet with a nil or empty selector creeps in, it should match nothing, not everything.
|
||||||
|
if selector.Empty() || !selector.Matches(labels.Set(pod.Labels)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
daemonSets = append(daemonSets, daemonSet)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(daemonSets) == 0 {
|
||||||
|
return nil, fmt.Errorf("could not find daemon set for pod %s in namespace %s with labels: %v", pod.Name, pod.Namespace, pod.Labels)
|
||||||
|
}
|
||||||
|
|
||||||
|
return daemonSets, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetHistoryDaemonSets returns a list of DaemonSets that potentially
|
||||||
|
// match a ControllerRevision. Only the one specified in the ControllerRevision's ControllerRef
|
||||||
|
// will actually manage it.
|
||||||
|
// Returns an error only if no matching DaemonSets are found.
|
||||||
|
func (s *daemonSetLister) GetHistoryDaemonSets(history *apps.ControllerRevision) ([]*apps.DaemonSet, error) {
|
||||||
|
if len(history.Labels) == 0 {
|
||||||
|
return nil, fmt.Errorf("no DaemonSet found for ControllerRevision %s because it has no labels", history.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
list, err := s.DaemonSets(history.Namespace).List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var daemonSets []*apps.DaemonSet
|
||||||
|
for _, ds := range list {
|
||||||
|
selector, err := metav1.LabelSelectorAsSelector(ds.Spec.Selector)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("invalid label selector: %v", err)
|
||||||
|
}
|
||||||
|
// If a DaemonSet with a nil or empty selector creeps in, it should match nothing, not everything.
|
||||||
|
if selector.Empty() || !selector.Matches(labels.Set(history.Labels)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
daemonSets = append(daemonSets, ds)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(daemonSets) == 0 {
|
||||||
|
return nil, fmt.Errorf("could not find DaemonSets for ControllerRevision %s in namespace %s with labels: %v", history.Name, history.Namespace, history.Labels)
|
||||||
|
}
|
||||||
|
|
||||||
|
return daemonSets, nil
|
||||||
|
}
|
70
vendor/k8s.io/client-go/listers/apps/v1/deployment_expansion.go
generated
vendored
Normal file
70
vendor/k8s.io/client-go/listers/apps/v1/deployment_expansion.go
generated
vendored
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
apps "k8s.io/api/apps/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeploymentListerExpansion allows custom methods to be added to
|
||||||
|
// DeploymentLister.
|
||||||
|
type DeploymentListerExpansion interface {
|
||||||
|
GetDeploymentsForReplicaSet(rs *apps.ReplicaSet) ([]*apps.Deployment, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeploymentNamespaceListerExpansion allows custom methods to be added to
|
||||||
|
// DeploymentNamespaceLister.
|
||||||
|
type DeploymentNamespaceListerExpansion interface{}
|
||||||
|
|
||||||
|
// GetDeploymentsForReplicaSet returns a list of Deployments that potentially
|
||||||
|
// match a ReplicaSet. Only the one specified in the ReplicaSet's ControllerRef
|
||||||
|
// will actually manage it.
|
||||||
|
// Returns an error only if no matching Deployments are found.
|
||||||
|
func (s *deploymentLister) GetDeploymentsForReplicaSet(rs *apps.ReplicaSet) ([]*apps.Deployment, error) {
|
||||||
|
if len(rs.Labels) == 0 {
|
||||||
|
return nil, fmt.Errorf("no deployments found for ReplicaSet %v because it has no labels", rs.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: MODIFY THIS METHOD so that it checks for the podTemplateSpecHash label
|
||||||
|
dList, err := s.Deployments(rs.Namespace).List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var deployments []*apps.Deployment
|
||||||
|
for _, d := range dList {
|
||||||
|
selector, err := metav1.LabelSelectorAsSelector(d.Spec.Selector)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("invalid label selector: %v", err)
|
||||||
|
}
|
||||||
|
// If a deployment with a nil or empty selector creeps in, it should match nothing, not everything.
|
||||||
|
if selector.Empty() || !selector.Matches(labels.Set(rs.Labels)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
deployments = append(deployments, d)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(deployments) == 0 {
|
||||||
|
return nil, fmt.Errorf("could not find deployments set for ReplicaSet %s in namespace %s with labels: %v", rs.Name, rs.Namespace, rs.Labels)
|
||||||
|
}
|
||||||
|
|
||||||
|
return deployments, nil
|
||||||
|
}
|
32
vendor/k8s.io/client-go/listers/apps/v1/expansion_generated.go
generated
vendored
32
vendor/k8s.io/client-go/listers/apps/v1/expansion_generated.go
generated
vendored
@ -25,35 +25,3 @@ type ControllerRevisionListerExpansion interface{}
|
|||||||
// ControllerRevisionNamespaceListerExpansion allows custom methods to be added to
|
// ControllerRevisionNamespaceListerExpansion allows custom methods to be added to
|
||||||
// ControllerRevisionNamespaceLister.
|
// ControllerRevisionNamespaceLister.
|
||||||
type ControllerRevisionNamespaceListerExpansion interface{}
|
type ControllerRevisionNamespaceListerExpansion interface{}
|
||||||
|
|
||||||
// DaemonSetListerExpansion allows custom methods to be added to
|
|
||||||
// DaemonSetLister.
|
|
||||||
type DaemonSetListerExpansion interface{}
|
|
||||||
|
|
||||||
// DaemonSetNamespaceListerExpansion allows custom methods to be added to
|
|
||||||
// DaemonSetNamespaceLister.
|
|
||||||
type DaemonSetNamespaceListerExpansion interface{}
|
|
||||||
|
|
||||||
// DeploymentListerExpansion allows custom methods to be added to
|
|
||||||
// DeploymentLister.
|
|
||||||
type DeploymentListerExpansion interface{}
|
|
||||||
|
|
||||||
// DeploymentNamespaceListerExpansion allows custom methods to be added to
|
|
||||||
// DeploymentNamespaceLister.
|
|
||||||
type DeploymentNamespaceListerExpansion interface{}
|
|
||||||
|
|
||||||
// ReplicaSetListerExpansion allows custom methods to be added to
|
|
||||||
// ReplicaSetLister.
|
|
||||||
type ReplicaSetListerExpansion interface{}
|
|
||||||
|
|
||||||
// ReplicaSetNamespaceListerExpansion allows custom methods to be added to
|
|
||||||
// ReplicaSetNamespaceLister.
|
|
||||||
type ReplicaSetNamespaceListerExpansion interface{}
|
|
||||||
|
|
||||||
// StatefulSetListerExpansion allows custom methods to be added to
|
|
||||||
// StatefulSetLister.
|
|
||||||
type StatefulSetListerExpansion interface{}
|
|
||||||
|
|
||||||
// StatefulSetNamespaceListerExpansion allows custom methods to be added to
|
|
||||||
// StatefulSetNamespaceLister.
|
|
||||||
type StatefulSetNamespaceListerExpansion interface{}
|
|
||||||
|
73
vendor/k8s.io/client-go/listers/apps/v1/replicaset_expansion.go
generated
vendored
Normal file
73
vendor/k8s.io/client-go/listers/apps/v1/replicaset_expansion.go
generated
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
apps "k8s.io/api/apps/v1"
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ReplicaSetListerExpansion allows custom methods to be added to
|
||||||
|
// ReplicaSetLister.
|
||||||
|
type ReplicaSetListerExpansion interface {
|
||||||
|
GetPodReplicaSets(pod *v1.Pod) ([]*apps.ReplicaSet, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReplicaSetNamespaceListerExpansion allows custom methods to be added to
|
||||||
|
// ReplicaSetNamespaceLister.
|
||||||
|
type ReplicaSetNamespaceListerExpansion interface{}
|
||||||
|
|
||||||
|
// GetPodReplicaSets returns a list of ReplicaSets that potentially match a pod.
|
||||||
|
// Only the one specified in the Pod's ControllerRef will actually manage it.
|
||||||
|
// Returns an error only if no matching ReplicaSets are found.
|
||||||
|
func (s *replicaSetLister) GetPodReplicaSets(pod *v1.Pod) ([]*apps.ReplicaSet, error) {
|
||||||
|
if len(pod.Labels) == 0 {
|
||||||
|
return nil, fmt.Errorf("no ReplicaSets found for pod %v because it has no labels", pod.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
list, err := s.ReplicaSets(pod.Namespace).List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var rss []*apps.ReplicaSet
|
||||||
|
for _, rs := range list {
|
||||||
|
if rs.Namespace != pod.Namespace {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
selector, err := metav1.LabelSelectorAsSelector(rs.Spec.Selector)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("invalid selector: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// If a ReplicaSet with a nil or empty selector creeps in, it should match nothing, not everything.
|
||||||
|
if selector.Empty() || !selector.Matches(labels.Set(pod.Labels)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
rss = append(rss, rs)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(rss) == 0 {
|
||||||
|
return nil, fmt.Errorf("could not find ReplicaSet for pod %s in namespace %s with labels: %v", pod.Name, pod.Namespace, pod.Labels)
|
||||||
|
}
|
||||||
|
|
||||||
|
return rss, nil
|
||||||
|
}
|
77
vendor/k8s.io/client-go/listers/apps/v1/statefulset_expansion.go
generated
vendored
Normal file
77
vendor/k8s.io/client-go/listers/apps/v1/statefulset_expansion.go
generated
vendored
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
apps "k8s.io/api/apps/v1"
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
|
)
|
||||||
|
|
||||||
|
// StatefulSetListerExpansion allows custom methods to be added to
|
||||||
|
// StatefulSetLister.
|
||||||
|
type StatefulSetListerExpansion interface {
|
||||||
|
GetPodStatefulSets(pod *v1.Pod) ([]*apps.StatefulSet, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatefulSetNamespaceListerExpansion allows custom methods to be added to
|
||||||
|
// StatefulSetNamespaceLister.
|
||||||
|
type StatefulSetNamespaceListerExpansion interface{}
|
||||||
|
|
||||||
|
// GetPodStatefulSets returns a list of StatefulSets that potentially match a pod.
|
||||||
|
// Only the one specified in the Pod's ControllerRef will actually manage it.
|
||||||
|
// Returns an error only if no matching StatefulSets are found.
|
||||||
|
func (s *statefulSetLister) GetPodStatefulSets(pod *v1.Pod) ([]*apps.StatefulSet, error) {
|
||||||
|
var selector labels.Selector
|
||||||
|
var ps *apps.StatefulSet
|
||||||
|
|
||||||
|
if len(pod.Labels) == 0 {
|
||||||
|
return nil, fmt.Errorf("no StatefulSets found for pod %v because it has no labels", pod.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
list, err := s.StatefulSets(pod.Namespace).List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var psList []*apps.StatefulSet
|
||||||
|
for i := range list {
|
||||||
|
ps = list[i]
|
||||||
|
if ps.Namespace != pod.Namespace {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
selector, err = metav1.LabelSelectorAsSelector(ps.Spec.Selector)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("invalid selector: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// If a StatefulSet with a nil or empty selector creeps in, it should match nothing, not everything.
|
||||||
|
if selector.Empty() || !selector.Matches(labels.Set(pod.Labels)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
psList = append(psList, ps)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(psList) == 0 {
|
||||||
|
return nil, fmt.Errorf("could not find StatefulSet for pod %s in namespace %s with labels: %v", pod.Name, pod.Namespace, pod.Labels)
|
||||||
|
}
|
||||||
|
|
||||||
|
return psList, nil
|
||||||
|
}
|
2
vendor/k8s.io/client-go/transport/cache.go
generated
vendored
2
vendor/k8s.io/client-go/transport/cache.go
generated
vendored
@ -88,5 +88,5 @@ func tlsConfigKey(c *Config) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
// Only include the things that actually affect the tls.Config
|
// Only include the things that actually affect the tls.Config
|
||||||
return fmt.Sprintf("%v/%x/%x/%x", c.TLS.Insecure, c.TLS.CAData, c.TLS.CertData, c.TLS.KeyData), nil
|
return fmt.Sprintf("%v/%x/%x/%x/%v", c.TLS.Insecure, c.TLS.CAData, c.TLS.CertData, c.TLS.KeyData, c.TLS.ServerName), nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user