diff --git a/Gopkg.lock b/Gopkg.lock
deleted file mode 100644
index b15113fbf..000000000
--- a/Gopkg.lock
+++ /dev/null
@@ -1,890 +0,0 @@
-# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
-
-
-[[projects]]
- branch = "master"
- digest = "1:9994bf7c1ebadc98438a920859a7d37101da024611108d47dfd312257c63b6d8"
- name = "github.com/InVisionApp/conjungo"
- packages = ["."]
- pruneopts = "NUT"
- revision = "b3e69d3d701c8ca2652b517823173d58471ae1c2"
-
-[[projects]]
- branch = "release-1.14"
- digest = "1:fb35e22470f02100c1692b12a5536f41d262e7a72833a12b522e7ce3dc056a0a"
- name = "github.com/caicloud/clientset"
- packages = [
- "informers",
- "informers/alerting",
- "informers/alerting/v1alpha1",
- "informers/alerting/v1alpha2",
- "informers/apiextensions",
- "informers/apiextensions/v1beta1",
- "informers/apiregistration",
- "informers/apiregistration/v1",
- "informers/clever",
- "informers/clever/v1alpha1",
- "informers/clever/v1alpha2",
- "informers/clever/v1alpha3",
- "informers/cnetworking",
- "informers/cnetworking/v1alpha1",
- "informers/config",
- "informers/config/v1alpha1",
- "informers/dataset",
- "informers/dataset/v1alpha1",
- "informers/dataset/v1alpha2",
- "informers/devops",
- "informers/devops/v1",
- "informers/evaluation",
- "informers/evaluation/v1alpha1",
- "informers/loadbalance",
- "informers/loadbalance/v1alpha2",
- "informers/logging",
- "informers/logging/v1alpha1",
- "informers/microservice",
- "informers/microservice/v1alpha1",
- "informers/model",
- "informers/model/v1alpha1",
- "informers/orchestration",
- "informers/orchestration/v1alpha1",
- "informers/release",
- "informers/release/v1alpha1",
- "informers/resource",
- "informers/resource/v1alpha1",
- "informers/resource/v1beta1",
- "informers/servicemesh",
- "informers/servicemesh/v1alpha1",
- "informers/serving",
- "informers/serving/v1alpha1",
- "informers/tenant",
- "informers/tenant/v1alpha1",
- "informers/workload",
- "informers/workload/v1alpha1",
- "informers/workload/v1beta1",
- "kubernetes",
- "kubernetes/scheme",
- "kubernetes/typed/alerting/v1alpha1",
- "kubernetes/typed/alerting/v1alpha2",
- "kubernetes/typed/apiextensions/v1beta1",
- "kubernetes/typed/apiregistration/v1",
- "kubernetes/typed/clever/v1alpha1",
- "kubernetes/typed/clever/v1alpha2",
- "kubernetes/typed/clever/v1alpha3",
- "kubernetes/typed/cnetworking/v1alpha1",
- "kubernetes/typed/config/v1alpha1",
- "kubernetes/typed/dataset/v1alpha1",
- "kubernetes/typed/dataset/v1alpha2",
- "kubernetes/typed/devops/v1",
- "kubernetes/typed/evaluation/v1alpha1",
- "kubernetes/typed/loadbalance/v1alpha2",
- "kubernetes/typed/logging/v1alpha1",
- "kubernetes/typed/microservice/v1alpha1",
- "kubernetes/typed/model/v1alpha1",
- "kubernetes/typed/orchestration/v1alpha1",
- "kubernetes/typed/release/v1alpha1",
- "kubernetes/typed/resource/v1alpha1",
- "kubernetes/typed/resource/v1beta1",
- "kubernetes/typed/servicemesh/v1alpha1",
- "kubernetes/typed/serving/v1alpha1",
- "kubernetes/typed/tenant/v1alpha1",
- "kubernetes/typed/workload/v1alpha1",
- "kubernetes/typed/workload/v1beta1",
- "listers/alerting/v1alpha1",
- "listers/alerting/v1alpha2",
- "listers/apiextensions/v1beta1",
- "listers/apiregistration/v1",
- "listers/clever/v1alpha1",
- "listers/clever/v1alpha2",
- "listers/clever/v1alpha3",
- "listers/cnetworking/v1alpha1",
- "listers/config/v1alpha1",
- "listers/dataset/v1alpha1",
- "listers/dataset/v1alpha2",
- "listers/devops/v1",
- "listers/evaluation/v1alpha1",
- "listers/loadbalance/v1alpha2",
- "listers/logging/v1alpha1",
- "listers/microservice/v1alpha1",
- "listers/model/v1alpha1",
- "listers/orchestration/v1alpha1",
- "listers/release/v1alpha1",
- "listers/resource/v1alpha1",
- "listers/resource/v1beta1",
- "listers/servicemesh/v1alpha1",
- "listers/serving/v1alpha1",
- "listers/tenant/v1alpha1",
- "listers/workload/v1alpha1",
- "listers/workload/v1beta1",
- "pkg/apis/alerting/v1alpha1",
- "pkg/apis/alerting/v1alpha2",
- "pkg/apis/apiextensions/v1beta1",
- "pkg/apis/apiregistration/v1",
- "pkg/apis/clever/v1alpha1",
- "pkg/apis/clever/v1alpha2",
- "pkg/apis/clever/v1alpha3",
- "pkg/apis/cnetworking/v1alpha1",
- "pkg/apis/config/v1alpha1",
- "pkg/apis/dataset/v1alpha1",
- "pkg/apis/dataset/v1alpha2",
- "pkg/apis/devops/v1",
- "pkg/apis/evaluation/v1alpha1",
- "pkg/apis/loadbalance/v1alpha2",
- "pkg/apis/logging/v1alpha1",
- "pkg/apis/microservice/v1alpha1",
- "pkg/apis/model/v1alpha1",
- "pkg/apis/orchestration/v1alpha1",
- "pkg/apis/release/v1alpha1",
- "pkg/apis/resource/v1alpha1",
- "pkg/apis/resource/v1beta1",
- "pkg/apis/servicemesh/v1alpha1",
- "pkg/apis/serving/v1alpha1",
- "pkg/apis/tenant/v1alpha1",
- "pkg/apis/workload/v1alpha1",
- "pkg/apis/workload/v1beta1",
- "util/controller",
- "util/event",
- "util/status",
- "util/syncqueue",
- ]
- pruneopts = "NUT"
- revision = "7a1797804a9c635c2e00ee98b0c964af501db0b3"
-
-[[projects]]
- digest = "1:c0eec4f5d71d69aace7ac33d0b787f03825baa0ac9528a14c066e356121070a0"
- name = "github.com/caicloud/go-common"
- packages = ["kubernetes/client"]
- pruneopts = "NUT"
- revision = "03bf68f79b2c6ec06b32987b87e040c0d17f650a"
- version = "v0.2.6"
-
-[[projects]]
- digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec"
- name = "github.com/davecgh/go-spew"
- packages = ["spew"]
- pruneopts = "NUT"
- revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
- version = "v1.1.1"
-
-[[projects]]
- digest = "1:4ddc17aeaa82cb18c5f0a25d7c253a10682f518f4b2558a82869506eec223d76"
- name = "github.com/docker/distribution"
- packages = [
- "digestset",
- "reference",
- ]
- pruneopts = "NUT"
- revision = "2461543d988979529609e8cb6fca9ca190dc48da"
- version = "v2.7.1"
-
-[[projects]]
- digest = "1:2b0e6c0bea11257c646616ebd6a62be0ef2b6a0fd8210ac3caeaf57ee136123b"
- name = "github.com/gogo/protobuf"
- packages = [
- "proto",
- "sortkeys",
- ]
- pruneopts = "NUT"
- revision = "5628607bb4c51c3157aacc3a50f0ab707582b805"
- version = "v1.3.1"
-
-[[projects]]
- digest = "1:a06187c7498a14ab96bb909e09af9ce1687678f355b775bcf1dc84729e2a2100"
- name = "github.com/golang/protobuf"
- packages = [
- "proto",
- "ptypes",
- "ptypes/any",
- "ptypes/duration",
- "ptypes/timestamp",
- ]
- pruneopts = "NUT"
- revision = "d23c5127dc24889085f8ccea5c9d560a57a879d8"
- version = "v1.3.3"
-
-[[projects]]
- digest = "1:3ec6c8e4b700377066dbb5ab3155c55f97109ab6147fee9423a68506d79bbafa"
- name = "github.com/google/gofuzz"
- packages = ["."]
- pruneopts = "NUT"
- revision = "db92cf7ae75e4a7a28abc005addab2b394362888"
- version = "v1.1.0"
-
-[[projects]]
- digest = "1:7e0eb2ee87b3ce6e617522e181968f7c964a80364a6d1ef68396826f5c9e1ba7"
- name = "github.com/googleapis/gnostic"
- packages = [
- "OpenAPIv2",
- "compiler",
- "extensions",
- ]
- pruneopts = "NUT"
- revision = "99384834bf8c58ce7ab88db353283bedcb53e1ca"
- version = "v0.4.0"
-
-[[projects]]
- digest = "1:9676627451831e0d8e347007d871eac494ce51d55b95a3fe1fac30ad8d717ab9"
- name = "github.com/hashicorp/golang-lru"
- packages = [
- ".",
- "simplelru",
- ]
- pruneopts = "NUT"
- revision = "14eae340515388ca95aa8e7b86f0de668e981f54"
- version = "v0.5.4"
-
-[[projects]]
- digest = "1:7c47a990a91ab4922f4009c8ba8dcf35dad08e2b697cf26ea87eaae90e3f7aa1"
- name = "github.com/imdario/mergo"
- packages = ["."]
- pruneopts = "NUT"
- revision = "1afb36080aec31e0d1528973ebe6721b191b0369"
- version = "v0.3.8"
-
-[[projects]]
- digest = "1:406338ad39ab2e37b7f4452906442a3dbf0eb3379dd1f06aafb5c07e769a5fbb"
- name = "github.com/inconshreveable/mousetrap"
- packages = ["."]
- pruneopts = "NUT"
- revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
- version = "v1.0"
-
-[[projects]]
- digest = "1:88116f979a2f3ff8e6748a942ec37efd668ba2db062fc9a5e47f4dd2de339a38"
- name = "github.com/json-iterator/go"
- packages = ["."]
- pruneopts = "NUT"
- revision = "acfec88f7a0d5140ace3dcdbee10184e3684a9e1"
- version = "v1.1.9"
-
-[[projects]]
- digest = "1:58999a98719fddbac6303cb17e8d85b945f60b72f48e3a2df6b950b97fa926f1"
- name = "github.com/konsorten/go-windows-terminal-sequences"
- packages = ["."]
- pruneopts = "NUT"
- revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
- version = "v1.0.2"
-
-[[projects]]
- branch = "master"
- digest = "1:0e9bfc47ab9941ecc3344e580baca5deb4091177e84dd9773b48b38ec26b93d5"
- name = "github.com/mattbaird/jsonpatch"
- packages = ["."]
- pruneopts = "NUT"
- revision = "81af80346b1a01caae0cbc27fd3c1ba5b11e189f"
-
-[[projects]]
- digest = "1:2f42fa12d6911c7b7659738758631bec870b7e9b4c6be5444f963cdcfccc191f"
- name = "github.com/modern-go/concurrent"
- packages = ["."]
- pruneopts = "NUT"
- revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
- version = "1.0.3"
-
-[[projects]]
- digest = "1:c6aca19413b13dc59c220ad7430329e2ec454cc310bc6d8de2c7e2b93c18a0f6"
- name = "github.com/modern-go/reflect2"
- packages = ["."]
- pruneopts = "NUT"
- revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"
- version = "1.0.1"
-
-[[projects]]
- digest = "1:e0cc8395ea893c898ff5eb0850f4d9851c1f57c78c232304a026379a47a552d0"
- name = "github.com/opencontainers/go-digest"
- packages = ["."]
- pruneopts = "NUT"
- revision = "279bed98673dd5bef374d3b6e4b09e2af76183bf"
- version = "v1.0.0-rc1"
-
-[[projects]]
- digest = "1:f4aaa07a6c33f2b354726d0571acbc8ca118837c75709f6353203ae1a3f8eeab"
- name = "github.com/sirupsen/logrus"
- packages = ["."]
- pruneopts = "NUT"
- revision = "839c75faf7f98a33d445d181f3018b5c3409a45e"
- version = "v1.4.2"
-
-[[projects]]
- digest = "1:d3533ee568fc00a971617ec09dc0f0b3eddfb4adbc1275f8f6332553d67506b4"
- name = "github.com/spf13/cobra"
- packages = ["."]
- pruneopts = "NUT"
- revision = "f2b07da1e2c38d5f12845a4f607e2e1018cbb1f5"
- version = "v0.0.5"
-
-[[projects]]
- digest = "1:d115708a27806831d1babbc6f28a7478ddf8e32a7095507c816e2515fb03a810"
- name = "github.com/spf13/pflag"
- packages = ["."]
- pruneopts = "NUT"
- revision = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab"
- version = "v1.0.5"
-
-[[projects]]
- digest = "1:b0e963d7beff9842b4c6e79153c4687c6410c110acc9a5f5fabb83d5d5817c0d"
- name = "github.com/zoumo/golib"
- packages = ["register"]
- pruneopts = "NUT"
- revision = "60b6ea38fe1ce5cd8b1942e1cd6767d6fc3384d9^"
-
-[[projects]]
- branch = "master"
- digest = "1:ad2bf20798504fbde0c5bdf5ee83d3354fb101d32c5b2267f811c1958b91b0ab"
- name = "golang.org/x/crypto"
- packages = ["ssh/terminal"]
- pruneopts = "NUT"
- revision = "86ce3cb696783b739e41e834e2eead3e1b4aa3fb"
-
-[[projects]]
- branch = "master"
- digest = "1:32509513a230ca5a4e52bcb777b611e455b1b20299c53ecfeb94c76ed49d0e59"
- name = "golang.org/x/net"
- packages = [
- "context",
- "context/ctxhttp",
- "http/httpguts",
- "http2",
- "http2/hpack",
- "idna",
- ]
- pruneopts = "NUT"
- revision = "16171245cfb220d5317888b716d69c1fb4e7992b"
-
-[[projects]]
- branch = "master"
- digest = "1:9b81fa6bfce070f7cc90a6fd7d6e2a52ecf5ec0dcc2de264b8dbbe6ee338de10"
- name = "golang.org/x/oauth2"
- packages = [
- ".",
- "internal",
- ]
- pruneopts = "NUT"
- revision = "bf48bf16ab8d622ce64ec6ce98d2c98f916b6303"
-
-[[projects]]
- branch = "master"
- digest = "1:4e1eac2eb79906608c99a7c513b8a48a0b95ca5478b808eac95abed09bc7860d"
- name = "golang.org/x/sys"
- packages = [
- "unix",
- "windows",
- ]
- pruneopts = "NUT"
- revision = "12a6c2dcc1e4cb348b57847c73987099e261714b"
-
-[[projects]]
- digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
- name = "golang.org/x/text"
- packages = [
- "collate",
- "collate/build",
- "internal/colltab",
- "internal/gen",
- "internal/language",
- "internal/language/compact",
- "internal/tag",
- "internal/triegen",
- "internal/ucd",
- "language",
- "secure/bidirule",
- "transform",
- "unicode/bidi",
- "unicode/cldr",
- "unicode/norm",
- "unicode/rangetable",
- ]
- pruneopts = "NUT"
- revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"
- version = "v0.3.2"
-
-[[projects]]
- branch = "master"
- digest = "1:a2f668c709f9078828e99cb1768cb02e876cb81030545046a32b54b2ac2a9ea8"
- name = "golang.org/x/time"
- packages = ["rate"]
- pruneopts = "NUT"
- revision = "555d28b269f0569763d25dbe1a237ae74c6bcc82"
-
-[[projects]]
- digest = "1:c8131c929081f0fa26901a27eec93162a44afb3fc89a38573520dd4e3f1b1621"
- name = "google.golang.org/appengine"
- packages = [
- "internal",
- "internal/base",
- "internal/datastore",
- "internal/log",
- "internal/remote_api",
- "internal/urlfetch",
- "urlfetch",
- ]
- pruneopts = "NUT"
- revision = "971852bfffca25b069c31162ae8f247a3dba083b"
- version = "v1.6.5"
-
-[[projects]]
- digest = "1:2d1fbdc6777e5408cabeb02bf336305e724b925ff4546ded0fa8715a7267922a"
- name = "gopkg.in/inf.v0"
- packages = ["."]
- pruneopts = "NUT"
- revision = "d2d2541c53f18d2a059457998ce2876cc8e67cbf"
- version = "v0.9.1"
-
-[[projects]]
- digest = "1:d9b9ac6943a512737f76bf3d61b08d97121c66686bc02ffc231313563230b468"
- name = "gopkg.in/yaml.v2"
- packages = ["."]
- pruneopts = "NUT"
- revision = "53403b58ad1b561927d19068c655246f2db79d48"
- version = "v2.2.8"
-
-[[projects]]
- digest = "1:a937ed4322409fa22924f02124fd0727c19662f73cf15406646d19bdce972df2"
- name = "k8s.io/api"
- packages = [
- "admissionregistration/v1beta1",
- "apps/v1",
- "apps/v1beta1",
- "apps/v1beta2",
- "auditregistration/v1alpha1",
- "authentication/v1",
- "authentication/v1beta1",
- "authorization/v1",
- "authorization/v1beta1",
- "autoscaling/v1",
- "autoscaling/v2beta1",
- "autoscaling/v2beta2",
- "batch/v1",
- "batch/v1beta1",
- "batch/v2alpha1",
- "certificates/v1beta1",
- "coordination/v1",
- "coordination/v1beta1",
- "core/v1",
- "events/v1beta1",
- "extensions/v1beta1",
- "networking/v1",
- "networking/v1beta1",
- "node/v1alpha1",
- "node/v1beta1",
- "policy/v1beta1",
- "rbac/v1",
- "rbac/v1alpha1",
- "rbac/v1beta1",
- "scheduling/v1",
- "scheduling/v1alpha1",
- "scheduling/v1beta1",
- "settings/v1alpha1",
- "storage/v1",
- "storage/v1alpha1",
- "storage/v1beta1",
- ]
- pruneopts = "NUT"
- revision = "a675ac48af67cf21d815b5f8df288462096eb9c9"
- version = "kubernetes-1.14.2"
-
-[[projects]]
- digest = "1:d7276d849da38d07fd1cc29884d0424523f3c6e8086de9b477982100593a0c57"
- name = "k8s.io/apiextensions-apiserver"
- packages = ["pkg/features"]
- pruneopts = "NUT"
- revision = "bf6753f2aa24fe1d69a2abeea1c106042bcf3f5f"
- version = "kubernetes-1.14.2"
-
-[[projects]]
- digest = "1:0db508f16c0059bbc1dc063fd5917c48e64693f5756a6e313a2f39821d81b327"
- name = "k8s.io/apimachinery"
- packages = [
- "pkg/api/errors",
- "pkg/api/meta",
- "pkg/api/resource",
- "pkg/apis/meta/internalversion",
- "pkg/apis/meta/v1",
- "pkg/apis/meta/v1/unstructured",
- "pkg/apis/meta/v1beta1",
- "pkg/conversion",
- "pkg/conversion/queryparams",
- "pkg/fields",
- "pkg/labels",
- "pkg/runtime",
- "pkg/runtime/schema",
- "pkg/runtime/serializer",
- "pkg/runtime/serializer/json",
- "pkg/runtime/serializer/protobuf",
- "pkg/runtime/serializer/recognizer",
- "pkg/runtime/serializer/streaming",
- "pkg/runtime/serializer/versioning",
- "pkg/selection",
- "pkg/types",
- "pkg/util/cache",
- "pkg/util/clock",
- "pkg/util/diff",
- "pkg/util/errors",
- "pkg/util/framer",
- "pkg/util/intstr",
- "pkg/util/json",
- "pkg/util/mergepatch",
- "pkg/util/naming",
- "pkg/util/net",
- "pkg/util/runtime",
- "pkg/util/sets",
- "pkg/util/strategicpatch",
- "pkg/util/validation",
- "pkg/util/validation/field",
- "pkg/util/wait",
- "pkg/util/yaml",
- "pkg/version",
- "pkg/watch",
- "third_party/forked/golang/json",
- "third_party/forked/golang/reflect",
- ]
- pruneopts = "NUT"
- revision = "6a84e37a896db9780c75367af8d2ed2bb944022e"
- version = "kubernetes-1.14.2"
-
-[[projects]]
- digest = "1:fe60b6d8b8208ecb0e70e97963fef38ce27443c6934ec00a37f80a3f9372f42b"
- name = "k8s.io/apiserver"
- packages = [
- "pkg/features",
- "pkg/util/feature",
- ]
- pruneopts = "NUT"
- revision = "f89599b3f64533b7e94fa4d169acbc861b464f2e"
- version = "kubernetes-1.14.2"
-
-[[projects]]
- digest = "1:3867e786f4e4548117d753492429b5ba560848780f28285ecef15974dccc3440"
- name = "k8s.io/client-go"
- packages = [
- "discovery",
- "informers",
- "informers/admissionregistration",
- "informers/admissionregistration/v1beta1",
- "informers/apps",
- "informers/apps/v1",
- "informers/apps/v1beta1",
- "informers/apps/v1beta2",
- "informers/auditregistration",
- "informers/auditregistration/v1alpha1",
- "informers/autoscaling",
- "informers/autoscaling/v1",
- "informers/autoscaling/v2beta1",
- "informers/autoscaling/v2beta2",
- "informers/batch",
- "informers/batch/v1",
- "informers/batch/v1beta1",
- "informers/batch/v2alpha1",
- "informers/certificates",
- "informers/certificates/v1beta1",
- "informers/coordination",
- "informers/coordination/v1",
- "informers/coordination/v1beta1",
- "informers/core",
- "informers/core/v1",
- "informers/events",
- "informers/events/v1beta1",
- "informers/extensions",
- "informers/extensions/v1beta1",
- "informers/internalinterfaces",
- "informers/networking",
- "informers/networking/v1",
- "informers/networking/v1beta1",
- "informers/node",
- "informers/node/v1alpha1",
- "informers/node/v1beta1",
- "informers/policy",
- "informers/policy/v1beta1",
- "informers/rbac",
- "informers/rbac/v1",
- "informers/rbac/v1alpha1",
- "informers/rbac/v1beta1",
- "informers/scheduling",
- "informers/scheduling/v1",
- "informers/scheduling/v1alpha1",
- "informers/scheduling/v1beta1",
- "informers/settings",
- "informers/settings/v1alpha1",
- "informers/storage",
- "informers/storage/v1",
- "informers/storage/v1alpha1",
- "informers/storage/v1beta1",
- "kubernetes",
- "kubernetes/scheme",
- "kubernetes/typed/admissionregistration/v1beta1",
- "kubernetes/typed/apps/v1",
- "kubernetes/typed/apps/v1beta1",
- "kubernetes/typed/apps/v1beta2",
- "kubernetes/typed/auditregistration/v1alpha1",
- "kubernetes/typed/authentication/v1",
- "kubernetes/typed/authentication/v1beta1",
- "kubernetes/typed/authorization/v1",
- "kubernetes/typed/authorization/v1beta1",
- "kubernetes/typed/autoscaling/v1",
- "kubernetes/typed/autoscaling/v2beta1",
- "kubernetes/typed/autoscaling/v2beta2",
- "kubernetes/typed/batch/v1",
- "kubernetes/typed/batch/v1beta1",
- "kubernetes/typed/batch/v2alpha1",
- "kubernetes/typed/certificates/v1beta1",
- "kubernetes/typed/coordination/v1",
- "kubernetes/typed/coordination/v1beta1",
- "kubernetes/typed/core/v1",
- "kubernetes/typed/events/v1beta1",
- "kubernetes/typed/extensions/v1beta1",
- "kubernetes/typed/networking/v1",
- "kubernetes/typed/networking/v1beta1",
- "kubernetes/typed/node/v1alpha1",
- "kubernetes/typed/node/v1beta1",
- "kubernetes/typed/policy/v1beta1",
- "kubernetes/typed/rbac/v1",
- "kubernetes/typed/rbac/v1alpha1",
- "kubernetes/typed/rbac/v1beta1",
- "kubernetes/typed/scheduling/v1",
- "kubernetes/typed/scheduling/v1alpha1",
- "kubernetes/typed/scheduling/v1beta1",
- "kubernetes/typed/settings/v1alpha1",
- "kubernetes/typed/storage/v1",
- "kubernetes/typed/storage/v1alpha1",
- "kubernetes/typed/storage/v1beta1",
- "listers/admissionregistration/v1beta1",
- "listers/apps/v1",
- "listers/apps/v1beta1",
- "listers/apps/v1beta2",
- "listers/auditregistration/v1alpha1",
- "listers/autoscaling/v1",
- "listers/autoscaling/v2beta1",
- "listers/autoscaling/v2beta2",
- "listers/batch/v1",
- "listers/batch/v1beta1",
- "listers/batch/v2alpha1",
- "listers/certificates/v1beta1",
- "listers/coordination/v1",
- "listers/coordination/v1beta1",
- "listers/core/v1",
- "listers/events/v1beta1",
- "listers/extensions/v1beta1",
- "listers/networking/v1",
- "listers/networking/v1beta1",
- "listers/node/v1alpha1",
- "listers/node/v1beta1",
- "listers/policy/v1beta1",
- "listers/rbac/v1",
- "listers/rbac/v1alpha1",
- "listers/rbac/v1beta1",
- "listers/scheduling/v1",
- "listers/scheduling/v1alpha1",
- "listers/scheduling/v1beta1",
- "listers/settings/v1alpha1",
- "listers/storage/v1",
- "listers/storage/v1alpha1",
- "listers/storage/v1beta1",
- "pkg/apis/clientauthentication",
- "pkg/apis/clientauthentication/v1alpha1",
- "pkg/apis/clientauthentication/v1beta1",
- "pkg/version",
- "plugin/pkg/client/auth/exec",
- "rest",
- "rest/watch",
- "tools/auth",
- "tools/cache",
- "tools/clientcmd",
- "tools/clientcmd/api",
- "tools/clientcmd/api/latest",
- "tools/clientcmd/api/v1",
- "tools/metrics",
- "tools/pager",
- "tools/reference",
- "transport",
- "util/cert",
- "util/connrotation",
- "util/flowcontrol",
- "util/homedir",
- "util/keyutil",
- "util/retry",
- "util/workqueue",
- ]
- pruneopts = "NUT"
- revision = "ae8359b20417914b73a4b514b7a3d642597700bb"
- version = "kubernetes-1.14.2"
-
-[[projects]]
- branch = "release-1.14"
- digest = "1:0b0a9bd556672d681837dab08c6b33d37c7f45f1916d9bbe8feca78e08383db3"
- name = "k8s.io/cloud-provider"
- packages = ["features"]
- pruneopts = "NUT"
- revision = "9775d7be84940ade3d69258fd907b61cc3cdb66a"
-
-[[projects]]
- digest = "1:c263611800c3a97991dbcf9d3bc4de390f6224aaa8ca0a7226a9d734f65a416a"
- name = "k8s.io/klog"
- packages = ["."]
- pruneopts = "NUT"
- revision = "71442cd4037d612096940ceb0f3fec3f7fff66e0"
- version = "v0.2.0"
-
-[[projects]]
- branch = "master"
- digest = "1:42674e29bf0cf4662d49bd9528e24b9ecc4895b32d0be281f9cf04d3a7671846"
- name = "k8s.io/kube-openapi"
- packages = ["pkg/util/proto"]
- pruneopts = "NUT"
- revision = "addea2498afe5a6d58f8bdcd9ae51363d12f12ef"
-
-[[projects]]
- digest = "1:6a8a3e5c4dcb1e0ba40195bc910c8ecc2354ff374afd780ee5efdd9c71845eef"
- name = "k8s.io/kubernetes"
- packages = [
- "pkg/api/legacyscheme",
- "pkg/api/pod",
- "pkg/apis/apps",
- "pkg/apis/apps/install",
- "pkg/apis/apps/v1",
- "pkg/apis/apps/v1beta1",
- "pkg/apis/apps/v1beta2",
- "pkg/apis/authentication",
- "pkg/apis/authentication/install",
- "pkg/apis/authentication/v1",
- "pkg/apis/authentication/v1beta1",
- "pkg/apis/authorization",
- "pkg/apis/authorization/install",
- "pkg/apis/authorization/v1",
- "pkg/apis/authorization/v1beta1",
- "pkg/apis/autoscaling",
- "pkg/apis/autoscaling/install",
- "pkg/apis/autoscaling/v1",
- "pkg/apis/autoscaling/v2beta1",
- "pkg/apis/autoscaling/v2beta2",
- "pkg/apis/batch",
- "pkg/apis/batch/install",
- "pkg/apis/batch/v1",
- "pkg/apis/batch/v1beta1",
- "pkg/apis/batch/v2alpha1",
- "pkg/apis/certificates",
- "pkg/apis/certificates/install",
- "pkg/apis/certificates/v1beta1",
- "pkg/apis/coordination",
- "pkg/apis/coordination/install",
- "pkg/apis/coordination/v1",
- "pkg/apis/coordination/v1beta1",
- "pkg/apis/core",
- "pkg/apis/core/install",
- "pkg/apis/core/v1",
- "pkg/apis/events",
- "pkg/apis/events/install",
- "pkg/apis/events/v1beta1",
- "pkg/apis/extensions",
- "pkg/apis/extensions/install",
- "pkg/apis/extensions/v1beta1",
- "pkg/apis/networking",
- "pkg/apis/policy",
- "pkg/apis/policy/install",
- "pkg/apis/policy/v1beta1",
- "pkg/apis/rbac",
- "pkg/apis/rbac/install",
- "pkg/apis/rbac/v1",
- "pkg/apis/rbac/v1alpha1",
- "pkg/apis/rbac/v1beta1",
- "pkg/apis/scheduling",
- "pkg/apis/scheduling/install",
- "pkg/apis/scheduling/v1",
- "pkg/apis/scheduling/v1alpha1",
- "pkg/apis/scheduling/v1beta1",
- "pkg/apis/settings",
- "pkg/apis/settings/install",
- "pkg/apis/settings/v1alpha1",
- "pkg/apis/storage",
- "pkg/apis/storage/install",
- "pkg/apis/storage/v1",
- "pkg/apis/storage/v1alpha1",
- "pkg/apis/storage/v1beta1",
- "pkg/features",
- "pkg/kubelet/types",
- "pkg/security/apparmor",
- "pkg/util/parsers",
- ]
- pruneopts = "NUT"
- revision = "66049e3b21efe110454d67df4fa62b08ea79a19b"
- version = "v1.14.2"
-
-[[projects]]
- branch = "master"
- digest = "1:bf4880ebdf96696ad8b81e12017aff06c779b6b0c1e2299ad7aa0512b8fab066"
- name = "k8s.io/utils"
- packages = [
- "buffer",
- "integer",
- "path",
- "pointer",
- "trace",
- ]
- pruneopts = "NUT"
- revision = "861946025e3491219eaccb1bf693e23df70c2fa8"
-
-[[projects]]
- digest = "1:5fdf0517a870044f13def5f9f2dc75eb8cfb88baf7862eaf9884a06152f9391b"
- name = "sigs.k8s.io/yaml"
- packages = ["."]
- pruneopts = "NUT"
- revision = "9fc95527decd95bb9d28cc2eab08179b2d0f6971"
- version = "v1.2.0"
-
-[solve-meta]
- analyzer-name = "dep"
- analyzer-version = 1
- input-imports = [
- "github.com/InVisionApp/conjungo",
- "github.com/caicloud/clientset/informers",
- "github.com/caicloud/clientset/kubernetes",
- "github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2",
- "github.com/caicloud/clientset/listers/loadbalance/v1alpha2",
- "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1",
- "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2",
- "github.com/caicloud/clientset/util/controller",
- "github.com/caicloud/clientset/util/status",
- "github.com/caicloud/clientset/util/syncqueue",
- "github.com/caicloud/go-common/kubernetes/client",
- "github.com/mattbaird/jsonpatch",
- "github.com/spf13/cobra",
- "github.com/spf13/pflag",
- "github.com/zoumo/golib/register",
- "k8s.io/api/apps/v1",
- "k8s.io/api/core/v1",
- "k8s.io/apimachinery/pkg/api/errors",
- "k8s.io/apimachinery/pkg/api/resource",
- "k8s.io/apimachinery/pkg/apis/meta/v1",
- "k8s.io/apimachinery/pkg/labels",
- "k8s.io/apimachinery/pkg/types",
- "k8s.io/apimachinery/pkg/util/errors",
- "k8s.io/apimachinery/pkg/util/intstr",
- "k8s.io/apimachinery/pkg/util/runtime",
- "k8s.io/apimachinery/pkg/util/strategicpatch",
- "k8s.io/apimachinery/pkg/util/wait",
- "k8s.io/client-go/listers/apps/v1",
- "k8s.io/client-go/listers/core/v1",
- "k8s.io/client-go/rest",
- "k8s.io/client-go/tools/cache",
- "k8s.io/client-go/tools/clientcmd",
- "k8s.io/klog",
- "k8s.io/kubernetes/pkg/api/legacyscheme",
- "k8s.io/kubernetes/pkg/api/pod",
- "k8s.io/kubernetes/pkg/apis/apps/install",
- "k8s.io/kubernetes/pkg/apis/apps/v1",
- "k8s.io/kubernetes/pkg/apis/authentication/install",
- "k8s.io/kubernetes/pkg/apis/authorization/install",
- "k8s.io/kubernetes/pkg/apis/autoscaling/install",
- "k8s.io/kubernetes/pkg/apis/batch/install",
- "k8s.io/kubernetes/pkg/apis/certificates/install",
- "k8s.io/kubernetes/pkg/apis/coordination/install",
- "k8s.io/kubernetes/pkg/apis/core",
- "k8s.io/kubernetes/pkg/apis/core/install",
- "k8s.io/kubernetes/pkg/apis/events/install",
- "k8s.io/kubernetes/pkg/apis/extensions/install",
- "k8s.io/kubernetes/pkg/apis/policy/install",
- "k8s.io/kubernetes/pkg/apis/rbac/install",
- "k8s.io/kubernetes/pkg/apis/scheduling/install",
- "k8s.io/kubernetes/pkg/apis/settings/install",
- "k8s.io/kubernetes/pkg/apis/storage/install",
- ]
- solver-name = "gps-cdcl"
- solver-version = 1
diff --git a/Gopkg.toml b/Gopkg.toml
deleted file mode 100644
index e29678140..000000000
--- a/Gopkg.toml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-# 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/zoumo/golib"
- revision = "60b6ea38fe1ce5cd8b1942e1cd6767d6fc3384d9^"
-
-[[constraint]]
- name = "github.com/spf13/pflag"
- version = "v1.0.3"
-
-[[constraint]]
- name = "github.com/caicloud/go-common"
- version = "v0.2.6"
-
-[[constraint]]
- name = "github.com/InVisionApp/conjungo"
- branch = "master"
-
-[[override]]
- name = "github.com/caicloud/clientset"
- branch = "release-1.14"
-
-[[override]]
- name = "github.com/json-iterator/go"
- version = "^1.1.5"
-
-[[constraint]]
- name = "k8s.io/kubernetes"
- version = "=v1.14.2"
-
-[[override]]
- name = "k8s.io/apiserver"
- version = "kubernetes-1.14.2"
-
-[[override]]
- name = "k8s.io/apiextensions-apiserver"
- version = "kubernetes-1.14.2"
-
-
-[prune]
- non-go = true
- go-tests = true
- unused-packages = true
diff --git a/Makefile b/Makefile
index 6849d7595..6d8b4e78e 100644
--- a/Makefile
+++ b/Makefile
@@ -72,6 +72,10 @@ CPUS ?= $(shell /bin/bash hack/read_cpus_available.sh)
# Track code version with Docker Label.
DOCKER_LABELS ?= git-describe="$(shell date -u +v%Y%m%d)-$(shell git describe --tags --always --dirty)"
+# This will force go to use the vendor files instead of using the `$GOPATH/pkg/mod`. (vendor mode)
+# more info: https://github.com/golang/go/wiki/Modules#how-do-i-use-vendoring-with-modules-is-vendoring-going-away
+export GOFLAGS := -mod=vendor
+
# Golang standard bin directory.
GOPATH ?= $(shell go env GOPATH)
BIN_DIR := $(GOPATH)/bin
@@ -91,7 +95,7 @@ lint: $(GOLANGCI_LINT)
@$(GOLANGCI_LINT) run
$(GOLANGCI_LINT):
- curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(BIN_DIR) v1.20.1
+ curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(BIN_DIR) v1.23.6
test:
@go test -p $(CPUS) $$(go list ./... | grep -v /vendor | grep -v /test) -coverprofile=coverage.out
@@ -112,8 +116,9 @@ build-linux:
-e GOOS=linux \
-e GOARCH=amd64 \
-e GOPATH=/go \
+ -e GOFLAGS=$(GOFLAGS) \
-e SHELLOPTS=$(SHELLOPTS) \
- $(BASE_REGISTRY)/golang:1.12-security \
+ $(BASE_REGISTRY)/golang:1.13.9-stretch \
/bin/bash -c 'for target in $(TARGETS); do \
go build -i -v -o $(OUTPUT_DIR)/$${target} -p $(CPUS) \
-ldflags "-s -w -X $(ROOT)/pkg/version.VERSION=$(VERSION) \
diff --git a/OWNERS b/OWNERS
index 13c555630..8d2c4bb2f 100644
--- a/OWNERS
+++ b/OWNERS
@@ -3,7 +3,10 @@ reviewers:
- hanxueluo
- hicaistar
- sinksmell
+ - VincentGuoCQ
+
approvers:
- whalecold
- hanxueluo
- hicaistar
+ - VincentGuoCQ
diff --git a/cmd/controller/app/cmd.go b/cmd/controller/app/cmd.go
index 33936cd06..62f3ed946 100644
--- a/cmd/controller/app/cmd.go
+++ b/cmd/controller/app/cmd.go
@@ -2,40 +2,12 @@ package app
import (
"github.com/caicloud/loadbalancer-controller/cmd/controller/app/config"
- "github.com/caicloud/loadbalancer-controller/cmd/controller/app/options"
lbcontroller "github.com/caicloud/loadbalancer-controller/pkg/controller"
"github.com/caicloud/loadbalancer-controller/pkg/version"
- "github.com/spf13/cobra"
- "k8s.io/apimachinery/pkg/util/wait"
+
"k8s.io/klog"
)
-// NewCommand creates a *cobra.Command object with default parameters
-func NewCommand() *cobra.Command {
- s := options.NewOptions()
-
- cmd := &cobra.Command{
- Use: "loadbalancer-controller",
- Long: `k8s loadbalancer resource controller`,
- Run: func(cmd *cobra.Command, args []string) {
- c, err := s.Config()
- if err != nil {
- klog.Exitln(err)
- }
- if err := Run(c, wait.NeverStop); err != nil {
- klog.Exitln(err)
- }
- },
- }
-
- fs := cmd.Flags()
- fs.AddFlagSet(s.Flags())
-
- _ = fs.Set("logtostderr", "true")
-
- return cmd
-}
-
// Run runs the Config. This should never exit.
func Run(c *config.Config, stopCh <-chan struct{}) error {
klog.Info(version.Get().Pretty())
diff --git a/cmd/controller/app/options/options.go b/cmd/controller/app/options/options.go
index 4e6463b30..6459a47a1 100644
--- a/cmd/controller/app/options/options.go
+++ b/cmd/controller/app/options/options.go
@@ -38,14 +38,17 @@ const (
// Options is the main context object for the admission controller.
type Options struct {
- Master string
- Kubeconfig string
- Cfg lbconfig.Configuration
+ Master string
+ Kubeconfig string
+ HealthzPort int
+ Cfg lbconfig.Configuration
}
// NewOptions creates a new AddmissionOptions with a default config.
func NewOptions() *Options {
- return &Options{}
+ return &Options{
+ HealthzPort: 8081,
+ }
}
// Flags returns flags for admission controller
@@ -56,6 +59,7 @@ func (s *Options) Flags() *pflag.FlagSet {
fs.StringVar(&s.Kubeconfig, "kubeconfig", s.Kubeconfig, "Path to kubeconfig file with authorization and master location information.")
fs.StringVar(&s.Master, "master", s.Master, "The address of the Kubernetes API server (overrides any value in kubeconfig).")
+ fs.IntVar(&s.HealthzPort, "healthzPort", s.HealthzPort, "Port for health check")
// init log
gofs := goflag.NewFlagSet("klog", goflag.ExitOnError)
diff --git a/cmd/controller/main.go b/cmd/controller/main.go
index 9231c73e3..807c3284b 100644
--- a/cmd/controller/main.go
+++ b/cmd/controller/main.go
@@ -17,16 +17,40 @@ limitations under the License.
package main
import (
- "fmt"
+ "context"
"os"
+ "k8s.io/klog"
+
"github.com/caicloud/loadbalancer-controller/cmd/controller/app"
+ "github.com/caicloud/loadbalancer-controller/cmd/controller/app/options"
+
+ "github.com/caicloud/go-common/kubernetes/leaderelection"
+ "github.com/caicloud/go-common/signal"
)
func main() {
- command := app.NewCommand()
- if err := command.Execute(); err != nil {
- fmt.Fprintf(os.Stderr, "%v\n", err)
- os.Exit(1)
+ s := options.NewOptions()
+ _ = s.Flags().Set("logtostderr", "true")
+ if err := s.Flags().Parse(os.Args); err != nil {
+ klog.Exitln(err)
}
+
+ c, err := s.Config()
+ if err != nil {
+ klog.Exitln(err)
+ }
+
+ stopCh := signal.SetupStopSignalHandler()
+ leaderelection.RunOrDie(leaderelection.Option{
+ LeaseLockName: "loadbalancer-controller",
+ LeaseLockNamespace: "default",
+ KubeClient: c.Cfg.Client,
+ Run: func(_ context.Context) {
+ _ = app.Run(c, stopCh)
+ signal.RequestShutdown()
+ },
+ Port: s.HealthzPort,
+ StopCh: stopCh,
+ })
}
diff --git a/go.mod b/go.mod
new file mode 100644
index 000000000..3a3f591e7
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,45 @@
+module github.com/caicloud/loadbalancer-controller
+
+go 1.13
+
+require (
+ github.com/InVisionApp/conjungo v1.1.0
+ github.com/caicloud/clientset v0.0.0-20200420062837-792b5fced8a6
+ github.com/caicloud/go-common v0.3.7
+ github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
+ github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
+ github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a
+ github.com/spf13/cobra v0.0.5
+ github.com/spf13/pflag v1.0.5
+ golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4 // indirect
+ k8s.io/api v0.17.5
+ k8s.io/apiextensions-apiserver v0.17.5
+ k8s.io/apimachinery v0.17.5
+ k8s.io/client-go v0.17.5
+ k8s.io/klog v1.0.0
+ k8s.io/kubernetes v1.17.5
+)
+
+replace (
+ k8s.io/api => k8s.io/api v0.17.5
+ k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.17.5
+ k8s.io/apimachinery => k8s.io/apimachinery v0.17.5
+ k8s.io/apiserver => k8s.io/apiserver v0.17.5
+ k8s.io/cli-runtime => k8s.io/cli-runtime v0.17.5
+ k8s.io/client-go => k8s.io/client-go v0.17.5
+ k8s.io/cloud-provider => k8s.io/cloud-provider v0.17.5
+ k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.17.5
+ k8s.io/code-generator => k8s.io/code-generator v0.17.5
+ k8s.io/component-base => k8s.io/component-base v0.17.5
+ k8s.io/cri-api => k8s.io/cri-api v0.17.5
+ k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.17.5
+ k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.17.5
+ k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.17.5
+ k8s.io/kube-proxy => k8s.io/kube-proxy v0.17.5
+ k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.17.5
+ k8s.io/kubectl => k8s.io/kubectl v0.17.5
+ k8s.io/kubelet => k8s.io/kubelet v0.17.5
+ k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.17.5
+ k8s.io/metrics => k8s.io/metrics v0.17.5
+ k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.17.5
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 000000000..bbe7c1727
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,815 @@
+bitbucket.org/bertimus9/systemstat v0.0.0-20180207000608-0eeff89b0690/go.mod h1:Ulb78X89vxKYgdL24HMTiXYHlyHEvruOj1ZPlqeNEZM=
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
+github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
+github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
+github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
+github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
+github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
+github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc=
+github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8=
+github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
+github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14=
+github.com/InVisionApp/conjungo v1.1.0 h1:NMPwvjK0i7UujnGnpbvAscruuroeYYVR55OAgBmM6oc=
+github.com/InVisionApp/conjungo v1.1.0/go.mod h1:86uJs2j/N0qcjh0ORLQDw1bB5kPFS/CoprqySSyp8dc=
+github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA=
+github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E=
+github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
+github.com/Microsoft/hcsshim v0.0.0-20190417211021-672e52e9209d/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
+github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0=
+github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
+github.com/OpenPeeDeeP/depguard v1.0.0/go.mod h1:7/4sitnI9YlQgTLLk734QlzXT8DuHVnAyztLplQjk+o=
+github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM=
+github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
+github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
+github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+github.com/Rican7/retry v0.1.0/go.mod h1:FgOROf8P5bebcC1DS0PdOQiqGUridaZvikzUmkFW6gg=
+github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
+github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
+github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
+github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
+github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
+github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
+github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
+github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
+github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
+github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM=
+github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/bazelbuild/bazel-gazelle v0.18.2/go.mod h1:D0ehMSbS+vesFsLGiD6JXu3mVEzOlfUl8wNnq+x/9p0=
+github.com/bazelbuild/bazel-gazelle v0.19.1-0.20191105222053-70208cbdc798/go.mod h1:rPwzNHUqEzngx1iVBfO/2X2npKaT3tqPqqHW6rVsn/A=
+github.com/bazelbuild/buildtools v0.0.0-20190731111112-f720930ceb60/go.mod h1:5JP0TXzWDHXv8qvxRC4InIazwdyDseBDbzESUMKk1yU=
+github.com/bazelbuild/buildtools v0.0.0-20190917191645-69366ca98f89/go.mod h1:5JP0TXzWDHXv8qvxRC4InIazwdyDseBDbzESUMKk1yU=
+github.com/bazelbuild/rules_go v0.0.0-20190719190356-6dae44dc5cab/go.mod h1:MC23Dc/wkXEyk3Wpq6lCqz0ZAYOZDw2DR5y3N1q2i7M=
+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
+github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
+github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115/go.mod h1:zVt7zX3K/aDCk9Tj+VM7YymsX66ERvzCJzw8rFCX2JU=
+github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs=
+github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
+github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
+github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
+github.com/caddyserver/caddy v1.0.3/go.mod h1:G+ouvOY32gENkJC+jhgl62TyhvqEsFaDiZ4uw0RzP1E=
+github.com/caicloud/clientset v0.0.0-20200420034431-e19d2a44e1bf/go.mod h1:VDeG4D2HmThF5UvMXWQywD38jxJ38/7yvWGSP3bmeAc=
+github.com/caicloud/clientset v0.0.0-20200420062837-792b5fced8a6 h1:TiaHcBMQJXpuJu/JvhVWf88HBJoGXhlgAtE67NacyB4=
+github.com/caicloud/clientset v0.0.0-20200420062837-792b5fced8a6/go.mod h1:VDeG4D2HmThF5UvMXWQywD38jxJ38/7yvWGSP3bmeAc=
+github.com/caicloud/go-common v0.3.7 h1:1ipQzzM8fSb1SnRpr1J41kj3T9m0e9OZKMR3QZmpWks=
+github.com/caicloud/go-common v0.3.7/go.mod h1:HVdq7Zejq9PggmORDEzVHda6S/deupDZCl8vC3qJ5o0=
+github.com/caicloud/nirvana v0.2.4/go.mod h1:m1HTGrIULzQX6YvMJJtZ9nr/YXL3XwNAq7dR1MezLAY=
+github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
+github.com/cespare/prettybench v0.0.0-20150116022406-03b8cfe5406c/go.mod h1:Xe6ZsFhtM8HrDku0pxJ3/Lr51rwykrzgFwpmTzleatY=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
+github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho=
+github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313/go.mod h1:P1wt9Z3DP8O6W3rvwCt0REIlshg1InHImaLW0t3ObY0=
+github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
+github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0=
+github.com/container-storage-interface/spec v1.2.0/go.mod h1:6URME8mwIBbpVyZV93Ce5St17xBiQJQY67NDsuohiy4=
+github.com/containerd/console v0.0.0-20170925154832-84eeaae905fa/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
+github.com/containerd/containerd v1.0.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
+github.com/containerd/typeurl v0.0.0-20190228175220-2a93cfde8c20/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
+github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
+github.com/coredns/corefile-migration v1.0.4/go.mod h1:OFwBp/Wc9dJt5cAZzHWMNhK1r5L0p0jDwIBc6j8NC8E=
+github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
+github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea h1:n2Ltr3SrfQlf/9nOna1DoGKxLx3qTSI8Ttl6Xrqp6mw=
+github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
+github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
+github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE=
+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
+github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
+github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
+github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-connections v0.3.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/docker/libnetwork v0.8.0-dev.2.0.20190624125649-f0e46a78ea34/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
+github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
+github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
+github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=
+github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
+github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw=
+github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
+github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
+github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
+github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
+github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
+github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
+github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
+github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
+github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M=
+github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
+github.com/go-critic/go-critic v0.3.5-0.20190526074819-1df300866540/go.mod h1:+sE8vrLDS2M0pZkBk0wy6+nLdKexVDrl/jBqQOTDThA=
+github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM=
+github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
+github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
+github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
+github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
+github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
+github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
+github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
+github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
+github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI=
+github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
+github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
+github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
+github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
+github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
+github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
+github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
+github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
+github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
+github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
+github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
+github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
+github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
+github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
+github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
+github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
+github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
+github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
+github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
+github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
+github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
+github.com/go-openapi/loads v0.19.4 h1:5I4CCSqoWzT+82bBkNIvmLc0UOsoKKQ4Fz+3VxOB7SY=
+github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk=
+github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
+github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
+github.com/go-openapi/runtime v0.19.4 h1:csnOgcgAiuGoM/Po7PEpKDoNulCcF3FGbSnbHfxgjMI=
+github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
+github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
+github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
+github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
+github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
+github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
+github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
+github.com/go-openapi/spec v0.19.7/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
+github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
+github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
+github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
+github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
+github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
+github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
+github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
+github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
+github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
+github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
+github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
+github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
+github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
+github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
+github.com/go-openapi/validate v0.19.5 h1:QhCBKRYqZR+SKo4gl1lPhPahope8/RLt6EVgY8X80w0=
+github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
+github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
+github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
+github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY=
+github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4=
+github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ=
+github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
+github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
+github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg=
+github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw=
+github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU=
+github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30/go.mod h1:SV2ur98SGypH1UjcPpCatrV5hPazG6+IfNHbkDXBRrk=
+github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI=
+github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8/go.mod h1:WoMrjiy4zvdS+Bg6z9jZH82QXwkcgCBX6nOfnmdaHks=
+github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc=
+github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
+github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU=
+github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
+github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
+github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
+github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
+github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
+github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.0.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
+github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk=
+github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0=
+github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8=
+github.com/golangci/go-tools v0.0.0-20190318055746-e32c54105b7c/go.mod h1:unzUULGw35sjyOYjUt0jMTXqHlZPpPc6e+xfO4cd6mM=
+github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o=
+github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU=
+github.com/golangci/gofmt v0.0.0-20181222123516-0b8337e80d98/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU=
+github.com/golangci/golangci-lint v1.18.0/go.mod h1:kaqo8l0OZKYPtjNmG4z4HrWLgcYNIJ9B9q3LWri9uLg=
+github.com/golangci/gosec v0.0.0-20190211064107-66fb7fc33547/go.mod h1:0qUabqiIQgfmlAmulqxyiGkkyF6/tOGSnY2cnPVwrzU=
+github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU=
+github.com/golangci/lint-1 v0.0.0-20190420132249-ee948d087217/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
+github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o=
+github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA=
+github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI=
+github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4=
+github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
+github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho=
+github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995/go.mod h1:lJgMEyOkYFkPcDKwRXegd+iM6E7matEszMG5HhwytU8=
+github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/cadvisor v0.35.0/go.mod h1:1nql6U13uTHaLYB8rLS5x9IJc2qT6Xd/Tr1sTX6NE48=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
+github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
+github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
+github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
+github.com/googleapis/gnostic v0.4.0 h1:BXDUo8p/DaxC+4FJY/SSx3gvnx9C1VdHNgaUkiEL5mk=
+github.com/googleapis/gnostic v0.4.0/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
+github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
+github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
+github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
+github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
+github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
+github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
+github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
+github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/hcl v0.0.0-20180404174102-ef8a98b0bbce/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
+github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/heketi/heketi v9.0.1-0.20190917153846-c2e2a4ab7ab9+incompatible/go.mod h1:bB9ly3RchcQqsQ9CpyaQwvva7RS5ytVoSoholZQON6o=
+github.com/heketi/tests v0.0.0-20151005000721-f3775cbcefd6/go.mod h1:xGMAM8JLi7UkZt1i4FQeQy0R2T8GLUwQhOP5M1gBhy4=
+github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ=
+github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU=
+github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a/go.mod h1:wK6yTYYcgjHE1Z1QtXACPDjcFJyBskHEdagmnq3vsP8=
+github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns=
+github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
+github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
+github.com/kisielk/gotool v0.0.0-20161130080628-0de1eaf82fa3/go.mod h1:jxZFDH7ILpTPQTk+E2s+z4CUas9lVNjIuKR4c5/zKgM=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
+github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
+github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
+github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
+github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
+github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
+github.com/lpabon/godbc v0.1.1/go.mod h1:Jo9QV0cf3U6jZABgiJ2skINAXb9j8m51r07g4KI92ZA=
+github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f/go.mod h1:JpH9J1c9oX6otFSgdUHwUBUizmKlrMjxWnIAjff4m04=
+github.com/lucas-clemente/quic-clients v0.1.0/go.mod h1:y5xVIEoObKqULIKivu+gD/LU90pL73bTdtQjPBvtCBk=
+github.com/lucas-clemente/quic-go v0.10.2/go.mod h1:hvaRS9IHjFLMq76puFJeWNfmn+H70QZ/CXoxqw9bzao=
+github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced/go.mod h1:NCcRLrOTZbzhZvixZLlERbJtDtYsmMw8Jc4vS8Z0g58=
+github.com/magiconair/properties v1.7.6/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
+github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
+github.com/marten-seemann/qtls v0.2.3/go.mod h1:xzjG7avBwGGbdZ8dTGxlBnLArsVKLvwmjgmPuiQEcYk=
+github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a h1:+J2gw7Bw77w/fbK7wnNJJDKmw1IbWft2Ul5BzrG1Qm8=
+github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0=
+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
+github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
+github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
+github.com/mattn/go-shellwords v1.0.5/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
+github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
+github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/mesos/mesos-go v0.0.9/go.mod h1:kPYCMQ9gsOXVAle1OsoY4I1+9kPu8GHkf88aV59fDr4=
+github.com/mholt/certmagic v0.6.2-0.20190624175158-6a42ef9fe8c2/go.mod h1:g4cOPxcjV0oFq3qwpjSA30LReKD8AoIfwAY9VvG35NY=
+github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
+github.com/miekg/dns v1.1.4/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
+github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989/go.mod h1:2eu9pRWp8mo84xCg6KswZ+USQHjwgRhNp06sozOdsTY=
+github.com/mistifyio/go-zfs v2.1.1+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
+github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/go-ps v0.0.0-20170309133038-4fdf99ab2936/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk=
+github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
+github.com/mitchellh/mapstructure v0.0.0-20180220230111-00c29f56e238/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v0.0.0-20180511142126-bb74f1db0675/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
+github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
+github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
+github.com/mozilla/tls-observatory v0.0.0-20180409132520-8791a200eb40/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
+github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0=
+github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/mvdan/xurls v1.1.0/go.mod h1:tQlNn3BED8bE/15hnSL2HLkDeLWpNPAwtw7wkEq44oU=
+github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
+github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
+github.com/naoina/toml v0.1.1/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
+github.com/nbutton23/zxcvbn-go v0.0.0-20160627004424-a22cb81b2ecd/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
+github.com/nbutton23/zxcvbn-go v0.0.0-20171102151520-eafdab6b0663/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
+github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c h1:Hww8mOyEKTeON4bZn7FrlLismspbPc1teNRUVH7wLQ8=
+github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
+github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c h1:eSfnfIuwhxZyULg1NNuZycJcYkjYVGYe7FczwQReM6U=
+github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
+github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
+github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runtime-spec v1.0.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
+github.com/opencontainers/selinux v1.3.1-0.20190929122143-5215b1806f52/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs=
+github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/pelletier/go-toml v1.1.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
+github.com/pquerna/ffjson v0.0.0-20180717144149-af8b230fcd20/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M=
+github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM=
+github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
+github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw=
+github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
+github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs=
+github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
+github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI=
+github.com/quobyte/api v0.1.2/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI=
+github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
+github.com/robfig/cron v1.1.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
+github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
+github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto=
+github.com/russross/blackfriday v0.0.0-20170610170232-067529f716f4/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/ryanuber/go-glob v0.0.0-20170128012129-256dc444b735/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
+github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
+github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
+github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
+github.com/shirou/gopsutil v0.0.0-20180427012116-c95755e4bcd7/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
+github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
+github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
+github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
+github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
+github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
+github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/sourcegraph/go-diff v0.5.1/go.mod h1:j2dHj3m8aZgQO8lMTcTnBcXkRRRqi34cd2MNlA9u1mE=
+github.com/spaolacci/murmur3 v0.0.0-20170819071325-9f5d223c6079/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/spf13/afero v1.1.0/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
+github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
+github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
+github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
+github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
+github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
+github.com/spf13/jwalterweatherman v0.0.0-20180109140146-7c0cea34c8ec/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
+github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
+github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
+github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
+github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/spf13/viper v1.0.2/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=
+github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
+github.com/storageos/go-api v0.0.0-20180912212459-343b3eff91fc/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
+github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
+github.com/thecodeteam/goscaleio v0.1.0/go.mod h1:68sdkZAsK8bvEwBlbQnlLS+xU+hvLYM/iQ8KXej1AwM=
+github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
+github.com/timakin/bodyclose v0.0.0-20190721030226-87058b9bfcec/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
+github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
+github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
+github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/ultraware/funlen v0.0.1/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
+github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
+github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
+github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
+github.com/valyala/fasthttp v1.2.0/go.mod h1:4vX61m6KN+xDduDNwXrhIAVZaZaZiQ1luJk8LWSxF3s=
+github.com/valyala/quicktemplate v1.1.1/go.mod h1:EH+4AkTd43SvgIbQHYu59/cJyxDoOVRUAfrukLPuGJ4=
+github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
+github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
+github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
+github.com/vishvananda/netns v0.0.0-20171111001504-be1fbeda1936/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
+github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/xlab/handysort v0.0.0-20150421192137-fb3537ed64a1/go.mod h1:QcJo0QPSfTONNIgpN5RA8prR7fF8nkF6cTWTcNerRO8=
+github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
+go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+go.mongodb.org/mongo-driver v1.1.2 h1:jxcFYjlkl8xaERsgLo+RNquI0epW6zuy/ZRQs6jnrFA=
+go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
+golang.org/x/build v0.0.0-20190927031335-2835ba2e683f/go.mod h1:fYw7AShPAhGMdXqA9gRadk/CcMsvLlClpE5oBwnS3dM=
+golang.org/x/crypto v0.0.0-20180426230345-b49d69b5da94/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190424203555-c05e17bb3b2d/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
+golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190502183928-7f726cade0ab/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20171026204733-164713f0dfce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190122071731-054c452bb702/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4 h1:sfkvUWPNGwSV+8/fNqctR5lS2AqCSqYwXdrjCxp/dXo=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.0.0-20170915090833-1cbadb444a80/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/tools v0.0.0-20170915040203-e531a2a1c15f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181117154741-2ddaf7f79a09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190121143147-24cd39ecf745/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190122202912-9c309ee22fab/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190909030654-5b82db07426d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
+google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
+google.golang.org/grpc v1.23.1 h1:q4XQuHFC6I28BKZpo6IYyb3mNO+l7lSOxRuYTCiDfXk=
+google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
+gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
+gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
+gopkg.in/go-playground/validator.v9 v9.17.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
+gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
+gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+gopkg.in/mcuadros/go-syslog.v2 v2.2.1/go.mod h1:l5LPIyOOyIdQquNg+oU6Z3524YwrcqEm0aKH+5zpt2U=
+gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
+gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
+gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
+gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
+gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
+gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+gotest.tools/gotestsum v0.3.5/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY=
+grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.2/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
+k8s.io/api v0.17.5 h1:EkVieIbn1sC8YCDwckLKLpf+LoVofXYW72+LTZWo4aQ=
+k8s.io/api v0.17.5/go.mod h1:0zV5/ungglgy2Rlm3QK8fbxkXVs+BSJWpJP/+8gUVLY=
+k8s.io/apiextensions-apiserver v0.17.5 h1:1MvO6pRopn9ZHweFEVFxnWDRpMd3ZE7SPY156qDnOeI=
+k8s.io/apiextensions-apiserver v0.17.5/go.mod h1:Up8qgvIy2v9521+YBhg7fhVtd4jgh/1MjotWr5GvOn4=
+k8s.io/apimachinery v0.17.5 h1:QAjfgeTtSGksdkgyaPrIb4lhU16FWMIzxKejYD5S0gc=
+k8s.io/apimachinery v0.17.5/go.mod h1:ioIo1G/a+uONV7Tv+ZmCbMG1/a3kVw5YcDdncd8ugQ0=
+k8s.io/apiserver v0.17.5 h1:8RJUTT2TzVZnCl3B+6YgYtaMTIcjwo11z40yZbA85ds=
+k8s.io/apiserver v0.17.5/go.mod h1:yo2cFZJ7AUj6BYYRWzEzs2cLtkY6F6zdxs8GhLu5V28=
+k8s.io/cli-runtime v0.17.5/go.mod h1:MgU0RZdbJoDThMLacP4ik4W7qpI0wOf2uiMyzVvB/BE=
+k8s.io/client-go v0.17.5 h1:Sm/9AQ415xPAX42JLKbJZnreXFgD2rVfDUDwOTm0gzA=
+k8s.io/client-go v0.17.5/go.mod h1:S8uZpBpjJJdEH/fEyxcqg7Rn0P5jH+ilkgBHjriSmNo=
+k8s.io/cloud-provider v0.17.5/go.mod h1:0c++pXLaTXm0HzIh9RSZ0z7P7+Tlk7j4IMOsFFb/Y1o=
+k8s.io/cluster-bootstrap v0.17.5/go.mod h1:jKpZ209mo/1MLNuwzkbj4B62JBgsY4kZ1Aj+JyQcarg=
+k8s.io/code-generator v0.17.5/go.mod h1:qdiSCSTKtS+3WtPelj2h57fylSQcPUlhMVm+TD9Dvqc=
+k8s.io/component-base v0.17.5 h1:f4QKFRH1OIuWbpWwDm+vGvFQmrXmAbtPF8PREdtkIGE=
+k8s.io/component-base v0.17.5/go.mod h1:cZQAW1AUbBjD1lh+e/krbiIpqGz6fipI+vHslOBbuHE=
+k8s.io/cri-api v0.17.5/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM=
+k8s.io/csi-translation-lib v0.17.5/go.mod h1:8DHduJ0h+9KT32JIRQkafmpDIfCKgMfnB3bQNVwoydw=
+k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
+k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
+k8s.io/heapster v1.2.0-beta.1/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM=
+k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
+k8s.io/klog v0.3.0 h1:0VPpR+sizsiivjIfIAQH/rl8tan6jvWkS7lU+0di3lE=
+k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
+k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
+k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
+k8s.io/kube-aggregator v0.17.5/go.mod h1:J7vHaOF1VmPbX76YCPAS6bwqTNedHFdISm0/kuUQzJs=
+k8s.io/kube-controller-manager v0.17.5/go.mod h1:TN+e1LARup+dgebIiCszTy5mVxMnrrssk175MA9Rqv0=
+k8s.io/kube-openapi v0.0.0-20200316234421-82d701f24f9d h1:jocF7XFucw2pEiv2wS7wk2FRFCjDFGV1oa4TMs0SAT0=
+k8s.io/kube-openapi v0.0.0-20200316234421-82d701f24f9d/go.mod h1:F+5wygcW0wmRTnM3cOgIqGivxkwSWIWT5YdsDbeAOaU=
+k8s.io/kube-proxy v0.17.5/go.mod h1:nzZOHUUxN05KH7pRRG1rqTc6hVyI6iO1TRHO0F15u64=
+k8s.io/kube-scheduler v0.17.5/go.mod h1:gIsdloj6ReI6h4J5YAgRsD3ZQSqjWGM7mDrapzCURpE=
+k8s.io/kubectl v0.17.5/go.mod h1:S88pLHOv131dkFt+zrUKmIqdxZE/ZtvskM6cmsSZSS4=
+k8s.io/kubelet v0.17.5/go.mod h1:X/sLoRojOT5elpfUKw+Qy1+3JuhLBqGvmTYElopzIgU=
+k8s.io/kubernetes v1.17.5 h1:ZPZDhS4wRIPSKahglFHK5Q8wcUH/Q2QE5AbopkuLYyU=
+k8s.io/kubernetes v1.17.5/go.mod h1:4A7Bm7SHrj2SCb9vxMBil1wu2uJy3k1zSjoD43SS8Zg=
+k8s.io/legacy-cloud-providers v0.17.5/go.mod h1:atyAqbM6a6J06102HbPDJaLVFSKaPC7b3QdrhEyxHEQ=
+k8s.io/metrics v0.17.5/go.mod h1:s9EezeDItnjT9MJkujZD3eDp3Z5wNkZWZ/koT9HTq0I=
+k8s.io/repo-infra v0.0.1-alpha.1/go.mod h1:wO1t9WaB99V80ljbeENTnayuEEwNZt7gECYh/CEyOJ8=
+k8s.io/sample-apiserver v0.17.5/go.mod h1:msePoMBif/i9TJTpV1nPyChd5lRXcUUz0f83E5XGhWQ=
+k8s.io/system-validators v1.0.4/go.mod h1:HgSgTg4NAGNoYYjKsUyk52gdNi2PVDswQ9Iyn66R7NI=
+k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
+k8s.io/utils v0.0.0-20200124190032-861946025e34 h1:HjlUD6M0K3P8nRXmr2B9o4F9dUy9TCj/aEpReeyi6+k=
+k8s.io/utils v0.0.0-20200124190032-861946025e34/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
+modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
+modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
+modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
+modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
+modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
+mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
+mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
+mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34/go.mod h1:H6SUd1XjIs+qQCyskXg5OFSrilMRUkD8ePJpHKDPaeY=
+sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
+sigs.k8s.io/structured-merge-diff/v2 v2.0.1/go.mod h1:Wb7vfKAodbKgf6tn1Kl0VvGj7mRH6DGaRcixXEJXTsE=
+sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
+sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
+sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
+sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=
+vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj6uzU2+8OWDFv/HxUSs7kI=
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 895bc786c..0426066d6 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -27,7 +27,6 @@ import (
const (
defaultIpvsdrImage = "cargo.caicloud.io/caicloud/loadbalancer-provider-ipvsdr:v0.3.2"
defaultAzureProviderImage = "cargo.caicloud.io/caicloud/loadbalancer-provider-azure:v0.3.2"
- defaultHTTPBackendImage = "cargo.caicloud.io/caicloud/default-http-backend:v0.1.0"
defaultNginxIngressImage = "cargo.caicloud.io/caicloud/nginx-ingress-controller:0.12.0"
defaultIngressSidecarImage = "cargo.caicloud.io/caicloud/loadbalancer-provider-ingress:v0.3.2"
defaultIngressAnnotationPrefix = "ingress.kubernetes.io"
@@ -102,7 +101,8 @@ func (c *Configuration) AddFlags(fs *pflag.FlagSet) {
fs.StringVar(&c.Proxies.Sidecar, "proxy-sidecar", defaultIngressSidecarImage, "`Image` of ingress controller sidecar")
fs.StringVar(&c.Proxies.Nginx.Image, "proxy-nginx", defaultNginxIngressImage, "`Image` of nginx ingress controller image")
- fs.StringVar(&c.Proxies.Nginx.DefaultHTTPBackend, "default-http-backend", defaultHTTPBackendImage, "Default http backend `Image` for ingress controller")
+ // Deprecated, but reserve it for upgrade compitibility
+ fs.StringVar(&c.Proxies.Nginx.DefaultHTTPBackend, "default-http-backend", "", "Default http backend `Image` for ingress controller")
fs.StringVar(&c.Proxies.Nginx.DefaultSSLCertificate, "default-ssl-certificate", "", "Name of the secret that contains a SSL `certificate` to be used as default for a HTTPS catch-all server")
fs.StringVar(&c.Proxies.Nginx.AnnotationPrefix, "proxy-nginx-annotation-prefix", defaultIngressAnnotationPrefix, "Prefix of ingress annotation")
diff --git a/pkg/controller/loadbalancer.go b/pkg/controller/loadbalancer.go
index e55b54885..2446c7b3c 100644
--- a/pkg/controller/loadbalancer.go
+++ b/pkg/controller/loadbalancer.go
@@ -24,7 +24,6 @@ import (
"github.com/caicloud/clientset/informers"
"github.com/caicloud/clientset/kubernetes"
lblisters "github.com/caicloud/clientset/listers/loadbalance/v1alpha2"
- apiextensions "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
lbapi "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
"github.com/caicloud/clientset/util/syncqueue"
"github.com/caicloud/loadbalancer-controller/pkg/config"
@@ -32,6 +31,7 @@ import (
"github.com/caicloud/loadbalancer-controller/pkg/provider"
"github.com/caicloud/loadbalancer-controller/pkg/proxy"
+ apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
@@ -55,14 +55,14 @@ type LoadBalancerController struct {
func NewLoadBalancerController(cfg config.Configuration) *LoadBalancerController {
// TODO register metrics
factory := informers.NewSharedInformerFactory(cfg.Client, 0)
- lbinformer := factory.Loadbalance().V1alpha2().LoadBalancers()
+ lbinformer := factory.Custom().Loadbalance().V1alpha2().LoadBalancers()
lbc := &LoadBalancerController{
client: cfg.Client,
factory: factory,
lbLister: lbinformer.Lister(),
nodeCtl: &nodeController{
client: cfg.Client,
- nodeLister: factory.Core().V1().Nodes().Lister(),
+ nodeLister: factory.Native().Core().V1().Nodes().Lister(),
},
proxies: plugin.NewRegistry(),
providers: plugin.NewRegistry(),
@@ -107,12 +107,8 @@ func (lbc *LoadBalancerController) Run(workers int, stopCh <-chan struct{}) {
// wait cache synced
log.Info("Wait for all caches synced")
- synced := lbc.factory.WaitForCacheSync(stopCh)
- for tpy, sync := range synced {
- if !sync {
- log.Errorf("Wait for %v cache sync timeout", tpy)
- return
- }
+ if err := lbc.factory.WaitForCacheSync(stopCh); err != nil {
+ log.Errorf("Wait for cache sync error %v", err)
}
log.Infof("All caches have synced, Running LoadBalancer Controller, workers %v", workers)
@@ -134,24 +130,60 @@ func (lbc *LoadBalancerController) Run(workers int, stopCh <-chan struct{}) {
// ensure loadbalancer tpr initialized
func (lbc *LoadBalancerController) ensureResource() error {
+ // set x-kubernetes-preserve-unknown-fields to true, stops the API server
+ // decoding step from pruning fields which are not specified
+ // in the validation schema.
+ xPreserveUnknownFields := true
crd := &apiextensions.CustomResourceDefinition{
ObjectMeta: metav1.ObjectMeta{
Name: "loadbalancers." + lbapi.GroupName,
},
Spec: apiextensions.CustomResourceDefinitionSpec{
- Group: lbapi.GroupName,
- Version: lbapi.SchemeGroupVersion.Version,
- Scope: apiextensions.NamespaceScoped,
+ Group: lbapi.GroupName,
+ Scope: apiextensions.NamespaceScoped,
Names: apiextensions.CustomResourceDefinitionNames{
Plural: "loadbalancers",
Singular: "loadbalancer",
Kind: "LoadBalancer",
ListKind: "LoadBalancerList",
+ ShortNames: []string{
+ "lb",
+ },
+ },
+ Versions: []apiextensions.CustomResourceDefinitionVersion{
+ {
+ Name: lbapi.SchemeGroupVersion.Version,
+ AdditionalPrinterColumns: []apiextensions.CustomResourceColumnDefinition{
+ {
+ Name: "VIP",
+ Type: "string",
+ JSONPath: ".spec.providers.*.vip",
+ },
+ {
+ Name: "VIPS",
+ Type: "string",
+ JSONPath: ".spec.providers.*.vips",
+ },
+ {
+ Name: "NODES",
+ Type: "string",
+ JSONPath: ".spec.nodes.names",
+ },
+ },
+ Schema: &apiextensions.CustomResourceValidation{
+ OpenAPIV3Schema: &apiextensions.JSONSchemaProps{
+ Type: "object",
+ // x-kubernetes-preserve-unknown-fields
+ XPreserveUnknownFields: &xPreserveUnknownFields,
+ },
+ },
+ Served: true,
+ Storage: true,
+ },
},
},
}
- _, err := lbc.client.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
-
+ _, err := lbc.client.Apiextensions().ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
if errors.IsAlreadyExists(err) {
log.Info("Skip the creation for CustomResourceDefinition LoadBalancer because it has already been created")
return nil
diff --git a/pkg/controller/nodes.go b/pkg/controller/nodes.go
index 7f8b5c7ea..8beedf59e 100644
--- a/pkg/controller/nodes.go
+++ b/pkg/controller/nodes.go
@@ -183,7 +183,7 @@ func (nc *nodeController) doLabelAndTaints(desiredNodes *VerifiedNodes) error {
if err != nil {
return err
}
- _, err = nc.client.CoreV1().Nodes().Patch(node.Name, types.StrategicMergePatchType, patch)
+ _, err = nc.client.Native().CoreV1().Nodes().Patch(node.Name, types.StrategicMergePatchType, patch)
if err != nil {
log.Errorf("update node err: %v", err)
return err
@@ -220,7 +220,7 @@ func (nc *nodeController) doLabelAndTaints(desiredNodes *VerifiedNodes) error {
if err != nil {
return err
}
- _, err = nc.client.CoreV1().Nodes().Patch(node.Name, types.StrategicMergePatchType, patch)
+ _, err = nc.client.Native().CoreV1().Nodes().Patch(node.Name, types.StrategicMergePatchType, patch)
if err != nil {
log.Errorf("update node err: %v", err)
return err
diff --git a/pkg/plugin/plugin.go b/pkg/plugin/plugin.go
index 713f0e703..1dc33c650 100644
--- a/pkg/plugin/plugin.go
+++ b/pkg/plugin/plugin.go
@@ -17,10 +17,11 @@ limitations under the License.
package plugin
import (
+ "sync"
+
"github.com/caicloud/clientset/informers"
lbapi "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
"github.com/caicloud/loadbalancer-controller/pkg/config"
- "github.com/zoumo/golib/register"
)
// Interface defines a pluggable proxy interface
@@ -32,45 +33,69 @@ type Interface interface {
// Registry ...
type Registry struct {
- register *register.Register
+ data map[string]interface{}
+ mutex sync.RWMutex
}
// NewRegistry ...
func NewRegistry() *Registry {
return &Registry{
- register: register.New(nil),
+ data: make(map[string]interface{}),
}
}
// Register registers a Interface into registry by name.
// Register does not allow user to override an existing Interface.
// This is expected to happen during app startup
-func (p *Registry) Register(name string, plugin Interface) {
- p.register.Register(name, plugin)
+func (r *Registry) Register(name string, plugin Interface) {
+ r.mutex.Lock()
+ defer r.mutex.Unlock()
+ if _, ok := r.data[name]; ok {
+ panic("Repeated registration key" + name)
+ }
+ r.data[name] = plugin
}
// Get returns a registered Interface, or nil if not
-func (p *Registry) Get(name string) (Interface, bool) {
- v, found := p.register.Get(name)
- if !found {
- return nil, false
+func (r *Registry) Get(name string) (Interface, bool) {
+ r.mutex.Lock()
+ defer r.mutex.Unlock()
+ if v, ok := r.data[name]; ok {
+ return v.(Interface), true
}
- return v.(Interface), true
+ return nil, false
}
// Contains checks if the plugin's name is already registered
-func (p *Registry) Contains(name string) bool {
- return p.register.Contains(name)
+func (r *Registry) Contains(name string) bool {
+ r.mutex.Lock()
+ defer r.mutex.Unlock()
+ _, ok := r.data[name]
+ return ok
}
// AllInterfaces returns all registered plugins' names
-func (p *Registry) AllInterfaces() []string {
- return p.register.Keys()
+func (r *Registry) AllInterfaces() []string {
+ names := []string{}
+ r.mutex.Lock()
+ defer r.mutex.Unlock()
+ for name := range r.data {
+ names = append(names, name)
+ }
+ return names
+}
+
+func (r *Registry) rangeItems(f func(key string, value interface{}) bool) {
+ r.mutex.Lock()
+ defer r.mutex.Unlock()
+ for k, v := range r.data {
+ f(k, v)
+ }
}
// InitAll calls all registered plugins OnSync function
-func (p *Registry) InitAll(c config.Configuration, sif informers.SharedInformerFactory) {
- p.register.Range(func(k string, value interface{}) bool {
+func (r *Registry) InitAll(c config.Configuration, sif informers.SharedInformerFactory) {
+ r.rangeItems(func(k string, value interface{}) bool {
plugin := value.(Interface)
plugin.Init(c, sif)
return true
@@ -78,8 +103,8 @@ func (p *Registry) InitAll(c config.Configuration, sif informers.SharedInformerF
}
// RunAll calls all registered plugins' Run function
-func (p *Registry) RunAll(stopCh <-chan struct{}) {
- p.register.Range(func(k string, value interface{}) bool {
+func (r *Registry) RunAll(stopCh <-chan struct{}) {
+ r.rangeItems(func(k string, value interface{}) bool {
plugin := value.(Interface)
go plugin.Run(stopCh)
return true
@@ -87,8 +112,8 @@ func (p *Registry) RunAll(stopCh <-chan struct{}) {
}
// SyncAll calls all registered plugins OnSync function
-func (p *Registry) SyncAll(lb *lbapi.LoadBalancer) {
- p.register.Range(func(k string, value interface{}) bool {
+func (r *Registry) SyncAll(lb *lbapi.LoadBalancer) {
+ r.rangeItems(func(k string, value interface{}) bool {
plugin := value.(Interface)
go plugin.OnSync(lb)
return true
diff --git a/pkg/provider/azure/azure.go b/pkg/provider/azure/azure.go
index 63d15bb26..0675a5927 100644
--- a/pkg/provider/azure/azure.go
+++ b/pkg/provider/azure/azure.go
@@ -81,9 +81,9 @@ func (f *azure) Init(cfg config.Configuration, sif informers.SharedInformerFacto
f.client = cfg.Client
// initialize controller
- lbInformer := sif.Loadbalance().V1alpha2().LoadBalancers()
- dInformer := sif.Apps().V1().Deployments()
- podInfomer := sif.Core().V1().Pods()
+ lbInformer := sif.Custom().Loadbalance().V1alpha2().LoadBalancers()
+ dInformer := sif.Native().Apps().V1().Deployments()
+ podInfomer := sif.Native().Core().V1().Pods()
f.lbLister = lbInformer.Lister()
f.dLister = dInformer.Lister()
@@ -213,7 +213,7 @@ func (f *azure) getDeploymentsForLoadBalancer(lb *lbapi.LoadBalancer) ([]*appsv1
// an uncached quorum read sometime after listing deployment (see kubernetes#42639).
canAdoptFunc := controllerutil.RecheckDeletionTimestamp(func() (metav1.Object, error) {
// fresh lb
- fresh, err := f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace).Get(lb.Name, metav1.GetOptions{})
+ fresh, err := f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace).Get(lb.Name, metav1.GetOptions{})
if err != nil {
return nil, err
}
@@ -224,7 +224,7 @@ func (f *azure) getDeploymentsForLoadBalancer(lb *lbapi.LoadBalancer) ([]*appsv1
return fresh, nil
})
- cm := controllerutil.NewDeploymentControllerRefManager(f.client, lb, selector, api.ControllerKind, canAdoptFunc)
+ cm := controllerutil.NewDeploymentControllerRefManager(f.client.Native(), lb, selector, api.ControllerKind, canAdoptFunc)
return cm.Claim(dList)
}
@@ -248,7 +248,7 @@ func (f *azure) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
copy := dp.DeepCopy()
replica := int32(0)
copy.Spec.Replicas = &replica
- _, _ = f.client.AppsV1().Deployments(lb.Namespace).Update(copy)
+ _, _ = f.client.Native().AppsV1().Deployments(lb.Namespace).Update(copy)
continue
}
@@ -258,7 +258,7 @@ func (f *azure) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
merged, changed := lbutil.MergeDeployment(dp, desiredDeploy)
if changed {
log.Infof("Sync azure deployment %v for lb %v", dp.Name, lb.Name)
- _, err := f.client.AppsV1().Deployments(lb.Namespace).Update(merged)
+ _, err := f.client.Native().AppsV1().Deployments(lb.Namespace).Update(merged)
if err != nil {
return err
}
@@ -270,7 +270,7 @@ func (f *azure) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
if !updated {
// create deployment
log.Infof("Create azure deployment %v for lb %v", desiredDeploy.Name, lb.Name)
- _, err := f.client.AppsV1().Deployments(lb.Namespace).Create(desiredDeploy)
+ _, err := f.client.Native().AppsV1().Deployments(lb.Namespace).Create(desiredDeploy)
if err != nil {
return err
}
@@ -290,7 +290,7 @@ func (f *azure) cleanup(lb *lbapi.LoadBalancer, deleteStatus bool) error {
policy := metav1.DeletePropagationForeground
gracePeriodSeconds := int64(30)
for _, d := range ds {
- _ = f.client.AppsV1().Deployments(d.Namespace).Delete(d.Name, &metav1.DeleteOptions{
+ _ = f.client.Native().AppsV1().Deployments(d.Namespace).Delete(d.Name, &metav1.DeleteOptions{
GracePeriodSeconds: &gracePeriodSeconds,
PropagationPolicy: &policy,
})
diff --git a/pkg/provider/azure/status.go b/pkg/provider/azure/status.go
index 764366a08..047b75a12 100644
--- a/pkg/provider/azure/status.go
+++ b/pkg/provider/azure/status.go
@@ -31,7 +31,7 @@ func (f *azure) deleteStatus(lb *lbapi.LoadBalancer) error {
log.Infof("delete azure status for loadbalancer %v/%v", lb.Namespace, lb.Name)
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
@@ -71,7 +71,7 @@ func (f *azure) syncStatus(lb *lbapi.LoadBalancer) error {
lb.Status.ProvidersStatuses.Azure.Message != status.Message) {
log.Infof("update azure status %s message %s", status.Phase, status.Message)
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
diff --git a/pkg/provider/external/external.go b/pkg/provider/external/external.go
index dcea2264c..a4c97f06b 100644
--- a/pkg/provider/external/external.go
+++ b/pkg/provider/external/external.go
@@ -62,7 +62,7 @@ func (f *external) Init(cfg config.Configuration, sif informers.SharedInformerFa
// set config
f.client = cfg.Client
// initialize controller
- lbInformer := sif.Loadbalance().V1alpha2().LoadBalancers()
+ lbInformer := sif.Custom().Loadbalance().V1alpha2().LoadBalancers()
f.lbLister = lbInformer.Lister()
f.queue = syncqueue.NewPassthroughSyncQueue(&lbapi.LoadBalancer{}, f.syncLoadBalancer)
@@ -133,16 +133,28 @@ func (f *external) syncLoadBalancer(obj interface{}) error {
// TODO sync status only
return nil
}
-
+ provider := lb.Spec.Providers.External
+
+ // vip and vips conversion for compatibility
+ vip := provider.VIP
+ vips := []string{}
+ vips = append(vips, provider.VIPs...)
+ if len(vips) == 0 {
+ vips = append(vips, vip)
+ }
+ if vip == "" && len(vips) > 0 {
+ vip = vips[0]
+ }
// sync status
providerStatus := lbapi.ExpternalProviderStatus{
- VIP: lb.Spec.Providers.External.VIP,
+ VIP: vip,
+ VIPs: vips,
}
externalstatus := lb.Status.ProvidersStatuses.External
// check whether the statuses are equal
if externalstatus == nil || !lbutil.ExternalProviderStatusEqual(*externalstatus, providerStatus) {
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
@@ -168,7 +180,7 @@ func (f *external) deleteStatus(lb *lbapi.LoadBalancer) error {
log.Infof("delete external status for loadbalancer %v/%v", lb.Namespace, lb.Name)
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
diff --git a/pkg/provider/ipvsdr/ipvsdr.go b/pkg/provider/ipvsdr/ipvsdr.go
index d8ac778f8..9c3f9ad12 100644
--- a/pkg/provider/ipvsdr/ipvsdr.go
+++ b/pkg/provider/ipvsdr/ipvsdr.go
@@ -88,9 +88,9 @@ func (f *ipvsdr) Init(cfg config.Configuration, sif informers.SharedInformerFact
f.client = cfg.Client
// initialize controller
- lbInformer := sif.Loadbalance().V1alpha2().LoadBalancers()
- dInformer := sif.Apps().V1().Deployments()
- podInfomer := sif.Core().V1().Pods()
+ lbInformer := sif.Custom().Loadbalance().V1alpha2().LoadBalancers()
+ dInformer := sif.Native().Apps().V1().Deployments()
+ podInfomer := sif.Native().Core().V1().Pods()
f.lbLister = lbInformer.Lister()
f.dLister = dInformer.Lister()
@@ -219,7 +219,7 @@ func (f *ipvsdr) getDeploymentsForLoadBalancer(lb *lbapi.LoadBalancer) ([]*appsv
// an uncached quorum read sometime after listing deployment (see kubernetes#42639).
canAdoptFunc := controllerutil.RecheckDeletionTimestamp(func() (metav1.Object, error) {
// fresh lb
- fresh, err := f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace).Get(lb.Name, metav1.GetOptions{})
+ fresh, err := f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace).Get(lb.Name, metav1.GetOptions{})
if err != nil {
return nil, err
}
@@ -230,7 +230,7 @@ func (f *ipvsdr) getDeploymentsForLoadBalancer(lb *lbapi.LoadBalancer) ([]*appsv
return fresh, nil
})
- cm := controllerutil.NewDeploymentControllerRefManager(f.client, lb, selector, api.ControllerKind, canAdoptFunc)
+ cm := controllerutil.NewDeploymentControllerRefManager(f.client.Native(), lb, selector, api.ControllerKind, canAdoptFunc)
return cm.Claim(dList)
}
@@ -253,7 +253,7 @@ func (f *ipvsdr) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
copy := dp.DeepCopy()
replica := int32(0)
copy.Spec.Replicas = &replica
- _, _ = f.client.AppsV1().Deployments(lb.Namespace).Update(copy)
+ _, _ = f.client.Native().AppsV1().Deployments(lb.Namespace).Update(copy)
continue
}
@@ -264,7 +264,7 @@ func (f *ipvsdr) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
merged, changed := lbutil.MergeDeployment(dp, desiredDeploy)
if changed {
log.Infof("Sync ipvsdr deployment %v for lb %v", dp.Name, lb.Name)
- _, err := f.client.AppsV1().Deployments(lb.Namespace).Update(merged)
+ _, err := f.client.Native().AppsV1().Deployments(lb.Namespace).Update(merged)
if err != nil {
return err
}
@@ -277,7 +277,7 @@ func (f *ipvsdr) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
// create deployment
log.Infof("Create ipvsdr deployment %v for lb %v", desiredDeploy.Name, lb.Name)
lbutil.InsertHelmAnnotation(desiredDeploy, desiredDeploy.Namespace, desiredDeploy.Name)
- _, err := f.client.AppsV1().Deployments(lb.Namespace).Create(desiredDeploy)
+ _, err := f.client.Native().AppsV1().Deployments(lb.Namespace).Create(desiredDeploy)
if err != nil {
return err
}
@@ -297,7 +297,7 @@ func (f *ipvsdr) cleanup(lb *lbapi.LoadBalancer, deleteStatus bool) error {
policy := metav1.DeletePropagationForeground
gracePeriodSeconds := int64(30)
for _, d := range ds {
- _ = f.client.AppsV1().Deployments(d.Namespace).Delete(d.Name, &metav1.DeleteOptions{
+ _ = f.client.Native().AppsV1().Deployments(d.Namespace).Delete(d.Name, &metav1.DeleteOptions{
GracePeriodSeconds: &gracePeriodSeconds,
PropagationPolicy: &policy,
})
diff --git a/pkg/provider/ipvsdr/status.go b/pkg/provider/ipvsdr/status.go
index 1ea4fb31a..555ff87b8 100644
--- a/pkg/provider/ipvsdr/status.go
+++ b/pkg/provider/ipvsdr/status.go
@@ -29,6 +29,21 @@ func (f *ipvsdr) syncStatus(lb *lbapi.LoadBalancer) error {
if lb.Spec.Providers.Ipvsdr == nil {
return f.deleteStatus(lb)
}
+
+ provider := lb.Spec.Providers.Ipvsdr
+
+ // vip and vips conversion for compatibility
+ vip := provider.VIP
+ vips := []string{}
+ vips = append(vips, provider.VIPs...)
+
+ if len(vips) == 0 {
+ vips = append(vips, vip)
+ }
+ if vip == "" && len(vips) > 0 {
+ vip = vips[0]
+ }
+
replicas, _ := lbutil.CalculateReplicas(lb)
// caculate proxy status
providerStatus := lbapi.IpvsdrProviderStatus{
@@ -38,7 +53,8 @@ func (f *ipvsdr) syncStatus(lb *lbapi.LoadBalancer) error {
TotalReplicas: 0,
Statuses: make([]lbapi.PodStatus, 0),
},
- VIP: lb.Spec.Providers.Ipvsdr.VIP,
+ VIP: vip,
+ VIPs: vips,
}
// the following loadbalancer need to get a valid vrid
@@ -77,7 +93,7 @@ func (f *ipvsdr) syncStatus(lb *lbapi.LoadBalancer) error {
// js, _ := json.Marshal(providerStatus)
// replacePatch := fmt.Sprintf(`{"status":{"providersStatuses":{"ipvsdr": %s}}}`, string(js))
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
@@ -103,7 +119,7 @@ func (f *ipvsdr) deleteStatus(lb *lbapi.LoadBalancer) error {
log.Infof("delete ipvsdr status for %v/%v", lb.Namespace, lb.Name)
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
diff --git a/pkg/proxy/nginx/config.go b/pkg/proxy/nginx/config.go
index ac31f54b6..43a9f6e75 100644
--- a/pkg/proxy/nginx/config.go
+++ b/pkg/proxy/nginx/config.go
@@ -114,7 +114,7 @@ func (f *nginx) ensureConfigMaps(lb *lbapi.LoadBalancer) error {
}
func (f *nginx) ensureConfigMap(name, namespace string, labels map[string]string) (*v1.ConfigMap, error) {
- cm, err := f.client.CoreV1().ConfigMaps(namespace).Get(name, metav1.GetOptions{})
+ cm, err := f.client.Native().CoreV1().ConfigMaps(namespace).Get(name, metav1.GetOptions{})
if err == nil {
return cm, nil
@@ -130,7 +130,7 @@ func (f *nginx) ensureConfigMap(name, namespace string, labels map[string]string
},
}
log.Infof("About to craete ConfigMap %v/%v for proxy", namespace, cm.Name)
- return f.client.CoreV1().ConfigMaps(namespace).Create(cm)
+ return f.client.Native().CoreV1().ConfigMaps(namespace).Create(cm)
}
func (f *nginx) updateConfig(lb *lbapi.LoadBalancer, cm *v1.ConfigMap) error {
@@ -160,7 +160,7 @@ func (f *nginx) updateConfig(lb *lbapi.LoadBalancer, cm *v1.ConfigMap) error {
cm.Annotations[annotationExternalConfigMaps] = externalConfigMapsStr
cm.Data = newConfig
log.Infof("About to update ConfigMap %v/%v data, with exnternal configs: %v", cm.Namespace, cm.Name, externalConfigMapsStr)
- _, err = f.client.CoreV1().ConfigMaps(cm.Namespace).Update(cm)
+ _, err = f.client.Native().CoreV1().ConfigMaps(cm.Namespace).Update(cm)
return err
}
@@ -194,7 +194,7 @@ func (f *nginx) updateIfHasUnmanagedConfig(lb *lbapi.LoadBalancer, cm *v1.Config
if !reflect.DeepEqual(cm.Data, newConfig) {
cm.Data = newConfig
log.Warningf("About to update ConfigMap %v/%v data with old method", cm.Namespace, cm.Name)
- _, err = f.client.CoreV1().ConfigMaps(cm.Namespace).Update(cm)
+ _, err = f.client.Native().CoreV1().ConfigMaps(cm.Namespace).Update(cm)
}
return true, err
}
@@ -213,7 +213,7 @@ func (f *nginx) getExternalConfig(lb *lbapi.LoadBalancer) ([]string, map[string]
if scope == "instance-%s" {
name = fmt.Sprintf(name, lb.Name)
}
- cm, err := f.client.CoreV1().ConfigMaps(lb.Namespace).Get(name, metav1.GetOptions{})
+ cm, err := f.client.Native().CoreV1().ConfigMaps(lb.Namespace).Get(name, metav1.GetOptions{})
if errors.IsNotFound(err) {
continue
}
diff --git a/pkg/proxy/nginx/default.go b/pkg/proxy/nginx/default.go
deleted file mode 100644
index 7c60dd905..000000000
--- a/pkg/proxy/nginx/default.go
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-Copyright 2017 Caicloud authors. All rights reserved.
-
-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 nginx
-
-import (
- appsv1 "k8s.io/api/apps/v1"
- v1 "k8s.io/api/core/v1"
- "k8s.io/apimachinery/pkg/api/errors"
- "k8s.io/apimachinery/pkg/api/resource"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/util/intstr"
- log "k8s.io/klog"
-)
-
-const (
- defaultHTTPBackendName = "default-http-backend"
- defaultHTTPBackendNamespace = metav1.NamespaceSystem
-)
-
-var (
- defaultHTTPBackendLabels = map[string]string{
- "app": defaultHTTPBackendName,
- }
-)
-
-func (f *nginx) ensureDefaultHTTPBackend() error {
- dp := &appsv1.Deployment{
- ObjectMeta: metav1.ObjectMeta{
- Namespace: defaultHTTPBackendNamespace,
- Name: defaultHTTPBackendName,
- Labels: defaultHTTPBackendLabels,
- },
- Spec: appsv1.DeploymentSpec{
- Selector: &metav1.LabelSelector{
- MatchLabels: defaultHTTPBackendLabels,
- },
- Template: v1.PodTemplateSpec{
- ObjectMeta: metav1.ObjectMeta{
- Labels: defaultHTTPBackendLabels,
- },
- Spec: v1.PodSpec{
- Containers: []v1.Container{
- {
- Name: defaultHTTPBackendName,
- Image: f.defaultHTTPbackend,
- ImagePullPolicy: v1.PullAlways,
- Resources: v1.ResourceRequirements{
- Limits: v1.ResourceList{
- v1.ResourceCPU: resource.MustParse("100m"),
- v1.ResourceMemory: resource.MustParse("100Mi"),
- },
- },
- Ports: []v1.ContainerPort{
- {
- ContainerPort: int32(80),
- Protocol: v1.ProtocolTCP,
- },
- },
- },
- },
- },
- },
- },
- }
-
- svc := &v1.Service{
- ObjectMeta: metav1.ObjectMeta{
- Namespace: defaultHTTPBackendNamespace,
- Name: defaultHTTPBackendName,
- Labels: defaultHTTPBackendLabels,
- },
- Spec: v1.ServiceSpec{
- Type: v1.ServiceTypeClusterIP,
- SessionAffinity: v1.ServiceAffinityNone,
- Selector: defaultHTTPBackendLabels,
- Ports: []v1.ServicePort{
- {
- Port: int32(80),
- TargetPort: intstr.FromInt(80),
- Protocol: v1.ProtocolTCP,
- },
- },
- },
- }
-
- if _, err := f.client.AppsV1().Deployments(defaultHTTPBackendNamespace).Create(dp); err != nil && !errors.IsAlreadyExists(err) {
- log.Errorf("Cannot create Deployment %v/%v: %v", defaultHTTPBackendNamespace, defaultHTTPBackendName, err)
- return err
- }
-
- if _, err := f.client.CoreV1().Services(defaultHTTPBackendNamespace).Create(svc); err != nil && !errors.IsAlreadyExists(err) {
- log.Errorf("Cannot create Service %v/%v: %v", defaultHTTPBackendNamespace, defaultHTTPBackendName, err)
- return err
- }
-
- log.Info("Ensure default-http-backend service for ingress controller success")
-
- return nil
-}
diff --git a/pkg/proxy/nginx/ingress.go b/pkg/proxy/nginx/ingress.go
index a0c2dd27c..ae77070b0 100644
--- a/pkg/proxy/nginx/ingress.go
+++ b/pkg/proxy/nginx/ingress.go
@@ -26,7 +26,6 @@ import (
lbutil "github.com/caicloud/loadbalancer-controller/pkg/util/lb"
appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1"
- "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
)
@@ -136,7 +135,6 @@ func (f *nginx) generateDeployment(lb *lbapi.LoadBalancer) *appsv1.Deployment {
// TODO
Args: []string{
"/nginx-ingress-controller",
- "--default-backend-service=" + fmt.Sprintf("%s/%s", defaultHTTPBackendNamespace, defaultHTTPBackendName),
"--ingress-class=" + fmt.Sprintf(lbapi.LabelValueFormatCreateby, lb.Namespace, lb.Name),
"--configmap=" + fmt.Sprintf("%s/"+configMapName, lb.Namespace, lb.Name),
"--tcp-services-configmap=" + fmt.Sprintf("%s/"+tcpConfigMapName, lb.Namespace, lb.Name),
@@ -173,52 +171,6 @@ func (f *nginx) generateDeployment(lb *lbapi.LoadBalancer) *appsv1.Deployment {
},
}
- sidecarContainer := v1.Container{
- Name: "sidecar",
- Image: f.sidecar,
- ImagePullPolicy: v1.PullAlways,
- Resources: v1.ResourceRequirements{
- Limits: v1.ResourceList{
- v1.ResourceCPU: resource.MustParse("20m"),
- v1.ResourceMemory: resource.MustParse("100Mi"),
- },
- Requests: v1.ResourceList{
- v1.ResourceCPU: resource.MustParse("20m"),
- v1.ResourceMemory: resource.MustParse("100Mi"),
- },
- },
- SecurityContext: &v1.SecurityContext{
- // ingress controller sidecar need provileged to change sysctl settings
- Privileged: &t,
- },
- Env: []v1.EnvVar{
- {
- Name: "POD_NAME",
- ValueFrom: &v1.EnvVarSource{
- FieldRef: &v1.ObjectFieldSelector{
- FieldPath: "metadata.name",
- },
- },
- },
- {
- Name: "POD_NAMESPACE",
- ValueFrom: &v1.EnvVarSource{
- FieldRef: &v1.ObjectFieldSelector{
- FieldPath: "metadata.namespace",
- },
- },
- },
- {
- Name: "LOADBALANCER_NAMESPACE",
- Value: lb.Namespace,
- },
- {
- Name: "LOADBALANCER_NAME",
- Value: lb.Name,
- },
- },
- }
-
if f.defaultSSLCertificate != "" {
ingressContainer.Args = append(ingressContainer.Args, "--default-ssl-certificate="+f.defaultSSLCertificate)
}
@@ -232,8 +184,6 @@ func (f *nginx) generateDeployment(lb *lbapi.LoadBalancer) *appsv1.Deployment {
affinity.NodeAffinity = nodeAffinity
// don't co-locate pods of this deployment in same node
affinity.PodAntiAffinity = podAntiAffinity
- // add sidecar container
- containers = append(containers, sidecarContainer)
// change dns policy in hostnetwork
dnsPolicy = v1.DNSClusterFirstWithHostNet
}
diff --git a/pkg/proxy/nginx/nginx.go b/pkg/proxy/nginx/nginx.go
index ed648e1c4..368460352 100644
--- a/pkg/proxy/nginx/nginx.go
+++ b/pkg/proxy/nginx/nginx.go
@@ -87,9 +87,9 @@ func (f *nginx) Init(cfg config.Configuration, sif informers.SharedInformerFacto
f.client = cfg.Client
// initialize controller
- lbInformer := sif.Loadbalance().V1alpha2().LoadBalancers()
- dInformer := sif.Apps().V1().Deployments()
- podInfomer := sif.Core().V1().Pods()
+ lbInformer := sif.Custom().Loadbalance().V1alpha2().LoadBalancers()
+ dInformer := sif.Native().Apps().V1().Deployments()
+ podInfomer := sif.Native().Core().V1().Pods()
f.lbLister = lbInformer.Lister()
f.dLister = dInformer.Lister()
@@ -111,8 +111,11 @@ func (f *nginx) Run(stopCh <-chan struct{}) {
log.Infof("Starting nginx proxy, workers %v, image %v, default-http-backend %v, sidecar %v", workers, f.image, f.defaultHTTPbackend, f.sidecar)
- if err := f.ensureDefaultHTTPBackend(); err != nil {
- panic(fmt.Sprintf("Ensure default http backend service error, %v", err))
+ if f.defaultHTTPbackend != "" {
+ log.Warning("Parameter default-http-backend is deprecated, use internal http backend instead.")
+ }
+ if f.sidecar != "" {
+ log.Warning("Parameter proxy-sidecar is deprecated, no sidecar is used.")
}
// lb controller has waited all the informer synced
@@ -227,7 +230,7 @@ func (f *nginx) getDeploymentsForLoadBalancer(lb *lbapi.LoadBalancer) ([]*appsv1
// an uncached quorum read sometime after listing deployment (see kubernetes#42639).
canAdoptFunc := controllerutil.RecheckDeletionTimestamp(func() (metav1.Object, error) {
// fresh lb
- fresh, err := f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace).Get(lb.Name, metav1.GetOptions{})
+ fresh, err := f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace).Get(lb.Name, metav1.GetOptions{})
if err != nil {
return nil, err
}
@@ -238,7 +241,7 @@ func (f *nginx) getDeploymentsForLoadBalancer(lb *lbapi.LoadBalancer) ([]*appsv1
return fresh, nil
})
- cm := controllerutil.NewDeploymentControllerRefManager(f.client, lb, selector, api.ControllerKind, canAdoptFunc)
+ cm := controllerutil.NewDeploymentControllerRefManager(f.client.Native(), lb, selector, api.ControllerKind, canAdoptFunc)
return cm.Claim(dList)
}
@@ -264,7 +267,7 @@ func (f *nginx) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
copy := dp.DeepCopy()
replica := int32(0)
copy.Spec.Replicas = &replica
- _, _ = f.client.AppsV1().Deployments(lb.Namespace).Update(copy)
+ _, _ = f.client.Native().AppsV1().Deployments(lb.Namespace).Update(copy)
continue
}
@@ -275,7 +278,7 @@ func (f *nginx) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
merged, changed := lbutil.MergeDeployment(dp, desiredDeploy)
if changed {
log.Infof("Sync nginx deployment %v for loadbalancer %v", dp.Name, lb.Name)
- _, err = f.client.AppsV1().Deployments(lb.Namespace).Update(merged)
+ _, err = f.client.Native().AppsV1().Deployments(lb.Namespace).Update(merged)
if err != nil {
return err
}
@@ -288,7 +291,7 @@ func (f *nginx) sync(lb *lbapi.LoadBalancer, dps []*appsv1.Deployment) error {
// create deployment
log.Infof("Create nginx deployment %v for loadbalancer %v", desiredDeploy.Name, lb.Name)
lbutil.InsertHelmAnnotation(desiredDeploy, desiredDeploy.Namespace, desiredDeploy.Name)
- _, err = f.client.AppsV1().Deployments(lb.Namespace).Create(desiredDeploy)
+ _, err = f.client.Native().AppsV1().Deployments(lb.Namespace).Create(desiredDeploy)
if err != nil {
return err
}
@@ -317,7 +320,7 @@ func (f *nginx) cleanup(lb *lbapi.LoadBalancer) error {
gracePeriodSeconds := int64(30)
for _, d := range ds {
- err = f.client.AppsV1().Deployments(d.Namespace).Delete(d.Name, &metav1.DeleteOptions{
+ err = f.client.Native().AppsV1().Deployments(d.Namespace).Delete(d.Name, &metav1.DeleteOptions{
GracePeriodSeconds: &gracePeriodSeconds,
PropagationPolicy: &policy,
})
@@ -328,7 +331,7 @@ func (f *nginx) cleanup(lb *lbapi.LoadBalancer) error {
}
// clean up config map
- err = f.client.CoreV1().ConfigMaps(lb.Namespace).DeleteCollection(nil, metav1.ListOptions{
+ err = f.client.Native().CoreV1().ConfigMaps(lb.Namespace).DeleteCollection(nil, metav1.ListOptions{
LabelSelector: selector.String(),
})
if err != nil {
@@ -341,7 +344,7 @@ func (f *nginx) cleanup(lb *lbapi.LoadBalancer) error {
// createdby ingressClass
lbapi.LabelKeyCreatedBy: fmt.Sprintf(lbapi.LabelValueFormatCreateby, lb.Namespace, lb.Name),
}
- ingresses, err := f.client.ExtensionsV1beta1().Ingresses(metav1.NamespaceAll).List(metav1.ListOptions{
+ ingresses, err := f.client.Native().ExtensionsV1beta1().Ingresses(metav1.NamespaceAll).List(metav1.ListOptions{
LabelSelector: selector.String(),
})
@@ -351,7 +354,7 @@ func (f *nginx) cleanup(lb *lbapi.LoadBalancer) error {
}
for _, ingress := range ingresses.Items {
- err = f.client.ExtensionsV1beta1().Ingresses(ingress.Namespace).Delete(ingress.Name, &metav1.DeleteOptions{})
+ err = f.client.Native().ExtensionsV1beta1().Ingresses(ingress.Namespace).Delete(ingress.Name, &metav1.DeleteOptions{})
if err != nil {
log.Errorf("Cleanup Ingress error: %v", err)
return err
diff --git a/pkg/proxy/nginx/status.go b/pkg/proxy/nginx/status.go
index db80934b3..c32d86962 100644
--- a/pkg/proxy/nginx/status.go
+++ b/pkg/proxy/nginx/status.go
@@ -67,7 +67,7 @@ func (f *nginx) syncStatus(lb *lbapi.LoadBalancer) error {
// replacePatch := fmt.Sprintf(`{"status":{"proxyStatus": %s }}`, string(js))
// _, err := f.tprclient.NetworkingV1alpha1().LoadBalancers(lb.Namespace).Patch(lb.Name, types.MergePatchType, []byte(replacePatch))
_, err := lbutil.UpdateLBWithRetries(
- f.client.LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
+ f.client.Custom().LoadbalanceV1alpha2().LoadBalancers(lb.Namespace),
f.lbLister,
lb.Namespace,
lb.Name,
diff --git a/pkg/util/lb/deployment.go b/pkg/util/lb/deployment.go
index 6bfa137df..4c7729597 100644
--- a/pkg/util/lb/deployment.go
+++ b/pkg/util/lb/deployment.go
@@ -30,7 +30,6 @@ func completeHelmAnnotation(ann map[string]string, namespace, name string) map[s
}
ann["helm.sh/namespace"] = namespace
ann["helm.sh/release"] = name
- ann["helm.sh/path"] = name // The key "helm.sh/path" is needed, the value is meaningless
return ann
}
diff --git a/pkg/util/lb/lb.go b/pkg/util/lb/lb.go
index 47691c694..a5f39ca33 100644
--- a/pkg/util/lb/lb.go
+++ b/pkg/util/lb/lb.go
@@ -206,7 +206,7 @@ func EvictPod(client kubernetes.Interface, lb *lbapi.LoadBalancer, pod *v1.Pod)
}
evict := func() {
- _ = client.CoreV1().Pods(pod.Namespace).Delete(pod.Name, &metav1.DeleteOptions{})
+ _ = client.Native().CoreV1().Pods(pod.Namespace).Delete(pod.Name, &metav1.DeleteOptions{})
}
// FIXME: when RequiredDuringSchedulingRequiredDuringExecution finished
diff --git a/pkg/util/lb/retry.go b/pkg/util/lb/retry.go
index 568d52deb..9e8212afc 100644
--- a/pkg/util/lb/retry.go
+++ b/pkg/util/lb/retry.go
@@ -17,7 +17,7 @@ limitations under the License.
package lb
import (
- lbclient "github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2"
+ lbclient "github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2"
lblisters "github.com/caicloud/clientset/listers/loadbalance/v1alpha2"
lbapi "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
"k8s.io/apimachinery/pkg/api/errors"
diff --git a/release/loadbalancer-controller.yaml b/release/loadbalancer-controller.yaml
index 54a7eb263..79bf9e832 100644
--- a/release/loadbalancer-controller.yaml
+++ b/release/loadbalancer-controller.yaml
@@ -12,12 +12,25 @@ _config:
- args:
- --v=2
- --default-http-backend=[[ registry_library ]]/default-http-backend:v0.1.0
- - --proxy-nginx=[[ registry_library ]]/nginx-ingress-controller:0.23.0
+ - --proxy-nginx=[[ registry_library ]]/nginx-ingress-controller:0.23.0-cps-1.1
- --proxy-sidecar=[[ registry_release ]]/loadbalancer-provider-ingress:[[ TagOfRepo(loadbalancer-provider) ]]
- --provider-ipvsdr=[[ registry_release ]]/loadbalancer-provider-ipvsdr:[[ TagOfRepo(loadbalancer-provider) ]]
- --provider-azure=[[ registry_release ]]/loadbalancer-provider-azure:[[ TagOfRepo(loadbalancer-provider) ]]
image: "[[ registry_release ]]/loadbalancer-controller:[[ imageTagFromGitTag ]]"
imagePullPolicy: IfNotPresent
+ probe:
+ liveness:
+ handler:
+ type: HTTP
+ method:
+ path: /healthz
+ port: 8081
+ delay: 10
+ period: 10
+ threshold:
+ failure: 3
+ success: 1
+ timeout: 1
resources:
limits:
cpu: 300m
diff --git a/vendor/github.com/InVisionApp/conjungo/.travis.yml b/vendor/github.com/InVisionApp/conjungo/.travis.yml
new file mode 100644
index 000000000..ccad663fd
--- /dev/null
+++ b/vendor/github.com/InVisionApp/conjungo/.travis.yml
@@ -0,0 +1,13 @@
+language: go
+
+go:
+ - 1.7
+
+before_install:
+ - go get -t -v ./...
+
+script:
+ - make test/codecov
+
+after_success:
+ - bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/github.com/InVisionApp/conjungo/README.md b/vendor/github.com/InVisionApp/conjungo/README.md
new file mode 100644
index 000000000..6444cde73
--- /dev/null
+++ b/vendor/github.com/InVisionApp/conjungo/README.md
@@ -0,0 +1,242 @@
+
+
+# conjungo
+
+[![LICENSE](https://img.shields.io/badge/license-MIT-orange.svg)](LICENSE)
+[![Golang](https://img.shields.io/badge/Golang-v1.7-blue.svg)](https://golang.org/dl/)
+[![Godocs](https://img.shields.io/badge/golang-documentation-blue.svg)](https://godoc.org/github.com/InVisionApp/conjungo)
+[![Go Report Card](https://goreportcard.com/badge/github.com/InVisionApp/conjungo)](https://goreportcard.com/report/github.com/InVisionApp/conjungo)
+[![Travis Build Status](https://travis-ci.com/InVisionApp/conjungo.svg?token=KosA43m1X3ikri8JEukQ&branch=master)](https://travis-ci.com/InVisionApp/conjungo)
+[![codecov](https://codecov.io/gh/InVisionApp/conjungo/branch/master/graph/badge.svg?token=lesB1PUEtL)](https://codecov.io/gh/InVisionApp/conjungo)
+
+A merge utility designed for flexibility and customizability. The library has a
+single simple point of entry that works out of the box for most basic use cases.
+From there, customizations can be made to the way two items are merged to fit
+your specific needs.
+
+Merge any two things of the same type, including maps, slices, structs, and even
+basic types like string and int. By default, the target value will be overwritten
+by the source. If the overwrite option is turned off, only new values in source
+that do not already exist in target will be added.
+
+If you would like to change the way two items of a particular type get merged,
+custom merge functions can be defined for any type or kind (see below).
+
+## Why Conjungo?
+
+The definition of Conjungo:
+> I.v. a., to bind together, connect, join, unite (very freq. in all perr. and species of composition); constr. with cum, inter se, the dat., or the acc. only; trop. also with ad.
+
+Reference: [Latin Dictionary...](http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.04.0059:entry=conjungo)
+
+There are other merge libraries written in go, but none of them have the
+flexibility of this one. If you simply need to merge two things, a default
+set of merge functions are defined for merging maps, slices, and structs like
+most other libraries. But, if the way these default functions are defined does
+not meet your needs, Conjungo provides the ability to define your own merge
+functions. For instance, the default behavior when merging two integers is to
+replace the target with the source, but if you'd like to redefine that, you
+can write a custom merge function that is used when assessing integers. A custom
+function could add the two integers and return the result, or return the larger
+of the two integers. You could define a custom merge function for a specific struct
+type in your code, and define how that gets merged. The customizability of how
+things get merged is the focus of Conjungo.
+
+The need for this library arose when we were merging large custom structs. We
+found that there was no single library that merged all the parts of the struct
+in the way that we needed. We had struct fields that were pointers to sub structs
+and maps that needed to be followed instead of simply replaced. We had slices
+that needed to be appended but also deduped. Conjungo solves these types of
+problems by allowing custom functions to be defined to handle each type.
+
+## Setup
+To get **conjungo**:
+```sh
+go get github.com/InVisionApp/conjungo
+```
+
+We recommend that you vendor it within your project. We chose to use govendor.
+
+```sh
+govendor fetch github.com/InVisionApp/conjungo
+```
+
+## Usage
+### Simple Merge
+Merge two structs together:
+```go
+type Foo struct {
+ Name string
+ Size int
+ Special bool
+ SubMap map[string]string
+}
+
+targetStruct := Foo{
+ Name: "target",
+ Size: 2,
+ Special: false,
+ SubMap: map[string]string{"foo": "unchanged", "bar": "orig"},
+}
+
+sourceStruct := Foo{
+ Name: "source",
+ Size: 4,
+ Special: true,
+ SubMap: map[string]string{"bar": "newVal", "safe": "added"},
+}
+
+err := conjungo.Merge(&targetStruct, sourceStruct, nil)
+if err != nil {
+ log.Error(err)
+}
+```
+results in:
+```json
+{
+ "Name": "source",
+ "Size": 4,
+ "Special": true,
+ "SubMap": {
+ "bar": "newVal",
+ "foo": "unchanged",
+ "safe": "added"
+ }
+}
+```
+
+### Options
+**Overwrite** `bool`
+If true, overwrite a target value with source value even if it already exists
+
+**ErrorOnUnexported** `bool`
+Unexported fields on a struct can not be set. When a struct contains an unexported
+field, the default behavior is to treat the entire struct as a single entity and
+replace according to Overwrite settings.
+If this is enabled, an error will be thrown instead.
+
+### Custom Merge Functions
+#### Define a custom merge function for a type:
+```go
+opts := conjungo.NewOptions()
+opts.MergeFuncs.SetTypeMergeFunc(
+ reflect.TypeOf(0),
+ // merge two 'int' types by adding them together
+ func(t, s reflect.Value, o *conjungo.Options) (reflect.Value, error) {
+ iT, _ := t.Interface().(int)
+ iS, _ := s.Interface().(int)
+ return reflect.ValueOf(iT + iS), nil
+ },
+)
+
+x := 1
+y := 2
+
+err := conjungo.Merge(&x, y, opts)
+if err != nil {
+ log.Error(err)
+}
+
+// x == 3
+```
+
+#### Define a custom merge function for a kind:
+```go
+opts := conjungo.NewOptions()
+opts.MergeFuncs.SetKindMergeFunc(
+ reflect.TypeOf(struct{}{}).Kind(),
+ // merge two 'struct' kinds by replacing the target with the source
+ // provides a mechanism to set override = true for just structs
+ func(t, s reflect.Value, o *conjungo.Options) (reflect.Value, error) {
+ return s, nil
+ },
+)
+```
+
+#### Define a custom merge function for a struct type:
+```go
+ type Foo struct {
+ Name string
+ Size int
+ }
+
+ target := Foo{
+ Name: "bar",
+ Size: 25,
+ }
+
+ source := Foo{
+ Name: "baz",
+ Size: 35,
+ }
+
+ opts := conjungo.NewOptions()
+ opts.MergeFuncs.SetTypeMergeFunc(
+ reflect.TypeOf(Foo{}),
+ // merge two 'int' types by adding them together
+ func(t, s reflect.Value, o *conjungo.Options) (reflect.Value, error) {
+ tFoo := t.Interface().(Foo)
+ sFoo := s.Interface().(Foo)
+
+ // names are merged by concatenating them
+ tFoo.Name = tFoo.Name + "." + sFoo.Name
+ // sizes are merged by averaging them
+ tFoo.Size = (tFoo.Size + sFoo.Size) / 2
+
+ return reflect.ValueOf(tFoo), nil
+ },
+ )
+```
+
+#### Define a custom type and a function to merge it:
+```go
+type jsonString string
+
+var targetJSON jsonString = `
+{
+ "a": "wrong",
+ "b": 1,
+ "c": {"bar": "orig", "foo": "unchanged"},
+}`
+
+var sourceJSON jsonString = `
+{
+ "a": "correct",
+ "b": 2,
+ "c": {"bar": "newVal", "safe": "added"},
+}`
+
+opts := conjungo.NewOptions()
+opts.MergeFuncs.SetTypeMergeFunc(
+ reflect.TypeOf(jsonString("")),
+ // merge two json strings by unmarshalling them to maps
+ func(t, s reflect.Value, o *conjungo.Options) (reflect.Value, error) {
+ targetStr, _ := t.Interface().(jsonString)
+ sourceStr, _ := s.Interface().(jsonString)
+
+ targetMap := map[string]interface{}{}
+ if err := json.Unmarshal([]byte(targetStr), &targetMap); err != nil {
+ return reflect.Value{}, err
+ }
+
+ sourceMap := map[string]interface{}{}
+ if err := json.Unmarshal([]byte(sourceStr), &sourceMap); err != nil {
+ return reflect.Value{}, err
+ }
+
+ err := conjungo.Merge(&targetMap, sourceMap, o)
+ if err != nil {
+ return reflect.Value{}, err
+ }
+
+ mergedJSON, err := json.Marshal(targetMap)
+ if err != nil {
+ return reflect.Value{}, err
+ }
+
+ return reflect.ValueOf(jsonString(mergedJSON)), nil
+ },
+)
+```
+
+See [working examples](_example/main.go) for more details.
diff --git a/vendor/github.com/InVisionApp/conjungo/codecov.yml b/vendor/github.com/InVisionApp/conjungo/codecov.yml
new file mode 100644
index 000000000..83dbbdb86
--- /dev/null
+++ b/vendor/github.com/InVisionApp/conjungo/codecov.yml
@@ -0,0 +1,20 @@
+codecov:
+ notify:
+ require_ci_to_pass: true
+comment:
+ layout: "header, diff, tree"
+ require_changes: false
+ branches: null
+ behavior: default
+ flags: null
+ paths: null
+coverage:
+ precision: 2
+ range:
+ - 70.0
+ - 100.0
+ round: down
+ status:
+ changes: false
+ patch: true
+ project: true
\ No newline at end of file
diff --git a/vendor/github.com/InVisionApp/conjungo/in-repo.yaml b/vendor/github.com/InVisionApp/conjungo/in-repo.yaml
new file mode 100644
index 000000000..82e432e0d
--- /dev/null
+++ b/vendor/github.com/InVisionApp/conjungo/in-repo.yaml
@@ -0,0 +1,4 @@
+owner:
+ active:
+ team: core
+ since: 2017-01-01
diff --git a/vendor/github.com/InVisionApp/conjungo/makefile b/vendor/github.com/InVisionApp/conjungo/makefile
new file mode 100644
index 000000000..2a11bdfc5
--- /dev/null
+++ b/vendor/github.com/InVisionApp/conjungo/makefile
@@ -0,0 +1,38 @@
+# Some things this makefile could make use of:
+#
+# - test coverage target(s)
+# - profiler target(s)
+#
+
+BIN = rye
+OUTPUT_DIR = build
+TMP_DIR := .tmp
+RELEASE_VER := $(shell git rev-parse --short HEAD)
+NAME = default
+COVERMODE = atomic
+
+TEST_PACKAGES := $(shell go list ./... | grep -v vendor | grep -v fakes)
+
+.PHONY: help
+.DEFAULT_GOAL := help
+
+run/examples:
+ go run example/main.go
+
+test: ##Run all tests
+ go test ./...
+
+test/codecov: ## Run all tests + open coverage report for all packages
+ for PKG in $(TEST_PACKAGES); do \
+ go test -covermode=$(COVERMODE) -coverprofile=profile.out $$PKG; \
+ if [ -f profile.out ]; then\
+ cat profile.out >> coverage.txt;\
+ rm profile.out;\
+ fi;\
+ done
+ $(RM) profile.out
+
+help: ## Display this help message
+ @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_\/-]+:.*?## / {printf "\033[34m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
+ sort | \
+ grep -v '#'
diff --git a/vendor/github.com/caicloud/clientset/customclient/clientset.go b/vendor/github.com/caicloud/clientset/customclient/clientset.go
new file mode 100644
index 000000000..21f0233be
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/clientset.go
@@ -0,0 +1,435 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package customclient
+
+import (
+ "fmt"
+
+ alertingv1alpha1 "github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1"
+ alertingv1alpha2 "github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2"
+ alertingv1beta1 "github.com/caicloud/clientset/customclient/typed/alerting/v1beta1"
+ apiregistrationv1 "github.com/caicloud/clientset/customclient/typed/apiregistration/v1"
+ cleverv1alpha1 "github.com/caicloud/clientset/customclient/typed/clever/v1alpha1"
+ cleverv1alpha2 "github.com/caicloud/clientset/customclient/typed/clever/v1alpha2"
+ cleverv1alpha3 "github.com/caicloud/clientset/customclient/typed/clever/v1alpha3"
+ cnetworkingv1alpha1 "github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1"
+ configv1alpha1 "github.com/caicloud/clientset/customclient/typed/config/v1alpha1"
+ datasetv1alpha1 "github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1"
+ datasetv1alpha2 "github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2"
+ devopsv1 "github.com/caicloud/clientset/customclient/typed/devops/v1"
+ evaluationv1alpha1 "github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1"
+ loadbalancev1alpha2 "github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2"
+ loggingv1alpha1 "github.com/caicloud/clientset/customclient/typed/logging/v1alpha1"
+ microservicev1alpha1 "github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1"
+ modelv1alpha1 "github.com/caicloud/clientset/customclient/typed/model/v1alpha1"
+ orchestrationv1alpha1 "github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1"
+ releasev1alpha1 "github.com/caicloud/clientset/customclient/typed/release/v1alpha1"
+ resourcev1alpha1 "github.com/caicloud/clientset/customclient/typed/resource/v1alpha1"
+ resourcev1beta1 "github.com/caicloud/clientset/customclient/typed/resource/v1beta1"
+ servicemeshv1alpha1 "github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1"
+ servingv1alpha1 "github.com/caicloud/clientset/customclient/typed/serving/v1alpha1"
+ tenantv1alpha1 "github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1"
+ workloadv1alpha1 "github.com/caicloud/clientset/customclient/typed/workload/v1alpha1"
+ workloadv1beta1 "github.com/caicloud/clientset/customclient/typed/workload/v1beta1"
+ discovery "k8s.io/client-go/discovery"
+ rest "k8s.io/client-go/rest"
+ flowcontrol "k8s.io/client-go/util/flowcontrol"
+)
+
+type Interface interface {
+ Discovery() discovery.DiscoveryInterface
+ AlertingV1beta1() alertingv1beta1.AlertingV1beta1Interface
+ AlertingV1alpha2() alertingv1alpha2.AlertingV1alpha2Interface
+ AlertingV1alpha1() alertingv1alpha1.AlertingV1alpha1Interface
+ ApiregistrationV1() apiregistrationv1.ApiregistrationV1Interface
+ CleverV1alpha3() cleverv1alpha3.CleverV1alpha3Interface
+ CleverV1alpha2() cleverv1alpha2.CleverV1alpha2Interface
+ CleverV1alpha1() cleverv1alpha1.CleverV1alpha1Interface
+ CnetworkingV1alpha1() cnetworkingv1alpha1.CnetworkingV1alpha1Interface
+ ConfigV1alpha1() configv1alpha1.ConfigV1alpha1Interface
+ DatasetV1alpha2() datasetv1alpha2.DatasetV1alpha2Interface
+ DatasetV1alpha1() datasetv1alpha1.DatasetV1alpha1Interface
+ DevopsV1() devopsv1.DevopsV1Interface
+ EvaluationV1alpha1() evaluationv1alpha1.EvaluationV1alpha1Interface
+ LoadbalanceV1alpha2() loadbalancev1alpha2.LoadbalanceV1alpha2Interface
+ LoggingV1alpha1() loggingv1alpha1.LoggingV1alpha1Interface
+ MicroserviceV1alpha1() microservicev1alpha1.MicroserviceV1alpha1Interface
+ ModelV1alpha1() modelv1alpha1.ModelV1alpha1Interface
+ OrchestrationV1alpha1() orchestrationv1alpha1.OrchestrationV1alpha1Interface
+ ReleaseV1alpha1() releasev1alpha1.ReleaseV1alpha1Interface
+ ResourceV1beta1() resourcev1beta1.ResourceV1beta1Interface
+ ResourceV1alpha1() resourcev1alpha1.ResourceV1alpha1Interface
+ ServicemeshV1alpha1() servicemeshv1alpha1.ServicemeshV1alpha1Interface
+ ServingV1alpha1() servingv1alpha1.ServingV1alpha1Interface
+ TenantV1alpha1() tenantv1alpha1.TenantV1alpha1Interface
+ WorkloadV1beta1() workloadv1beta1.WorkloadV1beta1Interface
+ WorkloadV1alpha1() workloadv1alpha1.WorkloadV1alpha1Interface
+}
+
+// Clientset contains the clients for groups. Each group has exactly one
+// version included in a Clientset.
+type Clientset struct {
+ *discovery.DiscoveryClient
+ alertingV1beta1 *alertingv1beta1.AlertingV1beta1Client
+ alertingV1alpha2 *alertingv1alpha2.AlertingV1alpha2Client
+ alertingV1alpha1 *alertingv1alpha1.AlertingV1alpha1Client
+ apiregistrationV1 *apiregistrationv1.ApiregistrationV1Client
+ cleverV1alpha3 *cleverv1alpha3.CleverV1alpha3Client
+ cleverV1alpha2 *cleverv1alpha2.CleverV1alpha2Client
+ cleverV1alpha1 *cleverv1alpha1.CleverV1alpha1Client
+ cnetworkingV1alpha1 *cnetworkingv1alpha1.CnetworkingV1alpha1Client
+ configV1alpha1 *configv1alpha1.ConfigV1alpha1Client
+ datasetV1alpha2 *datasetv1alpha2.DatasetV1alpha2Client
+ datasetV1alpha1 *datasetv1alpha1.DatasetV1alpha1Client
+ devopsV1 *devopsv1.DevopsV1Client
+ evaluationV1alpha1 *evaluationv1alpha1.EvaluationV1alpha1Client
+ loadbalanceV1alpha2 *loadbalancev1alpha2.LoadbalanceV1alpha2Client
+ loggingV1alpha1 *loggingv1alpha1.LoggingV1alpha1Client
+ microserviceV1alpha1 *microservicev1alpha1.MicroserviceV1alpha1Client
+ modelV1alpha1 *modelv1alpha1.ModelV1alpha1Client
+ orchestrationV1alpha1 *orchestrationv1alpha1.OrchestrationV1alpha1Client
+ releaseV1alpha1 *releasev1alpha1.ReleaseV1alpha1Client
+ resourceV1beta1 *resourcev1beta1.ResourceV1beta1Client
+ resourceV1alpha1 *resourcev1alpha1.ResourceV1alpha1Client
+ servicemeshV1alpha1 *servicemeshv1alpha1.ServicemeshV1alpha1Client
+ servingV1alpha1 *servingv1alpha1.ServingV1alpha1Client
+ tenantV1alpha1 *tenantv1alpha1.TenantV1alpha1Client
+ workloadV1beta1 *workloadv1beta1.WorkloadV1beta1Client
+ workloadV1alpha1 *workloadv1alpha1.WorkloadV1alpha1Client
+}
+
+// AlertingV1beta1 retrieves the AlertingV1beta1Client
+func (c *Clientset) AlertingV1beta1() alertingv1beta1.AlertingV1beta1Interface {
+ return c.alertingV1beta1
+}
+
+// AlertingV1alpha2 retrieves the AlertingV1alpha2Client
+func (c *Clientset) AlertingV1alpha2() alertingv1alpha2.AlertingV1alpha2Interface {
+ return c.alertingV1alpha2
+}
+
+// AlertingV1alpha1 retrieves the AlertingV1alpha1Client
+func (c *Clientset) AlertingV1alpha1() alertingv1alpha1.AlertingV1alpha1Interface {
+ return c.alertingV1alpha1
+}
+
+// ApiregistrationV1 retrieves the ApiregistrationV1Client
+func (c *Clientset) ApiregistrationV1() apiregistrationv1.ApiregistrationV1Interface {
+ return c.apiregistrationV1
+}
+
+// CleverV1alpha3 retrieves the CleverV1alpha3Client
+func (c *Clientset) CleverV1alpha3() cleverv1alpha3.CleverV1alpha3Interface {
+ return c.cleverV1alpha3
+}
+
+// CleverV1alpha2 retrieves the CleverV1alpha2Client
+func (c *Clientset) CleverV1alpha2() cleverv1alpha2.CleverV1alpha2Interface {
+ return c.cleverV1alpha2
+}
+
+// CleverV1alpha1 retrieves the CleverV1alpha1Client
+func (c *Clientset) CleverV1alpha1() cleverv1alpha1.CleverV1alpha1Interface {
+ return c.cleverV1alpha1
+}
+
+// CnetworkingV1alpha1 retrieves the CnetworkingV1alpha1Client
+func (c *Clientset) CnetworkingV1alpha1() cnetworkingv1alpha1.CnetworkingV1alpha1Interface {
+ return c.cnetworkingV1alpha1
+}
+
+// ConfigV1alpha1 retrieves the ConfigV1alpha1Client
+func (c *Clientset) ConfigV1alpha1() configv1alpha1.ConfigV1alpha1Interface {
+ return c.configV1alpha1
+}
+
+// DatasetV1alpha2 retrieves the DatasetV1alpha2Client
+func (c *Clientset) DatasetV1alpha2() datasetv1alpha2.DatasetV1alpha2Interface {
+ return c.datasetV1alpha2
+}
+
+// DatasetV1alpha1 retrieves the DatasetV1alpha1Client
+func (c *Clientset) DatasetV1alpha1() datasetv1alpha1.DatasetV1alpha1Interface {
+ return c.datasetV1alpha1
+}
+
+// DevopsV1 retrieves the DevopsV1Client
+func (c *Clientset) DevopsV1() devopsv1.DevopsV1Interface {
+ return c.devopsV1
+}
+
+// EvaluationV1alpha1 retrieves the EvaluationV1alpha1Client
+func (c *Clientset) EvaluationV1alpha1() evaluationv1alpha1.EvaluationV1alpha1Interface {
+ return c.evaluationV1alpha1
+}
+
+// LoadbalanceV1alpha2 retrieves the LoadbalanceV1alpha2Client
+func (c *Clientset) LoadbalanceV1alpha2() loadbalancev1alpha2.LoadbalanceV1alpha2Interface {
+ return c.loadbalanceV1alpha2
+}
+
+// LoggingV1alpha1 retrieves the LoggingV1alpha1Client
+func (c *Clientset) LoggingV1alpha1() loggingv1alpha1.LoggingV1alpha1Interface {
+ return c.loggingV1alpha1
+}
+
+// MicroserviceV1alpha1 retrieves the MicroserviceV1alpha1Client
+func (c *Clientset) MicroserviceV1alpha1() microservicev1alpha1.MicroserviceV1alpha1Interface {
+ return c.microserviceV1alpha1
+}
+
+// ModelV1alpha1 retrieves the ModelV1alpha1Client
+func (c *Clientset) ModelV1alpha1() modelv1alpha1.ModelV1alpha1Interface {
+ return c.modelV1alpha1
+}
+
+// OrchestrationV1alpha1 retrieves the OrchestrationV1alpha1Client
+func (c *Clientset) OrchestrationV1alpha1() orchestrationv1alpha1.OrchestrationV1alpha1Interface {
+ return c.orchestrationV1alpha1
+}
+
+// ReleaseV1alpha1 retrieves the ReleaseV1alpha1Client
+func (c *Clientset) ReleaseV1alpha1() releasev1alpha1.ReleaseV1alpha1Interface {
+ return c.releaseV1alpha1
+}
+
+// ResourceV1beta1 retrieves the ResourceV1beta1Client
+func (c *Clientset) ResourceV1beta1() resourcev1beta1.ResourceV1beta1Interface {
+ return c.resourceV1beta1
+}
+
+// ResourceV1alpha1 retrieves the ResourceV1alpha1Client
+func (c *Clientset) ResourceV1alpha1() resourcev1alpha1.ResourceV1alpha1Interface {
+ return c.resourceV1alpha1
+}
+
+// ServicemeshV1alpha1 retrieves the ServicemeshV1alpha1Client
+func (c *Clientset) ServicemeshV1alpha1() servicemeshv1alpha1.ServicemeshV1alpha1Interface {
+ return c.servicemeshV1alpha1
+}
+
+// ServingV1alpha1 retrieves the ServingV1alpha1Client
+func (c *Clientset) ServingV1alpha1() servingv1alpha1.ServingV1alpha1Interface {
+ return c.servingV1alpha1
+}
+
+// TenantV1alpha1 retrieves the TenantV1alpha1Client
+func (c *Clientset) TenantV1alpha1() tenantv1alpha1.TenantV1alpha1Interface {
+ return c.tenantV1alpha1
+}
+
+// WorkloadV1beta1 retrieves the WorkloadV1beta1Client
+func (c *Clientset) WorkloadV1beta1() workloadv1beta1.WorkloadV1beta1Interface {
+ return c.workloadV1beta1
+}
+
+// WorkloadV1alpha1 retrieves the WorkloadV1alpha1Client
+func (c *Clientset) WorkloadV1alpha1() workloadv1alpha1.WorkloadV1alpha1Interface {
+ return c.workloadV1alpha1
+}
+
+// Discovery retrieves the DiscoveryClient
+func (c *Clientset) Discovery() discovery.DiscoveryInterface {
+ if c == nil {
+ return nil
+ }
+ return c.DiscoveryClient
+}
+
+// NewForConfig creates a new Clientset for the given config.
+// If config's RateLimiter is not set and QPS and Burst are acceptable,
+// NewForConfig will generate a rate-limiter in configShallowCopy.
+func NewForConfig(c *rest.Config) (*Clientset, error) {
+ configShallowCopy := *c
+ if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
+ if configShallowCopy.Burst <= 0 {
+ return nil, fmt.Errorf("Burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0")
+ }
+ configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
+ }
+ var cs Clientset
+ var err error
+ cs.alertingV1beta1, err = alertingv1beta1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.alertingV1alpha2, err = alertingv1alpha2.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.alertingV1alpha1, err = alertingv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.apiregistrationV1, err = apiregistrationv1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.cleverV1alpha3, err = cleverv1alpha3.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.cleverV1alpha2, err = cleverv1alpha2.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.cleverV1alpha1, err = cleverv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.cnetworkingV1alpha1, err = cnetworkingv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.configV1alpha1, err = configv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.datasetV1alpha2, err = datasetv1alpha2.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.datasetV1alpha1, err = datasetv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.devopsV1, err = devopsv1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.evaluationV1alpha1, err = evaluationv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.loadbalanceV1alpha2, err = loadbalancev1alpha2.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.loggingV1alpha1, err = loggingv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.microserviceV1alpha1, err = microservicev1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.modelV1alpha1, err = modelv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.orchestrationV1alpha1, err = orchestrationv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.releaseV1alpha1, err = releasev1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.resourceV1beta1, err = resourcev1beta1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.resourceV1alpha1, err = resourcev1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.servicemeshV1alpha1, err = servicemeshv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.servingV1alpha1, err = servingv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.tenantV1alpha1, err = tenantv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.workloadV1beta1, err = workloadv1beta1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ cs.workloadV1alpha1, err = workloadv1alpha1.NewForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+
+ cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy)
+ if err != nil {
+ return nil, err
+ }
+ return &cs, nil
+}
+
+// NewForConfigOrDie creates a new Clientset for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *Clientset {
+ var cs Clientset
+ cs.alertingV1beta1 = alertingv1beta1.NewForConfigOrDie(c)
+ cs.alertingV1alpha2 = alertingv1alpha2.NewForConfigOrDie(c)
+ cs.alertingV1alpha1 = alertingv1alpha1.NewForConfigOrDie(c)
+ cs.apiregistrationV1 = apiregistrationv1.NewForConfigOrDie(c)
+ cs.cleverV1alpha3 = cleverv1alpha3.NewForConfigOrDie(c)
+ cs.cleverV1alpha2 = cleverv1alpha2.NewForConfigOrDie(c)
+ cs.cleverV1alpha1 = cleverv1alpha1.NewForConfigOrDie(c)
+ cs.cnetworkingV1alpha1 = cnetworkingv1alpha1.NewForConfigOrDie(c)
+ cs.configV1alpha1 = configv1alpha1.NewForConfigOrDie(c)
+ cs.datasetV1alpha2 = datasetv1alpha2.NewForConfigOrDie(c)
+ cs.datasetV1alpha1 = datasetv1alpha1.NewForConfigOrDie(c)
+ cs.devopsV1 = devopsv1.NewForConfigOrDie(c)
+ cs.evaluationV1alpha1 = evaluationv1alpha1.NewForConfigOrDie(c)
+ cs.loadbalanceV1alpha2 = loadbalancev1alpha2.NewForConfigOrDie(c)
+ cs.loggingV1alpha1 = loggingv1alpha1.NewForConfigOrDie(c)
+ cs.microserviceV1alpha1 = microservicev1alpha1.NewForConfigOrDie(c)
+ cs.modelV1alpha1 = modelv1alpha1.NewForConfigOrDie(c)
+ cs.orchestrationV1alpha1 = orchestrationv1alpha1.NewForConfigOrDie(c)
+ cs.releaseV1alpha1 = releasev1alpha1.NewForConfigOrDie(c)
+ cs.resourceV1beta1 = resourcev1beta1.NewForConfigOrDie(c)
+ cs.resourceV1alpha1 = resourcev1alpha1.NewForConfigOrDie(c)
+ cs.servicemeshV1alpha1 = servicemeshv1alpha1.NewForConfigOrDie(c)
+ cs.servingV1alpha1 = servingv1alpha1.NewForConfigOrDie(c)
+ cs.tenantV1alpha1 = tenantv1alpha1.NewForConfigOrDie(c)
+ cs.workloadV1beta1 = workloadv1beta1.NewForConfigOrDie(c)
+ cs.workloadV1alpha1 = workloadv1alpha1.NewForConfigOrDie(c)
+
+ cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
+ return &cs
+}
+
+// New creates a new Clientset for the given RESTClient.
+func New(c rest.Interface) *Clientset {
+ var cs Clientset
+ cs.alertingV1beta1 = alertingv1beta1.New(c)
+ cs.alertingV1alpha2 = alertingv1alpha2.New(c)
+ cs.alertingV1alpha1 = alertingv1alpha1.New(c)
+ cs.apiregistrationV1 = apiregistrationv1.New(c)
+ cs.cleverV1alpha3 = cleverv1alpha3.New(c)
+ cs.cleverV1alpha2 = cleverv1alpha2.New(c)
+ cs.cleverV1alpha1 = cleverv1alpha1.New(c)
+ cs.cnetworkingV1alpha1 = cnetworkingv1alpha1.New(c)
+ cs.configV1alpha1 = configv1alpha1.New(c)
+ cs.datasetV1alpha2 = datasetv1alpha2.New(c)
+ cs.datasetV1alpha1 = datasetv1alpha1.New(c)
+ cs.devopsV1 = devopsv1.New(c)
+ cs.evaluationV1alpha1 = evaluationv1alpha1.New(c)
+ cs.loadbalanceV1alpha2 = loadbalancev1alpha2.New(c)
+ cs.loggingV1alpha1 = loggingv1alpha1.New(c)
+ cs.microserviceV1alpha1 = microservicev1alpha1.New(c)
+ cs.modelV1alpha1 = modelv1alpha1.New(c)
+ cs.orchestrationV1alpha1 = orchestrationv1alpha1.New(c)
+ cs.releaseV1alpha1 = releasev1alpha1.New(c)
+ cs.resourceV1beta1 = resourcev1beta1.New(c)
+ cs.resourceV1alpha1 = resourcev1alpha1.New(c)
+ cs.servicemeshV1alpha1 = servicemeshv1alpha1.New(c)
+ cs.servingV1alpha1 = servingv1alpha1.New(c)
+ cs.tenantV1alpha1 = tenantv1alpha1.New(c)
+ cs.workloadV1beta1 = workloadv1beta1.New(c)
+ cs.workloadV1alpha1 = workloadv1alpha1.New(c)
+
+ cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
+ return &cs
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/doc.go b/vendor/github.com/caicloud/clientset/customclient/doc.go
new file mode 100644
index 000000000..dc59b9920
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/doc.go
@@ -0,0 +1,8 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+// This package has the automatically generated clientset.
+package customclient
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/scheme/doc.go b/vendor/github.com/caicloud/clientset/customclient/scheme/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/scheme/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/scheme/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/scheme/register.go b/vendor/github.com/caicloud/clientset/customclient/scheme/register.go
new file mode 100644
index 000000000..49650b0a0
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/scheme/register.go
@@ -0,0 +1,94 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package scheme
+
+import (
+ alertingv1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
+ alertingv1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
+ alertingv1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ apiregistrationv1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
+ cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ cnetworkingv1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
+ configv1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
+ datasetv1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
+ datasetv1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
+ devopsv1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
+ evaluationv1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
+ loadbalancev1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
+ loggingv1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
+ microservicev1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
+ modelv1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
+ orchestrationv1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
+ releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ resourcev1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ servicemeshv1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
+ servingv1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
+ tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
+ workloadv1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ schema "k8s.io/apimachinery/pkg/runtime/schema"
+ serializer "k8s.io/apimachinery/pkg/runtime/serializer"
+ utilruntime "k8s.io/apimachinery/pkg/util/runtime"
+)
+
+var Scheme = runtime.NewScheme()
+var Codecs = serializer.NewCodecFactory(Scheme)
+var ParameterCodec = runtime.NewParameterCodec(Scheme)
+var localSchemeBuilder = runtime.SchemeBuilder{
+ alertingv1beta1.AddToScheme,
+ alertingv1alpha2.AddToScheme,
+ alertingv1alpha1.AddToScheme,
+ apiregistrationv1.AddToScheme,
+ cleverv1alpha3.AddToScheme,
+ cleverv1alpha2.AddToScheme,
+ cleverv1alpha1.AddToScheme,
+ cnetworkingv1alpha1.AddToScheme,
+ configv1alpha1.AddToScheme,
+ datasetv1alpha2.AddToScheme,
+ datasetv1alpha1.AddToScheme,
+ devopsv1.AddToScheme,
+ evaluationv1alpha1.AddToScheme,
+ loadbalancev1alpha2.AddToScheme,
+ loggingv1alpha1.AddToScheme,
+ microservicev1alpha1.AddToScheme,
+ modelv1alpha1.AddToScheme,
+ orchestrationv1alpha1.AddToScheme,
+ releasev1alpha1.AddToScheme,
+ resourcev1beta1.AddToScheme,
+ resourcev1alpha1.AddToScheme,
+ servicemeshv1alpha1.AddToScheme,
+ servingv1alpha1.AddToScheme,
+ tenantv1alpha1.AddToScheme,
+ workloadv1beta1.AddToScheme,
+ workloadv1alpha1.AddToScheme,
+}
+
+// AddToScheme adds all types of this clientset into the given scheme. This allows composition
+// of clientsets, like in:
+//
+// import (
+// "k8s.io/client-go/kubernetes"
+// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
+// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
+// )
+//
+// kclientset, _ := kubernetes.NewForConfig(c)
+// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
+//
+// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
+// correctly.
+var AddToScheme = localSchemeBuilder.AddToScheme
+
+func init() {
+ v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
+ utilruntime.Must(AddToScheme(Scheme))
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alerting_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alerting_client.go
new file mode 100644
index 000000000..f88bf1b66
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alerting_client.go
@@ -0,0 +1,82 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
+ rest "k8s.io/client-go/rest"
+)
+
+type AlertingV1alpha1Interface interface {
+ RESTClient() rest.Interface
+ AlertingRulesGetter
+ AlertingSubRulesGetter
+}
+
+// AlertingV1alpha1Client is used to interact with features provided by the alerting.caicloud.io group.
+type AlertingV1alpha1Client struct {
+ restClient rest.Interface
+}
+
+func (c *AlertingV1alpha1Client) AlertingRules() AlertingRuleInterface {
+ return newAlertingRules(c)
+}
+
+func (c *AlertingV1alpha1Client) AlertingSubRules() AlertingSubRuleInterface {
+ return newAlertingSubRules(c)
+}
+
+// NewForConfig creates a new AlertingV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*AlertingV1alpha1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &AlertingV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new AlertingV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *AlertingV1alpha1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new AlertingV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *AlertingV1alpha1Client {
+ return &AlertingV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *AlertingV1alpha1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alertingrule.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alertingrule.go
new file mode 100644
index 000000000..c0badd183
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alertingrule.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// AlertingRulesGetter has a method to return a AlertingRuleInterface.
+// A group's client should implement this interface.
+type AlertingRulesGetter interface {
+ AlertingRules() AlertingRuleInterface
+}
+
+// AlertingRuleInterface has methods to work with AlertingRule resources.
+type AlertingRuleInterface interface {
+ Create(*v1alpha1.AlertingRule) (*v1alpha1.AlertingRule, error)
+ Update(*v1alpha1.AlertingRule) (*v1alpha1.AlertingRule, error)
+ UpdateStatus(*v1alpha1.AlertingRule) (*v1alpha1.AlertingRule, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.AlertingRule, error)
+ List(opts v1.ListOptions) (*v1alpha1.AlertingRuleList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingRule, err error)
+ AlertingRuleExpansion
+}
+
+// alertingRules implements AlertingRuleInterface
+type alertingRules struct {
+ client rest.Interface
+}
+
+// newAlertingRules returns a AlertingRules
+func newAlertingRules(c *AlertingV1alpha1Client) *alertingRules {
+ return &alertingRules{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the alertingRule, and returns the corresponding alertingRule object, and an error if there is any.
+func (c *alertingRules) Get(name string, options v1.GetOptions) (result *v1alpha1.AlertingRule, err error) {
+ result = &v1alpha1.AlertingRule{}
+ err = c.client.Get().
+ Resource("alertingrules").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of AlertingRules that match those selectors.
+func (c *alertingRules) List(opts v1.ListOptions) (result *v1alpha1.AlertingRuleList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.AlertingRuleList{}
+ err = c.client.Get().
+ Resource("alertingrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested alertingRules.
+func (c *alertingRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("alertingrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a alertingRule and creates it. Returns the server's representation of the alertingRule, and an error, if there is any.
+func (c *alertingRules) Create(alertingRule *v1alpha1.AlertingRule) (result *v1alpha1.AlertingRule, err error) {
+ result = &v1alpha1.AlertingRule{}
+ err = c.client.Post().
+ Resource("alertingrules").
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a alertingRule and updates it. Returns the server's representation of the alertingRule, and an error, if there is any.
+func (c *alertingRules) Update(alertingRule *v1alpha1.AlertingRule) (result *v1alpha1.AlertingRule, err error) {
+ result = &v1alpha1.AlertingRule{}
+ err = c.client.Put().
+ Resource("alertingrules").
+ Name(alertingRule.Name).
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *alertingRules) UpdateStatus(alertingRule *v1alpha1.AlertingRule) (result *v1alpha1.AlertingRule, err error) {
+ result = &v1alpha1.AlertingRule{}
+ err = c.client.Put().
+ Resource("alertingrules").
+ Name(alertingRule.Name).
+ SubResource("status").
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the alertingRule and deletes it. Returns an error if one occurs.
+func (c *alertingRules) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("alertingrules").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *alertingRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("alertingrules").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched alertingRule.
+func (c *alertingRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingRule, err error) {
+ result = &v1alpha1.AlertingRule{}
+ err = c.client.Patch(pt).
+ Resource("alertingrules").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alertingsubrule.go
new file mode 100644
index 000000000..9c4f29b05
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/alertingsubrule.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// AlertingSubRulesGetter has a method to return a AlertingSubRuleInterface.
+// A group's client should implement this interface.
+type AlertingSubRulesGetter interface {
+ AlertingSubRules() AlertingSubRuleInterface
+}
+
+// AlertingSubRuleInterface has methods to work with AlertingSubRule resources.
+type AlertingSubRuleInterface interface {
+ Create(*v1alpha1.AlertingSubRule) (*v1alpha1.AlertingSubRule, error)
+ Update(*v1alpha1.AlertingSubRule) (*v1alpha1.AlertingSubRule, error)
+ UpdateStatus(*v1alpha1.AlertingSubRule) (*v1alpha1.AlertingSubRule, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.AlertingSubRule, error)
+ List(opts v1.ListOptions) (*v1alpha1.AlertingSubRuleList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingSubRule, err error)
+ AlertingSubRuleExpansion
+}
+
+// alertingSubRules implements AlertingSubRuleInterface
+type alertingSubRules struct {
+ client rest.Interface
+}
+
+// newAlertingSubRules returns a AlertingSubRules
+func newAlertingSubRules(c *AlertingV1alpha1Client) *alertingSubRules {
+ return &alertingSubRules{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the alertingSubRule, and returns the corresponding alertingSubRule object, and an error if there is any.
+func (c *alertingSubRules) Get(name string, options v1.GetOptions) (result *v1alpha1.AlertingSubRule, err error) {
+ result = &v1alpha1.AlertingSubRule{}
+ err = c.client.Get().
+ Resource("alertingsubrules").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of AlertingSubRules that match those selectors.
+func (c *alertingSubRules) List(opts v1.ListOptions) (result *v1alpha1.AlertingSubRuleList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.AlertingSubRuleList{}
+ err = c.client.Get().
+ Resource("alertingsubrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested alertingSubRules.
+func (c *alertingSubRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("alertingsubrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a alertingSubRule and creates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
+func (c *alertingSubRules) Create(alertingSubRule *v1alpha1.AlertingSubRule) (result *v1alpha1.AlertingSubRule, err error) {
+ result = &v1alpha1.AlertingSubRule{}
+ err = c.client.Post().
+ Resource("alertingsubrules").
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a alertingSubRule and updates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
+func (c *alertingSubRules) Update(alertingSubRule *v1alpha1.AlertingSubRule) (result *v1alpha1.AlertingSubRule, err error) {
+ result = &v1alpha1.AlertingSubRule{}
+ err = c.client.Put().
+ Resource("alertingsubrules").
+ Name(alertingSubRule.Name).
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *alertingSubRules) UpdateStatus(alertingSubRule *v1alpha1.AlertingSubRule) (result *v1alpha1.AlertingSubRule, err error) {
+ result = &v1alpha1.AlertingSubRule{}
+ err = c.client.Put().
+ Resource("alertingsubrules").
+ Name(alertingSubRule.Name).
+ SubResource("status").
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the alertingSubRule and deletes it. Returns an error if one occurs.
+func (c *alertingSubRules) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("alertingsubrules").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *alertingSubRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("alertingsubrules").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched alertingSubRule.
+func (c *alertingSubRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingSubRule, err error) {
+ result = &v1alpha1.AlertingSubRule{}
+ err = c.client.Patch(pt).
+ Resource("alertingsubrules").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alerting_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alerting_client.go
new file mode 100644
index 000000000..917acf5c3
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alerting_client.go
@@ -0,0 +1,82 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
+ rest "k8s.io/client-go/rest"
+)
+
+type AlertingV1alpha2Interface interface {
+ RESTClient() rest.Interface
+ AlertingRulesGetter
+ AlertingSubRulesGetter
+}
+
+// AlertingV1alpha2Client is used to interact with features provided by the alerting.caicloud.io group.
+type AlertingV1alpha2Client struct {
+ restClient rest.Interface
+}
+
+func (c *AlertingV1alpha2Client) AlertingRules() AlertingRuleInterface {
+ return newAlertingRules(c)
+}
+
+func (c *AlertingV1alpha2Client) AlertingSubRules() AlertingSubRuleInterface {
+ return newAlertingSubRules(c)
+}
+
+// NewForConfig creates a new AlertingV1alpha2Client for the given config.
+func NewForConfig(c *rest.Config) (*AlertingV1alpha2Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &AlertingV1alpha2Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new AlertingV1alpha2Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *AlertingV1alpha2Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new AlertingV1alpha2Client for the given RESTClient.
+func New(c rest.Interface) *AlertingV1alpha2Client {
+ return &AlertingV1alpha2Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha2.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *AlertingV1alpha2Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alertingrule.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alertingrule.go
new file mode 100644
index 000000000..a4e171861
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alertingrule.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// AlertingRulesGetter has a method to return a AlertingRuleInterface.
+// A group's client should implement this interface.
+type AlertingRulesGetter interface {
+ AlertingRules() AlertingRuleInterface
+}
+
+// AlertingRuleInterface has methods to work with AlertingRule resources.
+type AlertingRuleInterface interface {
+ Create(*v1alpha2.AlertingRule) (*v1alpha2.AlertingRule, error)
+ Update(*v1alpha2.AlertingRule) (*v1alpha2.AlertingRule, error)
+ UpdateStatus(*v1alpha2.AlertingRule) (*v1alpha2.AlertingRule, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.AlertingRule, error)
+ List(opts v1.ListOptions) (*v1alpha2.AlertingRuleList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingRule, err error)
+ AlertingRuleExpansion
+}
+
+// alertingRules implements AlertingRuleInterface
+type alertingRules struct {
+ client rest.Interface
+}
+
+// newAlertingRules returns a AlertingRules
+func newAlertingRules(c *AlertingV1alpha2Client) *alertingRules {
+ return &alertingRules{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the alertingRule, and returns the corresponding alertingRule object, and an error if there is any.
+func (c *alertingRules) Get(name string, options v1.GetOptions) (result *v1alpha2.AlertingRule, err error) {
+ result = &v1alpha2.AlertingRule{}
+ err = c.client.Get().
+ Resource("alertingrules").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of AlertingRules that match those selectors.
+func (c *alertingRules) List(opts v1.ListOptions) (result *v1alpha2.AlertingRuleList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.AlertingRuleList{}
+ err = c.client.Get().
+ Resource("alertingrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested alertingRules.
+func (c *alertingRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("alertingrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a alertingRule and creates it. Returns the server's representation of the alertingRule, and an error, if there is any.
+func (c *alertingRules) Create(alertingRule *v1alpha2.AlertingRule) (result *v1alpha2.AlertingRule, err error) {
+ result = &v1alpha2.AlertingRule{}
+ err = c.client.Post().
+ Resource("alertingrules").
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a alertingRule and updates it. Returns the server's representation of the alertingRule, and an error, if there is any.
+func (c *alertingRules) Update(alertingRule *v1alpha2.AlertingRule) (result *v1alpha2.AlertingRule, err error) {
+ result = &v1alpha2.AlertingRule{}
+ err = c.client.Put().
+ Resource("alertingrules").
+ Name(alertingRule.Name).
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *alertingRules) UpdateStatus(alertingRule *v1alpha2.AlertingRule) (result *v1alpha2.AlertingRule, err error) {
+ result = &v1alpha2.AlertingRule{}
+ err = c.client.Put().
+ Resource("alertingrules").
+ Name(alertingRule.Name).
+ SubResource("status").
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the alertingRule and deletes it. Returns an error if one occurs.
+func (c *alertingRules) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("alertingrules").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *alertingRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("alertingrules").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched alertingRule.
+func (c *alertingRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingRule, err error) {
+ result = &v1alpha2.AlertingRule{}
+ err = c.client.Patch(pt).
+ Resource("alertingrules").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alertingsubrule.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alertingsubrule.go
new file mode 100644
index 000000000..7b525058b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/alertingsubrule.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// AlertingSubRulesGetter has a method to return a AlertingSubRuleInterface.
+// A group's client should implement this interface.
+type AlertingSubRulesGetter interface {
+ AlertingSubRules() AlertingSubRuleInterface
+}
+
+// AlertingSubRuleInterface has methods to work with AlertingSubRule resources.
+type AlertingSubRuleInterface interface {
+ Create(*v1alpha2.AlertingSubRule) (*v1alpha2.AlertingSubRule, error)
+ Update(*v1alpha2.AlertingSubRule) (*v1alpha2.AlertingSubRule, error)
+ UpdateStatus(*v1alpha2.AlertingSubRule) (*v1alpha2.AlertingSubRule, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.AlertingSubRule, error)
+ List(opts v1.ListOptions) (*v1alpha2.AlertingSubRuleList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingSubRule, err error)
+ AlertingSubRuleExpansion
+}
+
+// alertingSubRules implements AlertingSubRuleInterface
+type alertingSubRules struct {
+ client rest.Interface
+}
+
+// newAlertingSubRules returns a AlertingSubRules
+func newAlertingSubRules(c *AlertingV1alpha2Client) *alertingSubRules {
+ return &alertingSubRules{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the alertingSubRule, and returns the corresponding alertingSubRule object, and an error if there is any.
+func (c *alertingSubRules) Get(name string, options v1.GetOptions) (result *v1alpha2.AlertingSubRule, err error) {
+ result = &v1alpha2.AlertingSubRule{}
+ err = c.client.Get().
+ Resource("alertingsubrules").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of AlertingSubRules that match those selectors.
+func (c *alertingSubRules) List(opts v1.ListOptions) (result *v1alpha2.AlertingSubRuleList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.AlertingSubRuleList{}
+ err = c.client.Get().
+ Resource("alertingsubrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested alertingSubRules.
+func (c *alertingSubRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("alertingsubrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a alertingSubRule and creates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
+func (c *alertingSubRules) Create(alertingSubRule *v1alpha2.AlertingSubRule) (result *v1alpha2.AlertingSubRule, err error) {
+ result = &v1alpha2.AlertingSubRule{}
+ err = c.client.Post().
+ Resource("alertingsubrules").
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a alertingSubRule and updates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
+func (c *alertingSubRules) Update(alertingSubRule *v1alpha2.AlertingSubRule) (result *v1alpha2.AlertingSubRule, err error) {
+ result = &v1alpha2.AlertingSubRule{}
+ err = c.client.Put().
+ Resource("alertingsubrules").
+ Name(alertingSubRule.Name).
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *alertingSubRules) UpdateStatus(alertingSubRule *v1alpha2.AlertingSubRule) (result *v1alpha2.AlertingSubRule, err error) {
+ result = &v1alpha2.AlertingSubRule{}
+ err = c.client.Put().
+ Resource("alertingsubrules").
+ Name(alertingSubRule.Name).
+ SubResource("status").
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the alertingSubRule and deletes it. Returns an error if one occurs.
+func (c *alertingSubRules) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("alertingsubrules").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *alertingSubRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("alertingsubrules").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched alertingSubRule.
+func (c *alertingSubRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingSubRule, err error) {
+ result = &v1alpha2.AlertingSubRule{}
+ err = c.client.Patch(pt).
+ Resource("alertingsubrules").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1alpha2/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alerting_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alerting_client.go
new file mode 100644
index 000000000..121c26fd9
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alerting_client.go
@@ -0,0 +1,82 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ rest "k8s.io/client-go/rest"
+)
+
+type AlertingV1beta1Interface interface {
+ RESTClient() rest.Interface
+ AlertingRulesGetter
+ AlertingSubRulesGetter
+}
+
+// AlertingV1beta1Client is used to interact with features provided by the alerting.caicloud.io group.
+type AlertingV1beta1Client struct {
+ restClient rest.Interface
+}
+
+func (c *AlertingV1beta1Client) AlertingRules() AlertingRuleInterface {
+ return newAlertingRules(c)
+}
+
+func (c *AlertingV1beta1Client) AlertingSubRules() AlertingSubRuleInterface {
+ return newAlertingSubRules(c)
+}
+
+// NewForConfig creates a new AlertingV1beta1Client for the given config.
+func NewForConfig(c *rest.Config) (*AlertingV1beta1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &AlertingV1beta1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new AlertingV1beta1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *AlertingV1beta1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new AlertingV1beta1Client for the given RESTClient.
+func New(c rest.Interface) *AlertingV1beta1Client {
+ return &AlertingV1beta1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1beta1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *AlertingV1beta1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alertingrule.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alertingrule.go
new file mode 100644
index 000000000..b67ca2523
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alertingrule.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// AlertingRulesGetter has a method to return a AlertingRuleInterface.
+// A group's client should implement this interface.
+type AlertingRulesGetter interface {
+ AlertingRules() AlertingRuleInterface
+}
+
+// AlertingRuleInterface has methods to work with AlertingRule resources.
+type AlertingRuleInterface interface {
+ Create(*v1beta1.AlertingRule) (*v1beta1.AlertingRule, error)
+ Update(*v1beta1.AlertingRule) (*v1beta1.AlertingRule, error)
+ UpdateStatus(*v1beta1.AlertingRule) (*v1beta1.AlertingRule, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.AlertingRule, error)
+ List(opts v1.ListOptions) (*v1beta1.AlertingRuleList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.AlertingRule, err error)
+ AlertingRuleExpansion
+}
+
+// alertingRules implements AlertingRuleInterface
+type alertingRules struct {
+ client rest.Interface
+}
+
+// newAlertingRules returns a AlertingRules
+func newAlertingRules(c *AlertingV1beta1Client) *alertingRules {
+ return &alertingRules{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the alertingRule, and returns the corresponding alertingRule object, and an error if there is any.
+func (c *alertingRules) Get(name string, options v1.GetOptions) (result *v1beta1.AlertingRule, err error) {
+ result = &v1beta1.AlertingRule{}
+ err = c.client.Get().
+ Resource("alertingrules").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of AlertingRules that match those selectors.
+func (c *alertingRules) List(opts v1.ListOptions) (result *v1beta1.AlertingRuleList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.AlertingRuleList{}
+ err = c.client.Get().
+ Resource("alertingrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested alertingRules.
+func (c *alertingRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("alertingrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a alertingRule and creates it. Returns the server's representation of the alertingRule, and an error, if there is any.
+func (c *alertingRules) Create(alertingRule *v1beta1.AlertingRule) (result *v1beta1.AlertingRule, err error) {
+ result = &v1beta1.AlertingRule{}
+ err = c.client.Post().
+ Resource("alertingrules").
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a alertingRule and updates it. Returns the server's representation of the alertingRule, and an error, if there is any.
+func (c *alertingRules) Update(alertingRule *v1beta1.AlertingRule) (result *v1beta1.AlertingRule, err error) {
+ result = &v1beta1.AlertingRule{}
+ err = c.client.Put().
+ Resource("alertingrules").
+ Name(alertingRule.Name).
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *alertingRules) UpdateStatus(alertingRule *v1beta1.AlertingRule) (result *v1beta1.AlertingRule, err error) {
+ result = &v1beta1.AlertingRule{}
+ err = c.client.Put().
+ Resource("alertingrules").
+ Name(alertingRule.Name).
+ SubResource("status").
+ Body(alertingRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the alertingRule and deletes it. Returns an error if one occurs.
+func (c *alertingRules) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("alertingrules").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *alertingRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("alertingrules").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched alertingRule.
+func (c *alertingRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.AlertingRule, err error) {
+ result = &v1beta1.AlertingRule{}
+ err = c.client.Patch(pt).
+ Resource("alertingrules").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alertingsubrule.go
new file mode 100644
index 000000000..4eec87642
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/alertingsubrule.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// AlertingSubRulesGetter has a method to return a AlertingSubRuleInterface.
+// A group's client should implement this interface.
+type AlertingSubRulesGetter interface {
+ AlertingSubRules() AlertingSubRuleInterface
+}
+
+// AlertingSubRuleInterface has methods to work with AlertingSubRule resources.
+type AlertingSubRuleInterface interface {
+ Create(*v1beta1.AlertingSubRule) (*v1beta1.AlertingSubRule, error)
+ Update(*v1beta1.AlertingSubRule) (*v1beta1.AlertingSubRule, error)
+ UpdateStatus(*v1beta1.AlertingSubRule) (*v1beta1.AlertingSubRule, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.AlertingSubRule, error)
+ List(opts v1.ListOptions) (*v1beta1.AlertingSubRuleList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.AlertingSubRule, err error)
+ AlertingSubRuleExpansion
+}
+
+// alertingSubRules implements AlertingSubRuleInterface
+type alertingSubRules struct {
+ client rest.Interface
+}
+
+// newAlertingSubRules returns a AlertingSubRules
+func newAlertingSubRules(c *AlertingV1beta1Client) *alertingSubRules {
+ return &alertingSubRules{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the alertingSubRule, and returns the corresponding alertingSubRule object, and an error if there is any.
+func (c *alertingSubRules) Get(name string, options v1.GetOptions) (result *v1beta1.AlertingSubRule, err error) {
+ result = &v1beta1.AlertingSubRule{}
+ err = c.client.Get().
+ Resource("alertingsubrules").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of AlertingSubRules that match those selectors.
+func (c *alertingSubRules) List(opts v1.ListOptions) (result *v1beta1.AlertingSubRuleList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.AlertingSubRuleList{}
+ err = c.client.Get().
+ Resource("alertingsubrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested alertingSubRules.
+func (c *alertingSubRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("alertingsubrules").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a alertingSubRule and creates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
+func (c *alertingSubRules) Create(alertingSubRule *v1beta1.AlertingSubRule) (result *v1beta1.AlertingSubRule, err error) {
+ result = &v1beta1.AlertingSubRule{}
+ err = c.client.Post().
+ Resource("alertingsubrules").
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a alertingSubRule and updates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
+func (c *alertingSubRules) Update(alertingSubRule *v1beta1.AlertingSubRule) (result *v1beta1.AlertingSubRule, err error) {
+ result = &v1beta1.AlertingSubRule{}
+ err = c.client.Put().
+ Resource("alertingsubrules").
+ Name(alertingSubRule.Name).
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *alertingSubRules) UpdateStatus(alertingSubRule *v1beta1.AlertingSubRule) (result *v1beta1.AlertingSubRule, err error) {
+ result = &v1beta1.AlertingSubRule{}
+ err = c.client.Put().
+ Resource("alertingsubrules").
+ Name(alertingSubRule.Name).
+ SubResource("status").
+ Body(alertingSubRule).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the alertingSubRule and deletes it. Returns an error if one occurs.
+func (c *alertingSubRules) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("alertingsubrules").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *alertingSubRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("alertingsubrules").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched alertingSubRule.
+func (c *alertingSubRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.AlertingSubRule, err error) {
+ result = &v1beta1.AlertingSubRule{}
+ err = c.client.Patch(pt).
+ Resource("alertingsubrules").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/generated_expansion.go
new file mode 100644
index 000000000..217da96c6
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/alerting/v1beta1/generated_expansion.go
@@ -0,0 +1,11 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+type AlertingRuleExpansion interface{}
+
+type AlertingSubRuleExpansion interface{}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/apiregistration_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/apiregistration_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/apiregistration_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/apiregistration_client.go
index 9bbde4e62..fa7724b41 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/apiregistration_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/apiregistration_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/apiservice.go b/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/apiservice.go
new file mode 100644
index 000000000..2f5c33f8f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/apiservice.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// APIServicesGetter has a method to return a APIServiceInterface.
+// A group's client should implement this interface.
+type APIServicesGetter interface {
+ APIServices() APIServiceInterface
+}
+
+// APIServiceInterface has methods to work with APIService resources.
+type APIServiceInterface interface {
+ Create(*v1.APIService) (*v1.APIService, error)
+ Update(*v1.APIService) (*v1.APIService, error)
+ UpdateStatus(*v1.APIService) (*v1.APIService, error)
+ Delete(name string, options *metav1.DeleteOptions) error
+ DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
+ Get(name string, options metav1.GetOptions) (*v1.APIService, error)
+ List(opts metav1.ListOptions) (*v1.APIServiceList, error)
+ Watch(opts metav1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.APIService, err error)
+ APIServiceExpansion
+}
+
+// aPIServices implements APIServiceInterface
+type aPIServices struct {
+ client rest.Interface
+}
+
+// newAPIServices returns a APIServices
+func newAPIServices(c *ApiregistrationV1Client) *aPIServices {
+ return &aPIServices{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the aPIService, and returns the corresponding aPIService object, and an error if there is any.
+func (c *aPIServices) Get(name string, options metav1.GetOptions) (result *v1.APIService, err error) {
+ result = &v1.APIService{}
+ err = c.client.Get().
+ Resource("apiservices").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of APIServices that match those selectors.
+func (c *aPIServices) List(opts metav1.ListOptions) (result *v1.APIServiceList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1.APIServiceList{}
+ err = c.client.Get().
+ Resource("apiservices").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested aPIServices.
+func (c *aPIServices) Watch(opts metav1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("apiservices").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a aPIService and creates it. Returns the server's representation of the aPIService, and an error, if there is any.
+func (c *aPIServices) Create(aPIService *v1.APIService) (result *v1.APIService, err error) {
+ result = &v1.APIService{}
+ err = c.client.Post().
+ Resource("apiservices").
+ Body(aPIService).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a aPIService and updates it. Returns the server's representation of the aPIService, and an error, if there is any.
+func (c *aPIServices) Update(aPIService *v1.APIService) (result *v1.APIService, err error) {
+ result = &v1.APIService{}
+ err = c.client.Put().
+ Resource("apiservices").
+ Name(aPIService.Name).
+ Body(aPIService).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *aPIServices) UpdateStatus(aPIService *v1.APIService) (result *v1.APIService, err error) {
+ result = &v1.APIService{}
+ err = c.client.Put().
+ Resource("apiservices").
+ Name(aPIService.Name).
+ SubResource("status").
+ Body(aPIService).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the aPIService and deletes it. Returns an error if one occurs.
+func (c *aPIServices) Delete(name string, options *metav1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("apiservices").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *aPIServices) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("apiservices").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched aPIService.
+func (c *aPIServices) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.APIService, err error) {
+ result = &v1.APIService{}
+ err = c.client.Patch(pt).
+ Resource("apiservices").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/apiregistration/v1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/clever_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/clever_client.go
new file mode 100644
index 000000000..cdb31cb21
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/clever_client.go
@@ -0,0 +1,87 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ rest "k8s.io/client-go/rest"
+)
+
+type CleverV1alpha1Interface interface {
+ RESTClient() rest.Interface
+ FlavorsGetter
+ ProjectsGetter
+ TemplatesGetter
+}
+
+// CleverV1alpha1Client is used to interact with features provided by the clever.caicloud.io group.
+type CleverV1alpha1Client struct {
+ restClient rest.Interface
+}
+
+func (c *CleverV1alpha1Client) Flavors() FlavorInterface {
+ return newFlavors(c)
+}
+
+func (c *CleverV1alpha1Client) Projects(namespace string) ProjectInterface {
+ return newProjects(c, namespace)
+}
+
+func (c *CleverV1alpha1Client) Templates() TemplateInterface {
+ return newTemplates(c)
+}
+
+// NewForConfig creates a new CleverV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*CleverV1alpha1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &CleverV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new CleverV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *CleverV1alpha1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new CleverV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *CleverV1alpha1Client {
+ return &CleverV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *CleverV1alpha1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/flavor.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/flavor.go
new file mode 100644
index 000000000..208c84330
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/flavor.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// FlavorsGetter has a method to return a FlavorInterface.
+// A group's client should implement this interface.
+type FlavorsGetter interface {
+ Flavors() FlavorInterface
+}
+
+// FlavorInterface has methods to work with Flavor resources.
+type FlavorInterface interface {
+ Create(*v1alpha1.Flavor) (*v1alpha1.Flavor, error)
+ Update(*v1alpha1.Flavor) (*v1alpha1.Flavor, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Flavor, error)
+ List(opts v1.ListOptions) (*v1alpha1.FlavorList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Flavor, err error)
+ FlavorExpansion
+}
+
+// flavors implements FlavorInterface
+type flavors struct {
+ client rest.Interface
+}
+
+// newFlavors returns a Flavors
+func newFlavors(c *CleverV1alpha1Client) *flavors {
+ return &flavors{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the flavor, and returns the corresponding flavor object, and an error if there is any.
+func (c *flavors) Get(name string, options v1.GetOptions) (result *v1alpha1.Flavor, err error) {
+ result = &v1alpha1.Flavor{}
+ err = c.client.Get().
+ Resource("flavors").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Flavors that match those selectors.
+func (c *flavors) List(opts v1.ListOptions) (result *v1alpha1.FlavorList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.FlavorList{}
+ err = c.client.Get().
+ Resource("flavors").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested flavors.
+func (c *flavors) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("flavors").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a flavor and creates it. Returns the server's representation of the flavor, and an error, if there is any.
+func (c *flavors) Create(flavor *v1alpha1.Flavor) (result *v1alpha1.Flavor, err error) {
+ result = &v1alpha1.Flavor{}
+ err = c.client.Post().
+ Resource("flavors").
+ Body(flavor).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a flavor and updates it. Returns the server's representation of the flavor, and an error, if there is any.
+func (c *flavors) Update(flavor *v1alpha1.Flavor) (result *v1alpha1.Flavor, err error) {
+ result = &v1alpha1.Flavor{}
+ err = c.client.Put().
+ Resource("flavors").
+ Name(flavor.Name).
+ Body(flavor).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the flavor and deletes it. Returns an error if one occurs.
+func (c *flavors) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("flavors").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *flavors) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("flavors").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched flavor.
+func (c *flavors) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Flavor, err error) {
+ result = &v1alpha1.Flavor{}
+ err = c.client.Patch(pt).
+ Resource("flavors").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/project.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/project.go
new file mode 100644
index 000000000..7dafac848
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/project.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ProjectsGetter has a method to return a ProjectInterface.
+// A group's client should implement this interface.
+type ProjectsGetter interface {
+ Projects(namespace string) ProjectInterface
+}
+
+// ProjectInterface has methods to work with Project resources.
+type ProjectInterface interface {
+ Create(*v1alpha1.Project) (*v1alpha1.Project, error)
+ Update(*v1alpha1.Project) (*v1alpha1.Project, error)
+ UpdateStatus(*v1alpha1.Project) (*v1alpha1.Project, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Project, error)
+ List(opts v1.ListOptions) (*v1alpha1.ProjectList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Project, err error)
+ ProjectExpansion
+}
+
+// projects implements ProjectInterface
+type projects struct {
+ client rest.Interface
+ ns string
+}
+
+// newProjects returns a Projects
+func newProjects(c *CleverV1alpha1Client, namespace string) *projects {
+ return &projects{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the project, and returns the corresponding project object, and an error if there is any.
+func (c *projects) Get(name string, options v1.GetOptions) (result *v1alpha1.Project, err error) {
+ result = &v1alpha1.Project{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Projects that match those selectors.
+func (c *projects) List(opts v1.ListOptions) (result *v1alpha1.ProjectList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ProjectList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("projects").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested projects.
+func (c *projects) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("projects").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a project and creates it. Returns the server's representation of the project, and an error, if there is any.
+func (c *projects) Create(project *v1alpha1.Project) (result *v1alpha1.Project, err error) {
+ result = &v1alpha1.Project{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("projects").
+ Body(project).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a project and updates it. Returns the server's representation of the project, and an error, if there is any.
+func (c *projects) Update(project *v1alpha1.Project) (result *v1alpha1.Project, err error) {
+ result = &v1alpha1.Project{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(project.Name).
+ Body(project).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *projects) UpdateStatus(project *v1alpha1.Project) (result *v1alpha1.Project, err error) {
+ result = &v1alpha1.Project{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(project.Name).
+ SubResource("status").
+ Body(project).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the project and deletes it. Returns an error if one occurs.
+func (c *projects) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *projects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("projects").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched project.
+func (c *projects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Project, err error) {
+ result = &v1alpha1.Project{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("projects").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/template.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/template.go
new file mode 100644
index 000000000..bf14379b6
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha1/template.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// TemplatesGetter has a method to return a TemplateInterface.
+// A group's client should implement this interface.
+type TemplatesGetter interface {
+ Templates() TemplateInterface
+}
+
+// TemplateInterface has methods to work with Template resources.
+type TemplateInterface interface {
+ Create(*v1alpha1.Template) (*v1alpha1.Template, error)
+ Update(*v1alpha1.Template) (*v1alpha1.Template, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Template, error)
+ List(opts v1.ListOptions) (*v1alpha1.TemplateList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Template, err error)
+ TemplateExpansion
+}
+
+// templates implements TemplateInterface
+type templates struct {
+ client rest.Interface
+}
+
+// newTemplates returns a Templates
+func newTemplates(c *CleverV1alpha1Client) *templates {
+ return &templates{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the template, and returns the corresponding template object, and an error if there is any.
+func (c *templates) Get(name string, options v1.GetOptions) (result *v1alpha1.Template, err error) {
+ result = &v1alpha1.Template{}
+ err = c.client.Get().
+ Resource("templates").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Templates that match those selectors.
+func (c *templates) List(opts v1.ListOptions) (result *v1alpha1.TemplateList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.TemplateList{}
+ err = c.client.Get().
+ Resource("templates").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested templates.
+func (c *templates) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("templates").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a template and creates it. Returns the server's representation of the template, and an error, if there is any.
+func (c *templates) Create(template *v1alpha1.Template) (result *v1alpha1.Template, err error) {
+ result = &v1alpha1.Template{}
+ err = c.client.Post().
+ Resource("templates").
+ Body(template).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a template and updates it. Returns the server's representation of the template, and an error, if there is any.
+func (c *templates) Update(template *v1alpha1.Template) (result *v1alpha1.Template, err error) {
+ result = &v1alpha1.Template{}
+ err = c.client.Put().
+ Resource("templates").
+ Name(template.Name).
+ Body(template).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the template and deletes it. Returns an error if one occurs.
+func (c *templates) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("templates").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *templates) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("templates").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched template.
+func (c *templates) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Template, err error) {
+ result = &v1alpha1.Template{}
+ err = c.client.Patch(pt).
+ Resource("templates").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/clever_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/clever_client.go
new file mode 100644
index 000000000..185a97359
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/clever_client.go
@@ -0,0 +1,92 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ rest "k8s.io/client-go/rest"
+)
+
+type CleverV1alpha2Interface interface {
+ RESTClient() rest.Interface
+ FlavorsGetter
+ MLNeuronsGetter
+ MLNeuronTaskOwnersGetter
+ ProjectsGetter
+}
+
+// CleverV1alpha2Client is used to interact with features provided by the clever.caicloud.io group.
+type CleverV1alpha2Client struct {
+ restClient rest.Interface
+}
+
+func (c *CleverV1alpha2Client) Flavors() FlavorInterface {
+ return newFlavors(c)
+}
+
+func (c *CleverV1alpha2Client) MLNeurons(namespace string) MLNeuronInterface {
+ return newMLNeurons(c, namespace)
+}
+
+func (c *CleverV1alpha2Client) MLNeuronTaskOwners(namespace string) MLNeuronTaskOwnerInterface {
+ return newMLNeuronTaskOwners(c, namespace)
+}
+
+func (c *CleverV1alpha2Client) Projects(namespace string) ProjectInterface {
+ return newProjects(c, namespace)
+}
+
+// NewForConfig creates a new CleverV1alpha2Client for the given config.
+func NewForConfig(c *rest.Config) (*CleverV1alpha2Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &CleverV1alpha2Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new CleverV1alpha2Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *CleverV1alpha2Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new CleverV1alpha2Client for the given RESTClient.
+func New(c rest.Interface) *CleverV1alpha2Client {
+ return &CleverV1alpha2Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha2.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *CleverV1alpha2Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/flavor.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/flavor.go
new file mode 100644
index 000000000..c373b3009
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/flavor.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// FlavorsGetter has a method to return a FlavorInterface.
+// A group's client should implement this interface.
+type FlavorsGetter interface {
+ Flavors() FlavorInterface
+}
+
+// FlavorInterface has methods to work with Flavor resources.
+type FlavorInterface interface {
+ Create(*v1alpha2.Flavor) (*v1alpha2.Flavor, error)
+ Update(*v1alpha2.Flavor) (*v1alpha2.Flavor, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.Flavor, error)
+ List(opts v1.ListOptions) (*v1alpha2.FlavorList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Flavor, err error)
+ FlavorExpansion
+}
+
+// flavors implements FlavorInterface
+type flavors struct {
+ client rest.Interface
+}
+
+// newFlavors returns a Flavors
+func newFlavors(c *CleverV1alpha2Client) *flavors {
+ return &flavors{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the flavor, and returns the corresponding flavor object, and an error if there is any.
+func (c *flavors) Get(name string, options v1.GetOptions) (result *v1alpha2.Flavor, err error) {
+ result = &v1alpha2.Flavor{}
+ err = c.client.Get().
+ Resource("flavors").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Flavors that match those selectors.
+func (c *flavors) List(opts v1.ListOptions) (result *v1alpha2.FlavorList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.FlavorList{}
+ err = c.client.Get().
+ Resource("flavors").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested flavors.
+func (c *flavors) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("flavors").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a flavor and creates it. Returns the server's representation of the flavor, and an error, if there is any.
+func (c *flavors) Create(flavor *v1alpha2.Flavor) (result *v1alpha2.Flavor, err error) {
+ result = &v1alpha2.Flavor{}
+ err = c.client.Post().
+ Resource("flavors").
+ Body(flavor).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a flavor and updates it. Returns the server's representation of the flavor, and an error, if there is any.
+func (c *flavors) Update(flavor *v1alpha2.Flavor) (result *v1alpha2.Flavor, err error) {
+ result = &v1alpha2.Flavor{}
+ err = c.client.Put().
+ Resource("flavors").
+ Name(flavor.Name).
+ Body(flavor).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the flavor and deletes it. Returns an error if one occurs.
+func (c *flavors) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("flavors").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *flavors) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("flavors").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched flavor.
+func (c *flavors) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Flavor, err error) {
+ result = &v1alpha2.Flavor{}
+ err = c.client.Patch(pt).
+ Resource("flavors").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/mlneuron.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/mlneuron.go
new file mode 100644
index 000000000..f18c55c0c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/mlneuron.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MLNeuronsGetter has a method to return a MLNeuronInterface.
+// A group's client should implement this interface.
+type MLNeuronsGetter interface {
+ MLNeurons(namespace string) MLNeuronInterface
+}
+
+// MLNeuronInterface has methods to work with MLNeuron resources.
+type MLNeuronInterface interface {
+ Create(*v1alpha2.MLNeuron) (*v1alpha2.MLNeuron, error)
+ Update(*v1alpha2.MLNeuron) (*v1alpha2.MLNeuron, error)
+ UpdateStatus(*v1alpha2.MLNeuron) (*v1alpha2.MLNeuron, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.MLNeuron, error)
+ List(opts v1.ListOptions) (*v1alpha2.MLNeuronList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuron, err error)
+ MLNeuronExpansion
+}
+
+// mLNeurons implements MLNeuronInterface
+type mLNeurons struct {
+ client rest.Interface
+ ns string
+}
+
+// newMLNeurons returns a MLNeurons
+func newMLNeurons(c *CleverV1alpha2Client, namespace string) *mLNeurons {
+ return &mLNeurons{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the mLNeuron, and returns the corresponding mLNeuron object, and an error if there is any.
+func (c *mLNeurons) Get(name string, options v1.GetOptions) (result *v1alpha2.MLNeuron, err error) {
+ result = &v1alpha2.MLNeuron{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of MLNeurons that match those selectors.
+func (c *mLNeurons) List(opts v1.ListOptions) (result *v1alpha2.MLNeuronList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.MLNeuronList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested mLNeurons.
+func (c *mLNeurons) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a mLNeuron and creates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
+func (c *mLNeurons) Create(mLNeuron *v1alpha2.MLNeuron) (result *v1alpha2.MLNeuron, err error) {
+ result = &v1alpha2.MLNeuron{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Body(mLNeuron).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a mLNeuron and updates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
+func (c *mLNeurons) Update(mLNeuron *v1alpha2.MLNeuron) (result *v1alpha2.MLNeuron, err error) {
+ result = &v1alpha2.MLNeuron{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(mLNeuron.Name).
+ Body(mLNeuron).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *mLNeurons) UpdateStatus(mLNeuron *v1alpha2.MLNeuron) (result *v1alpha2.MLNeuron, err error) {
+ result = &v1alpha2.MLNeuron{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(mLNeuron.Name).
+ SubResource("status").
+ Body(mLNeuron).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the mLNeuron and deletes it. Returns an error if one occurs.
+func (c *mLNeurons) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *mLNeurons) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched mLNeuron.
+func (c *mLNeurons) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuron, err error) {
+ result = &v1alpha2.MLNeuron{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("mlneurons").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/mlneurontaskowner.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/mlneurontaskowner.go
new file mode 100644
index 000000000..54d48f2d4
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/mlneurontaskowner.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MLNeuronTaskOwnersGetter has a method to return a MLNeuronTaskOwnerInterface.
+// A group's client should implement this interface.
+type MLNeuronTaskOwnersGetter interface {
+ MLNeuronTaskOwners(namespace string) MLNeuronTaskOwnerInterface
+}
+
+// MLNeuronTaskOwnerInterface has methods to work with MLNeuronTaskOwner resources.
+type MLNeuronTaskOwnerInterface interface {
+ Create(*v1alpha2.MLNeuronTaskOwner) (*v1alpha2.MLNeuronTaskOwner, error)
+ Update(*v1alpha2.MLNeuronTaskOwner) (*v1alpha2.MLNeuronTaskOwner, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.MLNeuronTaskOwner, error)
+ List(opts v1.ListOptions) (*v1alpha2.MLNeuronTaskOwnerList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuronTaskOwner, err error)
+ MLNeuronTaskOwnerExpansion
+}
+
+// mLNeuronTaskOwners implements MLNeuronTaskOwnerInterface
+type mLNeuronTaskOwners struct {
+ client rest.Interface
+ ns string
+}
+
+// newMLNeuronTaskOwners returns a MLNeuronTaskOwners
+func newMLNeuronTaskOwners(c *CleverV1alpha2Client, namespace string) *mLNeuronTaskOwners {
+ return &mLNeuronTaskOwners{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the mLNeuronTaskOwner, and returns the corresponding mLNeuronTaskOwner object, and an error if there is any.
+func (c *mLNeuronTaskOwners) Get(name string, options v1.GetOptions) (result *v1alpha2.MLNeuronTaskOwner, err error) {
+ result = &v1alpha2.MLNeuronTaskOwner{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of MLNeuronTaskOwners that match those selectors.
+func (c *mLNeuronTaskOwners) List(opts v1.ListOptions) (result *v1alpha2.MLNeuronTaskOwnerList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.MLNeuronTaskOwnerList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested mLNeuronTaskOwners.
+func (c *mLNeuronTaskOwners) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a mLNeuronTaskOwner and creates it. Returns the server's representation of the mLNeuronTaskOwner, and an error, if there is any.
+func (c *mLNeuronTaskOwners) Create(mLNeuronTaskOwner *v1alpha2.MLNeuronTaskOwner) (result *v1alpha2.MLNeuronTaskOwner, err error) {
+ result = &v1alpha2.MLNeuronTaskOwner{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ Body(mLNeuronTaskOwner).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a mLNeuronTaskOwner and updates it. Returns the server's representation of the mLNeuronTaskOwner, and an error, if there is any.
+func (c *mLNeuronTaskOwners) Update(mLNeuronTaskOwner *v1alpha2.MLNeuronTaskOwner) (result *v1alpha2.MLNeuronTaskOwner, err error) {
+ result = &v1alpha2.MLNeuronTaskOwner{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ Name(mLNeuronTaskOwner.Name).
+ Body(mLNeuronTaskOwner).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the mLNeuronTaskOwner and deletes it. Returns an error if one occurs.
+func (c *mLNeuronTaskOwners) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *mLNeuronTaskOwners) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched mLNeuronTaskOwner.
+func (c *mLNeuronTaskOwners) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuronTaskOwner, err error) {
+ result = &v1alpha2.MLNeuronTaskOwner{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("mlneurontaskowners").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/project.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/project.go
new file mode 100644
index 000000000..650567b61
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha2/project.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ProjectsGetter has a method to return a ProjectInterface.
+// A group's client should implement this interface.
+type ProjectsGetter interface {
+ Projects(namespace string) ProjectInterface
+}
+
+// ProjectInterface has methods to work with Project resources.
+type ProjectInterface interface {
+ Create(*v1alpha2.Project) (*v1alpha2.Project, error)
+ Update(*v1alpha2.Project) (*v1alpha2.Project, error)
+ UpdateStatus(*v1alpha2.Project) (*v1alpha2.Project, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.Project, error)
+ List(opts v1.ListOptions) (*v1alpha2.ProjectList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Project, err error)
+ ProjectExpansion
+}
+
+// projects implements ProjectInterface
+type projects struct {
+ client rest.Interface
+ ns string
+}
+
+// newProjects returns a Projects
+func newProjects(c *CleverV1alpha2Client, namespace string) *projects {
+ return &projects{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the project, and returns the corresponding project object, and an error if there is any.
+func (c *projects) Get(name string, options v1.GetOptions) (result *v1alpha2.Project, err error) {
+ result = &v1alpha2.Project{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Projects that match those selectors.
+func (c *projects) List(opts v1.ListOptions) (result *v1alpha2.ProjectList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.ProjectList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("projects").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested projects.
+func (c *projects) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("projects").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a project and creates it. Returns the server's representation of the project, and an error, if there is any.
+func (c *projects) Create(project *v1alpha2.Project) (result *v1alpha2.Project, err error) {
+ result = &v1alpha2.Project{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("projects").
+ Body(project).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a project and updates it. Returns the server's representation of the project, and an error, if there is any.
+func (c *projects) Update(project *v1alpha2.Project) (result *v1alpha2.Project, err error) {
+ result = &v1alpha2.Project{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(project.Name).
+ Body(project).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *projects) UpdateStatus(project *v1alpha2.Project) (result *v1alpha2.Project, err error) {
+ result = &v1alpha2.Project{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(project.Name).
+ SubResource("status").
+ Body(project).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the project and deletes it. Returns an error if one occurs.
+func (c *projects) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("projects").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *projects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("projects").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched project.
+func (c *projects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Project, err error) {
+ result = &v1alpha2.Project{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("projects").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/clever_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/clever_client.go
new file mode 100644
index 000000000..3ca322b07
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/clever_client.go
@@ -0,0 +1,92 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ rest "k8s.io/client-go/rest"
+)
+
+type CleverV1alpha3Interface interface {
+ RESTClient() rest.Interface
+ FlavorsGetter
+ MLNeuronsGetter
+ MLProjectsGetter
+ MLTasksGetter
+}
+
+// CleverV1alpha3Client is used to interact with features provided by the clever.caicloud.io group.
+type CleverV1alpha3Client struct {
+ restClient rest.Interface
+}
+
+func (c *CleverV1alpha3Client) Flavors() FlavorInterface {
+ return newFlavors(c)
+}
+
+func (c *CleverV1alpha3Client) MLNeurons(namespace string) MLNeuronInterface {
+ return newMLNeurons(c, namespace)
+}
+
+func (c *CleverV1alpha3Client) MLProjects(namespace string) MLProjectInterface {
+ return newMLProjects(c, namespace)
+}
+
+func (c *CleverV1alpha3Client) MLTasks(namespace string) MLTaskInterface {
+ return newMLTasks(c, namespace)
+}
+
+// NewForConfig creates a new CleverV1alpha3Client for the given config.
+func NewForConfig(c *rest.Config) (*CleverV1alpha3Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &CleverV1alpha3Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new CleverV1alpha3Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *CleverV1alpha3Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new CleverV1alpha3Client for the given RESTClient.
+func New(c rest.Interface) *CleverV1alpha3Client {
+ return &CleverV1alpha3Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha3.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *CleverV1alpha3Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/flavor.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/flavor.go
new file mode 100644
index 000000000..9522ee783
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/flavor.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// FlavorsGetter has a method to return a FlavorInterface.
+// A group's client should implement this interface.
+type FlavorsGetter interface {
+ Flavors() FlavorInterface
+}
+
+// FlavorInterface has methods to work with Flavor resources.
+type FlavorInterface interface {
+ Create(*v1alpha3.Flavor) (*v1alpha3.Flavor, error)
+ Update(*v1alpha3.Flavor) (*v1alpha3.Flavor, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha3.Flavor, error)
+ List(opts v1.ListOptions) (*v1alpha3.FlavorList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.Flavor, err error)
+ FlavorExpansion
+}
+
+// flavors implements FlavorInterface
+type flavors struct {
+ client rest.Interface
+}
+
+// newFlavors returns a Flavors
+func newFlavors(c *CleverV1alpha3Client) *flavors {
+ return &flavors{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the flavor, and returns the corresponding flavor object, and an error if there is any.
+func (c *flavors) Get(name string, options v1.GetOptions) (result *v1alpha3.Flavor, err error) {
+ result = &v1alpha3.Flavor{}
+ err = c.client.Get().
+ Resource("flavors").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Flavors that match those selectors.
+func (c *flavors) List(opts v1.ListOptions) (result *v1alpha3.FlavorList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha3.FlavorList{}
+ err = c.client.Get().
+ Resource("flavors").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested flavors.
+func (c *flavors) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("flavors").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a flavor and creates it. Returns the server's representation of the flavor, and an error, if there is any.
+func (c *flavors) Create(flavor *v1alpha3.Flavor) (result *v1alpha3.Flavor, err error) {
+ result = &v1alpha3.Flavor{}
+ err = c.client.Post().
+ Resource("flavors").
+ Body(flavor).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a flavor and updates it. Returns the server's representation of the flavor, and an error, if there is any.
+func (c *flavors) Update(flavor *v1alpha3.Flavor) (result *v1alpha3.Flavor, err error) {
+ result = &v1alpha3.Flavor{}
+ err = c.client.Put().
+ Resource("flavors").
+ Name(flavor.Name).
+ Body(flavor).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the flavor and deletes it. Returns an error if one occurs.
+func (c *flavors) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("flavors").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *flavors) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("flavors").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched flavor.
+func (c *flavors) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.Flavor, err error) {
+ result = &v1alpha3.Flavor{}
+ err = c.client.Patch(pt).
+ Resource("flavors").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mlneuron.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mlneuron.go
new file mode 100644
index 000000000..b19167c04
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mlneuron.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MLNeuronsGetter has a method to return a MLNeuronInterface.
+// A group's client should implement this interface.
+type MLNeuronsGetter interface {
+ MLNeurons(namespace string) MLNeuronInterface
+}
+
+// MLNeuronInterface has methods to work with MLNeuron resources.
+type MLNeuronInterface interface {
+ Create(*v1alpha3.MLNeuron) (*v1alpha3.MLNeuron, error)
+ Update(*v1alpha3.MLNeuron) (*v1alpha3.MLNeuron, error)
+ UpdateStatus(*v1alpha3.MLNeuron) (*v1alpha3.MLNeuron, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha3.MLNeuron, error)
+ List(opts v1.ListOptions) (*v1alpha3.MLNeuronList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLNeuron, err error)
+ MLNeuronExpansion
+}
+
+// mLNeurons implements MLNeuronInterface
+type mLNeurons struct {
+ client rest.Interface
+ ns string
+}
+
+// newMLNeurons returns a MLNeurons
+func newMLNeurons(c *CleverV1alpha3Client, namespace string) *mLNeurons {
+ return &mLNeurons{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the mLNeuron, and returns the corresponding mLNeuron object, and an error if there is any.
+func (c *mLNeurons) Get(name string, options v1.GetOptions) (result *v1alpha3.MLNeuron, err error) {
+ result = &v1alpha3.MLNeuron{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of MLNeurons that match those selectors.
+func (c *mLNeurons) List(opts v1.ListOptions) (result *v1alpha3.MLNeuronList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha3.MLNeuronList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested mLNeurons.
+func (c *mLNeurons) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a mLNeuron and creates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
+func (c *mLNeurons) Create(mLNeuron *v1alpha3.MLNeuron) (result *v1alpha3.MLNeuron, err error) {
+ result = &v1alpha3.MLNeuron{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Body(mLNeuron).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a mLNeuron and updates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
+func (c *mLNeurons) Update(mLNeuron *v1alpha3.MLNeuron) (result *v1alpha3.MLNeuron, err error) {
+ result = &v1alpha3.MLNeuron{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(mLNeuron.Name).
+ Body(mLNeuron).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *mLNeurons) UpdateStatus(mLNeuron *v1alpha3.MLNeuron) (result *v1alpha3.MLNeuron, err error) {
+ result = &v1alpha3.MLNeuron{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(mLNeuron.Name).
+ SubResource("status").
+ Body(mLNeuron).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the mLNeuron and deletes it. Returns an error if one occurs.
+func (c *mLNeurons) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *mLNeurons) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlneurons").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched mLNeuron.
+func (c *mLNeurons) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLNeuron, err error) {
+ result = &v1alpha3.MLNeuron{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("mlneurons").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mlproject.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mlproject.go
new file mode 100644
index 000000000..d95addd36
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mlproject.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MLProjectsGetter has a method to return a MLProjectInterface.
+// A group's client should implement this interface.
+type MLProjectsGetter interface {
+ MLProjects(namespace string) MLProjectInterface
+}
+
+// MLProjectInterface has methods to work with MLProject resources.
+type MLProjectInterface interface {
+ Create(*v1alpha3.MLProject) (*v1alpha3.MLProject, error)
+ Update(*v1alpha3.MLProject) (*v1alpha3.MLProject, error)
+ UpdateStatus(*v1alpha3.MLProject) (*v1alpha3.MLProject, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha3.MLProject, error)
+ List(opts v1.ListOptions) (*v1alpha3.MLProjectList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLProject, err error)
+ MLProjectExpansion
+}
+
+// mLProjects implements MLProjectInterface
+type mLProjects struct {
+ client rest.Interface
+ ns string
+}
+
+// newMLProjects returns a MLProjects
+func newMLProjects(c *CleverV1alpha3Client, namespace string) *mLProjects {
+ return &mLProjects{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the mLProject, and returns the corresponding mLProject object, and an error if there is any.
+func (c *mLProjects) Get(name string, options v1.GetOptions) (result *v1alpha3.MLProject, err error) {
+ result = &v1alpha3.MLProject{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of MLProjects that match those selectors.
+func (c *mLProjects) List(opts v1.ListOptions) (result *v1alpha3.MLProjectList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha3.MLProjectList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested mLProjects.
+func (c *mLProjects) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a mLProject and creates it. Returns the server's representation of the mLProject, and an error, if there is any.
+func (c *mLProjects) Create(mLProject *v1alpha3.MLProject) (result *v1alpha3.MLProject, err error) {
+ result = &v1alpha3.MLProject{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ Body(mLProject).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a mLProject and updates it. Returns the server's representation of the mLProject, and an error, if there is any.
+func (c *mLProjects) Update(mLProject *v1alpha3.MLProject) (result *v1alpha3.MLProject, err error) {
+ result = &v1alpha3.MLProject{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ Name(mLProject.Name).
+ Body(mLProject).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *mLProjects) UpdateStatus(mLProject *v1alpha3.MLProject) (result *v1alpha3.MLProject, err error) {
+ result = &v1alpha3.MLProject{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ Name(mLProject.Name).
+ SubResource("status").
+ Body(mLProject).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the mLProject and deletes it. Returns an error if one occurs.
+func (c *mLProjects) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *mLProjects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mlprojects").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched mLProject.
+func (c *mLProjects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLProject, err error) {
+ result = &v1alpha3.MLProject{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("mlprojects").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mltask.go b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mltask.go
new file mode 100644
index 000000000..625c3ea79
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/clever/v1alpha3/mltask.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MLTasksGetter has a method to return a MLTaskInterface.
+// A group's client should implement this interface.
+type MLTasksGetter interface {
+ MLTasks(namespace string) MLTaskInterface
+}
+
+// MLTaskInterface has methods to work with MLTask resources.
+type MLTaskInterface interface {
+ Create(*v1alpha3.MLTask) (*v1alpha3.MLTask, error)
+ Update(*v1alpha3.MLTask) (*v1alpha3.MLTask, error)
+ UpdateStatus(*v1alpha3.MLTask) (*v1alpha3.MLTask, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha3.MLTask, error)
+ List(opts v1.ListOptions) (*v1alpha3.MLTaskList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLTask, err error)
+ MLTaskExpansion
+}
+
+// mLTasks implements MLTaskInterface
+type mLTasks struct {
+ client rest.Interface
+ ns string
+}
+
+// newMLTasks returns a MLTasks
+func newMLTasks(c *CleverV1alpha3Client, namespace string) *mLTasks {
+ return &mLTasks{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the mLTask, and returns the corresponding mLTask object, and an error if there is any.
+func (c *mLTasks) Get(name string, options v1.GetOptions) (result *v1alpha3.MLTask, err error) {
+ result = &v1alpha3.MLTask{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mltasks").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of MLTasks that match those selectors.
+func (c *mLTasks) List(opts v1.ListOptions) (result *v1alpha3.MLTaskList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha3.MLTaskList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("mltasks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested mLTasks.
+func (c *mLTasks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("mltasks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a mLTask and creates it. Returns the server's representation of the mLTask, and an error, if there is any.
+func (c *mLTasks) Create(mLTask *v1alpha3.MLTask) (result *v1alpha3.MLTask, err error) {
+ result = &v1alpha3.MLTask{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("mltasks").
+ Body(mLTask).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a mLTask and updates it. Returns the server's representation of the mLTask, and an error, if there is any.
+func (c *mLTasks) Update(mLTask *v1alpha3.MLTask) (result *v1alpha3.MLTask, err error) {
+ result = &v1alpha3.MLTask{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mltasks").
+ Name(mLTask.Name).
+ Body(mLTask).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *mLTasks) UpdateStatus(mLTask *v1alpha3.MLTask) (result *v1alpha3.MLTask, err error) {
+ result = &v1alpha3.MLTask{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("mltasks").
+ Name(mLTask.Name).
+ SubResource("status").
+ Body(mLTask).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the mLTask and deletes it. Returns an error if one occurs.
+func (c *mLTasks) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mltasks").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *mLTasks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("mltasks").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched mLTask.
+func (c *mLTasks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLTask, err error) {
+ result = &v1alpha3.MLTask{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("mltasks").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/cnetworking_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/cnetworking_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/cnetworking_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/cnetworking_client.go
index 8c169c23e..c92d61693 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/cnetworking_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/cnetworking_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/networkpolicy.go b/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/networkpolicy.go
new file mode 100644
index 000000000..f3a6c89bd
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/cnetworking/v1alpha1/networkpolicy.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// NetworkPoliciesGetter has a method to return a NetworkPolicyInterface.
+// A group's client should implement this interface.
+type NetworkPoliciesGetter interface {
+ NetworkPolicies(namespace string) NetworkPolicyInterface
+}
+
+// NetworkPolicyInterface has methods to work with NetworkPolicy resources.
+type NetworkPolicyInterface interface {
+ Create(*v1alpha1.NetworkPolicy) (*v1alpha1.NetworkPolicy, error)
+ Update(*v1alpha1.NetworkPolicy) (*v1alpha1.NetworkPolicy, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.NetworkPolicy, error)
+ List(opts v1.ListOptions) (*v1alpha1.NetworkPolicyList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.NetworkPolicy, err error)
+ NetworkPolicyExpansion
+}
+
+// networkPolicies implements NetworkPolicyInterface
+type networkPolicies struct {
+ client rest.Interface
+ ns string
+}
+
+// newNetworkPolicies returns a NetworkPolicies
+func newNetworkPolicies(c *CnetworkingV1alpha1Client, namespace string) *networkPolicies {
+ return &networkPolicies{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the networkPolicy, and returns the corresponding networkPolicy object, and an error if there is any.
+func (c *networkPolicies) Get(name string, options v1.GetOptions) (result *v1alpha1.NetworkPolicy, err error) {
+ result = &v1alpha1.NetworkPolicy{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of NetworkPolicies that match those selectors.
+func (c *networkPolicies) List(opts v1.ListOptions) (result *v1alpha1.NetworkPolicyList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.NetworkPolicyList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested networkPolicies.
+func (c *networkPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a networkPolicy and creates it. Returns the server's representation of the networkPolicy, and an error, if there is any.
+func (c *networkPolicies) Create(networkPolicy *v1alpha1.NetworkPolicy) (result *v1alpha1.NetworkPolicy, err error) {
+ result = &v1alpha1.NetworkPolicy{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ Body(networkPolicy).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a networkPolicy and updates it. Returns the server's representation of the networkPolicy, and an error, if there is any.
+func (c *networkPolicies) Update(networkPolicy *v1alpha1.NetworkPolicy) (result *v1alpha1.NetworkPolicy, err error) {
+ result = &v1alpha1.NetworkPolicy{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ Name(networkPolicy.Name).
+ Body(networkPolicy).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the networkPolicy and deletes it. Returns an error if one occurs.
+func (c *networkPolicies) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *networkPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched networkPolicy.
+func (c *networkPolicies) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.NetworkPolicy, err error) {
+ result = &v1alpha1.NetworkPolicy{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("networkpolicies").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/config_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/config_client.go
similarity index 91%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/config_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/config_client.go
index d0ac2a561..1e20ef7d1 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/config_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/config_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -64,7 +63,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/configclaim.go b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/configclaim.go
new file mode 100644
index 000000000..000024897
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/configclaim.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ConfigClaimsGetter has a method to return a ConfigClaimInterface.
+// A group's client should implement this interface.
+type ConfigClaimsGetter interface {
+ ConfigClaims(namespace string) ConfigClaimInterface
+}
+
+// ConfigClaimInterface has methods to work with ConfigClaim resources.
+type ConfigClaimInterface interface {
+ Create(*v1alpha1.ConfigClaim) (*v1alpha1.ConfigClaim, error)
+ Update(*v1alpha1.ConfigClaim) (*v1alpha1.ConfigClaim, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.ConfigClaim, error)
+ List(opts v1.ListOptions) (*v1alpha1.ConfigClaimList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigClaim, err error)
+ ConfigClaimExpansion
+}
+
+// configClaims implements ConfigClaimInterface
+type configClaims struct {
+ client rest.Interface
+ ns string
+}
+
+// newConfigClaims returns a ConfigClaims
+func newConfigClaims(c *ConfigV1alpha1Client, namespace string) *configClaims {
+ return &configClaims{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the configClaim, and returns the corresponding configClaim object, and an error if there is any.
+func (c *configClaims) Get(name string, options v1.GetOptions) (result *v1alpha1.ConfigClaim, err error) {
+ result = &v1alpha1.ConfigClaim{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("configclaims").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ConfigClaims that match those selectors.
+func (c *configClaims) List(opts v1.ListOptions) (result *v1alpha1.ConfigClaimList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ConfigClaimList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("configclaims").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested configClaims.
+func (c *configClaims) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("configclaims").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a configClaim and creates it. Returns the server's representation of the configClaim, and an error, if there is any.
+func (c *configClaims) Create(configClaim *v1alpha1.ConfigClaim) (result *v1alpha1.ConfigClaim, err error) {
+ result = &v1alpha1.ConfigClaim{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("configclaims").
+ Body(configClaim).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a configClaim and updates it. Returns the server's representation of the configClaim, and an error, if there is any.
+func (c *configClaims) Update(configClaim *v1alpha1.ConfigClaim) (result *v1alpha1.ConfigClaim, err error) {
+ result = &v1alpha1.ConfigClaim{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("configclaims").
+ Name(configClaim.Name).
+ Body(configClaim).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the configClaim and deletes it. Returns an error if one occurs.
+func (c *configClaims) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("configclaims").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *configClaims) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("configclaims").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched configClaim.
+func (c *configClaims) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigClaim, err error) {
+ result = &v1alpha1.ConfigClaim{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("configclaims").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/configreference.go b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/configreference.go
new file mode 100644
index 000000000..8a5047139
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/configreference.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ConfigReferencesGetter has a method to return a ConfigReferenceInterface.
+// A group's client should implement this interface.
+type ConfigReferencesGetter interface {
+ ConfigReferences(namespace string) ConfigReferenceInterface
+}
+
+// ConfigReferenceInterface has methods to work with ConfigReference resources.
+type ConfigReferenceInterface interface {
+ Create(*v1alpha1.ConfigReference) (*v1alpha1.ConfigReference, error)
+ Update(*v1alpha1.ConfigReference) (*v1alpha1.ConfigReference, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.ConfigReference, error)
+ List(opts v1.ListOptions) (*v1alpha1.ConfigReferenceList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigReference, err error)
+ ConfigReferenceExpansion
+}
+
+// configReferences implements ConfigReferenceInterface
+type configReferences struct {
+ client rest.Interface
+ ns string
+}
+
+// newConfigReferences returns a ConfigReferences
+func newConfigReferences(c *ConfigV1alpha1Client, namespace string) *configReferences {
+ return &configReferences{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the configReference, and returns the corresponding configReference object, and an error if there is any.
+func (c *configReferences) Get(name string, options v1.GetOptions) (result *v1alpha1.ConfigReference, err error) {
+ result = &v1alpha1.ConfigReference{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("configreferences").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ConfigReferences that match those selectors.
+func (c *configReferences) List(opts v1.ListOptions) (result *v1alpha1.ConfigReferenceList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ConfigReferenceList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("configreferences").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested configReferences.
+func (c *configReferences) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("configreferences").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a configReference and creates it. Returns the server's representation of the configReference, and an error, if there is any.
+func (c *configReferences) Create(configReference *v1alpha1.ConfigReference) (result *v1alpha1.ConfigReference, err error) {
+ result = &v1alpha1.ConfigReference{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("configreferences").
+ Body(configReference).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a configReference and updates it. Returns the server's representation of the configReference, and an error, if there is any.
+func (c *configReferences) Update(configReference *v1alpha1.ConfigReference) (result *v1alpha1.ConfigReference, err error) {
+ result = &v1alpha1.ConfigReference{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("configreferences").
+ Name(configReference.Name).
+ Body(configReference).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the configReference and deletes it. Returns an error if one occurs.
+func (c *configReferences) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("configreferences").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *configReferences) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("configreferences").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched configReference.
+func (c *configReferences) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigReference, err error) {
+ result = &v1alpha1.ConfigReference{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("configreferences").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/config/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/dataset.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/dataset.go
new file mode 100644
index 000000000..8ad86f0b1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/dataset.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// DatasetsGetter has a method to return a DatasetInterface.
+// A group's client should implement this interface.
+type DatasetsGetter interface {
+ Datasets() DatasetInterface
+}
+
+// DatasetInterface has methods to work with Dataset resources.
+type DatasetInterface interface {
+ Create(*v1alpha1.Dataset) (*v1alpha1.Dataset, error)
+ Update(*v1alpha1.Dataset) (*v1alpha1.Dataset, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Dataset, error)
+ List(opts v1.ListOptions) (*v1alpha1.DatasetList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Dataset, err error)
+ DatasetExpansion
+}
+
+// datasets implements DatasetInterface
+type datasets struct {
+ client rest.Interface
+}
+
+// newDatasets returns a Datasets
+func newDatasets(c *DatasetV1alpha1Client) *datasets {
+ return &datasets{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the dataset, and returns the corresponding dataset object, and an error if there is any.
+func (c *datasets) Get(name string, options v1.GetOptions) (result *v1alpha1.Dataset, err error) {
+ result = &v1alpha1.Dataset{}
+ err = c.client.Get().
+ Resource("datasets").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Datasets that match those selectors.
+func (c *datasets) List(opts v1.ListOptions) (result *v1alpha1.DatasetList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.DatasetList{}
+ err = c.client.Get().
+ Resource("datasets").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested datasets.
+func (c *datasets) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("datasets").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a dataset and creates it. Returns the server's representation of the dataset, and an error, if there is any.
+func (c *datasets) Create(dataset *v1alpha1.Dataset) (result *v1alpha1.Dataset, err error) {
+ result = &v1alpha1.Dataset{}
+ err = c.client.Post().
+ Resource("datasets").
+ Body(dataset).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a dataset and updates it. Returns the server's representation of the dataset, and an error, if there is any.
+func (c *datasets) Update(dataset *v1alpha1.Dataset) (result *v1alpha1.Dataset, err error) {
+ result = &v1alpha1.Dataset{}
+ err = c.client.Put().
+ Resource("datasets").
+ Name(dataset.Name).
+ Body(dataset).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the dataset and deletes it. Returns an error if one occurs.
+func (c *datasets) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("datasets").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *datasets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("datasets").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched dataset.
+func (c *datasets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Dataset, err error) {
+ result = &v1alpha1.Dataset{}
+ err = c.client.Patch(pt).
+ Resource("datasets").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/dataset_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/dataset_client.go
new file mode 100644
index 000000000..6101a2e1c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/dataset_client.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
+ rest "k8s.io/client-go/rest"
+)
+
+type DatasetV1alpha1Interface interface {
+ RESTClient() rest.Interface
+ DatasetsGetter
+}
+
+// DatasetV1alpha1Client is used to interact with features provided by the dataset.caicloud.io group.
+type DatasetV1alpha1Client struct {
+ restClient rest.Interface
+}
+
+func (c *DatasetV1alpha1Client) Datasets() DatasetInterface {
+ return newDatasets(c)
+}
+
+// NewForConfig creates a new DatasetV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*DatasetV1alpha1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &DatasetV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new DatasetV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *DatasetV1alpha1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new DatasetV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *DatasetV1alpha1Client {
+ return &DatasetV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *DatasetV1alpha1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/dataset.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/dataset.go
new file mode 100644
index 000000000..1e46115ac
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/dataset.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// DatasetsGetter has a method to return a DatasetInterface.
+// A group's client should implement this interface.
+type DatasetsGetter interface {
+ Datasets() DatasetInterface
+}
+
+// DatasetInterface has methods to work with Dataset resources.
+type DatasetInterface interface {
+ Create(*v1alpha2.Dataset) (*v1alpha2.Dataset, error)
+ Update(*v1alpha2.Dataset) (*v1alpha2.Dataset, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.Dataset, error)
+ List(opts v1.ListOptions) (*v1alpha2.DatasetList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Dataset, err error)
+ DatasetExpansion
+}
+
+// datasets implements DatasetInterface
+type datasets struct {
+ client rest.Interface
+}
+
+// newDatasets returns a Datasets
+func newDatasets(c *DatasetV1alpha2Client) *datasets {
+ return &datasets{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the dataset, and returns the corresponding dataset object, and an error if there is any.
+func (c *datasets) Get(name string, options v1.GetOptions) (result *v1alpha2.Dataset, err error) {
+ result = &v1alpha2.Dataset{}
+ err = c.client.Get().
+ Resource("datasets").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Datasets that match those selectors.
+func (c *datasets) List(opts v1.ListOptions) (result *v1alpha2.DatasetList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.DatasetList{}
+ err = c.client.Get().
+ Resource("datasets").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested datasets.
+func (c *datasets) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("datasets").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a dataset and creates it. Returns the server's representation of the dataset, and an error, if there is any.
+func (c *datasets) Create(dataset *v1alpha2.Dataset) (result *v1alpha2.Dataset, err error) {
+ result = &v1alpha2.Dataset{}
+ err = c.client.Post().
+ Resource("datasets").
+ Body(dataset).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a dataset and updates it. Returns the server's representation of the dataset, and an error, if there is any.
+func (c *datasets) Update(dataset *v1alpha2.Dataset) (result *v1alpha2.Dataset, err error) {
+ result = &v1alpha2.Dataset{}
+ err = c.client.Put().
+ Resource("datasets").
+ Name(dataset.Name).
+ Body(dataset).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the dataset and deletes it. Returns an error if one occurs.
+func (c *datasets) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("datasets").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *datasets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("datasets").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched dataset.
+func (c *datasets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Dataset, err error) {
+ result = &v1alpha2.Dataset{}
+ err = c.client.Patch(pt).
+ Resource("datasets").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/dataset_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/dataset_client.go
new file mode 100644
index 000000000..e7e9019a7
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/dataset_client.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
+ rest "k8s.io/client-go/rest"
+)
+
+type DatasetV1alpha2Interface interface {
+ RESTClient() rest.Interface
+ DatasetsGetter
+}
+
+// DatasetV1alpha2Client is used to interact with features provided by the dataset.caicloud.io group.
+type DatasetV1alpha2Client struct {
+ restClient rest.Interface
+}
+
+func (c *DatasetV1alpha2Client) Datasets() DatasetInterface {
+ return newDatasets(c)
+}
+
+// NewForConfig creates a new DatasetV1alpha2Client for the given config.
+func NewForConfig(c *rest.Config) (*DatasetV1alpha2Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &DatasetV1alpha2Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new DatasetV1alpha2Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *DatasetV1alpha2Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new DatasetV1alpha2Client for the given RESTClient.
+func New(c rest.Interface) *DatasetV1alpha2Client {
+ return &DatasetV1alpha2Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha2.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *DatasetV1alpha2Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/dataset/v1alpha2/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/cargo.go b/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/cargo.go
new file mode 100644
index 000000000..f49cb7e6f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/cargo.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// CargosGetter has a method to return a CargoInterface.
+// A group's client should implement this interface.
+type CargosGetter interface {
+ Cargos() CargoInterface
+}
+
+// CargoInterface has methods to work with Cargo resources.
+type CargoInterface interface {
+ Create(*v1.Cargo) (*v1.Cargo, error)
+ Update(*v1.Cargo) (*v1.Cargo, error)
+ Delete(name string, options *metav1.DeleteOptions) error
+ DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
+ Get(name string, options metav1.GetOptions) (*v1.Cargo, error)
+ List(opts metav1.ListOptions) (*v1.CargoList, error)
+ Watch(opts metav1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Cargo, err error)
+ CargoExpansion
+}
+
+// cargos implements CargoInterface
+type cargos struct {
+ client rest.Interface
+}
+
+// newCargos returns a Cargos
+func newCargos(c *DevopsV1Client) *cargos {
+ return &cargos{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the cargo, and returns the corresponding cargo object, and an error if there is any.
+func (c *cargos) Get(name string, options metav1.GetOptions) (result *v1.Cargo, err error) {
+ result = &v1.Cargo{}
+ err = c.client.Get().
+ Resource("cargos").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Cargos that match those selectors.
+func (c *cargos) List(opts metav1.ListOptions) (result *v1.CargoList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1.CargoList{}
+ err = c.client.Get().
+ Resource("cargos").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested cargos.
+func (c *cargos) Watch(opts metav1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("cargos").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a cargo and creates it. Returns the server's representation of the cargo, and an error, if there is any.
+func (c *cargos) Create(cargo *v1.Cargo) (result *v1.Cargo, err error) {
+ result = &v1.Cargo{}
+ err = c.client.Post().
+ Resource("cargos").
+ Body(cargo).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a cargo and updates it. Returns the server's representation of the cargo, and an error, if there is any.
+func (c *cargos) Update(cargo *v1.Cargo) (result *v1.Cargo, err error) {
+ result = &v1.Cargo{}
+ err = c.client.Put().
+ Resource("cargos").
+ Name(cargo.Name).
+ Body(cargo).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the cargo and deletes it. Returns an error if one occurs.
+func (c *cargos) Delete(name string, options *metav1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("cargos").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *cargos) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("cargos").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched cargo.
+func (c *cargos) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Cargo, err error) {
+ result = &v1.Cargo{}
+ err = c.client.Patch(pt).
+ Resource("cargos").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/devops_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/devops_client.go
similarity index 89%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/devops_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/devops_client.go
index 08fec2191..9f5926e05 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/devops_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/devops_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/devops/v1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/evaljob.go b/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/evaljob.go
new file mode 100644
index 000000000..52d37c527
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/evaljob.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// EvalJobsGetter has a method to return a EvalJobInterface.
+// A group's client should implement this interface.
+type EvalJobsGetter interface {
+ EvalJobs(namespace string) EvalJobInterface
+}
+
+// EvalJobInterface has methods to work with EvalJob resources.
+type EvalJobInterface interface {
+ Create(*v1alpha1.EvalJob) (*v1alpha1.EvalJob, error)
+ Update(*v1alpha1.EvalJob) (*v1alpha1.EvalJob, error)
+ UpdateStatus(*v1alpha1.EvalJob) (*v1alpha1.EvalJob, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.EvalJob, error)
+ List(opts v1.ListOptions) (*v1alpha1.EvalJobList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.EvalJob, err error)
+ EvalJobExpansion
+}
+
+// evalJobs implements EvalJobInterface
+type evalJobs struct {
+ client rest.Interface
+ ns string
+}
+
+// newEvalJobs returns a EvalJobs
+func newEvalJobs(c *EvaluationV1alpha1Client, namespace string) *evalJobs {
+ return &evalJobs{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the evalJob, and returns the corresponding evalJob object, and an error if there is any.
+func (c *evalJobs) Get(name string, options v1.GetOptions) (result *v1alpha1.EvalJob, err error) {
+ result = &v1alpha1.EvalJob{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of EvalJobs that match those selectors.
+func (c *evalJobs) List(opts v1.ListOptions) (result *v1alpha1.EvalJobList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.EvalJobList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested evalJobs.
+func (c *evalJobs) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a evalJob and creates it. Returns the server's representation of the evalJob, and an error, if there is any.
+func (c *evalJobs) Create(evalJob *v1alpha1.EvalJob) (result *v1alpha1.EvalJob, err error) {
+ result = &v1alpha1.EvalJob{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ Body(evalJob).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a evalJob and updates it. Returns the server's representation of the evalJob, and an error, if there is any.
+func (c *evalJobs) Update(evalJob *v1alpha1.EvalJob) (result *v1alpha1.EvalJob, err error) {
+ result = &v1alpha1.EvalJob{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ Name(evalJob.Name).
+ Body(evalJob).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *evalJobs) UpdateStatus(evalJob *v1alpha1.EvalJob) (result *v1alpha1.EvalJob, err error) {
+ result = &v1alpha1.EvalJob{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ Name(evalJob.Name).
+ SubResource("status").
+ Body(evalJob).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the evalJob and deletes it. Returns an error if one occurs.
+func (c *evalJobs) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *evalJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("evaljobs").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched evalJob.
+func (c *evalJobs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.EvalJob, err error) {
+ result = &v1alpha1.EvalJob{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("evaljobs").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/evaluation_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/evaluation_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/evaluation_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/evaluation_client.go
index bd34dffb8..9e14a0054 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/evaluation_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/evaluation_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/evaluation/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/loadbalance_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/loadbalance_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/loadbalance_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/loadbalance_client.go
index 62051f501..efc3b00e6 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/loadbalance_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/loadbalance_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha2
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha2.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/loadbalancer.go b/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/loadbalancer.go
new file mode 100644
index 000000000..67daba569
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/loadbalance/v1alpha2/loadbalancer.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// LoadBalancersGetter has a method to return a LoadBalancerInterface.
+// A group's client should implement this interface.
+type LoadBalancersGetter interface {
+ LoadBalancers(namespace string) LoadBalancerInterface
+}
+
+// LoadBalancerInterface has methods to work with LoadBalancer resources.
+type LoadBalancerInterface interface {
+ Create(*v1alpha2.LoadBalancer) (*v1alpha2.LoadBalancer, error)
+ Update(*v1alpha2.LoadBalancer) (*v1alpha2.LoadBalancer, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha2.LoadBalancer, error)
+ List(opts v1.ListOptions) (*v1alpha2.LoadBalancerList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.LoadBalancer, err error)
+ LoadBalancerExpansion
+}
+
+// loadBalancers implements LoadBalancerInterface
+type loadBalancers struct {
+ client rest.Interface
+ ns string
+}
+
+// newLoadBalancers returns a LoadBalancers
+func newLoadBalancers(c *LoadbalanceV1alpha2Client, namespace string) *loadBalancers {
+ return &loadBalancers{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the loadBalancer, and returns the corresponding loadBalancer object, and an error if there is any.
+func (c *loadBalancers) Get(name string, options v1.GetOptions) (result *v1alpha2.LoadBalancer, err error) {
+ result = &v1alpha2.LoadBalancer{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of LoadBalancers that match those selectors.
+func (c *loadBalancers) List(opts v1.ListOptions) (result *v1alpha2.LoadBalancerList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha2.LoadBalancerList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested loadBalancers.
+func (c *loadBalancers) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a loadBalancer and creates it. Returns the server's representation of the loadBalancer, and an error, if there is any.
+func (c *loadBalancers) Create(loadBalancer *v1alpha2.LoadBalancer) (result *v1alpha2.LoadBalancer, err error) {
+ result = &v1alpha2.LoadBalancer{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ Body(loadBalancer).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a loadBalancer and updates it. Returns the server's representation of the loadBalancer, and an error, if there is any.
+func (c *loadBalancers) Update(loadBalancer *v1alpha2.LoadBalancer) (result *v1alpha2.LoadBalancer, err error) {
+ result = &v1alpha2.LoadBalancer{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ Name(loadBalancer.Name).
+ Body(loadBalancer).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the loadBalancer and deletes it. Returns an error if one occurs.
+func (c *loadBalancers) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *loadBalancers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched loadBalancer.
+func (c *loadBalancers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.LoadBalancer, err error) {
+ result = &v1alpha2.LoadBalancer{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("loadbalancers").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/logendpoint.go b/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/logendpoint.go
new file mode 100644
index 000000000..22c86ba1c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/logendpoint.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// LogEndpointsGetter has a method to return a LogEndpointInterface.
+// A group's client should implement this interface.
+type LogEndpointsGetter interface {
+ LogEndpoints() LogEndpointInterface
+}
+
+// LogEndpointInterface has methods to work with LogEndpoint resources.
+type LogEndpointInterface interface {
+ Create(*v1alpha1.LogEndpoint) (*v1alpha1.LogEndpoint, error)
+ Update(*v1alpha1.LogEndpoint) (*v1alpha1.LogEndpoint, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.LogEndpoint, error)
+ List(opts v1.ListOptions) (*v1alpha1.LogEndpointList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.LogEndpoint, err error)
+ LogEndpointExpansion
+}
+
+// logEndpoints implements LogEndpointInterface
+type logEndpoints struct {
+ client rest.Interface
+}
+
+// newLogEndpoints returns a LogEndpoints
+func newLogEndpoints(c *LoggingV1alpha1Client) *logEndpoints {
+ return &logEndpoints{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the logEndpoint, and returns the corresponding logEndpoint object, and an error if there is any.
+func (c *logEndpoints) Get(name string, options v1.GetOptions) (result *v1alpha1.LogEndpoint, err error) {
+ result = &v1alpha1.LogEndpoint{}
+ err = c.client.Get().
+ Resource("logendpoints").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of LogEndpoints that match those selectors.
+func (c *logEndpoints) List(opts v1.ListOptions) (result *v1alpha1.LogEndpointList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.LogEndpointList{}
+ err = c.client.Get().
+ Resource("logendpoints").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested logEndpoints.
+func (c *logEndpoints) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("logendpoints").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a logEndpoint and creates it. Returns the server's representation of the logEndpoint, and an error, if there is any.
+func (c *logEndpoints) Create(logEndpoint *v1alpha1.LogEndpoint) (result *v1alpha1.LogEndpoint, err error) {
+ result = &v1alpha1.LogEndpoint{}
+ err = c.client.Post().
+ Resource("logendpoints").
+ Body(logEndpoint).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a logEndpoint and updates it. Returns the server's representation of the logEndpoint, and an error, if there is any.
+func (c *logEndpoints) Update(logEndpoint *v1alpha1.LogEndpoint) (result *v1alpha1.LogEndpoint, err error) {
+ result = &v1alpha1.LogEndpoint{}
+ err = c.client.Put().
+ Resource("logendpoints").
+ Name(logEndpoint.Name).
+ Body(logEndpoint).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the logEndpoint and deletes it. Returns an error if one occurs.
+func (c *logEndpoints) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("logendpoints").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *logEndpoints) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("logendpoints").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched logEndpoint.
+func (c *logEndpoints) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.LogEndpoint, err error) {
+ result = &v1alpha1.LogEndpoint{}
+ err = c.client.Patch(pt).
+ Resource("logendpoints").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/logging_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/logging_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/logging_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/logging_client.go
index 507d8504c..342a1723e 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/logging_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/logging/v1alpha1/logging_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/microservice_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/microservice_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/microservice_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/microservice_client.go
index ffd3f61e0..64d1c5aba 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/microservice_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/microservice_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/springcloud.go b/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/springcloud.go
new file mode 100644
index 000000000..9cdf6dc4e
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/microservice/v1alpha1/springcloud.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// SpringcloudsGetter has a method to return a SpringcloudInterface.
+// A group's client should implement this interface.
+type SpringcloudsGetter interface {
+ Springclouds(namespace string) SpringcloudInterface
+}
+
+// SpringcloudInterface has methods to work with Springcloud resources.
+type SpringcloudInterface interface {
+ Create(*v1alpha1.Springcloud) (*v1alpha1.Springcloud, error)
+ Update(*v1alpha1.Springcloud) (*v1alpha1.Springcloud, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Springcloud, error)
+ List(opts v1.ListOptions) (*v1alpha1.SpringcloudList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Springcloud, err error)
+ SpringcloudExpansion
+}
+
+// springclouds implements SpringcloudInterface
+type springclouds struct {
+ client rest.Interface
+ ns string
+}
+
+// newSpringclouds returns a Springclouds
+func newSpringclouds(c *MicroserviceV1alpha1Client, namespace string) *springclouds {
+ return &springclouds{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the springcloud, and returns the corresponding springcloud object, and an error if there is any.
+func (c *springclouds) Get(name string, options v1.GetOptions) (result *v1alpha1.Springcloud, err error) {
+ result = &v1alpha1.Springcloud{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("springclouds").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Springclouds that match those selectors.
+func (c *springclouds) List(opts v1.ListOptions) (result *v1alpha1.SpringcloudList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.SpringcloudList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("springclouds").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested springclouds.
+func (c *springclouds) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("springclouds").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a springcloud and creates it. Returns the server's representation of the springcloud, and an error, if there is any.
+func (c *springclouds) Create(springcloud *v1alpha1.Springcloud) (result *v1alpha1.Springcloud, err error) {
+ result = &v1alpha1.Springcloud{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("springclouds").
+ Body(springcloud).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a springcloud and updates it. Returns the server's representation of the springcloud, and an error, if there is any.
+func (c *springclouds) Update(springcloud *v1alpha1.Springcloud) (result *v1alpha1.Springcloud, err error) {
+ result = &v1alpha1.Springcloud{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("springclouds").
+ Name(springcloud.Name).
+ Body(springcloud).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the springcloud and deletes it. Returns an error if one occurs.
+func (c *springclouds) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("springclouds").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *springclouds) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("springclouds").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched springcloud.
+func (c *springclouds) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Springcloud, err error) {
+ result = &v1alpha1.Springcloud{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("springclouds").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/model.go b/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/model.go
new file mode 100644
index 000000000..813fbe903
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/model.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ModelsGetter has a method to return a ModelInterface.
+// A group's client should implement this interface.
+type ModelsGetter interface {
+ Models() ModelInterface
+}
+
+// ModelInterface has methods to work with Model resources.
+type ModelInterface interface {
+ Create(*v1alpha1.Model) (*v1alpha1.Model, error)
+ Update(*v1alpha1.Model) (*v1alpha1.Model, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Model, error)
+ List(opts v1.ListOptions) (*v1alpha1.ModelList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Model, err error)
+ ModelExpansion
+}
+
+// models implements ModelInterface
+type models struct {
+ client rest.Interface
+}
+
+// newModels returns a Models
+func newModels(c *ModelV1alpha1Client) *models {
+ return &models{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the model, and returns the corresponding model object, and an error if there is any.
+func (c *models) Get(name string, options v1.GetOptions) (result *v1alpha1.Model, err error) {
+ result = &v1alpha1.Model{}
+ err = c.client.Get().
+ Resource("models").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Models that match those selectors.
+func (c *models) List(opts v1.ListOptions) (result *v1alpha1.ModelList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ModelList{}
+ err = c.client.Get().
+ Resource("models").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested models.
+func (c *models) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("models").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a model and creates it. Returns the server's representation of the model, and an error, if there is any.
+func (c *models) Create(model *v1alpha1.Model) (result *v1alpha1.Model, err error) {
+ result = &v1alpha1.Model{}
+ err = c.client.Post().
+ Resource("models").
+ Body(model).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a model and updates it. Returns the server's representation of the model, and an error, if there is any.
+func (c *models) Update(model *v1alpha1.Model) (result *v1alpha1.Model, err error) {
+ result = &v1alpha1.Model{}
+ err = c.client.Put().
+ Resource("models").
+ Name(model.Name).
+ Body(model).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the model and deletes it. Returns an error if one occurs.
+func (c *models) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("models").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *models) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("models").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched model.
+func (c *models) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Model, err error) {
+ result = &v1alpha1.Model{}
+ err = c.client.Patch(pt).
+ Resource("models").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/model_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/model_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/model_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/model_client.go
index 639b367ac..5b0a75986 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/model_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/model/v1alpha1/model_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/application.go b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/application.go
new file mode 100644
index 000000000..7d206c623
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/application.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ApplicationsGetter has a method to return a ApplicationInterface.
+// A group's client should implement this interface.
+type ApplicationsGetter interface {
+ Applications(namespace string) ApplicationInterface
+}
+
+// ApplicationInterface has methods to work with Application resources.
+type ApplicationInterface interface {
+ Create(*v1alpha1.Application) (*v1alpha1.Application, error)
+ Update(*v1alpha1.Application) (*v1alpha1.Application, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Application, error)
+ List(opts v1.ListOptions) (*v1alpha1.ApplicationList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Application, err error)
+ ApplicationExpansion
+}
+
+// applications implements ApplicationInterface
+type applications struct {
+ client rest.Interface
+ ns string
+}
+
+// newApplications returns a Applications
+func newApplications(c *OrchestrationV1alpha1Client, namespace string) *applications {
+ return &applications{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the application, and returns the corresponding application object, and an error if there is any.
+func (c *applications) Get(name string, options v1.GetOptions) (result *v1alpha1.Application, err error) {
+ result = &v1alpha1.Application{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("applications").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Applications that match those selectors.
+func (c *applications) List(opts v1.ListOptions) (result *v1alpha1.ApplicationList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ApplicationList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("applications").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested applications.
+func (c *applications) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("applications").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a application and creates it. Returns the server's representation of the application, and an error, if there is any.
+func (c *applications) Create(application *v1alpha1.Application) (result *v1alpha1.Application, err error) {
+ result = &v1alpha1.Application{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("applications").
+ Body(application).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a application and updates it. Returns the server's representation of the application, and an error, if there is any.
+func (c *applications) Update(application *v1alpha1.Application) (result *v1alpha1.Application, err error) {
+ result = &v1alpha1.Application{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("applications").
+ Name(application.Name).
+ Body(application).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the application and deletes it. Returns an error if one occurs.
+func (c *applications) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("applications").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *applications) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("applications").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched application.
+func (c *applications) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Application, err error) {
+ result = &v1alpha1.Application{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("applications").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/applicationdraft.go b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/applicationdraft.go
new file mode 100644
index 000000000..499be2569
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/applicationdraft.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ApplicationDraftsGetter has a method to return a ApplicationDraftInterface.
+// A group's client should implement this interface.
+type ApplicationDraftsGetter interface {
+ ApplicationDrafts(namespace string) ApplicationDraftInterface
+}
+
+// ApplicationDraftInterface has methods to work with ApplicationDraft resources.
+type ApplicationDraftInterface interface {
+ Create(*v1alpha1.ApplicationDraft) (*v1alpha1.ApplicationDraft, error)
+ Update(*v1alpha1.ApplicationDraft) (*v1alpha1.ApplicationDraft, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.ApplicationDraft, error)
+ List(opts v1.ListOptions) (*v1alpha1.ApplicationDraftList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ApplicationDraft, err error)
+ ApplicationDraftExpansion
+}
+
+// applicationDrafts implements ApplicationDraftInterface
+type applicationDrafts struct {
+ client rest.Interface
+ ns string
+}
+
+// newApplicationDrafts returns a ApplicationDrafts
+func newApplicationDrafts(c *OrchestrationV1alpha1Client, namespace string) *applicationDrafts {
+ return &applicationDrafts{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the applicationDraft, and returns the corresponding applicationDraft object, and an error if there is any.
+func (c *applicationDrafts) Get(name string, options v1.GetOptions) (result *v1alpha1.ApplicationDraft, err error) {
+ result = &v1alpha1.ApplicationDraft{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ApplicationDrafts that match those selectors.
+func (c *applicationDrafts) List(opts v1.ListOptions) (result *v1alpha1.ApplicationDraftList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ApplicationDraftList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested applicationDrafts.
+func (c *applicationDrafts) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a applicationDraft and creates it. Returns the server's representation of the applicationDraft, and an error, if there is any.
+func (c *applicationDrafts) Create(applicationDraft *v1alpha1.ApplicationDraft) (result *v1alpha1.ApplicationDraft, err error) {
+ result = &v1alpha1.ApplicationDraft{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ Body(applicationDraft).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a applicationDraft and updates it. Returns the server's representation of the applicationDraft, and an error, if there is any.
+func (c *applicationDrafts) Update(applicationDraft *v1alpha1.ApplicationDraft) (result *v1alpha1.ApplicationDraft, err error) {
+ result = &v1alpha1.ApplicationDraft{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ Name(applicationDraft.Name).
+ Body(applicationDraft).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the applicationDraft and deletes it. Returns an error if one occurs.
+func (c *applicationDrafts) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *applicationDrafts) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched applicationDraft.
+func (c *applicationDrafts) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ApplicationDraft, err error) {
+ result = &v1alpha1.ApplicationDraft{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("applicationdrafts").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/orchestration_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/orchestration_client.go
similarity index 91%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/orchestration_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/orchestration_client.go
index a4ca83e07..2b08b0ce5 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/orchestration_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/orchestration/v1alpha1/orchestration_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -64,7 +63,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/canaryrelease.go b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/canaryrelease.go
new file mode 100644
index 000000000..f84c9dc4b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/canaryrelease.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// CanaryReleasesGetter has a method to return a CanaryReleaseInterface.
+// A group's client should implement this interface.
+type CanaryReleasesGetter interface {
+ CanaryReleases(namespace string) CanaryReleaseInterface
+}
+
+// CanaryReleaseInterface has methods to work with CanaryRelease resources.
+type CanaryReleaseInterface interface {
+ Create(*v1alpha1.CanaryRelease) (*v1alpha1.CanaryRelease, error)
+ Update(*v1alpha1.CanaryRelease) (*v1alpha1.CanaryRelease, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.CanaryRelease, error)
+ List(opts v1.ListOptions) (*v1alpha1.CanaryReleaseList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.CanaryRelease, err error)
+ CanaryReleaseExpansion
+}
+
+// canaryReleases implements CanaryReleaseInterface
+type canaryReleases struct {
+ client rest.Interface
+ ns string
+}
+
+// newCanaryReleases returns a CanaryReleases
+func newCanaryReleases(c *ReleaseV1alpha1Client, namespace string) *canaryReleases {
+ return &canaryReleases{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the canaryRelease, and returns the corresponding canaryRelease object, and an error if there is any.
+func (c *canaryReleases) Get(name string, options v1.GetOptions) (result *v1alpha1.CanaryRelease, err error) {
+ result = &v1alpha1.CanaryRelease{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of CanaryReleases that match those selectors.
+func (c *canaryReleases) List(opts v1.ListOptions) (result *v1alpha1.CanaryReleaseList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.CanaryReleaseList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested canaryReleases.
+func (c *canaryReleases) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a canaryRelease and creates it. Returns the server's representation of the canaryRelease, and an error, if there is any.
+func (c *canaryReleases) Create(canaryRelease *v1alpha1.CanaryRelease) (result *v1alpha1.CanaryRelease, err error) {
+ result = &v1alpha1.CanaryRelease{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ Body(canaryRelease).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a canaryRelease and updates it. Returns the server's representation of the canaryRelease, and an error, if there is any.
+func (c *canaryReleases) Update(canaryRelease *v1alpha1.CanaryRelease) (result *v1alpha1.CanaryRelease, err error) {
+ result = &v1alpha1.CanaryRelease{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ Name(canaryRelease.Name).
+ Body(canaryRelease).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the canaryRelease and deletes it. Returns an error if one occurs.
+func (c *canaryReleases) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *canaryReleases) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched canaryRelease.
+func (c *canaryReleases) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.CanaryRelease, err error) {
+ result = &v1alpha1.CanaryRelease{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("canaryreleases").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/release.go b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/release.go
new file mode 100644
index 000000000..f0740a853
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/release.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ReleasesGetter has a method to return a ReleaseInterface.
+// A group's client should implement this interface.
+type ReleasesGetter interface {
+ Releases(namespace string) ReleaseInterface
+}
+
+// ReleaseInterface has methods to work with Release resources.
+type ReleaseInterface interface {
+ Create(*v1alpha1.Release) (*v1alpha1.Release, error)
+ Update(*v1alpha1.Release) (*v1alpha1.Release, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Release, error)
+ List(opts v1.ListOptions) (*v1alpha1.ReleaseList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Release, err error)
+ ReleaseExpansion
+}
+
+// releases implements ReleaseInterface
+type releases struct {
+ client rest.Interface
+ ns string
+}
+
+// newReleases returns a Releases
+func newReleases(c *ReleaseV1alpha1Client, namespace string) *releases {
+ return &releases{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the release, and returns the corresponding release object, and an error if there is any.
+func (c *releases) Get(name string, options v1.GetOptions) (result *v1alpha1.Release, err error) {
+ result = &v1alpha1.Release{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("releases").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Releases that match those selectors.
+func (c *releases) List(opts v1.ListOptions) (result *v1alpha1.ReleaseList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ReleaseList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("releases").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested releases.
+func (c *releases) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("releases").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a release and creates it. Returns the server's representation of the release, and an error, if there is any.
+func (c *releases) Create(release *v1alpha1.Release) (result *v1alpha1.Release, err error) {
+ result = &v1alpha1.Release{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("releases").
+ Body(release).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a release and updates it. Returns the server's representation of the release, and an error, if there is any.
+func (c *releases) Update(release *v1alpha1.Release) (result *v1alpha1.Release, err error) {
+ result = &v1alpha1.Release{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("releases").
+ Name(release.Name).
+ Body(release).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the release and deletes it. Returns an error if one occurs.
+func (c *releases) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("releases").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *releases) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("releases").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched release.
+func (c *releases) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Release, err error) {
+ result = &v1alpha1.Release{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("releases").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/release_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/release_client.go
similarity index 91%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/release_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/release_client.go
index f3a04b4b0..b7d417ec4 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/release_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/release_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -69,7 +68,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/releasehistory.go b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/releasehistory.go
new file mode 100644
index 000000000..61ddffcd7
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/release/v1alpha1/releasehistory.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ReleaseHistoriesGetter has a method to return a ReleaseHistoryInterface.
+// A group's client should implement this interface.
+type ReleaseHistoriesGetter interface {
+ ReleaseHistories(namespace string) ReleaseHistoryInterface
+}
+
+// ReleaseHistoryInterface has methods to work with ReleaseHistory resources.
+type ReleaseHistoryInterface interface {
+ Create(*v1alpha1.ReleaseHistory) (*v1alpha1.ReleaseHistory, error)
+ Update(*v1alpha1.ReleaseHistory) (*v1alpha1.ReleaseHistory, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.ReleaseHistory, error)
+ List(opts v1.ListOptions) (*v1alpha1.ReleaseHistoryList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ReleaseHistory, err error)
+ ReleaseHistoryExpansion
+}
+
+// releaseHistories implements ReleaseHistoryInterface
+type releaseHistories struct {
+ client rest.Interface
+ ns string
+}
+
+// newReleaseHistories returns a ReleaseHistories
+func newReleaseHistories(c *ReleaseV1alpha1Client, namespace string) *releaseHistories {
+ return &releaseHistories{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the releaseHistory, and returns the corresponding releaseHistory object, and an error if there is any.
+func (c *releaseHistories) Get(name string, options v1.GetOptions) (result *v1alpha1.ReleaseHistory, err error) {
+ result = &v1alpha1.ReleaseHistory{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ReleaseHistories that match those selectors.
+func (c *releaseHistories) List(opts v1.ListOptions) (result *v1alpha1.ReleaseHistoryList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ReleaseHistoryList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested releaseHistories.
+func (c *releaseHistories) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a releaseHistory and creates it. Returns the server's representation of the releaseHistory, and an error, if there is any.
+func (c *releaseHistories) Create(releaseHistory *v1alpha1.ReleaseHistory) (result *v1alpha1.ReleaseHistory, err error) {
+ result = &v1alpha1.ReleaseHistory{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ Body(releaseHistory).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a releaseHistory and updates it. Returns the server's representation of the releaseHistory, and an error, if there is any.
+func (c *releaseHistories) Update(releaseHistory *v1alpha1.ReleaseHistory) (result *v1alpha1.ReleaseHistory, err error) {
+ result = &v1alpha1.ReleaseHistory{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ Name(releaseHistory.Name).
+ Body(releaseHistory).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the releaseHistory and deletes it. Returns an error if one occurs.
+func (c *releaseHistories) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *releaseHistories) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("releasehistories").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched releaseHistory.
+func (c *releaseHistories) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ReleaseHistory, err error) {
+ result = &v1alpha1.ReleaseHistory{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("releasehistories").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/resource_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/resource_client.go
new file mode 100644
index 000000000..36eeee7ac
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/resource_client.go
@@ -0,0 +1,82 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
+ rest "k8s.io/client-go/rest"
+)
+
+type ResourceV1alpha1Interface interface {
+ RESTClient() rest.Interface
+ StorageServicesGetter
+ StorageTypesGetter
+}
+
+// ResourceV1alpha1Client is used to interact with features provided by the resource.caicloud.io group.
+type ResourceV1alpha1Client struct {
+ restClient rest.Interface
+}
+
+func (c *ResourceV1alpha1Client) StorageServices() StorageServiceInterface {
+ return newStorageServices(c)
+}
+
+func (c *ResourceV1alpha1Client) StorageTypes() StorageTypeInterface {
+ return newStorageTypes(c)
+}
+
+// NewForConfig creates a new ResourceV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*ResourceV1alpha1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &ResourceV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new ResourceV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *ResourceV1alpha1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new ResourceV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *ResourceV1alpha1Client {
+ return &ResourceV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *ResourceV1alpha1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/storageservice.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/storageservice.go
new file mode 100644
index 000000000..c33b4eef3
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/storageservice.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// StorageServicesGetter has a method to return a StorageServiceInterface.
+// A group's client should implement this interface.
+type StorageServicesGetter interface {
+ StorageServices() StorageServiceInterface
+}
+
+// StorageServiceInterface has methods to work with StorageService resources.
+type StorageServiceInterface interface {
+ Create(*v1alpha1.StorageService) (*v1alpha1.StorageService, error)
+ Update(*v1alpha1.StorageService) (*v1alpha1.StorageService, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.StorageService, error)
+ List(opts v1.ListOptions) (*v1alpha1.StorageServiceList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageService, err error)
+ StorageServiceExpansion
+}
+
+// storageServices implements StorageServiceInterface
+type storageServices struct {
+ client rest.Interface
+}
+
+// newStorageServices returns a StorageServices
+func newStorageServices(c *ResourceV1alpha1Client) *storageServices {
+ return &storageServices{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the storageService, and returns the corresponding storageService object, and an error if there is any.
+func (c *storageServices) Get(name string, options v1.GetOptions) (result *v1alpha1.StorageService, err error) {
+ result = &v1alpha1.StorageService{}
+ err = c.client.Get().
+ Resource("storageservices").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of StorageServices that match those selectors.
+func (c *storageServices) List(opts v1.ListOptions) (result *v1alpha1.StorageServiceList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.StorageServiceList{}
+ err = c.client.Get().
+ Resource("storageservices").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested storageServices.
+func (c *storageServices) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("storageservices").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a storageService and creates it. Returns the server's representation of the storageService, and an error, if there is any.
+func (c *storageServices) Create(storageService *v1alpha1.StorageService) (result *v1alpha1.StorageService, err error) {
+ result = &v1alpha1.StorageService{}
+ err = c.client.Post().
+ Resource("storageservices").
+ Body(storageService).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a storageService and updates it. Returns the server's representation of the storageService, and an error, if there is any.
+func (c *storageServices) Update(storageService *v1alpha1.StorageService) (result *v1alpha1.StorageService, err error) {
+ result = &v1alpha1.StorageService{}
+ err = c.client.Put().
+ Resource("storageservices").
+ Name(storageService.Name).
+ Body(storageService).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the storageService and deletes it. Returns an error if one occurs.
+func (c *storageServices) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("storageservices").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *storageServices) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("storageservices").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched storageService.
+func (c *storageServices) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageService, err error) {
+ result = &v1alpha1.StorageService{}
+ err = c.client.Patch(pt).
+ Resource("storageservices").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/storagetype.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/storagetype.go
new file mode 100644
index 000000000..59df7e05b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1alpha1/storagetype.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// StorageTypesGetter has a method to return a StorageTypeInterface.
+// A group's client should implement this interface.
+type StorageTypesGetter interface {
+ StorageTypes() StorageTypeInterface
+}
+
+// StorageTypeInterface has methods to work with StorageType resources.
+type StorageTypeInterface interface {
+ Create(*v1alpha1.StorageType) (*v1alpha1.StorageType, error)
+ Update(*v1alpha1.StorageType) (*v1alpha1.StorageType, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.StorageType, error)
+ List(opts v1.ListOptions) (*v1alpha1.StorageTypeList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageType, err error)
+ StorageTypeExpansion
+}
+
+// storageTypes implements StorageTypeInterface
+type storageTypes struct {
+ client rest.Interface
+}
+
+// newStorageTypes returns a StorageTypes
+func newStorageTypes(c *ResourceV1alpha1Client) *storageTypes {
+ return &storageTypes{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the storageType, and returns the corresponding storageType object, and an error if there is any.
+func (c *storageTypes) Get(name string, options v1.GetOptions) (result *v1alpha1.StorageType, err error) {
+ result = &v1alpha1.StorageType{}
+ err = c.client.Get().
+ Resource("storagetypes").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of StorageTypes that match those selectors.
+func (c *storageTypes) List(opts v1.ListOptions) (result *v1alpha1.StorageTypeList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.StorageTypeList{}
+ err = c.client.Get().
+ Resource("storagetypes").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested storageTypes.
+func (c *storageTypes) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("storagetypes").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a storageType and creates it. Returns the server's representation of the storageType, and an error, if there is any.
+func (c *storageTypes) Create(storageType *v1alpha1.StorageType) (result *v1alpha1.StorageType, err error) {
+ result = &v1alpha1.StorageType{}
+ err = c.client.Post().
+ Resource("storagetypes").
+ Body(storageType).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a storageType and updates it. Returns the server's representation of the storageType, and an error, if there is any.
+func (c *storageTypes) Update(storageType *v1alpha1.StorageType) (result *v1alpha1.StorageType, err error) {
+ result = &v1alpha1.StorageType{}
+ err = c.client.Put().
+ Resource("storagetypes").
+ Name(storageType.Name).
+ Body(storageType).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the storageType and deletes it. Returns an error if one occurs.
+func (c *storageTypes) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("storagetypes").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *storageTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("storagetypes").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched storageType.
+func (c *storageTypes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageType, err error) {
+ result = &v1alpha1.StorageType{}
+ err = c.client.Patch(pt).
+ Resource("storagetypes").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/cluster.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/cluster.go
new file mode 100644
index 000000000..5af031c91
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/cluster.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ClustersGetter has a method to return a ClusterInterface.
+// A group's client should implement this interface.
+type ClustersGetter interface {
+ Clusters() ClusterInterface
+}
+
+// ClusterInterface has methods to work with Cluster resources.
+type ClusterInterface interface {
+ Create(*v1beta1.Cluster) (*v1beta1.Cluster, error)
+ Update(*v1beta1.Cluster) (*v1beta1.Cluster, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Cluster, error)
+ List(opts v1.ListOptions) (*v1beta1.ClusterList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Cluster, err error)
+ ClusterExpansion
+}
+
+// clusters implements ClusterInterface
+type clusters struct {
+ client rest.Interface
+}
+
+// newClusters returns a Clusters
+func newClusters(c *ResourceV1beta1Client) *clusters {
+ return &clusters{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the cluster, and returns the corresponding cluster object, and an error if there is any.
+func (c *clusters) Get(name string, options v1.GetOptions) (result *v1beta1.Cluster, err error) {
+ result = &v1beta1.Cluster{}
+ err = c.client.Get().
+ Resource("clusters").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Clusters that match those selectors.
+func (c *clusters) List(opts v1.ListOptions) (result *v1beta1.ClusterList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.ClusterList{}
+ err = c.client.Get().
+ Resource("clusters").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested clusters.
+func (c *clusters) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("clusters").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a cluster and creates it. Returns the server's representation of the cluster, and an error, if there is any.
+func (c *clusters) Create(cluster *v1beta1.Cluster) (result *v1beta1.Cluster, err error) {
+ result = &v1beta1.Cluster{}
+ err = c.client.Post().
+ Resource("clusters").
+ Body(cluster).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a cluster and updates it. Returns the server's representation of the cluster, and an error, if there is any.
+func (c *clusters) Update(cluster *v1beta1.Cluster) (result *v1beta1.Cluster, err error) {
+ result = &v1beta1.Cluster{}
+ err = c.client.Put().
+ Resource("clusters").
+ Name(cluster.Name).
+ Body(cluster).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the cluster and deletes it. Returns an error if one occurs.
+func (c *clusters) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("clusters").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *clusters) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("clusters").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched cluster.
+func (c *clusters) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Cluster, err error) {
+ result = &v1beta1.Cluster{}
+ err = c.client.Patch(pt).
+ Resource("clusters").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/config.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/config.go
new file mode 100644
index 000000000..26fbdbd5c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/config.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ConfigsGetter has a method to return a ConfigInterface.
+// A group's client should implement this interface.
+type ConfigsGetter interface {
+ Configs() ConfigInterface
+}
+
+// ConfigInterface has methods to work with Config resources.
+type ConfigInterface interface {
+ Create(*v1beta1.Config) (*v1beta1.Config, error)
+ Update(*v1beta1.Config) (*v1beta1.Config, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Config, error)
+ List(opts v1.ListOptions) (*v1beta1.ConfigList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Config, err error)
+ ConfigExpansion
+}
+
+// configs implements ConfigInterface
+type configs struct {
+ client rest.Interface
+}
+
+// newConfigs returns a Configs
+func newConfigs(c *ResourceV1beta1Client) *configs {
+ return &configs{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the config, and returns the corresponding config object, and an error if there is any.
+func (c *configs) Get(name string, options v1.GetOptions) (result *v1beta1.Config, err error) {
+ result = &v1beta1.Config{}
+ err = c.client.Get().
+ Resource("configs").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Configs that match those selectors.
+func (c *configs) List(opts v1.ListOptions) (result *v1beta1.ConfigList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.ConfigList{}
+ err = c.client.Get().
+ Resource("configs").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested configs.
+func (c *configs) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("configs").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a config and creates it. Returns the server's representation of the config, and an error, if there is any.
+func (c *configs) Create(config *v1beta1.Config) (result *v1beta1.Config, err error) {
+ result = &v1beta1.Config{}
+ err = c.client.Post().
+ Resource("configs").
+ Body(config).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a config and updates it. Returns the server's representation of the config, and an error, if there is any.
+func (c *configs) Update(config *v1beta1.Config) (result *v1beta1.Config, err error) {
+ result = &v1beta1.Config{}
+ err = c.client.Put().
+ Resource("configs").
+ Name(config.Name).
+ Body(config).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the config and deletes it. Returns an error if one occurs.
+func (c *configs) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("configs").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *configs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("configs").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched config.
+func (c *configs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Config, err error) {
+ result = &v1beta1.Config{}
+ err = c.client.Patch(pt).
+ Resource("configs").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/extendedresource.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/extendedresource.go
new file mode 100644
index 000000000..938f8d551
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/extendedresource.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ExtendedResourcesGetter has a method to return a ExtendedResourceInterface.
+// A group's client should implement this interface.
+type ExtendedResourcesGetter interface {
+ ExtendedResources() ExtendedResourceInterface
+}
+
+// ExtendedResourceInterface has methods to work with ExtendedResource resources.
+type ExtendedResourceInterface interface {
+ Create(*v1beta1.ExtendedResource) (*v1beta1.ExtendedResource, error)
+ Update(*v1beta1.ExtendedResource) (*v1beta1.ExtendedResource, error)
+ UpdateStatus(*v1beta1.ExtendedResource) (*v1beta1.ExtendedResource, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.ExtendedResource, error)
+ List(opts v1.ListOptions) (*v1beta1.ExtendedResourceList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ExtendedResource, err error)
+ ExtendedResourceExpansion
+}
+
+// extendedResources implements ExtendedResourceInterface
+type extendedResources struct {
+ client rest.Interface
+}
+
+// newExtendedResources returns a ExtendedResources
+func newExtendedResources(c *ResourceV1beta1Client) *extendedResources {
+ return &extendedResources{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the extendedResource, and returns the corresponding extendedResource object, and an error if there is any.
+func (c *extendedResources) Get(name string, options v1.GetOptions) (result *v1beta1.ExtendedResource, err error) {
+ result = &v1beta1.ExtendedResource{}
+ err = c.client.Get().
+ Resource("extendedresources").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ExtendedResources that match those selectors.
+func (c *extendedResources) List(opts v1.ListOptions) (result *v1beta1.ExtendedResourceList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.ExtendedResourceList{}
+ err = c.client.Get().
+ Resource("extendedresources").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested extendedResources.
+func (c *extendedResources) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("extendedresources").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a extendedResource and creates it. Returns the server's representation of the extendedResource, and an error, if there is any.
+func (c *extendedResources) Create(extendedResource *v1beta1.ExtendedResource) (result *v1beta1.ExtendedResource, err error) {
+ result = &v1beta1.ExtendedResource{}
+ err = c.client.Post().
+ Resource("extendedresources").
+ Body(extendedResource).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a extendedResource and updates it. Returns the server's representation of the extendedResource, and an error, if there is any.
+func (c *extendedResources) Update(extendedResource *v1beta1.ExtendedResource) (result *v1beta1.ExtendedResource, err error) {
+ result = &v1beta1.ExtendedResource{}
+ err = c.client.Put().
+ Resource("extendedresources").
+ Name(extendedResource.Name).
+ Body(extendedResource).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *extendedResources) UpdateStatus(extendedResource *v1beta1.ExtendedResource) (result *v1beta1.ExtendedResource, err error) {
+ result = &v1beta1.ExtendedResource{}
+ err = c.client.Put().
+ Resource("extendedresources").
+ Name(extendedResource.Name).
+ SubResource("status").
+ Body(extendedResource).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the extendedResource and deletes it. Returns an error if one occurs.
+func (c *extendedResources) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("extendedresources").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *extendedResources) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("extendedresources").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched extendedResource.
+func (c *extendedResources) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ExtendedResource, err error) {
+ result = &v1beta1.ExtendedResource{}
+ err = c.client.Patch(pt).
+ Resource("extendedresources").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/infranetwork.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/infranetwork.go
new file mode 100644
index 000000000..2bb0929a5
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/infranetwork.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// InfraNetworksGetter has a method to return a InfraNetworkInterface.
+// A group's client should implement this interface.
+type InfraNetworksGetter interface {
+ InfraNetworks() InfraNetworkInterface
+}
+
+// InfraNetworkInterface has methods to work with InfraNetwork resources.
+type InfraNetworkInterface interface {
+ Create(*v1beta1.InfraNetwork) (*v1beta1.InfraNetwork, error)
+ Update(*v1beta1.InfraNetwork) (*v1beta1.InfraNetwork, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.InfraNetwork, error)
+ List(opts v1.ListOptions) (*v1beta1.InfraNetworkList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.InfraNetwork, err error)
+ InfraNetworkExpansion
+}
+
+// infraNetworks implements InfraNetworkInterface
+type infraNetworks struct {
+ client rest.Interface
+}
+
+// newInfraNetworks returns a InfraNetworks
+func newInfraNetworks(c *ResourceV1beta1Client) *infraNetworks {
+ return &infraNetworks{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the infraNetwork, and returns the corresponding infraNetwork object, and an error if there is any.
+func (c *infraNetworks) Get(name string, options v1.GetOptions) (result *v1beta1.InfraNetwork, err error) {
+ result = &v1beta1.InfraNetwork{}
+ err = c.client.Get().
+ Resource("infranetworks").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of InfraNetworks that match those selectors.
+func (c *infraNetworks) List(opts v1.ListOptions) (result *v1beta1.InfraNetworkList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.InfraNetworkList{}
+ err = c.client.Get().
+ Resource("infranetworks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested infraNetworks.
+func (c *infraNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("infranetworks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a infraNetwork and creates it. Returns the server's representation of the infraNetwork, and an error, if there is any.
+func (c *infraNetworks) Create(infraNetwork *v1beta1.InfraNetwork) (result *v1beta1.InfraNetwork, err error) {
+ result = &v1beta1.InfraNetwork{}
+ err = c.client.Post().
+ Resource("infranetworks").
+ Body(infraNetwork).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a infraNetwork and updates it. Returns the server's representation of the infraNetwork, and an error, if there is any.
+func (c *infraNetworks) Update(infraNetwork *v1beta1.InfraNetwork) (result *v1beta1.InfraNetwork, err error) {
+ result = &v1beta1.InfraNetwork{}
+ err = c.client.Put().
+ Resource("infranetworks").
+ Name(infraNetwork.Name).
+ Body(infraNetwork).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the infraNetwork and deletes it. Returns an error if one occurs.
+func (c *infraNetworks) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("infranetworks").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *infraNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("infranetworks").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched infraNetwork.
+func (c *infraNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.InfraNetwork, err error) {
+ result = &v1beta1.InfraNetwork{}
+ err = c.client.Patch(pt).
+ Resource("infranetworks").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/machine.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/machine.go
new file mode 100644
index 000000000..f6eabbf42
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/machine.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MachinesGetter has a method to return a MachineInterface.
+// A group's client should implement this interface.
+type MachinesGetter interface {
+ Machines() MachineInterface
+}
+
+// MachineInterface has methods to work with Machine resources.
+type MachineInterface interface {
+ Create(*v1beta1.Machine) (*v1beta1.Machine, error)
+ Update(*v1beta1.Machine) (*v1beta1.Machine, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Machine, error)
+ List(opts v1.ListOptions) (*v1beta1.MachineList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Machine, err error)
+ MachineExpansion
+}
+
+// machines implements MachineInterface
+type machines struct {
+ client rest.Interface
+}
+
+// newMachines returns a Machines
+func newMachines(c *ResourceV1beta1Client) *machines {
+ return &machines{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the machine, and returns the corresponding machine object, and an error if there is any.
+func (c *machines) Get(name string, options v1.GetOptions) (result *v1beta1.Machine, err error) {
+ result = &v1beta1.Machine{}
+ err = c.client.Get().
+ Resource("machines").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Machines that match those selectors.
+func (c *machines) List(opts v1.ListOptions) (result *v1beta1.MachineList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.MachineList{}
+ err = c.client.Get().
+ Resource("machines").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested machines.
+func (c *machines) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("machines").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a machine and creates it. Returns the server's representation of the machine, and an error, if there is any.
+func (c *machines) Create(machine *v1beta1.Machine) (result *v1beta1.Machine, err error) {
+ result = &v1beta1.Machine{}
+ err = c.client.Post().
+ Resource("machines").
+ Body(machine).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a machine and updates it. Returns the server's representation of the machine, and an error, if there is any.
+func (c *machines) Update(machine *v1beta1.Machine) (result *v1beta1.Machine, err error) {
+ result = &v1beta1.Machine{}
+ err = c.client.Put().
+ Resource("machines").
+ Name(machine.Name).
+ Body(machine).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the machine and deletes it. Returns an error if one occurs.
+func (c *machines) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("machines").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *machines) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("machines").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched machine.
+func (c *machines) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Machine, err error) {
+ result = &v1beta1.Machine{}
+ err = c.client.Patch(pt).
+ Resource("machines").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/machineautoscalinggroup.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/machineautoscalinggroup.go
new file mode 100644
index 000000000..4dc66ea01
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/machineautoscalinggroup.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// MachineAutoScalingGroupsGetter has a method to return a MachineAutoScalingGroupInterface.
+// A group's client should implement this interface.
+type MachineAutoScalingGroupsGetter interface {
+ MachineAutoScalingGroups() MachineAutoScalingGroupInterface
+}
+
+// MachineAutoScalingGroupInterface has methods to work with MachineAutoScalingGroup resources.
+type MachineAutoScalingGroupInterface interface {
+ Create(*v1beta1.MachineAutoScalingGroup) (*v1beta1.MachineAutoScalingGroup, error)
+ Update(*v1beta1.MachineAutoScalingGroup) (*v1beta1.MachineAutoScalingGroup, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.MachineAutoScalingGroup, error)
+ List(opts v1.ListOptions) (*v1beta1.MachineAutoScalingGroupList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MachineAutoScalingGroup, err error)
+ MachineAutoScalingGroupExpansion
+}
+
+// machineAutoScalingGroups implements MachineAutoScalingGroupInterface
+type machineAutoScalingGroups struct {
+ client rest.Interface
+}
+
+// newMachineAutoScalingGroups returns a MachineAutoScalingGroups
+func newMachineAutoScalingGroups(c *ResourceV1beta1Client) *machineAutoScalingGroups {
+ return &machineAutoScalingGroups{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the machineAutoScalingGroup, and returns the corresponding machineAutoScalingGroup object, and an error if there is any.
+func (c *machineAutoScalingGroups) Get(name string, options v1.GetOptions) (result *v1beta1.MachineAutoScalingGroup, err error) {
+ result = &v1beta1.MachineAutoScalingGroup{}
+ err = c.client.Get().
+ Resource("machineautoscalinggroups").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of MachineAutoScalingGroups that match those selectors.
+func (c *machineAutoScalingGroups) List(opts v1.ListOptions) (result *v1beta1.MachineAutoScalingGroupList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.MachineAutoScalingGroupList{}
+ err = c.client.Get().
+ Resource("machineautoscalinggroups").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested machineAutoScalingGroups.
+func (c *machineAutoScalingGroups) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("machineautoscalinggroups").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a machineAutoScalingGroup and creates it. Returns the server's representation of the machineAutoScalingGroup, and an error, if there is any.
+func (c *machineAutoScalingGroups) Create(machineAutoScalingGroup *v1beta1.MachineAutoScalingGroup) (result *v1beta1.MachineAutoScalingGroup, err error) {
+ result = &v1beta1.MachineAutoScalingGroup{}
+ err = c.client.Post().
+ Resource("machineautoscalinggroups").
+ Body(machineAutoScalingGroup).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a machineAutoScalingGroup and updates it. Returns the server's representation of the machineAutoScalingGroup, and an error, if there is any.
+func (c *machineAutoScalingGroups) Update(machineAutoScalingGroup *v1beta1.MachineAutoScalingGroup) (result *v1beta1.MachineAutoScalingGroup, err error) {
+ result = &v1beta1.MachineAutoScalingGroup{}
+ err = c.client.Put().
+ Resource("machineautoscalinggroups").
+ Name(machineAutoScalingGroup.Name).
+ Body(machineAutoScalingGroup).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the machineAutoScalingGroup and deletes it. Returns an error if one occurs.
+func (c *machineAutoScalingGroups) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("machineautoscalinggroups").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *machineAutoScalingGroups) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("machineautoscalinggroups").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched machineAutoScalingGroup.
+func (c *machineAutoScalingGroups) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MachineAutoScalingGroup, err error) {
+ result = &v1beta1.MachineAutoScalingGroup{}
+ err = c.client.Patch(pt).
+ Resource("machineautoscalinggroups").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/network.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/network.go
new file mode 100644
index 000000000..beae0d78f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/network.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// NetworksGetter has a method to return a NetworkInterface.
+// A group's client should implement this interface.
+type NetworksGetter interface {
+ Networks() NetworkInterface
+}
+
+// NetworkInterface has methods to work with Network resources.
+type NetworkInterface interface {
+ Create(*v1beta1.Network) (*v1beta1.Network, error)
+ Update(*v1beta1.Network) (*v1beta1.Network, error)
+ UpdateStatus(*v1beta1.Network) (*v1beta1.Network, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Network, error)
+ List(opts v1.ListOptions) (*v1beta1.NetworkList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Network, err error)
+ NetworkExpansion
+}
+
+// networks implements NetworkInterface
+type networks struct {
+ client rest.Interface
+}
+
+// newNetworks returns a Networks
+func newNetworks(c *ResourceV1beta1Client) *networks {
+ return &networks{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the network, and returns the corresponding network object, and an error if there is any.
+func (c *networks) Get(name string, options v1.GetOptions) (result *v1beta1.Network, err error) {
+ result = &v1beta1.Network{}
+ err = c.client.Get().
+ Resource("networks").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Networks that match those selectors.
+func (c *networks) List(opts v1.ListOptions) (result *v1beta1.NetworkList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.NetworkList{}
+ err = c.client.Get().
+ Resource("networks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested networks.
+func (c *networks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("networks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a network and creates it. Returns the server's representation of the network, and an error, if there is any.
+func (c *networks) Create(network *v1beta1.Network) (result *v1beta1.Network, err error) {
+ result = &v1beta1.Network{}
+ err = c.client.Post().
+ Resource("networks").
+ Body(network).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a network and updates it. Returns the server's representation of the network, and an error, if there is any.
+func (c *networks) Update(network *v1beta1.Network) (result *v1beta1.Network, err error) {
+ result = &v1beta1.Network{}
+ err = c.client.Put().
+ Resource("networks").
+ Name(network.Name).
+ Body(network).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *networks) UpdateStatus(network *v1beta1.Network) (result *v1beta1.Network, err error) {
+ result = &v1beta1.Network{}
+ err = c.client.Put().
+ Resource("networks").
+ Name(network.Name).
+ SubResource("status").
+ Body(network).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the network and deletes it. Returns an error if one occurs.
+func (c *networks) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("networks").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *networks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("networks").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched network.
+func (c *networks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Network, err error) {
+ result = &v1beta1.Network{}
+ err = c.client.Patch(pt).
+ Resource("networks").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/nodeclaim.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/nodeclaim.go
new file mode 100644
index 000000000..708637604
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/nodeclaim.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// NodeClaimsGetter has a method to return a NodeClaimInterface.
+// A group's client should implement this interface.
+type NodeClaimsGetter interface {
+ NodeClaims() NodeClaimInterface
+}
+
+// NodeClaimInterface has methods to work with NodeClaim resources.
+type NodeClaimInterface interface {
+ Create(*v1beta1.NodeClaim) (*v1beta1.NodeClaim, error)
+ Update(*v1beta1.NodeClaim) (*v1beta1.NodeClaim, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.NodeClaim, error)
+ List(opts v1.ListOptions) (*v1beta1.NodeClaimList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeClaim, err error)
+ NodeClaimExpansion
+}
+
+// nodeClaims implements NodeClaimInterface
+type nodeClaims struct {
+ client rest.Interface
+}
+
+// newNodeClaims returns a NodeClaims
+func newNodeClaims(c *ResourceV1beta1Client) *nodeClaims {
+ return &nodeClaims{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the nodeClaim, and returns the corresponding nodeClaim object, and an error if there is any.
+func (c *nodeClaims) Get(name string, options v1.GetOptions) (result *v1beta1.NodeClaim, err error) {
+ result = &v1beta1.NodeClaim{}
+ err = c.client.Get().
+ Resource("nodeclaims").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of NodeClaims that match those selectors.
+func (c *nodeClaims) List(opts v1.ListOptions) (result *v1beta1.NodeClaimList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.NodeClaimList{}
+ err = c.client.Get().
+ Resource("nodeclaims").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested nodeClaims.
+func (c *nodeClaims) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("nodeclaims").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a nodeClaim and creates it. Returns the server's representation of the nodeClaim, and an error, if there is any.
+func (c *nodeClaims) Create(nodeClaim *v1beta1.NodeClaim) (result *v1beta1.NodeClaim, err error) {
+ result = &v1beta1.NodeClaim{}
+ err = c.client.Post().
+ Resource("nodeclaims").
+ Body(nodeClaim).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a nodeClaim and updates it. Returns the server's representation of the nodeClaim, and an error, if there is any.
+func (c *nodeClaims) Update(nodeClaim *v1beta1.NodeClaim) (result *v1beta1.NodeClaim, err error) {
+ result = &v1beta1.NodeClaim{}
+ err = c.client.Put().
+ Resource("nodeclaims").
+ Name(nodeClaim.Name).
+ Body(nodeClaim).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the nodeClaim and deletes it. Returns an error if one occurs.
+func (c *nodeClaims) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("nodeclaims").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *nodeClaims) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("nodeclaims").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched nodeClaim.
+func (c *nodeClaims) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeClaim, err error) {
+ result = &v1beta1.NodeClaim{}
+ err = c.client.Patch(pt).
+ Resource("nodeclaims").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/nodelocalstorage.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/nodelocalstorage.go
new file mode 100644
index 000000000..5098ee105
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/nodelocalstorage.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// NodeLocalStoragesGetter has a method to return a NodeLocalStorageInterface.
+// A group's client should implement this interface.
+type NodeLocalStoragesGetter interface {
+ NodeLocalStorages() NodeLocalStorageInterface
+}
+
+// NodeLocalStorageInterface has methods to work with NodeLocalStorage resources.
+type NodeLocalStorageInterface interface {
+ Create(*v1beta1.NodeLocalStorage) (*v1beta1.NodeLocalStorage, error)
+ Update(*v1beta1.NodeLocalStorage) (*v1beta1.NodeLocalStorage, error)
+ UpdateStatus(*v1beta1.NodeLocalStorage) (*v1beta1.NodeLocalStorage, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.NodeLocalStorage, error)
+ List(opts v1.ListOptions) (*v1beta1.NodeLocalStorageList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeLocalStorage, err error)
+ NodeLocalStorageExpansion
+}
+
+// nodeLocalStorages implements NodeLocalStorageInterface
+type nodeLocalStorages struct {
+ client rest.Interface
+}
+
+// newNodeLocalStorages returns a NodeLocalStorages
+func newNodeLocalStorages(c *ResourceV1beta1Client) *nodeLocalStorages {
+ return &nodeLocalStorages{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the nodeLocalStorage, and returns the corresponding nodeLocalStorage object, and an error if there is any.
+func (c *nodeLocalStorages) Get(name string, options v1.GetOptions) (result *v1beta1.NodeLocalStorage, err error) {
+ result = &v1beta1.NodeLocalStorage{}
+ err = c.client.Get().
+ Resource("nodelocalstorages").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of NodeLocalStorages that match those selectors.
+func (c *nodeLocalStorages) List(opts v1.ListOptions) (result *v1beta1.NodeLocalStorageList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.NodeLocalStorageList{}
+ err = c.client.Get().
+ Resource("nodelocalstorages").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested nodeLocalStorages.
+func (c *nodeLocalStorages) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("nodelocalstorages").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a nodeLocalStorage and creates it. Returns the server's representation of the nodeLocalStorage, and an error, if there is any.
+func (c *nodeLocalStorages) Create(nodeLocalStorage *v1beta1.NodeLocalStorage) (result *v1beta1.NodeLocalStorage, err error) {
+ result = &v1beta1.NodeLocalStorage{}
+ err = c.client.Post().
+ Resource("nodelocalstorages").
+ Body(nodeLocalStorage).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a nodeLocalStorage and updates it. Returns the server's representation of the nodeLocalStorage, and an error, if there is any.
+func (c *nodeLocalStorages) Update(nodeLocalStorage *v1beta1.NodeLocalStorage) (result *v1beta1.NodeLocalStorage, err error) {
+ result = &v1beta1.NodeLocalStorage{}
+ err = c.client.Put().
+ Resource("nodelocalstorages").
+ Name(nodeLocalStorage.Name).
+ Body(nodeLocalStorage).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *nodeLocalStorages) UpdateStatus(nodeLocalStorage *v1beta1.NodeLocalStorage) (result *v1beta1.NodeLocalStorage, err error) {
+ result = &v1beta1.NodeLocalStorage{}
+ err = c.client.Put().
+ Resource("nodelocalstorages").
+ Name(nodeLocalStorage.Name).
+ SubResource("status").
+ Body(nodeLocalStorage).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the nodeLocalStorage and deletes it. Returns an error if one occurs.
+func (c *nodeLocalStorages) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("nodelocalstorages").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *nodeLocalStorages) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("nodelocalstorages").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched nodeLocalStorage.
+func (c *nodeLocalStorages) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeLocalStorage, err error) {
+ result = &v1beta1.NodeLocalStorage{}
+ err = c.client.Patch(pt).
+ Resource("nodelocalstorages").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/requirementgap.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/requirementgap.go
new file mode 100644
index 000000000..240e4cef4
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/requirementgap.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// RequirementGapsGetter has a method to return a RequirementGapInterface.
+// A group's client should implement this interface.
+type RequirementGapsGetter interface {
+ RequirementGaps() RequirementGapInterface
+}
+
+// RequirementGapInterface has methods to work with RequirementGap resources.
+type RequirementGapInterface interface {
+ Create(*v1beta1.RequirementGap) (*v1beta1.RequirementGap, error)
+ Update(*v1beta1.RequirementGap) (*v1beta1.RequirementGap, error)
+ UpdateStatus(*v1beta1.RequirementGap) (*v1beta1.RequirementGap, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.RequirementGap, error)
+ List(opts v1.ListOptions) (*v1beta1.RequirementGapList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.RequirementGap, err error)
+ RequirementGapExpansion
+}
+
+// requirementGaps implements RequirementGapInterface
+type requirementGaps struct {
+ client rest.Interface
+}
+
+// newRequirementGaps returns a RequirementGaps
+func newRequirementGaps(c *ResourceV1beta1Client) *requirementGaps {
+ return &requirementGaps{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the requirementGap, and returns the corresponding requirementGap object, and an error if there is any.
+func (c *requirementGaps) Get(name string, options v1.GetOptions) (result *v1beta1.RequirementGap, err error) {
+ result = &v1beta1.RequirementGap{}
+ err = c.client.Get().
+ Resource("requirementgaps").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of RequirementGaps that match those selectors.
+func (c *requirementGaps) List(opts v1.ListOptions) (result *v1beta1.RequirementGapList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.RequirementGapList{}
+ err = c.client.Get().
+ Resource("requirementgaps").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested requirementGaps.
+func (c *requirementGaps) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("requirementgaps").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a requirementGap and creates it. Returns the server's representation of the requirementGap, and an error, if there is any.
+func (c *requirementGaps) Create(requirementGap *v1beta1.RequirementGap) (result *v1beta1.RequirementGap, err error) {
+ result = &v1beta1.RequirementGap{}
+ err = c.client.Post().
+ Resource("requirementgaps").
+ Body(requirementGap).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a requirementGap and updates it. Returns the server's representation of the requirementGap, and an error, if there is any.
+func (c *requirementGaps) Update(requirementGap *v1beta1.RequirementGap) (result *v1beta1.RequirementGap, err error) {
+ result = &v1beta1.RequirementGap{}
+ err = c.client.Put().
+ Resource("requirementgaps").
+ Name(requirementGap.Name).
+ Body(requirementGap).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *requirementGaps) UpdateStatus(requirementGap *v1beta1.RequirementGap) (result *v1beta1.RequirementGap, err error) {
+ result = &v1beta1.RequirementGap{}
+ err = c.client.Put().
+ Resource("requirementgaps").
+ Name(requirementGap.Name).
+ SubResource("status").
+ Body(requirementGap).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the requirementGap and deletes it. Returns an error if one occurs.
+func (c *requirementGaps) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("requirementgaps").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *requirementGaps) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("requirementgaps").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched requirementGap.
+func (c *requirementGaps) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.RequirementGap, err error) {
+ result = &v1beta1.RequirementGap{}
+ err = c.client.Patch(pt).
+ Resource("requirementgaps").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/resource_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/resource_client.go
new file mode 100644
index 000000000..bc7526155
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/resource_client.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ rest "k8s.io/client-go/rest"
+)
+
+type ResourceV1beta1Interface interface {
+ RESTClient() rest.Interface
+ ClustersGetter
+ ConfigsGetter
+ ExtendedResourcesGetter
+ InfraNetworksGetter
+ MachinesGetter
+ MachineAutoScalingGroupsGetter
+ NetworksGetter
+ NodeClaimsGetter
+ NodeLocalStoragesGetter
+ RequirementGapsGetter
+ ResourceClassesGetter
+ SnapshotsGetter
+ StorageServicesGetter
+ StorageTypesGetter
+ TagsGetter
+ WorkloadNetworksGetter
+}
+
+// ResourceV1beta1Client is used to interact with features provided by the resource.caicloud.io group.
+type ResourceV1beta1Client struct {
+ restClient rest.Interface
+}
+
+func (c *ResourceV1beta1Client) Clusters() ClusterInterface {
+ return newClusters(c)
+}
+
+func (c *ResourceV1beta1Client) Configs() ConfigInterface {
+ return newConfigs(c)
+}
+
+func (c *ResourceV1beta1Client) ExtendedResources() ExtendedResourceInterface {
+ return newExtendedResources(c)
+}
+
+func (c *ResourceV1beta1Client) InfraNetworks() InfraNetworkInterface {
+ return newInfraNetworks(c)
+}
+
+func (c *ResourceV1beta1Client) Machines() MachineInterface {
+ return newMachines(c)
+}
+
+func (c *ResourceV1beta1Client) MachineAutoScalingGroups() MachineAutoScalingGroupInterface {
+ return newMachineAutoScalingGroups(c)
+}
+
+func (c *ResourceV1beta1Client) Networks() NetworkInterface {
+ return newNetworks(c)
+}
+
+func (c *ResourceV1beta1Client) NodeClaims() NodeClaimInterface {
+ return newNodeClaims(c)
+}
+
+func (c *ResourceV1beta1Client) NodeLocalStorages() NodeLocalStorageInterface {
+ return newNodeLocalStorages(c)
+}
+
+func (c *ResourceV1beta1Client) RequirementGaps() RequirementGapInterface {
+ return newRequirementGaps(c)
+}
+
+func (c *ResourceV1beta1Client) ResourceClasses() ResourceClassInterface {
+ return newResourceClasses(c)
+}
+
+func (c *ResourceV1beta1Client) Snapshots(namespace string) SnapshotInterface {
+ return newSnapshots(c, namespace)
+}
+
+func (c *ResourceV1beta1Client) StorageServices() StorageServiceInterface {
+ return newStorageServices(c)
+}
+
+func (c *ResourceV1beta1Client) StorageTypes() StorageTypeInterface {
+ return newStorageTypes(c)
+}
+
+func (c *ResourceV1beta1Client) Tags() TagInterface {
+ return newTags(c)
+}
+
+func (c *ResourceV1beta1Client) WorkloadNetworks(namespace string) WorkloadNetworkInterface {
+ return newWorkloadNetworks(c, namespace)
+}
+
+// NewForConfig creates a new ResourceV1beta1Client for the given config.
+func NewForConfig(c *rest.Config) (*ResourceV1beta1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &ResourceV1beta1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new ResourceV1beta1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *ResourceV1beta1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new ResourceV1beta1Client for the given RESTClient.
+func New(c rest.Interface) *ResourceV1beta1Client {
+ return &ResourceV1beta1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1beta1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *ResourceV1beta1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/resourceclass.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/resourceclass.go
new file mode 100644
index 000000000..4c29b9551
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/resourceclass.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ResourceClassesGetter has a method to return a ResourceClassInterface.
+// A group's client should implement this interface.
+type ResourceClassesGetter interface {
+ ResourceClasses() ResourceClassInterface
+}
+
+// ResourceClassInterface has methods to work with ResourceClass resources.
+type ResourceClassInterface interface {
+ Create(*v1beta1.ResourceClass) (*v1beta1.ResourceClass, error)
+ Update(*v1beta1.ResourceClass) (*v1beta1.ResourceClass, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.ResourceClass, error)
+ List(opts v1.ListOptions) (*v1beta1.ResourceClassList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ResourceClass, err error)
+ ResourceClassExpansion
+}
+
+// resourceClasses implements ResourceClassInterface
+type resourceClasses struct {
+ client rest.Interface
+}
+
+// newResourceClasses returns a ResourceClasses
+func newResourceClasses(c *ResourceV1beta1Client) *resourceClasses {
+ return &resourceClasses{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the resourceClass, and returns the corresponding resourceClass object, and an error if there is any.
+func (c *resourceClasses) Get(name string, options v1.GetOptions) (result *v1beta1.ResourceClass, err error) {
+ result = &v1beta1.ResourceClass{}
+ err = c.client.Get().
+ Resource("resourceclasses").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ResourceClasses that match those selectors.
+func (c *resourceClasses) List(opts v1.ListOptions) (result *v1beta1.ResourceClassList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.ResourceClassList{}
+ err = c.client.Get().
+ Resource("resourceclasses").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested resourceClasses.
+func (c *resourceClasses) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("resourceclasses").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a resourceClass and creates it. Returns the server's representation of the resourceClass, and an error, if there is any.
+func (c *resourceClasses) Create(resourceClass *v1beta1.ResourceClass) (result *v1beta1.ResourceClass, err error) {
+ result = &v1beta1.ResourceClass{}
+ err = c.client.Post().
+ Resource("resourceclasses").
+ Body(resourceClass).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a resourceClass and updates it. Returns the server's representation of the resourceClass, and an error, if there is any.
+func (c *resourceClasses) Update(resourceClass *v1beta1.ResourceClass) (result *v1beta1.ResourceClass, err error) {
+ result = &v1beta1.ResourceClass{}
+ err = c.client.Put().
+ Resource("resourceclasses").
+ Name(resourceClass.Name).
+ Body(resourceClass).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the resourceClass and deletes it. Returns an error if one occurs.
+func (c *resourceClasses) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("resourceclasses").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *resourceClasses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("resourceclasses").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched resourceClass.
+func (c *resourceClasses) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ResourceClass, err error) {
+ result = &v1beta1.ResourceClass{}
+ err = c.client.Patch(pt).
+ Resource("resourceclasses").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/snapshot.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/snapshot.go
new file mode 100644
index 000000000..a455f8029
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/snapshot.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// SnapshotsGetter has a method to return a SnapshotInterface.
+// A group's client should implement this interface.
+type SnapshotsGetter interface {
+ Snapshots(namespace string) SnapshotInterface
+}
+
+// SnapshotInterface has methods to work with Snapshot resources.
+type SnapshotInterface interface {
+ Create(*v1beta1.Snapshot) (*v1beta1.Snapshot, error)
+ Update(*v1beta1.Snapshot) (*v1beta1.Snapshot, error)
+ UpdateStatus(*v1beta1.Snapshot) (*v1beta1.Snapshot, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Snapshot, error)
+ List(opts v1.ListOptions) (*v1beta1.SnapshotList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Snapshot, err error)
+ SnapshotExpansion
+}
+
+// snapshots implements SnapshotInterface
+type snapshots struct {
+ client rest.Interface
+ ns string
+}
+
+// newSnapshots returns a Snapshots
+func newSnapshots(c *ResourceV1beta1Client, namespace string) *snapshots {
+ return &snapshots{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the snapshot, and returns the corresponding snapshot object, and an error if there is any.
+func (c *snapshots) Get(name string, options v1.GetOptions) (result *v1beta1.Snapshot, err error) {
+ result = &v1beta1.Snapshot{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("snapshots").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Snapshots that match those selectors.
+func (c *snapshots) List(opts v1.ListOptions) (result *v1beta1.SnapshotList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.SnapshotList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("snapshots").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested snapshots.
+func (c *snapshots) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("snapshots").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a snapshot and creates it. Returns the server's representation of the snapshot, and an error, if there is any.
+func (c *snapshots) Create(snapshot *v1beta1.Snapshot) (result *v1beta1.Snapshot, err error) {
+ result = &v1beta1.Snapshot{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("snapshots").
+ Body(snapshot).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a snapshot and updates it. Returns the server's representation of the snapshot, and an error, if there is any.
+func (c *snapshots) Update(snapshot *v1beta1.Snapshot) (result *v1beta1.Snapshot, err error) {
+ result = &v1beta1.Snapshot{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("snapshots").
+ Name(snapshot.Name).
+ Body(snapshot).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *snapshots) UpdateStatus(snapshot *v1beta1.Snapshot) (result *v1beta1.Snapshot, err error) {
+ result = &v1beta1.Snapshot{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("snapshots").
+ Name(snapshot.Name).
+ SubResource("status").
+ Body(snapshot).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the snapshot and deletes it. Returns an error if one occurs.
+func (c *snapshots) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("snapshots").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *snapshots) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("snapshots").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched snapshot.
+func (c *snapshots) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Snapshot, err error) {
+ result = &v1beta1.Snapshot{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("snapshots").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/storageservice.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/storageservice.go
new file mode 100644
index 000000000..c3693f932
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/storageservice.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// StorageServicesGetter has a method to return a StorageServiceInterface.
+// A group's client should implement this interface.
+type StorageServicesGetter interface {
+ StorageServices() StorageServiceInterface
+}
+
+// StorageServiceInterface has methods to work with StorageService resources.
+type StorageServiceInterface interface {
+ Create(*v1beta1.StorageService) (*v1beta1.StorageService, error)
+ Update(*v1beta1.StorageService) (*v1beta1.StorageService, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.StorageService, error)
+ List(opts v1.ListOptions) (*v1beta1.StorageServiceList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageService, err error)
+ StorageServiceExpansion
+}
+
+// storageServices implements StorageServiceInterface
+type storageServices struct {
+ client rest.Interface
+}
+
+// newStorageServices returns a StorageServices
+func newStorageServices(c *ResourceV1beta1Client) *storageServices {
+ return &storageServices{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the storageService, and returns the corresponding storageService object, and an error if there is any.
+func (c *storageServices) Get(name string, options v1.GetOptions) (result *v1beta1.StorageService, err error) {
+ result = &v1beta1.StorageService{}
+ err = c.client.Get().
+ Resource("storageservices").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of StorageServices that match those selectors.
+func (c *storageServices) List(opts v1.ListOptions) (result *v1beta1.StorageServiceList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.StorageServiceList{}
+ err = c.client.Get().
+ Resource("storageservices").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested storageServices.
+func (c *storageServices) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("storageservices").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a storageService and creates it. Returns the server's representation of the storageService, and an error, if there is any.
+func (c *storageServices) Create(storageService *v1beta1.StorageService) (result *v1beta1.StorageService, err error) {
+ result = &v1beta1.StorageService{}
+ err = c.client.Post().
+ Resource("storageservices").
+ Body(storageService).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a storageService and updates it. Returns the server's representation of the storageService, and an error, if there is any.
+func (c *storageServices) Update(storageService *v1beta1.StorageService) (result *v1beta1.StorageService, err error) {
+ result = &v1beta1.StorageService{}
+ err = c.client.Put().
+ Resource("storageservices").
+ Name(storageService.Name).
+ Body(storageService).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the storageService and deletes it. Returns an error if one occurs.
+func (c *storageServices) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("storageservices").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *storageServices) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("storageservices").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched storageService.
+func (c *storageServices) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageService, err error) {
+ result = &v1beta1.StorageService{}
+ err = c.client.Patch(pt).
+ Resource("storageservices").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/storagetype.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/storagetype.go
new file mode 100644
index 000000000..859cec33d
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/storagetype.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// StorageTypesGetter has a method to return a StorageTypeInterface.
+// A group's client should implement this interface.
+type StorageTypesGetter interface {
+ StorageTypes() StorageTypeInterface
+}
+
+// StorageTypeInterface has methods to work with StorageType resources.
+type StorageTypeInterface interface {
+ Create(*v1beta1.StorageType) (*v1beta1.StorageType, error)
+ Update(*v1beta1.StorageType) (*v1beta1.StorageType, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.StorageType, error)
+ List(opts v1.ListOptions) (*v1beta1.StorageTypeList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageType, err error)
+ StorageTypeExpansion
+}
+
+// storageTypes implements StorageTypeInterface
+type storageTypes struct {
+ client rest.Interface
+}
+
+// newStorageTypes returns a StorageTypes
+func newStorageTypes(c *ResourceV1beta1Client) *storageTypes {
+ return &storageTypes{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the storageType, and returns the corresponding storageType object, and an error if there is any.
+func (c *storageTypes) Get(name string, options v1.GetOptions) (result *v1beta1.StorageType, err error) {
+ result = &v1beta1.StorageType{}
+ err = c.client.Get().
+ Resource("storagetypes").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of StorageTypes that match those selectors.
+func (c *storageTypes) List(opts v1.ListOptions) (result *v1beta1.StorageTypeList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.StorageTypeList{}
+ err = c.client.Get().
+ Resource("storagetypes").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested storageTypes.
+func (c *storageTypes) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("storagetypes").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a storageType and creates it. Returns the server's representation of the storageType, and an error, if there is any.
+func (c *storageTypes) Create(storageType *v1beta1.StorageType) (result *v1beta1.StorageType, err error) {
+ result = &v1beta1.StorageType{}
+ err = c.client.Post().
+ Resource("storagetypes").
+ Body(storageType).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a storageType and updates it. Returns the server's representation of the storageType, and an error, if there is any.
+func (c *storageTypes) Update(storageType *v1beta1.StorageType) (result *v1beta1.StorageType, err error) {
+ result = &v1beta1.StorageType{}
+ err = c.client.Put().
+ Resource("storagetypes").
+ Name(storageType.Name).
+ Body(storageType).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the storageType and deletes it. Returns an error if one occurs.
+func (c *storageTypes) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("storagetypes").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *storageTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("storagetypes").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched storageType.
+func (c *storageTypes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageType, err error) {
+ result = &v1beta1.StorageType{}
+ err = c.client.Patch(pt).
+ Resource("storagetypes").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/tag.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/tag.go
new file mode 100644
index 000000000..c193163ff
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/tag.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// TagsGetter has a method to return a TagInterface.
+// A group's client should implement this interface.
+type TagsGetter interface {
+ Tags() TagInterface
+}
+
+// TagInterface has methods to work with Tag resources.
+type TagInterface interface {
+ Create(*v1beta1.Tag) (*v1beta1.Tag, error)
+ Update(*v1beta1.Tag) (*v1beta1.Tag, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Tag, error)
+ List(opts v1.ListOptions) (*v1beta1.TagList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Tag, err error)
+ TagExpansion
+}
+
+// tags implements TagInterface
+type tags struct {
+ client rest.Interface
+}
+
+// newTags returns a Tags
+func newTags(c *ResourceV1beta1Client) *tags {
+ return &tags{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the tag, and returns the corresponding tag object, and an error if there is any.
+func (c *tags) Get(name string, options v1.GetOptions) (result *v1beta1.Tag, err error) {
+ result = &v1beta1.Tag{}
+ err = c.client.Get().
+ Resource("tags").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Tags that match those selectors.
+func (c *tags) List(opts v1.ListOptions) (result *v1beta1.TagList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.TagList{}
+ err = c.client.Get().
+ Resource("tags").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested tags.
+func (c *tags) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("tags").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a tag and creates it. Returns the server's representation of the tag, and an error, if there is any.
+func (c *tags) Create(tag *v1beta1.Tag) (result *v1beta1.Tag, err error) {
+ result = &v1beta1.Tag{}
+ err = c.client.Post().
+ Resource("tags").
+ Body(tag).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a tag and updates it. Returns the server's representation of the tag, and an error, if there is any.
+func (c *tags) Update(tag *v1beta1.Tag) (result *v1beta1.Tag, err error) {
+ result = &v1beta1.Tag{}
+ err = c.client.Put().
+ Resource("tags").
+ Name(tag.Name).
+ Body(tag).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the tag and deletes it. Returns an error if one occurs.
+func (c *tags) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("tags").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *tags) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("tags").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched tag.
+func (c *tags) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Tag, err error) {
+ result = &v1beta1.Tag{}
+ err = c.client.Patch(pt).
+ Resource("tags").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/workloadnetwork.go b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/workloadnetwork.go
new file mode 100644
index 000000000..ebfe5b1ef
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/resource/v1beta1/workloadnetwork.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// WorkloadNetworksGetter has a method to return a WorkloadNetworkInterface.
+// A group's client should implement this interface.
+type WorkloadNetworksGetter interface {
+ WorkloadNetworks(namespace string) WorkloadNetworkInterface
+}
+
+// WorkloadNetworkInterface has methods to work with WorkloadNetwork resources.
+type WorkloadNetworkInterface interface {
+ Create(*v1beta1.WorkloadNetwork) (*v1beta1.WorkloadNetwork, error)
+ Update(*v1beta1.WorkloadNetwork) (*v1beta1.WorkloadNetwork, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.WorkloadNetwork, error)
+ List(opts v1.ListOptions) (*v1beta1.WorkloadNetworkList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.WorkloadNetwork, err error)
+ WorkloadNetworkExpansion
+}
+
+// workloadNetworks implements WorkloadNetworkInterface
+type workloadNetworks struct {
+ client rest.Interface
+ ns string
+}
+
+// newWorkloadNetworks returns a WorkloadNetworks
+func newWorkloadNetworks(c *ResourceV1beta1Client, namespace string) *workloadNetworks {
+ return &workloadNetworks{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the workloadNetwork, and returns the corresponding workloadNetwork object, and an error if there is any.
+func (c *workloadNetworks) Get(name string, options v1.GetOptions) (result *v1beta1.WorkloadNetwork, err error) {
+ result = &v1beta1.WorkloadNetwork{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of WorkloadNetworks that match those selectors.
+func (c *workloadNetworks) List(opts v1.ListOptions) (result *v1beta1.WorkloadNetworkList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.WorkloadNetworkList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested workloadNetworks.
+func (c *workloadNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a workloadNetwork and creates it. Returns the server's representation of the workloadNetwork, and an error, if there is any.
+func (c *workloadNetworks) Create(workloadNetwork *v1beta1.WorkloadNetwork) (result *v1beta1.WorkloadNetwork, err error) {
+ result = &v1beta1.WorkloadNetwork{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ Body(workloadNetwork).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a workloadNetwork and updates it. Returns the server's representation of the workloadNetwork, and an error, if there is any.
+func (c *workloadNetworks) Update(workloadNetwork *v1beta1.WorkloadNetwork) (result *v1beta1.WorkloadNetwork, err error) {
+ result = &v1beta1.WorkloadNetwork{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ Name(workloadNetwork.Name).
+ Body(workloadNetwork).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the workloadNetwork and deletes it. Returns an error if one occurs.
+func (c *workloadNetworks) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *workloadNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched workloadNetwork.
+func (c *workloadNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.WorkloadNetwork, err error) {
+ result = &v1beta1.WorkloadNetwork{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("workloadnetworks").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/istio.go b/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/istio.go
new file mode 100644
index 000000000..8b88032dd
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/istio.go
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// IstiosGetter has a method to return a IstioInterface.
+// A group's client should implement this interface.
+type IstiosGetter interface {
+ Istios() IstioInterface
+}
+
+// IstioInterface has methods to work with Istio resources.
+type IstioInterface interface {
+ Create(*v1alpha1.Istio) (*v1alpha1.Istio, error)
+ Update(*v1alpha1.Istio) (*v1alpha1.Istio, error)
+ UpdateStatus(*v1alpha1.Istio) (*v1alpha1.Istio, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Istio, error)
+ List(opts v1.ListOptions) (*v1alpha1.IstioList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Istio, err error)
+ IstioExpansion
+}
+
+// istios implements IstioInterface
+type istios struct {
+ client rest.Interface
+}
+
+// newIstios returns a Istios
+func newIstios(c *ServicemeshV1alpha1Client) *istios {
+ return &istios{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the istio, and returns the corresponding istio object, and an error if there is any.
+func (c *istios) Get(name string, options v1.GetOptions) (result *v1alpha1.Istio, err error) {
+ result = &v1alpha1.Istio{}
+ err = c.client.Get().
+ Resource("istios").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Istios that match those selectors.
+func (c *istios) List(opts v1.ListOptions) (result *v1alpha1.IstioList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.IstioList{}
+ err = c.client.Get().
+ Resource("istios").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested istios.
+func (c *istios) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("istios").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a istio and creates it. Returns the server's representation of the istio, and an error, if there is any.
+func (c *istios) Create(istio *v1alpha1.Istio) (result *v1alpha1.Istio, err error) {
+ result = &v1alpha1.Istio{}
+ err = c.client.Post().
+ Resource("istios").
+ Body(istio).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a istio and updates it. Returns the server's representation of the istio, and an error, if there is any.
+func (c *istios) Update(istio *v1alpha1.Istio) (result *v1alpha1.Istio, err error) {
+ result = &v1alpha1.Istio{}
+ err = c.client.Put().
+ Resource("istios").
+ Name(istio.Name).
+ Body(istio).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *istios) UpdateStatus(istio *v1alpha1.Istio) (result *v1alpha1.Istio, err error) {
+ result = &v1alpha1.Istio{}
+ err = c.client.Put().
+ Resource("istios").
+ Name(istio.Name).
+ SubResource("status").
+ Body(istio).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the istio and deletes it. Returns an error if one occurs.
+func (c *istios) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("istios").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *istios) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("istios").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched istio.
+func (c *istios) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Istio, err error) {
+ result = &v1alpha1.Istio{}
+ err = c.client.Patch(pt).
+ Resource("istios").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/servicemesh_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/servicemesh_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/servicemesh_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/servicemesh_client.go
index d0af23767..daf8e801e 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/servicemesh_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/servicemesh/v1alpha1/servicemesh_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -59,7 +58,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/scene.go b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/scene.go
new file mode 100644
index 000000000..59ee1a396
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/scene.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ScenesGetter has a method to return a SceneInterface.
+// A group's client should implement this interface.
+type ScenesGetter interface {
+ Scenes(namespace string) SceneInterface
+}
+
+// SceneInterface has methods to work with Scene resources.
+type SceneInterface interface {
+ Create(*v1alpha1.Scene) (*v1alpha1.Scene, error)
+ Update(*v1alpha1.Scene) (*v1alpha1.Scene, error)
+ UpdateStatus(*v1alpha1.Scene) (*v1alpha1.Scene, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Scene, error)
+ List(opts v1.ListOptions) (*v1alpha1.SceneList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Scene, err error)
+ SceneExpansion
+}
+
+// scenes implements SceneInterface
+type scenes struct {
+ client rest.Interface
+ ns string
+}
+
+// newScenes returns a Scenes
+func newScenes(c *ServingV1alpha1Client, namespace string) *scenes {
+ return &scenes{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the scene, and returns the corresponding scene object, and an error if there is any.
+func (c *scenes) Get(name string, options v1.GetOptions) (result *v1alpha1.Scene, err error) {
+ result = &v1alpha1.Scene{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("scenes").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Scenes that match those selectors.
+func (c *scenes) List(opts v1.ListOptions) (result *v1alpha1.SceneList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.SceneList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("scenes").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested scenes.
+func (c *scenes) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("scenes").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a scene and creates it. Returns the server's representation of the scene, and an error, if there is any.
+func (c *scenes) Create(scene *v1alpha1.Scene) (result *v1alpha1.Scene, err error) {
+ result = &v1alpha1.Scene{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("scenes").
+ Body(scene).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a scene and updates it. Returns the server's representation of the scene, and an error, if there is any.
+func (c *scenes) Update(scene *v1alpha1.Scene) (result *v1alpha1.Scene, err error) {
+ result = &v1alpha1.Scene{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("scenes").
+ Name(scene.Name).
+ Body(scene).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *scenes) UpdateStatus(scene *v1alpha1.Scene) (result *v1alpha1.Scene, err error) {
+ result = &v1alpha1.Scene{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("scenes").
+ Name(scene.Name).
+ SubResource("status").
+ Body(scene).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the scene and deletes it. Returns an error if one occurs.
+func (c *scenes) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("scenes").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *scenes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("scenes").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched scene.
+func (c *scenes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Scene, err error) {
+ result = &v1alpha1.Scene{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("scenes").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/serving.go b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/serving.go
new file mode 100644
index 000000000..f1e97e524
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/serving.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ServingsGetter has a method to return a ServingInterface.
+// A group's client should implement this interface.
+type ServingsGetter interface {
+ Servings(namespace string) ServingInterface
+}
+
+// ServingInterface has methods to work with Serving resources.
+type ServingInterface interface {
+ Create(*v1alpha1.Serving) (*v1alpha1.Serving, error)
+ Update(*v1alpha1.Serving) (*v1alpha1.Serving, error)
+ UpdateStatus(*v1alpha1.Serving) (*v1alpha1.Serving, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Serving, error)
+ List(opts v1.ListOptions) (*v1alpha1.ServingList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Serving, err error)
+ ServingExpansion
+}
+
+// servings implements ServingInterface
+type servings struct {
+ client rest.Interface
+ ns string
+}
+
+// newServings returns a Servings
+func newServings(c *ServingV1alpha1Client, namespace string) *servings {
+ return &servings{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the serving, and returns the corresponding serving object, and an error if there is any.
+func (c *servings) Get(name string, options v1.GetOptions) (result *v1alpha1.Serving, err error) {
+ result = &v1alpha1.Serving{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("servings").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Servings that match those selectors.
+func (c *servings) List(opts v1.ListOptions) (result *v1alpha1.ServingList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ServingList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("servings").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested servings.
+func (c *servings) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("servings").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a serving and creates it. Returns the server's representation of the serving, and an error, if there is any.
+func (c *servings) Create(serving *v1alpha1.Serving) (result *v1alpha1.Serving, err error) {
+ result = &v1alpha1.Serving{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("servings").
+ Body(serving).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a serving and updates it. Returns the server's representation of the serving, and an error, if there is any.
+func (c *servings) Update(serving *v1alpha1.Serving) (result *v1alpha1.Serving, err error) {
+ result = &v1alpha1.Serving{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("servings").
+ Name(serving.Name).
+ Body(serving).
+ Do().
+ Into(result)
+ return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *servings) UpdateStatus(serving *v1alpha1.Serving) (result *v1alpha1.Serving, err error) {
+ result = &v1alpha1.Serving{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("servings").
+ Name(serving.Name).
+ SubResource("status").
+ Body(serving).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the serving and deletes it. Returns an error if one occurs.
+func (c *servings) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("servings").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *servings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("servings").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched serving.
+func (c *servings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Serving, err error) {
+ result = &v1alpha1.Serving{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("servings").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/serving_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/serving_client.go
similarity index 90%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/serving_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/serving_client.go
index 0652ca762..c153e666b 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/serving_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/serving/v1alpha1/serving_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -64,7 +63,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/clusterquota.go b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/clusterquota.go
new file mode 100644
index 000000000..746f8d397
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/clusterquota.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// ClusterQuotasGetter has a method to return a ClusterQuotaInterface.
+// A group's client should implement this interface.
+type ClusterQuotasGetter interface {
+ ClusterQuotas() ClusterQuotaInterface
+}
+
+// ClusterQuotaInterface has methods to work with ClusterQuota resources.
+type ClusterQuotaInterface interface {
+ Create(*v1alpha1.ClusterQuota) (*v1alpha1.ClusterQuota, error)
+ Update(*v1alpha1.ClusterQuota) (*v1alpha1.ClusterQuota, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.ClusterQuota, error)
+ List(opts v1.ListOptions) (*v1alpha1.ClusterQuotaList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterQuota, err error)
+ ClusterQuotaExpansion
+}
+
+// clusterQuotas implements ClusterQuotaInterface
+type clusterQuotas struct {
+ client rest.Interface
+}
+
+// newClusterQuotas returns a ClusterQuotas
+func newClusterQuotas(c *TenantV1alpha1Client) *clusterQuotas {
+ return &clusterQuotas{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the clusterQuota, and returns the corresponding clusterQuota object, and an error if there is any.
+func (c *clusterQuotas) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterQuota, err error) {
+ result = &v1alpha1.ClusterQuota{}
+ err = c.client.Get().
+ Resource("clusterquotas").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of ClusterQuotas that match those selectors.
+func (c *clusterQuotas) List(opts v1.ListOptions) (result *v1alpha1.ClusterQuotaList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.ClusterQuotaList{}
+ err = c.client.Get().
+ Resource("clusterquotas").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested clusterQuotas.
+func (c *clusterQuotas) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("clusterquotas").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a clusterQuota and creates it. Returns the server's representation of the clusterQuota, and an error, if there is any.
+func (c *clusterQuotas) Create(clusterQuota *v1alpha1.ClusterQuota) (result *v1alpha1.ClusterQuota, err error) {
+ result = &v1alpha1.ClusterQuota{}
+ err = c.client.Post().
+ Resource("clusterquotas").
+ Body(clusterQuota).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a clusterQuota and updates it. Returns the server's representation of the clusterQuota, and an error, if there is any.
+func (c *clusterQuotas) Update(clusterQuota *v1alpha1.ClusterQuota) (result *v1alpha1.ClusterQuota, err error) {
+ result = &v1alpha1.ClusterQuota{}
+ err = c.client.Put().
+ Resource("clusterquotas").
+ Name(clusterQuota.Name).
+ Body(clusterQuota).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the clusterQuota and deletes it. Returns an error if one occurs.
+func (c *clusterQuotas) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("clusterquotas").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *clusterQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("clusterquotas").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched clusterQuota.
+func (c *clusterQuotas) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterQuota, err error) {
+ result = &v1alpha1.ClusterQuota{}
+ err = c.client.Patch(pt).
+ Resource("clusterquotas").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/partition.go b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/partition.go
new file mode 100644
index 000000000..d5a7f5565
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/partition.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// PartitionsGetter has a method to return a PartitionInterface.
+// A group's client should implement this interface.
+type PartitionsGetter interface {
+ Partitions() PartitionInterface
+}
+
+// PartitionInterface has methods to work with Partition resources.
+type PartitionInterface interface {
+ Create(*v1alpha1.Partition) (*v1alpha1.Partition, error)
+ Update(*v1alpha1.Partition) (*v1alpha1.Partition, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Partition, error)
+ List(opts v1.ListOptions) (*v1alpha1.PartitionList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Partition, err error)
+ PartitionExpansion
+}
+
+// partitions implements PartitionInterface
+type partitions struct {
+ client rest.Interface
+}
+
+// newPartitions returns a Partitions
+func newPartitions(c *TenantV1alpha1Client) *partitions {
+ return &partitions{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the partition, and returns the corresponding partition object, and an error if there is any.
+func (c *partitions) Get(name string, options v1.GetOptions) (result *v1alpha1.Partition, err error) {
+ result = &v1alpha1.Partition{}
+ err = c.client.Get().
+ Resource("partitions").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Partitions that match those selectors.
+func (c *partitions) List(opts v1.ListOptions) (result *v1alpha1.PartitionList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.PartitionList{}
+ err = c.client.Get().
+ Resource("partitions").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested partitions.
+func (c *partitions) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("partitions").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a partition and creates it. Returns the server's representation of the partition, and an error, if there is any.
+func (c *partitions) Create(partition *v1alpha1.Partition) (result *v1alpha1.Partition, err error) {
+ result = &v1alpha1.Partition{}
+ err = c.client.Post().
+ Resource("partitions").
+ Body(partition).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a partition and updates it. Returns the server's representation of the partition, and an error, if there is any.
+func (c *partitions) Update(partition *v1alpha1.Partition) (result *v1alpha1.Partition, err error) {
+ result = &v1alpha1.Partition{}
+ err = c.client.Put().
+ Resource("partitions").
+ Name(partition.Name).
+ Body(partition).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the partition and deletes it. Returns an error if one occurs.
+func (c *partitions) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("partitions").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *partitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("partitions").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched partition.
+func (c *partitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Partition, err error) {
+ result = &v1alpha1.Partition{}
+ err = c.client.Patch(pt).
+ Resource("partitions").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/tenant.go b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/tenant.go
new file mode 100644
index 000000000..08b6dd586
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/tenant.go
@@ -0,0 +1,152 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// TenantsGetter has a method to return a TenantInterface.
+// A group's client should implement this interface.
+type TenantsGetter interface {
+ Tenants() TenantInterface
+}
+
+// TenantInterface has methods to work with Tenant resources.
+type TenantInterface interface {
+ Create(*v1alpha1.Tenant) (*v1alpha1.Tenant, error)
+ Update(*v1alpha1.Tenant) (*v1alpha1.Tenant, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Tenant, error)
+ List(opts v1.ListOptions) (*v1alpha1.TenantList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Tenant, err error)
+ TenantExpansion
+}
+
+// tenants implements TenantInterface
+type tenants struct {
+ client rest.Interface
+}
+
+// newTenants returns a Tenants
+func newTenants(c *TenantV1alpha1Client) *tenants {
+ return &tenants{
+ client: c.RESTClient(),
+ }
+}
+
+// Get takes name of the tenant, and returns the corresponding tenant object, and an error if there is any.
+func (c *tenants) Get(name string, options v1.GetOptions) (result *v1alpha1.Tenant, err error) {
+ result = &v1alpha1.Tenant{}
+ err = c.client.Get().
+ Resource("tenants").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Tenants that match those selectors.
+func (c *tenants) List(opts v1.ListOptions) (result *v1alpha1.TenantList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.TenantList{}
+ err = c.client.Get().
+ Resource("tenants").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested tenants.
+func (c *tenants) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Resource("tenants").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a tenant and creates it. Returns the server's representation of the tenant, and an error, if there is any.
+func (c *tenants) Create(tenant *v1alpha1.Tenant) (result *v1alpha1.Tenant, err error) {
+ result = &v1alpha1.Tenant{}
+ err = c.client.Post().
+ Resource("tenants").
+ Body(tenant).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a tenant and updates it. Returns the server's representation of the tenant, and an error, if there is any.
+func (c *tenants) Update(tenant *v1alpha1.Tenant) (result *v1alpha1.Tenant, err error) {
+ result = &v1alpha1.Tenant{}
+ err = c.client.Put().
+ Resource("tenants").
+ Name(tenant.Name).
+ Body(tenant).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the tenant and deletes it. Returns an error if one occurs.
+func (c *tenants) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Resource("tenants").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *tenants) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Resource("tenants").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched tenant.
+func (c *tenants) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Tenant, err error) {
+ result = &v1alpha1.Tenant{}
+ err = c.client.Patch(pt).
+ Resource("tenants").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/tenant_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/tenant_client.go
similarity index 91%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/tenant_client.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/tenant_client.go
index 1f5ee8b69..28137cff6 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/tenant_client.go
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/tenant/v1alpha1/tenant_client.go
@@ -7,9 +7,8 @@ Copyright 2020 caicloud authors. All rights reserved.
package v1alpha1
import (
- "github.com/caicloud/clientset/kubernetes/scheme"
+ "github.com/caicloud/clientset/customclient/scheme"
v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest"
)
@@ -69,7 +68,7 @@ func setConfigDefaults(config *rest.Config) error {
gv := v1alpha1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workload.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workload.go
new file mode 100644
index 000000000..9bc01ceef
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workload.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// WorkloadsGetter has a method to return a WorkloadInterface.
+// A group's client should implement this interface.
+type WorkloadsGetter interface {
+ Workloads(namespace string) WorkloadInterface
+}
+
+// WorkloadInterface has methods to work with Workload resources.
+type WorkloadInterface interface {
+ Create(*v1alpha1.Workload) (*v1alpha1.Workload, error)
+ Update(*v1alpha1.Workload) (*v1alpha1.Workload, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.Workload, error)
+ List(opts v1.ListOptions) (*v1alpha1.WorkloadList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Workload, err error)
+ WorkloadExpansion
+}
+
+// workloads implements WorkloadInterface
+type workloads struct {
+ client rest.Interface
+ ns string
+}
+
+// newWorkloads returns a Workloads
+func newWorkloads(c *WorkloadV1alpha1Client, namespace string) *workloads {
+ return &workloads{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the workload, and returns the corresponding workload object, and an error if there is any.
+func (c *workloads) Get(name string, options v1.GetOptions) (result *v1alpha1.Workload, err error) {
+ result = &v1alpha1.Workload{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloads").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Workloads that match those selectors.
+func (c *workloads) List(opts v1.ListOptions) (result *v1alpha1.WorkloadList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.WorkloadList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloads").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested workloads.
+func (c *workloads) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("workloads").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a workload and creates it. Returns the server's representation of the workload, and an error, if there is any.
+func (c *workloads) Create(workload *v1alpha1.Workload) (result *v1alpha1.Workload, err error) {
+ result = &v1alpha1.Workload{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("workloads").
+ Body(workload).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a workload and updates it. Returns the server's representation of the workload, and an error, if there is any.
+func (c *workloads) Update(workload *v1alpha1.Workload) (result *v1alpha1.Workload, err error) {
+ result = &v1alpha1.Workload{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("workloads").
+ Name(workload.Name).
+ Body(workload).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the workload and deletes it. Returns an error if one occurs.
+func (c *workloads) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloads").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *workloads) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloads").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched workload.
+func (c *workloads) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Workload, err error) {
+ result = &v1alpha1.Workload{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("workloads").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workload_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workload_client.go
new file mode 100644
index 000000000..6f5dc3d5e
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workload_client.go
@@ -0,0 +1,82 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
+ rest "k8s.io/client-go/rest"
+)
+
+type WorkloadV1alpha1Interface interface {
+ RESTClient() rest.Interface
+ WorkloadsGetter
+ WorkloadRevisionsGetter
+}
+
+// WorkloadV1alpha1Client is used to interact with features provided by the workload.caicloud.io group.
+type WorkloadV1alpha1Client struct {
+ restClient rest.Interface
+}
+
+func (c *WorkloadV1alpha1Client) Workloads(namespace string) WorkloadInterface {
+ return newWorkloads(c, namespace)
+}
+
+func (c *WorkloadV1alpha1Client) WorkloadRevisions(namespace string) WorkloadRevisionInterface {
+ return newWorkloadRevisions(c, namespace)
+}
+
+// NewForConfig creates a new WorkloadV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*WorkloadV1alpha1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &WorkloadV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new WorkloadV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *WorkloadV1alpha1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new WorkloadV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *WorkloadV1alpha1Client {
+ return &WorkloadV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1alpha1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *WorkloadV1alpha1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workloadrevision.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workloadrevision.go
new file mode 100644
index 000000000..5c16eaead
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1alpha1/workloadrevision.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// WorkloadRevisionsGetter has a method to return a WorkloadRevisionInterface.
+// A group's client should implement this interface.
+type WorkloadRevisionsGetter interface {
+ WorkloadRevisions(namespace string) WorkloadRevisionInterface
+}
+
+// WorkloadRevisionInterface has methods to work with WorkloadRevision resources.
+type WorkloadRevisionInterface interface {
+ Create(*v1alpha1.WorkloadRevision) (*v1alpha1.WorkloadRevision, error)
+ Update(*v1alpha1.WorkloadRevision) (*v1alpha1.WorkloadRevision, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1alpha1.WorkloadRevision, error)
+ List(opts v1.ListOptions) (*v1alpha1.WorkloadRevisionList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.WorkloadRevision, err error)
+ WorkloadRevisionExpansion
+}
+
+// workloadRevisions implements WorkloadRevisionInterface
+type workloadRevisions struct {
+ client rest.Interface
+ ns string
+}
+
+// newWorkloadRevisions returns a WorkloadRevisions
+func newWorkloadRevisions(c *WorkloadV1alpha1Client, namespace string) *workloadRevisions {
+ return &workloadRevisions{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the workloadRevision, and returns the corresponding workloadRevision object, and an error if there is any.
+func (c *workloadRevisions) Get(name string, options v1.GetOptions) (result *v1alpha1.WorkloadRevision, err error) {
+ result = &v1alpha1.WorkloadRevision{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of WorkloadRevisions that match those selectors.
+func (c *workloadRevisions) List(opts v1.ListOptions) (result *v1alpha1.WorkloadRevisionList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1alpha1.WorkloadRevisionList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested workloadRevisions.
+func (c *workloadRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a workloadRevision and creates it. Returns the server's representation of the workloadRevision, and an error, if there is any.
+func (c *workloadRevisions) Create(workloadRevision *v1alpha1.WorkloadRevision) (result *v1alpha1.WorkloadRevision, err error) {
+ result = &v1alpha1.WorkloadRevision{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ Body(workloadRevision).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a workloadRevision and updates it. Returns the server's representation of the workloadRevision, and an error, if there is any.
+func (c *workloadRevisions) Update(workloadRevision *v1alpha1.WorkloadRevision) (result *v1alpha1.WorkloadRevision, err error) {
+ result = &v1alpha1.WorkloadRevision{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ Name(workloadRevision.Name).
+ Body(workloadRevision).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the workloadRevision and deletes it. Returns an error if one occurs.
+func (c *workloadRevisions) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *workloadRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched workloadRevision.
+func (c *workloadRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.WorkloadRevision, err error) {
+ result = &v1alpha1.WorkloadRevision{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("workloadrevisions").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/doc.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/doc.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/doc.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/doc.go
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/generated_expansion.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/generated_expansion.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/generated_expansion.go
rename to vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/generated_expansion.go
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/workload.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/workload.go
new file mode 100644
index 000000000..819ddc75b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/workload.go
@@ -0,0 +1,162 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "time"
+
+ scheme "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ types "k8s.io/apimachinery/pkg/types"
+ watch "k8s.io/apimachinery/pkg/watch"
+ rest "k8s.io/client-go/rest"
+)
+
+// WorkloadsGetter has a method to return a WorkloadInterface.
+// A group's client should implement this interface.
+type WorkloadsGetter interface {
+ Workloads(namespace string) WorkloadInterface
+}
+
+// WorkloadInterface has methods to work with Workload resources.
+type WorkloadInterface interface {
+ Create(*v1beta1.Workload) (*v1beta1.Workload, error)
+ Update(*v1beta1.Workload) (*v1beta1.Workload, error)
+ Delete(name string, options *v1.DeleteOptions) error
+ DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+ Get(name string, options v1.GetOptions) (*v1beta1.Workload, error)
+ List(opts v1.ListOptions) (*v1beta1.WorkloadList, error)
+ Watch(opts v1.ListOptions) (watch.Interface, error)
+ Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Workload, err error)
+ WorkloadExpansion
+}
+
+// workloads implements WorkloadInterface
+type workloads struct {
+ client rest.Interface
+ ns string
+}
+
+// newWorkloads returns a Workloads
+func newWorkloads(c *WorkloadV1beta1Client, namespace string) *workloads {
+ return &workloads{
+ client: c.RESTClient(),
+ ns: namespace,
+ }
+}
+
+// Get takes name of the workload, and returns the corresponding workload object, and an error if there is any.
+func (c *workloads) Get(name string, options v1.GetOptions) (result *v1beta1.Workload, err error) {
+ result = &v1beta1.Workload{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloads").
+ Name(name).
+ VersionedParams(&options, scheme.ParameterCodec).
+ Do().
+ Into(result)
+ return
+}
+
+// List takes label and field selectors, and returns the list of Workloads that match those selectors.
+func (c *workloads) List(opts v1.ListOptions) (result *v1beta1.WorkloadList, err error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ result = &v1beta1.WorkloadList{}
+ err = c.client.Get().
+ Namespace(c.ns).
+ Resource("workloads").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Do().
+ Into(result)
+ return
+}
+
+// Watch returns a watch.Interface that watches the requested workloads.
+func (c *workloads) Watch(opts v1.ListOptions) (watch.Interface, error) {
+ var timeout time.Duration
+ if opts.TimeoutSeconds != nil {
+ timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+ }
+ opts.Watch = true
+ return c.client.Get().
+ Namespace(c.ns).
+ Resource("workloads").
+ VersionedParams(&opts, scheme.ParameterCodec).
+ Timeout(timeout).
+ Watch()
+}
+
+// Create takes the representation of a workload and creates it. Returns the server's representation of the workload, and an error, if there is any.
+func (c *workloads) Create(workload *v1beta1.Workload) (result *v1beta1.Workload, err error) {
+ result = &v1beta1.Workload{}
+ err = c.client.Post().
+ Namespace(c.ns).
+ Resource("workloads").
+ Body(workload).
+ Do().
+ Into(result)
+ return
+}
+
+// Update takes the representation of a workload and updates it. Returns the server's representation of the workload, and an error, if there is any.
+func (c *workloads) Update(workload *v1beta1.Workload) (result *v1beta1.Workload, err error) {
+ result = &v1beta1.Workload{}
+ err = c.client.Put().
+ Namespace(c.ns).
+ Resource("workloads").
+ Name(workload.Name).
+ Body(workload).
+ Do().
+ Into(result)
+ return
+}
+
+// Delete takes name of the workload and deletes it. Returns an error if one occurs.
+func (c *workloads) Delete(name string, options *v1.DeleteOptions) error {
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloads").
+ Name(name).
+ Body(options).
+ Do().
+ Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *workloads) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+ var timeout time.Duration
+ if listOptions.TimeoutSeconds != nil {
+ timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+ }
+ return c.client.Delete().
+ Namespace(c.ns).
+ Resource("workloads").
+ VersionedParams(&listOptions, scheme.ParameterCodec).
+ Timeout(timeout).
+ Body(options).
+ Do().
+ Error()
+}
+
+// Patch applies the patch and returns the patched workload.
+func (c *workloads) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Workload, err error) {
+ result = &v1beta1.Workload{}
+ err = c.client.Patch(pt).
+ Namespace(c.ns).
+ Resource("workloads").
+ SubResource(subresources...).
+ Name(name).
+ Body(data).
+ Do().
+ Into(result)
+ return
+}
diff --git a/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/workload_client.go b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/workload_client.go
new file mode 100644
index 000000000..add7e2e57
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/customclient/typed/workload/v1beta1/workload_client.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ "github.com/caicloud/clientset/customclient/scheme"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
+ rest "k8s.io/client-go/rest"
+)
+
+type WorkloadV1beta1Interface interface {
+ RESTClient() rest.Interface
+ WorkloadsGetter
+}
+
+// WorkloadV1beta1Client is used to interact with features provided by the workload.caicloud.io group.
+type WorkloadV1beta1Client struct {
+ restClient rest.Interface
+}
+
+func (c *WorkloadV1beta1Client) Workloads(namespace string) WorkloadInterface {
+ return newWorkloads(c, namespace)
+}
+
+// NewForConfig creates a new WorkloadV1beta1Client for the given config.
+func NewForConfig(c *rest.Config) (*WorkloadV1beta1Client, error) {
+ config := *c
+ if err := setConfigDefaults(&config); err != nil {
+ return nil, err
+ }
+ client, err := rest.RESTClientFor(&config)
+ if err != nil {
+ return nil, err
+ }
+ return &WorkloadV1beta1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new WorkloadV1beta1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *WorkloadV1beta1Client {
+ client, err := NewForConfig(c)
+ if err != nil {
+ panic(err)
+ }
+ return client
+}
+
+// New creates a new WorkloadV1beta1Client for the given RESTClient.
+func New(c rest.Interface) *WorkloadV1beta1Client {
+ return &WorkloadV1beta1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+ gv := v1beta1.SchemeGroupVersion
+ config.GroupVersion = &gv
+ config.APIPath = "/apis"
+ config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+ if config.UserAgent == "" {
+ config.UserAgent = rest.DefaultKubernetesUserAgent()
+ }
+
+ return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *WorkloadV1beta1Client) RESTClient() rest.Interface {
+ if c == nil {
+ return nil
+ }
+ return c.restClient
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/interface.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/interface.go
new file mode 100644
index 000000000..c1bcd5cf4
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/interface.go
@@ -0,0 +1,50 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package alerting
+
+import (
+ v1alpha1 "github.com/caicloud/clientset/custominformers/alerting/v1alpha1"
+ v1alpha2 "github.com/caicloud/clientset/custominformers/alerting/v1alpha2"
+ v1beta1 "github.com/caicloud/clientset/custominformers/alerting/v1beta1"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1beta1 provides access to shared informers for resources in V1beta1.
+ V1beta1() v1beta1.Interface
+ // V1alpha2 provides access to shared informers for resources in V1alpha2.
+ V1alpha2() v1alpha2.Interface
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1beta1 returns a new v1beta1.Interface.
+func (g *group) V1beta1() v1beta1.Interface {
+ return v1beta1.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha2 returns a new v1alpha2.Interface.
+func (g *group) V1alpha2() v1alpha2.Interface {
+ return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/alertingrule.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/alertingrule.go
new file mode 100644
index 000000000..2f8f9478c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/alertingrule.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/alerting/v1alpha1"
+ alertingv1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// AlertingRuleInformer provides access to a shared informer and lister for
+// AlertingRules.
+type AlertingRuleInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.AlertingRuleLister
+}
+
+type alertingRuleInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAlertingRuleInformer constructs a new informer for AlertingRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAlertingRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAlertingRuleInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAlertingRuleInformer constructs a new informer for AlertingRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAlertingRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha1().AlertingRules().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha1().AlertingRules().Watch(options)
+ },
+ },
+ &alertingv1alpha1.AlertingRule{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *alertingRuleInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAlertingRuleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *alertingRuleInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&alertingv1alpha1.AlertingRule{}, f.defaultInformer)
+}
+
+func (f *alertingRuleInformer) Lister() v1alpha1.AlertingRuleLister {
+ return v1alpha1.NewAlertingRuleLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/alertingsubrule.go
new file mode 100644
index 000000000..797f42dc4
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/alertingsubrule.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/alerting/v1alpha1"
+ alertingv1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// AlertingSubRuleInformer provides access to a shared informer and lister for
+// AlertingSubRules.
+type AlertingSubRuleInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.AlertingSubRuleLister
+}
+
+type alertingSubRuleInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAlertingSubRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAlertingSubRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha1().AlertingSubRules().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha1().AlertingSubRules().Watch(options)
+ },
+ },
+ &alertingv1alpha1.AlertingSubRule{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *alertingSubRuleInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *alertingSubRuleInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&alertingv1alpha1.AlertingSubRule{}, f.defaultInformer)
+}
+
+func (f *alertingSubRuleInformer) Lister() v1alpha1.AlertingSubRuleLister {
+ return v1alpha1.NewAlertingSubRuleLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/interface.go
new file mode 100644
index 000000000..ed4ec0629
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // AlertingRules returns a AlertingRuleInformer.
+ AlertingRules() AlertingRuleInformer
+ // AlertingSubRules returns a AlertingSubRuleInformer.
+ AlertingSubRules() AlertingSubRuleInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// AlertingRules returns a AlertingRuleInformer.
+func (v *version) AlertingRules() AlertingRuleInformer {
+ return &alertingRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// AlertingSubRules returns a AlertingSubRuleInformer.
+func (v *version) AlertingSubRules() AlertingSubRuleInformer {
+ return &alertingSubRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/alertingrule.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/alertingrule.go
new file mode 100644
index 000000000..ef6a60f9c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/alertingrule.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/alerting/v1alpha2"
+ alertingv1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// AlertingRuleInformer provides access to a shared informer and lister for
+// AlertingRules.
+type AlertingRuleInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.AlertingRuleLister
+}
+
+type alertingRuleInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAlertingRuleInformer constructs a new informer for AlertingRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAlertingRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAlertingRuleInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAlertingRuleInformer constructs a new informer for AlertingRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAlertingRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha2().AlertingRules().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha2().AlertingRules().Watch(options)
+ },
+ },
+ &alertingv1alpha2.AlertingRule{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *alertingRuleInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAlertingRuleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *alertingRuleInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&alertingv1alpha2.AlertingRule{}, f.defaultInformer)
+}
+
+func (f *alertingRuleInformer) Lister() v1alpha2.AlertingRuleLister {
+ return v1alpha2.NewAlertingRuleLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/alertingsubrule.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/alertingsubrule.go
new file mode 100644
index 000000000..7a1467ae1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/alertingsubrule.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/alerting/v1alpha2"
+ alertingv1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// AlertingSubRuleInformer provides access to a shared informer and lister for
+// AlertingSubRules.
+type AlertingSubRuleInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.AlertingSubRuleLister
+}
+
+type alertingSubRuleInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAlertingSubRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAlertingSubRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha2().AlertingSubRules().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1alpha2().AlertingSubRules().Watch(options)
+ },
+ },
+ &alertingv1alpha2.AlertingSubRule{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *alertingSubRuleInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *alertingSubRuleInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&alertingv1alpha2.AlertingSubRule{}, f.defaultInformer)
+}
+
+func (f *alertingSubRuleInformer) Lister() v1alpha2.AlertingSubRuleLister {
+ return v1alpha2.NewAlertingSubRuleLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/interface.go
new file mode 100644
index 000000000..bcf1207c1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1alpha2/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // AlertingRules returns a AlertingRuleInformer.
+ AlertingRules() AlertingRuleInformer
+ // AlertingSubRules returns a AlertingSubRuleInformer.
+ AlertingSubRules() AlertingSubRuleInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// AlertingRules returns a AlertingRuleInformer.
+func (v *version) AlertingRules() AlertingRuleInformer {
+ return &alertingRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// AlertingSubRules returns a AlertingSubRuleInformer.
+func (v *version) AlertingSubRules() AlertingSubRuleInformer {
+ return &alertingSubRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/alertingrule.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/alertingrule.go
new file mode 100644
index 000000000..0b09c21a6
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/alertingrule.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/alerting/v1beta1"
+ alertingv1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// AlertingRuleInformer provides access to a shared informer and lister for
+// AlertingRules.
+type AlertingRuleInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.AlertingRuleLister
+}
+
+type alertingRuleInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAlertingRuleInformer constructs a new informer for AlertingRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAlertingRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAlertingRuleInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAlertingRuleInformer constructs a new informer for AlertingRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAlertingRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1beta1().AlertingRules().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1beta1().AlertingRules().Watch(options)
+ },
+ },
+ &alertingv1beta1.AlertingRule{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *alertingRuleInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAlertingRuleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *alertingRuleInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&alertingv1beta1.AlertingRule{}, f.defaultInformer)
+}
+
+func (f *alertingRuleInformer) Lister() v1beta1.AlertingRuleLister {
+ return v1beta1.NewAlertingRuleLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/alertingsubrule.go
new file mode 100644
index 000000000..9a7b7195e
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/alertingsubrule.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/alerting/v1beta1"
+ alertingv1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// AlertingSubRuleInformer provides access to a shared informer and lister for
+// AlertingSubRules.
+type AlertingSubRuleInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.AlertingSubRuleLister
+}
+
+type alertingSubRuleInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAlertingSubRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAlertingSubRuleInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1beta1().AlertingSubRules().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.AlertingV1beta1().AlertingSubRules().Watch(options)
+ },
+ },
+ &alertingv1beta1.AlertingSubRule{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *alertingSubRuleInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *alertingSubRuleInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&alertingv1beta1.AlertingSubRule{}, f.defaultInformer)
+}
+
+func (f *alertingSubRuleInformer) Lister() v1beta1.AlertingSubRuleLister {
+ return v1beta1.NewAlertingSubRuleLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/interface.go
new file mode 100644
index 000000000..0aad47fac
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/alerting/v1beta1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // AlertingRules returns a AlertingRuleInformer.
+ AlertingRules() AlertingRuleInformer
+ // AlertingSubRules returns a AlertingSubRuleInformer.
+ AlertingSubRules() AlertingSubRuleInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// AlertingRules returns a AlertingRuleInformer.
+func (v *version) AlertingRules() AlertingRuleInformer {
+ return &alertingRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// AlertingSubRules returns a AlertingSubRuleInformer.
+func (v *version) AlertingSubRules() AlertingSubRuleInformer {
+ return &alertingSubRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/apiregistration/interface.go b/vendor/github.com/caicloud/clientset/custominformers/apiregistration/interface.go
new file mode 100644
index 000000000..d10cd749c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/apiregistration/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package apiregistration
+
+import (
+ v1 "github.com/caicloud/clientset/custominformers/apiregistration/v1"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1 provides access to shared informers for resources in V1.
+ V1() v1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1 returns a new v1.Interface.
+func (g *group) V1() v1.Interface {
+ return v1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/apiregistration/v1/apiservice.go b/vendor/github.com/caicloud/clientset/custominformers/apiregistration/v1/apiservice.go
new file mode 100644
index 000000000..8add985fc
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/apiregistration/v1/apiservice.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1 "github.com/caicloud/clientset/listers/apiregistration/v1"
+ apiregistrationv1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// APIServiceInformer provides access to a shared informer and lister for
+// APIServices.
+type APIServiceInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1.APIServiceLister
+}
+
+type aPIServiceInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewAPIServiceInformer constructs a new informer for APIService type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewAPIServiceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredAPIServiceInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredAPIServiceInformer constructs a new informer for APIService type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredAPIServiceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options metav1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ApiregistrationV1().APIServices().List(options)
+ },
+ WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ApiregistrationV1().APIServices().Watch(options)
+ },
+ },
+ &apiregistrationv1.APIService{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *aPIServiceInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredAPIServiceInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *aPIServiceInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&apiregistrationv1.APIService{}, f.defaultInformer)
+}
+
+func (f *aPIServiceInformer) Lister() v1.APIServiceLister {
+ return v1.NewAPIServiceLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/apiregistration/v1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/apiregistration/v1/interface.go
new file mode 100644
index 000000000..805573a24
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/apiregistration/v1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // APIServices returns a APIServiceInformer.
+ APIServices() APIServiceInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// APIServices returns a APIServiceInformer.
+func (v *version) APIServices() APIServiceInformer {
+ return &aPIServiceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/interface.go b/vendor/github.com/caicloud/clientset/custominformers/clever/interface.go
new file mode 100644
index 000000000..b9635b0b2
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/interface.go
@@ -0,0 +1,50 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package clever
+
+import (
+ v1alpha1 "github.com/caicloud/clientset/custominformers/clever/v1alpha1"
+ v1alpha2 "github.com/caicloud/clientset/custominformers/clever/v1alpha2"
+ v1alpha3 "github.com/caicloud/clientset/custominformers/clever/v1alpha3"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha3 provides access to shared informers for resources in V1alpha3.
+ V1alpha3() v1alpha3.Interface
+ // V1alpha2 provides access to shared informers for resources in V1alpha2.
+ V1alpha2() v1alpha2.Interface
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha3 returns a new v1alpha3.Interface.
+func (g *group) V1alpha3() v1alpha3.Interface {
+ return v1alpha3.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha2 returns a new v1alpha2.Interface.
+func (g *group) V1alpha2() v1alpha2.Interface {
+ return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/flavor.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/flavor.go
new file mode 100644
index 000000000..6b5e4954f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/flavor.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/clever/v1alpha1"
+ cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// FlavorInformer provides access to a shared informer and lister for
+// Flavors.
+type FlavorInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.FlavorLister
+}
+
+type flavorInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewFlavorInformer constructs a new informer for Flavor type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFlavorInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredFlavorInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredFlavorInformer constructs a new informer for Flavor type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredFlavorInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha1().Flavors().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha1().Flavors().Watch(options)
+ },
+ },
+ &cleverv1alpha1.Flavor{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *flavorInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredFlavorInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *flavorInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha1.Flavor{}, f.defaultInformer)
+}
+
+func (f *flavorInformer) Lister() v1alpha1.FlavorLister {
+ return v1alpha1.NewFlavorLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/interface.go
new file mode 100644
index 000000000..fcb7f2851
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/interface.go
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Flavors returns a FlavorInformer.
+ Flavors() FlavorInformer
+ // Projects returns a ProjectInformer.
+ Projects() ProjectInformer
+ // Templates returns a TemplateInformer.
+ Templates() TemplateInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Flavors returns a FlavorInformer.
+func (v *version) Flavors() FlavorInformer {
+ return &flavorInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Projects returns a ProjectInformer.
+func (v *version) Projects() ProjectInformer {
+ return &projectInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// Templates returns a TemplateInformer.
+func (v *version) Templates() TemplateInformer {
+ return &templateInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/project.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/project.go
new file mode 100644
index 000000000..0a7675809
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/project.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/clever/v1alpha1"
+ cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ProjectInformer provides access to a shared informer and lister for
+// Projects.
+type ProjectInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ProjectLister
+}
+
+type projectInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewProjectInformer constructs a new informer for Project type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewProjectInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredProjectInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredProjectInformer constructs a new informer for Project type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredProjectInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha1().Projects(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha1().Projects(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha1.Project{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *projectInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredProjectInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *projectInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha1.Project{}, f.defaultInformer)
+}
+
+func (f *projectInformer) Lister() v1alpha1.ProjectLister {
+ return v1alpha1.NewProjectLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/template.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/template.go
new file mode 100644
index 000000000..f22dd1836
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha1/template.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/clever/v1alpha1"
+ cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// TemplateInformer provides access to a shared informer and lister for
+// Templates.
+type TemplateInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.TemplateLister
+}
+
+type templateInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewTemplateInformer constructs a new informer for Template type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewTemplateInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredTemplateInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredTemplateInformer constructs a new informer for Template type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredTemplateInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha1().Templates().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha1().Templates().Watch(options)
+ },
+ },
+ &cleverv1alpha1.Template{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *templateInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredTemplateInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *templateInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha1.Template{}, f.defaultInformer)
+}
+
+func (f *templateInformer) Lister() v1alpha1.TemplateLister {
+ return v1alpha1.NewTemplateLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/flavor.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/flavor.go
new file mode 100644
index 000000000..212fdde81
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/flavor.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
+ cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// FlavorInformer provides access to a shared informer and lister for
+// Flavors.
+type FlavorInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.FlavorLister
+}
+
+type flavorInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewFlavorInformer constructs a new informer for Flavor type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFlavorInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredFlavorInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredFlavorInformer constructs a new informer for Flavor type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredFlavorInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().Flavors().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().Flavors().Watch(options)
+ },
+ },
+ &cleverv1alpha2.Flavor{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *flavorInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredFlavorInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *flavorInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha2.Flavor{}, f.defaultInformer)
+}
+
+func (f *flavorInformer) Lister() v1alpha2.FlavorLister {
+ return v1alpha2.NewFlavorLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/interface.go
new file mode 100644
index 000000000..140de9635
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/interface.go
@@ -0,0 +1,54 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Flavors returns a FlavorInformer.
+ Flavors() FlavorInformer
+ // MLNeurons returns a MLNeuronInformer.
+ MLNeurons() MLNeuronInformer
+ // MLNeuronTaskOwners returns a MLNeuronTaskOwnerInformer.
+ MLNeuronTaskOwners() MLNeuronTaskOwnerInformer
+ // Projects returns a ProjectInformer.
+ Projects() ProjectInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Flavors returns a FlavorInformer.
+func (v *version) Flavors() FlavorInformer {
+ return &flavorInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// MLNeurons returns a MLNeuronInformer.
+func (v *version) MLNeurons() MLNeuronInformer {
+ return &mLNeuronInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// MLNeuronTaskOwners returns a MLNeuronTaskOwnerInformer.
+func (v *version) MLNeuronTaskOwners() MLNeuronTaskOwnerInformer {
+ return &mLNeuronTaskOwnerInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// Projects returns a ProjectInformer.
+func (v *version) Projects() ProjectInformer {
+ return &projectInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/mlneuron.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/mlneuron.go
new file mode 100644
index 000000000..0ef879ab8
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/mlneuron.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
+ cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MLNeuronInformer provides access to a shared informer and lister for
+// MLNeurons.
+type MLNeuronInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.MLNeuronLister
+}
+
+type mLNeuronInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewMLNeuronInformer constructs a new informer for MLNeuron type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMLNeuronInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMLNeuronInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMLNeuronInformer constructs a new informer for MLNeuron type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMLNeuronInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().MLNeurons(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().MLNeurons(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha2.MLNeuron{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *mLNeuronInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMLNeuronInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *mLNeuronInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha2.MLNeuron{}, f.defaultInformer)
+}
+
+func (f *mLNeuronInformer) Lister() v1alpha2.MLNeuronLister {
+ return v1alpha2.NewMLNeuronLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/mlneurontaskowner.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/mlneurontaskowner.go
new file mode 100644
index 000000000..d6e5b1e1f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/mlneurontaskowner.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
+ cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MLNeuronTaskOwnerInformer provides access to a shared informer and lister for
+// MLNeuronTaskOwners.
+type MLNeuronTaskOwnerInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.MLNeuronTaskOwnerLister
+}
+
+type mLNeuronTaskOwnerInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewMLNeuronTaskOwnerInformer constructs a new informer for MLNeuronTaskOwner type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMLNeuronTaskOwnerInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMLNeuronTaskOwnerInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMLNeuronTaskOwnerInformer constructs a new informer for MLNeuronTaskOwner type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMLNeuronTaskOwnerInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().MLNeuronTaskOwners(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().MLNeuronTaskOwners(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha2.MLNeuronTaskOwner{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *mLNeuronTaskOwnerInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMLNeuronTaskOwnerInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *mLNeuronTaskOwnerInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha2.MLNeuronTaskOwner{}, f.defaultInformer)
+}
+
+func (f *mLNeuronTaskOwnerInformer) Lister() v1alpha2.MLNeuronTaskOwnerLister {
+ return v1alpha2.NewMLNeuronTaskOwnerLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/project.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/project.go
new file mode 100644
index 000000000..0e9cfde0d
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha2/project.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
+ cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ProjectInformer provides access to a shared informer and lister for
+// Projects.
+type ProjectInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.ProjectLister
+}
+
+type projectInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewProjectInformer constructs a new informer for Project type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewProjectInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredProjectInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredProjectInformer constructs a new informer for Project type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredProjectInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().Projects(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha2().Projects(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha2.Project{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *projectInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredProjectInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *projectInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha2.Project{}, f.defaultInformer)
+}
+
+func (f *projectInformer) Lister() v1alpha2.ProjectLister {
+ return v1alpha2.NewProjectLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/flavor.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/flavor.go
new file mode 100644
index 000000000..9adf692c5
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/flavor.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
+ cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// FlavorInformer provides access to a shared informer and lister for
+// Flavors.
+type FlavorInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha3.FlavorLister
+}
+
+type flavorInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewFlavorInformer constructs a new informer for Flavor type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFlavorInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredFlavorInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredFlavorInformer constructs a new informer for Flavor type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredFlavorInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().Flavors().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().Flavors().Watch(options)
+ },
+ },
+ &cleverv1alpha3.Flavor{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *flavorInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredFlavorInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *flavorInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha3.Flavor{}, f.defaultInformer)
+}
+
+func (f *flavorInformer) Lister() v1alpha3.FlavorLister {
+ return v1alpha3.NewFlavorLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/interface.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/interface.go
new file mode 100644
index 000000000..9e57e6223
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/interface.go
@@ -0,0 +1,54 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Flavors returns a FlavorInformer.
+ Flavors() FlavorInformer
+ // MLNeurons returns a MLNeuronInformer.
+ MLNeurons() MLNeuronInformer
+ // MLProjects returns a MLProjectInformer.
+ MLProjects() MLProjectInformer
+ // MLTasks returns a MLTaskInformer.
+ MLTasks() MLTaskInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Flavors returns a FlavorInformer.
+func (v *version) Flavors() FlavorInformer {
+ return &flavorInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// MLNeurons returns a MLNeuronInformer.
+func (v *version) MLNeurons() MLNeuronInformer {
+ return &mLNeuronInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// MLProjects returns a MLProjectInformer.
+func (v *version) MLProjects() MLProjectInformer {
+ return &mLProjectInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// MLTasks returns a MLTaskInformer.
+func (v *version) MLTasks() MLTaskInformer {
+ return &mLTaskInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mlneuron.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mlneuron.go
new file mode 100644
index 000000000..536d1faee
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mlneuron.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
+ cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MLNeuronInformer provides access to a shared informer and lister for
+// MLNeurons.
+type MLNeuronInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha3.MLNeuronLister
+}
+
+type mLNeuronInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewMLNeuronInformer constructs a new informer for MLNeuron type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMLNeuronInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMLNeuronInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMLNeuronInformer constructs a new informer for MLNeuron type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMLNeuronInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().MLNeurons(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().MLNeurons(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha3.MLNeuron{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *mLNeuronInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMLNeuronInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *mLNeuronInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha3.MLNeuron{}, f.defaultInformer)
+}
+
+func (f *mLNeuronInformer) Lister() v1alpha3.MLNeuronLister {
+ return v1alpha3.NewMLNeuronLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mlproject.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mlproject.go
new file mode 100644
index 000000000..96b8ad600
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mlproject.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
+ cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MLProjectInformer provides access to a shared informer and lister for
+// MLProjects.
+type MLProjectInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha3.MLProjectLister
+}
+
+type mLProjectInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewMLProjectInformer constructs a new informer for MLProject type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMLProjectInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMLProjectInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMLProjectInformer constructs a new informer for MLProject type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMLProjectInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().MLProjects(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().MLProjects(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha3.MLProject{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *mLProjectInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMLProjectInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *mLProjectInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha3.MLProject{}, f.defaultInformer)
+}
+
+func (f *mLProjectInformer) Lister() v1alpha3.MLProjectLister {
+ return v1alpha3.NewMLProjectLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mltask.go b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mltask.go
new file mode 100644
index 000000000..6ca38339d
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/clever/v1alpha3/mltask.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha3
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
+ cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MLTaskInformer provides access to a shared informer and lister for
+// MLTasks.
+type MLTaskInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha3.MLTaskLister
+}
+
+type mLTaskInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewMLTaskInformer constructs a new informer for MLTask type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMLTaskInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMLTaskInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMLTaskInformer constructs a new informer for MLTask type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMLTaskInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().MLTasks(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CleverV1alpha3().MLTasks(namespace).Watch(options)
+ },
+ },
+ &cleverv1alpha3.MLTask{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *mLTaskInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMLTaskInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *mLTaskInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cleverv1alpha3.MLTask{}, f.defaultInformer)
+}
+
+func (f *mLTaskInformer) Lister() v1alpha3.MLTaskLister {
+ return v1alpha3.NewMLTaskLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/cnetworking/interface.go b/vendor/github.com/caicloud/clientset/custominformers/cnetworking/interface.go
new file mode 100644
index 000000000..d75d82d10
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/cnetworking/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package cnetworking
+
+import (
+ v1alpha1 "github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1/interface.go
new file mode 100644
index 000000000..9c4a424ba
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // NetworkPolicies returns a NetworkPolicyInformer.
+ NetworkPolicies() NetworkPolicyInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// NetworkPolicies returns a NetworkPolicyInformer.
+func (v *version) NetworkPolicies() NetworkPolicyInformer {
+ return &networkPolicyInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1/networkpolicy.go b/vendor/github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1/networkpolicy.go
new file mode 100644
index 000000000..f56f1a8ca
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/cnetworking/v1alpha1/networkpolicy.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/cnetworking/v1alpha1"
+ cnetworkingv1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// NetworkPolicyInformer provides access to a shared informer and lister for
+// NetworkPolicies.
+type NetworkPolicyInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.NetworkPolicyLister
+}
+
+type networkPolicyInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewNetworkPolicyInformer constructs a new informer for NetworkPolicy type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewNetworkPolicyInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredNetworkPolicyInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredNetworkPolicyInformer constructs a new informer for NetworkPolicy type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredNetworkPolicyInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CnetworkingV1alpha1().NetworkPolicies(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.CnetworkingV1alpha1().NetworkPolicies(namespace).Watch(options)
+ },
+ },
+ &cnetworkingv1alpha1.NetworkPolicy{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *networkPolicyInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredNetworkPolicyInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *networkPolicyInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&cnetworkingv1alpha1.NetworkPolicy{}, f.defaultInformer)
+}
+
+func (f *networkPolicyInformer) Lister() v1alpha1.NetworkPolicyLister {
+ return v1alpha1.NewNetworkPolicyLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/config/interface.go b/vendor/github.com/caicloud/clientset/custominformers/config/interface.go
new file mode 100644
index 000000000..0f2acae91
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/config/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package config
+
+import (
+ v1alpha1 "github.com/caicloud/clientset/custominformers/config/v1alpha1"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/configclaim.go b/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/configclaim.go
new file mode 100644
index 000000000..f3723c3aa
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/configclaim.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/config/v1alpha1"
+ configv1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ConfigClaimInformer provides access to a shared informer and lister for
+// ConfigClaims.
+type ConfigClaimInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ConfigClaimLister
+}
+
+type configClaimInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewConfigClaimInformer constructs a new informer for ConfigClaim type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewConfigClaimInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredConfigClaimInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredConfigClaimInformer constructs a new informer for ConfigClaim type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredConfigClaimInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ConfigV1alpha1().ConfigClaims(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ConfigV1alpha1().ConfigClaims(namespace).Watch(options)
+ },
+ },
+ &configv1alpha1.ConfigClaim{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *configClaimInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredConfigClaimInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *configClaimInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&configv1alpha1.ConfigClaim{}, f.defaultInformer)
+}
+
+func (f *configClaimInformer) Lister() v1alpha1.ConfigClaimLister {
+ return v1alpha1.NewConfigClaimLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/configreference.go b/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/configreference.go
new file mode 100644
index 000000000..71a790698
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/configreference.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/config/v1alpha1"
+ configv1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ConfigReferenceInformer provides access to a shared informer and lister for
+// ConfigReferences.
+type ConfigReferenceInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ConfigReferenceLister
+}
+
+type configReferenceInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewConfigReferenceInformer constructs a new informer for ConfigReference type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewConfigReferenceInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredConfigReferenceInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredConfigReferenceInformer constructs a new informer for ConfigReference type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredConfigReferenceInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ConfigV1alpha1().ConfigReferences(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ConfigV1alpha1().ConfigReferences(namespace).Watch(options)
+ },
+ },
+ &configv1alpha1.ConfigReference{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *configReferenceInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredConfigReferenceInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *configReferenceInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&configv1alpha1.ConfigReference{}, f.defaultInformer)
+}
+
+func (f *configReferenceInformer) Lister() v1alpha1.ConfigReferenceLister {
+ return v1alpha1.NewConfigReferenceLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/interface.go
new file mode 100644
index 000000000..1ac2a39a8
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/config/v1alpha1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // ConfigClaims returns a ConfigClaimInformer.
+ ConfigClaims() ConfigClaimInformer
+ // ConfigReferences returns a ConfigReferenceInformer.
+ ConfigReferences() ConfigReferenceInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// ConfigClaims returns a ConfigClaimInformer.
+func (v *version) ConfigClaims() ConfigClaimInformer {
+ return &configClaimInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// ConfigReferences returns a ConfigReferenceInformer.
+func (v *version) ConfigReferences() ConfigReferenceInformer {
+ return &configReferenceInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/dataset/interface.go b/vendor/github.com/caicloud/clientset/custominformers/dataset/interface.go
new file mode 100644
index 000000000..ec0c4eaab
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/dataset/interface.go
@@ -0,0 +1,42 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package dataset
+
+import (
+ v1alpha1 "github.com/caicloud/clientset/custominformers/dataset/v1alpha1"
+ v1alpha2 "github.com/caicloud/clientset/custominformers/dataset/v1alpha2"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha2 provides access to shared informers for resources in V1alpha2.
+ V1alpha2() v1alpha2.Interface
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha2 returns a new v1alpha2.Interface.
+func (g *group) V1alpha2() v1alpha2.Interface {
+ return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha1/dataset.go b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha1/dataset.go
new file mode 100644
index 000000000..0c0750a3d
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha1/dataset.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/dataset/v1alpha1"
+ datasetv1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// DatasetInformer provides access to a shared informer and lister for
+// Datasets.
+type DatasetInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.DatasetLister
+}
+
+type datasetInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewDatasetInformer constructs a new informer for Dataset type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewDatasetInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredDatasetInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredDatasetInformer constructs a new informer for Dataset type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredDatasetInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.DatasetV1alpha1().Datasets().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.DatasetV1alpha1().Datasets().Watch(options)
+ },
+ },
+ &datasetv1alpha1.Dataset{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *datasetInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredDatasetInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *datasetInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&datasetv1alpha1.Dataset{}, f.defaultInformer)
+}
+
+func (f *datasetInformer) Lister() v1alpha1.DatasetLister {
+ return v1alpha1.NewDatasetLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha1/interface.go
new file mode 100644
index 000000000..f8be2c2b1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Datasets returns a DatasetInformer.
+ Datasets() DatasetInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Datasets returns a DatasetInformer.
+func (v *version) Datasets() DatasetInformer {
+ return &datasetInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha2/dataset.go b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha2/dataset.go
new file mode 100644
index 000000000..07f832a0c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha2/dataset.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/dataset/v1alpha2"
+ datasetv1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// DatasetInformer provides access to a shared informer and lister for
+// Datasets.
+type DatasetInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.DatasetLister
+}
+
+type datasetInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewDatasetInformer constructs a new informer for Dataset type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewDatasetInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredDatasetInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredDatasetInformer constructs a new informer for Dataset type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredDatasetInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.DatasetV1alpha2().Datasets().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.DatasetV1alpha2().Datasets().Watch(options)
+ },
+ },
+ &datasetv1alpha2.Dataset{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *datasetInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredDatasetInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *datasetInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&datasetv1alpha2.Dataset{}, f.defaultInformer)
+}
+
+func (f *datasetInformer) Lister() v1alpha2.DatasetLister {
+ return v1alpha2.NewDatasetLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha2/interface.go
new file mode 100644
index 000000000..3f72069bf
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/dataset/v1alpha2/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Datasets returns a DatasetInformer.
+ Datasets() DatasetInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Datasets returns a DatasetInformer.
+func (v *version) Datasets() DatasetInformer {
+ return &datasetInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/devops/interface.go b/vendor/github.com/caicloud/clientset/custominformers/devops/interface.go
new file mode 100644
index 000000000..0d0714b09
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/devops/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package devops
+
+import (
+ v1 "github.com/caicloud/clientset/custominformers/devops/v1"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1 provides access to shared informers for resources in V1.
+ V1() v1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1 returns a new v1.Interface.
+func (g *group) V1() v1.Interface {
+ return v1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/devops/v1/cargo.go b/vendor/github.com/caicloud/clientset/custominformers/devops/v1/cargo.go
new file mode 100644
index 000000000..68beed4be
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/devops/v1/cargo.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1 "github.com/caicloud/clientset/listers/devops/v1"
+ devopsv1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// CargoInformer provides access to a shared informer and lister for
+// Cargos.
+type CargoInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1.CargoLister
+}
+
+type cargoInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewCargoInformer constructs a new informer for Cargo type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewCargoInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredCargoInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredCargoInformer constructs a new informer for Cargo type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredCargoInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options metav1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.DevopsV1().Cargos().List(options)
+ },
+ WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.DevopsV1().Cargos().Watch(options)
+ },
+ },
+ &devopsv1.Cargo{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *cargoInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredCargoInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *cargoInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&devopsv1.Cargo{}, f.defaultInformer)
+}
+
+func (f *cargoInformer) Lister() v1.CargoLister {
+ return v1.NewCargoLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/devops/v1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/devops/v1/interface.go
new file mode 100644
index 000000000..f579a5ae8
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/devops/v1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Cargos returns a CargoInformer.
+ Cargos() CargoInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Cargos returns a CargoInformer.
+func (v *version) Cargos() CargoInformer {
+ return &cargoInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/evaluation/interface.go b/vendor/github.com/caicloud/clientset/custominformers/evaluation/interface.go
new file mode 100644
index 000000000..7ac70f254
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/evaluation/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package evaluation
+
+import (
+ v1alpha1 "github.com/caicloud/clientset/custominformers/evaluation/v1alpha1"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/evaluation/v1alpha1/evaljob.go b/vendor/github.com/caicloud/clientset/custominformers/evaluation/v1alpha1/evaljob.go
new file mode 100644
index 000000000..b8f6bca7e
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/evaluation/v1alpha1/evaljob.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/evaluation/v1alpha1"
+ evaluationv1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// EvalJobInformer provides access to a shared informer and lister for
+// EvalJobs.
+type EvalJobInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.EvalJobLister
+}
+
+type evalJobInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewEvalJobInformer constructs a new informer for EvalJob type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewEvalJobInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredEvalJobInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredEvalJobInformer constructs a new informer for EvalJob type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredEvalJobInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.EvaluationV1alpha1().EvalJobs(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.EvaluationV1alpha1().EvalJobs(namespace).Watch(options)
+ },
+ },
+ &evaluationv1alpha1.EvalJob{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *evalJobInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredEvalJobInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *evalJobInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&evaluationv1alpha1.EvalJob{}, f.defaultInformer)
+}
+
+func (f *evalJobInformer) Lister() v1alpha1.EvalJobLister {
+ return v1alpha1.NewEvalJobLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/evaluation/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/evaluation/v1alpha1/interface.go
new file mode 100644
index 000000000..617f9d205
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/evaluation/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // EvalJobs returns a EvalJobInformer.
+ EvalJobs() EvalJobInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// EvalJobs returns a EvalJobInformer.
+func (v *version) EvalJobs() EvalJobInformer {
+ return &evalJobInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/factory.go b/vendor/github.com/caicloud/clientset/custominformers/factory.go
new file mode 100644
index 000000000..d3f3adb36
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/factory.go
@@ -0,0 +1,276 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package custominformers
+
+import (
+ reflect "reflect"
+ sync "sync"
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ alerting "github.com/caicloud/clientset/custominformers/alerting"
+ apiregistration "github.com/caicloud/clientset/custominformers/apiregistration"
+ clever "github.com/caicloud/clientset/custominformers/clever"
+ cnetworking "github.com/caicloud/clientset/custominformers/cnetworking"
+ config "github.com/caicloud/clientset/custominformers/config"
+ dataset "github.com/caicloud/clientset/custominformers/dataset"
+ devops "github.com/caicloud/clientset/custominformers/devops"
+ evaluation "github.com/caicloud/clientset/custominformers/evaluation"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ loadbalance "github.com/caicloud/clientset/custominformers/loadbalance"
+ logging "github.com/caicloud/clientset/custominformers/logging"
+ microservice "github.com/caicloud/clientset/custominformers/microservice"
+ model "github.com/caicloud/clientset/custominformers/model"
+ orchestration "github.com/caicloud/clientset/custominformers/orchestration"
+ release "github.com/caicloud/clientset/custominformers/release"
+ resource "github.com/caicloud/clientset/custominformers/resource"
+ servicemesh "github.com/caicloud/clientset/custominformers/servicemesh"
+ serving "github.com/caicloud/clientset/custominformers/serving"
+ tenant "github.com/caicloud/clientset/custominformers/tenant"
+ workload "github.com/caicloud/clientset/custominformers/workload"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ schema "k8s.io/apimachinery/pkg/runtime/schema"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// SharedInformerOption defines the functional option type for SharedInformerFactory.
+type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory
+
+type sharedInformerFactory struct {
+ client customclient.Interface
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ lock sync.Mutex
+ defaultResync time.Duration
+ customResync map[reflect.Type]time.Duration
+
+ informers map[reflect.Type]cache.SharedIndexInformer
+ // startedInformers is used for tracking which informers have been started.
+ // This allows Start() to be called multiple times safely.
+ startedInformers map[reflect.Type]bool
+}
+
+// WithCustomResyncConfig sets a custom resync period for the specified informer types.
+func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption {
+ return func(factory *sharedInformerFactory) *sharedInformerFactory {
+ for k, v := range resyncConfig {
+ factory.customResync[reflect.TypeOf(k)] = v
+ }
+ return factory
+ }
+}
+
+// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory.
+func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption {
+ return func(factory *sharedInformerFactory) *sharedInformerFactory {
+ factory.tweakListOptions = tweakListOptions
+ return factory
+ }
+}
+
+// WithNamespace limits the SharedInformerFactory to the specified namespace.
+func WithNamespace(namespace string) SharedInformerOption {
+ return func(factory *sharedInformerFactory) *sharedInformerFactory {
+ factory.namespace = namespace
+ return factory
+ }
+}
+
+// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces.
+func NewSharedInformerFactory(client customclient.Interface, defaultResync time.Duration) SharedInformerFactory {
+ return NewSharedInformerFactoryWithOptions(client, defaultResync)
+}
+
+// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory.
+// Listers obtained via this SharedInformerFactory will be subject to the same filters
+// as specified here.
+// Deprecated: Please use NewSharedInformerFactoryWithOptions instead
+func NewFilteredSharedInformerFactory(client customclient.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory {
+ return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions))
+}
+
+// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options.
+func NewSharedInformerFactoryWithOptions(client customclient.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory {
+ factory := &sharedInformerFactory{
+ client: client,
+ namespace: v1.NamespaceAll,
+ defaultResync: defaultResync,
+ informers: make(map[reflect.Type]cache.SharedIndexInformer),
+ startedInformers: make(map[reflect.Type]bool),
+ customResync: make(map[reflect.Type]time.Duration),
+ }
+
+ // Apply all options
+ for _, opt := range options {
+ factory = opt(factory)
+ }
+
+ return factory
+}
+
+// Start initializes all requested informers.
+func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) {
+ f.lock.Lock()
+ defer f.lock.Unlock()
+
+ for informerType, informer := range f.informers {
+ if !f.startedInformers[informerType] {
+ go informer.Run(stopCh)
+ f.startedInformers[informerType] = true
+ }
+ }
+}
+
+// WaitForCacheSync waits for all started informers' cache were synced.
+func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool {
+ informers := func() map[reflect.Type]cache.SharedIndexInformer {
+ f.lock.Lock()
+ defer f.lock.Unlock()
+
+ informers := map[reflect.Type]cache.SharedIndexInformer{}
+ for informerType, informer := range f.informers {
+ if f.startedInformers[informerType] {
+ informers[informerType] = informer
+ }
+ }
+ return informers
+ }()
+
+ res := map[reflect.Type]bool{}
+ for informType, informer := range informers {
+ res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced)
+ }
+ return res
+}
+
+// InternalInformerFor returns the SharedIndexInformer for obj using an internal
+// client.
+func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer {
+ f.lock.Lock()
+ defer f.lock.Unlock()
+
+ informerType := reflect.TypeOf(obj)
+ informer, exists := f.informers[informerType]
+ if exists {
+ return informer
+ }
+
+ resyncPeriod, exists := f.customResync[informerType]
+ if !exists {
+ resyncPeriod = f.defaultResync
+ }
+
+ informer = newFunc(f.client, resyncPeriod)
+ f.informers[informerType] = informer
+
+ return informer
+}
+
+// SharedInformerFactory provides shared informers for resources in all known
+// API group versions.
+type SharedInformerFactory interface {
+ internalinterfaces.SharedInformerFactory
+ ForResource(resource schema.GroupVersionResource) (GenericInformer, error)
+ WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
+
+ Alerting() alerting.Interface
+ Apiregistration() apiregistration.Interface
+ Clever() clever.Interface
+ Cnetworking() cnetworking.Interface
+ Config() config.Interface
+ Dataset() dataset.Interface
+ Devops() devops.Interface
+ Evaluation() evaluation.Interface
+ Loadbalance() loadbalance.Interface
+ Logging() logging.Interface
+ Microservice() microservice.Interface
+ Model() model.Interface
+ Orchestration() orchestration.Interface
+ Release() release.Interface
+ Resource() resource.Interface
+ Servicemesh() servicemesh.Interface
+ Serving() serving.Interface
+ Tenant() tenant.Interface
+ Workload() workload.Interface
+}
+
+func (f *sharedInformerFactory) Alerting() alerting.Interface {
+ return alerting.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Apiregistration() apiregistration.Interface {
+ return apiregistration.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Clever() clever.Interface {
+ return clever.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Cnetworking() cnetworking.Interface {
+ return cnetworking.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Config() config.Interface {
+ return config.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Dataset() dataset.Interface {
+ return dataset.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Devops() devops.Interface {
+ return devops.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Evaluation() evaluation.Interface {
+ return evaluation.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Loadbalance() loadbalance.Interface {
+ return loadbalance.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Logging() logging.Interface {
+ return logging.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Microservice() microservice.Interface {
+ return microservice.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Model() model.Interface {
+ return model.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Orchestration() orchestration.Interface {
+ return orchestration.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Release() release.Interface {
+ return release.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Resource() resource.Interface {
+ return resource.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Servicemesh() servicemesh.Interface {
+ return servicemesh.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Serving() serving.Interface {
+ return serving.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Tenant() tenant.Interface {
+ return tenant.New(f, f.namespace, f.tweakListOptions)
+}
+
+func (f *sharedInformerFactory) Workload() workload.Interface {
+ return workload.New(f, f.namespace, f.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/informers/generic.go b/vendor/github.com/caicloud/clientset/custominformers/generic.go
similarity index 95%
rename from vendor/github.com/caicloud/clientset/informers/generic.go
rename to vendor/github.com/caicloud/clientset/custominformers/generic.go
index bb883c5eb..b45232e9a 100644
--- a/vendor/github.com/caicloud/clientset/informers/generic.go
+++ b/vendor/github.com/caicloud/clientset/custominformers/generic.go
@@ -4,12 +4,14 @@ Copyright 2020 caicloud authors. All rights reserved.
// Code generated by informer-gen. DO NOT EDIT.
-package informers
+package custominformers
import (
+ "fmt"
+
v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
v1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
@@ -34,10 +36,16 @@ import (
workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
workloadv1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
schema "k8s.io/apimachinery/pkg/runtime/schema"
- informers "k8s.io/client-go/informers"
cache "k8s.io/client-go/tools/cache"
)
+// GenericInformer is type of SharedIndexInformer which will locate and delegate to other
+// sharedInformers based on type
+type GenericInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() cache.GenericLister
+}
+
type genericInformer struct {
informer cache.SharedIndexInformer
resource schema.GroupResource
@@ -55,7 +63,7 @@ func (f *genericInformer) Lister() cache.GenericLister {
// ForResource gives generic access to a shared informer of the matching type
// TODO extend this to unknown resources with a client pool
-func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (informers.GenericInformer, error) {
+func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
switch resource {
// Group=alerting.caicloud.io, Version=v1alpha1
case v1alpha1.SchemeGroupVersion.WithResource("alertingrules"):
@@ -69,9 +77,11 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource
case v1alpha2.SchemeGroupVersion.WithResource("alertingsubrules"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Alerting().V1alpha2().AlertingSubRules().Informer()}, nil
- // Group=apiextensions.k8s.io, Version=v1beta1
- case v1beta1.SchemeGroupVersion.WithResource("customresourcedefinitions"):
- return &genericInformer{resource: resource.GroupResource(), informer: f.Apiextensions().V1beta1().CustomResourceDefinitions().Informer()}, nil
+ // Group=alerting.caicloud.io, Version=v1beta1
+ case v1beta1.SchemeGroupVersion.WithResource("alertingrules"):
+ return &genericInformer{resource: resource.GroupResource(), informer: f.Alerting().V1beta1().AlertingRules().Informer()}, nil
+ case v1beta1.SchemeGroupVersion.WithResource("alertingsubrules"):
+ return &genericInformer{resource: resource.GroupResource(), informer: f.Alerting().V1beta1().AlertingSubRules().Informer()}, nil
// Group=apiregistration.k8s.io, Version=v1
case v1.SchemeGroupVersion.WithResource("apiservices"):
@@ -231,5 +241,5 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource
}
- return f.SharedInformerFactory.ForResource(resource)
+ return nil, fmt.Errorf("no informer found for %v", resource)
}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/internalinterfaces/factory_interfaces.go b/vendor/github.com/caicloud/clientset/custominformers/internalinterfaces/factory_interfaces.go
new file mode 100644
index 000000000..1b0e397bf
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/internalinterfaces/factory_interfaces.go
@@ -0,0 +1,28 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package internalinterfaces
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// NewInformerFunc takes customclient.Interface and time.Duration to return a SharedIndexInformer.
+type NewInformerFunc func(customclient.Interface, time.Duration) cache.SharedIndexInformer
+
+// SharedInformerFactory a small interface to allow for adding an informer without an import cycle
+type SharedInformerFactory interface {
+ Start(stopCh <-chan struct{})
+ InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer
+}
+
+// TweakListOptionsFunc is a function that transforms a v1.ListOptions.
+type TweakListOptionsFunc func(*v1.ListOptions)
diff --git a/vendor/github.com/caicloud/clientset/custominformers/loadbalance/interface.go b/vendor/github.com/caicloud/clientset/custominformers/loadbalance/interface.go
new file mode 100644
index 000000000..66607c3e0
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/loadbalance/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package loadbalance
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha2 provides access to shared informers for resources in V1alpha2.
+ V1alpha2() v1alpha2.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha2 returns a new v1alpha2.Interface.
+func (g *group) V1alpha2() v1alpha2.Interface {
+ return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2/interface.go
new file mode 100644
index 000000000..4813c1a5b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // LoadBalancers returns a LoadBalancerInformer.
+ LoadBalancers() LoadBalancerInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// LoadBalancers returns a LoadBalancerInformer.
+func (v *version) LoadBalancers() LoadBalancerInformer {
+ return &loadBalancerInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2/loadbalancer.go b/vendor/github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2/loadbalancer.go
new file mode 100644
index 000000000..9c1dbf0b4
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/loadbalance/v1alpha2/loadbalancer.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha2
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha2 "github.com/caicloud/clientset/listers/loadbalance/v1alpha2"
+ loadbalancev1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// LoadBalancerInformer provides access to a shared informer and lister for
+// LoadBalancers.
+type LoadBalancerInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha2.LoadBalancerLister
+}
+
+type loadBalancerInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewLoadBalancerInformer constructs a new informer for LoadBalancer type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewLoadBalancerInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredLoadBalancerInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredLoadBalancerInformer constructs a new informer for LoadBalancer type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredLoadBalancerInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.LoadbalanceV1alpha2().LoadBalancers(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.LoadbalanceV1alpha2().LoadBalancers(namespace).Watch(options)
+ },
+ },
+ &loadbalancev1alpha2.LoadBalancer{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *loadBalancerInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredLoadBalancerInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *loadBalancerInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&loadbalancev1alpha2.LoadBalancer{}, f.defaultInformer)
+}
+
+func (f *loadBalancerInformer) Lister() v1alpha2.LoadBalancerLister {
+ return v1alpha2.NewLoadBalancerLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/logging/interface.go b/vendor/github.com/caicloud/clientset/custominformers/logging/interface.go
new file mode 100644
index 000000000..4d4984c42
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/logging/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package logging
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/logging/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/logging/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/logging/v1alpha1/interface.go
new file mode 100644
index 000000000..81bc475d2
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/logging/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // LogEndpoints returns a LogEndpointInformer.
+ LogEndpoints() LogEndpointInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// LogEndpoints returns a LogEndpointInformer.
+func (v *version) LogEndpoints() LogEndpointInformer {
+ return &logEndpointInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/logging/v1alpha1/logendpoint.go b/vendor/github.com/caicloud/clientset/custominformers/logging/v1alpha1/logendpoint.go
new file mode 100644
index 000000000..f18a7c7cc
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/logging/v1alpha1/logendpoint.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/logging/v1alpha1"
+ loggingv1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// LogEndpointInformer provides access to a shared informer and lister for
+// LogEndpoints.
+type LogEndpointInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.LogEndpointLister
+}
+
+type logEndpointInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewLogEndpointInformer constructs a new informer for LogEndpoint type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewLogEndpointInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredLogEndpointInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredLogEndpointInformer constructs a new informer for LogEndpoint type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredLogEndpointInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.LoggingV1alpha1().LogEndpoints().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.LoggingV1alpha1().LogEndpoints().Watch(options)
+ },
+ },
+ &loggingv1alpha1.LogEndpoint{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *logEndpointInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredLogEndpointInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *logEndpointInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&loggingv1alpha1.LogEndpoint{}, f.defaultInformer)
+}
+
+func (f *logEndpointInformer) Lister() v1alpha1.LogEndpointLister {
+ return v1alpha1.NewLogEndpointLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/microservice/interface.go b/vendor/github.com/caicloud/clientset/custominformers/microservice/interface.go
new file mode 100644
index 000000000..cc9460268
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/microservice/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package microservice
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/microservice/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/microservice/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/microservice/v1alpha1/interface.go
new file mode 100644
index 000000000..f1ce2b6f1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/microservice/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Springclouds returns a SpringcloudInformer.
+ Springclouds() SpringcloudInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Springclouds returns a SpringcloudInformer.
+func (v *version) Springclouds() SpringcloudInformer {
+ return &springcloudInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/microservice/v1alpha1/springcloud.go b/vendor/github.com/caicloud/clientset/custominformers/microservice/v1alpha1/springcloud.go
new file mode 100644
index 000000000..2a9b681ea
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/microservice/v1alpha1/springcloud.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/microservice/v1alpha1"
+ microservicev1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// SpringcloudInformer provides access to a shared informer and lister for
+// Springclouds.
+type SpringcloudInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.SpringcloudLister
+}
+
+type springcloudInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewSpringcloudInformer constructs a new informer for Springcloud type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewSpringcloudInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredSpringcloudInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredSpringcloudInformer constructs a new informer for Springcloud type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredSpringcloudInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.MicroserviceV1alpha1().Springclouds(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.MicroserviceV1alpha1().Springclouds(namespace).Watch(options)
+ },
+ },
+ µservicev1alpha1.Springcloud{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *springcloudInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredSpringcloudInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *springcloudInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(µservicev1alpha1.Springcloud{}, f.defaultInformer)
+}
+
+func (f *springcloudInformer) Lister() v1alpha1.SpringcloudLister {
+ return v1alpha1.NewSpringcloudLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/model/interface.go b/vendor/github.com/caicloud/clientset/custominformers/model/interface.go
new file mode 100644
index 000000000..358b5dfa2
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/model/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package model
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/model/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/model/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/model/v1alpha1/interface.go
new file mode 100644
index 000000000..965239816
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/model/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Models returns a ModelInformer.
+ Models() ModelInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Models returns a ModelInformer.
+func (v *version) Models() ModelInformer {
+ return &modelInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/model/v1alpha1/model.go b/vendor/github.com/caicloud/clientset/custominformers/model/v1alpha1/model.go
new file mode 100644
index 000000000..b2eb07eb5
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/model/v1alpha1/model.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/model/v1alpha1"
+ modelv1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ModelInformer provides access to a shared informer and lister for
+// Models.
+type ModelInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ModelLister
+}
+
+type modelInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewModelInformer constructs a new informer for Model type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewModelInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredModelInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredModelInformer constructs a new informer for Model type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredModelInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ModelV1alpha1().Models().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ModelV1alpha1().Models().Watch(options)
+ },
+ },
+ &modelv1alpha1.Model{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *modelInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredModelInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *modelInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&modelv1alpha1.Model{}, f.defaultInformer)
+}
+
+func (f *modelInformer) Lister() v1alpha1.ModelLister {
+ return v1alpha1.NewModelLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/orchestration/interface.go b/vendor/github.com/caicloud/clientset/custominformers/orchestration/interface.go
new file mode 100644
index 000000000..797d5ecc2
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/orchestration/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package orchestration
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/orchestration/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/application.go b/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/application.go
new file mode 100644
index 000000000..e6e859a8b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/application.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/orchestration/v1alpha1"
+ orchestrationv1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ApplicationInformer provides access to a shared informer and lister for
+// Applications.
+type ApplicationInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ApplicationLister
+}
+
+type applicationInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewApplicationInformer constructs a new informer for Application type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewApplicationInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredApplicationInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredApplicationInformer constructs a new informer for Application type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredApplicationInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.OrchestrationV1alpha1().Applications(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.OrchestrationV1alpha1().Applications(namespace).Watch(options)
+ },
+ },
+ &orchestrationv1alpha1.Application{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *applicationInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredApplicationInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *applicationInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&orchestrationv1alpha1.Application{}, f.defaultInformer)
+}
+
+func (f *applicationInformer) Lister() v1alpha1.ApplicationLister {
+ return v1alpha1.NewApplicationLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/applicationdraft.go b/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/applicationdraft.go
new file mode 100644
index 000000000..7b53878f8
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/applicationdraft.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/orchestration/v1alpha1"
+ orchestrationv1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ApplicationDraftInformer provides access to a shared informer and lister for
+// ApplicationDrafts.
+type ApplicationDraftInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ApplicationDraftLister
+}
+
+type applicationDraftInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewApplicationDraftInformer constructs a new informer for ApplicationDraft type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewApplicationDraftInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredApplicationDraftInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredApplicationDraftInformer constructs a new informer for ApplicationDraft type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredApplicationDraftInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.OrchestrationV1alpha1().ApplicationDrafts(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.OrchestrationV1alpha1().ApplicationDrafts(namespace).Watch(options)
+ },
+ },
+ &orchestrationv1alpha1.ApplicationDraft{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *applicationDraftInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredApplicationDraftInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *applicationDraftInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&orchestrationv1alpha1.ApplicationDraft{}, f.defaultInformer)
+}
+
+func (f *applicationDraftInformer) Lister() v1alpha1.ApplicationDraftLister {
+ return v1alpha1.NewApplicationDraftLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/interface.go
new file mode 100644
index 000000000..c8c4119f7
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/orchestration/v1alpha1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Applications returns a ApplicationInformer.
+ Applications() ApplicationInformer
+ // ApplicationDrafts returns a ApplicationDraftInformer.
+ ApplicationDrafts() ApplicationDraftInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Applications returns a ApplicationInformer.
+func (v *version) Applications() ApplicationInformer {
+ return &applicationInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// ApplicationDrafts returns a ApplicationDraftInformer.
+func (v *version) ApplicationDrafts() ApplicationDraftInformer {
+ return &applicationDraftInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/release/interface.go b/vendor/github.com/caicloud/clientset/custominformers/release/interface.go
new file mode 100644
index 000000000..2e5038869
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/release/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package release
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/release/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/canaryrelease.go b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/canaryrelease.go
new file mode 100644
index 000000000..bc7ae3dfa
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/canaryrelease.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/release/v1alpha1"
+ releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// CanaryReleaseInformer provides access to a shared informer and lister for
+// CanaryReleases.
+type CanaryReleaseInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.CanaryReleaseLister
+}
+
+type canaryReleaseInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewCanaryReleaseInformer constructs a new informer for CanaryRelease type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewCanaryReleaseInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredCanaryReleaseInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredCanaryReleaseInformer constructs a new informer for CanaryRelease type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredCanaryReleaseInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ReleaseV1alpha1().CanaryReleases(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ReleaseV1alpha1().CanaryReleases(namespace).Watch(options)
+ },
+ },
+ &releasev1alpha1.CanaryRelease{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *canaryReleaseInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredCanaryReleaseInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *canaryReleaseInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&releasev1alpha1.CanaryRelease{}, f.defaultInformer)
+}
+
+func (f *canaryReleaseInformer) Lister() v1alpha1.CanaryReleaseLister {
+ return v1alpha1.NewCanaryReleaseLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/interface.go
new file mode 100644
index 000000000..34837497c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/interface.go
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // CanaryReleases returns a CanaryReleaseInformer.
+ CanaryReleases() CanaryReleaseInformer
+ // Releases returns a ReleaseInformer.
+ Releases() ReleaseInformer
+ // ReleaseHistories returns a ReleaseHistoryInformer.
+ ReleaseHistories() ReleaseHistoryInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// CanaryReleases returns a CanaryReleaseInformer.
+func (v *version) CanaryReleases() CanaryReleaseInformer {
+ return &canaryReleaseInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// Releases returns a ReleaseInformer.
+func (v *version) Releases() ReleaseInformer {
+ return &releaseInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// ReleaseHistories returns a ReleaseHistoryInformer.
+func (v *version) ReleaseHistories() ReleaseHistoryInformer {
+ return &releaseHistoryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/release.go b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/release.go
new file mode 100644
index 000000000..66672b5da
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/release.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/release/v1alpha1"
+ releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ReleaseInformer provides access to a shared informer and lister for
+// Releases.
+type ReleaseInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ReleaseLister
+}
+
+type releaseInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewReleaseInformer constructs a new informer for Release type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewReleaseInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredReleaseInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredReleaseInformer constructs a new informer for Release type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredReleaseInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ReleaseV1alpha1().Releases(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ReleaseV1alpha1().Releases(namespace).Watch(options)
+ },
+ },
+ &releasev1alpha1.Release{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *releaseInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredReleaseInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *releaseInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&releasev1alpha1.Release{}, f.defaultInformer)
+}
+
+func (f *releaseInformer) Lister() v1alpha1.ReleaseLister {
+ return v1alpha1.NewReleaseLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/releasehistory.go b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/releasehistory.go
new file mode 100644
index 000000000..ff2bc30ce
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/release/v1alpha1/releasehistory.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/release/v1alpha1"
+ releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ReleaseHistoryInformer provides access to a shared informer and lister for
+// ReleaseHistories.
+type ReleaseHistoryInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ReleaseHistoryLister
+}
+
+type releaseHistoryInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewReleaseHistoryInformer constructs a new informer for ReleaseHistory type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewReleaseHistoryInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredReleaseHistoryInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredReleaseHistoryInformer constructs a new informer for ReleaseHistory type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredReleaseHistoryInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ReleaseV1alpha1().ReleaseHistories(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ReleaseV1alpha1().ReleaseHistories(namespace).Watch(options)
+ },
+ },
+ &releasev1alpha1.ReleaseHistory{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *releaseHistoryInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredReleaseHistoryInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *releaseHistoryInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&releasev1alpha1.ReleaseHistory{}, f.defaultInformer)
+}
+
+func (f *releaseHistoryInformer) Lister() v1alpha1.ReleaseHistoryLister {
+ return v1alpha1.NewReleaseHistoryLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/interface.go b/vendor/github.com/caicloud/clientset/custominformers/resource/interface.go
new file mode 100644
index 000000000..5f96bb477
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/interface.go
@@ -0,0 +1,42 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package resource
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/resource/v1alpha1"
+ v1beta1 "github.com/caicloud/clientset/custominformers/resource/v1beta1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1beta1 provides access to shared informers for resources in V1beta1.
+ V1beta1() v1beta1.Interface
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1beta1 returns a new v1beta1.Interface.
+func (g *group) V1beta1() v1beta1.Interface {
+ return v1beta1.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/interface.go
new file mode 100644
index 000000000..409098eec
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // StorageServices returns a StorageServiceInformer.
+ StorageServices() StorageServiceInformer
+ // StorageTypes returns a StorageTypeInformer.
+ StorageTypes() StorageTypeInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// StorageServices returns a StorageServiceInformer.
+func (v *version) StorageServices() StorageServiceInformer {
+ return &storageServiceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// StorageTypes returns a StorageTypeInformer.
+func (v *version) StorageTypes() StorageTypeInformer {
+ return &storageTypeInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/storageservice.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/storageservice.go
new file mode 100644
index 000000000..bd8fbbfcc
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/storageservice.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/resource/v1alpha1"
+ resourcev1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// StorageServiceInformer provides access to a shared informer and lister for
+// StorageServices.
+type StorageServiceInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.StorageServiceLister
+}
+
+type storageServiceInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewStorageServiceInformer constructs a new informer for StorageService type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewStorageServiceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredStorageServiceInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredStorageServiceInformer constructs a new informer for StorageService type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredStorageServiceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1alpha1().StorageServices().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1alpha1().StorageServices().Watch(options)
+ },
+ },
+ &resourcev1alpha1.StorageService{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *storageServiceInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredStorageServiceInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *storageServiceInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1alpha1.StorageService{}, f.defaultInformer)
+}
+
+func (f *storageServiceInformer) Lister() v1alpha1.StorageServiceLister {
+ return v1alpha1.NewStorageServiceLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/storagetype.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/storagetype.go
new file mode 100644
index 000000000..05b392977
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1alpha1/storagetype.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/resource/v1alpha1"
+ resourcev1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// StorageTypeInformer provides access to a shared informer and lister for
+// StorageTypes.
+type StorageTypeInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.StorageTypeLister
+}
+
+type storageTypeInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewStorageTypeInformer constructs a new informer for StorageType type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewStorageTypeInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredStorageTypeInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredStorageTypeInformer constructs a new informer for StorageType type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredStorageTypeInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1alpha1().StorageTypes().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1alpha1().StorageTypes().Watch(options)
+ },
+ },
+ &resourcev1alpha1.StorageType{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *storageTypeInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredStorageTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *storageTypeInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1alpha1.StorageType{}, f.defaultInformer)
+}
+
+func (f *storageTypeInformer) Lister() v1alpha1.StorageTypeLister {
+ return v1alpha1.NewStorageTypeLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/cluster.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/cluster.go
new file mode 100644
index 000000000..9af304b32
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/cluster.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ClusterInformer provides access to a shared informer and lister for
+// Clusters.
+type ClusterInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.ClusterLister
+}
+
+type clusterInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewClusterInformer constructs a new informer for Cluster type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewClusterInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredClusterInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredClusterInformer constructs a new informer for Cluster type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredClusterInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Clusters().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Clusters().Watch(options)
+ },
+ },
+ &resourcev1beta1.Cluster{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *clusterInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredClusterInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *clusterInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.Cluster{}, f.defaultInformer)
+}
+
+func (f *clusterInformer) Lister() v1beta1.ClusterLister {
+ return v1beta1.NewClusterLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/config.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/config.go
new file mode 100644
index 000000000..0fdc3ecf4
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/config.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ConfigInformer provides access to a shared informer and lister for
+// Configs.
+type ConfigInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.ConfigLister
+}
+
+type configInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewConfigInformer constructs a new informer for Config type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewConfigInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredConfigInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredConfigInformer constructs a new informer for Config type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredConfigInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Configs().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Configs().Watch(options)
+ },
+ },
+ &resourcev1beta1.Config{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *configInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredConfigInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *configInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.Config{}, f.defaultInformer)
+}
+
+func (f *configInformer) Lister() v1beta1.ConfigLister {
+ return v1beta1.NewConfigLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/extendedresource.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/extendedresource.go
new file mode 100644
index 000000000..76f0766ec
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/extendedresource.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ExtendedResourceInformer provides access to a shared informer and lister for
+// ExtendedResources.
+type ExtendedResourceInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.ExtendedResourceLister
+}
+
+type extendedResourceInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewExtendedResourceInformer constructs a new informer for ExtendedResource type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewExtendedResourceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredExtendedResourceInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredExtendedResourceInformer constructs a new informer for ExtendedResource type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredExtendedResourceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().ExtendedResources().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().ExtendedResources().Watch(options)
+ },
+ },
+ &resourcev1beta1.ExtendedResource{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *extendedResourceInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredExtendedResourceInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *extendedResourceInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.ExtendedResource{}, f.defaultInformer)
+}
+
+func (f *extendedResourceInformer) Lister() v1beta1.ExtendedResourceLister {
+ return v1beta1.NewExtendedResourceLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/infranetwork.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/infranetwork.go
new file mode 100644
index 000000000..e0395a484
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/infranetwork.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// InfraNetworkInformer provides access to a shared informer and lister for
+// InfraNetworks.
+type InfraNetworkInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.InfraNetworkLister
+}
+
+type infraNetworkInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewInfraNetworkInformer constructs a new informer for InfraNetwork type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewInfraNetworkInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredInfraNetworkInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredInfraNetworkInformer constructs a new informer for InfraNetwork type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredInfraNetworkInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().InfraNetworks().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().InfraNetworks().Watch(options)
+ },
+ },
+ &resourcev1beta1.InfraNetwork{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *infraNetworkInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredInfraNetworkInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *infraNetworkInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.InfraNetwork{}, f.defaultInformer)
+}
+
+func (f *infraNetworkInformer) Lister() v1beta1.InfraNetworkLister {
+ return v1beta1.NewInfraNetworkLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/interface.go
new file mode 100644
index 000000000..7d23d8b4c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/interface.go
@@ -0,0 +1,138 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Clusters returns a ClusterInformer.
+ Clusters() ClusterInformer
+ // Configs returns a ConfigInformer.
+ Configs() ConfigInformer
+ // ExtendedResources returns a ExtendedResourceInformer.
+ ExtendedResources() ExtendedResourceInformer
+ // InfraNetworks returns a InfraNetworkInformer.
+ InfraNetworks() InfraNetworkInformer
+ // Machines returns a MachineInformer.
+ Machines() MachineInformer
+ // MachineAutoScalingGroups returns a MachineAutoScalingGroupInformer.
+ MachineAutoScalingGroups() MachineAutoScalingGroupInformer
+ // Networks returns a NetworkInformer.
+ Networks() NetworkInformer
+ // NodeClaims returns a NodeClaimInformer.
+ NodeClaims() NodeClaimInformer
+ // NodeLocalStorages returns a NodeLocalStorageInformer.
+ NodeLocalStorages() NodeLocalStorageInformer
+ // RequirementGaps returns a RequirementGapInformer.
+ RequirementGaps() RequirementGapInformer
+ // ResourceClasses returns a ResourceClassInformer.
+ ResourceClasses() ResourceClassInformer
+ // Snapshots returns a SnapshotInformer.
+ Snapshots() SnapshotInformer
+ // StorageServices returns a StorageServiceInformer.
+ StorageServices() StorageServiceInformer
+ // StorageTypes returns a StorageTypeInformer.
+ StorageTypes() StorageTypeInformer
+ // Tags returns a TagInformer.
+ Tags() TagInformer
+ // WorkloadNetworks returns a WorkloadNetworkInformer.
+ WorkloadNetworks() WorkloadNetworkInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Clusters returns a ClusterInformer.
+func (v *version) Clusters() ClusterInformer {
+ return &clusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Configs returns a ConfigInformer.
+func (v *version) Configs() ConfigInformer {
+ return &configInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// ExtendedResources returns a ExtendedResourceInformer.
+func (v *version) ExtendedResources() ExtendedResourceInformer {
+ return &extendedResourceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// InfraNetworks returns a InfraNetworkInformer.
+func (v *version) InfraNetworks() InfraNetworkInformer {
+ return &infraNetworkInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Machines returns a MachineInformer.
+func (v *version) Machines() MachineInformer {
+ return &machineInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// MachineAutoScalingGroups returns a MachineAutoScalingGroupInformer.
+func (v *version) MachineAutoScalingGroups() MachineAutoScalingGroupInformer {
+ return &machineAutoScalingGroupInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Networks returns a NetworkInformer.
+func (v *version) Networks() NetworkInformer {
+ return &networkInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// NodeClaims returns a NodeClaimInformer.
+func (v *version) NodeClaims() NodeClaimInformer {
+ return &nodeClaimInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// NodeLocalStorages returns a NodeLocalStorageInformer.
+func (v *version) NodeLocalStorages() NodeLocalStorageInformer {
+ return &nodeLocalStorageInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// RequirementGaps returns a RequirementGapInformer.
+func (v *version) RequirementGaps() RequirementGapInformer {
+ return &requirementGapInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// ResourceClasses returns a ResourceClassInformer.
+func (v *version) ResourceClasses() ResourceClassInformer {
+ return &resourceClassInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Snapshots returns a SnapshotInformer.
+func (v *version) Snapshots() SnapshotInformer {
+ return &snapshotInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// StorageServices returns a StorageServiceInformer.
+func (v *version) StorageServices() StorageServiceInformer {
+ return &storageServiceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// StorageTypes returns a StorageTypeInformer.
+func (v *version) StorageTypes() StorageTypeInformer {
+ return &storageTypeInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Tags returns a TagInformer.
+func (v *version) Tags() TagInformer {
+ return &tagInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// WorkloadNetworks returns a WorkloadNetworkInformer.
+func (v *version) WorkloadNetworks() WorkloadNetworkInformer {
+ return &workloadNetworkInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/machine.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/machine.go
new file mode 100644
index 000000000..947602c59
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/machine.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MachineInformer provides access to a shared informer and lister for
+// Machines.
+type MachineInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.MachineLister
+}
+
+type machineInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewMachineInformer constructs a new informer for Machine type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMachineInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMachineInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMachineInformer constructs a new informer for Machine type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMachineInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Machines().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Machines().Watch(options)
+ },
+ },
+ &resourcev1beta1.Machine{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *machineInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMachineInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *machineInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.Machine{}, f.defaultInformer)
+}
+
+func (f *machineInformer) Lister() v1beta1.MachineLister {
+ return v1beta1.NewMachineLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/machineautoscalinggroup.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/machineautoscalinggroup.go
new file mode 100644
index 000000000..a4d1d5ca9
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/machineautoscalinggroup.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// MachineAutoScalingGroupInformer provides access to a shared informer and lister for
+// MachineAutoScalingGroups.
+type MachineAutoScalingGroupInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.MachineAutoScalingGroupLister
+}
+
+type machineAutoScalingGroupInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewMachineAutoScalingGroupInformer constructs a new informer for MachineAutoScalingGroup type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewMachineAutoScalingGroupInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredMachineAutoScalingGroupInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredMachineAutoScalingGroupInformer constructs a new informer for MachineAutoScalingGroup type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredMachineAutoScalingGroupInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().MachineAutoScalingGroups().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().MachineAutoScalingGroups().Watch(options)
+ },
+ },
+ &resourcev1beta1.MachineAutoScalingGroup{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *machineAutoScalingGroupInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredMachineAutoScalingGroupInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *machineAutoScalingGroupInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.MachineAutoScalingGroup{}, f.defaultInformer)
+}
+
+func (f *machineAutoScalingGroupInformer) Lister() v1beta1.MachineAutoScalingGroupLister {
+ return v1beta1.NewMachineAutoScalingGroupLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/network.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/network.go
new file mode 100644
index 000000000..93e0894ac
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/network.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// NetworkInformer provides access to a shared informer and lister for
+// Networks.
+type NetworkInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.NetworkLister
+}
+
+type networkInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewNetworkInformer constructs a new informer for Network type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewNetworkInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredNetworkInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredNetworkInformer constructs a new informer for Network type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredNetworkInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Networks().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Networks().Watch(options)
+ },
+ },
+ &resourcev1beta1.Network{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *networkInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredNetworkInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *networkInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.Network{}, f.defaultInformer)
+}
+
+func (f *networkInformer) Lister() v1beta1.NetworkLister {
+ return v1beta1.NewNetworkLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/nodeclaim.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/nodeclaim.go
new file mode 100644
index 000000000..9183b6b90
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/nodeclaim.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// NodeClaimInformer provides access to a shared informer and lister for
+// NodeClaims.
+type NodeClaimInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.NodeClaimLister
+}
+
+type nodeClaimInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewNodeClaimInformer constructs a new informer for NodeClaim type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewNodeClaimInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredNodeClaimInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredNodeClaimInformer constructs a new informer for NodeClaim type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredNodeClaimInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().NodeClaims().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().NodeClaims().Watch(options)
+ },
+ },
+ &resourcev1beta1.NodeClaim{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *nodeClaimInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredNodeClaimInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *nodeClaimInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.NodeClaim{}, f.defaultInformer)
+}
+
+func (f *nodeClaimInformer) Lister() v1beta1.NodeClaimLister {
+ return v1beta1.NewNodeClaimLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/nodelocalstorage.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/nodelocalstorage.go
new file mode 100644
index 000000000..5e5089da9
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/nodelocalstorage.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// NodeLocalStorageInformer provides access to a shared informer and lister for
+// NodeLocalStorages.
+type NodeLocalStorageInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.NodeLocalStorageLister
+}
+
+type nodeLocalStorageInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewNodeLocalStorageInformer constructs a new informer for NodeLocalStorage type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewNodeLocalStorageInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredNodeLocalStorageInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredNodeLocalStorageInformer constructs a new informer for NodeLocalStorage type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredNodeLocalStorageInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().NodeLocalStorages().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().NodeLocalStorages().Watch(options)
+ },
+ },
+ &resourcev1beta1.NodeLocalStorage{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *nodeLocalStorageInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredNodeLocalStorageInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *nodeLocalStorageInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.NodeLocalStorage{}, f.defaultInformer)
+}
+
+func (f *nodeLocalStorageInformer) Lister() v1beta1.NodeLocalStorageLister {
+ return v1beta1.NewNodeLocalStorageLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/requirementgap.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/requirementgap.go
new file mode 100644
index 000000000..9d69bfec5
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/requirementgap.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// RequirementGapInformer provides access to a shared informer and lister for
+// RequirementGaps.
+type RequirementGapInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.RequirementGapLister
+}
+
+type requirementGapInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewRequirementGapInformer constructs a new informer for RequirementGap type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewRequirementGapInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredRequirementGapInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredRequirementGapInformer constructs a new informer for RequirementGap type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredRequirementGapInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().RequirementGaps().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().RequirementGaps().Watch(options)
+ },
+ },
+ &resourcev1beta1.RequirementGap{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *requirementGapInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredRequirementGapInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *requirementGapInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.RequirementGap{}, f.defaultInformer)
+}
+
+func (f *requirementGapInformer) Lister() v1beta1.RequirementGapLister {
+ return v1beta1.NewRequirementGapLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/resourceclass.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/resourceclass.go
new file mode 100644
index 000000000..74cd8b933
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/resourceclass.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ResourceClassInformer provides access to a shared informer and lister for
+// ResourceClasses.
+type ResourceClassInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.ResourceClassLister
+}
+
+type resourceClassInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewResourceClassInformer constructs a new informer for ResourceClass type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewResourceClassInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredResourceClassInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredResourceClassInformer constructs a new informer for ResourceClass type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredResourceClassInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().ResourceClasses().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().ResourceClasses().Watch(options)
+ },
+ },
+ &resourcev1beta1.ResourceClass{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *resourceClassInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredResourceClassInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *resourceClassInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.ResourceClass{}, f.defaultInformer)
+}
+
+func (f *resourceClassInformer) Lister() v1beta1.ResourceClassLister {
+ return v1beta1.NewResourceClassLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/snapshot.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/snapshot.go
new file mode 100644
index 000000000..ccca041d6
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/snapshot.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// SnapshotInformer provides access to a shared informer and lister for
+// Snapshots.
+type SnapshotInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.SnapshotLister
+}
+
+type snapshotInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewSnapshotInformer constructs a new informer for Snapshot type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewSnapshotInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredSnapshotInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredSnapshotInformer constructs a new informer for Snapshot type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredSnapshotInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Snapshots(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Snapshots(namespace).Watch(options)
+ },
+ },
+ &resourcev1beta1.Snapshot{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *snapshotInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredSnapshotInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *snapshotInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.Snapshot{}, f.defaultInformer)
+}
+
+func (f *snapshotInformer) Lister() v1beta1.SnapshotLister {
+ return v1beta1.NewSnapshotLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/storageservice.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/storageservice.go
new file mode 100644
index 000000000..6a859bb7f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/storageservice.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// StorageServiceInformer provides access to a shared informer and lister for
+// StorageServices.
+type StorageServiceInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.StorageServiceLister
+}
+
+type storageServiceInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewStorageServiceInformer constructs a new informer for StorageService type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewStorageServiceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredStorageServiceInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredStorageServiceInformer constructs a new informer for StorageService type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredStorageServiceInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().StorageServices().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().StorageServices().Watch(options)
+ },
+ },
+ &resourcev1beta1.StorageService{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *storageServiceInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredStorageServiceInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *storageServiceInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.StorageService{}, f.defaultInformer)
+}
+
+func (f *storageServiceInformer) Lister() v1beta1.StorageServiceLister {
+ return v1beta1.NewStorageServiceLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/storagetype.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/storagetype.go
new file mode 100644
index 000000000..effcd1de0
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/storagetype.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// StorageTypeInformer provides access to a shared informer and lister for
+// StorageTypes.
+type StorageTypeInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.StorageTypeLister
+}
+
+type storageTypeInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewStorageTypeInformer constructs a new informer for StorageType type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewStorageTypeInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredStorageTypeInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredStorageTypeInformer constructs a new informer for StorageType type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredStorageTypeInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().StorageTypes().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().StorageTypes().Watch(options)
+ },
+ },
+ &resourcev1beta1.StorageType{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *storageTypeInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredStorageTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *storageTypeInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.StorageType{}, f.defaultInformer)
+}
+
+func (f *storageTypeInformer) Lister() v1beta1.StorageTypeLister {
+ return v1beta1.NewStorageTypeLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/tag.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/tag.go
new file mode 100644
index 000000000..0fc57568d
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/tag.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// TagInformer provides access to a shared informer and lister for
+// Tags.
+type TagInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.TagLister
+}
+
+type tagInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewTagInformer constructs a new informer for Tag type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewTagInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredTagInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredTagInformer constructs a new informer for Tag type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredTagInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Tags().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().Tags().Watch(options)
+ },
+ },
+ &resourcev1beta1.Tag{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *tagInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredTagInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *tagInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.Tag{}, f.defaultInformer)
+}
+
+func (f *tagInformer) Lister() v1beta1.TagLister {
+ return v1beta1.NewTagLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/workloadnetwork.go b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/workloadnetwork.go
new file mode 100644
index 000000000..dd4bfd021
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/resource/v1beta1/workloadnetwork.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
+ resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// WorkloadNetworkInformer provides access to a shared informer and lister for
+// WorkloadNetworks.
+type WorkloadNetworkInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.WorkloadNetworkLister
+}
+
+type workloadNetworkInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewWorkloadNetworkInformer constructs a new informer for WorkloadNetwork type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewWorkloadNetworkInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredWorkloadNetworkInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredWorkloadNetworkInformer constructs a new informer for WorkloadNetwork type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredWorkloadNetworkInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().WorkloadNetworks(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ResourceV1beta1().WorkloadNetworks(namespace).Watch(options)
+ },
+ },
+ &resourcev1beta1.WorkloadNetwork{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *workloadNetworkInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredWorkloadNetworkInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *workloadNetworkInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&resourcev1beta1.WorkloadNetwork{}, f.defaultInformer)
+}
+
+func (f *workloadNetworkInformer) Lister() v1beta1.WorkloadNetworkLister {
+ return v1beta1.NewWorkloadNetworkLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/servicemesh/interface.go b/vendor/github.com/caicloud/clientset/custominformers/servicemesh/interface.go
new file mode 100644
index 000000000..7142dbb35
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/servicemesh/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package servicemesh
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1/interface.go
new file mode 100644
index 000000000..7a58f7c89
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Istios returns a IstioInformer.
+ Istios() IstioInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Istios returns a IstioInformer.
+func (v *version) Istios() IstioInformer {
+ return &istioInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1/istio.go b/vendor/github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1/istio.go
new file mode 100644
index 000000000..53c6d21b2
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/servicemesh/v1alpha1/istio.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/servicemesh/v1alpha1"
+ servicemeshv1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// IstioInformer provides access to a shared informer and lister for
+// Istios.
+type IstioInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.IstioLister
+}
+
+type istioInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewIstioInformer constructs a new informer for Istio type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewIstioInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredIstioInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredIstioInformer constructs a new informer for Istio type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredIstioInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ServicemeshV1alpha1().Istios().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ServicemeshV1alpha1().Istios().Watch(options)
+ },
+ },
+ &servicemeshv1alpha1.Istio{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *istioInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredIstioInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *istioInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&servicemeshv1alpha1.Istio{}, f.defaultInformer)
+}
+
+func (f *istioInformer) Lister() v1alpha1.IstioLister {
+ return v1alpha1.NewIstioLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/serving/interface.go b/vendor/github.com/caicloud/clientset/custominformers/serving/interface.go
new file mode 100644
index 000000000..8e04ca8b1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/serving/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package serving
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/serving/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/interface.go
new file mode 100644
index 000000000..d4e484fda
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Scenes returns a SceneInformer.
+ Scenes() SceneInformer
+ // Servings returns a ServingInformer.
+ Servings() ServingInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Scenes returns a SceneInformer.
+func (v *version) Scenes() SceneInformer {
+ return &sceneInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// Servings returns a ServingInformer.
+func (v *version) Servings() ServingInformer {
+ return &servingInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/scene.go b/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/scene.go
new file mode 100644
index 000000000..333d32cc7
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/scene.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/serving/v1alpha1"
+ servingv1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// SceneInformer provides access to a shared informer and lister for
+// Scenes.
+type SceneInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.SceneLister
+}
+
+type sceneInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewSceneInformer constructs a new informer for Scene type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewSceneInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredSceneInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredSceneInformer constructs a new informer for Scene type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredSceneInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ServingV1alpha1().Scenes(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ServingV1alpha1().Scenes(namespace).Watch(options)
+ },
+ },
+ &servingv1alpha1.Scene{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *sceneInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredSceneInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *sceneInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&servingv1alpha1.Scene{}, f.defaultInformer)
+}
+
+func (f *sceneInformer) Lister() v1alpha1.SceneLister {
+ return v1alpha1.NewSceneLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/serving.go b/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/serving.go
new file mode 100644
index 000000000..34d9a5403
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/serving/v1alpha1/serving.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/serving/v1alpha1"
+ servingv1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ServingInformer provides access to a shared informer and lister for
+// Servings.
+type ServingInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ServingLister
+}
+
+type servingInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewServingInformer constructs a new informer for Serving type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewServingInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredServingInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredServingInformer constructs a new informer for Serving type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredServingInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ServingV1alpha1().Servings(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.ServingV1alpha1().Servings(namespace).Watch(options)
+ },
+ },
+ &servingv1alpha1.Serving{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *servingInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredServingInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *servingInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&servingv1alpha1.Serving{}, f.defaultInformer)
+}
+
+func (f *servingInformer) Lister() v1alpha1.ServingLister {
+ return v1alpha1.NewServingLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/tenant/interface.go b/vendor/github.com/caicloud/clientset/custominformers/tenant/interface.go
new file mode 100644
index 000000000..9a5707f68
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/tenant/interface.go
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package tenant
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/tenant/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/clusterquota.go b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/clusterquota.go
new file mode 100644
index 000000000..119380017
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/clusterquota.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/tenant/v1alpha1"
+ tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// ClusterQuotaInformer provides access to a shared informer and lister for
+// ClusterQuotas.
+type ClusterQuotaInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.ClusterQuotaLister
+}
+
+type clusterQuotaInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewClusterQuotaInformer constructs a new informer for ClusterQuota type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewClusterQuotaInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredClusterQuotaInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredClusterQuotaInformer constructs a new informer for ClusterQuota type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredClusterQuotaInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.TenantV1alpha1().ClusterQuotas().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.TenantV1alpha1().ClusterQuotas().Watch(options)
+ },
+ },
+ &tenantv1alpha1.ClusterQuota{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *clusterQuotaInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredClusterQuotaInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *clusterQuotaInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&tenantv1alpha1.ClusterQuota{}, f.defaultInformer)
+}
+
+func (f *clusterQuotaInformer) Lister() v1alpha1.ClusterQuotaLister {
+ return v1alpha1.NewClusterQuotaLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/interface.go
new file mode 100644
index 000000000..304be48ac
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/interface.go
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // ClusterQuotas returns a ClusterQuotaInformer.
+ ClusterQuotas() ClusterQuotaInformer
+ // Partitions returns a PartitionInformer.
+ Partitions() PartitionInformer
+ // Tenants returns a TenantInformer.
+ Tenants() TenantInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// ClusterQuotas returns a ClusterQuotaInformer.
+func (v *version) ClusterQuotas() ClusterQuotaInformer {
+ return &clusterQuotaInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Partitions returns a PartitionInformer.
+func (v *version) Partitions() PartitionInformer {
+ return &partitionInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
+
+// Tenants returns a TenantInformer.
+func (v *version) Tenants() TenantInformer {
+ return &tenantInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/partition.go b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/partition.go
new file mode 100644
index 000000000..a1c6e3ccf
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/partition.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/tenant/v1alpha1"
+ tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// PartitionInformer provides access to a shared informer and lister for
+// Partitions.
+type PartitionInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.PartitionLister
+}
+
+type partitionInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewPartitionInformer constructs a new informer for Partition type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewPartitionInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredPartitionInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredPartitionInformer constructs a new informer for Partition type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredPartitionInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.TenantV1alpha1().Partitions().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.TenantV1alpha1().Partitions().Watch(options)
+ },
+ },
+ &tenantv1alpha1.Partition{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *partitionInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredPartitionInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *partitionInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&tenantv1alpha1.Partition{}, f.defaultInformer)
+}
+
+func (f *partitionInformer) Lister() v1alpha1.PartitionLister {
+ return v1alpha1.NewPartitionLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/tenant.go b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/tenant.go
new file mode 100644
index 000000000..f8686e760
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/tenant/v1alpha1/tenant.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/tenant/v1alpha1"
+ tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// TenantInformer provides access to a shared informer and lister for
+// Tenants.
+type TenantInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.TenantLister
+}
+
+type tenantInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// NewTenantInformer constructs a new informer for Tenant type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewTenantInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredTenantInformer(client, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredTenantInformer constructs a new informer for Tenant type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredTenantInformer(client customclient.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.TenantV1alpha1().Tenants().List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.TenantV1alpha1().Tenants().Watch(options)
+ },
+ },
+ &tenantv1alpha1.Tenant{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *tenantInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredTenantInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *tenantInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&tenantv1alpha1.Tenant{}, f.defaultInformer)
+}
+
+func (f *tenantInformer) Lister() v1alpha1.TenantLister {
+ return v1alpha1.NewTenantLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/workload/interface.go b/vendor/github.com/caicloud/clientset/custominformers/workload/interface.go
new file mode 100644
index 000000000..edbd84a3b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/workload/interface.go
@@ -0,0 +1,42 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package workload
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/custominformers/workload/v1alpha1"
+ v1beta1 "github.com/caicloud/clientset/custominformers/workload/v1beta1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+ // V1beta1 provides access to shared informers for resources in V1beta1.
+ V1beta1() v1beta1.Interface
+ // V1alpha1 provides access to shared informers for resources in V1alpha1.
+ V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1beta1 returns a new v1beta1.Interface.
+func (g *group) V1beta1() v1beta1.Interface {
+ return v1beta1.New(g.factory, g.namespace, g.tweakListOptions)
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+ return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/interface.go
new file mode 100644
index 000000000..e3d4b4c78
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/interface.go
@@ -0,0 +1,40 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Workloads returns a WorkloadInformer.
+ Workloads() WorkloadInformer
+ // WorkloadRevisions returns a WorkloadRevisionInformer.
+ WorkloadRevisions() WorkloadRevisionInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Workloads returns a WorkloadInformer.
+func (v *version) Workloads() WorkloadInformer {
+ return &workloadInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// WorkloadRevisions returns a WorkloadRevisionInformer.
+func (v *version) WorkloadRevisions() WorkloadRevisionInformer {
+ return &workloadRevisionInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/workload.go b/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/workload.go
new file mode 100644
index 000000000..137838b0e
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/workload.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/workload/v1alpha1"
+ workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// WorkloadInformer provides access to a shared informer and lister for
+// Workloads.
+type WorkloadInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.WorkloadLister
+}
+
+type workloadInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewWorkloadInformer constructs a new informer for Workload type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewWorkloadInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredWorkloadInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredWorkloadInformer constructs a new informer for Workload type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredWorkloadInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.WorkloadV1alpha1().Workloads(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.WorkloadV1alpha1().Workloads(namespace).Watch(options)
+ },
+ },
+ &workloadv1alpha1.Workload{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *workloadInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredWorkloadInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *workloadInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&workloadv1alpha1.Workload{}, f.defaultInformer)
+}
+
+func (f *workloadInformer) Lister() v1alpha1.WorkloadLister {
+ return v1alpha1.NewWorkloadLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/workloadrevision.go b/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/workloadrevision.go
new file mode 100644
index 000000000..9804d0ea3
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/workload/v1alpha1/workloadrevision.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1alpha1 "github.com/caicloud/clientset/listers/workload/v1alpha1"
+ workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// WorkloadRevisionInformer provides access to a shared informer and lister for
+// WorkloadRevisions.
+type WorkloadRevisionInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1alpha1.WorkloadRevisionLister
+}
+
+type workloadRevisionInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewWorkloadRevisionInformer constructs a new informer for WorkloadRevision type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewWorkloadRevisionInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredWorkloadRevisionInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredWorkloadRevisionInformer constructs a new informer for WorkloadRevision type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredWorkloadRevisionInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.WorkloadV1alpha1().WorkloadRevisions(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.WorkloadV1alpha1().WorkloadRevisions(namespace).Watch(options)
+ },
+ },
+ &workloadv1alpha1.WorkloadRevision{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *workloadRevisionInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredWorkloadRevisionInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *workloadRevisionInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&workloadv1alpha1.WorkloadRevision{}, f.defaultInformer)
+}
+
+func (f *workloadRevisionInformer) Lister() v1alpha1.WorkloadRevisionLister {
+ return v1alpha1.NewWorkloadRevisionLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/workload/v1beta1/interface.go b/vendor/github.com/caicloud/clientset/custominformers/workload/v1beta1/interface.go
new file mode 100644
index 000000000..31400b9df
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/workload/v1beta1/interface.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+ // Workloads returns a WorkloadInformer.
+ Workloads() WorkloadInformer
+}
+
+type version struct {
+ factory internalinterfaces.SharedInformerFactory
+ namespace string
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+ return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// Workloads returns a WorkloadInformer.
+func (v *version) Workloads() WorkloadInformer {
+ return &workloadInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/vendor/github.com/caicloud/clientset/custominformers/workload/v1beta1/workload.go b/vendor/github.com/caicloud/clientset/custominformers/workload/v1beta1/workload.go
new file mode 100644
index 000000000..14a0652c2
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/custominformers/workload/v1beta1/workload.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ time "time"
+
+ customclient "github.com/caicloud/clientset/customclient"
+ internalinterfaces "github.com/caicloud/clientset/custominformers/internalinterfaces"
+ v1beta1 "github.com/caicloud/clientset/listers/workload/v1beta1"
+ workloadv1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ runtime "k8s.io/apimachinery/pkg/runtime"
+ watch "k8s.io/apimachinery/pkg/watch"
+ cache "k8s.io/client-go/tools/cache"
+)
+
+// WorkloadInformer provides access to a shared informer and lister for
+// Workloads.
+type WorkloadInformer interface {
+ Informer() cache.SharedIndexInformer
+ Lister() v1beta1.WorkloadLister
+}
+
+type workloadInformer struct {
+ factory internalinterfaces.SharedInformerFactory
+ tweakListOptions internalinterfaces.TweakListOptionsFunc
+ namespace string
+}
+
+// NewWorkloadInformer constructs a new informer for Workload type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewWorkloadInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+ return NewFilteredWorkloadInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredWorkloadInformer constructs a new informer for Workload type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredWorkloadInformer(client customclient.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
+ return cache.NewSharedIndexInformer(
+ &cache.ListWatch{
+ ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.WorkloadV1beta1().Workloads(namespace).List(options)
+ },
+ WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+ if tweakListOptions != nil {
+ tweakListOptions(&options)
+ }
+ return client.WorkloadV1beta1().Workloads(namespace).Watch(options)
+ },
+ },
+ &workloadv1beta1.Workload{},
+ resyncPeriod,
+ indexers,
+ )
+}
+
+func (f *workloadInformer) defaultInformer(client customclient.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+ return NewFilteredWorkloadInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *workloadInformer) Informer() cache.SharedIndexInformer {
+ return f.factory.InformerFor(&workloadv1beta1.Workload{}, f.defaultInformer)
+}
+
+func (f *workloadInformer) Lister() v1beta1.WorkloadLister {
+ return v1beta1.NewWorkloadLister(f.Informer().GetIndexer())
+}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/interface.go b/vendor/github.com/caicloud/clientset/informers/alerting/interface.go
deleted file mode 100644
index ce236ff07..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/interface.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package alerting
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/alerting/v1alpha1"
- v1alpha2 "github.com/caicloud/clientset/informers/alerting/v1alpha2"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha2 provides access to shared informers for resources in V1alpha2.
- V1alpha2() v1alpha2.Interface
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha2 returns a new v1alpha2.Interface.
-func (g *group) V1alpha2() v1alpha2.Interface {
- return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/alertingrule.go b/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/alertingrule.go
deleted file mode 100644
index d16d1d69d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/alertingrule.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/alerting/v1alpha1"
- alertingv1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// AlertingRuleInformer provides access to a shared informer and lister for
-// AlertingRules.
-type AlertingRuleInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.AlertingRuleLister
-}
-
-type alertingRuleInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewAlertingRuleInformer constructs a new informer for AlertingRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewAlertingRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredAlertingRuleInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredAlertingRuleInformer constructs a new informer for AlertingRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredAlertingRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha1().AlertingRules().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha1().AlertingRules().Watch(options)
- },
- },
- &alertingv1alpha1.AlertingRule{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *alertingRuleInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredAlertingRuleInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *alertingRuleInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&alertingv1alpha1.AlertingRule{}, f.defaultInformer)
-}
-
-func (f *alertingRuleInformer) Lister() v1alpha1.AlertingRuleLister {
- return v1alpha1.NewAlertingRuleLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/alertingsubrule.go
deleted file mode 100644
index 5fa365cb2..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/alertingsubrule.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/alerting/v1alpha1"
- alertingv1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// AlertingSubRuleInformer provides access to a shared informer and lister for
-// AlertingSubRules.
-type AlertingSubRuleInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.AlertingSubRuleLister
-}
-
-type alertingSubRuleInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewAlertingSubRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredAlertingSubRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha1().AlertingSubRules().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha1().AlertingSubRules().Watch(options)
- },
- },
- &alertingv1alpha1.AlertingSubRule{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *alertingSubRuleInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredAlertingSubRuleInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *alertingSubRuleInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&alertingv1alpha1.AlertingSubRule{}, f.defaultInformer)
-}
-
-func (f *alertingSubRuleInformer) Lister() v1alpha1.AlertingSubRuleLister {
- return v1alpha1.NewAlertingSubRuleLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/interface.go
deleted file mode 100644
index e6bb79149..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha1/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // AlertingRules returns a AlertingRuleInformer.
- AlertingRules() AlertingRuleInformer
- // AlertingSubRules returns a AlertingSubRuleInformer.
- AlertingSubRules() AlertingSubRuleInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// AlertingRules returns a AlertingRuleInformer.
-func (v *version) AlertingRules() AlertingRuleInformer {
- return &alertingRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// AlertingSubRules returns a AlertingSubRuleInformer.
-func (v *version) AlertingSubRules() AlertingSubRuleInformer {
- return &alertingSubRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/alertingrule.go b/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/alertingrule.go
deleted file mode 100644
index 54efb165c..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/alertingrule.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/alerting/v1alpha2"
- alertingv1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// AlertingRuleInformer provides access to a shared informer and lister for
-// AlertingRules.
-type AlertingRuleInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.AlertingRuleLister
-}
-
-type alertingRuleInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewAlertingRuleInformer constructs a new informer for AlertingRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewAlertingRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredAlertingRuleInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredAlertingRuleInformer constructs a new informer for AlertingRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredAlertingRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha2().AlertingRules().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha2().AlertingRules().Watch(options)
- },
- },
- &alertingv1alpha2.AlertingRule{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *alertingRuleInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredAlertingRuleInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *alertingRuleInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&alertingv1alpha2.AlertingRule{}, f.defaultInformer)
-}
-
-func (f *alertingRuleInformer) Lister() v1alpha2.AlertingRuleLister {
- return v1alpha2.NewAlertingRuleLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/alertingsubrule.go b/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/alertingsubrule.go
deleted file mode 100644
index a7b270187..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/alertingsubrule.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/alerting/v1alpha2"
- alertingv1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// AlertingSubRuleInformer provides access to a shared informer and lister for
-// AlertingSubRules.
-type AlertingSubRuleInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.AlertingSubRuleLister
-}
-
-type alertingSubRuleInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewAlertingSubRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredAlertingSubRuleInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredAlertingSubRuleInformer constructs a new informer for AlertingSubRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredAlertingSubRuleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha2().AlertingSubRules().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.AlertingV1alpha2().AlertingSubRules().Watch(options)
- },
- },
- &alertingv1alpha2.AlertingSubRule{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *alertingSubRuleInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredAlertingSubRuleInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *alertingSubRuleInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&alertingv1alpha2.AlertingSubRule{}, f.defaultInformer)
-}
-
-func (f *alertingSubRuleInformer) Lister() v1alpha2.AlertingSubRuleLister {
- return v1alpha2.NewAlertingSubRuleLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/interface.go
deleted file mode 100644
index 95e4dd9ce..000000000
--- a/vendor/github.com/caicloud/clientset/informers/alerting/v1alpha2/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // AlertingRules returns a AlertingRuleInformer.
- AlertingRules() AlertingRuleInformer
- // AlertingSubRules returns a AlertingSubRuleInformer.
- AlertingSubRules() AlertingSubRuleInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// AlertingRules returns a AlertingRuleInformer.
-func (v *version) AlertingRules() AlertingRuleInformer {
- return &alertingRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// AlertingSubRules returns a AlertingSubRuleInformer.
-func (v *version) AlertingSubRules() AlertingSubRuleInformer {
- return &alertingSubRuleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/apiextensions/interface.go b/vendor/github.com/caicloud/clientset/informers/apiextensions/interface.go
deleted file mode 100644
index 6b9fceed5..000000000
--- a/vendor/github.com/caicloud/clientset/informers/apiextensions/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package apiextensions
-
-import (
- v1beta1 "github.com/caicloud/clientset/informers/apiextensions/v1beta1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1beta1 provides access to shared informers for resources in V1beta1.
- V1beta1() v1beta1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1beta1 returns a new v1beta1.Interface.
-func (g *group) V1beta1() v1beta1.Interface {
- return v1beta1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/apiextensions/v1beta1/customresourcedefinition.go b/vendor/github.com/caicloud/clientset/informers/apiextensions/v1beta1/customresourcedefinition.go
deleted file mode 100644
index 36cd616d8..000000000
--- a/vendor/github.com/caicloud/clientset/informers/apiextensions/v1beta1/customresourcedefinition.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/apiextensions/v1beta1"
- apiextensionsv1beta1 "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// CustomResourceDefinitionInformer provides access to a shared informer and lister for
-// CustomResourceDefinitions.
-type CustomResourceDefinitionInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.CustomResourceDefinitionLister
-}
-
-type customResourceDefinitionInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewCustomResourceDefinitionInformer constructs a new informer for CustomResourceDefinition type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewCustomResourceDefinitionInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredCustomResourceDefinitionInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredCustomResourceDefinitionInformer constructs a new informer for CustomResourceDefinition type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredCustomResourceDefinitionInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ApiextensionsV1beta1().CustomResourceDefinitions().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ApiextensionsV1beta1().CustomResourceDefinitions().Watch(options)
- },
- },
- &apiextensionsv1beta1.CustomResourceDefinition{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *customResourceDefinitionInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredCustomResourceDefinitionInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *customResourceDefinitionInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&apiextensionsv1beta1.CustomResourceDefinition{}, f.defaultInformer)
-}
-
-func (f *customResourceDefinitionInformer) Lister() v1beta1.CustomResourceDefinitionLister {
- return v1beta1.NewCustomResourceDefinitionLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/apiextensions/v1beta1/interface.go b/vendor/github.com/caicloud/clientset/informers/apiextensions/v1beta1/interface.go
deleted file mode 100644
index 6fa1d3c6d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/apiextensions/v1beta1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // CustomResourceDefinitions returns a CustomResourceDefinitionInformer.
- CustomResourceDefinitions() CustomResourceDefinitionInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// CustomResourceDefinitions returns a CustomResourceDefinitionInformer.
-func (v *version) CustomResourceDefinitions() CustomResourceDefinitionInformer {
- return &customResourceDefinitionInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/apiregistration/interface.go b/vendor/github.com/caicloud/clientset/informers/apiregistration/interface.go
deleted file mode 100644
index 4c7fe0c03..000000000
--- a/vendor/github.com/caicloud/clientset/informers/apiregistration/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package apiregistration
-
-import (
- v1 "github.com/caicloud/clientset/informers/apiregistration/v1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1 provides access to shared informers for resources in V1.
- V1() v1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1 returns a new v1.Interface.
-func (g *group) V1() v1.Interface {
- return v1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/apiregistration/v1/apiservice.go b/vendor/github.com/caicloud/clientset/informers/apiregistration/v1/apiservice.go
deleted file mode 100644
index 81594e79e..000000000
--- a/vendor/github.com/caicloud/clientset/informers/apiregistration/v1/apiservice.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1 "github.com/caicloud/clientset/listers/apiregistration/v1"
- apiregistrationv1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// APIServiceInformer provides access to a shared informer and lister for
-// APIServices.
-type APIServiceInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1.APIServiceLister
-}
-
-type aPIServiceInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewAPIServiceInformer constructs a new informer for APIService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewAPIServiceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredAPIServiceInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredAPIServiceInformer constructs a new informer for APIService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredAPIServiceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options metav1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ApiregistrationV1().APIServices().List(options)
- },
- WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ApiregistrationV1().APIServices().Watch(options)
- },
- },
- &apiregistrationv1.APIService{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *aPIServiceInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredAPIServiceInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *aPIServiceInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&apiregistrationv1.APIService{}, f.defaultInformer)
-}
-
-func (f *aPIServiceInformer) Lister() v1.APIServiceLister {
- return v1.NewAPIServiceLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/apiregistration/v1/interface.go b/vendor/github.com/caicloud/clientset/informers/apiregistration/v1/interface.go
deleted file mode 100644
index adf9bcef7..000000000
--- a/vendor/github.com/caicloud/clientset/informers/apiregistration/v1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // APIServices returns a APIServiceInformer.
- APIServices() APIServiceInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// APIServices returns a APIServiceInformer.
-func (v *version) APIServices() APIServiceInformer {
- return &aPIServiceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/interface.go b/vendor/github.com/caicloud/clientset/informers/clever/interface.go
deleted file mode 100644
index cf40a63c6..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/interface.go
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package clever
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/clever/v1alpha1"
- v1alpha2 "github.com/caicloud/clientset/informers/clever/v1alpha2"
- v1alpha3 "github.com/caicloud/clientset/informers/clever/v1alpha3"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha3 provides access to shared informers for resources in V1alpha3.
- V1alpha3() v1alpha3.Interface
- // V1alpha2 provides access to shared informers for resources in V1alpha2.
- V1alpha2() v1alpha2.Interface
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha3 returns a new v1alpha3.Interface.
-func (g *group) V1alpha3() v1alpha3.Interface {
- return v1alpha3.New(g.factory, g.namespace, g.tweakListOptions)
-}
-
-// V1alpha2 returns a new v1alpha2.Interface.
-func (g *group) V1alpha2() v1alpha2.Interface {
- return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/flavor.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/flavor.go
deleted file mode 100644
index b0945f46e..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/flavor.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/clever/v1alpha1"
- cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// FlavorInformer provides access to a shared informer and lister for
-// Flavors.
-type FlavorInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.FlavorLister
-}
-
-type flavorInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewFlavorInformer constructs a new informer for Flavor type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFlavorInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredFlavorInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredFlavorInformer constructs a new informer for Flavor type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredFlavorInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha1().Flavors().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha1().Flavors().Watch(options)
- },
- },
- &cleverv1alpha1.Flavor{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *flavorInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredFlavorInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *flavorInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha1.Flavor{}, f.defaultInformer)
-}
-
-func (f *flavorInformer) Lister() v1alpha1.FlavorLister {
- return v1alpha1.NewFlavorLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/interface.go
deleted file mode 100644
index 5c3bf2481..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/interface.go
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Flavors returns a FlavorInformer.
- Flavors() FlavorInformer
- // Projects returns a ProjectInformer.
- Projects() ProjectInformer
- // Templates returns a TemplateInformer.
- Templates() TemplateInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Flavors returns a FlavorInformer.
-func (v *version) Flavors() FlavorInformer {
- return &flavorInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Projects returns a ProjectInformer.
-func (v *version) Projects() ProjectInformer {
- return &projectInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// Templates returns a TemplateInformer.
-func (v *version) Templates() TemplateInformer {
- return &templateInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/project.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/project.go
deleted file mode 100644
index 28a5bdd4d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/project.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/clever/v1alpha1"
- cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ProjectInformer provides access to a shared informer and lister for
-// Projects.
-type ProjectInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ProjectLister
-}
-
-type projectInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewProjectInformer constructs a new informer for Project type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewProjectInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredProjectInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredProjectInformer constructs a new informer for Project type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredProjectInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha1().Projects(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha1().Projects(namespace).Watch(options)
- },
- },
- &cleverv1alpha1.Project{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *projectInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredProjectInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *projectInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha1.Project{}, f.defaultInformer)
-}
-
-func (f *projectInformer) Lister() v1alpha1.ProjectLister {
- return v1alpha1.NewProjectLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/template.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/template.go
deleted file mode 100644
index d7749957e..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha1/template.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/clever/v1alpha1"
- cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// TemplateInformer provides access to a shared informer and lister for
-// Templates.
-type TemplateInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.TemplateLister
-}
-
-type templateInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewTemplateInformer constructs a new informer for Template type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewTemplateInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredTemplateInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredTemplateInformer constructs a new informer for Template type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredTemplateInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha1().Templates().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha1().Templates().Watch(options)
- },
- },
- &cleverv1alpha1.Template{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *templateInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredTemplateInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *templateInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha1.Template{}, f.defaultInformer)
-}
-
-func (f *templateInformer) Lister() v1alpha1.TemplateLister {
- return v1alpha1.NewTemplateLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/flavor.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/flavor.go
deleted file mode 100644
index 0d7496c81..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/flavor.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
- cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// FlavorInformer provides access to a shared informer and lister for
-// Flavors.
-type FlavorInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.FlavorLister
-}
-
-type flavorInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewFlavorInformer constructs a new informer for Flavor type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFlavorInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredFlavorInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredFlavorInformer constructs a new informer for Flavor type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredFlavorInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().Flavors().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().Flavors().Watch(options)
- },
- },
- &cleverv1alpha2.Flavor{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *flavorInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredFlavorInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *flavorInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha2.Flavor{}, f.defaultInformer)
-}
-
-func (f *flavorInformer) Lister() v1alpha2.FlavorLister {
- return v1alpha2.NewFlavorLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/interface.go
deleted file mode 100644
index ff1f18b86..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/interface.go
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Flavors returns a FlavorInformer.
- Flavors() FlavorInformer
- // MLNeurons returns a MLNeuronInformer.
- MLNeurons() MLNeuronInformer
- // MLNeuronTaskOwners returns a MLNeuronTaskOwnerInformer.
- MLNeuronTaskOwners() MLNeuronTaskOwnerInformer
- // Projects returns a ProjectInformer.
- Projects() ProjectInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Flavors returns a FlavorInformer.
-func (v *version) Flavors() FlavorInformer {
- return &flavorInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// MLNeurons returns a MLNeuronInformer.
-func (v *version) MLNeurons() MLNeuronInformer {
- return &mLNeuronInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// MLNeuronTaskOwners returns a MLNeuronTaskOwnerInformer.
-func (v *version) MLNeuronTaskOwners() MLNeuronTaskOwnerInformer {
- return &mLNeuronTaskOwnerInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// Projects returns a ProjectInformer.
-func (v *version) Projects() ProjectInformer {
- return &projectInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/mlneuron.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/mlneuron.go
deleted file mode 100644
index 89faddc37..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/mlneuron.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
- cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MLNeuronInformer provides access to a shared informer and lister for
-// MLNeurons.
-type MLNeuronInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.MLNeuronLister
-}
-
-type mLNeuronInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewMLNeuronInformer constructs a new informer for MLNeuron type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMLNeuronInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMLNeuronInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMLNeuronInformer constructs a new informer for MLNeuron type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMLNeuronInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().MLNeurons(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().MLNeurons(namespace).Watch(options)
- },
- },
- &cleverv1alpha2.MLNeuron{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *mLNeuronInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMLNeuronInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *mLNeuronInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha2.MLNeuron{}, f.defaultInformer)
-}
-
-func (f *mLNeuronInformer) Lister() v1alpha2.MLNeuronLister {
- return v1alpha2.NewMLNeuronLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/mlneurontaskowner.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/mlneurontaskowner.go
deleted file mode 100644
index f078304ca..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/mlneurontaskowner.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
- cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MLNeuronTaskOwnerInformer provides access to a shared informer and lister for
-// MLNeuronTaskOwners.
-type MLNeuronTaskOwnerInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.MLNeuronTaskOwnerLister
-}
-
-type mLNeuronTaskOwnerInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewMLNeuronTaskOwnerInformer constructs a new informer for MLNeuronTaskOwner type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMLNeuronTaskOwnerInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMLNeuronTaskOwnerInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMLNeuronTaskOwnerInformer constructs a new informer for MLNeuronTaskOwner type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMLNeuronTaskOwnerInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().MLNeuronTaskOwners(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().MLNeuronTaskOwners(namespace).Watch(options)
- },
- },
- &cleverv1alpha2.MLNeuronTaskOwner{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *mLNeuronTaskOwnerInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMLNeuronTaskOwnerInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *mLNeuronTaskOwnerInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha2.MLNeuronTaskOwner{}, f.defaultInformer)
-}
-
-func (f *mLNeuronTaskOwnerInformer) Lister() v1alpha2.MLNeuronTaskOwnerLister {
- return v1alpha2.NewMLNeuronTaskOwnerLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/project.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/project.go
deleted file mode 100644
index 4c057d674..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha2/project.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/clever/v1alpha2"
- cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ProjectInformer provides access to a shared informer and lister for
-// Projects.
-type ProjectInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.ProjectLister
-}
-
-type projectInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewProjectInformer constructs a new informer for Project type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewProjectInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredProjectInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredProjectInformer constructs a new informer for Project type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredProjectInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().Projects(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha2().Projects(namespace).Watch(options)
- },
- },
- &cleverv1alpha2.Project{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *projectInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredProjectInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *projectInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha2.Project{}, f.defaultInformer)
-}
-
-func (f *projectInformer) Lister() v1alpha2.ProjectLister {
- return v1alpha2.NewProjectLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/flavor.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/flavor.go
deleted file mode 100644
index 1f4075efd..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/flavor.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
- cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// FlavorInformer provides access to a shared informer and lister for
-// Flavors.
-type FlavorInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha3.FlavorLister
-}
-
-type flavorInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewFlavorInformer constructs a new informer for Flavor type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFlavorInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredFlavorInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredFlavorInformer constructs a new informer for Flavor type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredFlavorInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().Flavors().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().Flavors().Watch(options)
- },
- },
- &cleverv1alpha3.Flavor{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *flavorInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredFlavorInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *flavorInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha3.Flavor{}, f.defaultInformer)
-}
-
-func (f *flavorInformer) Lister() v1alpha3.FlavorLister {
- return v1alpha3.NewFlavorLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/interface.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/interface.go
deleted file mode 100644
index f258ea003..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/interface.go
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Flavors returns a FlavorInformer.
- Flavors() FlavorInformer
- // MLNeurons returns a MLNeuronInformer.
- MLNeurons() MLNeuronInformer
- // MLProjects returns a MLProjectInformer.
- MLProjects() MLProjectInformer
- // MLTasks returns a MLTaskInformer.
- MLTasks() MLTaskInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Flavors returns a FlavorInformer.
-func (v *version) Flavors() FlavorInformer {
- return &flavorInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// MLNeurons returns a MLNeuronInformer.
-func (v *version) MLNeurons() MLNeuronInformer {
- return &mLNeuronInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// MLProjects returns a MLProjectInformer.
-func (v *version) MLProjects() MLProjectInformer {
- return &mLProjectInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// MLTasks returns a MLTaskInformer.
-func (v *version) MLTasks() MLTaskInformer {
- return &mLTaskInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mlneuron.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mlneuron.go
deleted file mode 100644
index db211022d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mlneuron.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
- cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MLNeuronInformer provides access to a shared informer and lister for
-// MLNeurons.
-type MLNeuronInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha3.MLNeuronLister
-}
-
-type mLNeuronInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewMLNeuronInformer constructs a new informer for MLNeuron type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMLNeuronInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMLNeuronInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMLNeuronInformer constructs a new informer for MLNeuron type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMLNeuronInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().MLNeurons(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().MLNeurons(namespace).Watch(options)
- },
- },
- &cleverv1alpha3.MLNeuron{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *mLNeuronInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMLNeuronInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *mLNeuronInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha3.MLNeuron{}, f.defaultInformer)
-}
-
-func (f *mLNeuronInformer) Lister() v1alpha3.MLNeuronLister {
- return v1alpha3.NewMLNeuronLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mlproject.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mlproject.go
deleted file mode 100644
index 6d582885b..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mlproject.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
- cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MLProjectInformer provides access to a shared informer and lister for
-// MLProjects.
-type MLProjectInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha3.MLProjectLister
-}
-
-type mLProjectInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewMLProjectInformer constructs a new informer for MLProject type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMLProjectInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMLProjectInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMLProjectInformer constructs a new informer for MLProject type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMLProjectInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().MLProjects(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().MLProjects(namespace).Watch(options)
- },
- },
- &cleverv1alpha3.MLProject{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *mLProjectInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMLProjectInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *mLProjectInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha3.MLProject{}, f.defaultInformer)
-}
-
-func (f *mLProjectInformer) Lister() v1alpha3.MLProjectLister {
- return v1alpha3.NewMLProjectLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mltask.go b/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mltask.go
deleted file mode 100644
index b87b0c9a1..000000000
--- a/vendor/github.com/caicloud/clientset/informers/clever/v1alpha3/mltask.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha3 "github.com/caicloud/clientset/listers/clever/v1alpha3"
- cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MLTaskInformer provides access to a shared informer and lister for
-// MLTasks.
-type MLTaskInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha3.MLTaskLister
-}
-
-type mLTaskInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewMLTaskInformer constructs a new informer for MLTask type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMLTaskInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMLTaskInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMLTaskInformer constructs a new informer for MLTask type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMLTaskInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().MLTasks(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CleverV1alpha3().MLTasks(namespace).Watch(options)
- },
- },
- &cleverv1alpha3.MLTask{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *mLTaskInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMLTaskInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *mLTaskInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cleverv1alpha3.MLTask{}, f.defaultInformer)
-}
-
-func (f *mLTaskInformer) Lister() v1alpha3.MLTaskLister {
- return v1alpha3.NewMLTaskLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/cnetworking/interface.go b/vendor/github.com/caicloud/clientset/informers/cnetworking/interface.go
deleted file mode 100644
index 36c97ab4a..000000000
--- a/vendor/github.com/caicloud/clientset/informers/cnetworking/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package cnetworking
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/cnetworking/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/cnetworking/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/cnetworking/v1alpha1/interface.go
deleted file mode 100644
index 47e40b2b6..000000000
--- a/vendor/github.com/caicloud/clientset/informers/cnetworking/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // NetworkPolicies returns a NetworkPolicyInformer.
- NetworkPolicies() NetworkPolicyInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// NetworkPolicies returns a NetworkPolicyInformer.
-func (v *version) NetworkPolicies() NetworkPolicyInformer {
- return &networkPolicyInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/cnetworking/v1alpha1/networkpolicy.go b/vendor/github.com/caicloud/clientset/informers/cnetworking/v1alpha1/networkpolicy.go
deleted file mode 100644
index 1da230f02..000000000
--- a/vendor/github.com/caicloud/clientset/informers/cnetworking/v1alpha1/networkpolicy.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/cnetworking/v1alpha1"
- cnetworkingv1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// NetworkPolicyInformer provides access to a shared informer and lister for
-// NetworkPolicies.
-type NetworkPolicyInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.NetworkPolicyLister
-}
-
-type networkPolicyInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewNetworkPolicyInformer constructs a new informer for NetworkPolicy type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewNetworkPolicyInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredNetworkPolicyInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredNetworkPolicyInformer constructs a new informer for NetworkPolicy type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredNetworkPolicyInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CnetworkingV1alpha1().NetworkPolicies(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.CnetworkingV1alpha1().NetworkPolicies(namespace).Watch(options)
- },
- },
- &cnetworkingv1alpha1.NetworkPolicy{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *networkPolicyInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredNetworkPolicyInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *networkPolicyInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&cnetworkingv1alpha1.NetworkPolicy{}, f.defaultInformer)
-}
-
-func (f *networkPolicyInformer) Lister() v1alpha1.NetworkPolicyLister {
- return v1alpha1.NewNetworkPolicyLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/config/interface.go b/vendor/github.com/caicloud/clientset/informers/config/interface.go
deleted file mode 100644
index 76bfcf9ff..000000000
--- a/vendor/github.com/caicloud/clientset/informers/config/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package config
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/config/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/configclaim.go b/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/configclaim.go
deleted file mode 100644
index 55080b765..000000000
--- a/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/configclaim.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/config/v1alpha1"
- configv1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ConfigClaimInformer provides access to a shared informer and lister for
-// ConfigClaims.
-type ConfigClaimInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ConfigClaimLister
-}
-
-type configClaimInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewConfigClaimInformer constructs a new informer for ConfigClaim type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewConfigClaimInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredConfigClaimInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredConfigClaimInformer constructs a new informer for ConfigClaim type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredConfigClaimInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ConfigV1alpha1().ConfigClaims(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ConfigV1alpha1().ConfigClaims(namespace).Watch(options)
- },
- },
- &configv1alpha1.ConfigClaim{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *configClaimInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredConfigClaimInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *configClaimInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&configv1alpha1.ConfigClaim{}, f.defaultInformer)
-}
-
-func (f *configClaimInformer) Lister() v1alpha1.ConfigClaimLister {
- return v1alpha1.NewConfigClaimLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/configreference.go b/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/configreference.go
deleted file mode 100644
index 4f32b0b47..000000000
--- a/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/configreference.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/config/v1alpha1"
- configv1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ConfigReferenceInformer provides access to a shared informer and lister for
-// ConfigReferences.
-type ConfigReferenceInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ConfigReferenceLister
-}
-
-type configReferenceInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewConfigReferenceInformer constructs a new informer for ConfigReference type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewConfigReferenceInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredConfigReferenceInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredConfigReferenceInformer constructs a new informer for ConfigReference type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredConfigReferenceInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ConfigV1alpha1().ConfigReferences(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ConfigV1alpha1().ConfigReferences(namespace).Watch(options)
- },
- },
- &configv1alpha1.ConfigReference{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *configReferenceInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredConfigReferenceInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *configReferenceInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&configv1alpha1.ConfigReference{}, f.defaultInformer)
-}
-
-func (f *configReferenceInformer) Lister() v1alpha1.ConfigReferenceLister {
- return v1alpha1.NewConfigReferenceLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/interface.go
deleted file mode 100644
index 375133351..000000000
--- a/vendor/github.com/caicloud/clientset/informers/config/v1alpha1/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // ConfigClaims returns a ConfigClaimInformer.
- ConfigClaims() ConfigClaimInformer
- // ConfigReferences returns a ConfigReferenceInformer.
- ConfigReferences() ConfigReferenceInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// ConfigClaims returns a ConfigClaimInformer.
-func (v *version) ConfigClaims() ConfigClaimInformer {
- return &configClaimInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// ConfigReferences returns a ConfigReferenceInformer.
-func (v *version) ConfigReferences() ConfigReferenceInformer {
- return &configReferenceInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/dataset/interface.go b/vendor/github.com/caicloud/clientset/informers/dataset/interface.go
deleted file mode 100644
index 40962c03d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/dataset/interface.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package dataset
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/dataset/v1alpha1"
- v1alpha2 "github.com/caicloud/clientset/informers/dataset/v1alpha2"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha2 provides access to shared informers for resources in V1alpha2.
- V1alpha2() v1alpha2.Interface
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha2 returns a new v1alpha2.Interface.
-func (g *group) V1alpha2() v1alpha2.Interface {
- return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha1/dataset.go b/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha1/dataset.go
deleted file mode 100644
index 3aba57803..000000000
--- a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha1/dataset.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/dataset/v1alpha1"
- datasetv1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// DatasetInformer provides access to a shared informer and lister for
-// Datasets.
-type DatasetInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.DatasetLister
-}
-
-type datasetInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewDatasetInformer constructs a new informer for Dataset type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewDatasetInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredDatasetInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredDatasetInformer constructs a new informer for Dataset type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredDatasetInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.DatasetV1alpha1().Datasets().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.DatasetV1alpha1().Datasets().Watch(options)
- },
- },
- &datasetv1alpha1.Dataset{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *datasetInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredDatasetInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *datasetInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&datasetv1alpha1.Dataset{}, f.defaultInformer)
-}
-
-func (f *datasetInformer) Lister() v1alpha1.DatasetLister {
- return v1alpha1.NewDatasetLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha1/interface.go
deleted file mode 100644
index fba822d36..000000000
--- a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Datasets returns a DatasetInformer.
- Datasets() DatasetInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Datasets returns a DatasetInformer.
-func (v *version) Datasets() DatasetInformer {
- return &datasetInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha2/dataset.go b/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha2/dataset.go
deleted file mode 100644
index 03080a5fb..000000000
--- a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha2/dataset.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/dataset/v1alpha2"
- datasetv1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// DatasetInformer provides access to a shared informer and lister for
-// Datasets.
-type DatasetInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.DatasetLister
-}
-
-type datasetInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewDatasetInformer constructs a new informer for Dataset type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewDatasetInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredDatasetInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredDatasetInformer constructs a new informer for Dataset type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredDatasetInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.DatasetV1alpha2().Datasets().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.DatasetV1alpha2().Datasets().Watch(options)
- },
- },
- &datasetv1alpha2.Dataset{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *datasetInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredDatasetInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *datasetInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&datasetv1alpha2.Dataset{}, f.defaultInformer)
-}
-
-func (f *datasetInformer) Lister() v1alpha2.DatasetLister {
- return v1alpha2.NewDatasetLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha2/interface.go
deleted file mode 100644
index 59ff2139e..000000000
--- a/vendor/github.com/caicloud/clientset/informers/dataset/v1alpha2/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Datasets returns a DatasetInformer.
- Datasets() DatasetInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Datasets returns a DatasetInformer.
-func (v *version) Datasets() DatasetInformer {
- return &datasetInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/devops/interface.go b/vendor/github.com/caicloud/clientset/informers/devops/interface.go
deleted file mode 100644
index 65c45fca0..000000000
--- a/vendor/github.com/caicloud/clientset/informers/devops/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package devops
-
-import (
- v1 "github.com/caicloud/clientset/informers/devops/v1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1 provides access to shared informers for resources in V1.
- V1() v1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1 returns a new v1.Interface.
-func (g *group) V1() v1.Interface {
- return v1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/devops/v1/cargo.go b/vendor/github.com/caicloud/clientset/informers/devops/v1/cargo.go
deleted file mode 100644
index 808630f7f..000000000
--- a/vendor/github.com/caicloud/clientset/informers/devops/v1/cargo.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1 "github.com/caicloud/clientset/listers/devops/v1"
- devopsv1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// CargoInformer provides access to a shared informer and lister for
-// Cargos.
-type CargoInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1.CargoLister
-}
-
-type cargoInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewCargoInformer constructs a new informer for Cargo type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewCargoInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredCargoInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredCargoInformer constructs a new informer for Cargo type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredCargoInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options metav1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.DevopsV1().Cargos().List(options)
- },
- WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.DevopsV1().Cargos().Watch(options)
- },
- },
- &devopsv1.Cargo{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *cargoInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredCargoInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *cargoInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&devopsv1.Cargo{}, f.defaultInformer)
-}
-
-func (f *cargoInformer) Lister() v1.CargoLister {
- return v1.NewCargoLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/devops/v1/interface.go b/vendor/github.com/caicloud/clientset/informers/devops/v1/interface.go
deleted file mode 100644
index 63f15f774..000000000
--- a/vendor/github.com/caicloud/clientset/informers/devops/v1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Cargos returns a CargoInformer.
- Cargos() CargoInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Cargos returns a CargoInformer.
-func (v *version) Cargos() CargoInformer {
- return &cargoInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/evaluation/interface.go b/vendor/github.com/caicloud/clientset/informers/evaluation/interface.go
deleted file mode 100644
index ffad9a018..000000000
--- a/vendor/github.com/caicloud/clientset/informers/evaluation/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package evaluation
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/evaluation/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/evaluation/v1alpha1/evaljob.go b/vendor/github.com/caicloud/clientset/informers/evaluation/v1alpha1/evaljob.go
deleted file mode 100644
index 77faa5987..000000000
--- a/vendor/github.com/caicloud/clientset/informers/evaluation/v1alpha1/evaljob.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/evaluation/v1alpha1"
- evaluationv1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// EvalJobInformer provides access to a shared informer and lister for
-// EvalJobs.
-type EvalJobInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.EvalJobLister
-}
-
-type evalJobInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewEvalJobInformer constructs a new informer for EvalJob type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewEvalJobInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredEvalJobInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredEvalJobInformer constructs a new informer for EvalJob type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredEvalJobInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.EvaluationV1alpha1().EvalJobs(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.EvaluationV1alpha1().EvalJobs(namespace).Watch(options)
- },
- },
- &evaluationv1alpha1.EvalJob{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *evalJobInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredEvalJobInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *evalJobInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&evaluationv1alpha1.EvalJob{}, f.defaultInformer)
-}
-
-func (f *evalJobInformer) Lister() v1alpha1.EvalJobLister {
- return v1alpha1.NewEvalJobLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/evaluation/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/evaluation/v1alpha1/interface.go
deleted file mode 100644
index 5b00bbfaf..000000000
--- a/vendor/github.com/caicloud/clientset/informers/evaluation/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // EvalJobs returns a EvalJobInformer.
- EvalJobs() EvalJobInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// EvalJobs returns a EvalJobInformer.
-func (v *version) EvalJobs() EvalJobInformer {
- return &evalJobInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/factory.go b/vendor/github.com/caicloud/clientset/informers/factory.go
index 7cbf52d68..0861648bf 100644
--- a/vendor/github.com/caicloud/clientset/informers/factory.go
+++ b/vendor/github.com/caicloud/clientset/informers/factory.go
@@ -1,196 +1,66 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
package informers
import (
- time "time"
+ "fmt"
+ "time"
- alerting "github.com/caicloud/clientset/informers/alerting"
- apiextensions "github.com/caicloud/clientset/informers/apiextensions"
- apiregistration "github.com/caicloud/clientset/informers/apiregistration"
- clever "github.com/caicloud/clientset/informers/clever"
- cnetworking "github.com/caicloud/clientset/informers/cnetworking"
- config "github.com/caicloud/clientset/informers/config"
- dataset "github.com/caicloud/clientset/informers/dataset"
- devops "github.com/caicloud/clientset/informers/devops"
- evaluation "github.com/caicloud/clientset/informers/evaluation"
- loadbalance "github.com/caicloud/clientset/informers/loadbalance"
- logging "github.com/caicloud/clientset/informers/logging"
- microservice "github.com/caicloud/clientset/informers/microservice"
- model "github.com/caicloud/clientset/informers/model"
- orchestration "github.com/caicloud/clientset/informers/orchestration"
- release "github.com/caicloud/clientset/informers/release"
- resource "github.com/caicloud/clientset/informers/resource"
- servicemesh "github.com/caicloud/clientset/informers/servicemesh"
- serving "github.com/caicloud/clientset/informers/serving"
- tenant "github.com/caicloud/clientset/informers/tenant"
- workload "github.com/caicloud/clientset/informers/workload"
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1 "k8s.io/api/core/v1"
- informers "k8s.io/client-go/informers"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
+ "k8s.io/client-go/informers"
-// SharedInformerOption defines the functional option type for SharedInformerFactory.
-type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory
+ "github.com/caicloud/clientset/custominformers"
+ "github.com/caicloud/clientset/kubernetes"
+)
-type sharedInformerFactory struct {
- informers.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
+// SharedInformerFactory provides shared informers for resources in all known API group versions.
+type SharedInformerFactory interface {
+ Native() informers.SharedInformerFactory
+ Custom() custominformers.SharedInformerFactory
-// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory.
-func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption {
- return func(factory *sharedInformerFactory) *sharedInformerFactory {
- factory.tweakListOptions = tweakListOptions
- return factory
- }
+ Start(stopCh <-chan struct{})
+ WaitForCacheSync(stopCh <-chan struct{}) error
}
-// WithNamespace limits the SharedInformerFactory to the specified namespace.
-func WithNamespace(namespace string) SharedInformerOption {
- return func(factory *sharedInformerFactory) *sharedInformerFactory {
- factory.namespace = namespace
- return factory
- }
+type sharedInformerFactory struct {
+ nativeInformer informers.SharedInformerFactory
+ customInformer custominformers.SharedInformerFactory
}
// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces.
func NewSharedInformerFactory(client kubernetes.Interface, defaultResync time.Duration) SharedInformerFactory {
- return NewSharedInformerFactoryWithOptions(client, defaultResync)
-}
-
-// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory.
-// Listers obtained via this SharedInformerFactory will be subject to the same filters
-// as specified here.
-// Deprecated: Please use NewSharedInformerFactoryWithOptions instead
-func NewFilteredSharedInformerFactory(client kubernetes.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory {
- return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions))
-}
-
-// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options.
-func NewSharedInformerFactoryWithOptions(client kubernetes.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory {
- factory := &sharedInformerFactory{
- namespace: v1.NamespaceAll,
+ return &sharedInformerFactory{
+ nativeInformer: informers.NewSharedInformerFactory(client.Native(), defaultResync),
+ customInformer: custominformers.NewSharedInformerFactory(client.Custom(), defaultResync),
}
-
- // Apply all options
- for _, opt := range options {
- factory = opt(factory)
- }
-
- factory.SharedInformerFactory = informers.NewFilteredSharedInformerFactory(client, defaultResync, factory.namespace, factory.tweakListOptions)
- return factory
-}
-
-// SharedInformerFactory provides shared informers for resources in all known
-// API group versions.
-type SharedInformerFactory interface {
- informers.SharedInformerFactory
-
- Alerting() alerting.Interface
- Apiextensions() apiextensions.Interface
- Apiregistration() apiregistration.Interface
- Clever() clever.Interface
- Cnetworking() cnetworking.Interface
- Config() config.Interface
- Dataset() dataset.Interface
- Devops() devops.Interface
- Evaluation() evaluation.Interface
- Loadbalance() loadbalance.Interface
- Logging() logging.Interface
- Microservice() microservice.Interface
- Model() model.Interface
- Orchestration() orchestration.Interface
- Release() release.Interface
- Resource() resource.Interface
- Servicemesh() servicemesh.Interface
- Serving() serving.Interface
- Tenant() tenant.Interface
- Workload() workload.Interface
}
-func (f *sharedInformerFactory) Alerting() alerting.Interface {
- return alerting.New(f, f.namespace, f.tweakListOptions)
+// Native returns the standard kubernetes sharedInformerFactory.
+func (f *sharedInformerFactory) Native() informers.SharedInformerFactory {
+ return f.nativeInformer
}
-func (f *sharedInformerFactory) Apiextensions() apiextensions.Interface {
- return apiextensions.New(f, f.namespace, f.tweakListOptions)
+// Custom returns the sharedInformerFactory for our own API group.
+func (f *sharedInformerFactory) Custom() custominformers.SharedInformerFactory {
+ return f.customInformer
}
-func (f *sharedInformerFactory) Apiregistration() apiregistration.Interface {
- return apiregistration.New(f, f.namespace, f.tweakListOptions)
+// Start initializes all requested informers.
+func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) {
+ f.nativeInformer.Start(stopCh)
+ f.customInformer.Start(stopCh)
}
-func (f *sharedInformerFactory) Clever() clever.Interface {
- return clever.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Cnetworking() cnetworking.Interface {
- return cnetworking.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Config() config.Interface {
- return config.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Dataset() dataset.Interface {
- return dataset.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Devops() devops.Interface {
- return devops.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Evaluation() evaluation.Interface {
- return evaluation.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Loadbalance() loadbalance.Interface {
- return loadbalance.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Logging() logging.Interface {
- return logging.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Microservice() microservice.Interface {
- return microservice.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Model() model.Interface {
- return model.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Orchestration() orchestration.Interface {
- return orchestration.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Release() release.Interface {
- return release.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Resource() resource.Interface {
- return resource.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Servicemesh() servicemesh.Interface {
- return servicemesh.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Serving() serving.Interface {
- return serving.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Tenant() tenant.Interface {
- return tenant.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Workload() workload.Interface {
- return workload.New(f, f.namespace, f.tweakListOptions)
+// WaitForCacheSync waits for all started informers' cache were synced.
+func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) error {
+ coreResources := f.nativeInformer.WaitForCacheSync(stopCh)
+ for resType, syncd := range coreResources {
+ if !syncd {
+ return fmt.Errorf("native resource %s WaitForCacheSync failed", resType.Name())
+ }
+ }
+ customResources := f.customInformer.WaitForCacheSync(stopCh)
+ for resType, syncd := range customResources {
+ if !syncd {
+ return fmt.Errorf("custom resource %s WaitForCacheSync failed", resType.Name())
+ }
+ }
+ return nil
}
diff --git a/vendor/github.com/caicloud/clientset/informers/loadbalance/interface.go b/vendor/github.com/caicloud/clientset/informers/loadbalance/interface.go
deleted file mode 100644
index 767368d15..000000000
--- a/vendor/github.com/caicloud/clientset/informers/loadbalance/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package loadbalance
-
-import (
- v1alpha2 "github.com/caicloud/clientset/informers/loadbalance/v1alpha2"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha2 provides access to shared informers for resources in V1alpha2.
- V1alpha2() v1alpha2.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha2 returns a new v1alpha2.Interface.
-func (g *group) V1alpha2() v1alpha2.Interface {
- return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/loadbalance/v1alpha2/interface.go b/vendor/github.com/caicloud/clientset/informers/loadbalance/v1alpha2/interface.go
deleted file mode 100644
index 0514ba27d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/loadbalance/v1alpha2/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // LoadBalancers returns a LoadBalancerInformer.
- LoadBalancers() LoadBalancerInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// LoadBalancers returns a LoadBalancerInformer.
-func (v *version) LoadBalancers() LoadBalancerInformer {
- return &loadBalancerInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/loadbalance/v1alpha2/loadbalancer.go b/vendor/github.com/caicloud/clientset/informers/loadbalance/v1alpha2/loadbalancer.go
deleted file mode 100644
index ede7823de..000000000
--- a/vendor/github.com/caicloud/clientset/informers/loadbalance/v1alpha2/loadbalancer.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha2 "github.com/caicloud/clientset/listers/loadbalance/v1alpha2"
- loadbalancev1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// LoadBalancerInformer provides access to a shared informer and lister for
-// LoadBalancers.
-type LoadBalancerInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha2.LoadBalancerLister
-}
-
-type loadBalancerInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewLoadBalancerInformer constructs a new informer for LoadBalancer type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewLoadBalancerInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredLoadBalancerInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredLoadBalancerInformer constructs a new informer for LoadBalancer type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredLoadBalancerInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.LoadbalanceV1alpha2().LoadBalancers(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.LoadbalanceV1alpha2().LoadBalancers(namespace).Watch(options)
- },
- },
- &loadbalancev1alpha2.LoadBalancer{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *loadBalancerInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredLoadBalancerInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *loadBalancerInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&loadbalancev1alpha2.LoadBalancer{}, f.defaultInformer)
-}
-
-func (f *loadBalancerInformer) Lister() v1alpha2.LoadBalancerLister {
- return v1alpha2.NewLoadBalancerLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/logging/interface.go b/vendor/github.com/caicloud/clientset/informers/logging/interface.go
deleted file mode 100644
index 7aa74ab8b..000000000
--- a/vendor/github.com/caicloud/clientset/informers/logging/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package logging
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/logging/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/logging/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/logging/v1alpha1/interface.go
deleted file mode 100644
index 7f067fa16..000000000
--- a/vendor/github.com/caicloud/clientset/informers/logging/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // LogEndpoints returns a LogEndpointInformer.
- LogEndpoints() LogEndpointInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// LogEndpoints returns a LogEndpointInformer.
-func (v *version) LogEndpoints() LogEndpointInformer {
- return &logEndpointInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/logging/v1alpha1/logendpoint.go b/vendor/github.com/caicloud/clientset/informers/logging/v1alpha1/logendpoint.go
deleted file mode 100644
index 6758f7e7d..000000000
--- a/vendor/github.com/caicloud/clientset/informers/logging/v1alpha1/logendpoint.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/logging/v1alpha1"
- loggingv1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// LogEndpointInformer provides access to a shared informer and lister for
-// LogEndpoints.
-type LogEndpointInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.LogEndpointLister
-}
-
-type logEndpointInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewLogEndpointInformer constructs a new informer for LogEndpoint type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewLogEndpointInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredLogEndpointInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredLogEndpointInformer constructs a new informer for LogEndpoint type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredLogEndpointInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.LoggingV1alpha1().LogEndpoints().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.LoggingV1alpha1().LogEndpoints().Watch(options)
- },
- },
- &loggingv1alpha1.LogEndpoint{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *logEndpointInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredLogEndpointInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *logEndpointInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&loggingv1alpha1.LogEndpoint{}, f.defaultInformer)
-}
-
-func (f *logEndpointInformer) Lister() v1alpha1.LogEndpointLister {
- return v1alpha1.NewLogEndpointLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/microservice/interface.go b/vendor/github.com/caicloud/clientset/informers/microservice/interface.go
deleted file mode 100644
index c6741be98..000000000
--- a/vendor/github.com/caicloud/clientset/informers/microservice/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package microservice
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/microservice/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/microservice/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/microservice/v1alpha1/interface.go
deleted file mode 100644
index 6300772d1..000000000
--- a/vendor/github.com/caicloud/clientset/informers/microservice/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Springclouds returns a SpringcloudInformer.
- Springclouds() SpringcloudInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Springclouds returns a SpringcloudInformer.
-func (v *version) Springclouds() SpringcloudInformer {
- return &springcloudInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/microservice/v1alpha1/springcloud.go b/vendor/github.com/caicloud/clientset/informers/microservice/v1alpha1/springcloud.go
deleted file mode 100644
index 29a3b7230..000000000
--- a/vendor/github.com/caicloud/clientset/informers/microservice/v1alpha1/springcloud.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/microservice/v1alpha1"
- microservicev1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// SpringcloudInformer provides access to a shared informer and lister for
-// Springclouds.
-type SpringcloudInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.SpringcloudLister
-}
-
-type springcloudInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewSpringcloudInformer constructs a new informer for Springcloud type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewSpringcloudInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredSpringcloudInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredSpringcloudInformer constructs a new informer for Springcloud type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredSpringcloudInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.MicroserviceV1alpha1().Springclouds(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.MicroserviceV1alpha1().Springclouds(namespace).Watch(options)
- },
- },
- µservicev1alpha1.Springcloud{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *springcloudInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredSpringcloudInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *springcloudInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(µservicev1alpha1.Springcloud{}, f.defaultInformer)
-}
-
-func (f *springcloudInformer) Lister() v1alpha1.SpringcloudLister {
- return v1alpha1.NewSpringcloudLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/model/interface.go b/vendor/github.com/caicloud/clientset/informers/model/interface.go
deleted file mode 100644
index d957abf52..000000000
--- a/vendor/github.com/caicloud/clientset/informers/model/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package model
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/model/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/model/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/model/v1alpha1/interface.go
deleted file mode 100644
index 5e2073294..000000000
--- a/vendor/github.com/caicloud/clientset/informers/model/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Models returns a ModelInformer.
- Models() ModelInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Models returns a ModelInformer.
-func (v *version) Models() ModelInformer {
- return &modelInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/model/v1alpha1/model.go b/vendor/github.com/caicloud/clientset/informers/model/v1alpha1/model.go
deleted file mode 100644
index 084c99857..000000000
--- a/vendor/github.com/caicloud/clientset/informers/model/v1alpha1/model.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/model/v1alpha1"
- modelv1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ModelInformer provides access to a shared informer and lister for
-// Models.
-type ModelInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ModelLister
-}
-
-type modelInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewModelInformer constructs a new informer for Model type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewModelInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredModelInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredModelInformer constructs a new informer for Model type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredModelInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ModelV1alpha1().Models().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ModelV1alpha1().Models().Watch(options)
- },
- },
- &modelv1alpha1.Model{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *modelInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredModelInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *modelInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&modelv1alpha1.Model{}, f.defaultInformer)
-}
-
-func (f *modelInformer) Lister() v1alpha1.ModelLister {
- return v1alpha1.NewModelLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/orchestration/interface.go b/vendor/github.com/caicloud/clientset/informers/orchestration/interface.go
deleted file mode 100644
index 3a2a7cfdd..000000000
--- a/vendor/github.com/caicloud/clientset/informers/orchestration/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package orchestration
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/orchestration/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/application.go b/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/application.go
deleted file mode 100644
index ce4807bd9..000000000
--- a/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/application.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/orchestration/v1alpha1"
- orchestrationv1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ApplicationInformer provides access to a shared informer and lister for
-// Applications.
-type ApplicationInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ApplicationLister
-}
-
-type applicationInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewApplicationInformer constructs a new informer for Application type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewApplicationInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredApplicationInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredApplicationInformer constructs a new informer for Application type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredApplicationInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.OrchestrationV1alpha1().Applications(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.OrchestrationV1alpha1().Applications(namespace).Watch(options)
- },
- },
- &orchestrationv1alpha1.Application{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *applicationInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredApplicationInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *applicationInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&orchestrationv1alpha1.Application{}, f.defaultInformer)
-}
-
-func (f *applicationInformer) Lister() v1alpha1.ApplicationLister {
- return v1alpha1.NewApplicationLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/applicationdraft.go b/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/applicationdraft.go
deleted file mode 100644
index dd0338c22..000000000
--- a/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/applicationdraft.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/orchestration/v1alpha1"
- orchestrationv1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ApplicationDraftInformer provides access to a shared informer and lister for
-// ApplicationDrafts.
-type ApplicationDraftInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ApplicationDraftLister
-}
-
-type applicationDraftInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewApplicationDraftInformer constructs a new informer for ApplicationDraft type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewApplicationDraftInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredApplicationDraftInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredApplicationDraftInformer constructs a new informer for ApplicationDraft type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredApplicationDraftInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.OrchestrationV1alpha1().ApplicationDrafts(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.OrchestrationV1alpha1().ApplicationDrafts(namespace).Watch(options)
- },
- },
- &orchestrationv1alpha1.ApplicationDraft{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *applicationDraftInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredApplicationDraftInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *applicationDraftInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&orchestrationv1alpha1.ApplicationDraft{}, f.defaultInformer)
-}
-
-func (f *applicationDraftInformer) Lister() v1alpha1.ApplicationDraftLister {
- return v1alpha1.NewApplicationDraftLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/interface.go
deleted file mode 100644
index 7b0f59842..000000000
--- a/vendor/github.com/caicloud/clientset/informers/orchestration/v1alpha1/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Applications returns a ApplicationInformer.
- Applications() ApplicationInformer
- // ApplicationDrafts returns a ApplicationDraftInformer.
- ApplicationDrafts() ApplicationDraftInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Applications returns a ApplicationInformer.
-func (v *version) Applications() ApplicationInformer {
- return &applicationInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// ApplicationDrafts returns a ApplicationDraftInformer.
-func (v *version) ApplicationDrafts() ApplicationDraftInformer {
- return &applicationDraftInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/release/interface.go b/vendor/github.com/caicloud/clientset/informers/release/interface.go
deleted file mode 100644
index 397f9c7ff..000000000
--- a/vendor/github.com/caicloud/clientset/informers/release/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package release
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/release/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/canaryrelease.go b/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/canaryrelease.go
deleted file mode 100644
index a3fdc5d36..000000000
--- a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/canaryrelease.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/release/v1alpha1"
- releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// CanaryReleaseInformer provides access to a shared informer and lister for
-// CanaryReleases.
-type CanaryReleaseInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.CanaryReleaseLister
-}
-
-type canaryReleaseInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewCanaryReleaseInformer constructs a new informer for CanaryRelease type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewCanaryReleaseInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredCanaryReleaseInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredCanaryReleaseInformer constructs a new informer for CanaryRelease type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredCanaryReleaseInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ReleaseV1alpha1().CanaryReleases(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ReleaseV1alpha1().CanaryReleases(namespace).Watch(options)
- },
- },
- &releasev1alpha1.CanaryRelease{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *canaryReleaseInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredCanaryReleaseInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *canaryReleaseInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&releasev1alpha1.CanaryRelease{}, f.defaultInformer)
-}
-
-func (f *canaryReleaseInformer) Lister() v1alpha1.CanaryReleaseLister {
- return v1alpha1.NewCanaryReleaseLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/interface.go
deleted file mode 100644
index 951dbb96e..000000000
--- a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/interface.go
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // CanaryReleases returns a CanaryReleaseInformer.
- CanaryReleases() CanaryReleaseInformer
- // Releases returns a ReleaseInformer.
- Releases() ReleaseInformer
- // ReleaseHistories returns a ReleaseHistoryInformer.
- ReleaseHistories() ReleaseHistoryInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// CanaryReleases returns a CanaryReleaseInformer.
-func (v *version) CanaryReleases() CanaryReleaseInformer {
- return &canaryReleaseInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// Releases returns a ReleaseInformer.
-func (v *version) Releases() ReleaseInformer {
- return &releaseInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// ReleaseHistories returns a ReleaseHistoryInformer.
-func (v *version) ReleaseHistories() ReleaseHistoryInformer {
- return &releaseHistoryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/release.go b/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/release.go
deleted file mode 100644
index b63327edc..000000000
--- a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/release.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/release/v1alpha1"
- releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ReleaseInformer provides access to a shared informer and lister for
-// Releases.
-type ReleaseInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ReleaseLister
-}
-
-type releaseInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewReleaseInformer constructs a new informer for Release type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewReleaseInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredReleaseInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredReleaseInformer constructs a new informer for Release type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredReleaseInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ReleaseV1alpha1().Releases(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ReleaseV1alpha1().Releases(namespace).Watch(options)
- },
- },
- &releasev1alpha1.Release{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *releaseInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredReleaseInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *releaseInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&releasev1alpha1.Release{}, f.defaultInformer)
-}
-
-func (f *releaseInformer) Lister() v1alpha1.ReleaseLister {
- return v1alpha1.NewReleaseLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/releasehistory.go b/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/releasehistory.go
deleted file mode 100644
index b967f12a3..000000000
--- a/vendor/github.com/caicloud/clientset/informers/release/v1alpha1/releasehistory.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/release/v1alpha1"
- releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ReleaseHistoryInformer provides access to a shared informer and lister for
-// ReleaseHistories.
-type ReleaseHistoryInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ReleaseHistoryLister
-}
-
-type releaseHistoryInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewReleaseHistoryInformer constructs a new informer for ReleaseHistory type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewReleaseHistoryInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredReleaseHistoryInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredReleaseHistoryInformer constructs a new informer for ReleaseHistory type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredReleaseHistoryInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ReleaseV1alpha1().ReleaseHistories(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ReleaseV1alpha1().ReleaseHistories(namespace).Watch(options)
- },
- },
- &releasev1alpha1.ReleaseHistory{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *releaseHistoryInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredReleaseHistoryInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *releaseHistoryInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&releasev1alpha1.ReleaseHistory{}, f.defaultInformer)
-}
-
-func (f *releaseHistoryInformer) Lister() v1alpha1.ReleaseHistoryLister {
- return v1alpha1.NewReleaseHistoryLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/interface.go b/vendor/github.com/caicloud/clientset/informers/resource/interface.go
deleted file mode 100644
index 31b158961..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/interface.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package resource
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/resource/v1alpha1"
- v1beta1 "github.com/caicloud/clientset/informers/resource/v1beta1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1beta1 provides access to shared informers for resources in V1beta1.
- V1beta1() v1beta1.Interface
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1beta1 returns a new v1beta1.Interface.
-func (g *group) V1beta1() v1beta1.Interface {
- return v1beta1.New(g.factory, g.namespace, g.tweakListOptions)
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/interface.go
deleted file mode 100644
index 35b09a776..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // StorageServices returns a StorageServiceInformer.
- StorageServices() StorageServiceInformer
- // StorageTypes returns a StorageTypeInformer.
- StorageTypes() StorageTypeInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// StorageServices returns a StorageServiceInformer.
-func (v *version) StorageServices() StorageServiceInformer {
- return &storageServiceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// StorageTypes returns a StorageTypeInformer.
-func (v *version) StorageTypes() StorageTypeInformer {
- return &storageTypeInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/storageservice.go b/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/storageservice.go
deleted file mode 100644
index 7be59b696..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/storageservice.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/resource/v1alpha1"
- resourcev1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// StorageServiceInformer provides access to a shared informer and lister for
-// StorageServices.
-type StorageServiceInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.StorageServiceLister
-}
-
-type storageServiceInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewStorageServiceInformer constructs a new informer for StorageService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewStorageServiceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredStorageServiceInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredStorageServiceInformer constructs a new informer for StorageService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredStorageServiceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1alpha1().StorageServices().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1alpha1().StorageServices().Watch(options)
- },
- },
- &resourcev1alpha1.StorageService{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *storageServiceInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredStorageServiceInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *storageServiceInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1alpha1.StorageService{}, f.defaultInformer)
-}
-
-func (f *storageServiceInformer) Lister() v1alpha1.StorageServiceLister {
- return v1alpha1.NewStorageServiceLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/storagetype.go b/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/storagetype.go
deleted file mode 100644
index 895558663..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1alpha1/storagetype.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/resource/v1alpha1"
- resourcev1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// StorageTypeInformer provides access to a shared informer and lister for
-// StorageTypes.
-type StorageTypeInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.StorageTypeLister
-}
-
-type storageTypeInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewStorageTypeInformer constructs a new informer for StorageType type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewStorageTypeInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredStorageTypeInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredStorageTypeInformer constructs a new informer for StorageType type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredStorageTypeInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1alpha1().StorageTypes().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1alpha1().StorageTypes().Watch(options)
- },
- },
- &resourcev1alpha1.StorageType{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *storageTypeInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredStorageTypeInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *storageTypeInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1alpha1.StorageType{}, f.defaultInformer)
-}
-
-func (f *storageTypeInformer) Lister() v1alpha1.StorageTypeLister {
- return v1alpha1.NewStorageTypeLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/cluster.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/cluster.go
deleted file mode 100644
index 1b8ca69d8..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/cluster.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ClusterInformer provides access to a shared informer and lister for
-// Clusters.
-type ClusterInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.ClusterLister
-}
-
-type clusterInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewClusterInformer constructs a new informer for Cluster type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewClusterInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredClusterInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredClusterInformer constructs a new informer for Cluster type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredClusterInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Clusters().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Clusters().Watch(options)
- },
- },
- &resourcev1beta1.Cluster{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *clusterInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredClusterInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *clusterInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.Cluster{}, f.defaultInformer)
-}
-
-func (f *clusterInformer) Lister() v1beta1.ClusterLister {
- return v1beta1.NewClusterLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/config.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/config.go
deleted file mode 100644
index 69728ce17..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/config.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ConfigInformer provides access to a shared informer and lister for
-// Configs.
-type ConfigInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.ConfigLister
-}
-
-type configInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewConfigInformer constructs a new informer for Config type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewConfigInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredConfigInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredConfigInformer constructs a new informer for Config type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredConfigInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Configs().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Configs().Watch(options)
- },
- },
- &resourcev1beta1.Config{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *configInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredConfigInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *configInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.Config{}, f.defaultInformer)
-}
-
-func (f *configInformer) Lister() v1beta1.ConfigLister {
- return v1beta1.NewConfigLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/extendedresource.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/extendedresource.go
deleted file mode 100644
index 54090b8d9..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/extendedresource.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ExtendedResourceInformer provides access to a shared informer and lister for
-// ExtendedResources.
-type ExtendedResourceInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.ExtendedResourceLister
-}
-
-type extendedResourceInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewExtendedResourceInformer constructs a new informer for ExtendedResource type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewExtendedResourceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredExtendedResourceInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredExtendedResourceInformer constructs a new informer for ExtendedResource type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredExtendedResourceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().ExtendedResources().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().ExtendedResources().Watch(options)
- },
- },
- &resourcev1beta1.ExtendedResource{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *extendedResourceInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredExtendedResourceInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *extendedResourceInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.ExtendedResource{}, f.defaultInformer)
-}
-
-func (f *extendedResourceInformer) Lister() v1beta1.ExtendedResourceLister {
- return v1beta1.NewExtendedResourceLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/infranetwork.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/infranetwork.go
deleted file mode 100644
index 47c8d9274..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/infranetwork.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// InfraNetworkInformer provides access to a shared informer and lister for
-// InfraNetworks.
-type InfraNetworkInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.InfraNetworkLister
-}
-
-type infraNetworkInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewInfraNetworkInformer constructs a new informer for InfraNetwork type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewInfraNetworkInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredInfraNetworkInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredInfraNetworkInformer constructs a new informer for InfraNetwork type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredInfraNetworkInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().InfraNetworks().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().InfraNetworks().Watch(options)
- },
- },
- &resourcev1beta1.InfraNetwork{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *infraNetworkInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredInfraNetworkInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *infraNetworkInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.InfraNetwork{}, f.defaultInformer)
-}
-
-func (f *infraNetworkInformer) Lister() v1beta1.InfraNetworkLister {
- return v1beta1.NewInfraNetworkLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/interface.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/interface.go
deleted file mode 100644
index 50f80cddf..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/interface.go
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Clusters returns a ClusterInformer.
- Clusters() ClusterInformer
- // Configs returns a ConfigInformer.
- Configs() ConfigInformer
- // ExtendedResources returns a ExtendedResourceInformer.
- ExtendedResources() ExtendedResourceInformer
- // InfraNetworks returns a InfraNetworkInformer.
- InfraNetworks() InfraNetworkInformer
- // Machines returns a MachineInformer.
- Machines() MachineInformer
- // MachineAutoScalingGroups returns a MachineAutoScalingGroupInformer.
- MachineAutoScalingGroups() MachineAutoScalingGroupInformer
- // Networks returns a NetworkInformer.
- Networks() NetworkInformer
- // NodeClaims returns a NodeClaimInformer.
- NodeClaims() NodeClaimInformer
- // NodeLocalStorages returns a NodeLocalStorageInformer.
- NodeLocalStorages() NodeLocalStorageInformer
- // RequirementGaps returns a RequirementGapInformer.
- RequirementGaps() RequirementGapInformer
- // ResourceClasses returns a ResourceClassInformer.
- ResourceClasses() ResourceClassInformer
- // Snapshots returns a SnapshotInformer.
- Snapshots() SnapshotInformer
- // StorageServices returns a StorageServiceInformer.
- StorageServices() StorageServiceInformer
- // StorageTypes returns a StorageTypeInformer.
- StorageTypes() StorageTypeInformer
- // Tags returns a TagInformer.
- Tags() TagInformer
- // WorkloadNetworks returns a WorkloadNetworkInformer.
- WorkloadNetworks() WorkloadNetworkInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Clusters returns a ClusterInformer.
-func (v *version) Clusters() ClusterInformer {
- return &clusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Configs returns a ConfigInformer.
-func (v *version) Configs() ConfigInformer {
- return &configInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// ExtendedResources returns a ExtendedResourceInformer.
-func (v *version) ExtendedResources() ExtendedResourceInformer {
- return &extendedResourceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// InfraNetworks returns a InfraNetworkInformer.
-func (v *version) InfraNetworks() InfraNetworkInformer {
- return &infraNetworkInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Machines returns a MachineInformer.
-func (v *version) Machines() MachineInformer {
- return &machineInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// MachineAutoScalingGroups returns a MachineAutoScalingGroupInformer.
-func (v *version) MachineAutoScalingGroups() MachineAutoScalingGroupInformer {
- return &machineAutoScalingGroupInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Networks returns a NetworkInformer.
-func (v *version) Networks() NetworkInformer {
- return &networkInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// NodeClaims returns a NodeClaimInformer.
-func (v *version) NodeClaims() NodeClaimInformer {
- return &nodeClaimInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// NodeLocalStorages returns a NodeLocalStorageInformer.
-func (v *version) NodeLocalStorages() NodeLocalStorageInformer {
- return &nodeLocalStorageInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// RequirementGaps returns a RequirementGapInformer.
-func (v *version) RequirementGaps() RequirementGapInformer {
- return &requirementGapInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// ResourceClasses returns a ResourceClassInformer.
-func (v *version) ResourceClasses() ResourceClassInformer {
- return &resourceClassInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Snapshots returns a SnapshotInformer.
-func (v *version) Snapshots() SnapshotInformer {
- return &snapshotInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// StorageServices returns a StorageServiceInformer.
-func (v *version) StorageServices() StorageServiceInformer {
- return &storageServiceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// StorageTypes returns a StorageTypeInformer.
-func (v *version) StorageTypes() StorageTypeInformer {
- return &storageTypeInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Tags returns a TagInformer.
-func (v *version) Tags() TagInformer {
- return &tagInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// WorkloadNetworks returns a WorkloadNetworkInformer.
-func (v *version) WorkloadNetworks() WorkloadNetworkInformer {
- return &workloadNetworkInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/machine.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/machine.go
deleted file mode 100644
index c9d3d1f48..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/machine.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MachineInformer provides access to a shared informer and lister for
-// Machines.
-type MachineInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.MachineLister
-}
-
-type machineInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewMachineInformer constructs a new informer for Machine type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMachineInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMachineInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMachineInformer constructs a new informer for Machine type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMachineInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Machines().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Machines().Watch(options)
- },
- },
- &resourcev1beta1.Machine{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *machineInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMachineInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *machineInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.Machine{}, f.defaultInformer)
-}
-
-func (f *machineInformer) Lister() v1beta1.MachineLister {
- return v1beta1.NewMachineLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/machineautoscalinggroup.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/machineautoscalinggroup.go
deleted file mode 100644
index ae8639d29..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/machineautoscalinggroup.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// MachineAutoScalingGroupInformer provides access to a shared informer and lister for
-// MachineAutoScalingGroups.
-type MachineAutoScalingGroupInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.MachineAutoScalingGroupLister
-}
-
-type machineAutoScalingGroupInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewMachineAutoScalingGroupInformer constructs a new informer for MachineAutoScalingGroup type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewMachineAutoScalingGroupInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredMachineAutoScalingGroupInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredMachineAutoScalingGroupInformer constructs a new informer for MachineAutoScalingGroup type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredMachineAutoScalingGroupInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().MachineAutoScalingGroups().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().MachineAutoScalingGroups().Watch(options)
- },
- },
- &resourcev1beta1.MachineAutoScalingGroup{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *machineAutoScalingGroupInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredMachineAutoScalingGroupInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *machineAutoScalingGroupInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.MachineAutoScalingGroup{}, f.defaultInformer)
-}
-
-func (f *machineAutoScalingGroupInformer) Lister() v1beta1.MachineAutoScalingGroupLister {
- return v1beta1.NewMachineAutoScalingGroupLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/network.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/network.go
deleted file mode 100644
index ce2998790..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/network.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// NetworkInformer provides access to a shared informer and lister for
-// Networks.
-type NetworkInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.NetworkLister
-}
-
-type networkInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewNetworkInformer constructs a new informer for Network type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewNetworkInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredNetworkInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredNetworkInformer constructs a new informer for Network type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredNetworkInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Networks().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Networks().Watch(options)
- },
- },
- &resourcev1beta1.Network{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *networkInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredNetworkInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *networkInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.Network{}, f.defaultInformer)
-}
-
-func (f *networkInformer) Lister() v1beta1.NetworkLister {
- return v1beta1.NewNetworkLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/nodeclaim.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/nodeclaim.go
deleted file mode 100644
index cc44bc203..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/nodeclaim.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// NodeClaimInformer provides access to a shared informer and lister for
-// NodeClaims.
-type NodeClaimInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.NodeClaimLister
-}
-
-type nodeClaimInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewNodeClaimInformer constructs a new informer for NodeClaim type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewNodeClaimInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredNodeClaimInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredNodeClaimInformer constructs a new informer for NodeClaim type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredNodeClaimInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().NodeClaims().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().NodeClaims().Watch(options)
- },
- },
- &resourcev1beta1.NodeClaim{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *nodeClaimInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredNodeClaimInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *nodeClaimInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.NodeClaim{}, f.defaultInformer)
-}
-
-func (f *nodeClaimInformer) Lister() v1beta1.NodeClaimLister {
- return v1beta1.NewNodeClaimLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/nodelocalstorage.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/nodelocalstorage.go
deleted file mode 100644
index 7be85e635..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/nodelocalstorage.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// NodeLocalStorageInformer provides access to a shared informer and lister for
-// NodeLocalStorages.
-type NodeLocalStorageInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.NodeLocalStorageLister
-}
-
-type nodeLocalStorageInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewNodeLocalStorageInformer constructs a new informer for NodeLocalStorage type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewNodeLocalStorageInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredNodeLocalStorageInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredNodeLocalStorageInformer constructs a new informer for NodeLocalStorage type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredNodeLocalStorageInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().NodeLocalStorages().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().NodeLocalStorages().Watch(options)
- },
- },
- &resourcev1beta1.NodeLocalStorage{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *nodeLocalStorageInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredNodeLocalStorageInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *nodeLocalStorageInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.NodeLocalStorage{}, f.defaultInformer)
-}
-
-func (f *nodeLocalStorageInformer) Lister() v1beta1.NodeLocalStorageLister {
- return v1beta1.NewNodeLocalStorageLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/requirementgap.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/requirementgap.go
deleted file mode 100644
index 7da68c0da..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/requirementgap.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// RequirementGapInformer provides access to a shared informer and lister for
-// RequirementGaps.
-type RequirementGapInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.RequirementGapLister
-}
-
-type requirementGapInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewRequirementGapInformer constructs a new informer for RequirementGap type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewRequirementGapInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredRequirementGapInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredRequirementGapInformer constructs a new informer for RequirementGap type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredRequirementGapInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().RequirementGaps().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().RequirementGaps().Watch(options)
- },
- },
- &resourcev1beta1.RequirementGap{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *requirementGapInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredRequirementGapInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *requirementGapInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.RequirementGap{}, f.defaultInformer)
-}
-
-func (f *requirementGapInformer) Lister() v1beta1.RequirementGapLister {
- return v1beta1.NewRequirementGapLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/resourceclass.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/resourceclass.go
deleted file mode 100644
index ee58b2876..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/resourceclass.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ResourceClassInformer provides access to a shared informer and lister for
-// ResourceClasses.
-type ResourceClassInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.ResourceClassLister
-}
-
-type resourceClassInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewResourceClassInformer constructs a new informer for ResourceClass type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewResourceClassInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredResourceClassInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredResourceClassInformer constructs a new informer for ResourceClass type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredResourceClassInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().ResourceClasses().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().ResourceClasses().Watch(options)
- },
- },
- &resourcev1beta1.ResourceClass{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *resourceClassInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredResourceClassInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *resourceClassInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.ResourceClass{}, f.defaultInformer)
-}
-
-func (f *resourceClassInformer) Lister() v1beta1.ResourceClassLister {
- return v1beta1.NewResourceClassLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/snapshot.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/snapshot.go
deleted file mode 100644
index 8a04a83d7..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/snapshot.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// SnapshotInformer provides access to a shared informer and lister for
-// Snapshots.
-type SnapshotInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.SnapshotLister
-}
-
-type snapshotInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewSnapshotInformer constructs a new informer for Snapshot type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewSnapshotInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredSnapshotInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredSnapshotInformer constructs a new informer for Snapshot type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredSnapshotInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Snapshots(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Snapshots(namespace).Watch(options)
- },
- },
- &resourcev1beta1.Snapshot{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *snapshotInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredSnapshotInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *snapshotInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.Snapshot{}, f.defaultInformer)
-}
-
-func (f *snapshotInformer) Lister() v1beta1.SnapshotLister {
- return v1beta1.NewSnapshotLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/storageservice.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/storageservice.go
deleted file mode 100644
index 8c41a2b0e..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/storageservice.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// StorageServiceInformer provides access to a shared informer and lister for
-// StorageServices.
-type StorageServiceInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.StorageServiceLister
-}
-
-type storageServiceInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewStorageServiceInformer constructs a new informer for StorageService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewStorageServiceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredStorageServiceInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredStorageServiceInformer constructs a new informer for StorageService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredStorageServiceInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().StorageServices().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().StorageServices().Watch(options)
- },
- },
- &resourcev1beta1.StorageService{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *storageServiceInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredStorageServiceInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *storageServiceInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.StorageService{}, f.defaultInformer)
-}
-
-func (f *storageServiceInformer) Lister() v1beta1.StorageServiceLister {
- return v1beta1.NewStorageServiceLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/storagetype.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/storagetype.go
deleted file mode 100644
index 5e6ce69e7..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/storagetype.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// StorageTypeInformer provides access to a shared informer and lister for
-// StorageTypes.
-type StorageTypeInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.StorageTypeLister
-}
-
-type storageTypeInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewStorageTypeInformer constructs a new informer for StorageType type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewStorageTypeInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredStorageTypeInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredStorageTypeInformer constructs a new informer for StorageType type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredStorageTypeInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().StorageTypes().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().StorageTypes().Watch(options)
- },
- },
- &resourcev1beta1.StorageType{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *storageTypeInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredStorageTypeInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *storageTypeInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.StorageType{}, f.defaultInformer)
-}
-
-func (f *storageTypeInformer) Lister() v1beta1.StorageTypeLister {
- return v1beta1.NewStorageTypeLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/tag.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/tag.go
deleted file mode 100644
index da9e216a0..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/tag.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// TagInformer provides access to a shared informer and lister for
-// Tags.
-type TagInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.TagLister
-}
-
-type tagInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewTagInformer constructs a new informer for Tag type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewTagInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredTagInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredTagInformer constructs a new informer for Tag type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredTagInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Tags().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().Tags().Watch(options)
- },
- },
- &resourcev1beta1.Tag{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *tagInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredTagInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *tagInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.Tag{}, f.defaultInformer)
-}
-
-func (f *tagInformer) Lister() v1beta1.TagLister {
- return v1beta1.NewTagLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/workloadnetwork.go b/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/workloadnetwork.go
deleted file mode 100644
index 2e795b689..000000000
--- a/vendor/github.com/caicloud/clientset/informers/resource/v1beta1/workloadnetwork.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/resource/v1beta1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// WorkloadNetworkInformer provides access to a shared informer and lister for
-// WorkloadNetworks.
-type WorkloadNetworkInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.WorkloadNetworkLister
-}
-
-type workloadNetworkInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewWorkloadNetworkInformer constructs a new informer for WorkloadNetwork type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewWorkloadNetworkInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredWorkloadNetworkInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredWorkloadNetworkInformer constructs a new informer for WorkloadNetwork type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredWorkloadNetworkInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().WorkloadNetworks(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ResourceV1beta1().WorkloadNetworks(namespace).Watch(options)
- },
- },
- &resourcev1beta1.WorkloadNetwork{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *workloadNetworkInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredWorkloadNetworkInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *workloadNetworkInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&resourcev1beta1.WorkloadNetwork{}, f.defaultInformer)
-}
-
-func (f *workloadNetworkInformer) Lister() v1beta1.WorkloadNetworkLister {
- return v1beta1.NewWorkloadNetworkLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/servicemesh/interface.go b/vendor/github.com/caicloud/clientset/informers/servicemesh/interface.go
deleted file mode 100644
index 45898c5b9..000000000
--- a/vendor/github.com/caicloud/clientset/informers/servicemesh/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package servicemesh
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/servicemesh/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/servicemesh/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/servicemesh/v1alpha1/interface.go
deleted file mode 100644
index 1d9dbc9e6..000000000
--- a/vendor/github.com/caicloud/clientset/informers/servicemesh/v1alpha1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Istios returns a IstioInformer.
- Istios() IstioInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Istios returns a IstioInformer.
-func (v *version) Istios() IstioInformer {
- return &istioInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/servicemesh/v1alpha1/istio.go b/vendor/github.com/caicloud/clientset/informers/servicemesh/v1alpha1/istio.go
deleted file mode 100644
index e52b093bd..000000000
--- a/vendor/github.com/caicloud/clientset/informers/servicemesh/v1alpha1/istio.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/servicemesh/v1alpha1"
- servicemeshv1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// IstioInformer provides access to a shared informer and lister for
-// Istios.
-type IstioInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.IstioLister
-}
-
-type istioInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewIstioInformer constructs a new informer for Istio type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewIstioInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredIstioInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredIstioInformer constructs a new informer for Istio type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredIstioInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ServicemeshV1alpha1().Istios().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ServicemeshV1alpha1().Istios().Watch(options)
- },
- },
- &servicemeshv1alpha1.Istio{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *istioInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredIstioInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *istioInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&servicemeshv1alpha1.Istio{}, f.defaultInformer)
-}
-
-func (f *istioInformer) Lister() v1alpha1.IstioLister {
- return v1alpha1.NewIstioLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/serving/interface.go b/vendor/github.com/caicloud/clientset/informers/serving/interface.go
deleted file mode 100644
index 3e983cbe5..000000000
--- a/vendor/github.com/caicloud/clientset/informers/serving/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package serving
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/serving/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/interface.go
deleted file mode 100644
index 12a13f229..000000000
--- a/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Scenes returns a SceneInformer.
- Scenes() SceneInformer
- // Servings returns a ServingInformer.
- Servings() ServingInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Scenes returns a SceneInformer.
-func (v *version) Scenes() SceneInformer {
- return &sceneInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// Servings returns a ServingInformer.
-func (v *version) Servings() ServingInformer {
- return &servingInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/scene.go b/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/scene.go
deleted file mode 100644
index 0803e59d7..000000000
--- a/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/scene.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/serving/v1alpha1"
- servingv1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// SceneInformer provides access to a shared informer and lister for
-// Scenes.
-type SceneInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.SceneLister
-}
-
-type sceneInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewSceneInformer constructs a new informer for Scene type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewSceneInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredSceneInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredSceneInformer constructs a new informer for Scene type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredSceneInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ServingV1alpha1().Scenes(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ServingV1alpha1().Scenes(namespace).Watch(options)
- },
- },
- &servingv1alpha1.Scene{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *sceneInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredSceneInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *sceneInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&servingv1alpha1.Scene{}, f.defaultInformer)
-}
-
-func (f *sceneInformer) Lister() v1alpha1.SceneLister {
- return v1alpha1.NewSceneLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/serving.go b/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/serving.go
deleted file mode 100644
index 95cdd2cc9..000000000
--- a/vendor/github.com/caicloud/clientset/informers/serving/v1alpha1/serving.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/serving/v1alpha1"
- servingv1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ServingInformer provides access to a shared informer and lister for
-// Servings.
-type ServingInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ServingLister
-}
-
-type servingInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewServingInformer constructs a new informer for Serving type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewServingInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredServingInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredServingInformer constructs a new informer for Serving type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredServingInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ServingV1alpha1().Servings(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.ServingV1alpha1().Servings(namespace).Watch(options)
- },
- },
- &servingv1alpha1.Serving{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *servingInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredServingInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *servingInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&servingv1alpha1.Serving{}, f.defaultInformer)
-}
-
-func (f *servingInformer) Lister() v1alpha1.ServingLister {
- return v1alpha1.NewServingLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/tenant/interface.go b/vendor/github.com/caicloud/clientset/informers/tenant/interface.go
deleted file mode 100644
index 2761b96cd..000000000
--- a/vendor/github.com/caicloud/clientset/informers/tenant/interface.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package tenant
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/tenant/v1alpha1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/clusterquota.go b/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/clusterquota.go
deleted file mode 100644
index 929e88cd8..000000000
--- a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/clusterquota.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/tenant/v1alpha1"
- tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// ClusterQuotaInformer provides access to a shared informer and lister for
-// ClusterQuotas.
-type ClusterQuotaInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.ClusterQuotaLister
-}
-
-type clusterQuotaInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewClusterQuotaInformer constructs a new informer for ClusterQuota type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewClusterQuotaInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredClusterQuotaInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredClusterQuotaInformer constructs a new informer for ClusterQuota type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredClusterQuotaInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.TenantV1alpha1().ClusterQuotas().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.TenantV1alpha1().ClusterQuotas().Watch(options)
- },
- },
- &tenantv1alpha1.ClusterQuota{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *clusterQuotaInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredClusterQuotaInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *clusterQuotaInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&tenantv1alpha1.ClusterQuota{}, f.defaultInformer)
-}
-
-func (f *clusterQuotaInformer) Lister() v1alpha1.ClusterQuotaLister {
- return v1alpha1.NewClusterQuotaLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/interface.go
deleted file mode 100644
index 8b3f173fd..000000000
--- a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/interface.go
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // ClusterQuotas returns a ClusterQuotaInformer.
- ClusterQuotas() ClusterQuotaInformer
- // Partitions returns a PartitionInformer.
- Partitions() PartitionInformer
- // Tenants returns a TenantInformer.
- Tenants() TenantInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// ClusterQuotas returns a ClusterQuotaInformer.
-func (v *version) ClusterQuotas() ClusterQuotaInformer {
- return &clusterQuotaInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Partitions returns a PartitionInformer.
-func (v *version) Partitions() PartitionInformer {
- return &partitionInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
-
-// Tenants returns a TenantInformer.
-func (v *version) Tenants() TenantInformer {
- return &tenantInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/partition.go b/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/partition.go
deleted file mode 100644
index 7d823cba3..000000000
--- a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/partition.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/tenant/v1alpha1"
- tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// PartitionInformer provides access to a shared informer and lister for
-// Partitions.
-type PartitionInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.PartitionLister
-}
-
-type partitionInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewPartitionInformer constructs a new informer for Partition type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewPartitionInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredPartitionInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredPartitionInformer constructs a new informer for Partition type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredPartitionInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.TenantV1alpha1().Partitions().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.TenantV1alpha1().Partitions().Watch(options)
- },
- },
- &tenantv1alpha1.Partition{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *partitionInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredPartitionInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *partitionInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&tenantv1alpha1.Partition{}, f.defaultInformer)
-}
-
-func (f *partitionInformer) Lister() v1alpha1.PartitionLister {
- return v1alpha1.NewPartitionLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/tenant.go b/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/tenant.go
deleted file mode 100644
index 1088f1006..000000000
--- a/vendor/github.com/caicloud/clientset/informers/tenant/v1alpha1/tenant.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/tenant/v1alpha1"
- tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// TenantInformer provides access to a shared informer and lister for
-// Tenants.
-type TenantInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.TenantLister
-}
-
-type tenantInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// NewTenantInformer constructs a new informer for Tenant type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewTenantInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredTenantInformer(client, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredTenantInformer constructs a new informer for Tenant type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredTenantInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.TenantV1alpha1().Tenants().List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.TenantV1alpha1().Tenants().Watch(options)
- },
- },
- &tenantv1alpha1.Tenant{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *tenantInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredTenantInformer(client.(kubernetes.Interface), resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *tenantInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&tenantv1alpha1.Tenant{}, f.defaultInformer)
-}
-
-func (f *tenantInformer) Lister() v1alpha1.TenantLister {
- return v1alpha1.NewTenantLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/workload/interface.go b/vendor/github.com/caicloud/clientset/informers/workload/interface.go
deleted file mode 100644
index 627d604db..000000000
--- a/vendor/github.com/caicloud/clientset/informers/workload/interface.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package workload
-
-import (
- v1alpha1 "github.com/caicloud/clientset/informers/workload/v1alpha1"
- v1beta1 "github.com/caicloud/clientset/informers/workload/v1beta1"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
- // V1beta1 provides access to shared informers for resources in V1beta1.
- V1beta1() v1beta1.Interface
- // V1alpha1 provides access to shared informers for resources in V1alpha1.
- V1alpha1() v1alpha1.Interface
-}
-
-type group struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1beta1 returns a new v1beta1.Interface.
-func (g *group) V1beta1() v1beta1.Interface {
- return v1beta1.New(g.factory, g.namespace, g.tweakListOptions)
-}
-
-// V1alpha1 returns a new v1alpha1.Interface.
-func (g *group) V1alpha1() v1alpha1.Interface {
- return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/interface.go b/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/interface.go
deleted file mode 100644
index f113846c5..000000000
--- a/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/interface.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Workloads returns a WorkloadInformer.
- Workloads() WorkloadInformer
- // WorkloadRevisions returns a WorkloadRevisionInformer.
- WorkloadRevisions() WorkloadRevisionInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Workloads returns a WorkloadInformer.
-func (v *version) Workloads() WorkloadInformer {
- return &workloadInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// WorkloadRevisions returns a WorkloadRevisionInformer.
-func (v *version) WorkloadRevisions() WorkloadRevisionInformer {
- return &workloadRevisionInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/workload.go b/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/workload.go
deleted file mode 100644
index ae2ff55d4..000000000
--- a/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/workload.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/workload/v1alpha1"
- workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// WorkloadInformer provides access to a shared informer and lister for
-// Workloads.
-type WorkloadInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.WorkloadLister
-}
-
-type workloadInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewWorkloadInformer constructs a new informer for Workload type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewWorkloadInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredWorkloadInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredWorkloadInformer constructs a new informer for Workload type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredWorkloadInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.WorkloadV1alpha1().Workloads(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.WorkloadV1alpha1().Workloads(namespace).Watch(options)
- },
- },
- &workloadv1alpha1.Workload{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *workloadInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredWorkloadInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *workloadInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&workloadv1alpha1.Workload{}, f.defaultInformer)
-}
-
-func (f *workloadInformer) Lister() v1alpha1.WorkloadLister {
- return v1alpha1.NewWorkloadLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/workloadrevision.go b/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/workloadrevision.go
deleted file mode 100644
index 0b195caec..000000000
--- a/vendor/github.com/caicloud/clientset/informers/workload/v1alpha1/workloadrevision.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1alpha1 "github.com/caicloud/clientset/listers/workload/v1alpha1"
- workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// WorkloadRevisionInformer provides access to a shared informer and lister for
-// WorkloadRevisions.
-type WorkloadRevisionInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1alpha1.WorkloadRevisionLister
-}
-
-type workloadRevisionInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewWorkloadRevisionInformer constructs a new informer for WorkloadRevision type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewWorkloadRevisionInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredWorkloadRevisionInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredWorkloadRevisionInformer constructs a new informer for WorkloadRevision type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredWorkloadRevisionInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.WorkloadV1alpha1().WorkloadRevisions(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.WorkloadV1alpha1().WorkloadRevisions(namespace).Watch(options)
- },
- },
- &workloadv1alpha1.WorkloadRevision{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *workloadRevisionInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredWorkloadRevisionInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *workloadRevisionInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&workloadv1alpha1.WorkloadRevision{}, f.defaultInformer)
-}
-
-func (f *workloadRevisionInformer) Lister() v1alpha1.WorkloadRevisionLister {
- return v1alpha1.NewWorkloadRevisionLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/workload/v1beta1/interface.go b/vendor/github.com/caicloud/clientset/informers/workload/v1beta1/interface.go
deleted file mode 100644
index 7c906d7d8..000000000
--- a/vendor/github.com/caicloud/clientset/informers/workload/v1beta1/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
- // Workloads returns a WorkloadInformer.
- Workloads() WorkloadInformer
-}
-
-type version struct {
- factory internalinterfaces.SharedInformerFactory
- namespace string
- tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
- return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// Workloads returns a WorkloadInformer.
-func (v *version) Workloads() WorkloadInformer {
- return &workloadInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/vendor/github.com/caicloud/clientset/informers/workload/v1beta1/workload.go b/vendor/github.com/caicloud/clientset/informers/workload/v1beta1/workload.go
deleted file mode 100644
index d5303c990..000000000
--- a/vendor/github.com/caicloud/clientset/informers/workload/v1beta1/workload.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- time "time"
-
- kubernetes "github.com/caicloud/clientset/kubernetes"
- v1beta1 "github.com/caicloud/clientset/listers/workload/v1beta1"
- workloadv1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- watch "k8s.io/apimachinery/pkg/watch"
- internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
- clientgokubernetes "k8s.io/client-go/kubernetes"
- cache "k8s.io/client-go/tools/cache"
-)
-
-// WorkloadInformer provides access to a shared informer and lister for
-// Workloads.
-type WorkloadInformer interface {
- Informer() cache.SharedIndexInformer
- Lister() v1beta1.WorkloadLister
-}
-
-type workloadInformer struct {
- factory internalinterfaces.SharedInformerFactory
- tweakListOptions internalinterfaces.TweakListOptionsFunc
- namespace string
-}
-
-// NewWorkloadInformer constructs a new informer for Workload type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewWorkloadInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
- return NewFilteredWorkloadInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredWorkloadInformer constructs a new informer for Workload type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredWorkloadInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
- return cache.NewSharedIndexInformer(
- &cache.ListWatch{
- ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.WorkloadV1beta1().Workloads(namespace).List(options)
- },
- WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
- if tweakListOptions != nil {
- tweakListOptions(&options)
- }
- return client.WorkloadV1beta1().Workloads(namespace).Watch(options)
- },
- },
- &workloadv1beta1.Workload{},
- resyncPeriod,
- indexers,
- )
-}
-
-func (f *workloadInformer) defaultInformer(client clientgokubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
- return NewFilteredWorkloadInformer(client.(kubernetes.Interface), f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *workloadInformer) Informer() cache.SharedIndexInformer {
- return f.factory.InformerFor(&workloadv1beta1.Workload{}, f.defaultInformer)
-}
-
-func (f *workloadInformer) Lister() v1beta1.WorkloadLister {
- return v1beta1.NewWorkloadLister(f.Informer().GetIndexer())
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/clientset.go b/vendor/github.com/caicloud/clientset/kubernetes/clientset.go
index 88fa7d2aa..709cccadb 100644
--- a/vendor/github.com/caicloud/clientset/kubernetes/clientset.go
+++ b/vendor/github.com/caicloud/clientset/kubernetes/clientset.go
@@ -1,580 +1,62 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
package kubernetes
import (
- alertingv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1"
- alertingv1alpha2 "github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2"
- apiextensionsv1beta1 "github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1"
- apiregistrationv1 "github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1"
- cleverv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1"
- cleverv1alpha2 "github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2"
- cleverv1alpha3 "github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3"
- cnetworkingv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1"
- configv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1"
- datasetv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1"
- datasetv1alpha2 "github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2"
- devopsv1 "github.com/caicloud/clientset/kubernetes/typed/devops/v1"
- evaluationv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1"
- loadbalancev1alpha2 "github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2"
- loggingv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1"
- microservicev1alpha1 "github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1"
- modelv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1"
- orchestrationv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1"
- releasev1alpha1 "github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1"
- resourcev1alpha1 "github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1"
- resourcev1beta1 "github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1"
- servicemeshv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1"
- servingv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1"
- tenantv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1"
- workloadv1alpha1 "github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1"
- workloadv1beta1 "github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1"
- kubernetes "k8s.io/client-go/kubernetes"
- rest "k8s.io/client-go/rest"
- flowcontrol "k8s.io/client-go/util/flowcontrol"
+ apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
+ "k8s.io/client-go/kubernetes"
+ "k8s.io/client-go/rest"
+
+ "github.com/caicloud/clientset/customclient"
)
+// Interface contains the clientsets for all API groups.
type Interface interface {
- kubernetes.Interface
- AlertingV1alpha1() alertingv1alpha1.AlertingV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Alerting() alertingv1alpha1.AlertingV1alpha1Interface
- AlertingV1alpha2() alertingv1alpha2.AlertingV1alpha2Interface
- ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface
- // Deprecated: please explicitly pick a version if possible.
- Apiextensions() apiextensionsv1beta1.ApiextensionsV1beta1Interface
- ApiregistrationV1() apiregistrationv1.ApiregistrationV1Interface
- // Deprecated: please explicitly pick a version if possible.
- Apiregistration() apiregistrationv1.ApiregistrationV1Interface
- CleverV1alpha1() cleverv1alpha1.CleverV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Clever() cleverv1alpha1.CleverV1alpha1Interface
- CleverV1alpha2() cleverv1alpha2.CleverV1alpha2Interface
- CleverV1alpha3() cleverv1alpha3.CleverV1alpha3Interface
- CnetworkingV1alpha1() cnetworkingv1alpha1.CnetworkingV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Cnetworking() cnetworkingv1alpha1.CnetworkingV1alpha1Interface
- ConfigV1alpha1() configv1alpha1.ConfigV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Config() configv1alpha1.ConfigV1alpha1Interface
- DatasetV1alpha1() datasetv1alpha1.DatasetV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Dataset() datasetv1alpha1.DatasetV1alpha1Interface
- DatasetV1alpha2() datasetv1alpha2.DatasetV1alpha2Interface
- DevopsV1() devopsv1.DevopsV1Interface
- // Deprecated: please explicitly pick a version if possible.
- Devops() devopsv1.DevopsV1Interface
- EvaluationV1alpha1() evaluationv1alpha1.EvaluationV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Evaluation() evaluationv1alpha1.EvaluationV1alpha1Interface
- LoadbalanceV1alpha2() loadbalancev1alpha2.LoadbalanceV1alpha2Interface
- // Deprecated: please explicitly pick a version if possible.
- Loadbalance() loadbalancev1alpha2.LoadbalanceV1alpha2Interface
- LoggingV1alpha1() loggingv1alpha1.LoggingV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Logging() loggingv1alpha1.LoggingV1alpha1Interface
- MicroserviceV1alpha1() microservicev1alpha1.MicroserviceV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Microservice() microservicev1alpha1.MicroserviceV1alpha1Interface
- ModelV1alpha1() modelv1alpha1.ModelV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Model() modelv1alpha1.ModelV1alpha1Interface
- OrchestrationV1alpha1() orchestrationv1alpha1.OrchestrationV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Orchestration() orchestrationv1alpha1.OrchestrationV1alpha1Interface
- ReleaseV1alpha1() releasev1alpha1.ReleaseV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Release() releasev1alpha1.ReleaseV1alpha1Interface
- ResourceV1alpha1() resourcev1alpha1.ResourceV1alpha1Interface
- ResourceV1beta1() resourcev1beta1.ResourceV1beta1Interface
- // Deprecated: please explicitly pick a version if possible.
- Resource() resourcev1beta1.ResourceV1beta1Interface
- ServicemeshV1alpha1() servicemeshv1alpha1.ServicemeshV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Servicemesh() servicemeshv1alpha1.ServicemeshV1alpha1Interface
- ServingV1alpha1() servingv1alpha1.ServingV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Serving() servingv1alpha1.ServingV1alpha1Interface
- TenantV1alpha1() tenantv1alpha1.TenantV1alpha1Interface
- // Deprecated: please explicitly pick a version if possible.
- Tenant() tenantv1alpha1.TenantV1alpha1Interface
- WorkloadV1alpha1() workloadv1alpha1.WorkloadV1alpha1Interface
- WorkloadV1beta1() workloadv1beta1.WorkloadV1beta1Interface
- // Deprecated: please explicitly pick a version if possible.
- Workload() workloadv1beta1.WorkloadV1beta1Interface
-}
-
-// Clientset contains the clients for groups. Each group has exactly one
-// version included in a Clientset.
-type Clientset struct {
- *kubernetes.Clientset
- alertingV1alpha1 *alertingv1alpha1.AlertingV1alpha1Client
- alertingV1alpha2 *alertingv1alpha2.AlertingV1alpha2Client
- apiextensionsV1beta1 *apiextensionsv1beta1.ApiextensionsV1beta1Client
- apiregistrationV1 *apiregistrationv1.ApiregistrationV1Client
- cleverV1alpha1 *cleverv1alpha1.CleverV1alpha1Client
- cleverV1alpha2 *cleverv1alpha2.CleverV1alpha2Client
- cleverV1alpha3 *cleverv1alpha3.CleverV1alpha3Client
- cnetworkingV1alpha1 *cnetworkingv1alpha1.CnetworkingV1alpha1Client
- configV1alpha1 *configv1alpha1.ConfigV1alpha1Client
- datasetV1alpha1 *datasetv1alpha1.DatasetV1alpha1Client
- datasetV1alpha2 *datasetv1alpha2.DatasetV1alpha2Client
- devopsV1 *devopsv1.DevopsV1Client
- evaluationV1alpha1 *evaluationv1alpha1.EvaluationV1alpha1Client
- loadbalanceV1alpha2 *loadbalancev1alpha2.LoadbalanceV1alpha2Client
- loggingV1alpha1 *loggingv1alpha1.LoggingV1alpha1Client
- microserviceV1alpha1 *microservicev1alpha1.MicroserviceV1alpha1Client
- modelV1alpha1 *modelv1alpha1.ModelV1alpha1Client
- orchestrationV1alpha1 *orchestrationv1alpha1.OrchestrationV1alpha1Client
- releaseV1alpha1 *releasev1alpha1.ReleaseV1alpha1Client
- resourceV1alpha1 *resourcev1alpha1.ResourceV1alpha1Client
- resourceV1beta1 *resourcev1beta1.ResourceV1beta1Client
- servicemeshV1alpha1 *servicemeshv1alpha1.ServicemeshV1alpha1Client
- servingV1alpha1 *servingv1alpha1.ServingV1alpha1Client
- tenantV1alpha1 *tenantv1alpha1.TenantV1alpha1Client
- workloadV1alpha1 *workloadv1alpha1.WorkloadV1alpha1Client
- workloadV1beta1 *workloadv1beta1.WorkloadV1beta1Client
-}
-
-// AlertingV1alpha1 retrieves the AlertingV1alpha1Client
-func (c *Clientset) AlertingV1alpha1() alertingv1alpha1.AlertingV1alpha1Interface {
- return c.alertingV1alpha1
-}
-
-// Deprecated: Alerting retrieves the default version of AlertingClient.
-// Please explicitly pick a version.
-func (c *Clientset) Alerting() alertingv1alpha1.AlertingV1alpha1Interface {
- return c.alertingV1alpha1
-}
-
-// AlertingV1alpha2 retrieves the AlertingV1alpha2Client
-func (c *Clientset) AlertingV1alpha2() alertingv1alpha2.AlertingV1alpha2Interface {
- return c.alertingV1alpha2
-}
-
-// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client
-func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface {
- return c.apiextensionsV1beta1
-}
-
-// Deprecated: Apiextensions retrieves the default version of ApiextensionsClient.
-// Please explicitly pick a version.
-func (c *Clientset) Apiextensions() apiextensionsv1beta1.ApiextensionsV1beta1Interface {
- return c.apiextensionsV1beta1
-}
-
-// ApiregistrationV1 retrieves the ApiregistrationV1Client
-func (c *Clientset) ApiregistrationV1() apiregistrationv1.ApiregistrationV1Interface {
- return c.apiregistrationV1
-}
-
-// Deprecated: Apiregistration retrieves the default version of ApiregistrationClient.
-// Please explicitly pick a version.
-func (c *Clientset) Apiregistration() apiregistrationv1.ApiregistrationV1Interface {
- return c.apiregistrationV1
-}
-
-// CleverV1alpha1 retrieves the CleverV1alpha1Client
-func (c *Clientset) CleverV1alpha1() cleverv1alpha1.CleverV1alpha1Interface {
- return c.cleverV1alpha1
-}
-
-// Deprecated: Clever retrieves the default version of CleverClient.
-// Please explicitly pick a version.
-func (c *Clientset) Clever() cleverv1alpha1.CleverV1alpha1Interface {
- return c.cleverV1alpha1
-}
-
-// CleverV1alpha2 retrieves the CleverV1alpha2Client
-func (c *Clientset) CleverV1alpha2() cleverv1alpha2.CleverV1alpha2Interface {
- return c.cleverV1alpha2
-}
-
-// CleverV1alpha3 retrieves the CleverV1alpha3Client
-func (c *Clientset) CleverV1alpha3() cleverv1alpha3.CleverV1alpha3Interface {
- return c.cleverV1alpha3
-}
-
-// CnetworkingV1alpha1 retrieves the CnetworkingV1alpha1Client
-func (c *Clientset) CnetworkingV1alpha1() cnetworkingv1alpha1.CnetworkingV1alpha1Interface {
- return c.cnetworkingV1alpha1
-}
-
-// Deprecated: Cnetworking retrieves the default version of CnetworkingClient.
-// Please explicitly pick a version.
-func (c *Clientset) Cnetworking() cnetworkingv1alpha1.CnetworkingV1alpha1Interface {
- return c.cnetworkingV1alpha1
-}
-
-// ConfigV1alpha1 retrieves the ConfigV1alpha1Client
-func (c *Clientset) ConfigV1alpha1() configv1alpha1.ConfigV1alpha1Interface {
- return c.configV1alpha1
-}
-
-// Deprecated: Config retrieves the default version of ConfigClient.
-// Please explicitly pick a version.
-func (c *Clientset) Config() configv1alpha1.ConfigV1alpha1Interface {
- return c.configV1alpha1
-}
-
-// DatasetV1alpha1 retrieves the DatasetV1alpha1Client
-func (c *Clientset) DatasetV1alpha1() datasetv1alpha1.DatasetV1alpha1Interface {
- return c.datasetV1alpha1
-}
-
-// Deprecated: Dataset retrieves the default version of DatasetClient.
-// Please explicitly pick a version.
-func (c *Clientset) Dataset() datasetv1alpha1.DatasetV1alpha1Interface {
- return c.datasetV1alpha1
-}
-
-// DatasetV1alpha2 retrieves the DatasetV1alpha2Client
-func (c *Clientset) DatasetV1alpha2() datasetv1alpha2.DatasetV1alpha2Interface {
- return c.datasetV1alpha2
-}
-
-// DevopsV1 retrieves the DevopsV1Client
-func (c *Clientset) DevopsV1() devopsv1.DevopsV1Interface {
- return c.devopsV1
-}
-
-// Deprecated: Devops retrieves the default version of DevopsClient.
-// Please explicitly pick a version.
-func (c *Clientset) Devops() devopsv1.DevopsV1Interface {
- return c.devopsV1
-}
-
-// EvaluationV1alpha1 retrieves the EvaluationV1alpha1Client
-func (c *Clientset) EvaluationV1alpha1() evaluationv1alpha1.EvaluationV1alpha1Interface {
- return c.evaluationV1alpha1
-}
-
-// Deprecated: Evaluation retrieves the default version of EvaluationClient.
-// Please explicitly pick a version.
-func (c *Clientset) Evaluation() evaluationv1alpha1.EvaluationV1alpha1Interface {
- return c.evaluationV1alpha1
-}
-
-// LoadbalanceV1alpha2 retrieves the LoadbalanceV1alpha2Client
-func (c *Clientset) LoadbalanceV1alpha2() loadbalancev1alpha2.LoadbalanceV1alpha2Interface {
- return c.loadbalanceV1alpha2
-}
-
-// Deprecated: Loadbalance retrieves the default version of LoadbalanceClient.
-// Please explicitly pick a version.
-func (c *Clientset) Loadbalance() loadbalancev1alpha2.LoadbalanceV1alpha2Interface {
- return c.loadbalanceV1alpha2
-}
-
-// LoggingV1alpha1 retrieves the LoggingV1alpha1Client
-func (c *Clientset) LoggingV1alpha1() loggingv1alpha1.LoggingV1alpha1Interface {
- return c.loggingV1alpha1
-}
-
-// Deprecated: Logging retrieves the default version of LoggingClient.
-// Please explicitly pick a version.
-func (c *Clientset) Logging() loggingv1alpha1.LoggingV1alpha1Interface {
- return c.loggingV1alpha1
-}
-
-// MicroserviceV1alpha1 retrieves the MicroserviceV1alpha1Client
-func (c *Clientset) MicroserviceV1alpha1() microservicev1alpha1.MicroserviceV1alpha1Interface {
- return c.microserviceV1alpha1
-}
-
-// Deprecated: Microservice retrieves the default version of MicroserviceClient.
-// Please explicitly pick a version.
-func (c *Clientset) Microservice() microservicev1alpha1.MicroserviceV1alpha1Interface {
- return c.microserviceV1alpha1
-}
-
-// ModelV1alpha1 retrieves the ModelV1alpha1Client
-func (c *Clientset) ModelV1alpha1() modelv1alpha1.ModelV1alpha1Interface {
- return c.modelV1alpha1
-}
-
-// Deprecated: Model retrieves the default version of ModelClient.
-// Please explicitly pick a version.
-func (c *Clientset) Model() modelv1alpha1.ModelV1alpha1Interface {
- return c.modelV1alpha1
-}
-
-// OrchestrationV1alpha1 retrieves the OrchestrationV1alpha1Client
-func (c *Clientset) OrchestrationV1alpha1() orchestrationv1alpha1.OrchestrationV1alpha1Interface {
- return c.orchestrationV1alpha1
-}
-
-// Deprecated: Orchestration retrieves the default version of OrchestrationClient.
-// Please explicitly pick a version.
-func (c *Clientset) Orchestration() orchestrationv1alpha1.OrchestrationV1alpha1Interface {
- return c.orchestrationV1alpha1
-}
-
-// ReleaseV1alpha1 retrieves the ReleaseV1alpha1Client
-func (c *Clientset) ReleaseV1alpha1() releasev1alpha1.ReleaseV1alpha1Interface {
- return c.releaseV1alpha1
-}
-
-// Deprecated: Release retrieves the default version of ReleaseClient.
-// Please explicitly pick a version.
-func (c *Clientset) Release() releasev1alpha1.ReleaseV1alpha1Interface {
- return c.releaseV1alpha1
-}
-
-// ResourceV1alpha1 retrieves the ResourceV1alpha1Client
-func (c *Clientset) ResourceV1alpha1() resourcev1alpha1.ResourceV1alpha1Interface {
- return c.resourceV1alpha1
-}
-
-// ResourceV1beta1 retrieves the ResourceV1beta1Client
-func (c *Clientset) ResourceV1beta1() resourcev1beta1.ResourceV1beta1Interface {
- return c.resourceV1beta1
-}
-
-// Deprecated: Resource retrieves the default version of ResourceClient.
-// Please explicitly pick a version.
-func (c *Clientset) Resource() resourcev1beta1.ResourceV1beta1Interface {
- return c.resourceV1beta1
-}
-
-// ServicemeshV1alpha1 retrieves the ServicemeshV1alpha1Client
-func (c *Clientset) ServicemeshV1alpha1() servicemeshv1alpha1.ServicemeshV1alpha1Interface {
- return c.servicemeshV1alpha1
-}
-
-// Deprecated: Servicemesh retrieves the default version of ServicemeshClient.
-// Please explicitly pick a version.
-func (c *Clientset) Servicemesh() servicemeshv1alpha1.ServicemeshV1alpha1Interface {
- return c.servicemeshV1alpha1
-}
+ Native() kubernetes.Interface
+ Custom() customclient.Interface
-// ServingV1alpha1 retrieves the ServingV1alpha1Client
-func (c *Clientset) ServingV1alpha1() servingv1alpha1.ServingV1alpha1Interface {
- return c.servingV1alpha1
-}
-
-// Deprecated: Serving retrieves the default version of ServingClient.
-// Please explicitly pick a version.
-func (c *Clientset) Serving() servingv1alpha1.ServingV1alpha1Interface {
- return c.servingV1alpha1
-}
+ // third-part clients
-// TenantV1alpha1 retrieves the TenantV1alpha1Client
-func (c *Clientset) TenantV1alpha1() tenantv1alpha1.TenantV1alpha1Interface {
- return c.tenantV1alpha1
+ Apiextensions() apiextensionsclientset.Interface
}
-// Deprecated: Tenant retrieves the default version of TenantClient.
-// Please explicitly pick a version.
-func (c *Clientset) Tenant() tenantv1alpha1.TenantV1alpha1Interface {
- return c.tenantV1alpha1
-}
-
-// WorkloadV1alpha1 retrieves the WorkloadV1alpha1Client
-func (c *Clientset) WorkloadV1alpha1() workloadv1alpha1.WorkloadV1alpha1Interface {
- return c.workloadV1alpha1
-}
-
-// WorkloadV1beta1 retrieves the WorkloadV1beta1Client
-func (c *Clientset) WorkloadV1beta1() workloadv1beta1.WorkloadV1beta1Interface {
- return c.workloadV1beta1
-}
-
-// Deprecated: Workload retrieves the default version of WorkloadClient.
-// Please explicitly pick a version.
-func (c *Clientset) Workload() workloadv1beta1.WorkloadV1beta1Interface {
- return c.workloadV1beta1
+type clientset struct {
+ kubeClient *kubernetes.Clientset
+ customClient *customclient.Clientset
+ extensionsClient *apiextensionsclientset.Clientset
}
// NewForConfig creates a new Clientset for the given config.
-func NewForConfig(c *rest.Config) (*Clientset, error) {
- configShallowCopy := *c
- if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
- configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
- }
- var cs Clientset
- var err error
- cs.alertingV1alpha1, err = alertingv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.alertingV1alpha2, err = alertingv1alpha2.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.apiextensionsV1beta1, err = apiextensionsv1beta1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.apiregistrationV1, err = apiregistrationv1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.cleverV1alpha1, err = cleverv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.cleverV1alpha2, err = cleverv1alpha2.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.cleverV1alpha3, err = cleverv1alpha3.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.cnetworkingV1alpha1, err = cnetworkingv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.configV1alpha1, err = configv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.datasetV1alpha1, err = datasetv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.datasetV1alpha2, err = datasetv1alpha2.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.devopsV1, err = devopsv1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.evaluationV1alpha1, err = evaluationv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.loadbalanceV1alpha2, err = loadbalancev1alpha2.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.loggingV1alpha1, err = loggingv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.microserviceV1alpha1, err = microservicev1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.modelV1alpha1, err = modelv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.orchestrationV1alpha1, err = orchestrationv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.releaseV1alpha1, err = releasev1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.resourceV1alpha1, err = resourcev1alpha1.NewForConfig(&configShallowCopy)
+func NewForConfig(c *rest.Config) (Interface, error) {
+ kubeClient, err := kubernetes.NewForConfig(c)
if err != nil {
return nil, err
}
- cs.resourceV1beta1, err = resourcev1beta1.NewForConfig(&configShallowCopy)
+ customClient, err := customclient.NewForConfig(c)
if err != nil {
return nil, err
}
- cs.servicemeshV1alpha1, err = servicemeshv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.servingV1alpha1, err = servingv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.tenantV1alpha1, err = tenantv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.workloadV1alpha1, err = workloadv1alpha1.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- cs.workloadV1beta1, err = workloadv1beta1.NewForConfig(&configShallowCopy)
+ apiextensionsClient, err := apiextensionsclientset.NewForConfig(c)
if err != nil {
return nil, err
}
- cs.Clientset, err = kubernetes.NewForConfig(&configShallowCopy)
- if err != nil {
- return nil, err
- }
- return &cs, nil
+ return &clientset{
+ kubeClient: kubeClient,
+ customClient: customClient,
+ extensionsClient: apiextensionsClient,
+ }, nil
}
-// NewForConfigOrDie creates a new Clientset for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *Clientset {
- var cs Clientset
- cs.alertingV1alpha1 = alertingv1alpha1.NewForConfigOrDie(c)
- cs.alertingV1alpha2 = alertingv1alpha2.NewForConfigOrDie(c)
- cs.apiextensionsV1beta1 = apiextensionsv1beta1.NewForConfigOrDie(c)
- cs.apiregistrationV1 = apiregistrationv1.NewForConfigOrDie(c)
- cs.cleverV1alpha1 = cleverv1alpha1.NewForConfigOrDie(c)
- cs.cleverV1alpha2 = cleverv1alpha2.NewForConfigOrDie(c)
- cs.cleverV1alpha3 = cleverv1alpha3.NewForConfigOrDie(c)
- cs.cnetworkingV1alpha1 = cnetworkingv1alpha1.NewForConfigOrDie(c)
- cs.configV1alpha1 = configv1alpha1.NewForConfigOrDie(c)
- cs.datasetV1alpha1 = datasetv1alpha1.NewForConfigOrDie(c)
- cs.datasetV1alpha2 = datasetv1alpha2.NewForConfigOrDie(c)
- cs.devopsV1 = devopsv1.NewForConfigOrDie(c)
- cs.evaluationV1alpha1 = evaluationv1alpha1.NewForConfigOrDie(c)
- cs.loadbalanceV1alpha2 = loadbalancev1alpha2.NewForConfigOrDie(c)
- cs.loggingV1alpha1 = loggingv1alpha1.NewForConfigOrDie(c)
- cs.microserviceV1alpha1 = microservicev1alpha1.NewForConfigOrDie(c)
- cs.modelV1alpha1 = modelv1alpha1.NewForConfigOrDie(c)
- cs.orchestrationV1alpha1 = orchestrationv1alpha1.NewForConfigOrDie(c)
- cs.releaseV1alpha1 = releasev1alpha1.NewForConfigOrDie(c)
- cs.resourceV1alpha1 = resourcev1alpha1.NewForConfigOrDie(c)
- cs.resourceV1beta1 = resourcev1beta1.NewForConfigOrDie(c)
- cs.servicemeshV1alpha1 = servicemeshv1alpha1.NewForConfigOrDie(c)
- cs.servingV1alpha1 = servingv1alpha1.NewForConfigOrDie(c)
- cs.tenantV1alpha1 = tenantv1alpha1.NewForConfigOrDie(c)
- cs.workloadV1alpha1 = workloadv1alpha1.NewForConfigOrDie(c)
- cs.workloadV1beta1 = workloadv1beta1.NewForConfigOrDie(c)
-
- cs.Clientset = kubernetes.NewForConfigOrDie(c)
- return &cs
+// Native returns the standard kubernetes clientset.
+func (c *clientset) Native() kubernetes.Interface {
+ return c.kubeClient
}
-// New creates a new Clientset for the given RESTClient.
-func New(c rest.Interface) *Clientset {
- var cs Clientset
- cs.alertingV1alpha1 = alertingv1alpha1.New(c)
- cs.alertingV1alpha2 = alertingv1alpha2.New(c)
- cs.apiextensionsV1beta1 = apiextensionsv1beta1.New(c)
- cs.apiregistrationV1 = apiregistrationv1.New(c)
- cs.cleverV1alpha1 = cleverv1alpha1.New(c)
- cs.cleverV1alpha2 = cleverv1alpha2.New(c)
- cs.cleverV1alpha3 = cleverv1alpha3.New(c)
- cs.cnetworkingV1alpha1 = cnetworkingv1alpha1.New(c)
- cs.configV1alpha1 = configv1alpha1.New(c)
- cs.datasetV1alpha1 = datasetv1alpha1.New(c)
- cs.datasetV1alpha2 = datasetv1alpha2.New(c)
- cs.devopsV1 = devopsv1.New(c)
- cs.evaluationV1alpha1 = evaluationv1alpha1.New(c)
- cs.loadbalanceV1alpha2 = loadbalancev1alpha2.New(c)
- cs.loggingV1alpha1 = loggingv1alpha1.New(c)
- cs.microserviceV1alpha1 = microservicev1alpha1.New(c)
- cs.modelV1alpha1 = modelv1alpha1.New(c)
- cs.orchestrationV1alpha1 = orchestrationv1alpha1.New(c)
- cs.releaseV1alpha1 = releasev1alpha1.New(c)
- cs.resourceV1alpha1 = resourcev1alpha1.New(c)
- cs.resourceV1beta1 = resourcev1beta1.New(c)
- cs.servicemeshV1alpha1 = servicemeshv1alpha1.New(c)
- cs.servingV1alpha1 = servingv1alpha1.New(c)
- cs.tenantV1alpha1 = tenantv1alpha1.New(c)
- cs.workloadV1alpha1 = workloadv1alpha1.New(c)
- cs.workloadV1beta1 = workloadv1beta1.New(c)
+// Custom returns the clientset for our own API group.
+func (c *clientset) Custom() customclient.Interface {
+ return c.customClient
+}
- cs.Clientset = kubernetes.New(c)
- return &cs
+// Apiextensions returns the apiextensions clientset.
+func (c *clientset) Apiextensions() apiextensionsclientset.Interface {
+ return c.extensionsClient
}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/doc.go b/vendor/github.com/caicloud/clientset/kubernetes/doc.go
deleted file mode 100644
index 777866059..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/doc.go
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// This package has the automatically generated clientset.
-package kubernetes
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/scheme/register.go b/vendor/github.com/caicloud/clientset/kubernetes/scheme/register.go
deleted file mode 100644
index 8045dc73c..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/scheme/register.go
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package scheme
-
-import (
- alertingv1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
- alertingv1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- apiextensionsv1beta1 "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
- apiregistrationv1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
- cleverv1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- cleverv1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- cleverv1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- cnetworkingv1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
- configv1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
- datasetv1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
- datasetv1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
- devopsv1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
- evaluationv1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
- loadbalancev1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
- loggingv1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
- microservicev1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
- modelv1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
- orchestrationv1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
- releasev1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- resourcev1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
- resourcev1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- servicemeshv1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
- servingv1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
- tenantv1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- workloadv1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
- workloadv1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
- runtime "k8s.io/apimachinery/pkg/runtime"
- scheme "k8s.io/client-go/kubernetes/scheme"
-)
-
-var Scheme = scheme.Scheme
-var Codecs = scheme.Codecs
-var ParameterCodec = scheme.ParameterCodec
-
-func init() {
- AddToScheme(Scheme)
-}
-
-// AddToScheme adds all types of this clientset into the given scheme. This allows composition
-// of clientsets, like in:
-//
-// import (
-// "k8s.io/client-go/kubernetes"
-// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-// )
-//
-// kclientset, _ := kubernetes.NewForConfig(c)
-// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
-//
-// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
-// correctly.
-func AddToScheme(scheme *runtime.Scheme) {
- alertingv1alpha1.AddToScheme(scheme)
- alertingv1alpha2.AddToScheme(scheme)
- apiextensionsv1beta1.AddToScheme(scheme)
- apiregistrationv1.AddToScheme(scheme)
- cleverv1alpha1.AddToScheme(scheme)
- cleverv1alpha2.AddToScheme(scheme)
- cleverv1alpha3.AddToScheme(scheme)
- cnetworkingv1alpha1.AddToScheme(scheme)
- configv1alpha1.AddToScheme(scheme)
- datasetv1alpha1.AddToScheme(scheme)
- datasetv1alpha2.AddToScheme(scheme)
- devopsv1.AddToScheme(scheme)
- evaluationv1alpha1.AddToScheme(scheme)
- loadbalancev1alpha2.AddToScheme(scheme)
- loggingv1alpha1.AddToScheme(scheme)
- microservicev1alpha1.AddToScheme(scheme)
- modelv1alpha1.AddToScheme(scheme)
- orchestrationv1alpha1.AddToScheme(scheme)
- releasev1alpha1.AddToScheme(scheme)
- resourcev1alpha1.AddToScheme(scheme)
- resourcev1beta1.AddToScheme(scheme)
- servicemeshv1alpha1.AddToScheme(scheme)
- servingv1alpha1.AddToScheme(scheme)
- tenantv1alpha1.AddToScheme(scheme)
- workloadv1alpha1.AddToScheme(scheme)
- workloadv1beta1.AddToScheme(scheme)
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alerting_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alerting_client.go
deleted file mode 100644
index 59b38aa34..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alerting_client.go
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type AlertingV1alpha1Interface interface {
- RESTClient() rest.Interface
- AlertingRulesGetter
- AlertingSubRulesGetter
-}
-
-// AlertingV1alpha1Client is used to interact with features provided by the alerting.caicloud.io group.
-type AlertingV1alpha1Client struct {
- restClient rest.Interface
-}
-
-func (c *AlertingV1alpha1Client) AlertingRules() AlertingRuleInterface {
- return newAlertingRules(c)
-}
-
-func (c *AlertingV1alpha1Client) AlertingSubRules() AlertingSubRuleInterface {
- return newAlertingSubRules(c)
-}
-
-// NewForConfig creates a new AlertingV1alpha1Client for the given config.
-func NewForConfig(c *rest.Config) (*AlertingV1alpha1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &AlertingV1alpha1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new AlertingV1alpha1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *AlertingV1alpha1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new AlertingV1alpha1Client for the given RESTClient.
-func New(c rest.Interface) *AlertingV1alpha1Client {
- return &AlertingV1alpha1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *AlertingV1alpha1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alertingrule.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alertingrule.go
deleted file mode 100644
index 80246938e..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alertingrule.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// AlertingRulesGetter has a method to return a AlertingRuleInterface.
-// A group's client should implement this interface.
-type AlertingRulesGetter interface {
- AlertingRules() AlertingRuleInterface
-}
-
-// AlertingRuleInterface has methods to work with AlertingRule resources.
-type AlertingRuleInterface interface {
- Create(*v1alpha1.AlertingRule) (*v1alpha1.AlertingRule, error)
- Update(*v1alpha1.AlertingRule) (*v1alpha1.AlertingRule, error)
- UpdateStatus(*v1alpha1.AlertingRule) (*v1alpha1.AlertingRule, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.AlertingRule, error)
- List(opts v1.ListOptions) (*v1alpha1.AlertingRuleList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingRule, err error)
- AlertingRuleExpansion
-}
-
-// alertingRules implements AlertingRuleInterface
-type alertingRules struct {
- client rest.Interface
-}
-
-// newAlertingRules returns a AlertingRules
-func newAlertingRules(c *AlertingV1alpha1Client) *alertingRules {
- return &alertingRules{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the alertingRule, and returns the corresponding alertingRule object, and an error if there is any.
-func (c *alertingRules) Get(name string, options v1.GetOptions) (result *v1alpha1.AlertingRule, err error) {
- result = &v1alpha1.AlertingRule{}
- err = c.client.Get().
- Resource("alertingrules").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of AlertingRules that match those selectors.
-func (c *alertingRules) List(opts v1.ListOptions) (result *v1alpha1.AlertingRuleList, err error) {
- result = &v1alpha1.AlertingRuleList{}
- err = c.client.Get().
- Resource("alertingrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested alertingRules.
-func (c *alertingRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("alertingrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a alertingRule and creates it. Returns the server's representation of the alertingRule, and an error, if there is any.
-func (c *alertingRules) Create(alertingRule *v1alpha1.AlertingRule) (result *v1alpha1.AlertingRule, err error) {
- result = &v1alpha1.AlertingRule{}
- err = c.client.Post().
- Resource("alertingrules").
- Body(alertingRule).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a alertingRule and updates it. Returns the server's representation of the alertingRule, and an error, if there is any.
-func (c *alertingRules) Update(alertingRule *v1alpha1.AlertingRule) (result *v1alpha1.AlertingRule, err error) {
- result = &v1alpha1.AlertingRule{}
- err = c.client.Put().
- Resource("alertingrules").
- Name(alertingRule.Name).
- Body(alertingRule).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *alertingRules) UpdateStatus(alertingRule *v1alpha1.AlertingRule) (result *v1alpha1.AlertingRule, err error) {
- result = &v1alpha1.AlertingRule{}
- err = c.client.Put().
- Resource("alertingrules").
- Name(alertingRule.Name).
- SubResource("status").
- Body(alertingRule).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the alertingRule and deletes it. Returns an error if one occurs.
-func (c *alertingRules) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("alertingrules").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *alertingRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("alertingrules").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched alertingRule.
-func (c *alertingRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingRule, err error) {
- result = &v1alpha1.AlertingRule{}
- err = c.client.Patch(pt).
- Resource("alertingrules").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alertingsubrule.go
deleted file mode 100644
index 618cfbb96..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha1/alertingsubrule.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// AlertingSubRulesGetter has a method to return a AlertingSubRuleInterface.
-// A group's client should implement this interface.
-type AlertingSubRulesGetter interface {
- AlertingSubRules() AlertingSubRuleInterface
-}
-
-// AlertingSubRuleInterface has methods to work with AlertingSubRule resources.
-type AlertingSubRuleInterface interface {
- Create(*v1alpha1.AlertingSubRule) (*v1alpha1.AlertingSubRule, error)
- Update(*v1alpha1.AlertingSubRule) (*v1alpha1.AlertingSubRule, error)
- UpdateStatus(*v1alpha1.AlertingSubRule) (*v1alpha1.AlertingSubRule, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.AlertingSubRule, error)
- List(opts v1.ListOptions) (*v1alpha1.AlertingSubRuleList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingSubRule, err error)
- AlertingSubRuleExpansion
-}
-
-// alertingSubRules implements AlertingSubRuleInterface
-type alertingSubRules struct {
- client rest.Interface
-}
-
-// newAlertingSubRules returns a AlertingSubRules
-func newAlertingSubRules(c *AlertingV1alpha1Client) *alertingSubRules {
- return &alertingSubRules{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the alertingSubRule, and returns the corresponding alertingSubRule object, and an error if there is any.
-func (c *alertingSubRules) Get(name string, options v1.GetOptions) (result *v1alpha1.AlertingSubRule, err error) {
- result = &v1alpha1.AlertingSubRule{}
- err = c.client.Get().
- Resource("alertingsubrules").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of AlertingSubRules that match those selectors.
-func (c *alertingSubRules) List(opts v1.ListOptions) (result *v1alpha1.AlertingSubRuleList, err error) {
- result = &v1alpha1.AlertingSubRuleList{}
- err = c.client.Get().
- Resource("alertingsubrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested alertingSubRules.
-func (c *alertingSubRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("alertingsubrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a alertingSubRule and creates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
-func (c *alertingSubRules) Create(alertingSubRule *v1alpha1.AlertingSubRule) (result *v1alpha1.AlertingSubRule, err error) {
- result = &v1alpha1.AlertingSubRule{}
- err = c.client.Post().
- Resource("alertingsubrules").
- Body(alertingSubRule).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a alertingSubRule and updates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
-func (c *alertingSubRules) Update(alertingSubRule *v1alpha1.AlertingSubRule) (result *v1alpha1.AlertingSubRule, err error) {
- result = &v1alpha1.AlertingSubRule{}
- err = c.client.Put().
- Resource("alertingsubrules").
- Name(alertingSubRule.Name).
- Body(alertingSubRule).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *alertingSubRules) UpdateStatus(alertingSubRule *v1alpha1.AlertingSubRule) (result *v1alpha1.AlertingSubRule, err error) {
- result = &v1alpha1.AlertingSubRule{}
- err = c.client.Put().
- Resource("alertingsubrules").
- Name(alertingSubRule.Name).
- SubResource("status").
- Body(alertingSubRule).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the alertingSubRule and deletes it. Returns an error if one occurs.
-func (c *alertingSubRules) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("alertingsubrules").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *alertingSubRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("alertingsubrules").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched alertingSubRule.
-func (c *alertingSubRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.AlertingSubRule, err error) {
- result = &v1alpha1.AlertingSubRule{}
- err = c.client.Patch(pt).
- Resource("alertingsubrules").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alerting_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alerting_client.go
deleted file mode 100644
index f9ba76224..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alerting_client.go
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type AlertingV1alpha2Interface interface {
- RESTClient() rest.Interface
- AlertingRulesGetter
- AlertingSubRulesGetter
-}
-
-// AlertingV1alpha2Client is used to interact with features provided by the alerting.caicloud.io group.
-type AlertingV1alpha2Client struct {
- restClient rest.Interface
-}
-
-func (c *AlertingV1alpha2Client) AlertingRules() AlertingRuleInterface {
- return newAlertingRules(c)
-}
-
-func (c *AlertingV1alpha2Client) AlertingSubRules() AlertingSubRuleInterface {
- return newAlertingSubRules(c)
-}
-
-// NewForConfig creates a new AlertingV1alpha2Client for the given config.
-func NewForConfig(c *rest.Config) (*AlertingV1alpha2Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &AlertingV1alpha2Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new AlertingV1alpha2Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *AlertingV1alpha2Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new AlertingV1alpha2Client for the given RESTClient.
-func New(c rest.Interface) *AlertingV1alpha2Client {
- return &AlertingV1alpha2Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha2.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *AlertingV1alpha2Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alertingrule.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alertingrule.go
deleted file mode 100644
index b34f52ad0..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alertingrule.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// AlertingRulesGetter has a method to return a AlertingRuleInterface.
-// A group's client should implement this interface.
-type AlertingRulesGetter interface {
- AlertingRules() AlertingRuleInterface
-}
-
-// AlertingRuleInterface has methods to work with AlertingRule resources.
-type AlertingRuleInterface interface {
- Create(*v1alpha2.AlertingRule) (*v1alpha2.AlertingRule, error)
- Update(*v1alpha2.AlertingRule) (*v1alpha2.AlertingRule, error)
- UpdateStatus(*v1alpha2.AlertingRule) (*v1alpha2.AlertingRule, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.AlertingRule, error)
- List(opts v1.ListOptions) (*v1alpha2.AlertingRuleList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingRule, err error)
- AlertingRuleExpansion
-}
-
-// alertingRules implements AlertingRuleInterface
-type alertingRules struct {
- client rest.Interface
-}
-
-// newAlertingRules returns a AlertingRules
-func newAlertingRules(c *AlertingV1alpha2Client) *alertingRules {
- return &alertingRules{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the alertingRule, and returns the corresponding alertingRule object, and an error if there is any.
-func (c *alertingRules) Get(name string, options v1.GetOptions) (result *v1alpha2.AlertingRule, err error) {
- result = &v1alpha2.AlertingRule{}
- err = c.client.Get().
- Resource("alertingrules").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of AlertingRules that match those selectors.
-func (c *alertingRules) List(opts v1.ListOptions) (result *v1alpha2.AlertingRuleList, err error) {
- result = &v1alpha2.AlertingRuleList{}
- err = c.client.Get().
- Resource("alertingrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested alertingRules.
-func (c *alertingRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("alertingrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a alertingRule and creates it. Returns the server's representation of the alertingRule, and an error, if there is any.
-func (c *alertingRules) Create(alertingRule *v1alpha2.AlertingRule) (result *v1alpha2.AlertingRule, err error) {
- result = &v1alpha2.AlertingRule{}
- err = c.client.Post().
- Resource("alertingrules").
- Body(alertingRule).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a alertingRule and updates it. Returns the server's representation of the alertingRule, and an error, if there is any.
-func (c *alertingRules) Update(alertingRule *v1alpha2.AlertingRule) (result *v1alpha2.AlertingRule, err error) {
- result = &v1alpha2.AlertingRule{}
- err = c.client.Put().
- Resource("alertingrules").
- Name(alertingRule.Name).
- Body(alertingRule).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *alertingRules) UpdateStatus(alertingRule *v1alpha2.AlertingRule) (result *v1alpha2.AlertingRule, err error) {
- result = &v1alpha2.AlertingRule{}
- err = c.client.Put().
- Resource("alertingrules").
- Name(alertingRule.Name).
- SubResource("status").
- Body(alertingRule).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the alertingRule and deletes it. Returns an error if one occurs.
-func (c *alertingRules) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("alertingrules").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *alertingRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("alertingrules").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched alertingRule.
-func (c *alertingRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingRule, err error) {
- result = &v1alpha2.AlertingRule{}
- err = c.client.Patch(pt).
- Resource("alertingrules").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alertingsubrule.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alertingsubrule.go
deleted file mode 100644
index 4ceba7531..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/alerting/v1alpha2/alertingsubrule.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// AlertingSubRulesGetter has a method to return a AlertingSubRuleInterface.
-// A group's client should implement this interface.
-type AlertingSubRulesGetter interface {
- AlertingSubRules() AlertingSubRuleInterface
-}
-
-// AlertingSubRuleInterface has methods to work with AlertingSubRule resources.
-type AlertingSubRuleInterface interface {
- Create(*v1alpha2.AlertingSubRule) (*v1alpha2.AlertingSubRule, error)
- Update(*v1alpha2.AlertingSubRule) (*v1alpha2.AlertingSubRule, error)
- UpdateStatus(*v1alpha2.AlertingSubRule) (*v1alpha2.AlertingSubRule, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.AlertingSubRule, error)
- List(opts v1.ListOptions) (*v1alpha2.AlertingSubRuleList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingSubRule, err error)
- AlertingSubRuleExpansion
-}
-
-// alertingSubRules implements AlertingSubRuleInterface
-type alertingSubRules struct {
- client rest.Interface
-}
-
-// newAlertingSubRules returns a AlertingSubRules
-func newAlertingSubRules(c *AlertingV1alpha2Client) *alertingSubRules {
- return &alertingSubRules{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the alertingSubRule, and returns the corresponding alertingSubRule object, and an error if there is any.
-func (c *alertingSubRules) Get(name string, options v1.GetOptions) (result *v1alpha2.AlertingSubRule, err error) {
- result = &v1alpha2.AlertingSubRule{}
- err = c.client.Get().
- Resource("alertingsubrules").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of AlertingSubRules that match those selectors.
-func (c *alertingSubRules) List(opts v1.ListOptions) (result *v1alpha2.AlertingSubRuleList, err error) {
- result = &v1alpha2.AlertingSubRuleList{}
- err = c.client.Get().
- Resource("alertingsubrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested alertingSubRules.
-func (c *alertingSubRules) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("alertingsubrules").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a alertingSubRule and creates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
-func (c *alertingSubRules) Create(alertingSubRule *v1alpha2.AlertingSubRule) (result *v1alpha2.AlertingSubRule, err error) {
- result = &v1alpha2.AlertingSubRule{}
- err = c.client.Post().
- Resource("alertingsubrules").
- Body(alertingSubRule).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a alertingSubRule and updates it. Returns the server's representation of the alertingSubRule, and an error, if there is any.
-func (c *alertingSubRules) Update(alertingSubRule *v1alpha2.AlertingSubRule) (result *v1alpha2.AlertingSubRule, err error) {
- result = &v1alpha2.AlertingSubRule{}
- err = c.client.Put().
- Resource("alertingsubrules").
- Name(alertingSubRule.Name).
- Body(alertingSubRule).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *alertingSubRules) UpdateStatus(alertingSubRule *v1alpha2.AlertingSubRule) (result *v1alpha2.AlertingSubRule, err error) {
- result = &v1alpha2.AlertingSubRule{}
- err = c.client.Put().
- Resource("alertingsubrules").
- Name(alertingSubRule.Name).
- SubResource("status").
- Body(alertingSubRule).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the alertingSubRule and deletes it. Returns an error if one occurs.
-func (c *alertingSubRules) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("alertingsubrules").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *alertingSubRules) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("alertingsubrules").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched alertingSubRule.
-func (c *alertingSubRules) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.AlertingSubRule, err error) {
- result = &v1alpha2.AlertingSubRule{}
- err = c.client.Patch(pt).
- Resource("alertingsubrules").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/apiextensions_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/apiextensions_client.go
deleted file mode 100644
index 74a78fb28..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/apiextensions_client.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type ApiextensionsV1beta1Interface interface {
- RESTClient() rest.Interface
- CustomResourceDefinitionsGetter
-}
-
-// ApiextensionsV1beta1Client is used to interact with features provided by the apiextensions.k8s.io group.
-type ApiextensionsV1beta1Client struct {
- restClient rest.Interface
-}
-
-func (c *ApiextensionsV1beta1Client) CustomResourceDefinitions() CustomResourceDefinitionInterface {
- return newCustomResourceDefinitions(c)
-}
-
-// NewForConfig creates a new ApiextensionsV1beta1Client for the given config.
-func NewForConfig(c *rest.Config) (*ApiextensionsV1beta1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &ApiextensionsV1beta1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new ApiextensionsV1beta1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *ApiextensionsV1beta1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new ApiextensionsV1beta1Client for the given RESTClient.
-func New(c rest.Interface) *ApiextensionsV1beta1Client {
- return &ApiextensionsV1beta1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1beta1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *ApiextensionsV1beta1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/customresourcedefinition.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/customresourcedefinition.go
deleted file mode 100644
index f093c6a15..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/customresourcedefinition.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// CustomResourceDefinitionsGetter has a method to return a CustomResourceDefinitionInterface.
-// A group's client should implement this interface.
-type CustomResourceDefinitionsGetter interface {
- CustomResourceDefinitions() CustomResourceDefinitionInterface
-}
-
-// CustomResourceDefinitionInterface has methods to work with CustomResourceDefinition resources.
-type CustomResourceDefinitionInterface interface {
- Create(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)
- Update(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.CustomResourceDefinition, error)
- List(opts v1.ListOptions) (*v1beta1.CustomResourceDefinitionList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error)
- CustomResourceDefinitionExpansion
-}
-
-// customResourceDefinitions implements CustomResourceDefinitionInterface
-type customResourceDefinitions struct {
- client rest.Interface
-}
-
-// newCustomResourceDefinitions returns a CustomResourceDefinitions
-func newCustomResourceDefinitions(c *ApiextensionsV1beta1Client) *customResourceDefinitions {
- return &customResourceDefinitions{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the customResourceDefinition, and returns the corresponding customResourceDefinition object, and an error if there is any.
-func (c *customResourceDefinitions) Get(name string, options v1.GetOptions) (result *v1beta1.CustomResourceDefinition, err error) {
- result = &v1beta1.CustomResourceDefinition{}
- err = c.client.Get().
- Resource("customresourcedefinitions").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of CustomResourceDefinitions that match those selectors.
-func (c *customResourceDefinitions) List(opts v1.ListOptions) (result *v1beta1.CustomResourceDefinitionList, err error) {
- result = &v1beta1.CustomResourceDefinitionList{}
- err = c.client.Get().
- Resource("customresourcedefinitions").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested customResourceDefinitions.
-func (c *customResourceDefinitions) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("customresourcedefinitions").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a customResourceDefinition and creates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any.
-func (c *customResourceDefinitions) Create(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) {
- result = &v1beta1.CustomResourceDefinition{}
- err = c.client.Post().
- Resource("customresourcedefinitions").
- Body(customResourceDefinition).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a customResourceDefinition and updates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any.
-func (c *customResourceDefinitions) Update(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) {
- result = &v1beta1.CustomResourceDefinition{}
- err = c.client.Put().
- Resource("customresourcedefinitions").
- Name(customResourceDefinition.Name).
- Body(customResourceDefinition).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the customResourceDefinition and deletes it. Returns an error if one occurs.
-func (c *customResourceDefinitions) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("customresourcedefinitions").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *customResourceDefinitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("customresourcedefinitions").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched customResourceDefinition.
-func (c *customResourceDefinitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error) {
- result = &v1beta1.CustomResourceDefinition{}
- err = c.client.Patch(pt).
- Resource("customresourcedefinitions").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/generated_expansion.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/generated_expansion.go
deleted file mode 100644
index 7adcc04d4..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiextensions/v1beta1/generated_expansion.go
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-type CustomResourceDefinitionExpansion interface{}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/apiservice.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/apiservice.go
deleted file mode 100644
index 5b8a55753..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/apiregistration/v1/apiservice.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1 "github.com/caicloud/clientset/pkg/apis/apiregistration/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// APIServicesGetter has a method to return a APIServiceInterface.
-// A group's client should implement this interface.
-type APIServicesGetter interface {
- APIServices() APIServiceInterface
-}
-
-// APIServiceInterface has methods to work with APIService resources.
-type APIServiceInterface interface {
- Create(*v1.APIService) (*v1.APIService, error)
- Update(*v1.APIService) (*v1.APIService, error)
- UpdateStatus(*v1.APIService) (*v1.APIService, error)
- Delete(name string, options *metav1.DeleteOptions) error
- DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
- Get(name string, options metav1.GetOptions) (*v1.APIService, error)
- List(opts metav1.ListOptions) (*v1.APIServiceList, error)
- Watch(opts metav1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.APIService, err error)
- APIServiceExpansion
-}
-
-// aPIServices implements APIServiceInterface
-type aPIServices struct {
- client rest.Interface
-}
-
-// newAPIServices returns a APIServices
-func newAPIServices(c *ApiregistrationV1Client) *aPIServices {
- return &aPIServices{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the aPIService, and returns the corresponding aPIService object, and an error if there is any.
-func (c *aPIServices) Get(name string, options metav1.GetOptions) (result *v1.APIService, err error) {
- result = &v1.APIService{}
- err = c.client.Get().
- Resource("apiservices").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of APIServices that match those selectors.
-func (c *aPIServices) List(opts metav1.ListOptions) (result *v1.APIServiceList, err error) {
- result = &v1.APIServiceList{}
- err = c.client.Get().
- Resource("apiservices").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested aPIServices.
-func (c *aPIServices) Watch(opts metav1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("apiservices").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a aPIService and creates it. Returns the server's representation of the aPIService, and an error, if there is any.
-func (c *aPIServices) Create(aPIService *v1.APIService) (result *v1.APIService, err error) {
- result = &v1.APIService{}
- err = c.client.Post().
- Resource("apiservices").
- Body(aPIService).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a aPIService and updates it. Returns the server's representation of the aPIService, and an error, if there is any.
-func (c *aPIServices) Update(aPIService *v1.APIService) (result *v1.APIService, err error) {
- result = &v1.APIService{}
- err = c.client.Put().
- Resource("apiservices").
- Name(aPIService.Name).
- Body(aPIService).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *aPIServices) UpdateStatus(aPIService *v1.APIService) (result *v1.APIService, err error) {
- result = &v1.APIService{}
- err = c.client.Put().
- Resource("apiservices").
- Name(aPIService.Name).
- SubResource("status").
- Body(aPIService).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the aPIService and deletes it. Returns an error if one occurs.
-func (c *aPIServices) Delete(name string, options *metav1.DeleteOptions) error {
- return c.client.Delete().
- Resource("apiservices").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *aPIServices) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
- return c.client.Delete().
- Resource("apiservices").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched aPIService.
-func (c *aPIServices) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.APIService, err error) {
- result = &v1.APIService{}
- err = c.client.Patch(pt).
- Resource("apiservices").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/clever_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/clever_client.go
deleted file mode 100644
index 347fd1542..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/clever_client.go
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type CleverV1alpha1Interface interface {
- RESTClient() rest.Interface
- FlavorsGetter
- ProjectsGetter
- TemplatesGetter
-}
-
-// CleverV1alpha1Client is used to interact with features provided by the clever.caicloud.io group.
-type CleverV1alpha1Client struct {
- restClient rest.Interface
-}
-
-func (c *CleverV1alpha1Client) Flavors() FlavorInterface {
- return newFlavors(c)
-}
-
-func (c *CleverV1alpha1Client) Projects(namespace string) ProjectInterface {
- return newProjects(c, namespace)
-}
-
-func (c *CleverV1alpha1Client) Templates() TemplateInterface {
- return newTemplates(c)
-}
-
-// NewForConfig creates a new CleverV1alpha1Client for the given config.
-func NewForConfig(c *rest.Config) (*CleverV1alpha1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &CleverV1alpha1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new CleverV1alpha1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *CleverV1alpha1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new CleverV1alpha1Client for the given RESTClient.
-func New(c rest.Interface) *CleverV1alpha1Client {
- return &CleverV1alpha1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *CleverV1alpha1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/flavor.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/flavor.go
deleted file mode 100644
index 108ecb911..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/flavor.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// FlavorsGetter has a method to return a FlavorInterface.
-// A group's client should implement this interface.
-type FlavorsGetter interface {
- Flavors() FlavorInterface
-}
-
-// FlavorInterface has methods to work with Flavor resources.
-type FlavorInterface interface {
- Create(*v1alpha1.Flavor) (*v1alpha1.Flavor, error)
- Update(*v1alpha1.Flavor) (*v1alpha1.Flavor, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Flavor, error)
- List(opts v1.ListOptions) (*v1alpha1.FlavorList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Flavor, err error)
- FlavorExpansion
-}
-
-// flavors implements FlavorInterface
-type flavors struct {
- client rest.Interface
-}
-
-// newFlavors returns a Flavors
-func newFlavors(c *CleverV1alpha1Client) *flavors {
- return &flavors{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the flavor, and returns the corresponding flavor object, and an error if there is any.
-func (c *flavors) Get(name string, options v1.GetOptions) (result *v1alpha1.Flavor, err error) {
- result = &v1alpha1.Flavor{}
- err = c.client.Get().
- Resource("flavors").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Flavors that match those selectors.
-func (c *flavors) List(opts v1.ListOptions) (result *v1alpha1.FlavorList, err error) {
- result = &v1alpha1.FlavorList{}
- err = c.client.Get().
- Resource("flavors").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested flavors.
-func (c *flavors) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("flavors").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a flavor and creates it. Returns the server's representation of the flavor, and an error, if there is any.
-func (c *flavors) Create(flavor *v1alpha1.Flavor) (result *v1alpha1.Flavor, err error) {
- result = &v1alpha1.Flavor{}
- err = c.client.Post().
- Resource("flavors").
- Body(flavor).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a flavor and updates it. Returns the server's representation of the flavor, and an error, if there is any.
-func (c *flavors) Update(flavor *v1alpha1.Flavor) (result *v1alpha1.Flavor, err error) {
- result = &v1alpha1.Flavor{}
- err = c.client.Put().
- Resource("flavors").
- Name(flavor.Name).
- Body(flavor).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the flavor and deletes it. Returns an error if one occurs.
-func (c *flavors) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("flavors").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *flavors) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("flavors").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched flavor.
-func (c *flavors) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Flavor, err error) {
- result = &v1alpha1.Flavor{}
- err = c.client.Patch(pt).
- Resource("flavors").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/project.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/project.go
deleted file mode 100644
index cdc02d23a..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/project.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ProjectsGetter has a method to return a ProjectInterface.
-// A group's client should implement this interface.
-type ProjectsGetter interface {
- Projects(namespace string) ProjectInterface
-}
-
-// ProjectInterface has methods to work with Project resources.
-type ProjectInterface interface {
- Create(*v1alpha1.Project) (*v1alpha1.Project, error)
- Update(*v1alpha1.Project) (*v1alpha1.Project, error)
- UpdateStatus(*v1alpha1.Project) (*v1alpha1.Project, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Project, error)
- List(opts v1.ListOptions) (*v1alpha1.ProjectList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Project, err error)
- ProjectExpansion
-}
-
-// projects implements ProjectInterface
-type projects struct {
- client rest.Interface
- ns string
-}
-
-// newProjects returns a Projects
-func newProjects(c *CleverV1alpha1Client, namespace string) *projects {
- return &projects{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the project, and returns the corresponding project object, and an error if there is any.
-func (c *projects) Get(name string, options v1.GetOptions) (result *v1alpha1.Project, err error) {
- result = &v1alpha1.Project{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("projects").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Projects that match those selectors.
-func (c *projects) List(opts v1.ListOptions) (result *v1alpha1.ProjectList, err error) {
- result = &v1alpha1.ProjectList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("projects").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested projects.
-func (c *projects) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("projects").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a project and creates it. Returns the server's representation of the project, and an error, if there is any.
-func (c *projects) Create(project *v1alpha1.Project) (result *v1alpha1.Project, err error) {
- result = &v1alpha1.Project{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("projects").
- Body(project).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a project and updates it. Returns the server's representation of the project, and an error, if there is any.
-func (c *projects) Update(project *v1alpha1.Project) (result *v1alpha1.Project, err error) {
- result = &v1alpha1.Project{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("projects").
- Name(project.Name).
- Body(project).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *projects) UpdateStatus(project *v1alpha1.Project) (result *v1alpha1.Project, err error) {
- result = &v1alpha1.Project{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("projects").
- Name(project.Name).
- SubResource("status").
- Body(project).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the project and deletes it. Returns an error if one occurs.
-func (c *projects) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("projects").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *projects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("projects").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched project.
-func (c *projects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Project, err error) {
- result = &v1alpha1.Project{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("projects").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/template.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/template.go
deleted file mode 100644
index 68fd21f78..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha1/template.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// TemplatesGetter has a method to return a TemplateInterface.
-// A group's client should implement this interface.
-type TemplatesGetter interface {
- Templates() TemplateInterface
-}
-
-// TemplateInterface has methods to work with Template resources.
-type TemplateInterface interface {
- Create(*v1alpha1.Template) (*v1alpha1.Template, error)
- Update(*v1alpha1.Template) (*v1alpha1.Template, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Template, error)
- List(opts v1.ListOptions) (*v1alpha1.TemplateList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Template, err error)
- TemplateExpansion
-}
-
-// templates implements TemplateInterface
-type templates struct {
- client rest.Interface
-}
-
-// newTemplates returns a Templates
-func newTemplates(c *CleverV1alpha1Client) *templates {
- return &templates{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the template, and returns the corresponding template object, and an error if there is any.
-func (c *templates) Get(name string, options v1.GetOptions) (result *v1alpha1.Template, err error) {
- result = &v1alpha1.Template{}
- err = c.client.Get().
- Resource("templates").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Templates that match those selectors.
-func (c *templates) List(opts v1.ListOptions) (result *v1alpha1.TemplateList, err error) {
- result = &v1alpha1.TemplateList{}
- err = c.client.Get().
- Resource("templates").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested templates.
-func (c *templates) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("templates").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a template and creates it. Returns the server's representation of the template, and an error, if there is any.
-func (c *templates) Create(template *v1alpha1.Template) (result *v1alpha1.Template, err error) {
- result = &v1alpha1.Template{}
- err = c.client.Post().
- Resource("templates").
- Body(template).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a template and updates it. Returns the server's representation of the template, and an error, if there is any.
-func (c *templates) Update(template *v1alpha1.Template) (result *v1alpha1.Template, err error) {
- result = &v1alpha1.Template{}
- err = c.client.Put().
- Resource("templates").
- Name(template.Name).
- Body(template).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the template and deletes it. Returns an error if one occurs.
-func (c *templates) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("templates").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *templates) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("templates").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched template.
-func (c *templates) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Template, err error) {
- result = &v1alpha1.Template{}
- err = c.client.Patch(pt).
- Resource("templates").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/clever_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/clever_client.go
deleted file mode 100644
index 02f0e0be5..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/clever_client.go
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type CleverV1alpha2Interface interface {
- RESTClient() rest.Interface
- FlavorsGetter
- MLNeuronsGetter
- MLNeuronTaskOwnersGetter
- ProjectsGetter
-}
-
-// CleverV1alpha2Client is used to interact with features provided by the clever.caicloud.io group.
-type CleverV1alpha2Client struct {
- restClient rest.Interface
-}
-
-func (c *CleverV1alpha2Client) Flavors() FlavorInterface {
- return newFlavors(c)
-}
-
-func (c *CleverV1alpha2Client) MLNeurons(namespace string) MLNeuronInterface {
- return newMLNeurons(c, namespace)
-}
-
-func (c *CleverV1alpha2Client) MLNeuronTaskOwners(namespace string) MLNeuronTaskOwnerInterface {
- return newMLNeuronTaskOwners(c, namespace)
-}
-
-func (c *CleverV1alpha2Client) Projects(namespace string) ProjectInterface {
- return newProjects(c, namespace)
-}
-
-// NewForConfig creates a new CleverV1alpha2Client for the given config.
-func NewForConfig(c *rest.Config) (*CleverV1alpha2Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &CleverV1alpha2Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new CleverV1alpha2Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *CleverV1alpha2Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new CleverV1alpha2Client for the given RESTClient.
-func New(c rest.Interface) *CleverV1alpha2Client {
- return &CleverV1alpha2Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha2.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *CleverV1alpha2Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/flavor.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/flavor.go
deleted file mode 100644
index f2aeab771..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/flavor.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// FlavorsGetter has a method to return a FlavorInterface.
-// A group's client should implement this interface.
-type FlavorsGetter interface {
- Flavors() FlavorInterface
-}
-
-// FlavorInterface has methods to work with Flavor resources.
-type FlavorInterface interface {
- Create(*v1alpha2.Flavor) (*v1alpha2.Flavor, error)
- Update(*v1alpha2.Flavor) (*v1alpha2.Flavor, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.Flavor, error)
- List(opts v1.ListOptions) (*v1alpha2.FlavorList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Flavor, err error)
- FlavorExpansion
-}
-
-// flavors implements FlavorInterface
-type flavors struct {
- client rest.Interface
-}
-
-// newFlavors returns a Flavors
-func newFlavors(c *CleverV1alpha2Client) *flavors {
- return &flavors{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the flavor, and returns the corresponding flavor object, and an error if there is any.
-func (c *flavors) Get(name string, options v1.GetOptions) (result *v1alpha2.Flavor, err error) {
- result = &v1alpha2.Flavor{}
- err = c.client.Get().
- Resource("flavors").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Flavors that match those selectors.
-func (c *flavors) List(opts v1.ListOptions) (result *v1alpha2.FlavorList, err error) {
- result = &v1alpha2.FlavorList{}
- err = c.client.Get().
- Resource("flavors").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested flavors.
-func (c *flavors) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("flavors").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a flavor and creates it. Returns the server's representation of the flavor, and an error, if there is any.
-func (c *flavors) Create(flavor *v1alpha2.Flavor) (result *v1alpha2.Flavor, err error) {
- result = &v1alpha2.Flavor{}
- err = c.client.Post().
- Resource("flavors").
- Body(flavor).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a flavor and updates it. Returns the server's representation of the flavor, and an error, if there is any.
-func (c *flavors) Update(flavor *v1alpha2.Flavor) (result *v1alpha2.Flavor, err error) {
- result = &v1alpha2.Flavor{}
- err = c.client.Put().
- Resource("flavors").
- Name(flavor.Name).
- Body(flavor).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the flavor and deletes it. Returns an error if one occurs.
-func (c *flavors) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("flavors").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *flavors) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("flavors").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched flavor.
-func (c *flavors) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Flavor, err error) {
- result = &v1alpha2.Flavor{}
- err = c.client.Patch(pt).
- Resource("flavors").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/mlneuron.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/mlneuron.go
deleted file mode 100644
index b4eb04a69..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/mlneuron.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MLNeuronsGetter has a method to return a MLNeuronInterface.
-// A group's client should implement this interface.
-type MLNeuronsGetter interface {
- MLNeurons(namespace string) MLNeuronInterface
-}
-
-// MLNeuronInterface has methods to work with MLNeuron resources.
-type MLNeuronInterface interface {
- Create(*v1alpha2.MLNeuron) (*v1alpha2.MLNeuron, error)
- Update(*v1alpha2.MLNeuron) (*v1alpha2.MLNeuron, error)
- UpdateStatus(*v1alpha2.MLNeuron) (*v1alpha2.MLNeuron, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.MLNeuron, error)
- List(opts v1.ListOptions) (*v1alpha2.MLNeuronList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuron, err error)
- MLNeuronExpansion
-}
-
-// mLNeurons implements MLNeuronInterface
-type mLNeurons struct {
- client rest.Interface
- ns string
-}
-
-// newMLNeurons returns a MLNeurons
-func newMLNeurons(c *CleverV1alpha2Client, namespace string) *mLNeurons {
- return &mLNeurons{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the mLNeuron, and returns the corresponding mLNeuron object, and an error if there is any.
-func (c *mLNeurons) Get(name string, options v1.GetOptions) (result *v1alpha2.MLNeuron, err error) {
- result = &v1alpha2.MLNeuron{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of MLNeurons that match those selectors.
-func (c *mLNeurons) List(opts v1.ListOptions) (result *v1alpha2.MLNeuronList, err error) {
- result = &v1alpha2.MLNeuronList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlneurons").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested mLNeurons.
-func (c *mLNeurons) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("mlneurons").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a mLNeuron and creates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
-func (c *mLNeurons) Create(mLNeuron *v1alpha2.MLNeuron) (result *v1alpha2.MLNeuron, err error) {
- result = &v1alpha2.MLNeuron{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("mlneurons").
- Body(mLNeuron).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a mLNeuron and updates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
-func (c *mLNeurons) Update(mLNeuron *v1alpha2.MLNeuron) (result *v1alpha2.MLNeuron, err error) {
- result = &v1alpha2.MLNeuron{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(mLNeuron.Name).
- Body(mLNeuron).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *mLNeurons) UpdateStatus(mLNeuron *v1alpha2.MLNeuron) (result *v1alpha2.MLNeuron, err error) {
- result = &v1alpha2.MLNeuron{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(mLNeuron.Name).
- SubResource("status").
- Body(mLNeuron).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the mLNeuron and deletes it. Returns an error if one occurs.
-func (c *mLNeurons) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *mLNeurons) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlneurons").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched mLNeuron.
-func (c *mLNeurons) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuron, err error) {
- result = &v1alpha2.MLNeuron{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("mlneurons").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/mlneurontaskowner.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/mlneurontaskowner.go
deleted file mode 100644
index c4b180921..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/mlneurontaskowner.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MLNeuronTaskOwnersGetter has a method to return a MLNeuronTaskOwnerInterface.
-// A group's client should implement this interface.
-type MLNeuronTaskOwnersGetter interface {
- MLNeuronTaskOwners(namespace string) MLNeuronTaskOwnerInterface
-}
-
-// MLNeuronTaskOwnerInterface has methods to work with MLNeuronTaskOwner resources.
-type MLNeuronTaskOwnerInterface interface {
- Create(*v1alpha2.MLNeuronTaskOwner) (*v1alpha2.MLNeuronTaskOwner, error)
- Update(*v1alpha2.MLNeuronTaskOwner) (*v1alpha2.MLNeuronTaskOwner, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.MLNeuronTaskOwner, error)
- List(opts v1.ListOptions) (*v1alpha2.MLNeuronTaskOwnerList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuronTaskOwner, err error)
- MLNeuronTaskOwnerExpansion
-}
-
-// mLNeuronTaskOwners implements MLNeuronTaskOwnerInterface
-type mLNeuronTaskOwners struct {
- client rest.Interface
- ns string
-}
-
-// newMLNeuronTaskOwners returns a MLNeuronTaskOwners
-func newMLNeuronTaskOwners(c *CleverV1alpha2Client, namespace string) *mLNeuronTaskOwners {
- return &mLNeuronTaskOwners{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the mLNeuronTaskOwner, and returns the corresponding mLNeuronTaskOwner object, and an error if there is any.
-func (c *mLNeuronTaskOwners) Get(name string, options v1.GetOptions) (result *v1alpha2.MLNeuronTaskOwner, err error) {
- result = &v1alpha2.MLNeuronTaskOwner{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of MLNeuronTaskOwners that match those selectors.
-func (c *mLNeuronTaskOwners) List(opts v1.ListOptions) (result *v1alpha2.MLNeuronTaskOwnerList, err error) {
- result = &v1alpha2.MLNeuronTaskOwnerList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested mLNeuronTaskOwners.
-func (c *mLNeuronTaskOwners) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a mLNeuronTaskOwner and creates it. Returns the server's representation of the mLNeuronTaskOwner, and an error, if there is any.
-func (c *mLNeuronTaskOwners) Create(mLNeuronTaskOwner *v1alpha2.MLNeuronTaskOwner) (result *v1alpha2.MLNeuronTaskOwner, err error) {
- result = &v1alpha2.MLNeuronTaskOwner{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- Body(mLNeuronTaskOwner).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a mLNeuronTaskOwner and updates it. Returns the server's representation of the mLNeuronTaskOwner, and an error, if there is any.
-func (c *mLNeuronTaskOwners) Update(mLNeuronTaskOwner *v1alpha2.MLNeuronTaskOwner) (result *v1alpha2.MLNeuronTaskOwner, err error) {
- result = &v1alpha2.MLNeuronTaskOwner{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- Name(mLNeuronTaskOwner.Name).
- Body(mLNeuronTaskOwner).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the mLNeuronTaskOwner and deletes it. Returns an error if one occurs.
-func (c *mLNeuronTaskOwners) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *mLNeuronTaskOwners) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched mLNeuronTaskOwner.
-func (c *mLNeuronTaskOwners) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.MLNeuronTaskOwner, err error) {
- result = &v1alpha2.MLNeuronTaskOwner{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("mlneurontaskowners").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/project.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/project.go
deleted file mode 100644
index 718afcc94..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha2/project.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ProjectsGetter has a method to return a ProjectInterface.
-// A group's client should implement this interface.
-type ProjectsGetter interface {
- Projects(namespace string) ProjectInterface
-}
-
-// ProjectInterface has methods to work with Project resources.
-type ProjectInterface interface {
- Create(*v1alpha2.Project) (*v1alpha2.Project, error)
- Update(*v1alpha2.Project) (*v1alpha2.Project, error)
- UpdateStatus(*v1alpha2.Project) (*v1alpha2.Project, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.Project, error)
- List(opts v1.ListOptions) (*v1alpha2.ProjectList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Project, err error)
- ProjectExpansion
-}
-
-// projects implements ProjectInterface
-type projects struct {
- client rest.Interface
- ns string
-}
-
-// newProjects returns a Projects
-func newProjects(c *CleverV1alpha2Client, namespace string) *projects {
- return &projects{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the project, and returns the corresponding project object, and an error if there is any.
-func (c *projects) Get(name string, options v1.GetOptions) (result *v1alpha2.Project, err error) {
- result = &v1alpha2.Project{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("projects").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Projects that match those selectors.
-func (c *projects) List(opts v1.ListOptions) (result *v1alpha2.ProjectList, err error) {
- result = &v1alpha2.ProjectList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("projects").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested projects.
-func (c *projects) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("projects").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a project and creates it. Returns the server's representation of the project, and an error, if there is any.
-func (c *projects) Create(project *v1alpha2.Project) (result *v1alpha2.Project, err error) {
- result = &v1alpha2.Project{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("projects").
- Body(project).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a project and updates it. Returns the server's representation of the project, and an error, if there is any.
-func (c *projects) Update(project *v1alpha2.Project) (result *v1alpha2.Project, err error) {
- result = &v1alpha2.Project{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("projects").
- Name(project.Name).
- Body(project).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *projects) UpdateStatus(project *v1alpha2.Project) (result *v1alpha2.Project, err error) {
- result = &v1alpha2.Project{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("projects").
- Name(project.Name).
- SubResource("status").
- Body(project).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the project and deletes it. Returns an error if one occurs.
-func (c *projects) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("projects").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *projects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("projects").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched project.
-func (c *projects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Project, err error) {
- result = &v1alpha2.Project{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("projects").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/clever_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/clever_client.go
deleted file mode 100644
index a1dd08369..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/clever_client.go
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type CleverV1alpha3Interface interface {
- RESTClient() rest.Interface
- FlavorsGetter
- MLNeuronsGetter
- MLProjectsGetter
- MLTasksGetter
-}
-
-// CleverV1alpha3Client is used to interact with features provided by the clever.caicloud.io group.
-type CleverV1alpha3Client struct {
- restClient rest.Interface
-}
-
-func (c *CleverV1alpha3Client) Flavors() FlavorInterface {
- return newFlavors(c)
-}
-
-func (c *CleverV1alpha3Client) MLNeurons(namespace string) MLNeuronInterface {
- return newMLNeurons(c, namespace)
-}
-
-func (c *CleverV1alpha3Client) MLProjects(namespace string) MLProjectInterface {
- return newMLProjects(c, namespace)
-}
-
-func (c *CleverV1alpha3Client) MLTasks(namespace string) MLTaskInterface {
- return newMLTasks(c, namespace)
-}
-
-// NewForConfig creates a new CleverV1alpha3Client for the given config.
-func NewForConfig(c *rest.Config) (*CleverV1alpha3Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &CleverV1alpha3Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new CleverV1alpha3Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *CleverV1alpha3Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new CleverV1alpha3Client for the given RESTClient.
-func New(c rest.Interface) *CleverV1alpha3Client {
- return &CleverV1alpha3Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha3.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *CleverV1alpha3Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/flavor.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/flavor.go
deleted file mode 100644
index 9a2c68b5e..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/flavor.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// FlavorsGetter has a method to return a FlavorInterface.
-// A group's client should implement this interface.
-type FlavorsGetter interface {
- Flavors() FlavorInterface
-}
-
-// FlavorInterface has methods to work with Flavor resources.
-type FlavorInterface interface {
- Create(*v1alpha3.Flavor) (*v1alpha3.Flavor, error)
- Update(*v1alpha3.Flavor) (*v1alpha3.Flavor, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha3.Flavor, error)
- List(opts v1.ListOptions) (*v1alpha3.FlavorList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.Flavor, err error)
- FlavorExpansion
-}
-
-// flavors implements FlavorInterface
-type flavors struct {
- client rest.Interface
-}
-
-// newFlavors returns a Flavors
-func newFlavors(c *CleverV1alpha3Client) *flavors {
- return &flavors{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the flavor, and returns the corresponding flavor object, and an error if there is any.
-func (c *flavors) Get(name string, options v1.GetOptions) (result *v1alpha3.Flavor, err error) {
- result = &v1alpha3.Flavor{}
- err = c.client.Get().
- Resource("flavors").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Flavors that match those selectors.
-func (c *flavors) List(opts v1.ListOptions) (result *v1alpha3.FlavorList, err error) {
- result = &v1alpha3.FlavorList{}
- err = c.client.Get().
- Resource("flavors").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested flavors.
-func (c *flavors) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("flavors").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a flavor and creates it. Returns the server's representation of the flavor, and an error, if there is any.
-func (c *flavors) Create(flavor *v1alpha3.Flavor) (result *v1alpha3.Flavor, err error) {
- result = &v1alpha3.Flavor{}
- err = c.client.Post().
- Resource("flavors").
- Body(flavor).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a flavor and updates it. Returns the server's representation of the flavor, and an error, if there is any.
-func (c *flavors) Update(flavor *v1alpha3.Flavor) (result *v1alpha3.Flavor, err error) {
- result = &v1alpha3.Flavor{}
- err = c.client.Put().
- Resource("flavors").
- Name(flavor.Name).
- Body(flavor).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the flavor and deletes it. Returns an error if one occurs.
-func (c *flavors) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("flavors").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *flavors) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("flavors").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched flavor.
-func (c *flavors) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.Flavor, err error) {
- result = &v1alpha3.Flavor{}
- err = c.client.Patch(pt).
- Resource("flavors").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mlneuron.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mlneuron.go
deleted file mode 100644
index 81439b947..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mlneuron.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MLNeuronsGetter has a method to return a MLNeuronInterface.
-// A group's client should implement this interface.
-type MLNeuronsGetter interface {
- MLNeurons(namespace string) MLNeuronInterface
-}
-
-// MLNeuronInterface has methods to work with MLNeuron resources.
-type MLNeuronInterface interface {
- Create(*v1alpha3.MLNeuron) (*v1alpha3.MLNeuron, error)
- Update(*v1alpha3.MLNeuron) (*v1alpha3.MLNeuron, error)
- UpdateStatus(*v1alpha3.MLNeuron) (*v1alpha3.MLNeuron, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha3.MLNeuron, error)
- List(opts v1.ListOptions) (*v1alpha3.MLNeuronList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLNeuron, err error)
- MLNeuronExpansion
-}
-
-// mLNeurons implements MLNeuronInterface
-type mLNeurons struct {
- client rest.Interface
- ns string
-}
-
-// newMLNeurons returns a MLNeurons
-func newMLNeurons(c *CleverV1alpha3Client, namespace string) *mLNeurons {
- return &mLNeurons{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the mLNeuron, and returns the corresponding mLNeuron object, and an error if there is any.
-func (c *mLNeurons) Get(name string, options v1.GetOptions) (result *v1alpha3.MLNeuron, err error) {
- result = &v1alpha3.MLNeuron{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of MLNeurons that match those selectors.
-func (c *mLNeurons) List(opts v1.ListOptions) (result *v1alpha3.MLNeuronList, err error) {
- result = &v1alpha3.MLNeuronList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlneurons").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested mLNeurons.
-func (c *mLNeurons) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("mlneurons").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a mLNeuron and creates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
-func (c *mLNeurons) Create(mLNeuron *v1alpha3.MLNeuron) (result *v1alpha3.MLNeuron, err error) {
- result = &v1alpha3.MLNeuron{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("mlneurons").
- Body(mLNeuron).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a mLNeuron and updates it. Returns the server's representation of the mLNeuron, and an error, if there is any.
-func (c *mLNeurons) Update(mLNeuron *v1alpha3.MLNeuron) (result *v1alpha3.MLNeuron, err error) {
- result = &v1alpha3.MLNeuron{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(mLNeuron.Name).
- Body(mLNeuron).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *mLNeurons) UpdateStatus(mLNeuron *v1alpha3.MLNeuron) (result *v1alpha3.MLNeuron, err error) {
- result = &v1alpha3.MLNeuron{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(mLNeuron.Name).
- SubResource("status").
- Body(mLNeuron).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the mLNeuron and deletes it. Returns an error if one occurs.
-func (c *mLNeurons) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlneurons").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *mLNeurons) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlneurons").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched mLNeuron.
-func (c *mLNeurons) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLNeuron, err error) {
- result = &v1alpha3.MLNeuron{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("mlneurons").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mlproject.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mlproject.go
deleted file mode 100644
index 4cc0a36a2..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mlproject.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MLProjectsGetter has a method to return a MLProjectInterface.
-// A group's client should implement this interface.
-type MLProjectsGetter interface {
- MLProjects(namespace string) MLProjectInterface
-}
-
-// MLProjectInterface has methods to work with MLProject resources.
-type MLProjectInterface interface {
- Create(*v1alpha3.MLProject) (*v1alpha3.MLProject, error)
- Update(*v1alpha3.MLProject) (*v1alpha3.MLProject, error)
- UpdateStatus(*v1alpha3.MLProject) (*v1alpha3.MLProject, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha3.MLProject, error)
- List(opts v1.ListOptions) (*v1alpha3.MLProjectList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLProject, err error)
- MLProjectExpansion
-}
-
-// mLProjects implements MLProjectInterface
-type mLProjects struct {
- client rest.Interface
- ns string
-}
-
-// newMLProjects returns a MLProjects
-func newMLProjects(c *CleverV1alpha3Client, namespace string) *mLProjects {
- return &mLProjects{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the mLProject, and returns the corresponding mLProject object, and an error if there is any.
-func (c *mLProjects) Get(name string, options v1.GetOptions) (result *v1alpha3.MLProject, err error) {
- result = &v1alpha3.MLProject{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlprojects").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of MLProjects that match those selectors.
-func (c *mLProjects) List(opts v1.ListOptions) (result *v1alpha3.MLProjectList, err error) {
- result = &v1alpha3.MLProjectList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mlprojects").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested mLProjects.
-func (c *mLProjects) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("mlprojects").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a mLProject and creates it. Returns the server's representation of the mLProject, and an error, if there is any.
-func (c *mLProjects) Create(mLProject *v1alpha3.MLProject) (result *v1alpha3.MLProject, err error) {
- result = &v1alpha3.MLProject{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("mlprojects").
- Body(mLProject).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a mLProject and updates it. Returns the server's representation of the mLProject, and an error, if there is any.
-func (c *mLProjects) Update(mLProject *v1alpha3.MLProject) (result *v1alpha3.MLProject, err error) {
- result = &v1alpha3.MLProject{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlprojects").
- Name(mLProject.Name).
- Body(mLProject).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *mLProjects) UpdateStatus(mLProject *v1alpha3.MLProject) (result *v1alpha3.MLProject, err error) {
- result = &v1alpha3.MLProject{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mlprojects").
- Name(mLProject.Name).
- SubResource("status").
- Body(mLProject).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the mLProject and deletes it. Returns an error if one occurs.
-func (c *mLProjects) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlprojects").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *mLProjects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mlprojects").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched mLProject.
-func (c *mLProjects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLProject, err error) {
- result = &v1alpha3.MLProject{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("mlprojects").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mltask.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mltask.go
deleted file mode 100644
index 694de86fe..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/clever/v1alpha3/mltask.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha3 "github.com/caicloud/clientset/pkg/apis/clever/v1alpha3"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MLTasksGetter has a method to return a MLTaskInterface.
-// A group's client should implement this interface.
-type MLTasksGetter interface {
- MLTasks(namespace string) MLTaskInterface
-}
-
-// MLTaskInterface has methods to work with MLTask resources.
-type MLTaskInterface interface {
- Create(*v1alpha3.MLTask) (*v1alpha3.MLTask, error)
- Update(*v1alpha3.MLTask) (*v1alpha3.MLTask, error)
- UpdateStatus(*v1alpha3.MLTask) (*v1alpha3.MLTask, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha3.MLTask, error)
- List(opts v1.ListOptions) (*v1alpha3.MLTaskList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLTask, err error)
- MLTaskExpansion
-}
-
-// mLTasks implements MLTaskInterface
-type mLTasks struct {
- client rest.Interface
- ns string
-}
-
-// newMLTasks returns a MLTasks
-func newMLTasks(c *CleverV1alpha3Client, namespace string) *mLTasks {
- return &mLTasks{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the mLTask, and returns the corresponding mLTask object, and an error if there is any.
-func (c *mLTasks) Get(name string, options v1.GetOptions) (result *v1alpha3.MLTask, err error) {
- result = &v1alpha3.MLTask{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mltasks").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of MLTasks that match those selectors.
-func (c *mLTasks) List(opts v1.ListOptions) (result *v1alpha3.MLTaskList, err error) {
- result = &v1alpha3.MLTaskList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("mltasks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested mLTasks.
-func (c *mLTasks) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("mltasks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a mLTask and creates it. Returns the server's representation of the mLTask, and an error, if there is any.
-func (c *mLTasks) Create(mLTask *v1alpha3.MLTask) (result *v1alpha3.MLTask, err error) {
- result = &v1alpha3.MLTask{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("mltasks").
- Body(mLTask).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a mLTask and updates it. Returns the server's representation of the mLTask, and an error, if there is any.
-func (c *mLTasks) Update(mLTask *v1alpha3.MLTask) (result *v1alpha3.MLTask, err error) {
- result = &v1alpha3.MLTask{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mltasks").
- Name(mLTask.Name).
- Body(mLTask).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *mLTasks) UpdateStatus(mLTask *v1alpha3.MLTask) (result *v1alpha3.MLTask, err error) {
- result = &v1alpha3.MLTask{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("mltasks").
- Name(mLTask.Name).
- SubResource("status").
- Body(mLTask).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the mLTask and deletes it. Returns an error if one occurs.
-func (c *mLTasks) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mltasks").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *mLTasks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("mltasks").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched mLTask.
-func (c *mLTasks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha3.MLTask, err error) {
- result = &v1alpha3.MLTask{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("mltasks").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/networkpolicy.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/networkpolicy.go
deleted file mode 100644
index 00e98a4da..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/cnetworking/v1alpha1/networkpolicy.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// NetworkPoliciesGetter has a method to return a NetworkPolicyInterface.
-// A group's client should implement this interface.
-type NetworkPoliciesGetter interface {
- NetworkPolicies(namespace string) NetworkPolicyInterface
-}
-
-// NetworkPolicyInterface has methods to work with NetworkPolicy resources.
-type NetworkPolicyInterface interface {
- Create(*v1alpha1.NetworkPolicy) (*v1alpha1.NetworkPolicy, error)
- Update(*v1alpha1.NetworkPolicy) (*v1alpha1.NetworkPolicy, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.NetworkPolicy, error)
- List(opts v1.ListOptions) (*v1alpha1.NetworkPolicyList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.NetworkPolicy, err error)
- NetworkPolicyExpansion
-}
-
-// networkPolicies implements NetworkPolicyInterface
-type networkPolicies struct {
- client rest.Interface
- ns string
-}
-
-// newNetworkPolicies returns a NetworkPolicies
-func newNetworkPolicies(c *CnetworkingV1alpha1Client, namespace string) *networkPolicies {
- return &networkPolicies{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the networkPolicy, and returns the corresponding networkPolicy object, and an error if there is any.
-func (c *networkPolicies) Get(name string, options v1.GetOptions) (result *v1alpha1.NetworkPolicy, err error) {
- result = &v1alpha1.NetworkPolicy{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("networkpolicies").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of NetworkPolicies that match those selectors.
-func (c *networkPolicies) List(opts v1.ListOptions) (result *v1alpha1.NetworkPolicyList, err error) {
- result = &v1alpha1.NetworkPolicyList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("networkpolicies").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested networkPolicies.
-func (c *networkPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("networkpolicies").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a networkPolicy and creates it. Returns the server's representation of the networkPolicy, and an error, if there is any.
-func (c *networkPolicies) Create(networkPolicy *v1alpha1.NetworkPolicy) (result *v1alpha1.NetworkPolicy, err error) {
- result = &v1alpha1.NetworkPolicy{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("networkpolicies").
- Body(networkPolicy).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a networkPolicy and updates it. Returns the server's representation of the networkPolicy, and an error, if there is any.
-func (c *networkPolicies) Update(networkPolicy *v1alpha1.NetworkPolicy) (result *v1alpha1.NetworkPolicy, err error) {
- result = &v1alpha1.NetworkPolicy{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("networkpolicies").
- Name(networkPolicy.Name).
- Body(networkPolicy).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the networkPolicy and deletes it. Returns an error if one occurs.
-func (c *networkPolicies) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("networkpolicies").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *networkPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("networkpolicies").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched networkPolicy.
-func (c *networkPolicies) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.NetworkPolicy, err error) {
- result = &v1alpha1.NetworkPolicy{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("networkpolicies").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/configclaim.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/configclaim.go
deleted file mode 100644
index 1d5df307e..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/configclaim.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ConfigClaimsGetter has a method to return a ConfigClaimInterface.
-// A group's client should implement this interface.
-type ConfigClaimsGetter interface {
- ConfigClaims(namespace string) ConfigClaimInterface
-}
-
-// ConfigClaimInterface has methods to work with ConfigClaim resources.
-type ConfigClaimInterface interface {
- Create(*v1alpha1.ConfigClaim) (*v1alpha1.ConfigClaim, error)
- Update(*v1alpha1.ConfigClaim) (*v1alpha1.ConfigClaim, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.ConfigClaim, error)
- List(opts v1.ListOptions) (*v1alpha1.ConfigClaimList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigClaim, err error)
- ConfigClaimExpansion
-}
-
-// configClaims implements ConfigClaimInterface
-type configClaims struct {
- client rest.Interface
- ns string
-}
-
-// newConfigClaims returns a ConfigClaims
-func newConfigClaims(c *ConfigV1alpha1Client, namespace string) *configClaims {
- return &configClaims{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the configClaim, and returns the corresponding configClaim object, and an error if there is any.
-func (c *configClaims) Get(name string, options v1.GetOptions) (result *v1alpha1.ConfigClaim, err error) {
- result = &v1alpha1.ConfigClaim{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("configclaims").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ConfigClaims that match those selectors.
-func (c *configClaims) List(opts v1.ListOptions) (result *v1alpha1.ConfigClaimList, err error) {
- result = &v1alpha1.ConfigClaimList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("configclaims").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested configClaims.
-func (c *configClaims) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("configclaims").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a configClaim and creates it. Returns the server's representation of the configClaim, and an error, if there is any.
-func (c *configClaims) Create(configClaim *v1alpha1.ConfigClaim) (result *v1alpha1.ConfigClaim, err error) {
- result = &v1alpha1.ConfigClaim{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("configclaims").
- Body(configClaim).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a configClaim and updates it. Returns the server's representation of the configClaim, and an error, if there is any.
-func (c *configClaims) Update(configClaim *v1alpha1.ConfigClaim) (result *v1alpha1.ConfigClaim, err error) {
- result = &v1alpha1.ConfigClaim{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("configclaims").
- Name(configClaim.Name).
- Body(configClaim).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the configClaim and deletes it. Returns an error if one occurs.
-func (c *configClaims) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("configclaims").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *configClaims) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("configclaims").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched configClaim.
-func (c *configClaims) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigClaim, err error) {
- result = &v1alpha1.ConfigClaim{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("configclaims").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/configreference.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/configreference.go
deleted file mode 100644
index eee227bfc..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/config/v1alpha1/configreference.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/config/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ConfigReferencesGetter has a method to return a ConfigReferenceInterface.
-// A group's client should implement this interface.
-type ConfigReferencesGetter interface {
- ConfigReferences(namespace string) ConfigReferenceInterface
-}
-
-// ConfigReferenceInterface has methods to work with ConfigReference resources.
-type ConfigReferenceInterface interface {
- Create(*v1alpha1.ConfigReference) (*v1alpha1.ConfigReference, error)
- Update(*v1alpha1.ConfigReference) (*v1alpha1.ConfigReference, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.ConfigReference, error)
- List(opts v1.ListOptions) (*v1alpha1.ConfigReferenceList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigReference, err error)
- ConfigReferenceExpansion
-}
-
-// configReferences implements ConfigReferenceInterface
-type configReferences struct {
- client rest.Interface
- ns string
-}
-
-// newConfigReferences returns a ConfigReferences
-func newConfigReferences(c *ConfigV1alpha1Client, namespace string) *configReferences {
- return &configReferences{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the configReference, and returns the corresponding configReference object, and an error if there is any.
-func (c *configReferences) Get(name string, options v1.GetOptions) (result *v1alpha1.ConfigReference, err error) {
- result = &v1alpha1.ConfigReference{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("configreferences").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ConfigReferences that match those selectors.
-func (c *configReferences) List(opts v1.ListOptions) (result *v1alpha1.ConfigReferenceList, err error) {
- result = &v1alpha1.ConfigReferenceList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("configreferences").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested configReferences.
-func (c *configReferences) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("configreferences").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a configReference and creates it. Returns the server's representation of the configReference, and an error, if there is any.
-func (c *configReferences) Create(configReference *v1alpha1.ConfigReference) (result *v1alpha1.ConfigReference, err error) {
- result = &v1alpha1.ConfigReference{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("configreferences").
- Body(configReference).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a configReference and updates it. Returns the server's representation of the configReference, and an error, if there is any.
-func (c *configReferences) Update(configReference *v1alpha1.ConfigReference) (result *v1alpha1.ConfigReference, err error) {
- result = &v1alpha1.ConfigReference{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("configreferences").
- Name(configReference.Name).
- Body(configReference).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the configReference and deletes it. Returns an error if one occurs.
-func (c *configReferences) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("configreferences").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *configReferences) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("configreferences").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched configReference.
-func (c *configReferences) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ConfigReference, err error) {
- result = &v1alpha1.ConfigReference{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("configreferences").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/dataset.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/dataset.go
deleted file mode 100644
index 514f59809..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/dataset.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// DatasetsGetter has a method to return a DatasetInterface.
-// A group's client should implement this interface.
-type DatasetsGetter interface {
- Datasets() DatasetInterface
-}
-
-// DatasetInterface has methods to work with Dataset resources.
-type DatasetInterface interface {
- Create(*v1alpha1.Dataset) (*v1alpha1.Dataset, error)
- Update(*v1alpha1.Dataset) (*v1alpha1.Dataset, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Dataset, error)
- List(opts v1.ListOptions) (*v1alpha1.DatasetList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Dataset, err error)
- DatasetExpansion
-}
-
-// datasets implements DatasetInterface
-type datasets struct {
- client rest.Interface
-}
-
-// newDatasets returns a Datasets
-func newDatasets(c *DatasetV1alpha1Client) *datasets {
- return &datasets{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the dataset, and returns the corresponding dataset object, and an error if there is any.
-func (c *datasets) Get(name string, options v1.GetOptions) (result *v1alpha1.Dataset, err error) {
- result = &v1alpha1.Dataset{}
- err = c.client.Get().
- Resource("datasets").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Datasets that match those selectors.
-func (c *datasets) List(opts v1.ListOptions) (result *v1alpha1.DatasetList, err error) {
- result = &v1alpha1.DatasetList{}
- err = c.client.Get().
- Resource("datasets").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested datasets.
-func (c *datasets) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("datasets").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a dataset and creates it. Returns the server's representation of the dataset, and an error, if there is any.
-func (c *datasets) Create(dataset *v1alpha1.Dataset) (result *v1alpha1.Dataset, err error) {
- result = &v1alpha1.Dataset{}
- err = c.client.Post().
- Resource("datasets").
- Body(dataset).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a dataset and updates it. Returns the server's representation of the dataset, and an error, if there is any.
-func (c *datasets) Update(dataset *v1alpha1.Dataset) (result *v1alpha1.Dataset, err error) {
- result = &v1alpha1.Dataset{}
- err = c.client.Put().
- Resource("datasets").
- Name(dataset.Name).
- Body(dataset).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the dataset and deletes it. Returns an error if one occurs.
-func (c *datasets) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("datasets").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *datasets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("datasets").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched dataset.
-func (c *datasets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Dataset, err error) {
- result = &v1alpha1.Dataset{}
- err = c.client.Patch(pt).
- Resource("datasets").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/dataset_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/dataset_client.go
deleted file mode 100644
index a39febeea..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha1/dataset_client.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type DatasetV1alpha1Interface interface {
- RESTClient() rest.Interface
- DatasetsGetter
-}
-
-// DatasetV1alpha1Client is used to interact with features provided by the dataset.caicloud.io group.
-type DatasetV1alpha1Client struct {
- restClient rest.Interface
-}
-
-func (c *DatasetV1alpha1Client) Datasets() DatasetInterface {
- return newDatasets(c)
-}
-
-// NewForConfig creates a new DatasetV1alpha1Client for the given config.
-func NewForConfig(c *rest.Config) (*DatasetV1alpha1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &DatasetV1alpha1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new DatasetV1alpha1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *DatasetV1alpha1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new DatasetV1alpha1Client for the given RESTClient.
-func New(c rest.Interface) *DatasetV1alpha1Client {
- return &DatasetV1alpha1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *DatasetV1alpha1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/dataset.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/dataset.go
deleted file mode 100644
index 2593b06f7..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/dataset.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// DatasetsGetter has a method to return a DatasetInterface.
-// A group's client should implement this interface.
-type DatasetsGetter interface {
- Datasets() DatasetInterface
-}
-
-// DatasetInterface has methods to work with Dataset resources.
-type DatasetInterface interface {
- Create(*v1alpha2.Dataset) (*v1alpha2.Dataset, error)
- Update(*v1alpha2.Dataset) (*v1alpha2.Dataset, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.Dataset, error)
- List(opts v1.ListOptions) (*v1alpha2.DatasetList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Dataset, err error)
- DatasetExpansion
-}
-
-// datasets implements DatasetInterface
-type datasets struct {
- client rest.Interface
-}
-
-// newDatasets returns a Datasets
-func newDatasets(c *DatasetV1alpha2Client) *datasets {
- return &datasets{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the dataset, and returns the corresponding dataset object, and an error if there is any.
-func (c *datasets) Get(name string, options v1.GetOptions) (result *v1alpha2.Dataset, err error) {
- result = &v1alpha2.Dataset{}
- err = c.client.Get().
- Resource("datasets").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Datasets that match those selectors.
-func (c *datasets) List(opts v1.ListOptions) (result *v1alpha2.DatasetList, err error) {
- result = &v1alpha2.DatasetList{}
- err = c.client.Get().
- Resource("datasets").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested datasets.
-func (c *datasets) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("datasets").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a dataset and creates it. Returns the server's representation of the dataset, and an error, if there is any.
-func (c *datasets) Create(dataset *v1alpha2.Dataset) (result *v1alpha2.Dataset, err error) {
- result = &v1alpha2.Dataset{}
- err = c.client.Post().
- Resource("datasets").
- Body(dataset).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a dataset and updates it. Returns the server's representation of the dataset, and an error, if there is any.
-func (c *datasets) Update(dataset *v1alpha2.Dataset) (result *v1alpha2.Dataset, err error) {
- result = &v1alpha2.Dataset{}
- err = c.client.Put().
- Resource("datasets").
- Name(dataset.Name).
- Body(dataset).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the dataset and deletes it. Returns an error if one occurs.
-func (c *datasets) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("datasets").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *datasets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("datasets").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched dataset.
-func (c *datasets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.Dataset, err error) {
- result = &v1alpha2.Dataset{}
- err = c.client.Patch(pt).
- Resource("datasets").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/dataset_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/dataset_client.go
deleted file mode 100644
index 7b4a196a0..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/dataset/v1alpha2/dataset_client.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type DatasetV1alpha2Interface interface {
- RESTClient() rest.Interface
- DatasetsGetter
-}
-
-// DatasetV1alpha2Client is used to interact with features provided by the dataset.caicloud.io group.
-type DatasetV1alpha2Client struct {
- restClient rest.Interface
-}
-
-func (c *DatasetV1alpha2Client) Datasets() DatasetInterface {
- return newDatasets(c)
-}
-
-// NewForConfig creates a new DatasetV1alpha2Client for the given config.
-func NewForConfig(c *rest.Config) (*DatasetV1alpha2Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &DatasetV1alpha2Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new DatasetV1alpha2Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *DatasetV1alpha2Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new DatasetV1alpha2Client for the given RESTClient.
-func New(c rest.Interface) *DatasetV1alpha2Client {
- return &DatasetV1alpha2Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha2.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *DatasetV1alpha2Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/cargo.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/cargo.go
deleted file mode 100644
index 51d2baf9b..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/devops/v1/cargo.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1 "github.com/caicloud/clientset/pkg/apis/devops/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// CargosGetter has a method to return a CargoInterface.
-// A group's client should implement this interface.
-type CargosGetter interface {
- Cargos() CargoInterface
-}
-
-// CargoInterface has methods to work with Cargo resources.
-type CargoInterface interface {
- Create(*v1.Cargo) (*v1.Cargo, error)
- Update(*v1.Cargo) (*v1.Cargo, error)
- Delete(name string, options *metav1.DeleteOptions) error
- DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
- Get(name string, options metav1.GetOptions) (*v1.Cargo, error)
- List(opts metav1.ListOptions) (*v1.CargoList, error)
- Watch(opts metav1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Cargo, err error)
- CargoExpansion
-}
-
-// cargos implements CargoInterface
-type cargos struct {
- client rest.Interface
-}
-
-// newCargos returns a Cargos
-func newCargos(c *DevopsV1Client) *cargos {
- return &cargos{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the cargo, and returns the corresponding cargo object, and an error if there is any.
-func (c *cargos) Get(name string, options metav1.GetOptions) (result *v1.Cargo, err error) {
- result = &v1.Cargo{}
- err = c.client.Get().
- Resource("cargos").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Cargos that match those selectors.
-func (c *cargos) List(opts metav1.ListOptions) (result *v1.CargoList, err error) {
- result = &v1.CargoList{}
- err = c.client.Get().
- Resource("cargos").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested cargos.
-func (c *cargos) Watch(opts metav1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("cargos").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a cargo and creates it. Returns the server's representation of the cargo, and an error, if there is any.
-func (c *cargos) Create(cargo *v1.Cargo) (result *v1.Cargo, err error) {
- result = &v1.Cargo{}
- err = c.client.Post().
- Resource("cargos").
- Body(cargo).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a cargo and updates it. Returns the server's representation of the cargo, and an error, if there is any.
-func (c *cargos) Update(cargo *v1.Cargo) (result *v1.Cargo, err error) {
- result = &v1.Cargo{}
- err = c.client.Put().
- Resource("cargos").
- Name(cargo.Name).
- Body(cargo).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the cargo and deletes it. Returns an error if one occurs.
-func (c *cargos) Delete(name string, options *metav1.DeleteOptions) error {
- return c.client.Delete().
- Resource("cargos").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *cargos) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
- return c.client.Delete().
- Resource("cargos").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched cargo.
-func (c *cargos) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Cargo, err error) {
- result = &v1.Cargo{}
- err = c.client.Patch(pt).
- Resource("cargos").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/evaljob.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/evaljob.go
deleted file mode 100644
index 07d0c3eb0..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/evaluation/v1alpha1/evaljob.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// EvalJobsGetter has a method to return a EvalJobInterface.
-// A group's client should implement this interface.
-type EvalJobsGetter interface {
- EvalJobs(namespace string) EvalJobInterface
-}
-
-// EvalJobInterface has methods to work with EvalJob resources.
-type EvalJobInterface interface {
- Create(*v1alpha1.EvalJob) (*v1alpha1.EvalJob, error)
- Update(*v1alpha1.EvalJob) (*v1alpha1.EvalJob, error)
- UpdateStatus(*v1alpha1.EvalJob) (*v1alpha1.EvalJob, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.EvalJob, error)
- List(opts v1.ListOptions) (*v1alpha1.EvalJobList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.EvalJob, err error)
- EvalJobExpansion
-}
-
-// evalJobs implements EvalJobInterface
-type evalJobs struct {
- client rest.Interface
- ns string
-}
-
-// newEvalJobs returns a EvalJobs
-func newEvalJobs(c *EvaluationV1alpha1Client, namespace string) *evalJobs {
- return &evalJobs{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the evalJob, and returns the corresponding evalJob object, and an error if there is any.
-func (c *evalJobs) Get(name string, options v1.GetOptions) (result *v1alpha1.EvalJob, err error) {
- result = &v1alpha1.EvalJob{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("evaljobs").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of EvalJobs that match those selectors.
-func (c *evalJobs) List(opts v1.ListOptions) (result *v1alpha1.EvalJobList, err error) {
- result = &v1alpha1.EvalJobList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("evaljobs").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested evalJobs.
-func (c *evalJobs) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("evaljobs").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a evalJob and creates it. Returns the server's representation of the evalJob, and an error, if there is any.
-func (c *evalJobs) Create(evalJob *v1alpha1.EvalJob) (result *v1alpha1.EvalJob, err error) {
- result = &v1alpha1.EvalJob{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("evaljobs").
- Body(evalJob).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a evalJob and updates it. Returns the server's representation of the evalJob, and an error, if there is any.
-func (c *evalJobs) Update(evalJob *v1alpha1.EvalJob) (result *v1alpha1.EvalJob, err error) {
- result = &v1alpha1.EvalJob{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("evaljobs").
- Name(evalJob.Name).
- Body(evalJob).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *evalJobs) UpdateStatus(evalJob *v1alpha1.EvalJob) (result *v1alpha1.EvalJob, err error) {
- result = &v1alpha1.EvalJob{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("evaljobs").
- Name(evalJob.Name).
- SubResource("status").
- Body(evalJob).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the evalJob and deletes it. Returns an error if one occurs.
-func (c *evalJobs) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("evaljobs").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *evalJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("evaljobs").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched evalJob.
-func (c *evalJobs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.EvalJob, err error) {
- result = &v1alpha1.EvalJob{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("evaljobs").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/loadbalancer.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/loadbalancer.go
deleted file mode 100644
index 7e6ccf5e3..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/loadbalance/v1alpha2/loadbalancer.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha2
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha2 "github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// LoadBalancersGetter has a method to return a LoadBalancerInterface.
-// A group's client should implement this interface.
-type LoadBalancersGetter interface {
- LoadBalancers(namespace string) LoadBalancerInterface
-}
-
-// LoadBalancerInterface has methods to work with LoadBalancer resources.
-type LoadBalancerInterface interface {
- Create(*v1alpha2.LoadBalancer) (*v1alpha2.LoadBalancer, error)
- Update(*v1alpha2.LoadBalancer) (*v1alpha2.LoadBalancer, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha2.LoadBalancer, error)
- List(opts v1.ListOptions) (*v1alpha2.LoadBalancerList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.LoadBalancer, err error)
- LoadBalancerExpansion
-}
-
-// loadBalancers implements LoadBalancerInterface
-type loadBalancers struct {
- client rest.Interface
- ns string
-}
-
-// newLoadBalancers returns a LoadBalancers
-func newLoadBalancers(c *LoadbalanceV1alpha2Client, namespace string) *loadBalancers {
- return &loadBalancers{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the loadBalancer, and returns the corresponding loadBalancer object, and an error if there is any.
-func (c *loadBalancers) Get(name string, options v1.GetOptions) (result *v1alpha2.LoadBalancer, err error) {
- result = &v1alpha2.LoadBalancer{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("loadbalancers").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of LoadBalancers that match those selectors.
-func (c *loadBalancers) List(opts v1.ListOptions) (result *v1alpha2.LoadBalancerList, err error) {
- result = &v1alpha2.LoadBalancerList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("loadbalancers").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested loadBalancers.
-func (c *loadBalancers) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("loadbalancers").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a loadBalancer and creates it. Returns the server's representation of the loadBalancer, and an error, if there is any.
-func (c *loadBalancers) Create(loadBalancer *v1alpha2.LoadBalancer) (result *v1alpha2.LoadBalancer, err error) {
- result = &v1alpha2.LoadBalancer{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("loadbalancers").
- Body(loadBalancer).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a loadBalancer and updates it. Returns the server's representation of the loadBalancer, and an error, if there is any.
-func (c *loadBalancers) Update(loadBalancer *v1alpha2.LoadBalancer) (result *v1alpha2.LoadBalancer, err error) {
- result = &v1alpha2.LoadBalancer{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("loadbalancers").
- Name(loadBalancer.Name).
- Body(loadBalancer).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the loadBalancer and deletes it. Returns an error if one occurs.
-func (c *loadBalancers) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("loadbalancers").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *loadBalancers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("loadbalancers").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched loadBalancer.
-func (c *loadBalancers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha2.LoadBalancer, err error) {
- result = &v1alpha2.LoadBalancer{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("loadbalancers").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/logendpoint.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/logendpoint.go
deleted file mode 100644
index 2b40205a4..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/logging/v1alpha1/logendpoint.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/logging/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// LogEndpointsGetter has a method to return a LogEndpointInterface.
-// A group's client should implement this interface.
-type LogEndpointsGetter interface {
- LogEndpoints() LogEndpointInterface
-}
-
-// LogEndpointInterface has methods to work with LogEndpoint resources.
-type LogEndpointInterface interface {
- Create(*v1alpha1.LogEndpoint) (*v1alpha1.LogEndpoint, error)
- Update(*v1alpha1.LogEndpoint) (*v1alpha1.LogEndpoint, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.LogEndpoint, error)
- List(opts v1.ListOptions) (*v1alpha1.LogEndpointList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.LogEndpoint, err error)
- LogEndpointExpansion
-}
-
-// logEndpoints implements LogEndpointInterface
-type logEndpoints struct {
- client rest.Interface
-}
-
-// newLogEndpoints returns a LogEndpoints
-func newLogEndpoints(c *LoggingV1alpha1Client) *logEndpoints {
- return &logEndpoints{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the logEndpoint, and returns the corresponding logEndpoint object, and an error if there is any.
-func (c *logEndpoints) Get(name string, options v1.GetOptions) (result *v1alpha1.LogEndpoint, err error) {
- result = &v1alpha1.LogEndpoint{}
- err = c.client.Get().
- Resource("logendpoints").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of LogEndpoints that match those selectors.
-func (c *logEndpoints) List(opts v1.ListOptions) (result *v1alpha1.LogEndpointList, err error) {
- result = &v1alpha1.LogEndpointList{}
- err = c.client.Get().
- Resource("logendpoints").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested logEndpoints.
-func (c *logEndpoints) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("logendpoints").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a logEndpoint and creates it. Returns the server's representation of the logEndpoint, and an error, if there is any.
-func (c *logEndpoints) Create(logEndpoint *v1alpha1.LogEndpoint) (result *v1alpha1.LogEndpoint, err error) {
- result = &v1alpha1.LogEndpoint{}
- err = c.client.Post().
- Resource("logendpoints").
- Body(logEndpoint).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a logEndpoint and updates it. Returns the server's representation of the logEndpoint, and an error, if there is any.
-func (c *logEndpoints) Update(logEndpoint *v1alpha1.LogEndpoint) (result *v1alpha1.LogEndpoint, err error) {
- result = &v1alpha1.LogEndpoint{}
- err = c.client.Put().
- Resource("logendpoints").
- Name(logEndpoint.Name).
- Body(logEndpoint).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the logEndpoint and deletes it. Returns an error if one occurs.
-func (c *logEndpoints) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("logendpoints").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *logEndpoints) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("logendpoints").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched logEndpoint.
-func (c *logEndpoints) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.LogEndpoint, err error) {
- result = &v1alpha1.LogEndpoint{}
- err = c.client.Patch(pt).
- Resource("logendpoints").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/springcloud.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/springcloud.go
deleted file mode 100644
index f67312fda..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/microservice/v1alpha1/springcloud.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// SpringcloudsGetter has a method to return a SpringcloudInterface.
-// A group's client should implement this interface.
-type SpringcloudsGetter interface {
- Springclouds(namespace string) SpringcloudInterface
-}
-
-// SpringcloudInterface has methods to work with Springcloud resources.
-type SpringcloudInterface interface {
- Create(*v1alpha1.Springcloud) (*v1alpha1.Springcloud, error)
- Update(*v1alpha1.Springcloud) (*v1alpha1.Springcloud, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Springcloud, error)
- List(opts v1.ListOptions) (*v1alpha1.SpringcloudList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Springcloud, err error)
- SpringcloudExpansion
-}
-
-// springclouds implements SpringcloudInterface
-type springclouds struct {
- client rest.Interface
- ns string
-}
-
-// newSpringclouds returns a Springclouds
-func newSpringclouds(c *MicroserviceV1alpha1Client, namespace string) *springclouds {
- return &springclouds{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the springcloud, and returns the corresponding springcloud object, and an error if there is any.
-func (c *springclouds) Get(name string, options v1.GetOptions) (result *v1alpha1.Springcloud, err error) {
- result = &v1alpha1.Springcloud{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("springclouds").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Springclouds that match those selectors.
-func (c *springclouds) List(opts v1.ListOptions) (result *v1alpha1.SpringcloudList, err error) {
- result = &v1alpha1.SpringcloudList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("springclouds").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested springclouds.
-func (c *springclouds) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("springclouds").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a springcloud and creates it. Returns the server's representation of the springcloud, and an error, if there is any.
-func (c *springclouds) Create(springcloud *v1alpha1.Springcloud) (result *v1alpha1.Springcloud, err error) {
- result = &v1alpha1.Springcloud{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("springclouds").
- Body(springcloud).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a springcloud and updates it. Returns the server's representation of the springcloud, and an error, if there is any.
-func (c *springclouds) Update(springcloud *v1alpha1.Springcloud) (result *v1alpha1.Springcloud, err error) {
- result = &v1alpha1.Springcloud{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("springclouds").
- Name(springcloud.Name).
- Body(springcloud).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the springcloud and deletes it. Returns an error if one occurs.
-func (c *springclouds) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("springclouds").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *springclouds) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("springclouds").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched springcloud.
-func (c *springclouds) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Springcloud, err error) {
- result = &v1alpha1.Springcloud{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("springclouds").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/model.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/model.go
deleted file mode 100644
index d0bfef1aa..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/model/v1alpha1/model.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/model/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ModelsGetter has a method to return a ModelInterface.
-// A group's client should implement this interface.
-type ModelsGetter interface {
- Models() ModelInterface
-}
-
-// ModelInterface has methods to work with Model resources.
-type ModelInterface interface {
- Create(*v1alpha1.Model) (*v1alpha1.Model, error)
- Update(*v1alpha1.Model) (*v1alpha1.Model, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Model, error)
- List(opts v1.ListOptions) (*v1alpha1.ModelList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Model, err error)
- ModelExpansion
-}
-
-// models implements ModelInterface
-type models struct {
- client rest.Interface
-}
-
-// newModels returns a Models
-func newModels(c *ModelV1alpha1Client) *models {
- return &models{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the model, and returns the corresponding model object, and an error if there is any.
-func (c *models) Get(name string, options v1.GetOptions) (result *v1alpha1.Model, err error) {
- result = &v1alpha1.Model{}
- err = c.client.Get().
- Resource("models").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Models that match those selectors.
-func (c *models) List(opts v1.ListOptions) (result *v1alpha1.ModelList, err error) {
- result = &v1alpha1.ModelList{}
- err = c.client.Get().
- Resource("models").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested models.
-func (c *models) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("models").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a model and creates it. Returns the server's representation of the model, and an error, if there is any.
-func (c *models) Create(model *v1alpha1.Model) (result *v1alpha1.Model, err error) {
- result = &v1alpha1.Model{}
- err = c.client.Post().
- Resource("models").
- Body(model).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a model and updates it. Returns the server's representation of the model, and an error, if there is any.
-func (c *models) Update(model *v1alpha1.Model) (result *v1alpha1.Model, err error) {
- result = &v1alpha1.Model{}
- err = c.client.Put().
- Resource("models").
- Name(model.Name).
- Body(model).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the model and deletes it. Returns an error if one occurs.
-func (c *models) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("models").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *models) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("models").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched model.
-func (c *models) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Model, err error) {
- result = &v1alpha1.Model{}
- err = c.client.Patch(pt).
- Resource("models").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/application.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/application.go
deleted file mode 100644
index 6572dc184..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/application.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ApplicationsGetter has a method to return a ApplicationInterface.
-// A group's client should implement this interface.
-type ApplicationsGetter interface {
- Applications(namespace string) ApplicationInterface
-}
-
-// ApplicationInterface has methods to work with Application resources.
-type ApplicationInterface interface {
- Create(*v1alpha1.Application) (*v1alpha1.Application, error)
- Update(*v1alpha1.Application) (*v1alpha1.Application, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Application, error)
- List(opts v1.ListOptions) (*v1alpha1.ApplicationList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Application, err error)
- ApplicationExpansion
-}
-
-// applications implements ApplicationInterface
-type applications struct {
- client rest.Interface
- ns string
-}
-
-// newApplications returns a Applications
-func newApplications(c *OrchestrationV1alpha1Client, namespace string) *applications {
- return &applications{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the application, and returns the corresponding application object, and an error if there is any.
-func (c *applications) Get(name string, options v1.GetOptions) (result *v1alpha1.Application, err error) {
- result = &v1alpha1.Application{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("applications").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Applications that match those selectors.
-func (c *applications) List(opts v1.ListOptions) (result *v1alpha1.ApplicationList, err error) {
- result = &v1alpha1.ApplicationList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("applications").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested applications.
-func (c *applications) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("applications").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a application and creates it. Returns the server's representation of the application, and an error, if there is any.
-func (c *applications) Create(application *v1alpha1.Application) (result *v1alpha1.Application, err error) {
- result = &v1alpha1.Application{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("applications").
- Body(application).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a application and updates it. Returns the server's representation of the application, and an error, if there is any.
-func (c *applications) Update(application *v1alpha1.Application) (result *v1alpha1.Application, err error) {
- result = &v1alpha1.Application{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("applications").
- Name(application.Name).
- Body(application).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the application and deletes it. Returns an error if one occurs.
-func (c *applications) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("applications").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *applications) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("applications").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched application.
-func (c *applications) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Application, err error) {
- result = &v1alpha1.Application{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("applications").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/applicationdraft.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/applicationdraft.go
deleted file mode 100644
index 6d7249c84..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/orchestration/v1alpha1/applicationdraft.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ApplicationDraftsGetter has a method to return a ApplicationDraftInterface.
-// A group's client should implement this interface.
-type ApplicationDraftsGetter interface {
- ApplicationDrafts(namespace string) ApplicationDraftInterface
-}
-
-// ApplicationDraftInterface has methods to work with ApplicationDraft resources.
-type ApplicationDraftInterface interface {
- Create(*v1alpha1.ApplicationDraft) (*v1alpha1.ApplicationDraft, error)
- Update(*v1alpha1.ApplicationDraft) (*v1alpha1.ApplicationDraft, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.ApplicationDraft, error)
- List(opts v1.ListOptions) (*v1alpha1.ApplicationDraftList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ApplicationDraft, err error)
- ApplicationDraftExpansion
-}
-
-// applicationDrafts implements ApplicationDraftInterface
-type applicationDrafts struct {
- client rest.Interface
- ns string
-}
-
-// newApplicationDrafts returns a ApplicationDrafts
-func newApplicationDrafts(c *OrchestrationV1alpha1Client, namespace string) *applicationDrafts {
- return &applicationDrafts{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the applicationDraft, and returns the corresponding applicationDraft object, and an error if there is any.
-func (c *applicationDrafts) Get(name string, options v1.GetOptions) (result *v1alpha1.ApplicationDraft, err error) {
- result = &v1alpha1.ApplicationDraft{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("applicationdrafts").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ApplicationDrafts that match those selectors.
-func (c *applicationDrafts) List(opts v1.ListOptions) (result *v1alpha1.ApplicationDraftList, err error) {
- result = &v1alpha1.ApplicationDraftList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("applicationdrafts").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested applicationDrafts.
-func (c *applicationDrafts) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("applicationdrafts").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a applicationDraft and creates it. Returns the server's representation of the applicationDraft, and an error, if there is any.
-func (c *applicationDrafts) Create(applicationDraft *v1alpha1.ApplicationDraft) (result *v1alpha1.ApplicationDraft, err error) {
- result = &v1alpha1.ApplicationDraft{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("applicationdrafts").
- Body(applicationDraft).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a applicationDraft and updates it. Returns the server's representation of the applicationDraft, and an error, if there is any.
-func (c *applicationDrafts) Update(applicationDraft *v1alpha1.ApplicationDraft) (result *v1alpha1.ApplicationDraft, err error) {
- result = &v1alpha1.ApplicationDraft{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("applicationdrafts").
- Name(applicationDraft.Name).
- Body(applicationDraft).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the applicationDraft and deletes it. Returns an error if one occurs.
-func (c *applicationDrafts) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("applicationdrafts").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *applicationDrafts) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("applicationdrafts").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched applicationDraft.
-func (c *applicationDrafts) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ApplicationDraft, err error) {
- result = &v1alpha1.ApplicationDraft{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("applicationdrafts").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/canaryrelease.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/canaryrelease.go
deleted file mode 100644
index bae62e58d..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/canaryrelease.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// CanaryReleasesGetter has a method to return a CanaryReleaseInterface.
-// A group's client should implement this interface.
-type CanaryReleasesGetter interface {
- CanaryReleases(namespace string) CanaryReleaseInterface
-}
-
-// CanaryReleaseInterface has methods to work with CanaryRelease resources.
-type CanaryReleaseInterface interface {
- Create(*v1alpha1.CanaryRelease) (*v1alpha1.CanaryRelease, error)
- Update(*v1alpha1.CanaryRelease) (*v1alpha1.CanaryRelease, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.CanaryRelease, error)
- List(opts v1.ListOptions) (*v1alpha1.CanaryReleaseList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.CanaryRelease, err error)
- CanaryReleaseExpansion
-}
-
-// canaryReleases implements CanaryReleaseInterface
-type canaryReleases struct {
- client rest.Interface
- ns string
-}
-
-// newCanaryReleases returns a CanaryReleases
-func newCanaryReleases(c *ReleaseV1alpha1Client, namespace string) *canaryReleases {
- return &canaryReleases{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the canaryRelease, and returns the corresponding canaryRelease object, and an error if there is any.
-func (c *canaryReleases) Get(name string, options v1.GetOptions) (result *v1alpha1.CanaryRelease, err error) {
- result = &v1alpha1.CanaryRelease{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("canaryreleases").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of CanaryReleases that match those selectors.
-func (c *canaryReleases) List(opts v1.ListOptions) (result *v1alpha1.CanaryReleaseList, err error) {
- result = &v1alpha1.CanaryReleaseList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("canaryreleases").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested canaryReleases.
-func (c *canaryReleases) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("canaryreleases").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a canaryRelease and creates it. Returns the server's representation of the canaryRelease, and an error, if there is any.
-func (c *canaryReleases) Create(canaryRelease *v1alpha1.CanaryRelease) (result *v1alpha1.CanaryRelease, err error) {
- result = &v1alpha1.CanaryRelease{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("canaryreleases").
- Body(canaryRelease).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a canaryRelease and updates it. Returns the server's representation of the canaryRelease, and an error, if there is any.
-func (c *canaryReleases) Update(canaryRelease *v1alpha1.CanaryRelease) (result *v1alpha1.CanaryRelease, err error) {
- result = &v1alpha1.CanaryRelease{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("canaryreleases").
- Name(canaryRelease.Name).
- Body(canaryRelease).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the canaryRelease and deletes it. Returns an error if one occurs.
-func (c *canaryReleases) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("canaryreleases").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *canaryReleases) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("canaryreleases").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched canaryRelease.
-func (c *canaryReleases) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.CanaryRelease, err error) {
- result = &v1alpha1.CanaryRelease{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("canaryreleases").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/release.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/release.go
deleted file mode 100644
index bf81baba2..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/release.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ReleasesGetter has a method to return a ReleaseInterface.
-// A group's client should implement this interface.
-type ReleasesGetter interface {
- Releases(namespace string) ReleaseInterface
-}
-
-// ReleaseInterface has methods to work with Release resources.
-type ReleaseInterface interface {
- Create(*v1alpha1.Release) (*v1alpha1.Release, error)
- Update(*v1alpha1.Release) (*v1alpha1.Release, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Release, error)
- List(opts v1.ListOptions) (*v1alpha1.ReleaseList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Release, err error)
- ReleaseExpansion
-}
-
-// releases implements ReleaseInterface
-type releases struct {
- client rest.Interface
- ns string
-}
-
-// newReleases returns a Releases
-func newReleases(c *ReleaseV1alpha1Client, namespace string) *releases {
- return &releases{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the release, and returns the corresponding release object, and an error if there is any.
-func (c *releases) Get(name string, options v1.GetOptions) (result *v1alpha1.Release, err error) {
- result = &v1alpha1.Release{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("releases").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Releases that match those selectors.
-func (c *releases) List(opts v1.ListOptions) (result *v1alpha1.ReleaseList, err error) {
- result = &v1alpha1.ReleaseList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("releases").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested releases.
-func (c *releases) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("releases").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a release and creates it. Returns the server's representation of the release, and an error, if there is any.
-func (c *releases) Create(release *v1alpha1.Release) (result *v1alpha1.Release, err error) {
- result = &v1alpha1.Release{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("releases").
- Body(release).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a release and updates it. Returns the server's representation of the release, and an error, if there is any.
-func (c *releases) Update(release *v1alpha1.Release) (result *v1alpha1.Release, err error) {
- result = &v1alpha1.Release{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("releases").
- Name(release.Name).
- Body(release).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the release and deletes it. Returns an error if one occurs.
-func (c *releases) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("releases").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *releases) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("releases").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched release.
-func (c *releases) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Release, err error) {
- result = &v1alpha1.Release{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("releases").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/releasehistory.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/releasehistory.go
deleted file mode 100644
index f159e48b0..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/release/v1alpha1/releasehistory.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ReleaseHistoriesGetter has a method to return a ReleaseHistoryInterface.
-// A group's client should implement this interface.
-type ReleaseHistoriesGetter interface {
- ReleaseHistories(namespace string) ReleaseHistoryInterface
-}
-
-// ReleaseHistoryInterface has methods to work with ReleaseHistory resources.
-type ReleaseHistoryInterface interface {
- Create(*v1alpha1.ReleaseHistory) (*v1alpha1.ReleaseHistory, error)
- Update(*v1alpha1.ReleaseHistory) (*v1alpha1.ReleaseHistory, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.ReleaseHistory, error)
- List(opts v1.ListOptions) (*v1alpha1.ReleaseHistoryList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ReleaseHistory, err error)
- ReleaseHistoryExpansion
-}
-
-// releaseHistories implements ReleaseHistoryInterface
-type releaseHistories struct {
- client rest.Interface
- ns string
-}
-
-// newReleaseHistories returns a ReleaseHistories
-func newReleaseHistories(c *ReleaseV1alpha1Client, namespace string) *releaseHistories {
- return &releaseHistories{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the releaseHistory, and returns the corresponding releaseHistory object, and an error if there is any.
-func (c *releaseHistories) Get(name string, options v1.GetOptions) (result *v1alpha1.ReleaseHistory, err error) {
- result = &v1alpha1.ReleaseHistory{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("releasehistories").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ReleaseHistories that match those selectors.
-func (c *releaseHistories) List(opts v1.ListOptions) (result *v1alpha1.ReleaseHistoryList, err error) {
- result = &v1alpha1.ReleaseHistoryList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("releasehistories").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested releaseHistories.
-func (c *releaseHistories) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("releasehistories").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a releaseHistory and creates it. Returns the server's representation of the releaseHistory, and an error, if there is any.
-func (c *releaseHistories) Create(releaseHistory *v1alpha1.ReleaseHistory) (result *v1alpha1.ReleaseHistory, err error) {
- result = &v1alpha1.ReleaseHistory{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("releasehistories").
- Body(releaseHistory).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a releaseHistory and updates it. Returns the server's representation of the releaseHistory, and an error, if there is any.
-func (c *releaseHistories) Update(releaseHistory *v1alpha1.ReleaseHistory) (result *v1alpha1.ReleaseHistory, err error) {
- result = &v1alpha1.ReleaseHistory{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("releasehistories").
- Name(releaseHistory.Name).
- Body(releaseHistory).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the releaseHistory and deletes it. Returns an error if one occurs.
-func (c *releaseHistories) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("releasehistories").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *releaseHistories) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("releasehistories").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched releaseHistory.
-func (c *releaseHistories) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ReleaseHistory, err error) {
- result = &v1alpha1.ReleaseHistory{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("releasehistories").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/resource_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/resource_client.go
deleted file mode 100644
index 4eb9d9ae5..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/resource_client.go
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type ResourceV1alpha1Interface interface {
- RESTClient() rest.Interface
- StorageServicesGetter
- StorageTypesGetter
-}
-
-// ResourceV1alpha1Client is used to interact with features provided by the resource.caicloud.io group.
-type ResourceV1alpha1Client struct {
- restClient rest.Interface
-}
-
-func (c *ResourceV1alpha1Client) StorageServices() StorageServiceInterface {
- return newStorageServices(c)
-}
-
-func (c *ResourceV1alpha1Client) StorageTypes() StorageTypeInterface {
- return newStorageTypes(c)
-}
-
-// NewForConfig creates a new ResourceV1alpha1Client for the given config.
-func NewForConfig(c *rest.Config) (*ResourceV1alpha1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &ResourceV1alpha1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new ResourceV1alpha1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *ResourceV1alpha1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new ResourceV1alpha1Client for the given RESTClient.
-func New(c rest.Interface) *ResourceV1alpha1Client {
- return &ResourceV1alpha1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *ResourceV1alpha1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/storageservice.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/storageservice.go
deleted file mode 100644
index af556663c..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/storageservice.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// StorageServicesGetter has a method to return a StorageServiceInterface.
-// A group's client should implement this interface.
-type StorageServicesGetter interface {
- StorageServices() StorageServiceInterface
-}
-
-// StorageServiceInterface has methods to work with StorageService resources.
-type StorageServiceInterface interface {
- Create(*v1alpha1.StorageService) (*v1alpha1.StorageService, error)
- Update(*v1alpha1.StorageService) (*v1alpha1.StorageService, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.StorageService, error)
- List(opts v1.ListOptions) (*v1alpha1.StorageServiceList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageService, err error)
- StorageServiceExpansion
-}
-
-// storageServices implements StorageServiceInterface
-type storageServices struct {
- client rest.Interface
-}
-
-// newStorageServices returns a StorageServices
-func newStorageServices(c *ResourceV1alpha1Client) *storageServices {
- return &storageServices{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the storageService, and returns the corresponding storageService object, and an error if there is any.
-func (c *storageServices) Get(name string, options v1.GetOptions) (result *v1alpha1.StorageService, err error) {
- result = &v1alpha1.StorageService{}
- err = c.client.Get().
- Resource("storageservices").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of StorageServices that match those selectors.
-func (c *storageServices) List(opts v1.ListOptions) (result *v1alpha1.StorageServiceList, err error) {
- result = &v1alpha1.StorageServiceList{}
- err = c.client.Get().
- Resource("storageservices").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested storageServices.
-func (c *storageServices) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("storageservices").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a storageService and creates it. Returns the server's representation of the storageService, and an error, if there is any.
-func (c *storageServices) Create(storageService *v1alpha1.StorageService) (result *v1alpha1.StorageService, err error) {
- result = &v1alpha1.StorageService{}
- err = c.client.Post().
- Resource("storageservices").
- Body(storageService).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a storageService and updates it. Returns the server's representation of the storageService, and an error, if there is any.
-func (c *storageServices) Update(storageService *v1alpha1.StorageService) (result *v1alpha1.StorageService, err error) {
- result = &v1alpha1.StorageService{}
- err = c.client.Put().
- Resource("storageservices").
- Name(storageService.Name).
- Body(storageService).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the storageService and deletes it. Returns an error if one occurs.
-func (c *storageServices) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("storageservices").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *storageServices) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("storageservices").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched storageService.
-func (c *storageServices) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageService, err error) {
- result = &v1alpha1.StorageService{}
- err = c.client.Patch(pt).
- Resource("storageservices").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/storagetype.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/storagetype.go
deleted file mode 100644
index b5b41d698..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1alpha1/storagetype.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/resource/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// StorageTypesGetter has a method to return a StorageTypeInterface.
-// A group's client should implement this interface.
-type StorageTypesGetter interface {
- StorageTypes() StorageTypeInterface
-}
-
-// StorageTypeInterface has methods to work with StorageType resources.
-type StorageTypeInterface interface {
- Create(*v1alpha1.StorageType) (*v1alpha1.StorageType, error)
- Update(*v1alpha1.StorageType) (*v1alpha1.StorageType, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.StorageType, error)
- List(opts v1.ListOptions) (*v1alpha1.StorageTypeList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageType, err error)
- StorageTypeExpansion
-}
-
-// storageTypes implements StorageTypeInterface
-type storageTypes struct {
- client rest.Interface
-}
-
-// newStorageTypes returns a StorageTypes
-func newStorageTypes(c *ResourceV1alpha1Client) *storageTypes {
- return &storageTypes{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the storageType, and returns the corresponding storageType object, and an error if there is any.
-func (c *storageTypes) Get(name string, options v1.GetOptions) (result *v1alpha1.StorageType, err error) {
- result = &v1alpha1.StorageType{}
- err = c.client.Get().
- Resource("storagetypes").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of StorageTypes that match those selectors.
-func (c *storageTypes) List(opts v1.ListOptions) (result *v1alpha1.StorageTypeList, err error) {
- result = &v1alpha1.StorageTypeList{}
- err = c.client.Get().
- Resource("storagetypes").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested storageTypes.
-func (c *storageTypes) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("storagetypes").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a storageType and creates it. Returns the server's representation of the storageType, and an error, if there is any.
-func (c *storageTypes) Create(storageType *v1alpha1.StorageType) (result *v1alpha1.StorageType, err error) {
- result = &v1alpha1.StorageType{}
- err = c.client.Post().
- Resource("storagetypes").
- Body(storageType).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a storageType and updates it. Returns the server's representation of the storageType, and an error, if there is any.
-func (c *storageTypes) Update(storageType *v1alpha1.StorageType) (result *v1alpha1.StorageType, err error) {
- result = &v1alpha1.StorageType{}
- err = c.client.Put().
- Resource("storagetypes").
- Name(storageType.Name).
- Body(storageType).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the storageType and deletes it. Returns an error if one occurs.
-func (c *storageTypes) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("storagetypes").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *storageTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("storagetypes").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched storageType.
-func (c *storageTypes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.StorageType, err error) {
- result = &v1alpha1.StorageType{}
- err = c.client.Patch(pt).
- Resource("storagetypes").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/cluster.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/cluster.go
deleted file mode 100644
index 6ec1dd554..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/cluster.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ClustersGetter has a method to return a ClusterInterface.
-// A group's client should implement this interface.
-type ClustersGetter interface {
- Clusters() ClusterInterface
-}
-
-// ClusterInterface has methods to work with Cluster resources.
-type ClusterInterface interface {
- Create(*v1beta1.Cluster) (*v1beta1.Cluster, error)
- Update(*v1beta1.Cluster) (*v1beta1.Cluster, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Cluster, error)
- List(opts v1.ListOptions) (*v1beta1.ClusterList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Cluster, err error)
- ClusterExpansion
-}
-
-// clusters implements ClusterInterface
-type clusters struct {
- client rest.Interface
-}
-
-// newClusters returns a Clusters
-func newClusters(c *ResourceV1beta1Client) *clusters {
- return &clusters{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the cluster, and returns the corresponding cluster object, and an error if there is any.
-func (c *clusters) Get(name string, options v1.GetOptions) (result *v1beta1.Cluster, err error) {
- result = &v1beta1.Cluster{}
- err = c.client.Get().
- Resource("clusters").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Clusters that match those selectors.
-func (c *clusters) List(opts v1.ListOptions) (result *v1beta1.ClusterList, err error) {
- result = &v1beta1.ClusterList{}
- err = c.client.Get().
- Resource("clusters").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested clusters.
-func (c *clusters) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("clusters").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a cluster and creates it. Returns the server's representation of the cluster, and an error, if there is any.
-func (c *clusters) Create(cluster *v1beta1.Cluster) (result *v1beta1.Cluster, err error) {
- result = &v1beta1.Cluster{}
- err = c.client.Post().
- Resource("clusters").
- Body(cluster).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a cluster and updates it. Returns the server's representation of the cluster, and an error, if there is any.
-func (c *clusters) Update(cluster *v1beta1.Cluster) (result *v1beta1.Cluster, err error) {
- result = &v1beta1.Cluster{}
- err = c.client.Put().
- Resource("clusters").
- Name(cluster.Name).
- Body(cluster).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the cluster and deletes it. Returns an error if one occurs.
-func (c *clusters) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("clusters").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *clusters) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("clusters").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched cluster.
-func (c *clusters) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Cluster, err error) {
- result = &v1beta1.Cluster{}
- err = c.client.Patch(pt).
- Resource("clusters").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/config.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/config.go
deleted file mode 100644
index c3e47bb55..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/config.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ConfigsGetter has a method to return a ConfigInterface.
-// A group's client should implement this interface.
-type ConfigsGetter interface {
- Configs() ConfigInterface
-}
-
-// ConfigInterface has methods to work with Config resources.
-type ConfigInterface interface {
- Create(*v1beta1.Config) (*v1beta1.Config, error)
- Update(*v1beta1.Config) (*v1beta1.Config, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Config, error)
- List(opts v1.ListOptions) (*v1beta1.ConfigList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Config, err error)
- ConfigExpansion
-}
-
-// configs implements ConfigInterface
-type configs struct {
- client rest.Interface
-}
-
-// newConfigs returns a Configs
-func newConfigs(c *ResourceV1beta1Client) *configs {
- return &configs{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the config, and returns the corresponding config object, and an error if there is any.
-func (c *configs) Get(name string, options v1.GetOptions) (result *v1beta1.Config, err error) {
- result = &v1beta1.Config{}
- err = c.client.Get().
- Resource("configs").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Configs that match those selectors.
-func (c *configs) List(opts v1.ListOptions) (result *v1beta1.ConfigList, err error) {
- result = &v1beta1.ConfigList{}
- err = c.client.Get().
- Resource("configs").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested configs.
-func (c *configs) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("configs").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a config and creates it. Returns the server's representation of the config, and an error, if there is any.
-func (c *configs) Create(config *v1beta1.Config) (result *v1beta1.Config, err error) {
- result = &v1beta1.Config{}
- err = c.client.Post().
- Resource("configs").
- Body(config).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a config and updates it. Returns the server's representation of the config, and an error, if there is any.
-func (c *configs) Update(config *v1beta1.Config) (result *v1beta1.Config, err error) {
- result = &v1beta1.Config{}
- err = c.client.Put().
- Resource("configs").
- Name(config.Name).
- Body(config).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the config and deletes it. Returns an error if one occurs.
-func (c *configs) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("configs").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *configs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("configs").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched config.
-func (c *configs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Config, err error) {
- result = &v1beta1.Config{}
- err = c.client.Patch(pt).
- Resource("configs").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/extendedresource.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/extendedresource.go
deleted file mode 100644
index 180ca7f79..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/extendedresource.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ExtendedResourcesGetter has a method to return a ExtendedResourceInterface.
-// A group's client should implement this interface.
-type ExtendedResourcesGetter interface {
- ExtendedResources() ExtendedResourceInterface
-}
-
-// ExtendedResourceInterface has methods to work with ExtendedResource resources.
-type ExtendedResourceInterface interface {
- Create(*v1beta1.ExtendedResource) (*v1beta1.ExtendedResource, error)
- Update(*v1beta1.ExtendedResource) (*v1beta1.ExtendedResource, error)
- UpdateStatus(*v1beta1.ExtendedResource) (*v1beta1.ExtendedResource, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.ExtendedResource, error)
- List(opts v1.ListOptions) (*v1beta1.ExtendedResourceList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ExtendedResource, err error)
- ExtendedResourceExpansion
-}
-
-// extendedResources implements ExtendedResourceInterface
-type extendedResources struct {
- client rest.Interface
-}
-
-// newExtendedResources returns a ExtendedResources
-func newExtendedResources(c *ResourceV1beta1Client) *extendedResources {
- return &extendedResources{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the extendedResource, and returns the corresponding extendedResource object, and an error if there is any.
-func (c *extendedResources) Get(name string, options v1.GetOptions) (result *v1beta1.ExtendedResource, err error) {
- result = &v1beta1.ExtendedResource{}
- err = c.client.Get().
- Resource("extendedresources").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ExtendedResources that match those selectors.
-func (c *extendedResources) List(opts v1.ListOptions) (result *v1beta1.ExtendedResourceList, err error) {
- result = &v1beta1.ExtendedResourceList{}
- err = c.client.Get().
- Resource("extendedresources").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested extendedResources.
-func (c *extendedResources) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("extendedresources").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a extendedResource and creates it. Returns the server's representation of the extendedResource, and an error, if there is any.
-func (c *extendedResources) Create(extendedResource *v1beta1.ExtendedResource) (result *v1beta1.ExtendedResource, err error) {
- result = &v1beta1.ExtendedResource{}
- err = c.client.Post().
- Resource("extendedresources").
- Body(extendedResource).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a extendedResource and updates it. Returns the server's representation of the extendedResource, and an error, if there is any.
-func (c *extendedResources) Update(extendedResource *v1beta1.ExtendedResource) (result *v1beta1.ExtendedResource, err error) {
- result = &v1beta1.ExtendedResource{}
- err = c.client.Put().
- Resource("extendedresources").
- Name(extendedResource.Name).
- Body(extendedResource).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *extendedResources) UpdateStatus(extendedResource *v1beta1.ExtendedResource) (result *v1beta1.ExtendedResource, err error) {
- result = &v1beta1.ExtendedResource{}
- err = c.client.Put().
- Resource("extendedresources").
- Name(extendedResource.Name).
- SubResource("status").
- Body(extendedResource).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the extendedResource and deletes it. Returns an error if one occurs.
-func (c *extendedResources) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("extendedresources").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *extendedResources) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("extendedresources").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched extendedResource.
-func (c *extendedResources) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ExtendedResource, err error) {
- result = &v1beta1.ExtendedResource{}
- err = c.client.Patch(pt).
- Resource("extendedresources").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/infranetwork.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/infranetwork.go
deleted file mode 100644
index 6d3bf6397..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/infranetwork.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// InfraNetworksGetter has a method to return a InfraNetworkInterface.
-// A group's client should implement this interface.
-type InfraNetworksGetter interface {
- InfraNetworks() InfraNetworkInterface
-}
-
-// InfraNetworkInterface has methods to work with InfraNetwork resources.
-type InfraNetworkInterface interface {
- Create(*v1beta1.InfraNetwork) (*v1beta1.InfraNetwork, error)
- Update(*v1beta1.InfraNetwork) (*v1beta1.InfraNetwork, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.InfraNetwork, error)
- List(opts v1.ListOptions) (*v1beta1.InfraNetworkList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.InfraNetwork, err error)
- InfraNetworkExpansion
-}
-
-// infraNetworks implements InfraNetworkInterface
-type infraNetworks struct {
- client rest.Interface
-}
-
-// newInfraNetworks returns a InfraNetworks
-func newInfraNetworks(c *ResourceV1beta1Client) *infraNetworks {
- return &infraNetworks{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the infraNetwork, and returns the corresponding infraNetwork object, and an error if there is any.
-func (c *infraNetworks) Get(name string, options v1.GetOptions) (result *v1beta1.InfraNetwork, err error) {
- result = &v1beta1.InfraNetwork{}
- err = c.client.Get().
- Resource("infranetworks").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of InfraNetworks that match those selectors.
-func (c *infraNetworks) List(opts v1.ListOptions) (result *v1beta1.InfraNetworkList, err error) {
- result = &v1beta1.InfraNetworkList{}
- err = c.client.Get().
- Resource("infranetworks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested infraNetworks.
-func (c *infraNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("infranetworks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a infraNetwork and creates it. Returns the server's representation of the infraNetwork, and an error, if there is any.
-func (c *infraNetworks) Create(infraNetwork *v1beta1.InfraNetwork) (result *v1beta1.InfraNetwork, err error) {
- result = &v1beta1.InfraNetwork{}
- err = c.client.Post().
- Resource("infranetworks").
- Body(infraNetwork).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a infraNetwork and updates it. Returns the server's representation of the infraNetwork, and an error, if there is any.
-func (c *infraNetworks) Update(infraNetwork *v1beta1.InfraNetwork) (result *v1beta1.InfraNetwork, err error) {
- result = &v1beta1.InfraNetwork{}
- err = c.client.Put().
- Resource("infranetworks").
- Name(infraNetwork.Name).
- Body(infraNetwork).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the infraNetwork and deletes it. Returns an error if one occurs.
-func (c *infraNetworks) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("infranetworks").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *infraNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("infranetworks").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched infraNetwork.
-func (c *infraNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.InfraNetwork, err error) {
- result = &v1beta1.InfraNetwork{}
- err = c.client.Patch(pt).
- Resource("infranetworks").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/machine.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/machine.go
deleted file mode 100644
index dcbdb5d65..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/machine.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MachinesGetter has a method to return a MachineInterface.
-// A group's client should implement this interface.
-type MachinesGetter interface {
- Machines() MachineInterface
-}
-
-// MachineInterface has methods to work with Machine resources.
-type MachineInterface interface {
- Create(*v1beta1.Machine) (*v1beta1.Machine, error)
- Update(*v1beta1.Machine) (*v1beta1.Machine, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Machine, error)
- List(opts v1.ListOptions) (*v1beta1.MachineList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Machine, err error)
- MachineExpansion
-}
-
-// machines implements MachineInterface
-type machines struct {
- client rest.Interface
-}
-
-// newMachines returns a Machines
-func newMachines(c *ResourceV1beta1Client) *machines {
- return &machines{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the machine, and returns the corresponding machine object, and an error if there is any.
-func (c *machines) Get(name string, options v1.GetOptions) (result *v1beta1.Machine, err error) {
- result = &v1beta1.Machine{}
- err = c.client.Get().
- Resource("machines").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Machines that match those selectors.
-func (c *machines) List(opts v1.ListOptions) (result *v1beta1.MachineList, err error) {
- result = &v1beta1.MachineList{}
- err = c.client.Get().
- Resource("machines").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested machines.
-func (c *machines) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("machines").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a machine and creates it. Returns the server's representation of the machine, and an error, if there is any.
-func (c *machines) Create(machine *v1beta1.Machine) (result *v1beta1.Machine, err error) {
- result = &v1beta1.Machine{}
- err = c.client.Post().
- Resource("machines").
- Body(machine).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a machine and updates it. Returns the server's representation of the machine, and an error, if there is any.
-func (c *machines) Update(machine *v1beta1.Machine) (result *v1beta1.Machine, err error) {
- result = &v1beta1.Machine{}
- err = c.client.Put().
- Resource("machines").
- Name(machine.Name).
- Body(machine).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the machine and deletes it. Returns an error if one occurs.
-func (c *machines) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("machines").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *machines) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("machines").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched machine.
-func (c *machines) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Machine, err error) {
- result = &v1beta1.Machine{}
- err = c.client.Patch(pt).
- Resource("machines").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/machineautoscalinggroup.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/machineautoscalinggroup.go
deleted file mode 100644
index 39ade76e1..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/machineautoscalinggroup.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// MachineAutoScalingGroupsGetter has a method to return a MachineAutoScalingGroupInterface.
-// A group's client should implement this interface.
-type MachineAutoScalingGroupsGetter interface {
- MachineAutoScalingGroups() MachineAutoScalingGroupInterface
-}
-
-// MachineAutoScalingGroupInterface has methods to work with MachineAutoScalingGroup resources.
-type MachineAutoScalingGroupInterface interface {
- Create(*v1beta1.MachineAutoScalingGroup) (*v1beta1.MachineAutoScalingGroup, error)
- Update(*v1beta1.MachineAutoScalingGroup) (*v1beta1.MachineAutoScalingGroup, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.MachineAutoScalingGroup, error)
- List(opts v1.ListOptions) (*v1beta1.MachineAutoScalingGroupList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MachineAutoScalingGroup, err error)
- MachineAutoScalingGroupExpansion
-}
-
-// machineAutoScalingGroups implements MachineAutoScalingGroupInterface
-type machineAutoScalingGroups struct {
- client rest.Interface
-}
-
-// newMachineAutoScalingGroups returns a MachineAutoScalingGroups
-func newMachineAutoScalingGroups(c *ResourceV1beta1Client) *machineAutoScalingGroups {
- return &machineAutoScalingGroups{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the machineAutoScalingGroup, and returns the corresponding machineAutoScalingGroup object, and an error if there is any.
-func (c *machineAutoScalingGroups) Get(name string, options v1.GetOptions) (result *v1beta1.MachineAutoScalingGroup, err error) {
- result = &v1beta1.MachineAutoScalingGroup{}
- err = c.client.Get().
- Resource("machineautoscalinggroups").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of MachineAutoScalingGroups that match those selectors.
-func (c *machineAutoScalingGroups) List(opts v1.ListOptions) (result *v1beta1.MachineAutoScalingGroupList, err error) {
- result = &v1beta1.MachineAutoScalingGroupList{}
- err = c.client.Get().
- Resource("machineautoscalinggroups").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested machineAutoScalingGroups.
-func (c *machineAutoScalingGroups) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("machineautoscalinggroups").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a machineAutoScalingGroup and creates it. Returns the server's representation of the machineAutoScalingGroup, and an error, if there is any.
-func (c *machineAutoScalingGroups) Create(machineAutoScalingGroup *v1beta1.MachineAutoScalingGroup) (result *v1beta1.MachineAutoScalingGroup, err error) {
- result = &v1beta1.MachineAutoScalingGroup{}
- err = c.client.Post().
- Resource("machineautoscalinggroups").
- Body(machineAutoScalingGroup).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a machineAutoScalingGroup and updates it. Returns the server's representation of the machineAutoScalingGroup, and an error, if there is any.
-func (c *machineAutoScalingGroups) Update(machineAutoScalingGroup *v1beta1.MachineAutoScalingGroup) (result *v1beta1.MachineAutoScalingGroup, err error) {
- result = &v1beta1.MachineAutoScalingGroup{}
- err = c.client.Put().
- Resource("machineautoscalinggroups").
- Name(machineAutoScalingGroup.Name).
- Body(machineAutoScalingGroup).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the machineAutoScalingGroup and deletes it. Returns an error if one occurs.
-func (c *machineAutoScalingGroups) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("machineautoscalinggroups").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *machineAutoScalingGroups) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("machineautoscalinggroups").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched machineAutoScalingGroup.
-func (c *machineAutoScalingGroups) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.MachineAutoScalingGroup, err error) {
- result = &v1beta1.MachineAutoScalingGroup{}
- err = c.client.Patch(pt).
- Resource("machineautoscalinggroups").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/network.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/network.go
deleted file mode 100644
index bc39810d9..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/network.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// NetworksGetter has a method to return a NetworkInterface.
-// A group's client should implement this interface.
-type NetworksGetter interface {
- Networks() NetworkInterface
-}
-
-// NetworkInterface has methods to work with Network resources.
-type NetworkInterface interface {
- Create(*v1beta1.Network) (*v1beta1.Network, error)
- Update(*v1beta1.Network) (*v1beta1.Network, error)
- UpdateStatus(*v1beta1.Network) (*v1beta1.Network, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Network, error)
- List(opts v1.ListOptions) (*v1beta1.NetworkList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Network, err error)
- NetworkExpansion
-}
-
-// networks implements NetworkInterface
-type networks struct {
- client rest.Interface
-}
-
-// newNetworks returns a Networks
-func newNetworks(c *ResourceV1beta1Client) *networks {
- return &networks{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the network, and returns the corresponding network object, and an error if there is any.
-func (c *networks) Get(name string, options v1.GetOptions) (result *v1beta1.Network, err error) {
- result = &v1beta1.Network{}
- err = c.client.Get().
- Resource("networks").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Networks that match those selectors.
-func (c *networks) List(opts v1.ListOptions) (result *v1beta1.NetworkList, err error) {
- result = &v1beta1.NetworkList{}
- err = c.client.Get().
- Resource("networks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested networks.
-func (c *networks) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("networks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a network and creates it. Returns the server's representation of the network, and an error, if there is any.
-func (c *networks) Create(network *v1beta1.Network) (result *v1beta1.Network, err error) {
- result = &v1beta1.Network{}
- err = c.client.Post().
- Resource("networks").
- Body(network).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a network and updates it. Returns the server's representation of the network, and an error, if there is any.
-func (c *networks) Update(network *v1beta1.Network) (result *v1beta1.Network, err error) {
- result = &v1beta1.Network{}
- err = c.client.Put().
- Resource("networks").
- Name(network.Name).
- Body(network).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *networks) UpdateStatus(network *v1beta1.Network) (result *v1beta1.Network, err error) {
- result = &v1beta1.Network{}
- err = c.client.Put().
- Resource("networks").
- Name(network.Name).
- SubResource("status").
- Body(network).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the network and deletes it. Returns an error if one occurs.
-func (c *networks) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("networks").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *networks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("networks").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched network.
-func (c *networks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Network, err error) {
- result = &v1beta1.Network{}
- err = c.client.Patch(pt).
- Resource("networks").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/nodeclaim.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/nodeclaim.go
deleted file mode 100644
index 522a0f4f7..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/nodeclaim.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// NodeClaimsGetter has a method to return a NodeClaimInterface.
-// A group's client should implement this interface.
-type NodeClaimsGetter interface {
- NodeClaims() NodeClaimInterface
-}
-
-// NodeClaimInterface has methods to work with NodeClaim resources.
-type NodeClaimInterface interface {
- Create(*v1beta1.NodeClaim) (*v1beta1.NodeClaim, error)
- Update(*v1beta1.NodeClaim) (*v1beta1.NodeClaim, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.NodeClaim, error)
- List(opts v1.ListOptions) (*v1beta1.NodeClaimList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeClaim, err error)
- NodeClaimExpansion
-}
-
-// nodeClaims implements NodeClaimInterface
-type nodeClaims struct {
- client rest.Interface
-}
-
-// newNodeClaims returns a NodeClaims
-func newNodeClaims(c *ResourceV1beta1Client) *nodeClaims {
- return &nodeClaims{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the nodeClaim, and returns the corresponding nodeClaim object, and an error if there is any.
-func (c *nodeClaims) Get(name string, options v1.GetOptions) (result *v1beta1.NodeClaim, err error) {
- result = &v1beta1.NodeClaim{}
- err = c.client.Get().
- Resource("nodeclaims").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of NodeClaims that match those selectors.
-func (c *nodeClaims) List(opts v1.ListOptions) (result *v1beta1.NodeClaimList, err error) {
- result = &v1beta1.NodeClaimList{}
- err = c.client.Get().
- Resource("nodeclaims").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested nodeClaims.
-func (c *nodeClaims) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("nodeclaims").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a nodeClaim and creates it. Returns the server's representation of the nodeClaim, and an error, if there is any.
-func (c *nodeClaims) Create(nodeClaim *v1beta1.NodeClaim) (result *v1beta1.NodeClaim, err error) {
- result = &v1beta1.NodeClaim{}
- err = c.client.Post().
- Resource("nodeclaims").
- Body(nodeClaim).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a nodeClaim and updates it. Returns the server's representation of the nodeClaim, and an error, if there is any.
-func (c *nodeClaims) Update(nodeClaim *v1beta1.NodeClaim) (result *v1beta1.NodeClaim, err error) {
- result = &v1beta1.NodeClaim{}
- err = c.client.Put().
- Resource("nodeclaims").
- Name(nodeClaim.Name).
- Body(nodeClaim).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the nodeClaim and deletes it. Returns an error if one occurs.
-func (c *nodeClaims) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("nodeclaims").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *nodeClaims) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("nodeclaims").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched nodeClaim.
-func (c *nodeClaims) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeClaim, err error) {
- result = &v1beta1.NodeClaim{}
- err = c.client.Patch(pt).
- Resource("nodeclaims").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/nodelocalstorage.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/nodelocalstorage.go
deleted file mode 100644
index 6f5bbe8c3..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/nodelocalstorage.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// NodeLocalStoragesGetter has a method to return a NodeLocalStorageInterface.
-// A group's client should implement this interface.
-type NodeLocalStoragesGetter interface {
- NodeLocalStorages() NodeLocalStorageInterface
-}
-
-// NodeLocalStorageInterface has methods to work with NodeLocalStorage resources.
-type NodeLocalStorageInterface interface {
- Create(*v1beta1.NodeLocalStorage) (*v1beta1.NodeLocalStorage, error)
- Update(*v1beta1.NodeLocalStorage) (*v1beta1.NodeLocalStorage, error)
- UpdateStatus(*v1beta1.NodeLocalStorage) (*v1beta1.NodeLocalStorage, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.NodeLocalStorage, error)
- List(opts v1.ListOptions) (*v1beta1.NodeLocalStorageList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeLocalStorage, err error)
- NodeLocalStorageExpansion
-}
-
-// nodeLocalStorages implements NodeLocalStorageInterface
-type nodeLocalStorages struct {
- client rest.Interface
-}
-
-// newNodeLocalStorages returns a NodeLocalStorages
-func newNodeLocalStorages(c *ResourceV1beta1Client) *nodeLocalStorages {
- return &nodeLocalStorages{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the nodeLocalStorage, and returns the corresponding nodeLocalStorage object, and an error if there is any.
-func (c *nodeLocalStorages) Get(name string, options v1.GetOptions) (result *v1beta1.NodeLocalStorage, err error) {
- result = &v1beta1.NodeLocalStorage{}
- err = c.client.Get().
- Resource("nodelocalstorages").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of NodeLocalStorages that match those selectors.
-func (c *nodeLocalStorages) List(opts v1.ListOptions) (result *v1beta1.NodeLocalStorageList, err error) {
- result = &v1beta1.NodeLocalStorageList{}
- err = c.client.Get().
- Resource("nodelocalstorages").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested nodeLocalStorages.
-func (c *nodeLocalStorages) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("nodelocalstorages").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a nodeLocalStorage and creates it. Returns the server's representation of the nodeLocalStorage, and an error, if there is any.
-func (c *nodeLocalStorages) Create(nodeLocalStorage *v1beta1.NodeLocalStorage) (result *v1beta1.NodeLocalStorage, err error) {
- result = &v1beta1.NodeLocalStorage{}
- err = c.client.Post().
- Resource("nodelocalstorages").
- Body(nodeLocalStorage).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a nodeLocalStorage and updates it. Returns the server's representation of the nodeLocalStorage, and an error, if there is any.
-func (c *nodeLocalStorages) Update(nodeLocalStorage *v1beta1.NodeLocalStorage) (result *v1beta1.NodeLocalStorage, err error) {
- result = &v1beta1.NodeLocalStorage{}
- err = c.client.Put().
- Resource("nodelocalstorages").
- Name(nodeLocalStorage.Name).
- Body(nodeLocalStorage).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *nodeLocalStorages) UpdateStatus(nodeLocalStorage *v1beta1.NodeLocalStorage) (result *v1beta1.NodeLocalStorage, err error) {
- result = &v1beta1.NodeLocalStorage{}
- err = c.client.Put().
- Resource("nodelocalstorages").
- Name(nodeLocalStorage.Name).
- SubResource("status").
- Body(nodeLocalStorage).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the nodeLocalStorage and deletes it. Returns an error if one occurs.
-func (c *nodeLocalStorages) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("nodelocalstorages").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *nodeLocalStorages) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("nodelocalstorages").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched nodeLocalStorage.
-func (c *nodeLocalStorages) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.NodeLocalStorage, err error) {
- result = &v1beta1.NodeLocalStorage{}
- err = c.client.Patch(pt).
- Resource("nodelocalstorages").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/requirementgap.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/requirementgap.go
deleted file mode 100644
index d81293f6d..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/requirementgap.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// RequirementGapsGetter has a method to return a RequirementGapInterface.
-// A group's client should implement this interface.
-type RequirementGapsGetter interface {
- RequirementGaps() RequirementGapInterface
-}
-
-// RequirementGapInterface has methods to work with RequirementGap resources.
-type RequirementGapInterface interface {
- Create(*v1beta1.RequirementGap) (*v1beta1.RequirementGap, error)
- Update(*v1beta1.RequirementGap) (*v1beta1.RequirementGap, error)
- UpdateStatus(*v1beta1.RequirementGap) (*v1beta1.RequirementGap, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.RequirementGap, error)
- List(opts v1.ListOptions) (*v1beta1.RequirementGapList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.RequirementGap, err error)
- RequirementGapExpansion
-}
-
-// requirementGaps implements RequirementGapInterface
-type requirementGaps struct {
- client rest.Interface
-}
-
-// newRequirementGaps returns a RequirementGaps
-func newRequirementGaps(c *ResourceV1beta1Client) *requirementGaps {
- return &requirementGaps{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the requirementGap, and returns the corresponding requirementGap object, and an error if there is any.
-func (c *requirementGaps) Get(name string, options v1.GetOptions) (result *v1beta1.RequirementGap, err error) {
- result = &v1beta1.RequirementGap{}
- err = c.client.Get().
- Resource("requirementgaps").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of RequirementGaps that match those selectors.
-func (c *requirementGaps) List(opts v1.ListOptions) (result *v1beta1.RequirementGapList, err error) {
- result = &v1beta1.RequirementGapList{}
- err = c.client.Get().
- Resource("requirementgaps").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested requirementGaps.
-func (c *requirementGaps) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("requirementgaps").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a requirementGap and creates it. Returns the server's representation of the requirementGap, and an error, if there is any.
-func (c *requirementGaps) Create(requirementGap *v1beta1.RequirementGap) (result *v1beta1.RequirementGap, err error) {
- result = &v1beta1.RequirementGap{}
- err = c.client.Post().
- Resource("requirementgaps").
- Body(requirementGap).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a requirementGap and updates it. Returns the server's representation of the requirementGap, and an error, if there is any.
-func (c *requirementGaps) Update(requirementGap *v1beta1.RequirementGap) (result *v1beta1.RequirementGap, err error) {
- result = &v1beta1.RequirementGap{}
- err = c.client.Put().
- Resource("requirementgaps").
- Name(requirementGap.Name).
- Body(requirementGap).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *requirementGaps) UpdateStatus(requirementGap *v1beta1.RequirementGap) (result *v1beta1.RequirementGap, err error) {
- result = &v1beta1.RequirementGap{}
- err = c.client.Put().
- Resource("requirementgaps").
- Name(requirementGap.Name).
- SubResource("status").
- Body(requirementGap).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the requirementGap and deletes it. Returns an error if one occurs.
-func (c *requirementGaps) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("requirementgaps").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *requirementGaps) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("requirementgaps").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched requirementGap.
-func (c *requirementGaps) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.RequirementGap, err error) {
- result = &v1beta1.RequirementGap{}
- err = c.client.Patch(pt).
- Resource("requirementgaps").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/resource_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/resource_client.go
deleted file mode 100644
index 435812b8d..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/resource_client.go
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type ResourceV1beta1Interface interface {
- RESTClient() rest.Interface
- ClustersGetter
- ConfigsGetter
- ExtendedResourcesGetter
- InfraNetworksGetter
- MachinesGetter
- MachineAutoScalingGroupsGetter
- NetworksGetter
- NodeClaimsGetter
- NodeLocalStoragesGetter
- RequirementGapsGetter
- ResourceClassesGetter
- SnapshotsGetter
- StorageServicesGetter
- StorageTypesGetter
- TagsGetter
- WorkloadNetworksGetter
-}
-
-// ResourceV1beta1Client is used to interact with features provided by the resource.caicloud.io group.
-type ResourceV1beta1Client struct {
- restClient rest.Interface
-}
-
-func (c *ResourceV1beta1Client) Clusters() ClusterInterface {
- return newClusters(c)
-}
-
-func (c *ResourceV1beta1Client) Configs() ConfigInterface {
- return newConfigs(c)
-}
-
-func (c *ResourceV1beta1Client) ExtendedResources() ExtendedResourceInterface {
- return newExtendedResources(c)
-}
-
-func (c *ResourceV1beta1Client) InfraNetworks() InfraNetworkInterface {
- return newInfraNetworks(c)
-}
-
-func (c *ResourceV1beta1Client) Machines() MachineInterface {
- return newMachines(c)
-}
-
-func (c *ResourceV1beta1Client) MachineAutoScalingGroups() MachineAutoScalingGroupInterface {
- return newMachineAutoScalingGroups(c)
-}
-
-func (c *ResourceV1beta1Client) Networks() NetworkInterface {
- return newNetworks(c)
-}
-
-func (c *ResourceV1beta1Client) NodeClaims() NodeClaimInterface {
- return newNodeClaims(c)
-}
-
-func (c *ResourceV1beta1Client) NodeLocalStorages() NodeLocalStorageInterface {
- return newNodeLocalStorages(c)
-}
-
-func (c *ResourceV1beta1Client) RequirementGaps() RequirementGapInterface {
- return newRequirementGaps(c)
-}
-
-func (c *ResourceV1beta1Client) ResourceClasses() ResourceClassInterface {
- return newResourceClasses(c)
-}
-
-func (c *ResourceV1beta1Client) Snapshots(namespace string) SnapshotInterface {
- return newSnapshots(c, namespace)
-}
-
-func (c *ResourceV1beta1Client) StorageServices() StorageServiceInterface {
- return newStorageServices(c)
-}
-
-func (c *ResourceV1beta1Client) StorageTypes() StorageTypeInterface {
- return newStorageTypes(c)
-}
-
-func (c *ResourceV1beta1Client) Tags() TagInterface {
- return newTags(c)
-}
-
-func (c *ResourceV1beta1Client) WorkloadNetworks(namespace string) WorkloadNetworkInterface {
- return newWorkloadNetworks(c, namespace)
-}
-
-// NewForConfig creates a new ResourceV1beta1Client for the given config.
-func NewForConfig(c *rest.Config) (*ResourceV1beta1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &ResourceV1beta1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new ResourceV1beta1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *ResourceV1beta1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new ResourceV1beta1Client for the given RESTClient.
-func New(c rest.Interface) *ResourceV1beta1Client {
- return &ResourceV1beta1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1beta1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *ResourceV1beta1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/resourceclass.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/resourceclass.go
deleted file mode 100644
index 2ca81718c..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/resourceclass.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ResourceClassesGetter has a method to return a ResourceClassInterface.
-// A group's client should implement this interface.
-type ResourceClassesGetter interface {
- ResourceClasses() ResourceClassInterface
-}
-
-// ResourceClassInterface has methods to work with ResourceClass resources.
-type ResourceClassInterface interface {
- Create(*v1beta1.ResourceClass) (*v1beta1.ResourceClass, error)
- Update(*v1beta1.ResourceClass) (*v1beta1.ResourceClass, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.ResourceClass, error)
- List(opts v1.ListOptions) (*v1beta1.ResourceClassList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ResourceClass, err error)
- ResourceClassExpansion
-}
-
-// resourceClasses implements ResourceClassInterface
-type resourceClasses struct {
- client rest.Interface
-}
-
-// newResourceClasses returns a ResourceClasses
-func newResourceClasses(c *ResourceV1beta1Client) *resourceClasses {
- return &resourceClasses{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the resourceClass, and returns the corresponding resourceClass object, and an error if there is any.
-func (c *resourceClasses) Get(name string, options v1.GetOptions) (result *v1beta1.ResourceClass, err error) {
- result = &v1beta1.ResourceClass{}
- err = c.client.Get().
- Resource("resourceclasses").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ResourceClasses that match those selectors.
-func (c *resourceClasses) List(opts v1.ListOptions) (result *v1beta1.ResourceClassList, err error) {
- result = &v1beta1.ResourceClassList{}
- err = c.client.Get().
- Resource("resourceclasses").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested resourceClasses.
-func (c *resourceClasses) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("resourceclasses").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a resourceClass and creates it. Returns the server's representation of the resourceClass, and an error, if there is any.
-func (c *resourceClasses) Create(resourceClass *v1beta1.ResourceClass) (result *v1beta1.ResourceClass, err error) {
- result = &v1beta1.ResourceClass{}
- err = c.client.Post().
- Resource("resourceclasses").
- Body(resourceClass).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a resourceClass and updates it. Returns the server's representation of the resourceClass, and an error, if there is any.
-func (c *resourceClasses) Update(resourceClass *v1beta1.ResourceClass) (result *v1beta1.ResourceClass, err error) {
- result = &v1beta1.ResourceClass{}
- err = c.client.Put().
- Resource("resourceclasses").
- Name(resourceClass.Name).
- Body(resourceClass).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the resourceClass and deletes it. Returns an error if one occurs.
-func (c *resourceClasses) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("resourceclasses").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *resourceClasses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("resourceclasses").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched resourceClass.
-func (c *resourceClasses) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ResourceClass, err error) {
- result = &v1beta1.ResourceClass{}
- err = c.client.Patch(pt).
- Resource("resourceclasses").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/snapshot.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/snapshot.go
deleted file mode 100644
index c04f0ddfa..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/snapshot.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// SnapshotsGetter has a method to return a SnapshotInterface.
-// A group's client should implement this interface.
-type SnapshotsGetter interface {
- Snapshots(namespace string) SnapshotInterface
-}
-
-// SnapshotInterface has methods to work with Snapshot resources.
-type SnapshotInterface interface {
- Create(*v1beta1.Snapshot) (*v1beta1.Snapshot, error)
- Update(*v1beta1.Snapshot) (*v1beta1.Snapshot, error)
- UpdateStatus(*v1beta1.Snapshot) (*v1beta1.Snapshot, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Snapshot, error)
- List(opts v1.ListOptions) (*v1beta1.SnapshotList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Snapshot, err error)
- SnapshotExpansion
-}
-
-// snapshots implements SnapshotInterface
-type snapshots struct {
- client rest.Interface
- ns string
-}
-
-// newSnapshots returns a Snapshots
-func newSnapshots(c *ResourceV1beta1Client, namespace string) *snapshots {
- return &snapshots{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the snapshot, and returns the corresponding snapshot object, and an error if there is any.
-func (c *snapshots) Get(name string, options v1.GetOptions) (result *v1beta1.Snapshot, err error) {
- result = &v1beta1.Snapshot{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("snapshots").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Snapshots that match those selectors.
-func (c *snapshots) List(opts v1.ListOptions) (result *v1beta1.SnapshotList, err error) {
- result = &v1beta1.SnapshotList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("snapshots").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested snapshots.
-func (c *snapshots) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("snapshots").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a snapshot and creates it. Returns the server's representation of the snapshot, and an error, if there is any.
-func (c *snapshots) Create(snapshot *v1beta1.Snapshot) (result *v1beta1.Snapshot, err error) {
- result = &v1beta1.Snapshot{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("snapshots").
- Body(snapshot).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a snapshot and updates it. Returns the server's representation of the snapshot, and an error, if there is any.
-func (c *snapshots) Update(snapshot *v1beta1.Snapshot) (result *v1beta1.Snapshot, err error) {
- result = &v1beta1.Snapshot{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("snapshots").
- Name(snapshot.Name).
- Body(snapshot).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *snapshots) UpdateStatus(snapshot *v1beta1.Snapshot) (result *v1beta1.Snapshot, err error) {
- result = &v1beta1.Snapshot{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("snapshots").
- Name(snapshot.Name).
- SubResource("status").
- Body(snapshot).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the snapshot and deletes it. Returns an error if one occurs.
-func (c *snapshots) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("snapshots").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *snapshots) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("snapshots").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched snapshot.
-func (c *snapshots) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Snapshot, err error) {
- result = &v1beta1.Snapshot{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("snapshots").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/storageservice.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/storageservice.go
deleted file mode 100644
index 13b8f16c8..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/storageservice.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// StorageServicesGetter has a method to return a StorageServiceInterface.
-// A group's client should implement this interface.
-type StorageServicesGetter interface {
- StorageServices() StorageServiceInterface
-}
-
-// StorageServiceInterface has methods to work with StorageService resources.
-type StorageServiceInterface interface {
- Create(*v1beta1.StorageService) (*v1beta1.StorageService, error)
- Update(*v1beta1.StorageService) (*v1beta1.StorageService, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.StorageService, error)
- List(opts v1.ListOptions) (*v1beta1.StorageServiceList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageService, err error)
- StorageServiceExpansion
-}
-
-// storageServices implements StorageServiceInterface
-type storageServices struct {
- client rest.Interface
-}
-
-// newStorageServices returns a StorageServices
-func newStorageServices(c *ResourceV1beta1Client) *storageServices {
- return &storageServices{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the storageService, and returns the corresponding storageService object, and an error if there is any.
-func (c *storageServices) Get(name string, options v1.GetOptions) (result *v1beta1.StorageService, err error) {
- result = &v1beta1.StorageService{}
- err = c.client.Get().
- Resource("storageservices").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of StorageServices that match those selectors.
-func (c *storageServices) List(opts v1.ListOptions) (result *v1beta1.StorageServiceList, err error) {
- result = &v1beta1.StorageServiceList{}
- err = c.client.Get().
- Resource("storageservices").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested storageServices.
-func (c *storageServices) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("storageservices").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a storageService and creates it. Returns the server's representation of the storageService, and an error, if there is any.
-func (c *storageServices) Create(storageService *v1beta1.StorageService) (result *v1beta1.StorageService, err error) {
- result = &v1beta1.StorageService{}
- err = c.client.Post().
- Resource("storageservices").
- Body(storageService).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a storageService and updates it. Returns the server's representation of the storageService, and an error, if there is any.
-func (c *storageServices) Update(storageService *v1beta1.StorageService) (result *v1beta1.StorageService, err error) {
- result = &v1beta1.StorageService{}
- err = c.client.Put().
- Resource("storageservices").
- Name(storageService.Name).
- Body(storageService).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the storageService and deletes it. Returns an error if one occurs.
-func (c *storageServices) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("storageservices").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *storageServices) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("storageservices").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched storageService.
-func (c *storageServices) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageService, err error) {
- result = &v1beta1.StorageService{}
- err = c.client.Patch(pt).
- Resource("storageservices").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/storagetype.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/storagetype.go
deleted file mode 100644
index 7a06298a9..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/storagetype.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// StorageTypesGetter has a method to return a StorageTypeInterface.
-// A group's client should implement this interface.
-type StorageTypesGetter interface {
- StorageTypes() StorageTypeInterface
-}
-
-// StorageTypeInterface has methods to work with StorageType resources.
-type StorageTypeInterface interface {
- Create(*v1beta1.StorageType) (*v1beta1.StorageType, error)
- Update(*v1beta1.StorageType) (*v1beta1.StorageType, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.StorageType, error)
- List(opts v1.ListOptions) (*v1beta1.StorageTypeList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageType, err error)
- StorageTypeExpansion
-}
-
-// storageTypes implements StorageTypeInterface
-type storageTypes struct {
- client rest.Interface
-}
-
-// newStorageTypes returns a StorageTypes
-func newStorageTypes(c *ResourceV1beta1Client) *storageTypes {
- return &storageTypes{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the storageType, and returns the corresponding storageType object, and an error if there is any.
-func (c *storageTypes) Get(name string, options v1.GetOptions) (result *v1beta1.StorageType, err error) {
- result = &v1beta1.StorageType{}
- err = c.client.Get().
- Resource("storagetypes").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of StorageTypes that match those selectors.
-func (c *storageTypes) List(opts v1.ListOptions) (result *v1beta1.StorageTypeList, err error) {
- result = &v1beta1.StorageTypeList{}
- err = c.client.Get().
- Resource("storagetypes").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested storageTypes.
-func (c *storageTypes) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("storagetypes").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a storageType and creates it. Returns the server's representation of the storageType, and an error, if there is any.
-func (c *storageTypes) Create(storageType *v1beta1.StorageType) (result *v1beta1.StorageType, err error) {
- result = &v1beta1.StorageType{}
- err = c.client.Post().
- Resource("storagetypes").
- Body(storageType).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a storageType and updates it. Returns the server's representation of the storageType, and an error, if there is any.
-func (c *storageTypes) Update(storageType *v1beta1.StorageType) (result *v1beta1.StorageType, err error) {
- result = &v1beta1.StorageType{}
- err = c.client.Put().
- Resource("storagetypes").
- Name(storageType.Name).
- Body(storageType).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the storageType and deletes it. Returns an error if one occurs.
-func (c *storageTypes) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("storagetypes").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *storageTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("storagetypes").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched storageType.
-func (c *storageTypes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageType, err error) {
- result = &v1beta1.StorageType{}
- err = c.client.Patch(pt).
- Resource("storagetypes").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/tag.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/tag.go
deleted file mode 100644
index 0965476f0..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/tag.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// TagsGetter has a method to return a TagInterface.
-// A group's client should implement this interface.
-type TagsGetter interface {
- Tags() TagInterface
-}
-
-// TagInterface has methods to work with Tag resources.
-type TagInterface interface {
- Create(*v1beta1.Tag) (*v1beta1.Tag, error)
- Update(*v1beta1.Tag) (*v1beta1.Tag, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Tag, error)
- List(opts v1.ListOptions) (*v1beta1.TagList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Tag, err error)
- TagExpansion
-}
-
-// tags implements TagInterface
-type tags struct {
- client rest.Interface
-}
-
-// newTags returns a Tags
-func newTags(c *ResourceV1beta1Client) *tags {
- return &tags{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the tag, and returns the corresponding tag object, and an error if there is any.
-func (c *tags) Get(name string, options v1.GetOptions) (result *v1beta1.Tag, err error) {
- result = &v1beta1.Tag{}
- err = c.client.Get().
- Resource("tags").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Tags that match those selectors.
-func (c *tags) List(opts v1.ListOptions) (result *v1beta1.TagList, err error) {
- result = &v1beta1.TagList{}
- err = c.client.Get().
- Resource("tags").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested tags.
-func (c *tags) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("tags").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a tag and creates it. Returns the server's representation of the tag, and an error, if there is any.
-func (c *tags) Create(tag *v1beta1.Tag) (result *v1beta1.Tag, err error) {
- result = &v1beta1.Tag{}
- err = c.client.Post().
- Resource("tags").
- Body(tag).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a tag and updates it. Returns the server's representation of the tag, and an error, if there is any.
-func (c *tags) Update(tag *v1beta1.Tag) (result *v1beta1.Tag, err error) {
- result = &v1beta1.Tag{}
- err = c.client.Put().
- Resource("tags").
- Name(tag.Name).
- Body(tag).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the tag and deletes it. Returns an error if one occurs.
-func (c *tags) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("tags").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *tags) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("tags").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched tag.
-func (c *tags) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Tag, err error) {
- result = &v1beta1.Tag{}
- err = c.client.Patch(pt).
- Resource("tags").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/workloadnetwork.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/workloadnetwork.go
deleted file mode 100644
index 4758cf969..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/resource/v1beta1/workloadnetwork.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/resource/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// WorkloadNetworksGetter has a method to return a WorkloadNetworkInterface.
-// A group's client should implement this interface.
-type WorkloadNetworksGetter interface {
- WorkloadNetworks(namespace string) WorkloadNetworkInterface
-}
-
-// WorkloadNetworkInterface has methods to work with WorkloadNetwork resources.
-type WorkloadNetworkInterface interface {
- Create(*v1beta1.WorkloadNetwork) (*v1beta1.WorkloadNetwork, error)
- Update(*v1beta1.WorkloadNetwork) (*v1beta1.WorkloadNetwork, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.WorkloadNetwork, error)
- List(opts v1.ListOptions) (*v1beta1.WorkloadNetworkList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.WorkloadNetwork, err error)
- WorkloadNetworkExpansion
-}
-
-// workloadNetworks implements WorkloadNetworkInterface
-type workloadNetworks struct {
- client rest.Interface
- ns string
-}
-
-// newWorkloadNetworks returns a WorkloadNetworks
-func newWorkloadNetworks(c *ResourceV1beta1Client, namespace string) *workloadNetworks {
- return &workloadNetworks{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the workloadNetwork, and returns the corresponding workloadNetwork object, and an error if there is any.
-func (c *workloadNetworks) Get(name string, options v1.GetOptions) (result *v1beta1.WorkloadNetwork, err error) {
- result = &v1beta1.WorkloadNetwork{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloadnetworks").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of WorkloadNetworks that match those selectors.
-func (c *workloadNetworks) List(opts v1.ListOptions) (result *v1beta1.WorkloadNetworkList, err error) {
- result = &v1beta1.WorkloadNetworkList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloadnetworks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested workloadNetworks.
-func (c *workloadNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("workloadnetworks").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a workloadNetwork and creates it. Returns the server's representation of the workloadNetwork, and an error, if there is any.
-func (c *workloadNetworks) Create(workloadNetwork *v1beta1.WorkloadNetwork) (result *v1beta1.WorkloadNetwork, err error) {
- result = &v1beta1.WorkloadNetwork{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("workloadnetworks").
- Body(workloadNetwork).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a workloadNetwork and updates it. Returns the server's representation of the workloadNetwork, and an error, if there is any.
-func (c *workloadNetworks) Update(workloadNetwork *v1beta1.WorkloadNetwork) (result *v1beta1.WorkloadNetwork, err error) {
- result = &v1beta1.WorkloadNetwork{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("workloadnetworks").
- Name(workloadNetwork.Name).
- Body(workloadNetwork).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the workloadNetwork and deletes it. Returns an error if one occurs.
-func (c *workloadNetworks) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloadnetworks").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *workloadNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloadnetworks").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched workloadNetwork.
-func (c *workloadNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.WorkloadNetwork, err error) {
- result = &v1beta1.WorkloadNetwork{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("workloadnetworks").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/istio.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/istio.go
deleted file mode 100644
index f3fd71a79..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/servicemesh/v1alpha1/istio.go
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// IstiosGetter has a method to return a IstioInterface.
-// A group's client should implement this interface.
-type IstiosGetter interface {
- Istios() IstioInterface
-}
-
-// IstioInterface has methods to work with Istio resources.
-type IstioInterface interface {
- Create(*v1alpha1.Istio) (*v1alpha1.Istio, error)
- Update(*v1alpha1.Istio) (*v1alpha1.Istio, error)
- UpdateStatus(*v1alpha1.Istio) (*v1alpha1.Istio, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Istio, error)
- List(opts v1.ListOptions) (*v1alpha1.IstioList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Istio, err error)
- IstioExpansion
-}
-
-// istios implements IstioInterface
-type istios struct {
- client rest.Interface
-}
-
-// newIstios returns a Istios
-func newIstios(c *ServicemeshV1alpha1Client) *istios {
- return &istios{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the istio, and returns the corresponding istio object, and an error if there is any.
-func (c *istios) Get(name string, options v1.GetOptions) (result *v1alpha1.Istio, err error) {
- result = &v1alpha1.Istio{}
- err = c.client.Get().
- Resource("istios").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Istios that match those selectors.
-func (c *istios) List(opts v1.ListOptions) (result *v1alpha1.IstioList, err error) {
- result = &v1alpha1.IstioList{}
- err = c.client.Get().
- Resource("istios").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested istios.
-func (c *istios) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("istios").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a istio and creates it. Returns the server's representation of the istio, and an error, if there is any.
-func (c *istios) Create(istio *v1alpha1.Istio) (result *v1alpha1.Istio, err error) {
- result = &v1alpha1.Istio{}
- err = c.client.Post().
- Resource("istios").
- Body(istio).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a istio and updates it. Returns the server's representation of the istio, and an error, if there is any.
-func (c *istios) Update(istio *v1alpha1.Istio) (result *v1alpha1.Istio, err error) {
- result = &v1alpha1.Istio{}
- err = c.client.Put().
- Resource("istios").
- Name(istio.Name).
- Body(istio).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *istios) UpdateStatus(istio *v1alpha1.Istio) (result *v1alpha1.Istio, err error) {
- result = &v1alpha1.Istio{}
- err = c.client.Put().
- Resource("istios").
- Name(istio.Name).
- SubResource("status").
- Body(istio).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the istio and deletes it. Returns an error if one occurs.
-func (c *istios) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("istios").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *istios) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("istios").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched istio.
-func (c *istios) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Istio, err error) {
- result = &v1alpha1.Istio{}
- err = c.client.Patch(pt).
- Resource("istios").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/scene.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/scene.go
deleted file mode 100644
index 27affa003..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/scene.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ScenesGetter has a method to return a SceneInterface.
-// A group's client should implement this interface.
-type ScenesGetter interface {
- Scenes(namespace string) SceneInterface
-}
-
-// SceneInterface has methods to work with Scene resources.
-type SceneInterface interface {
- Create(*v1alpha1.Scene) (*v1alpha1.Scene, error)
- Update(*v1alpha1.Scene) (*v1alpha1.Scene, error)
- UpdateStatus(*v1alpha1.Scene) (*v1alpha1.Scene, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Scene, error)
- List(opts v1.ListOptions) (*v1alpha1.SceneList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Scene, err error)
- SceneExpansion
-}
-
-// scenes implements SceneInterface
-type scenes struct {
- client rest.Interface
- ns string
-}
-
-// newScenes returns a Scenes
-func newScenes(c *ServingV1alpha1Client, namespace string) *scenes {
- return &scenes{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the scene, and returns the corresponding scene object, and an error if there is any.
-func (c *scenes) Get(name string, options v1.GetOptions) (result *v1alpha1.Scene, err error) {
- result = &v1alpha1.Scene{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("scenes").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Scenes that match those selectors.
-func (c *scenes) List(opts v1.ListOptions) (result *v1alpha1.SceneList, err error) {
- result = &v1alpha1.SceneList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("scenes").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested scenes.
-func (c *scenes) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("scenes").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a scene and creates it. Returns the server's representation of the scene, and an error, if there is any.
-func (c *scenes) Create(scene *v1alpha1.Scene) (result *v1alpha1.Scene, err error) {
- result = &v1alpha1.Scene{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("scenes").
- Body(scene).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a scene and updates it. Returns the server's representation of the scene, and an error, if there is any.
-func (c *scenes) Update(scene *v1alpha1.Scene) (result *v1alpha1.Scene, err error) {
- result = &v1alpha1.Scene{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("scenes").
- Name(scene.Name).
- Body(scene).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *scenes) UpdateStatus(scene *v1alpha1.Scene) (result *v1alpha1.Scene, err error) {
- result = &v1alpha1.Scene{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("scenes").
- Name(scene.Name).
- SubResource("status").
- Body(scene).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the scene and deletes it. Returns an error if one occurs.
-func (c *scenes) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("scenes").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *scenes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("scenes").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched scene.
-func (c *scenes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Scene, err error) {
- result = &v1alpha1.Scene{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("scenes").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/serving.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/serving.go
deleted file mode 100644
index 38a022662..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/serving/v1alpha1/serving.go
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/serving/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ServingsGetter has a method to return a ServingInterface.
-// A group's client should implement this interface.
-type ServingsGetter interface {
- Servings(namespace string) ServingInterface
-}
-
-// ServingInterface has methods to work with Serving resources.
-type ServingInterface interface {
- Create(*v1alpha1.Serving) (*v1alpha1.Serving, error)
- Update(*v1alpha1.Serving) (*v1alpha1.Serving, error)
- UpdateStatus(*v1alpha1.Serving) (*v1alpha1.Serving, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Serving, error)
- List(opts v1.ListOptions) (*v1alpha1.ServingList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Serving, err error)
- ServingExpansion
-}
-
-// servings implements ServingInterface
-type servings struct {
- client rest.Interface
- ns string
-}
-
-// newServings returns a Servings
-func newServings(c *ServingV1alpha1Client, namespace string) *servings {
- return &servings{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the serving, and returns the corresponding serving object, and an error if there is any.
-func (c *servings) Get(name string, options v1.GetOptions) (result *v1alpha1.Serving, err error) {
- result = &v1alpha1.Serving{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("servings").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Servings that match those selectors.
-func (c *servings) List(opts v1.ListOptions) (result *v1alpha1.ServingList, err error) {
- result = &v1alpha1.ServingList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("servings").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested servings.
-func (c *servings) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("servings").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a serving and creates it. Returns the server's representation of the serving, and an error, if there is any.
-func (c *servings) Create(serving *v1alpha1.Serving) (result *v1alpha1.Serving, err error) {
- result = &v1alpha1.Serving{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("servings").
- Body(serving).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a serving and updates it. Returns the server's representation of the serving, and an error, if there is any.
-func (c *servings) Update(serving *v1alpha1.Serving) (result *v1alpha1.Serving, err error) {
- result = &v1alpha1.Serving{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("servings").
- Name(serving.Name).
- Body(serving).
- Do().
- Into(result)
- return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-
-func (c *servings) UpdateStatus(serving *v1alpha1.Serving) (result *v1alpha1.Serving, err error) {
- result = &v1alpha1.Serving{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("servings").
- Name(serving.Name).
- SubResource("status").
- Body(serving).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the serving and deletes it. Returns an error if one occurs.
-func (c *servings) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("servings").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *servings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("servings").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched serving.
-func (c *servings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Serving, err error) {
- result = &v1alpha1.Serving{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("servings").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/clusterquota.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/clusterquota.go
deleted file mode 100644
index 3b8445349..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/clusterquota.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// ClusterQuotasGetter has a method to return a ClusterQuotaInterface.
-// A group's client should implement this interface.
-type ClusterQuotasGetter interface {
- ClusterQuotas() ClusterQuotaInterface
-}
-
-// ClusterQuotaInterface has methods to work with ClusterQuota resources.
-type ClusterQuotaInterface interface {
- Create(*v1alpha1.ClusterQuota) (*v1alpha1.ClusterQuota, error)
- Update(*v1alpha1.ClusterQuota) (*v1alpha1.ClusterQuota, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.ClusterQuota, error)
- List(opts v1.ListOptions) (*v1alpha1.ClusterQuotaList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterQuota, err error)
- ClusterQuotaExpansion
-}
-
-// clusterQuotas implements ClusterQuotaInterface
-type clusterQuotas struct {
- client rest.Interface
-}
-
-// newClusterQuotas returns a ClusterQuotas
-func newClusterQuotas(c *TenantV1alpha1Client) *clusterQuotas {
- return &clusterQuotas{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the clusterQuota, and returns the corresponding clusterQuota object, and an error if there is any.
-func (c *clusterQuotas) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterQuota, err error) {
- result = &v1alpha1.ClusterQuota{}
- err = c.client.Get().
- Resource("clusterquotas").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of ClusterQuotas that match those selectors.
-func (c *clusterQuotas) List(opts v1.ListOptions) (result *v1alpha1.ClusterQuotaList, err error) {
- result = &v1alpha1.ClusterQuotaList{}
- err = c.client.Get().
- Resource("clusterquotas").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested clusterQuotas.
-func (c *clusterQuotas) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("clusterquotas").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a clusterQuota and creates it. Returns the server's representation of the clusterQuota, and an error, if there is any.
-func (c *clusterQuotas) Create(clusterQuota *v1alpha1.ClusterQuota) (result *v1alpha1.ClusterQuota, err error) {
- result = &v1alpha1.ClusterQuota{}
- err = c.client.Post().
- Resource("clusterquotas").
- Body(clusterQuota).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a clusterQuota and updates it. Returns the server's representation of the clusterQuota, and an error, if there is any.
-func (c *clusterQuotas) Update(clusterQuota *v1alpha1.ClusterQuota) (result *v1alpha1.ClusterQuota, err error) {
- result = &v1alpha1.ClusterQuota{}
- err = c.client.Put().
- Resource("clusterquotas").
- Name(clusterQuota.Name).
- Body(clusterQuota).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the clusterQuota and deletes it. Returns an error if one occurs.
-func (c *clusterQuotas) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("clusterquotas").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *clusterQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("clusterquotas").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched clusterQuota.
-func (c *clusterQuotas) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterQuota, err error) {
- result = &v1alpha1.ClusterQuota{}
- err = c.client.Patch(pt).
- Resource("clusterquotas").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/partition.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/partition.go
deleted file mode 100644
index 56fd01c2d..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/partition.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// PartitionsGetter has a method to return a PartitionInterface.
-// A group's client should implement this interface.
-type PartitionsGetter interface {
- Partitions() PartitionInterface
-}
-
-// PartitionInterface has methods to work with Partition resources.
-type PartitionInterface interface {
- Create(*v1alpha1.Partition) (*v1alpha1.Partition, error)
- Update(*v1alpha1.Partition) (*v1alpha1.Partition, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Partition, error)
- List(opts v1.ListOptions) (*v1alpha1.PartitionList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Partition, err error)
- PartitionExpansion
-}
-
-// partitions implements PartitionInterface
-type partitions struct {
- client rest.Interface
-}
-
-// newPartitions returns a Partitions
-func newPartitions(c *TenantV1alpha1Client) *partitions {
- return &partitions{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the partition, and returns the corresponding partition object, and an error if there is any.
-func (c *partitions) Get(name string, options v1.GetOptions) (result *v1alpha1.Partition, err error) {
- result = &v1alpha1.Partition{}
- err = c.client.Get().
- Resource("partitions").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Partitions that match those selectors.
-func (c *partitions) List(opts v1.ListOptions) (result *v1alpha1.PartitionList, err error) {
- result = &v1alpha1.PartitionList{}
- err = c.client.Get().
- Resource("partitions").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested partitions.
-func (c *partitions) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("partitions").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a partition and creates it. Returns the server's representation of the partition, and an error, if there is any.
-func (c *partitions) Create(partition *v1alpha1.Partition) (result *v1alpha1.Partition, err error) {
- result = &v1alpha1.Partition{}
- err = c.client.Post().
- Resource("partitions").
- Body(partition).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a partition and updates it. Returns the server's representation of the partition, and an error, if there is any.
-func (c *partitions) Update(partition *v1alpha1.Partition) (result *v1alpha1.Partition, err error) {
- result = &v1alpha1.Partition{}
- err = c.client.Put().
- Resource("partitions").
- Name(partition.Name).
- Body(partition).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the partition and deletes it. Returns an error if one occurs.
-func (c *partitions) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("partitions").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *partitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("partitions").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched partition.
-func (c *partitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Partition, err error) {
- result = &v1alpha1.Partition{}
- err = c.client.Patch(pt).
- Resource("partitions").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/tenant.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/tenant.go
deleted file mode 100644
index 402a783d7..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/tenant/v1alpha1/tenant.go
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// TenantsGetter has a method to return a TenantInterface.
-// A group's client should implement this interface.
-type TenantsGetter interface {
- Tenants() TenantInterface
-}
-
-// TenantInterface has methods to work with Tenant resources.
-type TenantInterface interface {
- Create(*v1alpha1.Tenant) (*v1alpha1.Tenant, error)
- Update(*v1alpha1.Tenant) (*v1alpha1.Tenant, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Tenant, error)
- List(opts v1.ListOptions) (*v1alpha1.TenantList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Tenant, err error)
- TenantExpansion
-}
-
-// tenants implements TenantInterface
-type tenants struct {
- client rest.Interface
-}
-
-// newTenants returns a Tenants
-func newTenants(c *TenantV1alpha1Client) *tenants {
- return &tenants{
- client: c.RESTClient(),
- }
-}
-
-// Get takes name of the tenant, and returns the corresponding tenant object, and an error if there is any.
-func (c *tenants) Get(name string, options v1.GetOptions) (result *v1alpha1.Tenant, err error) {
- result = &v1alpha1.Tenant{}
- err = c.client.Get().
- Resource("tenants").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Tenants that match those selectors.
-func (c *tenants) List(opts v1.ListOptions) (result *v1alpha1.TenantList, err error) {
- result = &v1alpha1.TenantList{}
- err = c.client.Get().
- Resource("tenants").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested tenants.
-func (c *tenants) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Resource("tenants").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a tenant and creates it. Returns the server's representation of the tenant, and an error, if there is any.
-func (c *tenants) Create(tenant *v1alpha1.Tenant) (result *v1alpha1.Tenant, err error) {
- result = &v1alpha1.Tenant{}
- err = c.client.Post().
- Resource("tenants").
- Body(tenant).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a tenant and updates it. Returns the server's representation of the tenant, and an error, if there is any.
-func (c *tenants) Update(tenant *v1alpha1.Tenant) (result *v1alpha1.Tenant, err error) {
- result = &v1alpha1.Tenant{}
- err = c.client.Put().
- Resource("tenants").
- Name(tenant.Name).
- Body(tenant).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the tenant and deletes it. Returns an error if one occurs.
-func (c *tenants) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Resource("tenants").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *tenants) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Resource("tenants").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched tenant.
-func (c *tenants) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Tenant, err error) {
- result = &v1alpha1.Tenant{}
- err = c.client.Patch(pt).
- Resource("tenants").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workload.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workload.go
deleted file mode 100644
index 8cea1c4dd..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workload.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// WorkloadsGetter has a method to return a WorkloadInterface.
-// A group's client should implement this interface.
-type WorkloadsGetter interface {
- Workloads(namespace string) WorkloadInterface
-}
-
-// WorkloadInterface has methods to work with Workload resources.
-type WorkloadInterface interface {
- Create(*v1alpha1.Workload) (*v1alpha1.Workload, error)
- Update(*v1alpha1.Workload) (*v1alpha1.Workload, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.Workload, error)
- List(opts v1.ListOptions) (*v1alpha1.WorkloadList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Workload, err error)
- WorkloadExpansion
-}
-
-// workloads implements WorkloadInterface
-type workloads struct {
- client rest.Interface
- ns string
-}
-
-// newWorkloads returns a Workloads
-func newWorkloads(c *WorkloadV1alpha1Client, namespace string) *workloads {
- return &workloads{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the workload, and returns the corresponding workload object, and an error if there is any.
-func (c *workloads) Get(name string, options v1.GetOptions) (result *v1alpha1.Workload, err error) {
- result = &v1alpha1.Workload{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloads").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Workloads that match those selectors.
-func (c *workloads) List(opts v1.ListOptions) (result *v1alpha1.WorkloadList, err error) {
- result = &v1alpha1.WorkloadList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloads").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested workloads.
-func (c *workloads) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("workloads").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a workload and creates it. Returns the server's representation of the workload, and an error, if there is any.
-func (c *workloads) Create(workload *v1alpha1.Workload) (result *v1alpha1.Workload, err error) {
- result = &v1alpha1.Workload{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("workloads").
- Body(workload).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a workload and updates it. Returns the server's representation of the workload, and an error, if there is any.
-func (c *workloads) Update(workload *v1alpha1.Workload) (result *v1alpha1.Workload, err error) {
- result = &v1alpha1.Workload{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("workloads").
- Name(workload.Name).
- Body(workload).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the workload and deletes it. Returns an error if one occurs.
-func (c *workloads) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloads").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *workloads) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloads").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched workload.
-func (c *workloads) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Workload, err error) {
- result = &v1alpha1.Workload{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("workloads").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workload_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workload_client.go
deleted file mode 100644
index b5d373961..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workload_client.go
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type WorkloadV1alpha1Interface interface {
- RESTClient() rest.Interface
- WorkloadsGetter
- WorkloadRevisionsGetter
-}
-
-// WorkloadV1alpha1Client is used to interact with features provided by the workload.caicloud.io group.
-type WorkloadV1alpha1Client struct {
- restClient rest.Interface
-}
-
-func (c *WorkloadV1alpha1Client) Workloads(namespace string) WorkloadInterface {
- return newWorkloads(c, namespace)
-}
-
-func (c *WorkloadV1alpha1Client) WorkloadRevisions(namespace string) WorkloadRevisionInterface {
- return newWorkloadRevisions(c, namespace)
-}
-
-// NewForConfig creates a new WorkloadV1alpha1Client for the given config.
-func NewForConfig(c *rest.Config) (*WorkloadV1alpha1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &WorkloadV1alpha1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new WorkloadV1alpha1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *WorkloadV1alpha1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new WorkloadV1alpha1Client for the given RESTClient.
-func New(c rest.Interface) *WorkloadV1alpha1Client {
- return &WorkloadV1alpha1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1alpha1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *WorkloadV1alpha1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workloadrevision.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workloadrevision.go
deleted file mode 100644
index 4e43acecf..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1alpha1/workloadrevision.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1alpha1 "github.com/caicloud/clientset/pkg/apis/workload/v1alpha1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// WorkloadRevisionsGetter has a method to return a WorkloadRevisionInterface.
-// A group's client should implement this interface.
-type WorkloadRevisionsGetter interface {
- WorkloadRevisions(namespace string) WorkloadRevisionInterface
-}
-
-// WorkloadRevisionInterface has methods to work with WorkloadRevision resources.
-type WorkloadRevisionInterface interface {
- Create(*v1alpha1.WorkloadRevision) (*v1alpha1.WorkloadRevision, error)
- Update(*v1alpha1.WorkloadRevision) (*v1alpha1.WorkloadRevision, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1alpha1.WorkloadRevision, error)
- List(opts v1.ListOptions) (*v1alpha1.WorkloadRevisionList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.WorkloadRevision, err error)
- WorkloadRevisionExpansion
-}
-
-// workloadRevisions implements WorkloadRevisionInterface
-type workloadRevisions struct {
- client rest.Interface
- ns string
-}
-
-// newWorkloadRevisions returns a WorkloadRevisions
-func newWorkloadRevisions(c *WorkloadV1alpha1Client, namespace string) *workloadRevisions {
- return &workloadRevisions{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the workloadRevision, and returns the corresponding workloadRevision object, and an error if there is any.
-func (c *workloadRevisions) Get(name string, options v1.GetOptions) (result *v1alpha1.WorkloadRevision, err error) {
- result = &v1alpha1.WorkloadRevision{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloadrevisions").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of WorkloadRevisions that match those selectors.
-func (c *workloadRevisions) List(opts v1.ListOptions) (result *v1alpha1.WorkloadRevisionList, err error) {
- result = &v1alpha1.WorkloadRevisionList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloadrevisions").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested workloadRevisions.
-func (c *workloadRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("workloadrevisions").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a workloadRevision and creates it. Returns the server's representation of the workloadRevision, and an error, if there is any.
-func (c *workloadRevisions) Create(workloadRevision *v1alpha1.WorkloadRevision) (result *v1alpha1.WorkloadRevision, err error) {
- result = &v1alpha1.WorkloadRevision{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("workloadrevisions").
- Body(workloadRevision).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a workloadRevision and updates it. Returns the server's representation of the workloadRevision, and an error, if there is any.
-func (c *workloadRevisions) Update(workloadRevision *v1alpha1.WorkloadRevision) (result *v1alpha1.WorkloadRevision, err error) {
- result = &v1alpha1.WorkloadRevision{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("workloadrevisions").
- Name(workloadRevision.Name).
- Body(workloadRevision).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the workloadRevision and deletes it. Returns an error if one occurs.
-func (c *workloadRevisions) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloadrevisions").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *workloadRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloadrevisions").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched workloadRevision.
-func (c *workloadRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.WorkloadRevision, err error) {
- result = &v1alpha1.WorkloadRevision{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("workloadrevisions").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/workload.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/workload.go
deleted file mode 100644
index bd446faf6..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/workload.go
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- scheme "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- types "k8s.io/apimachinery/pkg/types"
- watch "k8s.io/apimachinery/pkg/watch"
- rest "k8s.io/client-go/rest"
-)
-
-// WorkloadsGetter has a method to return a WorkloadInterface.
-// A group's client should implement this interface.
-type WorkloadsGetter interface {
- Workloads(namespace string) WorkloadInterface
-}
-
-// WorkloadInterface has methods to work with Workload resources.
-type WorkloadInterface interface {
- Create(*v1beta1.Workload) (*v1beta1.Workload, error)
- Update(*v1beta1.Workload) (*v1beta1.Workload, error)
- Delete(name string, options *v1.DeleteOptions) error
- DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
- Get(name string, options v1.GetOptions) (*v1beta1.Workload, error)
- List(opts v1.ListOptions) (*v1beta1.WorkloadList, error)
- Watch(opts v1.ListOptions) (watch.Interface, error)
- Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Workload, err error)
- WorkloadExpansion
-}
-
-// workloads implements WorkloadInterface
-type workloads struct {
- client rest.Interface
- ns string
-}
-
-// newWorkloads returns a Workloads
-func newWorkloads(c *WorkloadV1beta1Client, namespace string) *workloads {
- return &workloads{
- client: c.RESTClient(),
- ns: namespace,
- }
-}
-
-// Get takes name of the workload, and returns the corresponding workload object, and an error if there is any.
-func (c *workloads) Get(name string, options v1.GetOptions) (result *v1beta1.Workload, err error) {
- result = &v1beta1.Workload{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloads").
- Name(name).
- VersionedParams(&options, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// List takes label and field selectors, and returns the list of Workloads that match those selectors.
-func (c *workloads) List(opts v1.ListOptions) (result *v1beta1.WorkloadList, err error) {
- result = &v1beta1.WorkloadList{}
- err = c.client.Get().
- Namespace(c.ns).
- Resource("workloads").
- VersionedParams(&opts, scheme.ParameterCodec).
- Do().
- Into(result)
- return
-}
-
-// Watch returns a watch.Interface that watches the requested workloads.
-func (c *workloads) Watch(opts v1.ListOptions) (watch.Interface, error) {
- opts.Watch = true
- return c.client.Get().
- Namespace(c.ns).
- Resource("workloads").
- VersionedParams(&opts, scheme.ParameterCodec).
- Watch()
-}
-
-// Create takes the representation of a workload and creates it. Returns the server's representation of the workload, and an error, if there is any.
-func (c *workloads) Create(workload *v1beta1.Workload) (result *v1beta1.Workload, err error) {
- result = &v1beta1.Workload{}
- err = c.client.Post().
- Namespace(c.ns).
- Resource("workloads").
- Body(workload).
- Do().
- Into(result)
- return
-}
-
-// Update takes the representation of a workload and updates it. Returns the server's representation of the workload, and an error, if there is any.
-func (c *workloads) Update(workload *v1beta1.Workload) (result *v1beta1.Workload, err error) {
- result = &v1beta1.Workload{}
- err = c.client.Put().
- Namespace(c.ns).
- Resource("workloads").
- Name(workload.Name).
- Body(workload).
- Do().
- Into(result)
- return
-}
-
-// Delete takes name of the workload and deletes it. Returns an error if one occurs.
-func (c *workloads) Delete(name string, options *v1.DeleteOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloads").
- Name(name).
- Body(options).
- Do().
- Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *workloads) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
- return c.client.Delete().
- Namespace(c.ns).
- Resource("workloads").
- VersionedParams(&listOptions, scheme.ParameterCodec).
- Body(options).
- Do().
- Error()
-}
-
-// Patch applies the patch and returns the patched workload.
-func (c *workloads) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Workload, err error) {
- result = &v1beta1.Workload{}
- err = c.client.Patch(pt).
- Namespace(c.ns).
- Resource("workloads").
- SubResource(subresources...).
- Name(name).
- Body(data).
- Do().
- Into(result)
- return
-}
diff --git a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/workload_client.go b/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/workload_client.go
deleted file mode 100644
index 597e3323e..000000000
--- a/vendor/github.com/caicloud/clientset/kubernetes/typed/workload/v1beta1/workload_client.go
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- "github.com/caicloud/clientset/kubernetes/scheme"
- v1beta1 "github.com/caicloud/clientset/pkg/apis/workload/v1beta1"
- serializer "k8s.io/apimachinery/pkg/runtime/serializer"
- rest "k8s.io/client-go/rest"
-)
-
-type WorkloadV1beta1Interface interface {
- RESTClient() rest.Interface
- WorkloadsGetter
-}
-
-// WorkloadV1beta1Client is used to interact with features provided by the workload.caicloud.io group.
-type WorkloadV1beta1Client struct {
- restClient rest.Interface
-}
-
-func (c *WorkloadV1beta1Client) Workloads(namespace string) WorkloadInterface {
- return newWorkloads(c, namespace)
-}
-
-// NewForConfig creates a new WorkloadV1beta1Client for the given config.
-func NewForConfig(c *rest.Config) (*WorkloadV1beta1Client, error) {
- config := *c
- if err := setConfigDefaults(&config); err != nil {
- return nil, err
- }
- client, err := rest.RESTClientFor(&config)
- if err != nil {
- return nil, err
- }
- return &WorkloadV1beta1Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new WorkloadV1beta1Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *WorkloadV1beta1Client {
- client, err := NewForConfig(c)
- if err != nil {
- panic(err)
- }
- return client
-}
-
-// New creates a new WorkloadV1beta1Client for the given RESTClient.
-func New(c rest.Interface) *WorkloadV1beta1Client {
- return &WorkloadV1beta1Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
- gv := v1beta1.SchemeGroupVersion
- config.GroupVersion = &gv
- config.APIPath = "/apis"
- config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
-
- if config.UserAgent == "" {
- config.UserAgent = rest.DefaultKubernetesUserAgent()
- }
-
- return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *WorkloadV1beta1Client) RESTClient() rest.Interface {
- if c == nil {
- return nil
- }
- return c.restClient
-}
diff --git a/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/alertingrule.go b/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/alertingrule.go
new file mode 100644
index 000000000..c1b9c54f1
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/alertingrule.go
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by lister-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ "k8s.io/apimachinery/pkg/api/errors"
+ "k8s.io/apimachinery/pkg/labels"
+ "k8s.io/client-go/tools/cache"
+)
+
+// AlertingRuleLister helps list AlertingRules.
+type AlertingRuleLister interface {
+ // List lists all AlertingRules in the indexer.
+ List(selector labels.Selector) (ret []*v1beta1.AlertingRule, err error)
+ // Get retrieves the AlertingRule from the index for a given name.
+ Get(name string) (*v1beta1.AlertingRule, error)
+ AlertingRuleListerExpansion
+}
+
+// alertingRuleLister implements the AlertingRuleLister interface.
+type alertingRuleLister struct {
+ indexer cache.Indexer
+}
+
+// NewAlertingRuleLister returns a new AlertingRuleLister.
+func NewAlertingRuleLister(indexer cache.Indexer) AlertingRuleLister {
+ return &alertingRuleLister{indexer: indexer}
+}
+
+// List lists all AlertingRules in the indexer.
+func (s *alertingRuleLister) List(selector labels.Selector) (ret []*v1beta1.AlertingRule, err error) {
+ err = cache.ListAll(s.indexer, selector, func(m interface{}) {
+ ret = append(ret, m.(*v1beta1.AlertingRule))
+ })
+ return ret, err
+}
+
+// Get retrieves the AlertingRule from the index for a given name.
+func (s *alertingRuleLister) Get(name string) (*v1beta1.AlertingRule, error) {
+ obj, exists, err := s.indexer.GetByKey(name)
+ if err != nil {
+ return nil, err
+ }
+ if !exists {
+ return nil, errors.NewNotFound(v1beta1.Resource("alertingrule"), name)
+ }
+ return obj.(*v1beta1.AlertingRule), nil
+}
diff --git a/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/alertingsubrule.go
new file mode 100644
index 000000000..bfc8d5d9c
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/alertingsubrule.go
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by lister-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ v1beta1 "github.com/caicloud/clientset/pkg/apis/alerting/v1beta1"
+ "k8s.io/apimachinery/pkg/api/errors"
+ "k8s.io/apimachinery/pkg/labels"
+ "k8s.io/client-go/tools/cache"
+)
+
+// AlertingSubRuleLister helps list AlertingSubRules.
+type AlertingSubRuleLister interface {
+ // List lists all AlertingSubRules in the indexer.
+ List(selector labels.Selector) (ret []*v1beta1.AlertingSubRule, err error)
+ // Get retrieves the AlertingSubRule from the index for a given name.
+ Get(name string) (*v1beta1.AlertingSubRule, error)
+ AlertingSubRuleListerExpansion
+}
+
+// alertingSubRuleLister implements the AlertingSubRuleLister interface.
+type alertingSubRuleLister struct {
+ indexer cache.Indexer
+}
+
+// NewAlertingSubRuleLister returns a new AlertingSubRuleLister.
+func NewAlertingSubRuleLister(indexer cache.Indexer) AlertingSubRuleLister {
+ return &alertingSubRuleLister{indexer: indexer}
+}
+
+// List lists all AlertingSubRules in the indexer.
+func (s *alertingSubRuleLister) List(selector labels.Selector) (ret []*v1beta1.AlertingSubRule, err error) {
+ err = cache.ListAll(s.indexer, selector, func(m interface{}) {
+ ret = append(ret, m.(*v1beta1.AlertingSubRule))
+ })
+ return ret, err
+}
+
+// Get retrieves the AlertingSubRule from the index for a given name.
+func (s *alertingSubRuleLister) Get(name string) (*v1beta1.AlertingSubRule, error) {
+ obj, exists, err := s.indexer.GetByKey(name)
+ if err != nil {
+ return nil, err
+ }
+ if !exists {
+ return nil, errors.NewNotFound(v1beta1.Resource("alertingsubrule"), name)
+ }
+ return obj.(*v1beta1.AlertingSubRule), nil
+}
diff --git a/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/expansion_generated.go b/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/expansion_generated.go
new file mode 100644
index 000000000..35fa095d7
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/listers/alerting/v1beta1/expansion_generated.go
@@ -0,0 +1,15 @@
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by lister-gen. DO NOT EDIT.
+
+package v1beta1
+
+// AlertingRuleListerExpansion allows custom methods to be added to
+// AlertingRuleLister.
+type AlertingRuleListerExpansion interface{}
+
+// AlertingSubRuleListerExpansion allows custom methods to be added to
+// AlertingSubRuleLister.
+type AlertingSubRuleListerExpansion interface{}
diff --git a/vendor/github.com/caicloud/clientset/listers/apiextensions/v1beta1/customresourcedefinition.go b/vendor/github.com/caicloud/clientset/listers/apiextensions/v1beta1/customresourcedefinition.go
deleted file mode 100644
index 936e8681a..000000000
--- a/vendor/github.com/caicloud/clientset/listers/apiextensions/v1beta1/customresourcedefinition.go
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- v1beta1 "github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1"
- "k8s.io/apimachinery/pkg/api/errors"
- "k8s.io/apimachinery/pkg/labels"
- "k8s.io/client-go/tools/cache"
-)
-
-// CustomResourceDefinitionLister helps list CustomResourceDefinitions.
-type CustomResourceDefinitionLister interface {
- // List lists all CustomResourceDefinitions in the indexer.
- List(selector labels.Selector) (ret []*v1beta1.CustomResourceDefinition, err error)
- // Get retrieves the CustomResourceDefinition from the index for a given name.
- Get(name string) (*v1beta1.CustomResourceDefinition, error)
- CustomResourceDefinitionListerExpansion
-}
-
-// customResourceDefinitionLister implements the CustomResourceDefinitionLister interface.
-type customResourceDefinitionLister struct {
- indexer cache.Indexer
-}
-
-// NewCustomResourceDefinitionLister returns a new CustomResourceDefinitionLister.
-func NewCustomResourceDefinitionLister(indexer cache.Indexer) CustomResourceDefinitionLister {
- return &customResourceDefinitionLister{indexer: indexer}
-}
-
-// List lists all CustomResourceDefinitions in the indexer.
-func (s *customResourceDefinitionLister) List(selector labels.Selector) (ret []*v1beta1.CustomResourceDefinition, err error) {
- err = cache.ListAll(s.indexer, selector, func(m interface{}) {
- ret = append(ret, m.(*v1beta1.CustomResourceDefinition))
- })
- return ret, err
-}
-
-// Get retrieves the CustomResourceDefinition from the index for a given name.
-func (s *customResourceDefinitionLister) Get(name string) (*v1beta1.CustomResourceDefinition, error) {
- obj, exists, err := s.indexer.GetByKey(name)
- if err != nil {
- return nil, err
- }
- if !exists {
- return nil, errors.NewNotFound(v1beta1.Resource("customresourcedefinition"), name)
- }
- return obj.(*v1beta1.CustomResourceDefinition), nil
-}
diff --git a/vendor/github.com/caicloud/clientset/listers/apiextensions/v1beta1/expansion_generated.go b/vendor/github.com/caicloud/clientset/listers/apiextensions/v1beta1/expansion_generated.go
deleted file mode 100644
index 7b58f2072..000000000
--- a/vendor/github.com/caicloud/clientset/listers/apiextensions/v1beta1/expansion_generated.go
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1beta1
-
-// CustomResourceDefinitionListerExpansion allows custom methods to be added to
-// CustomResourceDefinitionLister.
-type CustomResourceDefinitionListerExpansion interface{}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1/zz_generated.deepcopy.go
index c7d7f3038..e33a4e3ed 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha1/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *AlertingRule) DeepCopyObject() runtime.Object {
func (in *AlertingRuleList) DeepCopyInto(out *AlertingRuleList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]AlertingRule, len(*in))
@@ -163,7 +163,7 @@ func (in *AlertingSubRule) DeepCopyObject() runtime.Object {
func (in *AlertingSubRuleList) DeepCopyInto(out *AlertingSubRuleList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]AlertingSubRule, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2/zz_generated.deepcopy.go
index a177eb294..30c074ea3 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1alpha2/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *AlertingRule) DeepCopyObject() runtime.Object {
func (in *AlertingRuleList) DeepCopyInto(out *AlertingRuleList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]AlertingRule, len(*in))
@@ -163,7 +163,7 @@ func (in *AlertingSubRule) DeepCopyObject() runtime.Object {
func (in *AlertingSubRuleList) DeepCopyInto(out *AlertingSubRuleList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]AlertingSubRule, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/alertingrule.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/alertingrule.go
new file mode 100644
index 000000000..cc5e95e23
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/alertingrule.go
@@ -0,0 +1,98 @@
+package v1beta1
+
+import (
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// AlertingRule describes an alerting rule. It holds the template for a list of AlertingSubRules and
+// data required to manage and utilize them.
+// All AlertingRule are located in the control cluster.
+type AlertingRule struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ObjectMeta `json:"metadata"`
+ Spec AlertingRuleSpec `json:"spec"`
+ Status AlertingRuleStatus `json:"status"`
+}
+
+// AlertingRuleSpec is the spec for a AlertingRule.
+type AlertingRuleSpec struct {
+ // Template is the template from which the AlertingSubRules should be created.
+ Template *SubRuleTemplate `json:"template"`
+
+ // NotifyTypes is a list of notifying methods to be used when sending notifications. (NotifyType is
+ // defined in NotifyAdmin and managed there)
+ NotifyTypes []string `json:"notifyTypes,omitempty"`
+
+ // ContactGroups is a list of ContactGroup IDs where the alert notifications should go. (ContactGroup is
+ // defined in NotifyAdmin and managed there)
+ ContactGroups []string `json:"contactGroups,omitempty"`
+}
+
+// AlertingRuleStatus describes the status of a AlertingRule.
+type AlertingRuleStatus struct {
+ Phase AlertingRulePhase `json:"phase"`
+
+ // PhaseTimestamp is the time when the rule changed to its current phase.
+ PhaseTimestamp *metav1.Time `json:"phaseTimestamp"`
+
+ // FiringSubRules is a list of firing sub rules that should be handled.
+ FiringSubRules []AlertingSubRule `json:"firingSubRules,omitempty"`
+}
+
+// SubRuleTemplate is the template from which the AlertingSubRules should be created. An example of
+// such template can be:
+//{
+// "target": [
+// {
+// "kind": "Namespace",
+// "cluster": "compass-stack",
+// "namespace": "default",
+// },
+// ],
+// "kind": "Metric",
+// "rules": [
+// {
+// "comparator": ">",
+// "threshold": "1073741824",
+// "comparable": "sum(app:container_memory_rss{namespace=\"default\"}) by (pod_name)",
+// "range": 300,
+// "level": 0,
+// "notify": false
+// },
+// {
+// "comparator": ">",
+// "threshold": "2147483648",
+// "comparable": "sum(app:container_memory_rss{namespace=\"default\"}) by (pod_name)",
+// "range": 300,
+// "level": 1,
+// "notify": true
+// }
+// ]
+//}
+type SubRuleTemplate struct {
+ // All sub rules created from this template share this `Target` field
+ Target ObjectReferences `json:"target"`
+
+ // All sub rules created from this template share this `Kind` field
+ Kind AlertingRuleKind `json:"kind"`
+
+ // CheckInterval is the interval to recheck the firing condition.
+ CheckInterval string `json:"checkInterval,omitempty"`
+
+ // A list of specs for the AlertingSubRules under the AlertingRule. The `Target` and `Kind` field
+ // of these specs should be nil (if they are not, they should be ignored).
+ Rules []AlertingSubRuleSpec `json:"rules"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// AlertingRuleList describes a list of AlertingRuleList.
+type AlertingRuleList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata"`
+ Items []AlertingRule `json:"items"`
+}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/alertingsubrule.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/alertingsubrule.go
new file mode 100644
index 000000000..b05010f37
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/alertingsubrule.go
@@ -0,0 +1,79 @@
+package v1beta1
+
+import (
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+// +genclient
+// +genclient:nonNamespaced
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// AlertingSubRule describes a sub rule of an AlertingRule. A sub rules represents one level of
+// an alerting rule. Its `metadata.ownerReference` points to the AleringRule that created it.
+// All AlertingSubRule are located in the control cluster.
+type AlertingSubRule struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ObjectMeta `json:"metadata"`
+ Spec AlertingSubRuleSpec `json:"spec"`
+ Status AlertingSubRuleStatus `json:"status,omitempty"`
+}
+
+// AlertingSubRuleSpec is the spec for an AlertingSubRule
+type AlertingSubRuleSpec struct {
+ // Condition describes condition for the rule to go into Firing phase.
+ Condition *FireCondition `json:"condition"`
+
+ // Target describes the target of the rule.
+ Target ObjectReferences `json:"target,omitempty"`
+
+ // CheckInterval is the interval to recheck the firing condition.
+ CheckInterval string `json:"checkInterval,omitempty"`
+
+ // Kind denotes whether this is a log alerting rule or a metric one.
+ Kind AlertingRuleKind `json:"kind"`
+
+ // Level is the severity level of this sub rule. In principle, the lower the number, the less
+ // severe it is; definitions of the levels are subjected to change and thus defined where the
+ // rule is used.
+ Level int `json:"level"`
+
+ // Notify denotes whether or not this sub rules should produce notifications.
+ Notify bool `json:"notify"`
+}
+
+// AlertingSubRuleStatus describes the status of an AlertingSubRule
+type AlertingSubRuleStatus struct {
+ Phase AlertingRulePhase `json:"phase"`
+
+ // PhaseTimestamp is the time when the sub rule changed to its current phase.
+ PhaseTimestamp *metav1.Time `json:"phaseTimestamp"`
+
+ // AlertFingerprint is a unique value that is hashed from other fields of the alerting sub rule
+ // and refreshed it enters the 'Ok' phase. New alerts generated from a alerting sub rule would be
+ // branded with this fingerprint. It is used to identify duplicated and outdated alerts.
+ AlertFingerprint string `json:"alertFingerprint"`
+}
+
+// FireCondition describes the requirements for an alerting rule to go into Firing phase.
+type FireCondition struct {
+ Comparator Comparator `json:"comparator"`
+ Threshold float64 `json:"threshold"`
+
+ // For LogAlertRules, Comparable is the keywords to look for
+ // For MetricAlertRules, Comparable is a Prometheus query
+ Comparable string `json:"comparable"`
+
+ // For LogAlertRules, Range is the time range in which to search the keywords.
+ // For MetricAlertRules, a Prometheus alerting rule must stay pending for at least this amount of time
+ // before it actually fires.
+ Range string `json:"range"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// AlertingSubRuleList describes a list of AlertingSubRules
+type AlertingSubRuleList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata"`
+ Items []AlertingSubRule `json:"items"`
+}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/doc.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/doc.go
new file mode 100644
index 000000000..9c297fc1f
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/doc.go
@@ -0,0 +1,4 @@
+// +k8s:deepcopy-gen=package
+// +groupName=alerting.caicloud.io
+
+package v1beta1
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/register.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/register.go
new file mode 100644
index 000000000..c7ebb2bcf
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/register.go
@@ -0,0 +1,38 @@
+package v1beta1
+
+import (
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/apimachinery/pkg/runtime/schema"
+)
+
+const (
+ // GroupName is the group name use in this package
+ GroupName = "alerting.caicloud.io"
+
+ // GroupVersion is the group version use in this package
+ GroupVersion = "v1beta1"
+)
+
+// SchemeGroupVersion is group version used to register these objects
+var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
+
+// Resource takes an unqualified resource and returns a Group qualified GroupResource
+func Resource(resource string) schema.GroupResource {
+ return SchemeGroupVersion.WithResource(resource).GroupResource()
+}
+
+var (
+ SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
+ AddToScheme = SchemeBuilder.AddToScheme
+)
+
+// Adds the list of known types to api.Scheme.
+func addKnownTypes(scheme *runtime.Scheme) error {
+ scheme.AddKnownTypes(SchemeGroupVersion,
+ &AlertingSubRule{},
+ &AlertingRule{},
+ )
+ metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
+ return nil
+}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/types.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/types.go
new file mode 100644
index 000000000..83b32ad95
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/types.go
@@ -0,0 +1,68 @@
+package v1beta1
+
+// AlertingRulePhase is the phase of an alerting rule (of any kind)
+type AlertingRulePhase string
+
+const (
+ // An alerting rule is ok when it is working and not firing.
+ AlertingRulePhaseOk AlertingRulePhase = "OK"
+
+ // An alerting rule is firing when its firing condition has been met.
+ AlertingRulePhaseFiring AlertingRulePhase = "Firing"
+
+ // An alerting rule lost its target when its ObjectReference cannot match any resources.
+ AlertingRulePhaseTargetLost AlertingRulePhase = "TargetLost"
+
+ // An alerting rule can be marked as disabled to disable all its associated functionality.
+ AlertingRulePhaseDisabled AlertingRulePhase = "Disabled"
+)
+
+// Comparator is the comparator used to compare the comparable and threshold of an alerting rule.
+type Comparator string
+
+const (
+ ComparatorGreater Comparator = ">"
+ ComparatorGreaterEqual Comparator = ">="
+ ComparatorLesser Comparator = "<"
+ ComparatorLesserEqual Comparator = "<="
+ ComparatorEqual Comparator = "=="
+ ComparatorNotEqual Comparator = "!="
+)
+
+// AlertingRuleKind denotes the kind of an alerting rule.
+type AlertingRuleKind string
+
+const (
+ LogAlertingRule AlertingRuleKind = "Log"
+ MetricAlertingRule AlertingRuleKind = "Metric"
+)
+
+// ObjectKind describes the kind of resource that an alerting rule or sub rule is targeting.
+type ObjectKind string
+
+const (
+ ObjectKindCluster ObjectKind = "Cluster"
+ ObjectKindNode ObjectKind = "Node"
+ ObjectKindNamespace ObjectKind = "Namespace"
+ ObjectKindApplication ObjectKind = "Application"
+ ObjectKindPod ObjectKind = "Pod"
+ ObjectKindContainer ObjectKind = "Container"
+)
+
+// ObjectReference serves as a filter for resources; an alerting rule would apply itself on
+// the resources that the ObjectReference matches. An ObjectReference is considered valid if
+// and only if the combination of the non-empty fields describe the targeted kind exactly.
+// For example, for `Container` kind, `Cluster`, `Namespace`, `Pod`, and `Container` should
+// contain the appropriate names, and other fields should be empty string.
+type ObjectReference struct {
+ Kind ObjectKind `json:"kind"`
+ Cluster string `json:"cluster,omitempty"`
+ Node string `json:"node,omitempty"`
+ Namespace string `json:"namespace,omitempty"`
+ APP string `json:"app,omitempty"`
+ Pod string `json:"pod,omitempty"`
+ Container string `json:"container,omitempty"`
+}
+
+// ObjectReferences describes a list of ObjectReference
+type ObjectReferences []ObjectReference
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/zz_generated.deepcopy.go
new file mode 100644
index 000000000..51b2145a9
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/zz_generated.deepcopy.go
@@ -0,0 +1,319 @@
+// +build !ignore_autogenerated
+
+/*
+Copyright 2020 caicloud authors. All rights reserved.
+*/
+
+// Code generated by deepcopy-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+ runtime "k8s.io/apimachinery/pkg/runtime"
+)
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingRule) DeepCopyInto(out *AlertingRule) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ in.Status.DeepCopyInto(&out.Status)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingRule.
+func (in *AlertingRule) DeepCopy() *AlertingRule {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingRule)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *AlertingRule) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingRuleList) DeepCopyInto(out *AlertingRuleList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]AlertingRule, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingRuleList.
+func (in *AlertingRuleList) DeepCopy() *AlertingRuleList {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingRuleList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *AlertingRuleList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingRuleSpec) DeepCopyInto(out *AlertingRuleSpec) {
+ *out = *in
+ if in.Template != nil {
+ in, out := &in.Template, &out.Template
+ *out = new(SubRuleTemplate)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.NotifyTypes != nil {
+ in, out := &in.NotifyTypes, &out.NotifyTypes
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ if in.ContactGroups != nil {
+ in, out := &in.ContactGroups, &out.ContactGroups
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingRuleSpec.
+func (in *AlertingRuleSpec) DeepCopy() *AlertingRuleSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingRuleSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingRuleStatus) DeepCopyInto(out *AlertingRuleStatus) {
+ *out = *in
+ if in.PhaseTimestamp != nil {
+ in, out := &in.PhaseTimestamp, &out.PhaseTimestamp
+ *out = (*in).DeepCopy()
+ }
+ if in.FiringSubRules != nil {
+ in, out := &in.FiringSubRules, &out.FiringSubRules
+ *out = make([]AlertingSubRule, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingRuleStatus.
+func (in *AlertingRuleStatus) DeepCopy() *AlertingRuleStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingRuleStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingSubRule) DeepCopyInto(out *AlertingSubRule) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ in.Status.DeepCopyInto(&out.Status)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingSubRule.
+func (in *AlertingSubRule) DeepCopy() *AlertingSubRule {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingSubRule)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *AlertingSubRule) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingSubRuleList) DeepCopyInto(out *AlertingSubRuleList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]AlertingSubRule, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingSubRuleList.
+func (in *AlertingSubRuleList) DeepCopy() *AlertingSubRuleList {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingSubRuleList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *AlertingSubRuleList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingSubRuleSpec) DeepCopyInto(out *AlertingSubRuleSpec) {
+ *out = *in
+ if in.Condition != nil {
+ in, out := &in.Condition, &out.Condition
+ *out = new(FireCondition)
+ **out = **in
+ }
+ if in.Target != nil {
+ in, out := &in.Target, &out.Target
+ *out = make(ObjectReferences, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingSubRuleSpec.
+func (in *AlertingSubRuleSpec) DeepCopy() *AlertingSubRuleSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingSubRuleSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AlertingSubRuleStatus) DeepCopyInto(out *AlertingSubRuleStatus) {
+ *out = *in
+ if in.PhaseTimestamp != nil {
+ in, out := &in.PhaseTimestamp, &out.PhaseTimestamp
+ *out = (*in).DeepCopy()
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingSubRuleStatus.
+func (in *AlertingSubRuleStatus) DeepCopy() *AlertingSubRuleStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(AlertingSubRuleStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *FireCondition) DeepCopyInto(out *FireCondition) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FireCondition.
+func (in *FireCondition) DeepCopy() *FireCondition {
+ if in == nil {
+ return nil
+ }
+ out := new(FireCondition)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ObjectReference) DeepCopyInto(out *ObjectReference) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
+func (in *ObjectReference) DeepCopy() *ObjectReference {
+ if in == nil {
+ return nil
+ }
+ out := new(ObjectReference)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in ObjectReferences) DeepCopyInto(out *ObjectReferences) {
+ {
+ in := &in
+ *out = make(ObjectReferences, len(*in))
+ copy(*out, *in)
+ return
+ }
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReferences.
+func (in ObjectReferences) DeepCopy() ObjectReferences {
+ if in == nil {
+ return nil
+ }
+ out := new(ObjectReferences)
+ in.DeepCopyInto(out)
+ return *out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *SubRuleTemplate) DeepCopyInto(out *SubRuleTemplate) {
+ *out = *in
+ if in.Target != nil {
+ in, out := &in.Target, &out.Target
+ *out = make(ObjectReferences, len(*in))
+ copy(*out, *in)
+ }
+ if in.Rules != nil {
+ in, out := &in.Rules, &out.Rules
+ *out = make([]AlertingSubRuleSpec, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubRuleTemplate.
+func (in *SubRuleTemplate) DeepCopy() *SubRuleTemplate {
+ if in == nil {
+ return nil
+ }
+ out := new(SubRuleTemplate)
+ in.DeepCopyInto(out)
+ return out
+}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go b/vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/zz_generated.defaults.go
similarity index 100%
rename from vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go
rename to vendor/github.com/caicloud/clientset/pkg/apis/alerting/v1beta1/zz_generated.defaults.go
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/doc.go b/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/doc.go
deleted file mode 100644
index ca46a392b..000000000
--- a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/doc.go
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2017 Caicloud Inc. All Rights Reserved.
-
-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.
-*/
-
-// +k8s:deepcopy-gen=package
-// +groupName=apiextensions.k8s.io
-package v1beta1
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/register.go b/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/register.go
deleted file mode 100644
index 4cda0a8f6..000000000
--- a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/register.go
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2017 caicloud authors. All rights reserved.
-*/
-
-// This file is copied form github.com/kubernetes/apiextensions-apiserver.
-// If these apis are merged into client-go, delete the file.
-
-package v1beta1
-
-import (
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// GroupName is the group name use in this package
-const GroupName = "apiextensions.k8s.io"
-
-// SchemeGroupVersion is group version used to register these objects
-var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
-
-// Resource takes an unqualified resource and returns back a Group qualified GroupResource
-func Resource(resource string) schema.GroupResource {
- return SchemeGroupVersion.WithResource(resource).GroupResource()
-}
-
-var (
- SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
- AddToScheme = SchemeBuilder.AddToScheme
-)
-
-// Adds the list of known types to api.Scheme.
-func addKnownTypes(scheme *runtime.Scheme) error {
- scheme.AddKnownTypes(SchemeGroupVersion,
- &CustomResourceDefinition{},
- &CustomResourceDefinitionList{},
- )
- // Add the watch version that applies
- metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
- return nil
-}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/types.go b/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/types.go
deleted file mode 100644
index 55556fcb9..000000000
--- a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/types.go
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
-Copyright 2017 caicloud authors. All rights reserved.
-*/
-
-// This file is copied form github.com/kubernetes/apiextensions-apiserver.
-// If these apis are merged into client-go, delete the file.
-
-package v1beta1
-
-import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-// CustomResourceDefinitionSpec describes how a user wants their resource to appear
-type CustomResourceDefinitionSpec struct {
- // Group is the group this resource belongs in
- Group string `json:"group"`
- // Version is the version this resource belongs in
- Version string `json:"version"`
- // Names are the names used to describe this custom resource
- Names CustomResourceDefinitionNames `json:"names"`
-
- // Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced
- Scope ResourceScope `json:"scope"`
-}
-
-// CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
-type CustomResourceDefinitionNames struct {
- // Plural is the plural name of the resource to serve. It must match the name of the CustomResourceDefinition-registration
- // too: plural.group and it must be all lowercase.
- Plural string `json:"plural"`
- // Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased
- Singular string `json:"singular,omitempty"`
- // ShortNames are short names for the resource. It must be all lowercase.
- ShortNames []string `json:"shortNames,omitempty"`
- // Kind is the serialized kind of the resource. It is normally CamelCase and singular.
- Kind string `json:"kind"`
- // ListKind is the serialized kind of the list for this resource. Defaults to List.
- ListKind string `json:"listKind,omitempty"`
-}
-
-// ResourceScope is an enum defining the different scopes available to a custom resource
-type ResourceScope string
-
-const (
- ClusterScoped ResourceScope = "Cluster"
- NamespaceScoped ResourceScope = "Namespaced"
-)
-
-type ConditionStatus string
-
-// These are valid condition statuses. "ConditionTrue" means a resource is in the condition.
-// "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes
-// can't decide if a resource is in the condition or not. In the future, we could add other
-// intermediate conditions, e.g. ConditionDegraded.
-const (
- ConditionTrue ConditionStatus = "True"
- ConditionFalse ConditionStatus = "False"
- ConditionUnknown ConditionStatus = "Unknown"
-)
-
-// CustomResourceDefinitionConditionType is a valid value for CustomResourceDefinitionCondition.Type
-type CustomResourceDefinitionConditionType string
-
-const (
- // Established means that the resource has become active. A resource is established when all names are
- // accepted without a conflict for the first time. A resource stays established until deleted, even during
- // a later NamesAccepted due to changed names. Note that not all names can be changed.
- Established CustomResourceDefinitionConditionType = "Established"
- // NamesAccepted means the names chosen for this CustomResourceDefinition do not conflict with others in
- // the group and are therefore accepted.
- NamesAccepted CustomResourceDefinitionConditionType = "NamesAccepted"
- // Terminating means that the CustomResourceDefinition has been deleted and is cleaning up.
- Terminating CustomResourceDefinitionConditionType = "Terminating"
-)
-
-// CustomResourceDefinitionCondition contains details for the current condition of this pod.
-type CustomResourceDefinitionCondition struct {
- // Type is the type of the condition.
- Type CustomResourceDefinitionConditionType `json:"type"`
- // Status is the status of the condition.
- // Can be True, False, Unknown.
- Status ConditionStatus `json:"status"`
- // Last time the condition transitioned from one status to another.
- // +optional
- LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
- // Unique, one-word, CamelCase reason for the condition's last transition.
- // +optional
- Reason string `json:"reason,omitempty"`
- // Human-readable message indicating details about last transition.
- // +optional
- Message string `json:"message,omitempty"`
-}
-
-// CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition
-type CustomResourceDefinitionStatus struct {
- // Conditions indicate state for particular aspects of a CustomResourceDefinition
- Conditions []CustomResourceDefinitionCondition `json:"conditions"`
-
- // AcceptedNames are the names that are actually being used to serve discovery
- // They may be different than the names in spec.
- AcceptedNames CustomResourceDefinitionNames `json:"acceptedNames"`
-}
-
-// CustomResourceCleanupFinalizer is the name of the finalizer which will delete instances of
-// a CustomResourceDefinition
-const CustomResourceCleanupFinalizer = "customresourcecleanup.apiextensions.k8s.io"
-
-// +genclient
-// +genclient:noStatus
-// +genclient:nonNamespaced
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format
-// <.spec.name>.<.spec.group>.
-type CustomResourceDefinition struct {
- metav1.TypeMeta `json:",inline"`
- metav1.ObjectMeta `json:"metadata,omitempty"`
-
- // Spec describes how the user wants the resources to appear
- Spec CustomResourceDefinitionSpec `json:"spec,omitempty"`
- // Status indicates the actual state of the CustomResourceDefinition
- Status CustomResourceDefinitionStatus `json:"status,omitempty"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// CustomResourceDefinitionList is a list of CustomResourceDefinition objects.
-type CustomResourceDefinitionList struct {
- metav1.TypeMeta `json:",inline"`
- metav1.ListMeta `json:"metadata,omitempty"`
-
- // Items individual CustomResourceDefinitions
- Items []CustomResourceDefinition `json:"items"`
-}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go
deleted file mode 100644
index 216988f54..000000000
--- a/vendor/github.com/caicloud/clientset/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go
+++ /dev/null
@@ -1,153 +0,0 @@
-// +build !ignore_autogenerated
-
-/*
-Copyright 2020 caicloud authors. All rights reserved.
-*/
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v1beta1
-
-import (
- runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CustomResourceDefinition) DeepCopyInto(out *CustomResourceDefinition) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- in.Spec.DeepCopyInto(&out.Spec)
- in.Status.DeepCopyInto(&out.Status)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinition.
-func (in *CustomResourceDefinition) DeepCopy() *CustomResourceDefinition {
- if in == nil {
- return nil
- }
- out := new(CustomResourceDefinition)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *CustomResourceDefinition) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CustomResourceDefinitionCondition) DeepCopyInto(out *CustomResourceDefinitionCondition) {
- *out = *in
- in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionCondition.
-func (in *CustomResourceDefinitionCondition) DeepCopy() *CustomResourceDefinitionCondition {
- if in == nil {
- return nil
- }
- out := new(CustomResourceDefinitionCondition)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CustomResourceDefinitionList) DeepCopyInto(out *CustomResourceDefinitionList) {
- *out = *in
- out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
- if in.Items != nil {
- in, out := &in.Items, &out.Items
- *out = make([]CustomResourceDefinition, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionList.
-func (in *CustomResourceDefinitionList) DeepCopy() *CustomResourceDefinitionList {
- if in == nil {
- return nil
- }
- out := new(CustomResourceDefinitionList)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *CustomResourceDefinitionList) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CustomResourceDefinitionNames) DeepCopyInto(out *CustomResourceDefinitionNames) {
- *out = *in
- if in.ShortNames != nil {
- in, out := &in.ShortNames, &out.ShortNames
- *out = make([]string, len(*in))
- copy(*out, *in)
- }
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionNames.
-func (in *CustomResourceDefinitionNames) DeepCopy() *CustomResourceDefinitionNames {
- if in == nil {
- return nil
- }
- out := new(CustomResourceDefinitionNames)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CustomResourceDefinitionSpec) DeepCopyInto(out *CustomResourceDefinitionSpec) {
- *out = *in
- in.Names.DeepCopyInto(&out.Names)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionSpec.
-func (in *CustomResourceDefinitionSpec) DeepCopy() *CustomResourceDefinitionSpec {
- if in == nil {
- return nil
- }
- out := new(CustomResourceDefinitionSpec)
- in.DeepCopyInto(out)
- return out
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *CustomResourceDefinitionStatus) DeepCopyInto(out *CustomResourceDefinitionStatus) {
- *out = *in
- if in.Conditions != nil {
- in, out := &in.Conditions, &out.Conditions
- *out = make([]CustomResourceDefinitionCondition, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
- in.AcceptedNames.DeepCopyInto(&out.AcceptedNames)
- return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionStatus.
-func (in *CustomResourceDefinitionStatus) DeepCopy() *CustomResourceDefinitionStatus {
- if in == nil {
- return nil
- }
- out := new(CustomResourceDefinitionStatus)
- in.DeepCopyInto(out)
- return out
-}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/apiregistration/v1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/apiregistration/v1/zz_generated.deepcopy.go
index 8fb95b5fa..1c0ccd747 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/apiregistration/v1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/apiregistration/v1/zz_generated.deepcopy.go
@@ -61,7 +61,7 @@ func (in *APIServiceCondition) DeepCopy() *APIServiceCondition {
func (in *APIServiceList) DeepCopyInto(out *APIServiceList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]APIService, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha1/zz_generated.deepcopy.go
index d361338d0..d2b055db8 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha1/zz_generated.deepcopy.go
@@ -164,7 +164,7 @@ func (in *Flavor) DeepCopyObject() runtime.Object {
func (in *FlavorList) DeepCopyInto(out *FlavorList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Flavor, len(*in))
@@ -319,7 +319,7 @@ func (in *Project) DeepCopyObject() runtime.Object {
func (in *ProjectList) DeepCopyInto(out *ProjectList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Project, len(*in))
@@ -603,7 +603,7 @@ func (in *Template) DeepCopyObject() runtime.Object {
func (in *TemplateList) DeepCopyInto(out *TemplateList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Template, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha2/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha2/zz_generated.deepcopy.go
index f55225856..d7e0f3c31 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha2/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha2/zz_generated.deepcopy.go
@@ -91,7 +91,7 @@ func (in *Flavor) DeepCopyObject() runtime.Object {
func (in *FlavorList) DeepCopyInto(out *FlavorList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Flavor, len(*in))
@@ -260,7 +260,7 @@ func (in *MLNeuronConfig) DeepCopy() *MLNeuronConfig {
func (in *MLNeuronList) DeepCopyInto(out *MLNeuronList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MLNeuron, len(*in))
@@ -518,7 +518,7 @@ func (in *MLNeuronTaskOwner) DeepCopyObject() runtime.Object {
func (in *MLNeuronTaskOwnerList) DeepCopyInto(out *MLNeuronTaskOwnerList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MLNeuronTaskOwner, len(*in))
@@ -596,7 +596,7 @@ func (in *Project) DeepCopyObject() runtime.Object {
func (in *ProjectList) DeepCopyInto(out *ProjectList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Project, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/types.go b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/types.go
index 0787e0364..534591e29 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/types.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/types.go
@@ -217,7 +217,6 @@ type ModelDataSource struct {
Version string `json:"version"`
FrameworkType string `json:"frameworkType"`
FormatType string `json:"formatType"`
- Tenant string `json:"tenant"`
}
// DatasetDataSource represents the data come from clever-dataset
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/zz_generated.deepcopy.go
index 351dce7a9..e5457cc68 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/clever/v1alpha3/zz_generated.deepcopy.go
@@ -363,7 +363,7 @@ func (in *Flavor) DeepCopyObject() runtime.Object {
func (in *FlavorList) DeepCopyInto(out *FlavorList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Flavor, len(*in))
@@ -652,7 +652,7 @@ func (in *MLNeuron) DeepCopyObject() runtime.Object {
func (in *MLNeuronList) DeepCopyInto(out *MLNeuronList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MLNeuron, len(*in))
@@ -766,7 +766,7 @@ func (in *MLProject) DeepCopyObject() runtime.Object {
func (in *MLProjectList) DeepCopyInto(out *MLProjectList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MLProject, len(*in))
@@ -867,7 +867,7 @@ func (in *MLTask) DeepCopyObject() runtime.Object {
func (in *MLTaskList) DeepCopyInto(out *MLTaskList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MLTask, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1/zz_generated.deepcopy.go
index 5a35d00f5..7a197305c 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/cnetworking/v1alpha1/zz_generated.deepcopy.go
@@ -60,7 +60,7 @@ func (in *NetworkPolicyIngressRule) DeepCopy() *NetworkPolicyIngressRule {
func (in *NetworkPolicyList) DeepCopyInto(out *NetworkPolicyList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]NetworkPolicy, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
index 8324cf313..5694d3666 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go
@@ -43,7 +43,7 @@ func (in *ConfigClaim) DeepCopyObject() runtime.Object {
func (in *ConfigClaimList) DeepCopyInto(out *ConfigClaimList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ConfigClaim, len(*in))
@@ -119,7 +119,7 @@ func (in *ConfigReference) DeepCopyObject() runtime.Object {
func (in *ConfigReferenceList) DeepCopyInto(out *ConfigReferenceList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ConfigReference, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1/zz_generated.deepcopy.go
index 1c8a69435..a9bedd771 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha1/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *Dataset) DeepCopyObject() runtime.Object {
func (in *DatasetList) DeepCopyInto(out *DatasetList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Dataset, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2/zz_generated.deepcopy.go
index 56ef1197d..d5d9fba67 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/dataset/v1alpha2/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *Dataset) DeepCopyObject() runtime.Object {
func (in *DatasetList) DeepCopyInto(out *DatasetList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Dataset, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/devops/v1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/devops/v1/zz_generated.deepcopy.go
index ad7298d1f..a5a431568 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/devops/v1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/devops/v1/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *Cargo) DeepCopyObject() runtime.Object {
func (in *CargoList) DeepCopyInto(out *CargoList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Cargo, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1/zz_generated.deepcopy.go
index 3698e0a57..e4f724fd7 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/evaluation/v1alpha1/zz_generated.deepcopy.go
@@ -78,7 +78,7 @@ func (in *EvalJobCondition) DeepCopy() *EvalJobCondition {
func (in *EvalJobList) DeepCopyInto(out *EvalJobList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]EvalJob, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/types.go b/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/types.go
index 6c4ad1f95..60d965670 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/types.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/types.go
@@ -5,7 +5,7 @@ Copyright 2017 caicloud authors. All rights reserved.
package v1alpha2
import (
- "k8s.io/api/core/v1"
+ v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -121,15 +121,50 @@ type ProvidersSpec struct {
// ExternalProvider is a provider docking for external loadbalancer
type ExternalProvider struct {
- VIP string `json:"vip"`
+ VIP string `json:"vip,omitempty"`
+ VIPs []string `json:"vips,omitempty"`
}
-// IpvsdrProvider is a ipvs dr provider
-type IpvsdrProvider struct {
+// KeepalivedBind is vip binding information
+type KeepalivedBind struct {
+ // bind to interface
+ Iface string `json:"iface,omitempty"`
+ // bind to interface which in subnet
+ //CIDR string `json:"cidr,omitempty"`
+ // bind to ip from node annotation
+ NodeIPAnnotation string `json:"nodeIPAnnotation,omitempty"`
+ // bind to iface from node annotation
+ //NodeIfaceAnnotation string `json:"nodeIfaceAnnotation,omitempty"`
+}
+
+// KeepalivedProvider is a keepalived provider
+type KeepalivedProvider struct {
// Virtual IP Address
- VIP string `json:"vip"`
- // ipvs shceduler algorithm type
+ VIP string `json:"vip,omitempty"`
+ // Virtual IP Addresses
+ VIPs []string `json:"vips,omitempty"`
+ // virtual server shceduler algorithm type
Scheduler IpvsScheduler `json:"scheduler"`
+ // ActiveActive or ActivePassive
+ HAMode HAMode `json:"haMode,omitempty"`
+ // vip bound to
+ Bind *KeepalivedBind `json:"bind,omitempty"`
+}
+
+// HAMode ...
+type HAMode string
+
+const (
+ // ActiveActiveHA ...
+ ActiveActiveHA HAMode = "ActiveActive"
+ // ActivePassiveHA ...
+ ActivePassiveHA HAMode = "ActivePassive"
+)
+
+// IpvsdrProvider is a ipvs dr provider
+type IpvsdrProvider struct {
+ KeepalivedProvider
+ Slaves []KeepalivedProvider `json:"slaves,omitempty"`
}
// IpvsScheduler is ipvs shceduler algorithm type
@@ -247,6 +282,26 @@ type LoadBalancerStatus struct {
ProxyStatus ProxyStatus `json:"proxyStatus"`
// +optional
ProvidersStatuses ProvidersStatuses `json:"providersStatuses"`
+ // +optional
+ NodeStatuses NodeStatuses `json:"nodeStatuses"`
+}
+
+// InterfaceNet represents the current status of an interface
+type InterfaceNet struct {
+ Name string `json:"name"`
+ Mac string `json:"mac"`
+ IPs []string `json:"ips,omitempty"`
+}
+
+// NodeStatus represents the current status of a node
+type NodeStatus struct {
+ Name string `json:"name"`
+ IfaceNetList []*InterfaceNet `json:"ifaces,omitempty"`
+}
+
+// NodeStatuses represents the current status of nodes
+type NodeStatuses struct {
+ Nodes []NodeStatus `json:"nodes,omitempty"`
}
// ProxyStatus represents the current status of a Proxy
@@ -273,15 +328,17 @@ type ProvidersStatuses struct {
// ExpternalProviderStatus represents the current status of the external provider
type ExpternalProviderStatus struct {
- VIP string `json:"vip"`
+ VIP string `json:"vip,omitempty"`
+ VIPs []string `json:"vips,omitempty"`
}
// IpvsdrProviderStatus represents the current status of the ipvsdr provider
type IpvsdrProviderStatus struct {
PodStatuses `json:",inline"`
- Deployment string `json:"deployment,omitempty"`
- VIP string `json:"vip"`
- Vrid *int `json:"vrid,omitempty"`
+ Deployment string `json:"deployment,omitempty"`
+ VIP string `json:"vip,omitempty"`
+ VIPs []string `json:"vips,omitempty"`
+ Vrid *int `json:"vrid,omitempty"`
}
// AliyunProviderStatus represents the current status of the aliyun provider
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/validation.go b/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/validation.go
index 6e6e0ad74..6dc4e54cf 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/validation.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/validation.go
@@ -21,8 +21,16 @@ func ValidateLoadBalancer(lb *LoadBalancer) error {
func ValidateProviders(spec ProvidersSpec) error {
if spec.Ipvsdr != nil {
ipvsdr := spec.Ipvsdr
- if net.ParseIP(ipvsdr.VIP) == nil {
- return fmt.Errorf("ipvsdr: vip is invalid")
+ if ipvsdr.VIP != "" && net.ParseIP(ipvsdr.VIP) == nil {
+ return fmt.Errorf("ipvsdr: vip %s is invalid", ipvsdr.VIP)
+ }
+ for i, vip := range ipvsdr.VIPs {
+ if net.ParseIP(vip) == nil {
+ return fmt.Errorf("ipvsdr: vips[%d] %s is invalid", i, vip)
+ }
+ }
+ if ipvsdr.VIP == "" && len(ipvsdr.VIPs) == 0 {
+ return fmt.Errorf("ipvsdr: vips is empty")
}
switch ipvsdr.Scheduler {
case IpvsSchedulerRR:
@@ -38,9 +46,17 @@ func ValidateProviders(spec ProvidersSpec) error {
}
if spec.External != nil {
external := spec.External
- if net.ParseIP(external.VIP) == nil {
+ if external.VIP != "" && net.ParseIP(external.VIP) == nil {
return fmt.Errorf("external: vip is invalid")
}
+ for i, vip := range external.VIPs {
+ if net.ParseIP(vip) == nil {
+ return fmt.Errorf("external: vips[%d] %s is invalid", i, vip)
+ }
+ }
+ if external.VIP == "" && len(external.VIPs) == 0 {
+ return fmt.Errorf("external: vips is empty")
+ }
}
if spec.Azure != nil {
azure := spec.Azure
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/zz_generated.deepcopy.go
index 86af96aaf..6e596cea4 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/loadbalance/v1alpha2/zz_generated.deepcopy.go
@@ -159,6 +159,11 @@ func (in *AzurePublicIPAddressProperties) DeepCopy() *AzurePublicIPAddressProper
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExpternalProviderStatus) DeepCopyInto(out *ExpternalProviderStatus) {
*out = *in
+ if in.VIPs != nil {
+ in, out := &in.VIPs, &out.VIPs
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
return
}
@@ -175,6 +180,11 @@ func (in *ExpternalProviderStatus) DeepCopy() *ExpternalProviderStatus {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalProvider) DeepCopyInto(out *ExternalProvider) {
*out = *in
+ if in.VIPs != nil {
+ in, out := &in.VIPs, &out.VIPs
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
return
}
@@ -188,9 +198,38 @@ func (in *ExternalProvider) DeepCopy() *ExternalProvider {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *InterfaceNet) DeepCopyInto(out *InterfaceNet) {
+ *out = *in
+ if in.IPs != nil {
+ in, out := &in.IPs, &out.IPs
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceNet.
+func (in *InterfaceNet) DeepCopy() *InterfaceNet {
+ if in == nil {
+ return nil
+ }
+ out := new(InterfaceNet)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IpvsdrProvider) DeepCopyInto(out *IpvsdrProvider) {
*out = *in
+ in.KeepalivedProvider.DeepCopyInto(&out.KeepalivedProvider)
+ if in.Slaves != nil {
+ in, out := &in.Slaves, &out.Slaves
+ *out = make([]KeepalivedProvider, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
return
}
@@ -208,6 +247,11 @@ func (in *IpvsdrProvider) DeepCopy() *IpvsdrProvider {
func (in *IpvsdrProviderStatus) DeepCopyInto(out *IpvsdrProviderStatus) {
*out = *in
in.PodStatuses.DeepCopyInto(&out.PodStatuses)
+ if in.VIPs != nil {
+ in, out := &in.VIPs, &out.VIPs
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
if in.Vrid != nil {
in, out := &in.Vrid, &out.Vrid
*out = new(int)
@@ -226,6 +270,48 @@ func (in *IpvsdrProviderStatus) DeepCopy() *IpvsdrProviderStatus {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KeepalivedBind) DeepCopyInto(out *KeepalivedBind) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeepalivedBind.
+func (in *KeepalivedBind) DeepCopy() *KeepalivedBind {
+ if in == nil {
+ return nil
+ }
+ out := new(KeepalivedBind)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KeepalivedProvider) DeepCopyInto(out *KeepalivedProvider) {
+ *out = *in
+ if in.VIPs != nil {
+ in, out := &in.VIPs, &out.VIPs
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ if in.Bind != nil {
+ in, out := &in.Bind, &out.Bind
+ *out = new(KeepalivedBind)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeepalivedProvider.
+func (in *KeepalivedProvider) DeepCopy() *KeepalivedProvider {
+ if in == nil {
+ return nil
+ }
+ out := new(KeepalivedProvider)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer) {
*out = *in
@@ -258,7 +344,7 @@ func (in *LoadBalancer) DeepCopyObject() runtime.Object {
func (in *LoadBalancerList) DeepCopyInto(out *LoadBalancerList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]LoadBalancer, len(*in))
@@ -321,6 +407,7 @@ func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus) {
}
in.ProxyStatus.DeepCopyInto(&out.ProxyStatus)
in.ProvidersStatuses.DeepCopyInto(&out.ProvidersStatuses)
+ in.NodeStatuses.DeepCopyInto(&out.NodeStatuses)
return
}
@@ -334,6 +421,56 @@ func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NodeStatus) DeepCopyInto(out *NodeStatus) {
+ *out = *in
+ if in.IfaceNetList != nil {
+ in, out := &in.IfaceNetList, &out.IfaceNetList
+ *out = make([]*InterfaceNet, len(*in))
+ for i := range *in {
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(InterfaceNet)
+ (*in).DeepCopyInto(*out)
+ }
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
+func (in *NodeStatus) DeepCopy() *NodeStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(NodeStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NodeStatuses) DeepCopyInto(out *NodeStatuses) {
+ *out = *in
+ if in.Nodes != nil {
+ in, out := &in.Nodes, &out.Nodes
+ *out = make([]NodeStatus, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatuses.
+func (in *NodeStatuses) DeepCopy() *NodeStatuses {
+ if in == nil {
+ return nil
+ }
+ out := new(NodeStatuses)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NodesSpec) DeepCopyInto(out *NodesSpec) {
*out = *in
@@ -424,12 +561,12 @@ func (in *ProvidersSpec) DeepCopyInto(out *ProvidersSpec) {
if in.External != nil {
in, out := &in.External, &out.External
*out = new(ExternalProvider)
- **out = **in
+ (*in).DeepCopyInto(*out)
}
if in.Ipvsdr != nil {
in, out := &in.Ipvsdr, &out.Ipvsdr
*out = new(IpvsdrProvider)
- **out = **in
+ (*in).DeepCopyInto(*out)
}
if in.Aliyun != nil {
in, out := &in.Aliyun, &out.Aliyun
@@ -460,7 +597,7 @@ func (in *ProvidersStatuses) DeepCopyInto(out *ProvidersStatuses) {
if in.External != nil {
in, out := &in.External, &out.External
*out = new(ExpternalProviderStatus)
- **out = **in
+ (*in).DeepCopyInto(*out)
}
if in.Ipvsdr != nil {
in, out := &in.Ipvsdr, &out.Ipvsdr
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/logging/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/logging/v1alpha1/zz_generated.deepcopy.go
index 3285f4ea6..58cfe7637 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/logging/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/logging/v1alpha1/zz_generated.deepcopy.go
@@ -149,7 +149,7 @@ func (in *LogEndpoint) DeepCopyObject() runtime.Object {
func (in *LogEndpointList) DeepCopyInto(out *LogEndpointList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]LogEndpoint, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1/zz_generated.deepcopy.go
index 6c8a4d1cc..c42f90170 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/microservice/v1alpha1/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *Springcloud) DeepCopyObject() runtime.Object {
func (in *SpringcloudList) DeepCopyInto(out *SpringcloudList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Springcloud, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/model/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/model/v1alpha1/zz_generated.deepcopy.go
index 0a9fe14cd..25e025a91 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/model/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/model/v1alpha1/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *Model) DeepCopyObject() runtime.Object {
func (in *ModelList) DeepCopyInto(out *ModelList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Model, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/types.go b/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/types.go
index 885d55041..2869678d8 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/types.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/types.go
@@ -6,7 +6,7 @@ package v1alpha1
import (
releaseapi "github.com/caicloud/clientset/pkg/apis/release/v1alpha1"
- "k8s.io/api/core/v1"
+ v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -56,7 +56,7 @@ type WorkloadGraph struct {
// The edges describe the startup sequence. The following kinds of edge
// is not allowed:
// - self edge
- // - deplicated edge
+ // - duplicated edge
// - vertexes in edge are not present in node list
// - cycle
// +optional
@@ -99,6 +99,12 @@ type VertexMeta struct {
Memos map[string]string `json:"memos,omitempty"`
}
+// VertexRollbackConfig describes the rollback config of a vertex
+type VertexRollbackConfig struct {
+ // The version to rollback to. If set to 0, rollbck to the last version.
+ Version int32 `json:"version,omitempty"`
+}
+
// VertexSpec ...
type VertexSpec struct {
// This flag tells the controller to suspend the workload
@@ -118,6 +124,9 @@ type VertexSpec struct {
// Defaults to false.
// +optional
AdoptedIfOrphan *bool `json:"adoptedIfOrphan,omitempty"`
+
+ // The config this vertex is rolling back to. Will be cleared after rollback is done.
+ RollbackTo *VertexRollbackConfig `json:"rollbackTo,omitempty"`
}
// Edge is edge in workflows startup sequence DAG
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/zz_generated.deepcopy.go
index 8d34d4b7d..d25a5e2fe 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/orchestration/v1alpha1/zz_generated.deepcopy.go
@@ -105,7 +105,7 @@ func (in *ApplicationDraftData) DeepCopy() *ApplicationDraftData {
func (in *ApplicationDraftList) DeepCopyInto(out *ApplicationDraftList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ApplicationDraft, len(*in))
@@ -138,7 +138,7 @@ func (in *ApplicationDraftList) DeepCopyObject() runtime.Object {
func (in *ApplicationList) DeepCopyInto(out *ApplicationList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Application, len(*in))
@@ -289,6 +289,22 @@ func (in *VertexMeta) DeepCopy() *VertexMeta {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *VertexRollbackConfig) DeepCopyInto(out *VertexRollbackConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VertexRollbackConfig.
+func (in *VertexRollbackConfig) DeepCopy() *VertexRollbackConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(VertexRollbackConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VertexSpec) DeepCopyInto(out *VertexSpec) {
*out = *in
@@ -302,6 +318,11 @@ func (in *VertexSpec) DeepCopyInto(out *VertexSpec) {
*out = new(bool)
**out = **in
}
+ if in.RollbackTo != nil {
+ in, out := &in.RollbackTo, &out.RollbackTo
+ *out = new(VertexRollbackConfig)
+ **out = **in
+ }
return
}
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/release/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/release/v1alpha1/zz_generated.deepcopy.go
index 73b6492f3..ecba832e7 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/release/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/release/v1alpha1/zz_generated.deepcopy.go
@@ -99,7 +99,7 @@ func (in *CanaryReleaseCondition) DeepCopy() *CanaryReleaseCondition {
func (in *CanaryReleaseList) DeepCopyInto(out *CanaryReleaseList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]CanaryRelease, len(*in))
@@ -398,7 +398,7 @@ func (in *ReleaseHistory) DeepCopyObject() runtime.Object {
func (in *ReleaseHistoryList) DeepCopyInto(out *ReleaseHistoryList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ReleaseHistory, len(*in))
@@ -452,7 +452,7 @@ func (in *ReleaseHistorySpec) DeepCopy() *ReleaseHistorySpec {
func (in *ReleaseList) DeepCopyInto(out *ReleaseList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Release, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1alpha1/zz_generated.deepcopy.go
index d8dd83fb4..a1492bd31 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1alpha1/zz_generated.deepcopy.go
@@ -49,7 +49,7 @@ func (in *StorageService) DeepCopyObject() runtime.Object {
func (in *StorageServiceList) DeepCopyInto(out *StorageServiceList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]StorageService, len(*in))
@@ -122,7 +122,7 @@ func (in *StorageType) DeepCopyObject() runtime.Object {
func (in *StorageTypeList) DeepCopyInto(out *StorageTypeList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]StorageType, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/cluster.go b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/cluster.go
index b0894231e..c1c537535 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/cluster.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/cluster.go
@@ -50,9 +50,12 @@ type ClusterSpec struct {
Etcds []string `json:"etcds"`
// deploy
DeployToolsExternalVars map[string]string `json:"deployToolsExternalVars"`
- // adapt expired
- ClusterToken string `json:"clusterToken"`
- Ratio ClusterRatio `json:"ratio"`
+
+ // Deprecated: use vaquita generate kubeconfig and client cert auth for apiserver
+ ClusterToken string `json:"clusterToken"`
+
+ // Deprecated: migrate to tenant-admin and store in ClusterQuota
+ Ratio ClusterRatio `json:"ratio"`
}
// ClusterStatus represents information about the status of a cluster.
@@ -127,7 +130,7 @@ type MachineSpec struct {
// MachineStatus represents information about the status of a machine.
type MachineStatus struct {
- // NOTE: this field will been deprecated in v2.11,
+ // NOTE: this field will been deprecated in v3.x,
// should use the value calculated from spec, conditions, refers, status
Phase MachinePhase `json:"phase"`
@@ -334,6 +337,9 @@ type ClusterCloudProviderConfig struct {
// Aliyun is the specific config of aliyun cluster
Aliyun *AliyunClusterCloudProviderConfig `json:"aliyun,omitempty"`
+
+ // Imported is the specific config of imported cluster
+ Imported *ImportedClusterCloudProviderConfig `json:"imported,omitempty"`
}
// AliyunInstanceType is a label for the aliyun instance type
@@ -567,10 +573,21 @@ type AliyunClusterCloudProviderConfig struct {
RegionID string `json:"regionID,omitempty"`
VPC AliyunVPC `json:"vpc,omitempty"`
// the eip use for snat
- EIP string `json:"eip,omitempty"`
+ EIP string `json:"eip,omitempty"`
+
+ // ResourceGroupID for aliyun cluster external resource
+ ResourceGroupID string `json:"resourceGroupID"`
+
+ // LoadBalancer for high-available aliyun cluster external lb
LoadBalancer *AliyunLoadBalancer `json:"loadBalancer,omitempty"`
}
+// ImportedClusterCloudProviderConfig is a description of a imported cluster
+type ImportedClusterCloudProviderConfig struct {
+ // ForceImport for skip imported cluster match version preflight-check
+ ForceImport bool `json:"forceImport,omitempty"`
+}
+
// azure
// AzureObjectMeta is the meta description of azure object
@@ -914,11 +931,17 @@ type NetworkTemplate struct {
}
type ClusterAuth struct {
- KubeUser string `json:"kubeUser,omitempty"`
+ // Deprecated: use KubeConfig for apiserver auth
+ KubeUser string `json:"kubeUser,omitempty"`
+ // Deprecated: use KubeConfig for apiserver auth
KubePassword string `json:"kubePassword,omitempty"`
- KubeToken string `json:"kubeToken,omitempty"`
+ // Deprecated: use KubeConfig for apiserver auth
+ KubeToken string `json:"kubeToken,omitempty"`
+ // Deprecated: use KubeConfig for apiserver auth
KubeCertPath string `json:"kubeCertPath,omitempty"`
- KubeCAData []byte `json:"kubeCAData,omitempty"`
+ // Deprecated: use KubeConfig for apiserver auth
+ KubeCAData []byte `json:"kubeCAData,omitempty"`
+
EndpointIP string `json:"endpointIP,omitempty"`
EndpointPort string `json:"endpointPort,omitempty"`
@@ -988,6 +1011,7 @@ type OperationLog struct {
// AzureAksNetworkConfigMode for the user network config mode in aks
type AzureAksNetworkConfigMode string
+// CloudProvider type definition for cloud provider
type CloudProvider string
type ClusterPhase string
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/const.go b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/const.go
index 5b3f12e28..2d90fc561 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/const.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/const.go
@@ -55,6 +55,7 @@ const (
ProviderFake CloudProvider = "caicloud-fake"
ProviderAzure CloudProvider = "caicloud-azure"
ProviderAzureAks CloudProvider = "caicloud-azure-aks"
+ ProviderImported CloudProvider = "caicloud-imported"
)
// cluster/machine/node about annotations & labels about
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/zz_generated.deepcopy.go
index c87eaf524..dcbb94bae 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/resource/v1beta1/zz_generated.deepcopy.go
@@ -1218,6 +1218,11 @@ func (in *ClusterCloudProviderConfig) DeepCopyInto(out *ClusterCloudProviderConf
*out = new(AliyunClusterCloudProviderConfig)
(*in).DeepCopyInto(*out)
}
+ if in.Imported != nil {
+ in, out := &in.Imported, &out.Imported
+ *out = new(ImportedClusterCloudProviderConfig)
+ **out = **in
+ }
return
}
@@ -1253,7 +1258,7 @@ func (in *ClusterCondition) DeepCopy() *ClusterCondition {
func (in *ClusterList) DeepCopyInto(out *ClusterList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Cluster, len(*in))
@@ -1566,7 +1571,7 @@ func (in *Config) DeepCopyObject() runtime.Object {
func (in *ConfigList) DeepCopyInto(out *ConfigList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Config, len(*in))
@@ -1627,7 +1632,7 @@ func (in *ExtendedResource) DeepCopyObject() runtime.Object {
func (in *ExtendedResourceList) DeepCopyInto(out *ExtendedResourceList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ExtendedResource, len(*in))
@@ -1709,6 +1714,22 @@ func (in *ExtendedResourceStatus) DeepCopy() *ExtendedResourceStatus {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ImportedClusterCloudProviderConfig) DeepCopyInto(out *ImportedClusterCloudProviderConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportedClusterCloudProviderConfig.
+func (in *ImportedClusterCloudProviderConfig) DeepCopy() *ImportedClusterCloudProviderConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(ImportedClusterCloudProviderConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InfraNetwork) DeepCopyInto(out *InfraNetwork) {
*out = *in
@@ -1779,7 +1800,7 @@ func (in *InfraNetworkBareMetalProviderConfig) DeepCopy() *InfraNetworkBareMetal
func (in *InfraNetworkList) DeepCopyInto(out *InfraNetworkList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]InfraNetwork, len(*in))
@@ -2109,7 +2130,7 @@ func (in *MachineAutoScalingGroup) DeepCopyObject() runtime.Object {
func (in *MachineAutoScalingGroupList) DeepCopyInto(out *MachineAutoScalingGroupList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MachineAutoScalingGroup, len(*in))
@@ -2292,7 +2313,7 @@ func (in *MachineHardwareInfo) DeepCopy() *MachineHardwareInfo {
func (in *MachineList) DeepCopyInto(out *MachineList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Machine, len(*in))
@@ -2578,7 +2599,7 @@ func (in *Network) DeepCopyObject() runtime.Object {
func (in *NetworkList) DeepCopyInto(out *NetworkList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Network, len(*in))
@@ -2743,7 +2764,7 @@ func (in *NodeClaimCondition) DeepCopy() *NodeClaimCondition {
func (in *NodeClaimList) DeepCopyInto(out *NodeClaimList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]NodeClaim, len(*in))
@@ -2844,7 +2865,7 @@ func (in *NodeLocalStorage) DeepCopyObject() runtime.Object {
func (in *NodeLocalStorageList) DeepCopyInto(out *NodeLocalStorageList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]NodeLocalStorage, len(*in))
@@ -2980,7 +3001,7 @@ func (in *RequirementGap) DeepCopyObject() runtime.Object {
func (in *RequirementGapList) DeepCopyInto(out *RequirementGapList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]RequirementGap, len(*in))
@@ -3108,7 +3129,7 @@ func (in *ResourceClass) DeepCopyObject() runtime.Object {
func (in *ResourceClassList) DeepCopyInto(out *ResourceClassList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ResourceClass, len(*in))
@@ -3186,7 +3207,7 @@ func (in *Snapshot) DeepCopyObject() runtime.Object {
func (in *SnapshotList) DeepCopyInto(out *SnapshotList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Snapshot, len(*in))
@@ -3321,7 +3342,7 @@ func (in *StorageService) DeepCopyObject() runtime.Object {
func (in *StorageServiceList) DeepCopyInto(out *StorageServiceList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]StorageService, len(*in))
@@ -3415,7 +3436,7 @@ func (in *StorageType) DeepCopyObject() runtime.Object {
func (in *StorageTypeList) DeepCopyInto(out *StorageTypeList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]StorageType, len(*in))
@@ -3536,7 +3557,7 @@ func (in *Tag) DeepCopyObject() runtime.Object {
func (in *TagList) DeepCopyInto(out *TagList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Tag, len(*in))
@@ -3596,7 +3617,7 @@ func (in *WorkloadNetwork) DeepCopyObject() runtime.Object {
func (in *WorkloadNetworkList) DeepCopyInto(out *WorkloadNetworkList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]WorkloadNetwork, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1/zz_generated.deepcopy.go
index a04ced7a0..2c09c2571 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/servicemesh/v1alpha1/zz_generated.deepcopy.go
@@ -44,7 +44,7 @@ func (in *Istio) DeepCopyObject() runtime.Object {
func (in *IstioList) DeepCopyInto(out *IstioList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Istio, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go
index 467e241b5..9b68f1a91 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go
@@ -281,7 +281,7 @@ func (in *SceneCondition) DeepCopy() *SceneCondition {
func (in *SceneList) DeepCopyInto(out *SceneList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Scene, len(*in))
@@ -434,7 +434,7 @@ func (in *ServingCondition) DeepCopy() *ServingCondition {
func (in *ServingList) DeepCopyInto(out *ServingList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Serving, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1/zz_generated.deepcopy.go
index 0a3619071..1379ceaf4 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/tenant/v1alpha1/zz_generated.deepcopy.go
@@ -45,7 +45,7 @@ func (in *ClusterQuota) DeepCopyObject() runtime.Object {
func (in *ClusterQuotaList) DeepCopyInto(out *ClusterQuotaList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ClusterQuota, len(*in))
@@ -214,7 +214,7 @@ func (in *PartitionCondition) DeepCopy() *PartitionCondition {
func (in *PartitionList) DeepCopyInto(out *PartitionList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Partition, len(*in))
@@ -391,7 +391,7 @@ func (in *TenantCondition) DeepCopy() *TenantCondition {
func (in *TenantList) DeepCopyInto(out *TenantList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Tenant, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1alpha1/zz_generated.deepcopy.go
index 4e227e953..c8054fbea 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1alpha1/zz_generated.deepcopy.go
@@ -168,7 +168,7 @@ func (in *WorkloadCondition) DeepCopy() *WorkloadCondition {
func (in *WorkloadList) DeepCopyInto(out *WorkloadList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Workload, len(*in))
@@ -232,7 +232,7 @@ func (in *WorkloadRevision) DeepCopyObject() runtime.Object {
func (in *WorkloadRevisionList) DeepCopyInto(out *WorkloadRevisionList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]WorkloadRevision, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1beta1/zz_generated.deepcopy.go b/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1beta1/zz_generated.deepcopy.go
index 04104154a..1bf3a644f 100644
--- a/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1beta1/zz_generated.deepcopy.go
+++ b/vendor/github.com/caicloud/clientset/pkg/apis/workload/v1beta1/zz_generated.deepcopy.go
@@ -130,7 +130,7 @@ func (in *WorkloadCondition) DeepCopy() *WorkloadCondition {
func (in *WorkloadList) DeepCopyInto(out *WorkloadList) {
*out = *in
out.TypeMeta = in.TypeMeta
- out.ListMeta = in.ListMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Workload, len(*in))
diff --git a/vendor/github.com/caicloud/clientset/util/syncqueue/README.md b/vendor/github.com/caicloud/clientset/util/syncqueue/README.md
new file mode 100644
index 000000000..a019d385b
--- /dev/null
+++ b/vendor/github.com/caicloud/clientset/util/syncqueue/README.md
@@ -0,0 +1,84 @@
+# Sync Queue
+
+sync queue 简化了写 controller 时对 queue 的操作,减少代码量.
+
+sync queue 可以用来代替 `workqueue.RatelimitInterface`,它接收一个 `SyncHandler` 和一个可选的 `KeyFunc`
+
+在 Run 起来之后,使用方通过 `syncqueue.Enqueue`, 往队列里面添加 item,sync queue 使用 `KeyFunc` 从 item 中获取到 key,然后将 key 放入真正的 `workqueue` 中,`syncqueue` 的 worker 会从 `workqueue` 中获取 key,然后调用 `SyncHandler`,从而完成一次 controller business logic 的 loop
+
+## Basic Usage
+
+默认情况下, sync queue 使用`cache.DeletionHandlingMetaNamespaceKeyFunc` 做 `KeyFunc`,得到的 `key` 为 `namespace/name`,可以使用 `cache.SplitMetaNamespaceKey`,解析出 namespace 和 name
+
+整个工作流程大致如下:
+
+```go
+func NewPodController() *PodController {
+ c := &PodController{}
+
+ c.queue = syncqueue.NewSyncQueue(&v1.Pod{}, c.sync)
+ podinfomer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
+ AddFunc: c.addPod,
+ })
+}
+
+func (c *PodController) addPod(obj interface{}) {
+ pod := obj.(*v1.Pod)
+ c.queue.Enqueue(pod)
+}
+
+func (c *PodController) Run(workers int, stopCh <-chan struct{}) {
+ // start informer
+ // wait cache sync
+ c.queue.Run(workers, stopCh)
+ defer func() {
+ c.queue.ShutDown()
+ }
+ <-stopCh
+}
+
+func (c *PodController) sync(obj interface{}) error {
+ key := obj.(string)
+ namespace, name, err := cache.SplitMetaNamespaceKey(key)
+ if err != nil {
+ return err
+ }
+
+ pod, err := c.podLister.Pods(namespace).Get(name)
+ if errors.IsNotFound(err) {
+ // pod has been deleted
+ return nil
+ }
+ if err != nil {
+ return err
+ }
+
+ // business logic
+
+}
+
+```
+
+## Custom Key Func
+
+在上面例子中使用了默认的`KeyFunc`,下面说明如何使用自定义 `KeyFunc`
+
+在这种模式下,除了创建 queue 的时候需要指定 keyFunc 外,在你的 syncHandler 中获取 obj 的方式也要做相应的修改
+
+```go
+func keyFunc(obj interface) (interface{}, err) {
+ return obj, nil
+}
+
+func NewPodController() *PodController {
+ ...
+ c.queue = syncqueue.NewCustomSyncQueue(&v1.Pod{}, c.sync, keyFunc)
+ ...
+}
+
+func (c *PodController) sync(obj interface{}) error {
+ pod := obj.(*v1.Pod)
+ ...
+}
+```
+
diff --git a/vendor/github.com/caicloud/go-common/kubernetes/client/README.md b/vendor/github.com/caicloud/go-common/kubernetes/client/README.md
new file mode 100644
index 000000000..fbd81f8b9
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/kubernetes/client/README.md
@@ -0,0 +1,81 @@
+
+
+**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
+
+- [client](#client)
+ - [1 快速上手](#1-%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B)
+ - [2 定制自己的 config](#2-%E5%AE%9A%E5%88%B6%E8%87%AA%E5%B7%B1%E7%9A%84-config)
+ - [2.1 QPS](#21-qps)
+ - [2.2 其它字段](#22-%E5%85%B6%E5%AE%83%E5%AD%97%E6%AE%B5)
+
+
+
+# client
+
+在 client-go 中,用于构造 clientset 的 config 中存在 QPS 限制 ([见这里](https://github.com/kubernetes/client-go/blob/master/rest/config.go#L114)),各个组件的开发中也未考虑到这一点,导致访问 api-server 比较频繁的时候被限流。这个包对 clientset 的创建进行了封装,其内部为 config 设定了一些默认值,并对外提供了设置 QPS 的公用函数。相关讨论:
+
+- [client-go 自带限流问题](https://github.com/caicloud/platform-arch/issues/47)
+- [是否需要封装创建 kubernetes.Clientset 的函数](https://github.com/caicloud/go-common/issues/110)
+
+## 1 快速上手
+
+```golang
+import (
+ "github.com/caicloud/go-common/kubernetes/client"
+)
+
+func main() {
+ // 集群内
+ // client, err := client.NewFromFlags("", "")
+ // 集群外
+ client, err := client.NewFromFlags("", "the path of kubeconfig")
+ if err != nil {
+ panic(err)
+ }
+ ...
+}
+```
+
+## 2 定制自己的 config
+
+### 2.1 QPS
+
+如果你确定需要修改 QPS 而不使用默认值(先向 TL 说明原因),可以使用公开的 `SetQPS(float32, int)` 函数:
+
+```golang
+import (
+ "github.com/caicloud/go-common/kubernetes/client"
+)
+
+func main() {
+ client, err := client.NewFromFlags("", "the path of kubeconfig", client.SetQPS(10, 20))
+ if err != nil {
+ panic(err)
+ }
+ ...
+}
+```
+
+### 2.2 其它字段
+
+可以自己写一个 `func(*rest.Config)` 的函数,传给 `NewFromFlags`函数:
+
+```golang
+import (
+ "github.com/caicloud/go-common/kubernetes/client"
+
+ "k8s.io/client-go/rest"
+)
+
+func main() {
+ configModifier := func(c *rest.Config) {
+ // 原地修改 c
+ ...
+ }
+ client, err := client.NewFromFlags("", "the path of kubeconfig", configModifier)
+ if err != nil {
+ panic(err)
+ }
+ ...
+}
+```
diff --git a/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/README.md b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/README.md
new file mode 100644
index 000000000..2f0c66340
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/README.md
@@ -0,0 +1,117 @@
+
+
+**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
+
+- [leaderelection](#leaderelection)
+ - [介绍](#介绍)
+ - [使用方法](#使用方法)
+ - [示例](#示例)
+ - [参考](#参考)
+
+
+
+# leaderelection
+
+## 介绍
+
+package leaderelection 封装了 k8s 的 leaderelection 包,用于运行一个基于主备方案的高可用的 controller 等组件。
+
+相比于原来的 leaderelection package,该 package 做了很多公共的工作,使用者不必再关心怎么配置 leaderelection 相关,只需给定几个参数即可使一个 controller 组件以高可用的方式运行;除些之外,该 package 还会自动启动一个健康检查 server。
+
+## 使用方法
+
+package leaderelection 只提供了下面一个方法:
+
+```go
+// RunOrDie starts the leader election code loop with the provided config or panics if the config fails to validate.
+// A wrapper of Kubernetes leaderelection package, more info here: https://github.com/caicloud/leader-election-example
+func RunOrDie(opt Option)
+```
+
+`Option` 定义了启动组件必要的参数:
+
+```go
+type Option struct {
+ // LeaseLockName is the lease lock resource name, recommended to use the component name.
+ LeaseLockName string
+ // LeaseLockNamespace is the lease lock resource namespace, recommended to use the component namespace.
+ LeaseLockNamespace string
+ // ID is the the holder identity name, recommended to use the component pod name.
+ // If not set, the value of the POD_NAME environment variable will be used
+ // +optional
+ ID string
+ // KubeClient is the kube client of a cluster.
+ KubeClient kubernetes.Interface
+ // Run is the main controller code loop starter.
+ Run func(ctx context.Context)
+ // LivenessChecker defines the liveness healthz checker.
+ // +optional
+ LivenessChecker func(req *http.Request) error
+ // Port is the healthz server port.
+ Port int
+ // StopCh is the stop channel used to shut down the component
+ StopCh <-chan struct{}
+}
+```
+
+参数的含义请看注释,可选参数有:
+
+* `ID`:不设置的话会使用 `POD_NAME` 环境变量的值,如果该环境变量也未设置的话会直接 panic
+* `LivenessChecker`:设置 `nil` 的话表示不做自定义的健康检查
+
+其它所有的参数都需要,不然可能会 panic。特别提一下 `Run`,它是组件的启动方法,一般用下面的函数包装一下原来的启动函数:
+
+```go
+run := func(ctx context.Context) {
+ // complete your controller loop here
+
+ select {}
+}
+```
+
+一个比较完整的示例如下:
+
+```go
+// Generate kubeClient from kubeconfig
+kubeClient, err := client.NewFromFlags("", opt.KubeConfig)
+if err != nil {
+ klog.Exitf("NewFromFlags failed, %v", err)
+}
+
+// A simulated controller component
+c := &controller{}
+
+// The startup method of the component
+run := func(ctx context.Context) {
+ go c.run()
+ select {}
+}
+
+// Run the component
+leaderelection.RunOrDie(leaderelection.Option{
+ LeaseLockName: opt.LeaseLockName,
+ LeaseLockNamespace: opt.LeaseLockNamespace,
+ ID: opt.ID,
+ KubeClient: kubeClient,
+ Run: run,
+ LivenessChecker: c.liveness,
+ Port: opt.Port,
+ StopCh: stopCh,
+})
+```
+
+## 示例
+
+[example](example) 文件夹下有可运行的具体示例,可多运行几个该示例组件来观察效果。
+
+```console
+# 组件实例 1
+$ go run main.go --kube-config="your kube config" --id=1 --port=2233
+
+# 组件实例 2
+$ go run main.go --kube-config="your kube config" --id=2 --port=2333
+```
+
+## 参考
+
+* [leader-election-example](https://github.com/caicloud/leader-election-example)
diff --git a/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/doc.go b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/doc.go
new file mode 100644
index 000000000..11ffde937
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/doc.go
@@ -0,0 +1,2 @@
+// Package leaderelection provides a set of utility functions for running a highly available controller component.
+package leaderelection
diff --git a/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/healthz.go b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/healthz.go
new file mode 100644
index 000000000..e103c049d
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/healthz.go
@@ -0,0 +1,37 @@
+package leaderelection
+
+import (
+ "net/http"
+
+ "k8s.io/apiserver/pkg/server/healthz"
+ "k8s.io/client-go/tools/leaderelection"
+)
+
+type healthChecker struct {
+ name string
+ checker func(req *http.Request) error
+ le *leaderelection.LeaderElector
+}
+
+// Name returns the name of the current checker.
+func (c *healthChecker) Name() string {
+ return c.name
+}
+
+// Check returns an error if health check failed.
+func (c *healthChecker) Check(req *http.Request) error {
+ if !c.le.IsLeader() {
+ // Currently not concerned with the case that we are hot standby
+ return nil
+ }
+ return c.checker(req)
+}
+
+// newNamedChecker returns a HealthzChecker implementation with a specific name.
+func newNamedChecker(name string, le *leaderelection.LeaderElector, checker func(req *http.Request) error) healthz.HealthChecker {
+ return &healthChecker{
+ name: name,
+ checker: checker,
+ le: le,
+ }
+}
diff --git a/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/leaderelection.go b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/leaderelection.go
new file mode 100644
index 000000000..47718ad40
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/kubernetes/leaderelection/leaderelection.go
@@ -0,0 +1,116 @@
+package leaderelection
+
+import (
+ "context"
+ "fmt"
+ "net/http"
+ "os"
+ "time"
+
+ "github.com/caicloud/clientset/kubernetes"
+
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apiserver/pkg/server/healthz"
+ "k8s.io/client-go/tools/leaderelection"
+ "k8s.io/client-go/tools/leaderelection/resourcelock"
+ "k8s.io/klog"
+)
+
+// Option defines the parameters required to start the leader election component.
+type Option struct {
+ // LeaseLockName is the lease lock resource name, recommended to use the component name.
+ LeaseLockName string
+ // LeaseLockNamespace is the lease lock resource namespace, recommended to use the component namespace.
+ LeaseLockNamespace string
+ // ID is the the holder identity name, recommended to use the component pod name.
+ // If not set, the value of the POD_NAME environment variable will be used
+ // +optional
+ ID string
+ // KubeClient is the kube client of a cluster.
+ KubeClient kubernetes.Interface
+ // Run is the main controller code loop starter.
+ Run func(ctx context.Context)
+ // LivenessChecker defines the liveness healthz checker.
+ // +optional
+ LivenessChecker func(req *http.Request) error
+ // Port is the healthz server port.
+ Port int
+ // StopCh is the stop channel used to shut down the component
+ StopCh <-chan struct{}
+}
+
+// RunOrDie starts the leader election code loop with the provided config or panics if the config fails to validate.
+// A wrapper of Kubernetes leaderelection package, more info here: https://github.com/caicloud/leader-election-example
+func RunOrDie(opt Option) {
+ id := opt.ID
+ if id == "" {
+ id = os.Getenv("POD_NAME")
+ }
+ if id == "" {
+ panic("The ID option or POD_NAME environment variable must be set")
+ }
+
+ lock := &resourcelock.EndpointsLock{
+ EndpointsMeta: metav1.ObjectMeta{
+ Name: opt.LeaseLockName,
+ Namespace: opt.LeaseLockNamespace,
+ },
+ Client: opt.KubeClient.Native().CoreV1(),
+ LockConfig: resourcelock.ResourceLockConfig{
+ Identity: id,
+ },
+ }
+
+ electionChecker := leaderelection.NewLeaderHealthzAdaptor(time.Second * 20)
+ leaderElector, err := leaderelection.NewLeaderElector(leaderelection.LeaderElectionConfig{
+ Lock: lock,
+ LeaseDuration: 60 * time.Second,
+ RenewDeadline: 15 * time.Second,
+ RetryPeriod: 3 * time.Second,
+ Callbacks: leaderelection.LeaderCallbacks{
+ OnStartedLeading: opt.Run,
+ OnStoppedLeading: func() {
+ klog.Infof("lost: %s", id)
+ os.Exit(0)
+ },
+ OnNewLeader: func(identity string) {
+ if identity == id {
+ return
+ }
+ klog.Infof("new leader elected: %s", identity)
+ },
+ },
+ WatchDog: electionChecker,
+ ReleaseOnCancel: true,
+ })
+ if err != nil {
+ panic(err)
+ }
+
+ // setup healthz checks
+ checks := []healthz.HealthChecker{electionChecker}
+ if opt.LivenessChecker != nil {
+ checks = append(checks, newNamedChecker("liveness", leaderElector, opt.LivenessChecker))
+ }
+ mux := http.NewServeMux()
+ healthz.InstallHandler(mux, checks...)
+
+ go func() {
+ klog.Infof("[healthz] Start listening to %d", opt.Port)
+
+ if err := http.ListenAndServe(fmt.Sprintf(":%d", opt.Port), mux); err != nil {
+ klog.Fatalf("[healthz] Error starting server: %v", err)
+ }
+ }()
+
+ // use a Go context so we can tell the leaderelection code when we want to step down
+ ctx, cancel := context.WithCancel(context.Background())
+
+ go func() {
+ <-opt.StopCh
+ klog.Info("Received termination, signaling shutdown")
+ cancel()
+ }()
+
+ leaderElector.Run(ctx)
+}
diff --git a/vendor/github.com/caicloud/go-common/signal/README.md b/vendor/github.com/caicloud/go-common/signal/README.md
new file mode 100644
index 000000000..eec87bbbc
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/signal/README.md
@@ -0,0 +1,20 @@
+# signal
+
+`SetupStopSignalHandler` 函数会返回一个 stop channel,当收到类似 ctrl-c 之类需要退出的 signal 时会自动 close 这个 stop channel;在 controller 和其它需要 stop channel 的 CLI 应用中非常有用,直接使用这个函数生成的 stop channel,不再需要其它的特别处理。下面有一个简单的示例:
+
+```go
+stopCh := signal.SetupStopSignalHandler()
+
+fmt.Println("waiting stop signal")
+<-stopCh
+fmt.Println("stop signal received, exiting")
+```
+
+运行效果:
+
+```
+waiting stop signal
+^Cstop signal received, exiting
+```
+
+没收到 stop signal 时,程序会一直卡在 `<-stopCh` 这个地方(在等待 stop signal),如果在程序退出前有额外的 clean up 工作需要做,在 stopCh 关闭后处理就行
diff --git a/vendor/github.com/caicloud/go-common/signal/doc.go b/vendor/github.com/caicloud/go-common/signal/doc.go
new file mode 100644
index 000000000..3359cfc1c
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/signal/doc.go
@@ -0,0 +1,2 @@
+// Package signal implements a set of OS signal handlers.
+package signal
diff --git a/vendor/github.com/caicloud/go-common/signal/stopsignal.go b/vendor/github.com/caicloud/go-common/signal/stopsignal.go
new file mode 100644
index 000000000..1c9e1d4cc
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/signal/stopsignal.go
@@ -0,0 +1,44 @@
+package signal
+
+import (
+ "os"
+ "os/signal"
+)
+
+var onlyOneSignalHandler = make(chan struct{})
+var shutdownHandler chan os.Signal
+
+// SetupStopSignalHandler registered for SIGTERM and SIGINT. A stop channel is returned
+// which is closed on one of these signals. If a second signal is caught, the program
+// is terminated with exit code 1.
+// copied from https://github.com/kubernetes/apiserver/blob/master/pkg/server/signal.go
+func SetupStopSignalHandler() <-chan struct{} {
+ close(onlyOneSignalHandler) // panics when called twice
+
+ shutdownHandler = make(chan os.Signal, 2)
+
+ stop := make(chan struct{})
+ signal.Notify(shutdownHandler, shutdownSignals...)
+ go func() {
+ <-shutdownHandler
+ close(stop)
+ <-shutdownHandler
+ os.Exit(1) // second signal. Exit directly.
+ }()
+
+ return stop
+}
+
+// RequestShutdown emulates a received event that is considered as shutdown signal (SIGTERM/SIGINT)
+// This returns whether a handler was notified
+func RequestShutdown() bool {
+ if shutdownHandler != nil {
+ select {
+ case shutdownHandler <- shutdownSignals[0]:
+ return true
+ default:
+ }
+ }
+
+ return false
+}
diff --git a/vendor/github.com/caicloud/go-common/signal/stopsignal_posix.go b/vendor/github.com/caicloud/go-common/signal/stopsignal_posix.go
new file mode 100644
index 000000000..0d548b2da
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/signal/stopsignal_posix.go
@@ -0,0 +1,10 @@
+// +build !windows
+
+package signal
+
+import (
+ "os"
+ "syscall"
+)
+
+var shutdownSignals = []os.Signal{os.Interrupt, syscall.SIGTERM}
diff --git a/vendor/github.com/caicloud/go-common/signal/stopsignal_windows.go b/vendor/github.com/caicloud/go-common/signal/stopsignal_windows.go
new file mode 100644
index 000000000..8e247d1aa
--- /dev/null
+++ b/vendor/github.com/caicloud/go-common/signal/stopsignal_windows.go
@@ -0,0 +1,7 @@
+package signal
+
+import (
+ "os"
+)
+
+var shutdownSignals = []os.Signal{os.Interrupt}
diff --git a/vendor/github.com/gogo/protobuf/GOLANG_CONTRIBUTORS b/vendor/github.com/gogo/protobuf/GOLANG_CONTRIBUTORS
deleted file mode 100644
index b368efb7f..000000000
--- a/vendor/github.com/gogo/protobuf/GOLANG_CONTRIBUTORS
+++ /dev/null
@@ -1,5 +0,0 @@
-The contributors to the Go protobuf repository:
-
-# This source code was written by the Go contributors.
-# The master list of contributors is in the main Go distribution,
-# visible at http://tip.golang.org/CONTRIBUTORS.
\ No newline at end of file
diff --git a/vendor/github.com/gogo/protobuf/proto/Makefile b/vendor/github.com/gogo/protobuf/proto/Makefile
new file mode 100644
index 000000000..00d65f327
--- /dev/null
+++ b/vendor/github.com/gogo/protobuf/proto/Makefile
@@ -0,0 +1,43 @@
+# Go support for Protocol Buffers - Google's data interchange format
+#
+# Copyright 2010 The Go Authors. All rights reserved.
+# https://github.com/golang/protobuf
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+install:
+ go install
+
+test: install generate-test-pbs
+ go test
+
+
+generate-test-pbs:
+ make install
+ make -C test_proto
+ make -C proto3_proto
+ make
diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/vendor/github.com/golang/protobuf/ptypes/any/any.proto
new file mode 100644
index 000000000..493294255
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/any/any.proto
@@ -0,0 +1,154 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option go_package = "github.com/golang/protobuf/ptypes/any";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "AnyProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+
+// `Any` contains an arbitrary serialized protocol buffer message along with a
+// URL that describes the type of the serialized message.
+//
+// Protobuf library provides support to pack/unpack Any values in the form
+// of utility functions or additional generated methods of the Any type.
+//
+// Example 1: Pack and unpack a message in C++.
+//
+// Foo foo = ...;
+// Any any;
+// any.PackFrom(foo);
+// ...
+// if (any.UnpackTo(&foo)) {
+// ...
+// }
+//
+// Example 2: Pack and unpack a message in Java.
+//
+// Foo foo = ...;
+// Any any = Any.pack(foo);
+// ...
+// if (any.is(Foo.class)) {
+// foo = any.unpack(Foo.class);
+// }
+//
+// Example 3: Pack and unpack a message in Python.
+//
+// foo = Foo(...)
+// any = Any()
+// any.Pack(foo)
+// ...
+// if any.Is(Foo.DESCRIPTOR):
+// any.Unpack(foo)
+// ...
+//
+// Example 4: Pack and unpack a message in Go
+//
+// foo := &pb.Foo{...}
+// any, err := ptypes.MarshalAny(foo)
+// ...
+// foo := &pb.Foo{}
+// if err := ptypes.UnmarshalAny(any, foo); err != nil {
+// ...
+// }
+//
+// The pack methods provided by protobuf library will by default use
+// 'type.googleapis.com/full.type.name' as the type URL and the unpack
+// methods only use the fully qualified type name after the last '/'
+// in the type URL, for example "foo.bar.com/x/y.z" will yield type
+// name "y.z".
+//
+//
+// JSON
+// ====
+// The JSON representation of an `Any` value uses the regular
+// representation of the deserialized, embedded message, with an
+// additional field `@type` which contains the type URL. Example:
+//
+// package google.profile;
+// message Person {
+// string first_name = 1;
+// string last_name = 2;
+// }
+//
+// {
+// "@type": "type.googleapis.com/google.profile.Person",
+// "firstName": ,
+// "lastName":
+// }
+//
+// If the embedded message type is well-known and has a custom JSON
+// representation, that representation will be embedded adding a field
+// `value` which holds the custom JSON in addition to the `@type`
+// field. Example (for message [google.protobuf.Duration][]):
+//
+// {
+// "@type": "type.googleapis.com/google.protobuf.Duration",
+// "value": "1.212s"
+// }
+//
+message Any {
+ // A URL/resource name that uniquely identifies the type of the serialized
+ // protocol buffer message. The last segment of the URL's path must represent
+ // the fully qualified name of the type (as in
+ // `path/google.protobuf.Duration`). The name should be in a canonical form
+ // (e.g., leading "." is not accepted).
+ //
+ // In practice, teams usually precompile into the binary all types that they
+ // expect it to use in the context of Any. However, for URLs which use the
+ // scheme `http`, `https`, or no scheme, one can optionally set up a type
+ // server that maps type URLs to message definitions as follows:
+ //
+ // * If no scheme is provided, `https` is assumed.
+ // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
+ // value in binary format, or produce an error.
+ // * Applications are allowed to cache lookup results based on the
+ // URL, or have them precompiled into a binary to avoid any
+ // lookup. Therefore, binary compatibility needs to be preserved
+ // on changes to types. (Use versioned type names to manage
+ // breaking changes.)
+ //
+ // Note: this functionality is not currently available in the official
+ // protobuf release, and it is not used for type URLs beginning with
+ // type.googleapis.com.
+ //
+ // Schemes other than `http`, `https` (or the empty scheme) might be
+ // used with implementation specific semantics.
+ //
+ string type_url = 1;
+
+ // Must be a valid serialized protocol buffer of the above specified type.
+ bytes value = 2;
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto b/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
new file mode 100644
index 000000000..975fce41a
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
@@ -0,0 +1,117 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option cc_enable_arenas = true;
+option go_package = "github.com/golang/protobuf/ptypes/duration";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "DurationProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+
+// A Duration represents a signed, fixed-length span of time represented
+// as a count of seconds and fractions of seconds at nanosecond
+// resolution. It is independent of any calendar and concepts like "day"
+// or "month". It is related to Timestamp in that the difference between
+// two Timestamp values is a Duration and it can be added or subtracted
+// from a Timestamp. Range is approximately +-10,000 years.
+//
+// # Examples
+//
+// Example 1: Compute Duration from two Timestamps in pseudo code.
+//
+// Timestamp start = ...;
+// Timestamp end = ...;
+// Duration duration = ...;
+//
+// duration.seconds = end.seconds - start.seconds;
+// duration.nanos = end.nanos - start.nanos;
+//
+// if (duration.seconds < 0 && duration.nanos > 0) {
+// duration.seconds += 1;
+// duration.nanos -= 1000000000;
+// } else if (durations.seconds > 0 && duration.nanos < 0) {
+// duration.seconds -= 1;
+// duration.nanos += 1000000000;
+// }
+//
+// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+//
+// Timestamp start = ...;
+// Duration duration = ...;
+// Timestamp end = ...;
+//
+// end.seconds = start.seconds + duration.seconds;
+// end.nanos = start.nanos + duration.nanos;
+//
+// if (end.nanos < 0) {
+// end.seconds -= 1;
+// end.nanos += 1000000000;
+// } else if (end.nanos >= 1000000000) {
+// end.seconds += 1;
+// end.nanos -= 1000000000;
+// }
+//
+// Example 3: Compute Duration from datetime.timedelta in Python.
+//
+// td = datetime.timedelta(days=3, minutes=10)
+// duration = Duration()
+// duration.FromTimedelta(td)
+//
+// # JSON Mapping
+//
+// In JSON format, the Duration type is encoded as a string rather than an
+// object, where the string ends in the suffix "s" (indicating seconds) and
+// is preceded by the number of seconds, with nanoseconds expressed as
+// fractional seconds. For example, 3 seconds with 0 nanoseconds should be
+// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
+// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
+// microsecond should be expressed in JSON format as "3.000001s".
+//
+//
+message Duration {
+
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ int64 seconds = 1;
+
+ // Signed fractions of a second at nanosecond resolution of the span
+ // of time. Durations less than one second are represented with a 0
+ // `seconds` field and a positive or negative `nanos` field. For durations
+ // of one second or more, a non-zero value for the `nanos` field must be
+ // of the same sign as the `seconds` field. Must be from -999,999,999
+ // to +999,999,999 inclusive.
+ int32 nanos = 2;
+}
diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
new file mode 100644
index 000000000..eafb3fa03
--- /dev/null
+++ b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
@@ -0,0 +1,135 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+option cc_enable_arenas = true;
+option go_package = "github.com/golang/protobuf/ptypes/timestamp";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "TimestampProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+
+// A Timestamp represents a point in time independent of any time zone
+// or calendar, represented as seconds and fractions of seconds at
+// nanosecond resolution in UTC Epoch time. It is encoded using the
+// Proleptic Gregorian Calendar which extends the Gregorian calendar
+// backwards to year one. It is encoded assuming all minutes are 60
+// seconds long, i.e. leap seconds are "smeared" so that no leap second
+// table is needed for interpretation. Range is from
+// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
+// By restricting to that range, we ensure that we can convert to
+// and from RFC 3339 date strings.
+// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
+//
+// # Examples
+//
+// Example 1: Compute Timestamp from POSIX `time()`.
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(time(NULL));
+// timestamp.set_nanos(0);
+//
+// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+//
+// struct timeval tv;
+// gettimeofday(&tv, NULL);
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(tv.tv_sec);
+// timestamp.set_nanos(tv.tv_usec * 1000);
+//
+// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+//
+// FILETIME ft;
+// GetSystemTimeAsFileTime(&ft);
+// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+//
+// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+// Timestamp timestamp;
+// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+//
+// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+//
+// long millis = System.currentTimeMillis();
+//
+// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+// .setNanos((int) ((millis % 1000) * 1000000)).build();
+//
+//
+// Example 5: Compute Timestamp from current time in Python.
+//
+// timestamp = Timestamp()
+// timestamp.GetCurrentTime()
+//
+// # JSON Mapping
+//
+// In JSON format, the Timestamp type is encoded as a string in the
+// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
+// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
+// where {year} is always expressed using four digits while {month}, {day},
+// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
+// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
+// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
+// is required. A proto3 JSON serializer should always use UTC (as indicated by
+// "Z") when printing the Timestamp type and a proto3 JSON parser should be
+// able to accept both UTC and other timezones (as indicated by an offset).
+//
+// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
+// 01:30 UTC on January 15, 2017.
+//
+// In JavaScript, one can convert a Date object to this format using the
+// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
+// method. In Python, a standard `datetime.datetime` object can be converted
+// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
+// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
+// can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
+// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--
+// ) to obtain a formatter capable of generating timestamps in this format.
+//
+//
+message Timestamp {
+
+ // Represents seconds of UTC time since Unix epoch
+ // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ // 9999-12-31T23:59:59Z inclusive.
+ int64 seconds = 1;
+
+ // Non-negative fractions of a second at nanosecond resolution. Negative
+ // second values with fractions must still have non-negative nanos values
+ // that count forward in time. Must be from 0 to 999,999,999
+ // inclusive.
+ int32 nanos = 2;
+}
diff --git a/vendor/github.com/google/go-cmp/LICENSE b/vendor/github.com/google/go-cmp/LICENSE
new file mode 100644
index 000000000..32017f8fa
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2017 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/github.com/google/go-cmp/cmp/compare.go b/vendor/github.com/google/go-cmp/cmp/compare.go
new file mode 100644
index 000000000..c9a63ceda
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/compare.go
@@ -0,0 +1,655 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// Package cmp determines equality of values.
+//
+// This package is intended to be a more powerful and safer alternative to
+// reflect.DeepEqual for comparing whether two values are semantically equal.
+//
+// The primary features of cmp are:
+//
+// • When the default behavior of equality does not suit the needs of the test,
+// custom equality functions can override the equality operation.
+// For example, an equality function may report floats as equal so long as they
+// are within some tolerance of each other.
+//
+// • Types that have an Equal method may use that method to determine equality.
+// This allows package authors to determine the equality operation for the types
+// that they define.
+//
+// • If no custom equality functions are used and no Equal method is defined,
+// equality is determined by recursively comparing the primitive kinds on both
+// values, much like reflect.DeepEqual. Unlike reflect.DeepEqual, unexported
+// fields are not compared by default; they result in panics unless suppressed
+// by using an Ignore option (see cmpopts.IgnoreUnexported) or explicitly
+// compared using the Exporter option.
+package cmp
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+
+ "github.com/google/go-cmp/cmp/internal/diff"
+ "github.com/google/go-cmp/cmp/internal/flags"
+ "github.com/google/go-cmp/cmp/internal/function"
+ "github.com/google/go-cmp/cmp/internal/value"
+)
+
+// Equal reports whether x and y are equal by recursively applying the
+// following rules in the given order to x and y and all of their sub-values:
+//
+// • Let S be the set of all Ignore, Transformer, and Comparer options that
+// remain after applying all path filters, value filters, and type filters.
+// If at least one Ignore exists in S, then the comparison is ignored.
+// If the number of Transformer and Comparer options in S is greater than one,
+// then Equal panics because it is ambiguous which option to use.
+// If S contains a single Transformer, then use that to transform the current
+// values and recursively call Equal on the output values.
+// If S contains a single Comparer, then use that to compare the current values.
+// Otherwise, evaluation proceeds to the next rule.
+//
+// • If the values have an Equal method of the form "(T) Equal(T) bool" or
+// "(T) Equal(I) bool" where T is assignable to I, then use the result of
+// x.Equal(y) even if x or y is nil. Otherwise, no such method exists and
+// evaluation proceeds to the next rule.
+//
+// • Lastly, try to compare x and y based on their basic kinds.
+// Simple kinds like booleans, integers, floats, complex numbers, strings, and
+// channels are compared using the equivalent of the == operator in Go.
+// Functions are only equal if they are both nil, otherwise they are unequal.
+//
+// Structs are equal if recursively calling Equal on all fields report equal.
+// If a struct contains unexported fields, Equal panics unless an Ignore option
+// (e.g., cmpopts.IgnoreUnexported) ignores that field or the Exporter option
+// explicitly permits comparing the unexported field.
+//
+// Slices are equal if they are both nil or both non-nil, where recursively
+// calling Equal on all non-ignored slice or array elements report equal.
+// Empty non-nil slices and nil slices are not equal; to equate empty slices,
+// consider using cmpopts.EquateEmpty.
+//
+// Maps are equal if they are both nil or both non-nil, where recursively
+// calling Equal on all non-ignored map entries report equal.
+// Map keys are equal according to the == operator.
+// To use custom comparisons for map keys, consider using cmpopts.SortMaps.
+// Empty non-nil maps and nil maps are not equal; to equate empty maps,
+// consider using cmpopts.EquateEmpty.
+//
+// Pointers and interfaces are equal if they are both nil or both non-nil,
+// where they have the same underlying concrete type and recursively
+// calling Equal on the underlying values reports equal.
+//
+// Before recursing into a pointer, slice element, or map, the current path
+// is checked to detect whether the address has already been visited.
+// If there is a cycle, then the pointed at values are considered equal
+// only if both addresses were previously visited in the same path step.
+func Equal(x, y interface{}, opts ...Option) bool {
+ vx := reflect.ValueOf(x)
+ vy := reflect.ValueOf(y)
+
+ // If the inputs are different types, auto-wrap them in an empty interface
+ // so that they have the same parent type.
+ var t reflect.Type
+ if !vx.IsValid() || !vy.IsValid() || vx.Type() != vy.Type() {
+ t = reflect.TypeOf((*interface{})(nil)).Elem()
+ if vx.IsValid() {
+ vvx := reflect.New(t).Elem()
+ vvx.Set(vx)
+ vx = vvx
+ }
+ if vy.IsValid() {
+ vvy := reflect.New(t).Elem()
+ vvy.Set(vy)
+ vy = vvy
+ }
+ } else {
+ t = vx.Type()
+ }
+
+ s := newState(opts)
+ s.compareAny(&pathStep{t, vx, vy})
+ return s.result.Equal()
+}
+
+// Diff returns a human-readable report of the differences between two values.
+// It returns an empty string if and only if Equal returns true for the same
+// input values and options.
+//
+// The output is displayed as a literal in pseudo-Go syntax.
+// At the start of each line, a "-" prefix indicates an element removed from x,
+// a "+" prefix to indicates an element added to y, and the lack of a prefix
+// indicates an element common to both x and y. If possible, the output
+// uses fmt.Stringer.String or error.Error methods to produce more humanly
+// readable outputs. In such cases, the string is prefixed with either an
+// 's' or 'e' character, respectively, to indicate that the method was called.
+//
+// Do not depend on this output being stable. If you need the ability to
+// programmatically interpret the difference, consider using a custom Reporter.
+func Diff(x, y interface{}, opts ...Option) string {
+ r := new(defaultReporter)
+ eq := Equal(x, y, Options(opts), Reporter(r))
+ d := r.String()
+ if (d == "") != eq {
+ panic("inconsistent difference and equality results")
+ }
+ return d
+}
+
+type state struct {
+ // These fields represent the "comparison state".
+ // Calling statelessCompare must not result in observable changes to these.
+ result diff.Result // The current result of comparison
+ curPath Path // The current path in the value tree
+ curPtrs pointerPath // The current set of visited pointers
+ reporters []reporter // Optional reporters
+
+ // recChecker checks for infinite cycles applying the same set of
+ // transformers upon the output of itself.
+ recChecker recChecker
+
+ // dynChecker triggers pseudo-random checks for option correctness.
+ // It is safe for statelessCompare to mutate this value.
+ dynChecker dynChecker
+
+ // These fields, once set by processOption, will not change.
+ exporters []exporter // List of exporters for structs with unexported fields
+ opts Options // List of all fundamental and filter options
+}
+
+func newState(opts []Option) *state {
+ // Always ensure a validator option exists to validate the inputs.
+ s := &state{opts: Options{validator{}}}
+ s.curPtrs.Init()
+ s.processOption(Options(opts))
+ return s
+}
+
+func (s *state) processOption(opt Option) {
+ switch opt := opt.(type) {
+ case nil:
+ case Options:
+ for _, o := range opt {
+ s.processOption(o)
+ }
+ case coreOption:
+ type filtered interface {
+ isFiltered() bool
+ }
+ if fopt, ok := opt.(filtered); ok && !fopt.isFiltered() {
+ panic(fmt.Sprintf("cannot use an unfiltered option: %v", opt))
+ }
+ s.opts = append(s.opts, opt)
+ case exporter:
+ s.exporters = append(s.exporters, opt)
+ case reporter:
+ s.reporters = append(s.reporters, opt)
+ default:
+ panic(fmt.Sprintf("unknown option %T", opt))
+ }
+}
+
+// statelessCompare compares two values and returns the result.
+// This function is stateless in that it does not alter the current result,
+// or output to any registered reporters.
+func (s *state) statelessCompare(step PathStep) diff.Result {
+ // We do not save and restore curPath and curPtrs because all of the
+ // compareX methods should properly push and pop from them.
+ // It is an implementation bug if the contents of the paths differ from
+ // when calling this function to when returning from it.
+
+ oldResult, oldReporters := s.result, s.reporters
+ s.result = diff.Result{} // Reset result
+ s.reporters = nil // Remove reporters to avoid spurious printouts
+ s.compareAny(step)
+ res := s.result
+ s.result, s.reporters = oldResult, oldReporters
+ return res
+}
+
+func (s *state) compareAny(step PathStep) {
+ // Update the path stack.
+ s.curPath.push(step)
+ defer s.curPath.pop()
+ for _, r := range s.reporters {
+ r.PushStep(step)
+ defer r.PopStep()
+ }
+ s.recChecker.Check(s.curPath)
+
+ // Cycle-detection for slice elements (see NOTE in compareSlice).
+ t := step.Type()
+ vx, vy := step.Values()
+ if si, ok := step.(SliceIndex); ok && si.isSlice && vx.IsValid() && vy.IsValid() {
+ px, py := vx.Addr(), vy.Addr()
+ if eq, visited := s.curPtrs.Push(px, py); visited {
+ s.report(eq, reportByCycle)
+ return
+ }
+ defer s.curPtrs.Pop(px, py)
+ }
+
+ // Rule 1: Check whether an option applies on this node in the value tree.
+ if s.tryOptions(t, vx, vy) {
+ return
+ }
+
+ // Rule 2: Check whether the type has a valid Equal method.
+ if s.tryMethod(t, vx, vy) {
+ return
+ }
+
+ // Rule 3: Compare based on the underlying kind.
+ switch t.Kind() {
+ case reflect.Bool:
+ s.report(vx.Bool() == vy.Bool(), 0)
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ s.report(vx.Int() == vy.Int(), 0)
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ s.report(vx.Uint() == vy.Uint(), 0)
+ case reflect.Float32, reflect.Float64:
+ s.report(vx.Float() == vy.Float(), 0)
+ case reflect.Complex64, reflect.Complex128:
+ s.report(vx.Complex() == vy.Complex(), 0)
+ case reflect.String:
+ s.report(vx.String() == vy.String(), 0)
+ case reflect.Chan, reflect.UnsafePointer:
+ s.report(vx.Pointer() == vy.Pointer(), 0)
+ case reflect.Func:
+ s.report(vx.IsNil() && vy.IsNil(), 0)
+ case reflect.Struct:
+ s.compareStruct(t, vx, vy)
+ case reflect.Slice, reflect.Array:
+ s.compareSlice(t, vx, vy)
+ case reflect.Map:
+ s.compareMap(t, vx, vy)
+ case reflect.Ptr:
+ s.comparePtr(t, vx, vy)
+ case reflect.Interface:
+ s.compareInterface(t, vx, vy)
+ default:
+ panic(fmt.Sprintf("%v kind not handled", t.Kind()))
+ }
+}
+
+func (s *state) tryOptions(t reflect.Type, vx, vy reflect.Value) bool {
+ // Evaluate all filters and apply the remaining options.
+ if opt := s.opts.filter(s, t, vx, vy); opt != nil {
+ opt.apply(s, vx, vy)
+ return true
+ }
+ return false
+}
+
+func (s *state) tryMethod(t reflect.Type, vx, vy reflect.Value) bool {
+ // Check if this type even has an Equal method.
+ m, ok := t.MethodByName("Equal")
+ if !ok || !function.IsType(m.Type, function.EqualAssignable) {
+ return false
+ }
+
+ eq := s.callTTBFunc(m.Func, vx, vy)
+ s.report(eq, reportByMethod)
+ return true
+}
+
+func (s *state) callTRFunc(f, v reflect.Value, step Transform) reflect.Value {
+ v = sanitizeValue(v, f.Type().In(0))
+ if !s.dynChecker.Next() {
+ return f.Call([]reflect.Value{v})[0]
+ }
+
+ // Run the function twice and ensure that we get the same results back.
+ // We run in goroutines so that the race detector (if enabled) can detect
+ // unsafe mutations to the input.
+ c := make(chan reflect.Value)
+ go detectRaces(c, f, v)
+ got := <-c
+ want := f.Call([]reflect.Value{v})[0]
+ if step.vx, step.vy = got, want; !s.statelessCompare(step).Equal() {
+ // To avoid false-positives with non-reflexive equality operations,
+ // we sanity check whether a value is equal to itself.
+ if step.vx, step.vy = want, want; !s.statelessCompare(step).Equal() {
+ return want
+ }
+ panic(fmt.Sprintf("non-deterministic function detected: %s", function.NameOf(f)))
+ }
+ return want
+}
+
+func (s *state) callTTBFunc(f, x, y reflect.Value) bool {
+ x = sanitizeValue(x, f.Type().In(0))
+ y = sanitizeValue(y, f.Type().In(1))
+ if !s.dynChecker.Next() {
+ return f.Call([]reflect.Value{x, y})[0].Bool()
+ }
+
+ // Swapping the input arguments is sufficient to check that
+ // f is symmetric and deterministic.
+ // We run in goroutines so that the race detector (if enabled) can detect
+ // unsafe mutations to the input.
+ c := make(chan reflect.Value)
+ go detectRaces(c, f, y, x)
+ got := <-c
+ want := f.Call([]reflect.Value{x, y})[0].Bool()
+ if !got.IsValid() || got.Bool() != want {
+ panic(fmt.Sprintf("non-deterministic or non-symmetric function detected: %s", function.NameOf(f)))
+ }
+ return want
+}
+
+func detectRaces(c chan<- reflect.Value, f reflect.Value, vs ...reflect.Value) {
+ var ret reflect.Value
+ defer func() {
+ recover() // Ignore panics, let the other call to f panic instead
+ c <- ret
+ }()
+ ret = f.Call(vs)[0]
+}
+
+// sanitizeValue converts nil interfaces of type T to those of type R,
+// assuming that T is assignable to R.
+// Otherwise, it returns the input value as is.
+func sanitizeValue(v reflect.Value, t reflect.Type) reflect.Value {
+ // TODO(dsnet): Workaround for reflect bug (https://golang.org/issue/22143).
+ if !flags.AtLeastGo110 {
+ if v.Kind() == reflect.Interface && v.IsNil() && v.Type() != t {
+ return reflect.New(t).Elem()
+ }
+ }
+ return v
+}
+
+func (s *state) compareStruct(t reflect.Type, vx, vy reflect.Value) {
+ var vax, vay reflect.Value // Addressable versions of vx and vy
+
+ var mayForce, mayForceInit bool
+ step := StructField{&structField{}}
+ for i := 0; i < t.NumField(); i++ {
+ step.typ = t.Field(i).Type
+ step.vx = vx.Field(i)
+ step.vy = vy.Field(i)
+ step.name = t.Field(i).Name
+ step.idx = i
+ step.unexported = !isExported(step.name)
+ if step.unexported {
+ if step.name == "_" {
+ continue
+ }
+ // Defer checking of unexported fields until later to give an
+ // Ignore a chance to ignore the field.
+ if !vax.IsValid() || !vay.IsValid() {
+ // For retrieveUnexportedField to work, the parent struct must
+ // be addressable. Create a new copy of the values if
+ // necessary to make them addressable.
+ vax = makeAddressable(vx)
+ vay = makeAddressable(vy)
+ }
+ if !mayForceInit {
+ for _, xf := range s.exporters {
+ mayForce = mayForce || xf(t)
+ }
+ mayForceInit = true
+ }
+ step.mayForce = mayForce
+ step.pvx = vax
+ step.pvy = vay
+ step.field = t.Field(i)
+ }
+ s.compareAny(step)
+ }
+}
+
+func (s *state) compareSlice(t reflect.Type, vx, vy reflect.Value) {
+ isSlice := t.Kind() == reflect.Slice
+ if isSlice && (vx.IsNil() || vy.IsNil()) {
+ s.report(vx.IsNil() && vy.IsNil(), 0)
+ return
+ }
+
+ // NOTE: It is incorrect to call curPtrs.Push on the slice header pointer
+ // since slices represents a list of pointers, rather than a single pointer.
+ // The pointer checking logic must be handled on a per-element basis
+ // in compareAny.
+ //
+ // A slice header (see reflect.SliceHeader) in Go is a tuple of a starting
+ // pointer P, a length N, and a capacity C. Supposing each slice element has
+ // a memory size of M, then the slice is equivalent to the list of pointers:
+ // [P+i*M for i in range(N)]
+ //
+ // For example, v[:0] and v[:1] are slices with the same starting pointer,
+ // but they are clearly different values. Using the slice pointer alone
+ // violates the assumption that equal pointers implies equal values.
+
+ step := SliceIndex{&sliceIndex{pathStep: pathStep{typ: t.Elem()}, isSlice: isSlice}}
+ withIndexes := func(ix, iy int) SliceIndex {
+ if ix >= 0 {
+ step.vx, step.xkey = vx.Index(ix), ix
+ } else {
+ step.vx, step.xkey = reflect.Value{}, -1
+ }
+ if iy >= 0 {
+ step.vy, step.ykey = vy.Index(iy), iy
+ } else {
+ step.vy, step.ykey = reflect.Value{}, -1
+ }
+ return step
+ }
+
+ // Ignore options are able to ignore missing elements in a slice.
+ // However, detecting these reliably requires an optimal differencing
+ // algorithm, for which diff.Difference is not.
+ //
+ // Instead, we first iterate through both slices to detect which elements
+ // would be ignored if standing alone. The index of non-discarded elements
+ // are stored in a separate slice, which diffing is then performed on.
+ var indexesX, indexesY []int
+ var ignoredX, ignoredY []bool
+ for ix := 0; ix < vx.Len(); ix++ {
+ ignored := s.statelessCompare(withIndexes(ix, -1)).NumDiff == 0
+ if !ignored {
+ indexesX = append(indexesX, ix)
+ }
+ ignoredX = append(ignoredX, ignored)
+ }
+ for iy := 0; iy < vy.Len(); iy++ {
+ ignored := s.statelessCompare(withIndexes(-1, iy)).NumDiff == 0
+ if !ignored {
+ indexesY = append(indexesY, iy)
+ }
+ ignoredY = append(ignoredY, ignored)
+ }
+
+ // Compute an edit-script for slices vx and vy (excluding ignored elements).
+ edits := diff.Difference(len(indexesX), len(indexesY), func(ix, iy int) diff.Result {
+ return s.statelessCompare(withIndexes(indexesX[ix], indexesY[iy]))
+ })
+
+ // Replay the ignore-scripts and the edit-script.
+ var ix, iy int
+ for ix < vx.Len() || iy < vy.Len() {
+ var e diff.EditType
+ switch {
+ case ix < len(ignoredX) && ignoredX[ix]:
+ e = diff.UniqueX
+ case iy < len(ignoredY) && ignoredY[iy]:
+ e = diff.UniqueY
+ default:
+ e, edits = edits[0], edits[1:]
+ }
+ switch e {
+ case diff.UniqueX:
+ s.compareAny(withIndexes(ix, -1))
+ ix++
+ case diff.UniqueY:
+ s.compareAny(withIndexes(-1, iy))
+ iy++
+ default:
+ s.compareAny(withIndexes(ix, iy))
+ ix++
+ iy++
+ }
+ }
+}
+
+func (s *state) compareMap(t reflect.Type, vx, vy reflect.Value) {
+ if vx.IsNil() || vy.IsNil() {
+ s.report(vx.IsNil() && vy.IsNil(), 0)
+ return
+ }
+
+ // Cycle-detection for maps.
+ if eq, visited := s.curPtrs.Push(vx, vy); visited {
+ s.report(eq, reportByCycle)
+ return
+ }
+ defer s.curPtrs.Pop(vx, vy)
+
+ // We combine and sort the two map keys so that we can perform the
+ // comparisons in a deterministic order.
+ step := MapIndex{&mapIndex{pathStep: pathStep{typ: t.Elem()}}}
+ for _, k := range value.SortKeys(append(vx.MapKeys(), vy.MapKeys()...)) {
+ step.vx = vx.MapIndex(k)
+ step.vy = vy.MapIndex(k)
+ step.key = k
+ if !step.vx.IsValid() && !step.vy.IsValid() {
+ // It is possible for both vx and vy to be invalid if the
+ // key contained a NaN value in it.
+ //
+ // Even with the ability to retrieve NaN keys in Go 1.12,
+ // there still isn't a sensible way to compare the values since
+ // a NaN key may map to multiple unordered values.
+ // The most reasonable way to compare NaNs would be to compare the
+ // set of values. However, this is impossible to do efficiently
+ // since set equality is provably an O(n^2) operation given only
+ // an Equal function. If we had a Less function or Hash function,
+ // this could be done in O(n*log(n)) or O(n), respectively.
+ //
+ // Rather than adding complex logic to deal with NaNs, make it
+ // the user's responsibility to compare such obscure maps.
+ const help = "consider providing a Comparer to compare the map"
+ panic(fmt.Sprintf("%#v has map key with NaNs\n%s", s.curPath, help))
+ }
+ s.compareAny(step)
+ }
+}
+
+func (s *state) comparePtr(t reflect.Type, vx, vy reflect.Value) {
+ if vx.IsNil() || vy.IsNil() {
+ s.report(vx.IsNil() && vy.IsNil(), 0)
+ return
+ }
+
+ // Cycle-detection for pointers.
+ if eq, visited := s.curPtrs.Push(vx, vy); visited {
+ s.report(eq, reportByCycle)
+ return
+ }
+ defer s.curPtrs.Pop(vx, vy)
+
+ vx, vy = vx.Elem(), vy.Elem()
+ s.compareAny(Indirect{&indirect{pathStep{t.Elem(), vx, vy}}})
+}
+
+func (s *state) compareInterface(t reflect.Type, vx, vy reflect.Value) {
+ if vx.IsNil() || vy.IsNil() {
+ s.report(vx.IsNil() && vy.IsNil(), 0)
+ return
+ }
+ vx, vy = vx.Elem(), vy.Elem()
+ if vx.Type() != vy.Type() {
+ s.report(false, 0)
+ return
+ }
+ s.compareAny(TypeAssertion{&typeAssertion{pathStep{vx.Type(), vx, vy}}})
+}
+
+func (s *state) report(eq bool, rf resultFlags) {
+ if rf&reportByIgnore == 0 {
+ if eq {
+ s.result.NumSame++
+ rf |= reportEqual
+ } else {
+ s.result.NumDiff++
+ rf |= reportUnequal
+ }
+ }
+ for _, r := range s.reporters {
+ r.Report(Result{flags: rf})
+ }
+}
+
+// recChecker tracks the state needed to periodically perform checks that
+// user provided transformers are not stuck in an infinitely recursive cycle.
+type recChecker struct{ next int }
+
+// Check scans the Path for any recursive transformers and panics when any
+// recursive transformers are detected. Note that the presence of a
+// recursive Transformer does not necessarily imply an infinite cycle.
+// As such, this check only activates after some minimal number of path steps.
+func (rc *recChecker) Check(p Path) {
+ const minLen = 1 << 16
+ if rc.next == 0 {
+ rc.next = minLen
+ }
+ if len(p) < rc.next {
+ return
+ }
+ rc.next <<= 1
+
+ // Check whether the same transformer has appeared at least twice.
+ var ss []string
+ m := map[Option]int{}
+ for _, ps := range p {
+ if t, ok := ps.(Transform); ok {
+ t := t.Option()
+ if m[t] == 1 { // Transformer was used exactly once before
+ tf := t.(*transformer).fnc.Type()
+ ss = append(ss, fmt.Sprintf("%v: %v => %v", t, tf.In(0), tf.Out(0)))
+ }
+ m[t]++
+ }
+ }
+ if len(ss) > 0 {
+ const warning = "recursive set of Transformers detected"
+ const help = "consider using cmpopts.AcyclicTransformer"
+ set := strings.Join(ss, "\n\t")
+ panic(fmt.Sprintf("%s:\n\t%s\n%s", warning, set, help))
+ }
+}
+
+// dynChecker tracks the state needed to periodically perform checks that
+// user provided functions are symmetric and deterministic.
+// The zero value is safe for immediate use.
+type dynChecker struct{ curr, next int }
+
+// Next increments the state and reports whether a check should be performed.
+//
+// Checks occur every Nth function call, where N is a triangular number:
+// 0 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 ...
+// See https://en.wikipedia.org/wiki/Triangular_number
+//
+// This sequence ensures that the cost of checks drops significantly as
+// the number of functions calls grows larger.
+func (dc *dynChecker) Next() bool {
+ ok := dc.curr == dc.next
+ if ok {
+ dc.curr = 0
+ dc.next++
+ }
+ dc.curr++
+ return ok
+}
+
+// makeAddressable returns a value that is always addressable.
+// It returns the input verbatim if it is already addressable,
+// otherwise it creates a new value and returns an addressable copy.
+func makeAddressable(v reflect.Value) reflect.Value {
+ if v.CanAddr() {
+ return v
+ }
+ vc := reflect.New(v.Type()).Elem()
+ vc.Set(v)
+ return vc
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/export_panic.go b/vendor/github.com/google/go-cmp/cmp/export_panic.go
new file mode 100644
index 000000000..dd032354f
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/export_panic.go
@@ -0,0 +1,15 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build purego
+
+package cmp
+
+import "reflect"
+
+const supportExporters = false
+
+func retrieveUnexportedField(reflect.Value, reflect.StructField) reflect.Value {
+ panic("no support for forcibly accessing unexported fields")
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/export_unsafe.go b/vendor/github.com/google/go-cmp/cmp/export_unsafe.go
new file mode 100644
index 000000000..57020e26c
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/export_unsafe.go
@@ -0,0 +1,25 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build !purego
+
+package cmp
+
+import (
+ "reflect"
+ "unsafe"
+)
+
+const supportExporters = true
+
+// retrieveUnexportedField uses unsafe to forcibly retrieve any field from
+// a struct such that the value has read-write permissions.
+//
+// The parent struct, v, must be addressable, while f must be a StructField
+// describing the field to retrieve.
+func retrieveUnexportedField(v reflect.Value, f reflect.StructField) reflect.Value {
+ // See https://github.com/google/go-cmp/issues/167 for discussion of the
+ // following expression.
+ return reflect.NewAt(f.Type, unsafe.Pointer(uintptr(unsafe.Pointer(v.UnsafeAddr()))+f.Offset)).Elem()
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go
new file mode 100644
index 000000000..fe98dcc67
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go
@@ -0,0 +1,17 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build !cmp_debug
+
+package diff
+
+var debug debugger
+
+type debugger struct{}
+
+func (debugger) Begin(_, _ int, f EqualFunc, _, _ *EditScript) EqualFunc {
+ return f
+}
+func (debugger) Update() {}
+func (debugger) Finish() {}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go
new file mode 100644
index 000000000..597b6ae56
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go
@@ -0,0 +1,122 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build cmp_debug
+
+package diff
+
+import (
+ "fmt"
+ "strings"
+ "sync"
+ "time"
+)
+
+// The algorithm can be seen running in real-time by enabling debugging:
+// go test -tags=cmp_debug -v
+//
+// Example output:
+// === RUN TestDifference/#34
+// ┌───────────────────────────────┐
+// │ \ · · · · · · · · · · · · · · │
+// │ · # · · · · · · · · · · · · · │
+// │ · \ · · · · · · · · · · · · · │
+// │ · · \ · · · · · · · · · · · · │
+// │ · · · X # · · · · · · · · · · │
+// │ · · · # \ · · · · · · · · · · │
+// │ · · · · · # # · · · · · · · · │
+// │ · · · · · # \ · · · · · · · · │
+// │ · · · · · · · \ · · · · · · · │
+// │ · · · · · · · · \ · · · · · · │
+// │ · · · · · · · · · \ · · · · · │
+// │ · · · · · · · · · · \ · · # · │
+// │ · · · · · · · · · · · \ # # · │
+// │ · · · · · · · · · · · # # # · │
+// │ · · · · · · · · · · # # # # · │
+// │ · · · · · · · · · # # # # # · │
+// │ · · · · · · · · · · · · · · \ │
+// └───────────────────────────────┘
+// [.Y..M.XY......YXYXY.|]
+//
+// The grid represents the edit-graph where the horizontal axis represents
+// list X and the vertical axis represents list Y. The start of the two lists
+// is the top-left, while the ends are the bottom-right. The '·' represents
+// an unexplored node in the graph. The '\' indicates that the two symbols
+// from list X and Y are equal. The 'X' indicates that two symbols are similar
+// (but not exactly equal) to each other. The '#' indicates that the two symbols
+// are different (and not similar). The algorithm traverses this graph trying to
+// make the paths starting in the top-left and the bottom-right connect.
+//
+// The series of '.', 'X', 'Y', and 'M' characters at the bottom represents
+// the currently established path from the forward and reverse searches,
+// separated by a '|' character.
+
+const (
+ updateDelay = 100 * time.Millisecond
+ finishDelay = 500 * time.Millisecond
+ ansiTerminal = true // ANSI escape codes used to move terminal cursor
+)
+
+var debug debugger
+
+type debugger struct {
+ sync.Mutex
+ p1, p2 EditScript
+ fwdPath, revPath *EditScript
+ grid []byte
+ lines int
+}
+
+func (dbg *debugger) Begin(nx, ny int, f EqualFunc, p1, p2 *EditScript) EqualFunc {
+ dbg.Lock()
+ dbg.fwdPath, dbg.revPath = p1, p2
+ top := "┌─" + strings.Repeat("──", nx) + "┐\n"
+ row := "│ " + strings.Repeat("· ", nx) + "│\n"
+ btm := "└─" + strings.Repeat("──", nx) + "┘\n"
+ dbg.grid = []byte(top + strings.Repeat(row, ny) + btm)
+ dbg.lines = strings.Count(dbg.String(), "\n")
+ fmt.Print(dbg)
+
+ // Wrap the EqualFunc so that we can intercept each result.
+ return func(ix, iy int) (r Result) {
+ cell := dbg.grid[len(top)+iy*len(row):][len("│ ")+len("· ")*ix:][:len("·")]
+ for i := range cell {
+ cell[i] = 0 // Zero out the multiple bytes of UTF-8 middle-dot
+ }
+ switch r = f(ix, iy); {
+ case r.Equal():
+ cell[0] = '\\'
+ case r.Similar():
+ cell[0] = 'X'
+ default:
+ cell[0] = '#'
+ }
+ return
+ }
+}
+
+func (dbg *debugger) Update() {
+ dbg.print(updateDelay)
+}
+
+func (dbg *debugger) Finish() {
+ dbg.print(finishDelay)
+ dbg.Unlock()
+}
+
+func (dbg *debugger) String() string {
+ dbg.p1, dbg.p2 = *dbg.fwdPath, dbg.p2[:0]
+ for i := len(*dbg.revPath) - 1; i >= 0; i-- {
+ dbg.p2 = append(dbg.p2, (*dbg.revPath)[i])
+ }
+ return fmt.Sprintf("%s[%v|%v]\n\n", dbg.grid, dbg.p1, dbg.p2)
+}
+
+func (dbg *debugger) print(d time.Duration) {
+ if ansiTerminal {
+ fmt.Printf("\x1b[%dA", dbg.lines) // Reset terminal cursor
+ }
+ fmt.Print(dbg)
+ time.Sleep(d)
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/diff/diff.go b/vendor/github.com/google/go-cmp/cmp/internal/diff/diff.go
new file mode 100644
index 000000000..3d2e42662
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/diff/diff.go
@@ -0,0 +1,372 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// Package diff implements an algorithm for producing edit-scripts.
+// The edit-script is a sequence of operations needed to transform one list
+// of symbols into another (or vice-versa). The edits allowed are insertions,
+// deletions, and modifications. The summation of all edits is called the
+// Levenshtein distance as this problem is well-known in computer science.
+//
+// This package prioritizes performance over accuracy. That is, the run time
+// is more important than obtaining a minimal Levenshtein distance.
+package diff
+
+// EditType represents a single operation within an edit-script.
+type EditType uint8
+
+const (
+ // Identity indicates that a symbol pair is identical in both list X and Y.
+ Identity EditType = iota
+ // UniqueX indicates that a symbol only exists in X and not Y.
+ UniqueX
+ // UniqueY indicates that a symbol only exists in Y and not X.
+ UniqueY
+ // Modified indicates that a symbol pair is a modification of each other.
+ Modified
+)
+
+// EditScript represents the series of differences between two lists.
+type EditScript []EditType
+
+// String returns a human-readable string representing the edit-script where
+// Identity, UniqueX, UniqueY, and Modified are represented by the
+// '.', 'X', 'Y', and 'M' characters, respectively.
+func (es EditScript) String() string {
+ b := make([]byte, len(es))
+ for i, e := range es {
+ switch e {
+ case Identity:
+ b[i] = '.'
+ case UniqueX:
+ b[i] = 'X'
+ case UniqueY:
+ b[i] = 'Y'
+ case Modified:
+ b[i] = 'M'
+ default:
+ panic("invalid edit-type")
+ }
+ }
+ return string(b)
+}
+
+// stats returns a histogram of the number of each type of edit operation.
+func (es EditScript) stats() (s struct{ NI, NX, NY, NM int }) {
+ for _, e := range es {
+ switch e {
+ case Identity:
+ s.NI++
+ case UniqueX:
+ s.NX++
+ case UniqueY:
+ s.NY++
+ case Modified:
+ s.NM++
+ default:
+ panic("invalid edit-type")
+ }
+ }
+ return
+}
+
+// Dist is the Levenshtein distance and is guaranteed to be 0 if and only if
+// lists X and Y are equal.
+func (es EditScript) Dist() int { return len(es) - es.stats().NI }
+
+// LenX is the length of the X list.
+func (es EditScript) LenX() int { return len(es) - es.stats().NY }
+
+// LenY is the length of the Y list.
+func (es EditScript) LenY() int { return len(es) - es.stats().NX }
+
+// EqualFunc reports whether the symbols at indexes ix and iy are equal.
+// When called by Difference, the index is guaranteed to be within nx and ny.
+type EqualFunc func(ix int, iy int) Result
+
+// Result is the result of comparison.
+// NumSame is the number of sub-elements that are equal.
+// NumDiff is the number of sub-elements that are not equal.
+type Result struct{ NumSame, NumDiff int }
+
+// BoolResult returns a Result that is either Equal or not Equal.
+func BoolResult(b bool) Result {
+ if b {
+ return Result{NumSame: 1} // Equal, Similar
+ } else {
+ return Result{NumDiff: 2} // Not Equal, not Similar
+ }
+}
+
+// Equal indicates whether the symbols are equal. Two symbols are equal
+// if and only if NumDiff == 0. If Equal, then they are also Similar.
+func (r Result) Equal() bool { return r.NumDiff == 0 }
+
+// Similar indicates whether two symbols are similar and may be represented
+// by using the Modified type. As a special case, we consider binary comparisons
+// (i.e., those that return Result{1, 0} or Result{0, 1}) to be similar.
+//
+// The exact ratio of NumSame to NumDiff to determine similarity may change.
+func (r Result) Similar() bool {
+ // Use NumSame+1 to offset NumSame so that binary comparisons are similar.
+ return r.NumSame+1 >= r.NumDiff
+}
+
+// Difference reports whether two lists of lengths nx and ny are equal
+// given the definition of equality provided as f.
+//
+// This function returns an edit-script, which is a sequence of operations
+// needed to convert one list into the other. The following invariants for
+// the edit-script are maintained:
+// • eq == (es.Dist()==0)
+// • nx == es.LenX()
+// • ny == es.LenY()
+//
+// This algorithm is not guaranteed to be an optimal solution (i.e., one that
+// produces an edit-script with a minimal Levenshtein distance). This algorithm
+// favors performance over optimality. The exact output is not guaranteed to
+// be stable and may change over time.
+func Difference(nx, ny int, f EqualFunc) (es EditScript) {
+ // This algorithm is based on traversing what is known as an "edit-graph".
+ // See Figure 1 from "An O(ND) Difference Algorithm and Its Variations"
+ // by Eugene W. Myers. Since D can be as large as N itself, this is
+ // effectively O(N^2). Unlike the algorithm from that paper, we are not
+ // interested in the optimal path, but at least some "decent" path.
+ //
+ // For example, let X and Y be lists of symbols:
+ // X = [A B C A B B A]
+ // Y = [C B A B A C]
+ //
+ // The edit-graph can be drawn as the following:
+ // A B C A B B A
+ // ┌─────────────┐
+ // C │_|_|\|_|_|_|_│ 0
+ // B │_|\|_|_|\|\|_│ 1
+ // A │\|_|_|\|_|_|\│ 2
+ // B │_|\|_|_|\|\|_│ 3
+ // A │\|_|_|\|_|_|\│ 4
+ // C │ | |\| | | | │ 5
+ // └─────────────┘ 6
+ // 0 1 2 3 4 5 6 7
+ //
+ // List X is written along the horizontal axis, while list Y is written
+ // along the vertical axis. At any point on this grid, if the symbol in
+ // list X matches the corresponding symbol in list Y, then a '\' is drawn.
+ // The goal of any minimal edit-script algorithm is to find a path from the
+ // top-left corner to the bottom-right corner, while traveling through the
+ // fewest horizontal or vertical edges.
+ // A horizontal edge is equivalent to inserting a symbol from list X.
+ // A vertical edge is equivalent to inserting a symbol from list Y.
+ // A diagonal edge is equivalent to a matching symbol between both X and Y.
+
+ // Invariants:
+ // • 0 ≤ fwdPath.X ≤ (fwdFrontier.X, revFrontier.X) ≤ revPath.X ≤ nx
+ // • 0 ≤ fwdPath.Y ≤ (fwdFrontier.Y, revFrontier.Y) ≤ revPath.Y ≤ ny
+ //
+ // In general:
+ // • fwdFrontier.X < revFrontier.X
+ // • fwdFrontier.Y < revFrontier.Y
+ // Unless, it is time for the algorithm to terminate.
+ fwdPath := path{+1, point{0, 0}, make(EditScript, 0, (nx+ny)/2)}
+ revPath := path{-1, point{nx, ny}, make(EditScript, 0)}
+ fwdFrontier := fwdPath.point // Forward search frontier
+ revFrontier := revPath.point // Reverse search frontier
+
+ // Search budget bounds the cost of searching for better paths.
+ // The longest sequence of non-matching symbols that can be tolerated is
+ // approximately the square-root of the search budget.
+ searchBudget := 4 * (nx + ny) // O(n)
+
+ // The algorithm below is a greedy, meet-in-the-middle algorithm for
+ // computing sub-optimal edit-scripts between two lists.
+ //
+ // The algorithm is approximately as follows:
+ // • Searching for differences switches back-and-forth between
+ // a search that starts at the beginning (the top-left corner), and
+ // a search that starts at the end (the bottom-right corner). The goal of
+ // the search is connect with the search from the opposite corner.
+ // • As we search, we build a path in a greedy manner, where the first
+ // match seen is added to the path (this is sub-optimal, but provides a
+ // decent result in practice). When matches are found, we try the next pair
+ // of symbols in the lists and follow all matches as far as possible.
+ // • When searching for matches, we search along a diagonal going through
+ // through the "frontier" point. If no matches are found, we advance the
+ // frontier towards the opposite corner.
+ // • This algorithm terminates when either the X coordinates or the
+ // Y coordinates of the forward and reverse frontier points ever intersect.
+ //
+ // This algorithm is correct even if searching only in the forward direction
+ // or in the reverse direction. We do both because it is commonly observed
+ // that two lists commonly differ because elements were added to the front
+ // or end of the other list.
+ //
+ // Running the tests with the "cmp_debug" build tag prints a visualization
+ // of the algorithm running in real-time. This is educational for
+ // understanding how the algorithm works. See debug_enable.go.
+ f = debug.Begin(nx, ny, f, &fwdPath.es, &revPath.es)
+ for {
+ // Forward search from the beginning.
+ if fwdFrontier.X >= revFrontier.X || fwdFrontier.Y >= revFrontier.Y || searchBudget == 0 {
+ break
+ }
+ for stop1, stop2, i := false, false, 0; !(stop1 && stop2) && searchBudget > 0; i++ {
+ // Search in a diagonal pattern for a match.
+ z := zigzag(i)
+ p := point{fwdFrontier.X + z, fwdFrontier.Y - z}
+ switch {
+ case p.X >= revPath.X || p.Y < fwdPath.Y:
+ stop1 = true // Hit top-right corner
+ case p.Y >= revPath.Y || p.X < fwdPath.X:
+ stop2 = true // Hit bottom-left corner
+ case f(p.X, p.Y).Equal():
+ // Match found, so connect the path to this point.
+ fwdPath.connect(p, f)
+ fwdPath.append(Identity)
+ // Follow sequence of matches as far as possible.
+ for fwdPath.X < revPath.X && fwdPath.Y < revPath.Y {
+ if !f(fwdPath.X, fwdPath.Y).Equal() {
+ break
+ }
+ fwdPath.append(Identity)
+ }
+ fwdFrontier = fwdPath.point
+ stop1, stop2 = true, true
+ default:
+ searchBudget-- // Match not found
+ }
+ debug.Update()
+ }
+ // Advance the frontier towards reverse point.
+ if revPath.X-fwdFrontier.X >= revPath.Y-fwdFrontier.Y {
+ fwdFrontier.X++
+ } else {
+ fwdFrontier.Y++
+ }
+
+ // Reverse search from the end.
+ if fwdFrontier.X >= revFrontier.X || fwdFrontier.Y >= revFrontier.Y || searchBudget == 0 {
+ break
+ }
+ for stop1, stop2, i := false, false, 0; !(stop1 && stop2) && searchBudget > 0; i++ {
+ // Search in a diagonal pattern for a match.
+ z := zigzag(i)
+ p := point{revFrontier.X - z, revFrontier.Y + z}
+ switch {
+ case fwdPath.X >= p.X || revPath.Y < p.Y:
+ stop1 = true // Hit bottom-left corner
+ case fwdPath.Y >= p.Y || revPath.X < p.X:
+ stop2 = true // Hit top-right corner
+ case f(p.X-1, p.Y-1).Equal():
+ // Match found, so connect the path to this point.
+ revPath.connect(p, f)
+ revPath.append(Identity)
+ // Follow sequence of matches as far as possible.
+ for fwdPath.X < revPath.X && fwdPath.Y < revPath.Y {
+ if !f(revPath.X-1, revPath.Y-1).Equal() {
+ break
+ }
+ revPath.append(Identity)
+ }
+ revFrontier = revPath.point
+ stop1, stop2 = true, true
+ default:
+ searchBudget-- // Match not found
+ }
+ debug.Update()
+ }
+ // Advance the frontier towards forward point.
+ if revFrontier.X-fwdPath.X >= revFrontier.Y-fwdPath.Y {
+ revFrontier.X--
+ } else {
+ revFrontier.Y--
+ }
+ }
+
+ // Join the forward and reverse paths and then append the reverse path.
+ fwdPath.connect(revPath.point, f)
+ for i := len(revPath.es) - 1; i >= 0; i-- {
+ t := revPath.es[i]
+ revPath.es = revPath.es[:i]
+ fwdPath.append(t)
+ }
+ debug.Finish()
+ return fwdPath.es
+}
+
+type path struct {
+ dir int // +1 if forward, -1 if reverse
+ point // Leading point of the EditScript path
+ es EditScript
+}
+
+// connect appends any necessary Identity, Modified, UniqueX, or UniqueY types
+// to the edit-script to connect p.point to dst.
+func (p *path) connect(dst point, f EqualFunc) {
+ if p.dir > 0 {
+ // Connect in forward direction.
+ for dst.X > p.X && dst.Y > p.Y {
+ switch r := f(p.X, p.Y); {
+ case r.Equal():
+ p.append(Identity)
+ case r.Similar():
+ p.append(Modified)
+ case dst.X-p.X >= dst.Y-p.Y:
+ p.append(UniqueX)
+ default:
+ p.append(UniqueY)
+ }
+ }
+ for dst.X > p.X {
+ p.append(UniqueX)
+ }
+ for dst.Y > p.Y {
+ p.append(UniqueY)
+ }
+ } else {
+ // Connect in reverse direction.
+ for p.X > dst.X && p.Y > dst.Y {
+ switch r := f(p.X-1, p.Y-1); {
+ case r.Equal():
+ p.append(Identity)
+ case r.Similar():
+ p.append(Modified)
+ case p.Y-dst.Y >= p.X-dst.X:
+ p.append(UniqueY)
+ default:
+ p.append(UniqueX)
+ }
+ }
+ for p.X > dst.X {
+ p.append(UniqueX)
+ }
+ for p.Y > dst.Y {
+ p.append(UniqueY)
+ }
+ }
+}
+
+func (p *path) append(t EditType) {
+ p.es = append(p.es, t)
+ switch t {
+ case Identity, Modified:
+ p.add(p.dir, p.dir)
+ case UniqueX:
+ p.add(p.dir, 0)
+ case UniqueY:
+ p.add(0, p.dir)
+ }
+ debug.Update()
+}
+
+type point struct{ X, Y int }
+
+func (p *point) add(dx, dy int) { p.X += dx; p.Y += dy }
+
+// zigzag maps a consecutive sequence of integers to a zig-zag sequence.
+// [0 1 2 3 4 5 ...] => [0 -1 +1 -2 +2 ...]
+func zigzag(x int) int {
+ if x&1 != 0 {
+ x = ^x
+ }
+ return x >> 1
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go b/vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go
new file mode 100644
index 000000000..a9e7fc0b5
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go
@@ -0,0 +1,9 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package flags
+
+// Deterministic controls whether the output of Diff should be deterministic.
+// This is only used for testing.
+var Deterministic bool
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go b/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go
new file mode 100644
index 000000000..01aed0a15
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go
@@ -0,0 +1,10 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build !go1.10
+
+package flags
+
+// AtLeastGo110 reports whether the Go toolchain is at least Go 1.10.
+const AtLeastGo110 = false
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go b/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go
new file mode 100644
index 000000000..c0b667f58
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go
@@ -0,0 +1,10 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build go1.10
+
+package flags
+
+// AtLeastGo110 reports whether the Go toolchain is at least Go 1.10.
+const AtLeastGo110 = true
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/function/func.go b/vendor/github.com/google/go-cmp/cmp/internal/function/func.go
new file mode 100644
index 000000000..ace1dbe86
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/function/func.go
@@ -0,0 +1,99 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// Package function provides functionality for identifying function types.
+package function
+
+import (
+ "reflect"
+ "regexp"
+ "runtime"
+ "strings"
+)
+
+type funcType int
+
+const (
+ _ funcType = iota
+
+ tbFunc // func(T) bool
+ ttbFunc // func(T, T) bool
+ trbFunc // func(T, R) bool
+ tibFunc // func(T, I) bool
+ trFunc // func(T) R
+
+ Equal = ttbFunc // func(T, T) bool
+ EqualAssignable = tibFunc // func(T, I) bool; encapsulates func(T, T) bool
+ Transformer = trFunc // func(T) R
+ ValueFilter = ttbFunc // func(T, T) bool
+ Less = ttbFunc // func(T, T) bool
+ ValuePredicate = tbFunc // func(T) bool
+ KeyValuePredicate = trbFunc // func(T, R) bool
+)
+
+var boolType = reflect.TypeOf(true)
+
+// IsType reports whether the reflect.Type is of the specified function type.
+func IsType(t reflect.Type, ft funcType) bool {
+ if t == nil || t.Kind() != reflect.Func || t.IsVariadic() {
+ return false
+ }
+ ni, no := t.NumIn(), t.NumOut()
+ switch ft {
+ case tbFunc: // func(T) bool
+ if ni == 1 && no == 1 && t.Out(0) == boolType {
+ return true
+ }
+ case ttbFunc: // func(T, T) bool
+ if ni == 2 && no == 1 && t.In(0) == t.In(1) && t.Out(0) == boolType {
+ return true
+ }
+ case trbFunc: // func(T, R) bool
+ if ni == 2 && no == 1 && t.Out(0) == boolType {
+ return true
+ }
+ case tibFunc: // func(T, I) bool
+ if ni == 2 && no == 1 && t.In(0).AssignableTo(t.In(1)) && t.Out(0) == boolType {
+ return true
+ }
+ case trFunc: // func(T) R
+ if ni == 1 && no == 1 {
+ return true
+ }
+ }
+ return false
+}
+
+var lastIdentRx = regexp.MustCompile(`[_\p{L}][_\p{L}\p{N}]*$`)
+
+// NameOf returns the name of the function value.
+func NameOf(v reflect.Value) string {
+ fnc := runtime.FuncForPC(v.Pointer())
+ if fnc == nil {
+ return ""
+ }
+ fullName := fnc.Name() // e.g., "long/path/name/mypkg.(*MyType).(long/path/name/mypkg.myMethod)-fm"
+
+ // Method closures have a "-fm" suffix.
+ fullName = strings.TrimSuffix(fullName, "-fm")
+
+ var name string
+ for len(fullName) > 0 {
+ inParen := strings.HasSuffix(fullName, ")")
+ fullName = strings.TrimSuffix(fullName, ")")
+
+ s := lastIdentRx.FindString(fullName)
+ if s == "" {
+ break
+ }
+ name = s + "." + name
+ fullName = strings.TrimSuffix(fullName, s)
+
+ if i := strings.LastIndexByte(fullName, '('); inParen && i >= 0 {
+ fullName = fullName[:i]
+ }
+ fullName = strings.TrimSuffix(fullName, ".")
+ }
+ return strings.TrimSuffix(name, ".")
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go
new file mode 100644
index 000000000..0a01c4796
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go
@@ -0,0 +1,23 @@
+// Copyright 2018, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build purego
+
+package value
+
+import "reflect"
+
+// Pointer is an opaque typed pointer and is guaranteed to be comparable.
+type Pointer struct {
+ p uintptr
+ t reflect.Type
+}
+
+// PointerOf returns a Pointer from v, which must be a
+// reflect.Ptr, reflect.Slice, or reflect.Map.
+func PointerOf(v reflect.Value) Pointer {
+ // NOTE: Storing a pointer as an uintptr is technically incorrect as it
+ // assumes that the GC implementation does not use a moving collector.
+ return Pointer{v.Pointer(), v.Type()}
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go
new file mode 100644
index 000000000..da134ae2a
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go
@@ -0,0 +1,26 @@
+// Copyright 2018, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// +build !purego
+
+package value
+
+import (
+ "reflect"
+ "unsafe"
+)
+
+// Pointer is an opaque typed pointer and is guaranteed to be comparable.
+type Pointer struct {
+ p unsafe.Pointer
+ t reflect.Type
+}
+
+// PointerOf returns a Pointer from v, which must be a
+// reflect.Ptr, reflect.Slice, or reflect.Map.
+func PointerOf(v reflect.Value) Pointer {
+ // The proper representation of a pointer is unsafe.Pointer,
+ // which is necessary if the GC ever uses a moving collector.
+ return Pointer{unsafe.Pointer(v.Pointer()), v.Type()}
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/sort.go b/vendor/github.com/google/go-cmp/cmp/internal/value/sort.go
new file mode 100644
index 000000000..24fbae6e3
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/sort.go
@@ -0,0 +1,106 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package value
+
+import (
+ "fmt"
+ "math"
+ "reflect"
+ "sort"
+)
+
+// SortKeys sorts a list of map keys, deduplicating keys if necessary.
+// The type of each value must be comparable.
+func SortKeys(vs []reflect.Value) []reflect.Value {
+ if len(vs) == 0 {
+ return vs
+ }
+
+ // Sort the map keys.
+ sort.SliceStable(vs, func(i, j int) bool { return isLess(vs[i], vs[j]) })
+
+ // Deduplicate keys (fails for NaNs).
+ vs2 := vs[:1]
+ for _, v := range vs[1:] {
+ if isLess(vs2[len(vs2)-1], v) {
+ vs2 = append(vs2, v)
+ }
+ }
+ return vs2
+}
+
+// isLess is a generic function for sorting arbitrary map keys.
+// The inputs must be of the same type and must be comparable.
+func isLess(x, y reflect.Value) bool {
+ switch x.Type().Kind() {
+ case reflect.Bool:
+ return !x.Bool() && y.Bool()
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ return x.Int() < y.Int()
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ return x.Uint() < y.Uint()
+ case reflect.Float32, reflect.Float64:
+ // NOTE: This does not sort -0 as less than +0
+ // since Go maps treat -0 and +0 as equal keys.
+ fx, fy := x.Float(), y.Float()
+ return fx < fy || math.IsNaN(fx) && !math.IsNaN(fy)
+ case reflect.Complex64, reflect.Complex128:
+ cx, cy := x.Complex(), y.Complex()
+ rx, ix, ry, iy := real(cx), imag(cx), real(cy), imag(cy)
+ if rx == ry || (math.IsNaN(rx) && math.IsNaN(ry)) {
+ return ix < iy || math.IsNaN(ix) && !math.IsNaN(iy)
+ }
+ return rx < ry || math.IsNaN(rx) && !math.IsNaN(ry)
+ case reflect.Ptr, reflect.UnsafePointer, reflect.Chan:
+ return x.Pointer() < y.Pointer()
+ case reflect.String:
+ return x.String() < y.String()
+ case reflect.Array:
+ for i := 0; i < x.Len(); i++ {
+ if isLess(x.Index(i), y.Index(i)) {
+ return true
+ }
+ if isLess(y.Index(i), x.Index(i)) {
+ return false
+ }
+ }
+ return false
+ case reflect.Struct:
+ for i := 0; i < x.NumField(); i++ {
+ if isLess(x.Field(i), y.Field(i)) {
+ return true
+ }
+ if isLess(y.Field(i), x.Field(i)) {
+ return false
+ }
+ }
+ return false
+ case reflect.Interface:
+ vx, vy := x.Elem(), y.Elem()
+ if !vx.IsValid() || !vy.IsValid() {
+ return !vx.IsValid() && vy.IsValid()
+ }
+ tx, ty := vx.Type(), vy.Type()
+ if tx == ty {
+ return isLess(x.Elem(), y.Elem())
+ }
+ if tx.Kind() != ty.Kind() {
+ return vx.Kind() < vy.Kind()
+ }
+ if tx.String() != ty.String() {
+ return tx.String() < ty.String()
+ }
+ if tx.PkgPath() != ty.PkgPath() {
+ return tx.PkgPath() < ty.PkgPath()
+ }
+ // This can happen in rare situations, so we fallback to just comparing
+ // the unique pointer for a reflect.Type. This guarantees deterministic
+ // ordering within a program, but it is obviously not stable.
+ return reflect.ValueOf(vx.Type()).Pointer() < reflect.ValueOf(vy.Type()).Pointer()
+ default:
+ // Must be Func, Map, or Slice; which are not comparable.
+ panic(fmt.Sprintf("%T is not comparable", x.Type()))
+ }
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/zero.go b/vendor/github.com/google/go-cmp/cmp/internal/value/zero.go
new file mode 100644
index 000000000..06a8ffd03
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/zero.go
@@ -0,0 +1,48 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package value
+
+import (
+ "math"
+ "reflect"
+)
+
+// IsZero reports whether v is the zero value.
+// This does not rely on Interface and so can be used on unexported fields.
+func IsZero(v reflect.Value) bool {
+ switch v.Kind() {
+ case reflect.Bool:
+ return v.Bool() == false
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ return v.Int() == 0
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ return v.Uint() == 0
+ case reflect.Float32, reflect.Float64:
+ return math.Float64bits(v.Float()) == 0
+ case reflect.Complex64, reflect.Complex128:
+ return math.Float64bits(real(v.Complex())) == 0 && math.Float64bits(imag(v.Complex())) == 0
+ case reflect.String:
+ return v.String() == ""
+ case reflect.UnsafePointer:
+ return v.Pointer() == 0
+ case reflect.Chan, reflect.Func, reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice:
+ return v.IsNil()
+ case reflect.Array:
+ for i := 0; i < v.Len(); i++ {
+ if !IsZero(v.Index(i)) {
+ return false
+ }
+ }
+ return true
+ case reflect.Struct:
+ for i := 0; i < v.NumField(); i++ {
+ if !IsZero(v.Field(i)) {
+ return false
+ }
+ }
+ return true
+ }
+ return false
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/options.go b/vendor/github.com/google/go-cmp/cmp/options.go
new file mode 100644
index 000000000..abbd2a63b
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/options.go
@@ -0,0 +1,549 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import (
+ "fmt"
+ "reflect"
+ "regexp"
+ "strings"
+
+ "github.com/google/go-cmp/cmp/internal/function"
+)
+
+// Option configures for specific behavior of Equal and Diff. In particular,
+// the fundamental Option functions (Ignore, Transformer, and Comparer),
+// configure how equality is determined.
+//
+// The fundamental options may be composed with filters (FilterPath and
+// FilterValues) to control the scope over which they are applied.
+//
+// The cmp/cmpopts package provides helper functions for creating options that
+// may be used with Equal and Diff.
+type Option interface {
+ // filter applies all filters and returns the option that remains.
+ // Each option may only read s.curPath and call s.callTTBFunc.
+ //
+ // An Options is returned only if multiple comparers or transformers
+ // can apply simultaneously and will only contain values of those types
+ // or sub-Options containing values of those types.
+ filter(s *state, t reflect.Type, vx, vy reflect.Value) applicableOption
+}
+
+// applicableOption represents the following types:
+// Fundamental: ignore | validator | *comparer | *transformer
+// Grouping: Options
+type applicableOption interface {
+ Option
+
+ // apply executes the option, which may mutate s or panic.
+ apply(s *state, vx, vy reflect.Value)
+}
+
+// coreOption represents the following types:
+// Fundamental: ignore | validator | *comparer | *transformer
+// Filters: *pathFilter | *valuesFilter
+type coreOption interface {
+ Option
+ isCore()
+}
+
+type core struct{}
+
+func (core) isCore() {}
+
+// Options is a list of Option values that also satisfies the Option interface.
+// Helper comparison packages may return an Options value when packing multiple
+// Option values into a single Option. When this package processes an Options,
+// it will be implicitly expanded into a flat list.
+//
+// Applying a filter on an Options is equivalent to applying that same filter
+// on all individual options held within.
+type Options []Option
+
+func (opts Options) filter(s *state, t reflect.Type, vx, vy reflect.Value) (out applicableOption) {
+ for _, opt := range opts {
+ switch opt := opt.filter(s, t, vx, vy); opt.(type) {
+ case ignore:
+ return ignore{} // Only ignore can short-circuit evaluation
+ case validator:
+ out = validator{} // Takes precedence over comparer or transformer
+ case *comparer, *transformer, Options:
+ switch out.(type) {
+ case nil:
+ out = opt
+ case validator:
+ // Keep validator
+ case *comparer, *transformer, Options:
+ out = Options{out, opt} // Conflicting comparers or transformers
+ }
+ }
+ }
+ return out
+}
+
+func (opts Options) apply(s *state, _, _ reflect.Value) {
+ const warning = "ambiguous set of applicable options"
+ const help = "consider using filters to ensure at most one Comparer or Transformer may apply"
+ var ss []string
+ for _, opt := range flattenOptions(nil, opts) {
+ ss = append(ss, fmt.Sprint(opt))
+ }
+ set := strings.Join(ss, "\n\t")
+ panic(fmt.Sprintf("%s at %#v:\n\t%s\n%s", warning, s.curPath, set, help))
+}
+
+func (opts Options) String() string {
+ var ss []string
+ for _, opt := range opts {
+ ss = append(ss, fmt.Sprint(opt))
+ }
+ return fmt.Sprintf("Options{%s}", strings.Join(ss, ", "))
+}
+
+// FilterPath returns a new Option where opt is only evaluated if filter f
+// returns true for the current Path in the value tree.
+//
+// This filter is called even if a slice element or map entry is missing and
+// provides an opportunity to ignore such cases. The filter function must be
+// symmetric such that the filter result is identical regardless of whether the
+// missing value is from x or y.
+//
+// The option passed in may be an Ignore, Transformer, Comparer, Options, or
+// a previously filtered Option.
+func FilterPath(f func(Path) bool, opt Option) Option {
+ if f == nil {
+ panic("invalid path filter function")
+ }
+ if opt := normalizeOption(opt); opt != nil {
+ return &pathFilter{fnc: f, opt: opt}
+ }
+ return nil
+}
+
+type pathFilter struct {
+ core
+ fnc func(Path) bool
+ opt Option
+}
+
+func (f pathFilter) filter(s *state, t reflect.Type, vx, vy reflect.Value) applicableOption {
+ if f.fnc(s.curPath) {
+ return f.opt.filter(s, t, vx, vy)
+ }
+ return nil
+}
+
+func (f pathFilter) String() string {
+ return fmt.Sprintf("FilterPath(%s, %v)", function.NameOf(reflect.ValueOf(f.fnc)), f.opt)
+}
+
+// FilterValues returns a new Option where opt is only evaluated if filter f,
+// which is a function of the form "func(T, T) bool", returns true for the
+// current pair of values being compared. If either value is invalid or
+// the type of the values is not assignable to T, then this filter implicitly
+// returns false.
+//
+// The filter function must be
+// symmetric (i.e., agnostic to the order of the inputs) and
+// deterministic (i.e., produces the same result when given the same inputs).
+// If T is an interface, it is possible that f is called with two values with
+// different concrete types that both implement T.
+//
+// The option passed in may be an Ignore, Transformer, Comparer, Options, or
+// a previously filtered Option.
+func FilterValues(f interface{}, opt Option) Option {
+ v := reflect.ValueOf(f)
+ if !function.IsType(v.Type(), function.ValueFilter) || v.IsNil() {
+ panic(fmt.Sprintf("invalid values filter function: %T", f))
+ }
+ if opt := normalizeOption(opt); opt != nil {
+ vf := &valuesFilter{fnc: v, opt: opt}
+ if ti := v.Type().In(0); ti.Kind() != reflect.Interface || ti.NumMethod() > 0 {
+ vf.typ = ti
+ }
+ return vf
+ }
+ return nil
+}
+
+type valuesFilter struct {
+ core
+ typ reflect.Type // T
+ fnc reflect.Value // func(T, T) bool
+ opt Option
+}
+
+func (f valuesFilter) filter(s *state, t reflect.Type, vx, vy reflect.Value) applicableOption {
+ if !vx.IsValid() || !vx.CanInterface() || !vy.IsValid() || !vy.CanInterface() {
+ return nil
+ }
+ if (f.typ == nil || t.AssignableTo(f.typ)) && s.callTTBFunc(f.fnc, vx, vy) {
+ return f.opt.filter(s, t, vx, vy)
+ }
+ return nil
+}
+
+func (f valuesFilter) String() string {
+ return fmt.Sprintf("FilterValues(%s, %v)", function.NameOf(f.fnc), f.opt)
+}
+
+// Ignore is an Option that causes all comparisons to be ignored.
+// This value is intended to be combined with FilterPath or FilterValues.
+// It is an error to pass an unfiltered Ignore option to Equal.
+func Ignore() Option { return ignore{} }
+
+type ignore struct{ core }
+
+func (ignore) isFiltered() bool { return false }
+func (ignore) filter(_ *state, _ reflect.Type, _, _ reflect.Value) applicableOption { return ignore{} }
+func (ignore) apply(s *state, _, _ reflect.Value) { s.report(true, reportByIgnore) }
+func (ignore) String() string { return "Ignore()" }
+
+// validator is a sentinel Option type to indicate that some options could not
+// be evaluated due to unexported fields, missing slice elements, or
+// missing map entries. Both values are validator only for unexported fields.
+type validator struct{ core }
+
+func (validator) filter(_ *state, _ reflect.Type, vx, vy reflect.Value) applicableOption {
+ if !vx.IsValid() || !vy.IsValid() {
+ return validator{}
+ }
+ if !vx.CanInterface() || !vy.CanInterface() {
+ return validator{}
+ }
+ return nil
+}
+func (validator) apply(s *state, vx, vy reflect.Value) {
+ // Implies missing slice element or map entry.
+ if !vx.IsValid() || !vy.IsValid() {
+ s.report(vx.IsValid() == vy.IsValid(), 0)
+ return
+ }
+
+ // Unable to Interface implies unexported field without visibility access.
+ if !vx.CanInterface() || !vy.CanInterface() {
+ const help = "consider using a custom Comparer; if you control the implementation of type, you can also consider using an Exporter, AllowUnexported, or cmpopts.IgnoreUnexported"
+ var name string
+ if t := s.curPath.Index(-2).Type(); t.Name() != "" {
+ // Named type with unexported fields.
+ name = fmt.Sprintf("%q.%v", t.PkgPath(), t.Name()) // e.g., "path/to/package".MyType
+ } else {
+ // Unnamed type with unexported fields. Derive PkgPath from field.
+ var pkgPath string
+ for i := 0; i < t.NumField() && pkgPath == ""; i++ {
+ pkgPath = t.Field(i).PkgPath
+ }
+ name = fmt.Sprintf("%q.(%v)", pkgPath, t.String()) // e.g., "path/to/package".(struct { a int })
+ }
+ panic(fmt.Sprintf("cannot handle unexported field at %#v:\n\t%v\n%s", s.curPath, name, help))
+ }
+
+ panic("not reachable")
+}
+
+// identRx represents a valid identifier according to the Go specification.
+const identRx = `[_\p{L}][_\p{L}\p{N}]*`
+
+var identsRx = regexp.MustCompile(`^` + identRx + `(\.` + identRx + `)*$`)
+
+// Transformer returns an Option that applies a transformation function that
+// converts values of a certain type into that of another.
+//
+// The transformer f must be a function "func(T) R" that converts values of
+// type T to those of type R and is implicitly filtered to input values
+// assignable to T. The transformer must not mutate T in any way.
+//
+// To help prevent some cases of infinite recursive cycles applying the
+// same transform to the output of itself (e.g., in the case where the
+// input and output types are the same), an implicit filter is added such that
+// a transformer is applicable only if that exact transformer is not already
+// in the tail of the Path since the last non-Transform step.
+// For situations where the implicit filter is still insufficient,
+// consider using cmpopts.AcyclicTransformer, which adds a filter
+// to prevent the transformer from being recursively applied upon itself.
+//
+// The name is a user provided label that is used as the Transform.Name in the
+// transformation PathStep (and eventually shown in the Diff output).
+// The name must be a valid identifier or qualified identifier in Go syntax.
+// If empty, an arbitrary name is used.
+func Transformer(name string, f interface{}) Option {
+ v := reflect.ValueOf(f)
+ if !function.IsType(v.Type(), function.Transformer) || v.IsNil() {
+ panic(fmt.Sprintf("invalid transformer function: %T", f))
+ }
+ if name == "" {
+ name = function.NameOf(v)
+ if !identsRx.MatchString(name) {
+ name = "λ" // Lambda-symbol as placeholder name
+ }
+ } else if !identsRx.MatchString(name) {
+ panic(fmt.Sprintf("invalid name: %q", name))
+ }
+ tr := &transformer{name: name, fnc: reflect.ValueOf(f)}
+ if ti := v.Type().In(0); ti.Kind() != reflect.Interface || ti.NumMethod() > 0 {
+ tr.typ = ti
+ }
+ return tr
+}
+
+type transformer struct {
+ core
+ name string
+ typ reflect.Type // T
+ fnc reflect.Value // func(T) R
+}
+
+func (tr *transformer) isFiltered() bool { return tr.typ != nil }
+
+func (tr *transformer) filter(s *state, t reflect.Type, _, _ reflect.Value) applicableOption {
+ for i := len(s.curPath) - 1; i >= 0; i-- {
+ if t, ok := s.curPath[i].(Transform); !ok {
+ break // Hit most recent non-Transform step
+ } else if tr == t.trans {
+ return nil // Cannot directly use same Transform
+ }
+ }
+ if tr.typ == nil || t.AssignableTo(tr.typ) {
+ return tr
+ }
+ return nil
+}
+
+func (tr *transformer) apply(s *state, vx, vy reflect.Value) {
+ step := Transform{&transform{pathStep{typ: tr.fnc.Type().Out(0)}, tr}}
+ vvx := s.callTRFunc(tr.fnc, vx, step)
+ vvy := s.callTRFunc(tr.fnc, vy, step)
+ step.vx, step.vy = vvx, vvy
+ s.compareAny(step)
+}
+
+func (tr transformer) String() string {
+ return fmt.Sprintf("Transformer(%s, %s)", tr.name, function.NameOf(tr.fnc))
+}
+
+// Comparer returns an Option that determines whether two values are equal
+// to each other.
+//
+// The comparer f must be a function "func(T, T) bool" and is implicitly
+// filtered to input values assignable to T. If T is an interface, it is
+// possible that f is called with two values of different concrete types that
+// both implement T.
+//
+// The equality function must be:
+// • Symmetric: equal(x, y) == equal(y, x)
+// • Deterministic: equal(x, y) == equal(x, y)
+// • Pure: equal(x, y) does not modify x or y
+func Comparer(f interface{}) Option {
+ v := reflect.ValueOf(f)
+ if !function.IsType(v.Type(), function.Equal) || v.IsNil() {
+ panic(fmt.Sprintf("invalid comparer function: %T", f))
+ }
+ cm := &comparer{fnc: v}
+ if ti := v.Type().In(0); ti.Kind() != reflect.Interface || ti.NumMethod() > 0 {
+ cm.typ = ti
+ }
+ return cm
+}
+
+type comparer struct {
+ core
+ typ reflect.Type // T
+ fnc reflect.Value // func(T, T) bool
+}
+
+func (cm *comparer) isFiltered() bool { return cm.typ != nil }
+
+func (cm *comparer) filter(_ *state, t reflect.Type, _, _ reflect.Value) applicableOption {
+ if cm.typ == nil || t.AssignableTo(cm.typ) {
+ return cm
+ }
+ return nil
+}
+
+func (cm *comparer) apply(s *state, vx, vy reflect.Value) {
+ eq := s.callTTBFunc(cm.fnc, vx, vy)
+ s.report(eq, reportByFunc)
+}
+
+func (cm comparer) String() string {
+ return fmt.Sprintf("Comparer(%s)", function.NameOf(cm.fnc))
+}
+
+// Exporter returns an Option that specifies whether Equal is allowed to
+// introspect into the unexported fields of certain struct types.
+//
+// Users of this option must understand that comparing on unexported fields
+// from external packages is not safe since changes in the internal
+// implementation of some external package may cause the result of Equal
+// to unexpectedly change. However, it may be valid to use this option on types
+// defined in an internal package where the semantic meaning of an unexported
+// field is in the control of the user.
+//
+// In many cases, a custom Comparer should be used instead that defines
+// equality as a function of the public API of a type rather than the underlying
+// unexported implementation.
+//
+// For example, the reflect.Type documentation defines equality to be determined
+// by the == operator on the interface (essentially performing a shallow pointer
+// comparison) and most attempts to compare *regexp.Regexp types are interested
+// in only checking that the regular expression strings are equal.
+// Both of these are accomplished using Comparers:
+//
+// Comparer(func(x, y reflect.Type) bool { return x == y })
+// Comparer(func(x, y *regexp.Regexp) bool { return x.String() == y.String() })
+//
+// In other cases, the cmpopts.IgnoreUnexported option can be used to ignore
+// all unexported fields on specified struct types.
+func Exporter(f func(reflect.Type) bool) Option {
+ if !supportExporters {
+ panic("Exporter is not supported on purego builds")
+ }
+ return exporter(f)
+}
+
+type exporter func(reflect.Type) bool
+
+func (exporter) filter(_ *state, _ reflect.Type, _, _ reflect.Value) applicableOption {
+ panic("not implemented")
+}
+
+// AllowUnexported returns an Options that allows Equal to forcibly introspect
+// unexported fields of the specified struct types.
+//
+// See Exporter for the proper use of this option.
+func AllowUnexported(types ...interface{}) Option {
+ m := make(map[reflect.Type]bool)
+ for _, typ := range types {
+ t := reflect.TypeOf(typ)
+ if t.Kind() != reflect.Struct {
+ panic(fmt.Sprintf("invalid struct type: %T", typ))
+ }
+ m[t] = true
+ }
+ return exporter(func(t reflect.Type) bool { return m[t] })
+}
+
+// Result represents the comparison result for a single node and
+// is provided by cmp when calling Result (see Reporter).
+type Result struct {
+ _ [0]func() // Make Result incomparable
+ flags resultFlags
+}
+
+// Equal reports whether the node was determined to be equal or not.
+// As a special case, ignored nodes are considered equal.
+func (r Result) Equal() bool {
+ return r.flags&(reportEqual|reportByIgnore) != 0
+}
+
+// ByIgnore reports whether the node is equal because it was ignored.
+// This never reports true if Equal reports false.
+func (r Result) ByIgnore() bool {
+ return r.flags&reportByIgnore != 0
+}
+
+// ByMethod reports whether the Equal method determined equality.
+func (r Result) ByMethod() bool {
+ return r.flags&reportByMethod != 0
+}
+
+// ByFunc reports whether a Comparer function determined equality.
+func (r Result) ByFunc() bool {
+ return r.flags&reportByFunc != 0
+}
+
+// ByCycle reports whether a reference cycle was detected.
+func (r Result) ByCycle() bool {
+ return r.flags&reportByCycle != 0
+}
+
+type resultFlags uint
+
+const (
+ _ resultFlags = (1 << iota) / 2
+
+ reportEqual
+ reportUnequal
+ reportByIgnore
+ reportByMethod
+ reportByFunc
+ reportByCycle
+)
+
+// Reporter is an Option that can be passed to Equal. When Equal traverses
+// the value trees, it calls PushStep as it descends into each node in the
+// tree and PopStep as it ascend out of the node. The leaves of the tree are
+// either compared (determined to be equal or not equal) or ignored and reported
+// as such by calling the Report method.
+func Reporter(r interface {
+ // PushStep is called when a tree-traversal operation is performed.
+ // The PathStep itself is only valid until the step is popped.
+ // The PathStep.Values are valid for the duration of the entire traversal
+ // and must not be mutated.
+ //
+ // Equal always calls PushStep at the start to provide an operation-less
+ // PathStep used to report the root values.
+ //
+ // Within a slice, the exact set of inserted, removed, or modified elements
+ // is unspecified and may change in future implementations.
+ // The entries of a map are iterated through in an unspecified order.
+ PushStep(PathStep)
+
+ // Report is called exactly once on leaf nodes to report whether the
+ // comparison identified the node as equal, unequal, or ignored.
+ // A leaf node is one that is immediately preceded by and followed by
+ // a pair of PushStep and PopStep calls.
+ Report(Result)
+
+ // PopStep ascends back up the value tree.
+ // There is always a matching pop call for every push call.
+ PopStep()
+}) Option {
+ return reporter{r}
+}
+
+type reporter struct{ reporterIface }
+type reporterIface interface {
+ PushStep(PathStep)
+ Report(Result)
+ PopStep()
+}
+
+func (reporter) filter(_ *state, _ reflect.Type, _, _ reflect.Value) applicableOption {
+ panic("not implemented")
+}
+
+// normalizeOption normalizes the input options such that all Options groups
+// are flattened and groups with a single element are reduced to that element.
+// Only coreOptions and Options containing coreOptions are allowed.
+func normalizeOption(src Option) Option {
+ switch opts := flattenOptions(nil, Options{src}); len(opts) {
+ case 0:
+ return nil
+ case 1:
+ return opts[0]
+ default:
+ return opts
+ }
+}
+
+// flattenOptions copies all options in src to dst as a flat list.
+// Only coreOptions and Options containing coreOptions are allowed.
+func flattenOptions(dst, src Options) Options {
+ for _, opt := range src {
+ switch opt := opt.(type) {
+ case nil:
+ continue
+ case Options:
+ dst = flattenOptions(dst, opt)
+ case coreOption:
+ dst = append(dst, opt)
+ default:
+ panic(fmt.Sprintf("invalid option type: %T", opt))
+ }
+ }
+ return dst
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/path.go b/vendor/github.com/google/go-cmp/cmp/path.go
new file mode 100644
index 000000000..509d6b852
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/path.go
@@ -0,0 +1,377 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+ "unicode"
+ "unicode/utf8"
+
+ "github.com/google/go-cmp/cmp/internal/value"
+)
+
+// Path is a list of PathSteps describing the sequence of operations to get
+// from some root type to the current position in the value tree.
+// The first Path element is always an operation-less PathStep that exists
+// simply to identify the initial type.
+//
+// When traversing structs with embedded structs, the embedded struct will
+// always be accessed as a field before traversing the fields of the
+// embedded struct themselves. That is, an exported field from the
+// embedded struct will never be accessed directly from the parent struct.
+type Path []PathStep
+
+// PathStep is a union-type for specific operations to traverse
+// a value's tree structure. Users of this package never need to implement
+// these types as values of this type will be returned by this package.
+//
+// Implementations of this interface are
+// StructField, SliceIndex, MapIndex, Indirect, TypeAssertion, and Transform.
+type PathStep interface {
+ String() string
+
+ // Type is the resulting type after performing the path step.
+ Type() reflect.Type
+
+ // Values is the resulting values after performing the path step.
+ // The type of each valid value is guaranteed to be identical to Type.
+ //
+ // In some cases, one or both may be invalid or have restrictions:
+ // • For StructField, both are not interface-able if the current field
+ // is unexported and the struct type is not explicitly permitted by
+ // an Exporter to traverse unexported fields.
+ // • For SliceIndex, one may be invalid if an element is missing from
+ // either the x or y slice.
+ // • For MapIndex, one may be invalid if an entry is missing from
+ // either the x or y map.
+ //
+ // The provided values must not be mutated.
+ Values() (vx, vy reflect.Value)
+}
+
+var (
+ _ PathStep = StructField{}
+ _ PathStep = SliceIndex{}
+ _ PathStep = MapIndex{}
+ _ PathStep = Indirect{}
+ _ PathStep = TypeAssertion{}
+ _ PathStep = Transform{}
+)
+
+func (pa *Path) push(s PathStep) {
+ *pa = append(*pa, s)
+}
+
+func (pa *Path) pop() {
+ *pa = (*pa)[:len(*pa)-1]
+}
+
+// Last returns the last PathStep in the Path.
+// If the path is empty, this returns a non-nil PathStep that reports a nil Type.
+func (pa Path) Last() PathStep {
+ return pa.Index(-1)
+}
+
+// Index returns the ith step in the Path and supports negative indexing.
+// A negative index starts counting from the tail of the Path such that -1
+// refers to the last step, -2 refers to the second-to-last step, and so on.
+// If index is invalid, this returns a non-nil PathStep that reports a nil Type.
+func (pa Path) Index(i int) PathStep {
+ if i < 0 {
+ i = len(pa) + i
+ }
+ if i < 0 || i >= len(pa) {
+ return pathStep{}
+ }
+ return pa[i]
+}
+
+// String returns the simplified path to a node.
+// The simplified path only contains struct field accesses.
+//
+// For example:
+// MyMap.MySlices.MyField
+func (pa Path) String() string {
+ var ss []string
+ for _, s := range pa {
+ if _, ok := s.(StructField); ok {
+ ss = append(ss, s.String())
+ }
+ }
+ return strings.TrimPrefix(strings.Join(ss, ""), ".")
+}
+
+// GoString returns the path to a specific node using Go syntax.
+//
+// For example:
+// (*root.MyMap["key"].(*mypkg.MyStruct).MySlices)[2][3].MyField
+func (pa Path) GoString() string {
+ var ssPre, ssPost []string
+ var numIndirect int
+ for i, s := range pa {
+ var nextStep PathStep
+ if i+1 < len(pa) {
+ nextStep = pa[i+1]
+ }
+ switch s := s.(type) {
+ case Indirect:
+ numIndirect++
+ pPre, pPost := "(", ")"
+ switch nextStep.(type) {
+ case Indirect:
+ continue // Next step is indirection, so let them batch up
+ case StructField:
+ numIndirect-- // Automatic indirection on struct fields
+ case nil:
+ pPre, pPost = "", "" // Last step; no need for parenthesis
+ }
+ if numIndirect > 0 {
+ ssPre = append(ssPre, pPre+strings.Repeat("*", numIndirect))
+ ssPost = append(ssPost, pPost)
+ }
+ numIndirect = 0
+ continue
+ case Transform:
+ ssPre = append(ssPre, s.trans.name+"(")
+ ssPost = append(ssPost, ")")
+ continue
+ }
+ ssPost = append(ssPost, s.String())
+ }
+ for i, j := 0, len(ssPre)-1; i < j; i, j = i+1, j-1 {
+ ssPre[i], ssPre[j] = ssPre[j], ssPre[i]
+ }
+ return strings.Join(ssPre, "") + strings.Join(ssPost, "")
+}
+
+type pathStep struct {
+ typ reflect.Type
+ vx, vy reflect.Value
+}
+
+func (ps pathStep) Type() reflect.Type { return ps.typ }
+func (ps pathStep) Values() (vx, vy reflect.Value) { return ps.vx, ps.vy }
+func (ps pathStep) String() string {
+ if ps.typ == nil {
+ return ""
+ }
+ s := ps.typ.String()
+ if s == "" || strings.ContainsAny(s, "{}\n") {
+ return "root" // Type too simple or complex to print
+ }
+ return fmt.Sprintf("{%s}", s)
+}
+
+// StructField represents a struct field access on a field called Name.
+type StructField struct{ *structField }
+type structField struct {
+ pathStep
+ name string
+ idx int
+
+ // These fields are used for forcibly accessing an unexported field.
+ // pvx, pvy, and field are only valid if unexported is true.
+ unexported bool
+ mayForce bool // Forcibly allow visibility
+ pvx, pvy reflect.Value // Parent values
+ field reflect.StructField // Field information
+}
+
+func (sf StructField) Type() reflect.Type { return sf.typ }
+func (sf StructField) Values() (vx, vy reflect.Value) {
+ if !sf.unexported {
+ return sf.vx, sf.vy // CanInterface reports true
+ }
+
+ // Forcibly obtain read-write access to an unexported struct field.
+ if sf.mayForce {
+ vx = retrieveUnexportedField(sf.pvx, sf.field)
+ vy = retrieveUnexportedField(sf.pvy, sf.field)
+ return vx, vy // CanInterface reports true
+ }
+ return sf.vx, sf.vy // CanInterface reports false
+}
+func (sf StructField) String() string { return fmt.Sprintf(".%s", sf.name) }
+
+// Name is the field name.
+func (sf StructField) Name() string { return sf.name }
+
+// Index is the index of the field in the parent struct type.
+// See reflect.Type.Field.
+func (sf StructField) Index() int { return sf.idx }
+
+// SliceIndex is an index operation on a slice or array at some index Key.
+type SliceIndex struct{ *sliceIndex }
+type sliceIndex struct {
+ pathStep
+ xkey, ykey int
+ isSlice bool // False for reflect.Array
+}
+
+func (si SliceIndex) Type() reflect.Type { return si.typ }
+func (si SliceIndex) Values() (vx, vy reflect.Value) { return si.vx, si.vy }
+func (si SliceIndex) String() string {
+ switch {
+ case si.xkey == si.ykey:
+ return fmt.Sprintf("[%d]", si.xkey)
+ case si.ykey == -1:
+ // [5->?] means "I don't know where X[5] went"
+ return fmt.Sprintf("[%d->?]", si.xkey)
+ case si.xkey == -1:
+ // [?->3] means "I don't know where Y[3] came from"
+ return fmt.Sprintf("[?->%d]", si.ykey)
+ default:
+ // [5->3] means "X[5] moved to Y[3]"
+ return fmt.Sprintf("[%d->%d]", si.xkey, si.ykey)
+ }
+}
+
+// Key is the index key; it may return -1 if in a split state
+func (si SliceIndex) Key() int {
+ if si.xkey != si.ykey {
+ return -1
+ }
+ return si.xkey
+}
+
+// SplitKeys are the indexes for indexing into slices in the
+// x and y values, respectively. These indexes may differ due to the
+// insertion or removal of an element in one of the slices, causing
+// all of the indexes to be shifted. If an index is -1, then that
+// indicates that the element does not exist in the associated slice.
+//
+// Key is guaranteed to return -1 if and only if the indexes returned
+// by SplitKeys are not the same. SplitKeys will never return -1 for
+// both indexes.
+func (si SliceIndex) SplitKeys() (ix, iy int) { return si.xkey, si.ykey }
+
+// MapIndex is an index operation on a map at some index Key.
+type MapIndex struct{ *mapIndex }
+type mapIndex struct {
+ pathStep
+ key reflect.Value
+}
+
+func (mi MapIndex) Type() reflect.Type { return mi.typ }
+func (mi MapIndex) Values() (vx, vy reflect.Value) { return mi.vx, mi.vy }
+func (mi MapIndex) String() string { return fmt.Sprintf("[%#v]", mi.key) }
+
+// Key is the value of the map key.
+func (mi MapIndex) Key() reflect.Value { return mi.key }
+
+// Indirect represents pointer indirection on the parent type.
+type Indirect struct{ *indirect }
+type indirect struct {
+ pathStep
+}
+
+func (in Indirect) Type() reflect.Type { return in.typ }
+func (in Indirect) Values() (vx, vy reflect.Value) { return in.vx, in.vy }
+func (in Indirect) String() string { return "*" }
+
+// TypeAssertion represents a type assertion on an interface.
+type TypeAssertion struct{ *typeAssertion }
+type typeAssertion struct {
+ pathStep
+}
+
+func (ta TypeAssertion) Type() reflect.Type { return ta.typ }
+func (ta TypeAssertion) Values() (vx, vy reflect.Value) { return ta.vx, ta.vy }
+func (ta TypeAssertion) String() string { return fmt.Sprintf(".(%v)", ta.typ) }
+
+// Transform is a transformation from the parent type to the current type.
+type Transform struct{ *transform }
+type transform struct {
+ pathStep
+ trans *transformer
+}
+
+func (tf Transform) Type() reflect.Type { return tf.typ }
+func (tf Transform) Values() (vx, vy reflect.Value) { return tf.vx, tf.vy }
+func (tf Transform) String() string { return fmt.Sprintf("%s()", tf.trans.name) }
+
+// Name is the name of the Transformer.
+func (tf Transform) Name() string { return tf.trans.name }
+
+// Func is the function pointer to the transformer function.
+func (tf Transform) Func() reflect.Value { return tf.trans.fnc }
+
+// Option returns the originally constructed Transformer option.
+// The == operator can be used to detect the exact option used.
+func (tf Transform) Option() Option { return tf.trans }
+
+// pointerPath represents a dual-stack of pointers encountered when
+// recursively traversing the x and y values. This data structure supports
+// detection of cycles and determining whether the cycles are equal.
+// In Go, cycles can occur via pointers, slices, and maps.
+//
+// The pointerPath uses a map to represent a stack; where descension into a
+// pointer pushes the address onto the stack, and ascension from a pointer
+// pops the address from the stack. Thus, when traversing into a pointer from
+// reflect.Ptr, reflect.Slice element, or reflect.Map, we can detect cycles
+// by checking whether the pointer has already been visited. The cycle detection
+// uses a seperate stack for the x and y values.
+//
+// If a cycle is detected we need to determine whether the two pointers
+// should be considered equal. The definition of equality chosen by Equal
+// requires two graphs to have the same structure. To determine this, both the
+// x and y values must have a cycle where the previous pointers were also
+// encountered together as a pair.
+//
+// Semantically, this is equivalent to augmenting Indirect, SliceIndex, and
+// MapIndex with pointer information for the x and y values.
+// Suppose px and py are two pointers to compare, we then search the
+// Path for whether px was ever encountered in the Path history of x, and
+// similarly so with py. If either side has a cycle, the comparison is only
+// equal if both px and py have a cycle resulting from the same PathStep.
+//
+// Using a map as a stack is more performant as we can perform cycle detection
+// in O(1) instead of O(N) where N is len(Path).
+type pointerPath struct {
+ // mx is keyed by x pointers, where the value is the associated y pointer.
+ mx map[value.Pointer]value.Pointer
+ // my is keyed by y pointers, where the value is the associated x pointer.
+ my map[value.Pointer]value.Pointer
+}
+
+func (p *pointerPath) Init() {
+ p.mx = make(map[value.Pointer]value.Pointer)
+ p.my = make(map[value.Pointer]value.Pointer)
+}
+
+// Push indicates intent to descend into pointers vx and vy where
+// visited reports whether either has been seen before. If visited before,
+// equal reports whether both pointers were encountered together.
+// Pop must be called if and only if the pointers were never visited.
+//
+// The pointers vx and vy must be a reflect.Ptr, reflect.Slice, or reflect.Map
+// and be non-nil.
+func (p pointerPath) Push(vx, vy reflect.Value) (equal, visited bool) {
+ px := value.PointerOf(vx)
+ py := value.PointerOf(vy)
+ _, ok1 := p.mx[px]
+ _, ok2 := p.my[py]
+ if ok1 || ok2 {
+ equal = p.mx[px] == py && p.my[py] == px // Pointers paired together
+ return equal, true
+ }
+ p.mx[px] = py
+ p.my[py] = px
+ return false, false
+}
+
+// Pop ascends from pointers vx and vy.
+func (p pointerPath) Pop(vx, vy reflect.Value) {
+ delete(p.mx, value.PointerOf(vx))
+ delete(p.my, value.PointerOf(vy))
+}
+
+// isExported reports whether the identifier is exported.
+func isExported(id string) bool {
+ r, _ := utf8.DecodeRuneInString(id)
+ return unicode.IsUpper(r)
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/report.go b/vendor/github.com/google/go-cmp/cmp/report.go
new file mode 100644
index 000000000..6ddf29993
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/report.go
@@ -0,0 +1,51 @@
+// Copyright 2017, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+// defaultReporter implements the reporter interface.
+//
+// As Equal serially calls the PushStep, Report, and PopStep methods, the
+// defaultReporter constructs a tree-based representation of the compared value
+// and the result of each comparison (see valueNode).
+//
+// When the String method is called, the FormatDiff method transforms the
+// valueNode tree into a textNode tree, which is a tree-based representation
+// of the textual output (see textNode).
+//
+// Lastly, the textNode.String method produces the final report as a string.
+type defaultReporter struct {
+ root *valueNode
+ curr *valueNode
+}
+
+func (r *defaultReporter) PushStep(ps PathStep) {
+ r.curr = r.curr.PushStep(ps)
+ if r.root == nil {
+ r.root = r.curr
+ }
+}
+func (r *defaultReporter) Report(rs Result) {
+ r.curr.Report(rs)
+}
+func (r *defaultReporter) PopStep() {
+ r.curr = r.curr.PopStep()
+}
+
+// String provides a full report of the differences detected as a structured
+// literal in pseudo-Go syntax. String may only be called after the entire tree
+// has been traversed.
+func (r *defaultReporter) String() string {
+ assert(r.root != nil && r.curr == nil)
+ if r.root.NumDiff == 0 {
+ return ""
+ }
+ return formatOptions{}.FormatDiff(r.root).String()
+}
+
+func assert(ok bool) {
+ if !ok {
+ panic("assertion failure")
+ }
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/report_compare.go b/vendor/github.com/google/go-cmp/cmp/report_compare.go
new file mode 100644
index 000000000..17a05eede
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/report_compare.go
@@ -0,0 +1,296 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import (
+ "fmt"
+ "reflect"
+
+ "github.com/google/go-cmp/cmp/internal/value"
+)
+
+// TODO: Enforce limits?
+// * Enforce maximum number of records to print per node?
+// * Enforce maximum size in bytes allowed?
+// * As a heuristic, use less verbosity for equal nodes than unequal nodes.
+// TODO: Enforce unique outputs?
+// * Avoid Stringer methods if it results in same output?
+// * Print pointer address if outputs still equal?
+
+// numContextRecords is the number of surrounding equal records to print.
+const numContextRecords = 2
+
+type diffMode byte
+
+const (
+ diffUnknown diffMode = 0
+ diffIdentical diffMode = ' '
+ diffRemoved diffMode = '-'
+ diffInserted diffMode = '+'
+)
+
+type typeMode int
+
+const (
+ // emitType always prints the type.
+ emitType typeMode = iota
+ // elideType never prints the type.
+ elideType
+ // autoType prints the type only for composite kinds
+ // (i.e., structs, slices, arrays, and maps).
+ autoType
+)
+
+type formatOptions struct {
+ // DiffMode controls the output mode of FormatDiff.
+ //
+ // If diffUnknown, then produce a diff of the x and y values.
+ // If diffIdentical, then emit values as if they were equal.
+ // If diffRemoved, then only emit x values (ignoring y values).
+ // If diffInserted, then only emit y values (ignoring x values).
+ DiffMode diffMode
+
+ // TypeMode controls whether to print the type for the current node.
+ //
+ // As a general rule of thumb, we always print the type of the next node
+ // after an interface, and always elide the type of the next node after
+ // a slice or map node.
+ TypeMode typeMode
+
+ // formatValueOptions are options specific to printing reflect.Values.
+ formatValueOptions
+}
+
+func (opts formatOptions) WithDiffMode(d diffMode) formatOptions {
+ opts.DiffMode = d
+ return opts
+}
+func (opts formatOptions) WithTypeMode(t typeMode) formatOptions {
+ opts.TypeMode = t
+ return opts
+}
+
+// FormatDiff converts a valueNode tree into a textNode tree, where the later
+// is a textual representation of the differences detected in the former.
+func (opts formatOptions) FormatDiff(v *valueNode) textNode {
+ // Check whether we have specialized formatting for this node.
+ // This is not necessary, but helpful for producing more readable outputs.
+ if opts.CanFormatDiffSlice(v) {
+ return opts.FormatDiffSlice(v)
+ }
+
+ // For leaf nodes, format the value based on the reflect.Values alone.
+ if v.MaxDepth == 0 {
+ switch opts.DiffMode {
+ case diffUnknown, diffIdentical:
+ // Format Equal.
+ if v.NumDiff == 0 {
+ outx := opts.FormatValue(v.ValueX, visitedPointers{})
+ outy := opts.FormatValue(v.ValueY, visitedPointers{})
+ if v.NumIgnored > 0 && v.NumSame == 0 {
+ return textEllipsis
+ } else if outx.Len() < outy.Len() {
+ return outx
+ } else {
+ return outy
+ }
+ }
+
+ // Format unequal.
+ assert(opts.DiffMode == diffUnknown)
+ var list textList
+ outx := opts.WithTypeMode(elideType).FormatValue(v.ValueX, visitedPointers{})
+ outy := opts.WithTypeMode(elideType).FormatValue(v.ValueY, visitedPointers{})
+ if outx != nil {
+ list = append(list, textRecord{Diff: '-', Value: outx})
+ }
+ if outy != nil {
+ list = append(list, textRecord{Diff: '+', Value: outy})
+ }
+ return opts.WithTypeMode(emitType).FormatType(v.Type, list)
+ case diffRemoved:
+ return opts.FormatValue(v.ValueX, visitedPointers{})
+ case diffInserted:
+ return opts.FormatValue(v.ValueY, visitedPointers{})
+ default:
+ panic("invalid diff mode")
+ }
+ }
+
+ // Descend into the child value node.
+ if v.TransformerName != "" {
+ out := opts.WithTypeMode(emitType).FormatDiff(v.Value)
+ out = textWrap{"Inverse(" + v.TransformerName + ", ", out, ")"}
+ return opts.FormatType(v.Type, out)
+ } else {
+ switch k := v.Type.Kind(); k {
+ case reflect.Struct, reflect.Array, reflect.Slice, reflect.Map:
+ return opts.FormatType(v.Type, opts.formatDiffList(v.Records, k))
+ case reflect.Ptr:
+ return textWrap{"&", opts.FormatDiff(v.Value), ""}
+ case reflect.Interface:
+ return opts.WithTypeMode(emitType).FormatDiff(v.Value)
+ default:
+ panic(fmt.Sprintf("%v cannot have children", k))
+ }
+ }
+}
+
+func (opts formatOptions) formatDiffList(recs []reportRecord, k reflect.Kind) textNode {
+ // Derive record name based on the data structure kind.
+ var name string
+ var formatKey func(reflect.Value) string
+ switch k {
+ case reflect.Struct:
+ name = "field"
+ opts = opts.WithTypeMode(autoType)
+ formatKey = func(v reflect.Value) string { return v.String() }
+ case reflect.Slice, reflect.Array:
+ name = "element"
+ opts = opts.WithTypeMode(elideType)
+ formatKey = func(reflect.Value) string { return "" }
+ case reflect.Map:
+ name = "entry"
+ opts = opts.WithTypeMode(elideType)
+ formatKey = formatMapKey
+ }
+
+ // Handle unification.
+ switch opts.DiffMode {
+ case diffIdentical, diffRemoved, diffInserted:
+ var list textList
+ var deferredEllipsis bool // Add final "..." to indicate records were dropped
+ for _, r := range recs {
+ // Elide struct fields that are zero value.
+ if k == reflect.Struct {
+ var isZero bool
+ switch opts.DiffMode {
+ case diffIdentical:
+ isZero = value.IsZero(r.Value.ValueX) || value.IsZero(r.Value.ValueY)
+ case diffRemoved:
+ isZero = value.IsZero(r.Value.ValueX)
+ case diffInserted:
+ isZero = value.IsZero(r.Value.ValueY)
+ }
+ if isZero {
+ continue
+ }
+ }
+ // Elide ignored nodes.
+ if r.Value.NumIgnored > 0 && r.Value.NumSame+r.Value.NumDiff == 0 {
+ deferredEllipsis = !(k == reflect.Slice || k == reflect.Array)
+ if !deferredEllipsis {
+ list.AppendEllipsis(diffStats{})
+ }
+ continue
+ }
+ if out := opts.FormatDiff(r.Value); out != nil {
+ list = append(list, textRecord{Key: formatKey(r.Key), Value: out})
+ }
+ }
+ if deferredEllipsis {
+ list.AppendEllipsis(diffStats{})
+ }
+ return textWrap{"{", list, "}"}
+ case diffUnknown:
+ default:
+ panic("invalid diff mode")
+ }
+
+ // Handle differencing.
+ var list textList
+ groups := coalesceAdjacentRecords(name, recs)
+ for i, ds := range groups {
+ // Handle equal records.
+ if ds.NumDiff() == 0 {
+ // Compute the number of leading and trailing records to print.
+ var numLo, numHi int
+ numEqual := ds.NumIgnored + ds.NumIdentical
+ for numLo < numContextRecords && numLo+numHi < numEqual && i != 0 {
+ if r := recs[numLo].Value; r.NumIgnored > 0 && r.NumSame+r.NumDiff == 0 {
+ break
+ }
+ numLo++
+ }
+ for numHi < numContextRecords && numLo+numHi < numEqual && i != len(groups)-1 {
+ if r := recs[numEqual-numHi-1].Value; r.NumIgnored > 0 && r.NumSame+r.NumDiff == 0 {
+ break
+ }
+ numHi++
+ }
+ if numEqual-(numLo+numHi) == 1 && ds.NumIgnored == 0 {
+ numHi++ // Avoid pointless coalescing of a single equal record
+ }
+
+ // Format the equal values.
+ for _, r := range recs[:numLo] {
+ out := opts.WithDiffMode(diffIdentical).FormatDiff(r.Value)
+ list = append(list, textRecord{Key: formatKey(r.Key), Value: out})
+ }
+ if numEqual > numLo+numHi {
+ ds.NumIdentical -= numLo + numHi
+ list.AppendEllipsis(ds)
+ }
+ for _, r := range recs[numEqual-numHi : numEqual] {
+ out := opts.WithDiffMode(diffIdentical).FormatDiff(r.Value)
+ list = append(list, textRecord{Key: formatKey(r.Key), Value: out})
+ }
+ recs = recs[numEqual:]
+ continue
+ }
+
+ // Handle unequal records.
+ for _, r := range recs[:ds.NumDiff()] {
+ switch {
+ case opts.CanFormatDiffSlice(r.Value):
+ out := opts.FormatDiffSlice(r.Value)
+ list = append(list, textRecord{Key: formatKey(r.Key), Value: out})
+ case r.Value.NumChildren == r.Value.MaxDepth:
+ outx := opts.WithDiffMode(diffRemoved).FormatDiff(r.Value)
+ outy := opts.WithDiffMode(diffInserted).FormatDiff(r.Value)
+ if outx != nil {
+ list = append(list, textRecord{Diff: diffRemoved, Key: formatKey(r.Key), Value: outx})
+ }
+ if outy != nil {
+ list = append(list, textRecord{Diff: diffInserted, Key: formatKey(r.Key), Value: outy})
+ }
+ default:
+ out := opts.FormatDiff(r.Value)
+ list = append(list, textRecord{Key: formatKey(r.Key), Value: out})
+ }
+ }
+ recs = recs[ds.NumDiff():]
+ }
+ assert(len(recs) == 0)
+ return textWrap{"{", list, "}"}
+}
+
+// coalesceAdjacentRecords coalesces the list of records into groups of
+// adjacent equal, or unequal counts.
+func coalesceAdjacentRecords(name string, recs []reportRecord) (groups []diffStats) {
+ var prevCase int // Arbitrary index into which case last occurred
+ lastStats := func(i int) *diffStats {
+ if prevCase != i {
+ groups = append(groups, diffStats{Name: name})
+ prevCase = i
+ }
+ return &groups[len(groups)-1]
+ }
+ for _, r := range recs {
+ switch rv := r.Value; {
+ case rv.NumIgnored > 0 && rv.NumSame+rv.NumDiff == 0:
+ lastStats(1).NumIgnored++
+ case rv.NumDiff == 0:
+ lastStats(1).NumIdentical++
+ case rv.NumDiff > 0 && !rv.ValueY.IsValid():
+ lastStats(2).NumRemoved++
+ case rv.NumDiff > 0 && !rv.ValueX.IsValid():
+ lastStats(2).NumInserted++
+ default:
+ lastStats(2).NumModified++
+ }
+ }
+ return groups
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/report_reflect.go b/vendor/github.com/google/go-cmp/cmp/report_reflect.go
new file mode 100644
index 000000000..2761b6289
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/report_reflect.go
@@ -0,0 +1,278 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import (
+ "fmt"
+ "reflect"
+ "strconv"
+ "strings"
+ "unicode"
+
+ "github.com/google/go-cmp/cmp/internal/flags"
+ "github.com/google/go-cmp/cmp/internal/value"
+)
+
+type formatValueOptions struct {
+ // AvoidStringer controls whether to avoid calling custom stringer
+ // methods like error.Error or fmt.Stringer.String.
+ AvoidStringer bool
+
+ // ShallowPointers controls whether to avoid descending into pointers.
+ // Useful when printing map keys, where pointer comparison is performed
+ // on the pointer address rather than the pointed-at value.
+ ShallowPointers bool
+
+ // PrintAddresses controls whether to print the address of all pointers,
+ // slice elements, and maps.
+ PrintAddresses bool
+}
+
+// FormatType prints the type as if it were wrapping s.
+// This may return s as-is depending on the current type and TypeMode mode.
+func (opts formatOptions) FormatType(t reflect.Type, s textNode) textNode {
+ // Check whether to emit the type or not.
+ switch opts.TypeMode {
+ case autoType:
+ switch t.Kind() {
+ case reflect.Struct, reflect.Slice, reflect.Array, reflect.Map:
+ if s.Equal(textNil) {
+ return s
+ }
+ default:
+ return s
+ }
+ case elideType:
+ return s
+ }
+
+ // Determine the type label, applying special handling for unnamed types.
+ typeName := t.String()
+ if t.Name() == "" {
+ // According to Go grammar, certain type literals contain symbols that
+ // do not strongly bind to the next lexicographical token (e.g., *T).
+ switch t.Kind() {
+ case reflect.Chan, reflect.Func, reflect.Ptr:
+ typeName = "(" + typeName + ")"
+ }
+ typeName = strings.Replace(typeName, "struct {", "struct{", -1)
+ typeName = strings.Replace(typeName, "interface {", "interface{", -1)
+ }
+
+ // Avoid wrap the value in parenthesis if unnecessary.
+ if s, ok := s.(textWrap); ok {
+ hasParens := strings.HasPrefix(s.Prefix, "(") && strings.HasSuffix(s.Suffix, ")")
+ hasBraces := strings.HasPrefix(s.Prefix, "{") && strings.HasSuffix(s.Suffix, "}")
+ if hasParens || hasBraces {
+ return textWrap{typeName, s, ""}
+ }
+ }
+ return textWrap{typeName + "(", s, ")"}
+}
+
+// FormatValue prints the reflect.Value, taking extra care to avoid descending
+// into pointers already in m. As pointers are visited, m is also updated.
+func (opts formatOptions) FormatValue(v reflect.Value, m visitedPointers) (out textNode) {
+ if !v.IsValid() {
+ return nil
+ }
+ t := v.Type()
+
+ // Check whether there is an Error or String method to call.
+ if !opts.AvoidStringer && v.CanInterface() {
+ // Avoid calling Error or String methods on nil receivers since many
+ // implementations crash when doing so.
+ if (t.Kind() != reflect.Ptr && t.Kind() != reflect.Interface) || !v.IsNil() {
+ switch v := v.Interface().(type) {
+ case error:
+ return textLine("e" + formatString(v.Error()))
+ case fmt.Stringer:
+ return textLine("s" + formatString(v.String()))
+ }
+ }
+ }
+
+ // Check whether to explicitly wrap the result with the type.
+ var skipType bool
+ defer func() {
+ if !skipType {
+ out = opts.FormatType(t, out)
+ }
+ }()
+
+ var ptr string
+ switch t.Kind() {
+ case reflect.Bool:
+ return textLine(fmt.Sprint(v.Bool()))
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ return textLine(fmt.Sprint(v.Int()))
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ // Unnamed uints are usually bytes or words, so use hexadecimal.
+ if t.PkgPath() == "" || t.Kind() == reflect.Uintptr {
+ return textLine(formatHex(v.Uint()))
+ }
+ return textLine(fmt.Sprint(v.Uint()))
+ case reflect.Float32, reflect.Float64:
+ return textLine(fmt.Sprint(v.Float()))
+ case reflect.Complex64, reflect.Complex128:
+ return textLine(fmt.Sprint(v.Complex()))
+ case reflect.String:
+ return textLine(formatString(v.String()))
+ case reflect.UnsafePointer, reflect.Chan, reflect.Func:
+ return textLine(formatPointer(v))
+ case reflect.Struct:
+ var list textList
+ for i := 0; i < v.NumField(); i++ {
+ vv := v.Field(i)
+ if value.IsZero(vv) {
+ continue // Elide fields with zero values
+ }
+ s := opts.WithTypeMode(autoType).FormatValue(vv, m)
+ list = append(list, textRecord{Key: t.Field(i).Name, Value: s})
+ }
+ return textWrap{"{", list, "}"}
+ case reflect.Slice:
+ if v.IsNil() {
+ return textNil
+ }
+ if opts.PrintAddresses {
+ ptr = formatPointer(v)
+ }
+ fallthrough
+ case reflect.Array:
+ var list textList
+ for i := 0; i < v.Len(); i++ {
+ vi := v.Index(i)
+ if vi.CanAddr() { // Check for cyclic elements
+ p := vi.Addr()
+ if m.Visit(p) {
+ var out textNode
+ out = textLine(formatPointer(p))
+ out = opts.WithTypeMode(emitType).FormatType(p.Type(), out)
+ out = textWrap{"*", out, ""}
+ list = append(list, textRecord{Value: out})
+ continue
+ }
+ }
+ s := opts.WithTypeMode(elideType).FormatValue(vi, m)
+ list = append(list, textRecord{Value: s})
+ }
+ return textWrap{ptr + "{", list, "}"}
+ case reflect.Map:
+ if v.IsNil() {
+ return textNil
+ }
+ if m.Visit(v) {
+ return textLine(formatPointer(v))
+ }
+
+ var list textList
+ for _, k := range value.SortKeys(v.MapKeys()) {
+ sk := formatMapKey(k)
+ sv := opts.WithTypeMode(elideType).FormatValue(v.MapIndex(k), m)
+ list = append(list, textRecord{Key: sk, Value: sv})
+ }
+ if opts.PrintAddresses {
+ ptr = formatPointer(v)
+ }
+ return textWrap{ptr + "{", list, "}"}
+ case reflect.Ptr:
+ if v.IsNil() {
+ return textNil
+ }
+ if m.Visit(v) || opts.ShallowPointers {
+ return textLine(formatPointer(v))
+ }
+ if opts.PrintAddresses {
+ ptr = formatPointer(v)
+ }
+ skipType = true // Let the underlying value print the type instead
+ return textWrap{"&" + ptr, opts.FormatValue(v.Elem(), m), ""}
+ case reflect.Interface:
+ if v.IsNil() {
+ return textNil
+ }
+ // Interfaces accept different concrete types,
+ // so configure the underlying value to explicitly print the type.
+ skipType = true // Print the concrete type instead
+ return opts.WithTypeMode(emitType).FormatValue(v.Elem(), m)
+ default:
+ panic(fmt.Sprintf("%v kind not handled", v.Kind()))
+ }
+}
+
+// formatMapKey formats v as if it were a map key.
+// The result is guaranteed to be a single line.
+func formatMapKey(v reflect.Value) string {
+ var opts formatOptions
+ opts.TypeMode = elideType
+ opts.ShallowPointers = true
+ s := opts.FormatValue(v, visitedPointers{}).String()
+ return strings.TrimSpace(s)
+}
+
+// formatString prints s as a double-quoted or backtick-quoted string.
+func formatString(s string) string {
+ // Use quoted string if it the same length as a raw string literal.
+ // Otherwise, attempt to use the raw string form.
+ qs := strconv.Quote(s)
+ if len(qs) == 1+len(s)+1 {
+ return qs
+ }
+
+ // Disallow newlines to ensure output is a single line.
+ // Only allow printable runes for readability purposes.
+ rawInvalid := func(r rune) bool {
+ return r == '`' || r == '\n' || !(unicode.IsPrint(r) || r == '\t')
+ }
+ if strings.IndexFunc(s, rawInvalid) < 0 {
+ return "`" + s + "`"
+ }
+ return qs
+}
+
+// formatHex prints u as a hexadecimal integer in Go notation.
+func formatHex(u uint64) string {
+ var f string
+ switch {
+ case u <= 0xff:
+ f = "0x%02x"
+ case u <= 0xffff:
+ f = "0x%04x"
+ case u <= 0xffffff:
+ f = "0x%06x"
+ case u <= 0xffffffff:
+ f = "0x%08x"
+ case u <= 0xffffffffff:
+ f = "0x%010x"
+ case u <= 0xffffffffffff:
+ f = "0x%012x"
+ case u <= 0xffffffffffffff:
+ f = "0x%014x"
+ case u <= 0xffffffffffffffff:
+ f = "0x%016x"
+ }
+ return fmt.Sprintf(f, u)
+}
+
+// formatPointer prints the address of the pointer.
+func formatPointer(v reflect.Value) string {
+ p := v.Pointer()
+ if flags.Deterministic {
+ p = 0xdeadf00f // Only used for stable testing purposes
+ }
+ return fmt.Sprintf("⟪0x%x⟫", p)
+}
+
+type visitedPointers map[value.Pointer]struct{}
+
+// Visit inserts pointer v into the visited map and reports whether it had
+// already been visited before.
+func (m visitedPointers) Visit(v reflect.Value) bool {
+ p := value.PointerOf(v)
+ _, visited := m[p]
+ m[p] = struct{}{}
+ return visited
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/report_slices.go b/vendor/github.com/google/go-cmp/cmp/report_slices.go
new file mode 100644
index 000000000..eafcf2e4c
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/report_slices.go
@@ -0,0 +1,333 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import (
+ "bytes"
+ "fmt"
+ "reflect"
+ "strings"
+ "unicode"
+ "unicode/utf8"
+
+ "github.com/google/go-cmp/cmp/internal/diff"
+)
+
+// CanFormatDiffSlice reports whether we support custom formatting for nodes
+// that are slices of primitive kinds or strings.
+func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
+ switch {
+ case opts.DiffMode != diffUnknown:
+ return false // Must be formatting in diff mode
+ case v.NumDiff == 0:
+ return false // No differences detected
+ case v.NumIgnored+v.NumCompared+v.NumTransformed > 0:
+ // TODO: Handle the case where someone uses bytes.Equal on a large slice.
+ return false // Some custom option was used to determined equality
+ case !v.ValueX.IsValid() || !v.ValueY.IsValid():
+ return false // Both values must be valid
+ }
+
+ switch t := v.Type; t.Kind() {
+ case reflect.String:
+ case reflect.Array, reflect.Slice:
+ // Only slices of primitive types have specialized handling.
+ switch t.Elem().Kind() {
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
+ reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr,
+ reflect.Bool, reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128:
+ default:
+ return false
+ }
+
+ // If a sufficient number of elements already differ,
+ // use specialized formatting even if length requirement is not met.
+ if v.NumDiff > v.NumSame {
+ return true
+ }
+ default:
+ return false
+ }
+
+ // Use specialized string diffing for longer slices or strings.
+ const minLength = 64
+ return v.ValueX.Len() >= minLength && v.ValueY.Len() >= minLength
+}
+
+// FormatDiffSlice prints a diff for the slices (or strings) represented by v.
+// This provides custom-tailored logic to make printing of differences in
+// textual strings and slices of primitive kinds more readable.
+func (opts formatOptions) FormatDiffSlice(v *valueNode) textNode {
+ assert(opts.DiffMode == diffUnknown)
+ t, vx, vy := v.Type, v.ValueX, v.ValueY
+
+ // Auto-detect the type of the data.
+ var isLinedText, isText, isBinary bool
+ var sx, sy string
+ switch {
+ case t.Kind() == reflect.String:
+ sx, sy = vx.String(), vy.String()
+ isText = true // Initial estimate, verify later
+ case t.Kind() == reflect.Slice && t.Elem() == reflect.TypeOf(byte(0)):
+ sx, sy = string(vx.Bytes()), string(vy.Bytes())
+ isBinary = true // Initial estimate, verify later
+ case t.Kind() == reflect.Array:
+ // Arrays need to be addressable for slice operations to work.
+ vx2, vy2 := reflect.New(t).Elem(), reflect.New(t).Elem()
+ vx2.Set(vx)
+ vy2.Set(vy)
+ vx, vy = vx2, vy2
+ }
+ if isText || isBinary {
+ var numLines, lastLineIdx, maxLineLen int
+ isBinary = false
+ for i, r := range sx + sy {
+ if !(unicode.IsPrint(r) || unicode.IsSpace(r)) || r == utf8.RuneError {
+ isBinary = true
+ break
+ }
+ if r == '\n' {
+ if maxLineLen < i-lastLineIdx {
+ maxLineLen = i - lastLineIdx
+ }
+ lastLineIdx = i + 1
+ numLines++
+ }
+ }
+ isText = !isBinary
+ isLinedText = isText && numLines >= 4 && maxLineLen <= 256
+ }
+
+ // Format the string into printable records.
+ var list textList
+ var delim string
+ switch {
+ // If the text appears to be multi-lined text,
+ // then perform differencing across individual lines.
+ case isLinedText:
+ ssx := strings.Split(sx, "\n")
+ ssy := strings.Split(sy, "\n")
+ list = opts.formatDiffSlice(
+ reflect.ValueOf(ssx), reflect.ValueOf(ssy), 1, "line",
+ func(v reflect.Value, d diffMode) textRecord {
+ s := formatString(v.Index(0).String())
+ return textRecord{Diff: d, Value: textLine(s)}
+ },
+ )
+ delim = "\n"
+ // If the text appears to be single-lined text,
+ // then perform differencing in approximately fixed-sized chunks.
+ // The output is printed as quoted strings.
+ case isText:
+ list = opts.formatDiffSlice(
+ reflect.ValueOf(sx), reflect.ValueOf(sy), 64, "byte",
+ func(v reflect.Value, d diffMode) textRecord {
+ s := formatString(v.String())
+ return textRecord{Diff: d, Value: textLine(s)}
+ },
+ )
+ delim = ""
+ // If the text appears to be binary data,
+ // then perform differencing in approximately fixed-sized chunks.
+ // The output is inspired by hexdump.
+ case isBinary:
+ list = opts.formatDiffSlice(
+ reflect.ValueOf(sx), reflect.ValueOf(sy), 16, "byte",
+ func(v reflect.Value, d diffMode) textRecord {
+ var ss []string
+ for i := 0; i < v.Len(); i++ {
+ ss = append(ss, formatHex(v.Index(i).Uint()))
+ }
+ s := strings.Join(ss, ", ")
+ comment := commentString(fmt.Sprintf("%c|%v|", d, formatASCII(v.String())))
+ return textRecord{Diff: d, Value: textLine(s), Comment: comment}
+ },
+ )
+ // For all other slices of primitive types,
+ // then perform differencing in approximately fixed-sized chunks.
+ // The size of each chunk depends on the width of the element kind.
+ default:
+ var chunkSize int
+ if t.Elem().Kind() == reflect.Bool {
+ chunkSize = 16
+ } else {
+ switch t.Elem().Bits() {
+ case 8:
+ chunkSize = 16
+ case 16:
+ chunkSize = 12
+ case 32:
+ chunkSize = 8
+ default:
+ chunkSize = 8
+ }
+ }
+ list = opts.formatDiffSlice(
+ vx, vy, chunkSize, t.Elem().Kind().String(),
+ func(v reflect.Value, d diffMode) textRecord {
+ var ss []string
+ for i := 0; i < v.Len(); i++ {
+ switch t.Elem().Kind() {
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ ss = append(ss, fmt.Sprint(v.Index(i).Int()))
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ ss = append(ss, formatHex(v.Index(i).Uint()))
+ case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128:
+ ss = append(ss, fmt.Sprint(v.Index(i).Interface()))
+ }
+ }
+ s := strings.Join(ss, ", ")
+ return textRecord{Diff: d, Value: textLine(s)}
+ },
+ )
+ }
+
+ // Wrap the output with appropriate type information.
+ var out textNode = textWrap{"{", list, "}"}
+ if !isText {
+ // The "{...}" byte-sequence literal is not valid Go syntax for strings.
+ // Emit the type for extra clarity (e.g. "string{...}").
+ if t.Kind() == reflect.String {
+ opts = opts.WithTypeMode(emitType)
+ }
+ return opts.FormatType(t, out)
+ }
+ switch t.Kind() {
+ case reflect.String:
+ out = textWrap{"strings.Join(", out, fmt.Sprintf(", %q)", delim)}
+ if t != reflect.TypeOf(string("")) {
+ out = opts.FormatType(t, out)
+ }
+ case reflect.Slice:
+ out = textWrap{"bytes.Join(", out, fmt.Sprintf(", %q)", delim)}
+ if t != reflect.TypeOf([]byte(nil)) {
+ out = opts.FormatType(t, out)
+ }
+ }
+ return out
+}
+
+// formatASCII formats s as an ASCII string.
+// This is useful for printing binary strings in a semi-legible way.
+func formatASCII(s string) string {
+ b := bytes.Repeat([]byte{'.'}, len(s))
+ for i := 0; i < len(s); i++ {
+ if ' ' <= s[i] && s[i] <= '~' {
+ b[i] = s[i]
+ }
+ }
+ return string(b)
+}
+
+func (opts formatOptions) formatDiffSlice(
+ vx, vy reflect.Value, chunkSize int, name string,
+ makeRec func(reflect.Value, diffMode) textRecord,
+) (list textList) {
+ es := diff.Difference(vx.Len(), vy.Len(), func(ix int, iy int) diff.Result {
+ return diff.BoolResult(vx.Index(ix).Interface() == vy.Index(iy).Interface())
+ })
+
+ appendChunks := func(v reflect.Value, d diffMode) int {
+ n0 := v.Len()
+ for v.Len() > 0 {
+ n := chunkSize
+ if n > v.Len() {
+ n = v.Len()
+ }
+ list = append(list, makeRec(v.Slice(0, n), d))
+ v = v.Slice(n, v.Len())
+ }
+ return n0 - v.Len()
+ }
+
+ groups := coalesceAdjacentEdits(name, es)
+ groups = coalesceInterveningIdentical(groups, chunkSize/4)
+ for i, ds := range groups {
+ // Print equal.
+ if ds.NumDiff() == 0 {
+ // Compute the number of leading and trailing equal bytes to print.
+ var numLo, numHi int
+ numEqual := ds.NumIgnored + ds.NumIdentical
+ for numLo < chunkSize*numContextRecords && numLo+numHi < numEqual && i != 0 {
+ numLo++
+ }
+ for numHi < chunkSize*numContextRecords && numLo+numHi < numEqual && i != len(groups)-1 {
+ numHi++
+ }
+ if numEqual-(numLo+numHi) <= chunkSize && ds.NumIgnored == 0 {
+ numHi = numEqual - numLo // Avoid pointless coalescing of single equal row
+ }
+
+ // Print the equal bytes.
+ appendChunks(vx.Slice(0, numLo), diffIdentical)
+ if numEqual > numLo+numHi {
+ ds.NumIdentical -= numLo + numHi
+ list.AppendEllipsis(ds)
+ }
+ appendChunks(vx.Slice(numEqual-numHi, numEqual), diffIdentical)
+ vx = vx.Slice(numEqual, vx.Len())
+ vy = vy.Slice(numEqual, vy.Len())
+ continue
+ }
+
+ // Print unequal.
+ nx := appendChunks(vx.Slice(0, ds.NumIdentical+ds.NumRemoved+ds.NumModified), diffRemoved)
+ vx = vx.Slice(nx, vx.Len())
+ ny := appendChunks(vy.Slice(0, ds.NumIdentical+ds.NumInserted+ds.NumModified), diffInserted)
+ vy = vy.Slice(ny, vy.Len())
+ }
+ assert(vx.Len() == 0 && vy.Len() == 0)
+ return list
+}
+
+// coalesceAdjacentEdits coalesces the list of edits into groups of adjacent
+// equal or unequal counts.
+func coalesceAdjacentEdits(name string, es diff.EditScript) (groups []diffStats) {
+ var prevCase int // Arbitrary index into which case last occurred
+ lastStats := func(i int) *diffStats {
+ if prevCase != i {
+ groups = append(groups, diffStats{Name: name})
+ prevCase = i
+ }
+ return &groups[len(groups)-1]
+ }
+ for _, e := range es {
+ switch e {
+ case diff.Identity:
+ lastStats(1).NumIdentical++
+ case diff.UniqueX:
+ lastStats(2).NumRemoved++
+ case diff.UniqueY:
+ lastStats(2).NumInserted++
+ case diff.Modified:
+ lastStats(2).NumModified++
+ }
+ }
+ return groups
+}
+
+// coalesceInterveningIdentical coalesces sufficiently short (<= windowSize)
+// equal groups into adjacent unequal groups that currently result in a
+// dual inserted/removed printout. This acts as a high-pass filter to smooth
+// out high-frequency changes within the windowSize.
+func coalesceInterveningIdentical(groups []diffStats, windowSize int) []diffStats {
+ groups, groupsOrig := groups[:0], groups
+ for i, ds := range groupsOrig {
+ if len(groups) >= 2 && ds.NumDiff() > 0 {
+ prev := &groups[len(groups)-2] // Unequal group
+ curr := &groups[len(groups)-1] // Equal group
+ next := &groupsOrig[i] // Unequal group
+ hadX, hadY := prev.NumRemoved > 0, prev.NumInserted > 0
+ hasX, hasY := next.NumRemoved > 0, next.NumInserted > 0
+ if ((hadX || hasX) && (hadY || hasY)) && curr.NumIdentical <= windowSize {
+ *prev = prev.Append(*curr).Append(*next)
+ groups = groups[:len(groups)-1] // Truncate off equal group
+ continue
+ }
+ }
+ groups = append(groups, ds)
+ }
+ return groups
+}
diff --git a/vendor/github.com/google/go-cmp/cmp/report_text.go b/vendor/github.com/google/go-cmp/cmp/report_text.go
new file mode 100644
index 000000000..8b8fcab7b
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/report_text.go
@@ -0,0 +1,387 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import (
+ "bytes"
+ "fmt"
+ "math/rand"
+ "strings"
+ "time"
+
+ "github.com/google/go-cmp/cmp/internal/flags"
+)
+
+var randBool = rand.New(rand.NewSource(time.Now().Unix())).Intn(2) == 0
+
+type indentMode int
+
+func (n indentMode) appendIndent(b []byte, d diffMode) []byte {
+ // The output of Diff is documented as being unstable to provide future
+ // flexibility in changing the output for more humanly readable reports.
+ // This logic intentionally introduces instability to the exact output
+ // so that users can detect accidental reliance on stability early on,
+ // rather than much later when an actual change to the format occurs.
+ if flags.Deterministic || randBool {
+ // Use regular spaces (U+0020).
+ switch d {
+ case diffUnknown, diffIdentical:
+ b = append(b, " "...)
+ case diffRemoved:
+ b = append(b, "- "...)
+ case diffInserted:
+ b = append(b, "+ "...)
+ }
+ } else {
+ // Use non-breaking spaces (U+00a0).
+ switch d {
+ case diffUnknown, diffIdentical:
+ b = append(b, " "...)
+ case diffRemoved:
+ b = append(b, "- "...)
+ case diffInserted:
+ b = append(b, "+ "...)
+ }
+ }
+ return repeatCount(n).appendChar(b, '\t')
+}
+
+type repeatCount int
+
+func (n repeatCount) appendChar(b []byte, c byte) []byte {
+ for ; n > 0; n-- {
+ b = append(b, c)
+ }
+ return b
+}
+
+// textNode is a simplified tree-based representation of structured text.
+// Possible node types are textWrap, textList, or textLine.
+type textNode interface {
+ // Len reports the length in bytes of a single-line version of the tree.
+ // Nested textRecord.Diff and textRecord.Comment fields are ignored.
+ Len() int
+ // Equal reports whether the two trees are structurally identical.
+ // Nested textRecord.Diff and textRecord.Comment fields are compared.
+ Equal(textNode) bool
+ // String returns the string representation of the text tree.
+ // It is not guaranteed that len(x.String()) == x.Len(),
+ // nor that x.String() == y.String() implies that x.Equal(y).
+ String() string
+
+ // formatCompactTo formats the contents of the tree as a single-line string
+ // to the provided buffer. Any nested textRecord.Diff and textRecord.Comment
+ // fields are ignored.
+ //
+ // However, not all nodes in the tree should be collapsed as a single-line.
+ // If a node can be collapsed as a single-line, it is replaced by a textLine
+ // node. Since the top-level node cannot replace itself, this also returns
+ // the current node itself.
+ //
+ // This does not mutate the receiver.
+ formatCompactTo([]byte, diffMode) ([]byte, textNode)
+ // formatExpandedTo formats the contents of the tree as a multi-line string
+ // to the provided buffer. In order for column alignment to operate well,
+ // formatCompactTo must be called before calling formatExpandedTo.
+ formatExpandedTo([]byte, diffMode, indentMode) []byte
+}
+
+// textWrap is a wrapper that concatenates a prefix and/or a suffix
+// to the underlying node.
+type textWrap struct {
+ Prefix string // e.g., "bytes.Buffer{"
+ Value textNode // textWrap | textList | textLine
+ Suffix string // e.g., "}"
+}
+
+func (s textWrap) Len() int {
+ return len(s.Prefix) + s.Value.Len() + len(s.Suffix)
+}
+func (s1 textWrap) Equal(s2 textNode) bool {
+ if s2, ok := s2.(textWrap); ok {
+ return s1.Prefix == s2.Prefix && s1.Value.Equal(s2.Value) && s1.Suffix == s2.Suffix
+ }
+ return false
+}
+func (s textWrap) String() string {
+ var d diffMode
+ var n indentMode
+ _, s2 := s.formatCompactTo(nil, d)
+ b := n.appendIndent(nil, d) // Leading indent
+ b = s2.formatExpandedTo(b, d, n) // Main body
+ b = append(b, '\n') // Trailing newline
+ return string(b)
+}
+func (s textWrap) formatCompactTo(b []byte, d diffMode) ([]byte, textNode) {
+ n0 := len(b) // Original buffer length
+ b = append(b, s.Prefix...)
+ b, s.Value = s.Value.formatCompactTo(b, d)
+ b = append(b, s.Suffix...)
+ if _, ok := s.Value.(textLine); ok {
+ return b, textLine(b[n0:])
+ }
+ return b, s
+}
+func (s textWrap) formatExpandedTo(b []byte, d diffMode, n indentMode) []byte {
+ b = append(b, s.Prefix...)
+ b = s.Value.formatExpandedTo(b, d, n)
+ b = append(b, s.Suffix...)
+ return b
+}
+
+// textList is a comma-separated list of textWrap or textLine nodes.
+// The list may be formatted as multi-lines or single-line at the discretion
+// of the textList.formatCompactTo method.
+type textList []textRecord
+type textRecord struct {
+ Diff diffMode // e.g., 0 or '-' or '+'
+ Key string // e.g., "MyField"
+ Value textNode // textWrap | textLine
+ Comment fmt.Stringer // e.g., "6 identical fields"
+}
+
+// AppendEllipsis appends a new ellipsis node to the list if none already
+// exists at the end. If cs is non-zero it coalesces the statistics with the
+// previous diffStats.
+func (s *textList) AppendEllipsis(ds diffStats) {
+ hasStats := ds != diffStats{}
+ if len(*s) == 0 || !(*s)[len(*s)-1].Value.Equal(textEllipsis) {
+ if hasStats {
+ *s = append(*s, textRecord{Value: textEllipsis, Comment: ds})
+ } else {
+ *s = append(*s, textRecord{Value: textEllipsis})
+ }
+ return
+ }
+ if hasStats {
+ (*s)[len(*s)-1].Comment = (*s)[len(*s)-1].Comment.(diffStats).Append(ds)
+ }
+}
+
+func (s textList) Len() (n int) {
+ for i, r := range s {
+ n += len(r.Key)
+ if r.Key != "" {
+ n += len(": ")
+ }
+ n += r.Value.Len()
+ if i < len(s)-1 {
+ n += len(", ")
+ }
+ }
+ return n
+}
+
+func (s1 textList) Equal(s2 textNode) bool {
+ if s2, ok := s2.(textList); ok {
+ if len(s1) != len(s2) {
+ return false
+ }
+ for i := range s1 {
+ r1, r2 := s1[i], s2[i]
+ if !(r1.Diff == r2.Diff && r1.Key == r2.Key && r1.Value.Equal(r2.Value) && r1.Comment == r2.Comment) {
+ return false
+ }
+ }
+ return true
+ }
+ return false
+}
+
+func (s textList) String() string {
+ return textWrap{"{", s, "}"}.String()
+}
+
+func (s textList) formatCompactTo(b []byte, d diffMode) ([]byte, textNode) {
+ s = append(textList(nil), s...) // Avoid mutating original
+
+ // Determine whether we can collapse this list as a single line.
+ n0 := len(b) // Original buffer length
+ var multiLine bool
+ for i, r := range s {
+ if r.Diff == diffInserted || r.Diff == diffRemoved {
+ multiLine = true
+ }
+ b = append(b, r.Key...)
+ if r.Key != "" {
+ b = append(b, ": "...)
+ }
+ b, s[i].Value = r.Value.formatCompactTo(b, d|r.Diff)
+ if _, ok := s[i].Value.(textLine); !ok {
+ multiLine = true
+ }
+ if r.Comment != nil {
+ multiLine = true
+ }
+ if i < len(s)-1 {
+ b = append(b, ", "...)
+ }
+ }
+ // Force multi-lined output when printing a removed/inserted node that
+ // is sufficiently long.
+ if (d == diffInserted || d == diffRemoved) && len(b[n0:]) > 80 {
+ multiLine = true
+ }
+ if !multiLine {
+ return b, textLine(b[n0:])
+ }
+ return b, s
+}
+
+func (s textList) formatExpandedTo(b []byte, d diffMode, n indentMode) []byte {
+ alignKeyLens := s.alignLens(
+ func(r textRecord) bool {
+ _, isLine := r.Value.(textLine)
+ return r.Key == "" || !isLine
+ },
+ func(r textRecord) int { return len(r.Key) },
+ )
+ alignValueLens := s.alignLens(
+ func(r textRecord) bool {
+ _, isLine := r.Value.(textLine)
+ return !isLine || r.Value.Equal(textEllipsis) || r.Comment == nil
+ },
+ func(r textRecord) int { return len(r.Value.(textLine)) },
+ )
+
+ // Format the list as a multi-lined output.
+ n++
+ for i, r := range s {
+ b = n.appendIndent(append(b, '\n'), d|r.Diff)
+ if r.Key != "" {
+ b = append(b, r.Key+": "...)
+ }
+ b = alignKeyLens[i].appendChar(b, ' ')
+
+ b = r.Value.formatExpandedTo(b, d|r.Diff, n)
+ if !r.Value.Equal(textEllipsis) {
+ b = append(b, ',')
+ }
+ b = alignValueLens[i].appendChar(b, ' ')
+
+ if r.Comment != nil {
+ b = append(b, " // "+r.Comment.String()...)
+ }
+ }
+ n--
+
+ return n.appendIndent(append(b, '\n'), d)
+}
+
+func (s textList) alignLens(
+ skipFunc func(textRecord) bool,
+ lenFunc func(textRecord) int,
+) []repeatCount {
+ var startIdx, endIdx, maxLen int
+ lens := make([]repeatCount, len(s))
+ for i, r := range s {
+ if skipFunc(r) {
+ for j := startIdx; j < endIdx && j < len(s); j++ {
+ lens[j] = repeatCount(maxLen - lenFunc(s[j]))
+ }
+ startIdx, endIdx, maxLen = i+1, i+1, 0
+ } else {
+ if maxLen < lenFunc(r) {
+ maxLen = lenFunc(r)
+ }
+ endIdx = i + 1
+ }
+ }
+ for j := startIdx; j < endIdx && j < len(s); j++ {
+ lens[j] = repeatCount(maxLen - lenFunc(s[j]))
+ }
+ return lens
+}
+
+// textLine is a single-line segment of text and is always a leaf node
+// in the textNode tree.
+type textLine []byte
+
+var (
+ textNil = textLine("nil")
+ textEllipsis = textLine("...")
+)
+
+func (s textLine) Len() int {
+ return len(s)
+}
+func (s1 textLine) Equal(s2 textNode) bool {
+ if s2, ok := s2.(textLine); ok {
+ return bytes.Equal([]byte(s1), []byte(s2))
+ }
+ return false
+}
+func (s textLine) String() string {
+ return string(s)
+}
+func (s textLine) formatCompactTo(b []byte, d diffMode) ([]byte, textNode) {
+ return append(b, s...), s
+}
+func (s textLine) formatExpandedTo(b []byte, _ diffMode, _ indentMode) []byte {
+ return append(b, s...)
+}
+
+type diffStats struct {
+ Name string
+ NumIgnored int
+ NumIdentical int
+ NumRemoved int
+ NumInserted int
+ NumModified int
+}
+
+func (s diffStats) NumDiff() int {
+ return s.NumRemoved + s.NumInserted + s.NumModified
+}
+
+func (s diffStats) Append(ds diffStats) diffStats {
+ assert(s.Name == ds.Name)
+ s.NumIgnored += ds.NumIgnored
+ s.NumIdentical += ds.NumIdentical
+ s.NumRemoved += ds.NumRemoved
+ s.NumInserted += ds.NumInserted
+ s.NumModified += ds.NumModified
+ return s
+}
+
+// String prints a humanly-readable summary of coalesced records.
+//
+// Example:
+// diffStats{Name: "Field", NumIgnored: 5}.String() => "5 ignored fields"
+func (s diffStats) String() string {
+ var ss []string
+ var sum int
+ labels := [...]string{"ignored", "identical", "removed", "inserted", "modified"}
+ counts := [...]int{s.NumIgnored, s.NumIdentical, s.NumRemoved, s.NumInserted, s.NumModified}
+ for i, n := range counts {
+ if n > 0 {
+ ss = append(ss, fmt.Sprintf("%d %v", n, labels[i]))
+ }
+ sum += n
+ }
+
+ // Pluralize the name (adjusting for some obscure English grammar rules).
+ name := s.Name
+ if sum > 1 {
+ name += "s"
+ if strings.HasSuffix(name, "ys") {
+ name = name[:len(name)-2] + "ies" // e.g., "entrys" => "entries"
+ }
+ }
+
+ // Format the list according to English grammar (with Oxford comma).
+ switch n := len(ss); n {
+ case 0:
+ return ""
+ case 1, 2:
+ return strings.Join(ss, " and ") + " " + name
+ default:
+ return strings.Join(ss[:n-1], ", ") + ", and " + ss[n-1] + " " + name
+ }
+}
+
+type commentString string
+
+func (s commentString) String() string { return string(s) }
diff --git a/vendor/github.com/google/go-cmp/cmp/report_value.go b/vendor/github.com/google/go-cmp/cmp/report_value.go
new file mode 100644
index 000000000..83031a7f5
--- /dev/null
+++ b/vendor/github.com/google/go-cmp/cmp/report_value.go
@@ -0,0 +1,121 @@
+// Copyright 2019, The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+package cmp
+
+import "reflect"
+
+// valueNode represents a single node within a report, which is a
+// structured representation of the value tree, containing information
+// regarding which nodes are equal or not.
+type valueNode struct {
+ parent *valueNode
+
+ Type reflect.Type
+ ValueX reflect.Value
+ ValueY reflect.Value
+
+ // NumSame is the number of leaf nodes that are equal.
+ // All descendants are equal only if NumDiff is 0.
+ NumSame int
+ // NumDiff is the number of leaf nodes that are not equal.
+ NumDiff int
+ // NumIgnored is the number of leaf nodes that are ignored.
+ NumIgnored int
+ // NumCompared is the number of leaf nodes that were compared
+ // using an Equal method or Comparer function.
+ NumCompared int
+ // NumTransformed is the number of non-leaf nodes that were transformed.
+ NumTransformed int
+ // NumChildren is the number of transitive descendants of this node.
+ // This counts from zero; thus, leaf nodes have no descendants.
+ NumChildren int
+ // MaxDepth is the maximum depth of the tree. This counts from zero;
+ // thus, leaf nodes have a depth of zero.
+ MaxDepth int
+
+ // Records is a list of struct fields, slice elements, or map entries.
+ Records []reportRecord // If populated, implies Value is not populated
+
+ // Value is the result of a transformation, pointer indirect, of
+ // type assertion.
+ Value *valueNode // If populated, implies Records is not populated
+
+ // TransformerName is the name of the transformer.
+ TransformerName string // If non-empty, implies Value is populated
+}
+type reportRecord struct {
+ Key reflect.Value // Invalid for slice element
+ Value *valueNode
+}
+
+func (parent *valueNode) PushStep(ps PathStep) (child *valueNode) {
+ vx, vy := ps.Values()
+ child = &valueNode{parent: parent, Type: ps.Type(), ValueX: vx, ValueY: vy}
+ switch s := ps.(type) {
+ case StructField:
+ assert(parent.Value == nil)
+ parent.Records = append(parent.Records, reportRecord{Key: reflect.ValueOf(s.Name()), Value: child})
+ case SliceIndex:
+ assert(parent.Value == nil)
+ parent.Records = append(parent.Records, reportRecord{Value: child})
+ case MapIndex:
+ assert(parent.Value == nil)
+ parent.Records = append(parent.Records, reportRecord{Key: s.Key(), Value: child})
+ case Indirect:
+ assert(parent.Value == nil && parent.Records == nil)
+ parent.Value = child
+ case TypeAssertion:
+ assert(parent.Value == nil && parent.Records == nil)
+ parent.Value = child
+ case Transform:
+ assert(parent.Value == nil && parent.Records == nil)
+ parent.Value = child
+ parent.TransformerName = s.Name()
+ parent.NumTransformed++
+ default:
+ assert(parent == nil) // Must be the root step
+ }
+ return child
+}
+
+func (r *valueNode) Report(rs Result) {
+ assert(r.MaxDepth == 0) // May only be called on leaf nodes
+
+ if rs.ByIgnore() {
+ r.NumIgnored++
+ } else {
+ if rs.Equal() {
+ r.NumSame++
+ } else {
+ r.NumDiff++
+ }
+ }
+ assert(r.NumSame+r.NumDiff+r.NumIgnored == 1)
+
+ if rs.ByMethod() {
+ r.NumCompared++
+ }
+ if rs.ByFunc() {
+ r.NumCompared++
+ }
+ assert(r.NumCompared <= 1)
+}
+
+func (child *valueNode) PopStep() (parent *valueNode) {
+ if child.parent == nil {
+ return nil
+ }
+ parent = child.parent
+ parent.NumSame += child.NumSame
+ parent.NumDiff += child.NumDiff
+ parent.NumIgnored += child.NumIgnored
+ parent.NumCompared += child.NumCompared
+ parent.NumTransformed += child.NumTransformed
+ parent.NumChildren += child.NumChildren + 1
+ if parent.MaxDepth < child.MaxDepth+1 {
+ parent.MaxDepth = child.MaxDepth + 1
+ }
+ return parent
+}
diff --git a/vendor/github.com/google/gofuzz/.travis.yml b/vendor/github.com/google/gofuzz/.travis.yml
new file mode 100644
index 000000000..f8684d99f
--- /dev/null
+++ b/vendor/github.com/google/gofuzz/.travis.yml
@@ -0,0 +1,13 @@
+language: go
+
+go:
+ - 1.4
+ - 1.3
+ - 1.2
+ - tip
+
+install:
+ - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
+
+script:
+ - go test -cover
diff --git a/vendor/github.com/google/gofuzz/CONTRIBUTING.md b/vendor/github.com/google/gofuzz/CONTRIBUTING.md
new file mode 100644
index 000000000..51cf5cd1a
--- /dev/null
+++ b/vendor/github.com/google/gofuzz/CONTRIBUTING.md
@@ -0,0 +1,67 @@
+# How to contribute #
+
+We'd love to accept your patches and contributions to this project. There are
+a just a few small guidelines you need to follow.
+
+
+## Contributor License Agreement ##
+
+Contributions to any Google project must be accompanied by a Contributor
+License Agreement. This is not a copyright **assignment**, it simply gives
+Google permission to use and redistribute your contributions as part of the
+project.
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual
+ CLA][].
+
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA][].
+
+You generally only need to submit a CLA once, so if you've already submitted
+one (even if it was for a different project), you probably don't need to do it
+again.
+
+[individual CLA]: https://developers.google.com/open-source/cla/individual
+[corporate CLA]: https://developers.google.com/open-source/cla/corporate
+
+
+## Submitting a patch ##
+
+ 1. It's generally best to start by opening a new issue describing the bug or
+ feature you're intending to fix. Even if you think it's relatively minor,
+ it's helpful to know what people are working on. Mention in the initial
+ issue that you are planning to work on that bug or feature so that it can
+ be assigned to you.
+
+ 1. Follow the normal process of [forking][] the project, and setup a new
+ branch to work in. It's important that each group of changes be done in
+ separate branches in order to ensure that a pull request only includes the
+ commits related to that bug or feature.
+
+ 1. Go makes it very simple to ensure properly formatted code, so always run
+ `go fmt` on your code before committing it. You should also run
+ [golint][] over your code. As noted in the [golint readme][], it's not
+ strictly necessary that your code be completely "lint-free", but this will
+ help you find common style issues.
+
+ 1. Any significant changes should almost always be accompanied by tests. The
+ project already has good test coverage, so look at some of the existing
+ tests if you're unsure how to go about it. [gocov][] and [gocov-html][]
+ are invaluable tools for seeing which parts of your code aren't being
+ exercised by your tests.
+
+ 1. Do your best to have [well-formed commit messages][] for each change.
+ This provides consistency throughout the project, and ensures that commit
+ messages are able to be formatted properly by various git tools.
+
+ 1. Finally, push the commits to your fork and submit a [pull request][].
+
+[forking]: https://help.github.com/articles/fork-a-repo
+[golint]: https://github.com/golang/lint
+[golint readme]: https://github.com/golang/lint/blob/master/README
+[gocov]: https://github.com/axw/gocov
+[gocov-html]: https://github.com/matm/gocov-html
+[well-formed commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
+[squash]: http://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits
+[pull request]: https://help.github.com/articles/creating-a-pull-request
diff --git a/vendor/github.com/google/gofuzz/README.md b/vendor/github.com/google/gofuzz/README.md
new file mode 100644
index 000000000..386c2a457
--- /dev/null
+++ b/vendor/github.com/google/gofuzz/README.md
@@ -0,0 +1,71 @@
+gofuzz
+======
+
+gofuzz is a library for populating go objects with random values.
+
+[![GoDoc](https://godoc.org/github.com/google/gofuzz?status.svg)](https://godoc.org/github.com/google/gofuzz)
+[![Travis](https://travis-ci.org/google/gofuzz.svg?branch=master)](https://travis-ci.org/google/gofuzz)
+
+This is useful for testing:
+
+* Do your project's objects really serialize/unserialize correctly in all cases?
+* Is there an incorrectly formatted object that will cause your project to panic?
+
+Import with ```import "github.com/google/gofuzz"```
+
+You can use it on single variables:
+```go
+f := fuzz.New()
+var myInt int
+f.Fuzz(&myInt) // myInt gets a random value.
+```
+
+You can use it on maps:
+```go
+f := fuzz.New().NilChance(0).NumElements(1, 1)
+var myMap map[ComplexKeyType]string
+f.Fuzz(&myMap) // myMap will have exactly one element.
+```
+
+Customize the chance of getting a nil pointer:
+```go
+f := fuzz.New().NilChance(.5)
+var fancyStruct struct {
+ A, B, C, D *string
+}
+f.Fuzz(&fancyStruct) // About half the pointers should be set.
+```
+
+You can even customize the randomization completely if needed:
+```go
+type MyEnum string
+const (
+ A MyEnum = "A"
+ B MyEnum = "B"
+)
+type MyInfo struct {
+ Type MyEnum
+ AInfo *string
+ BInfo *string
+}
+
+f := fuzz.New().NilChance(0).Funcs(
+ func(e *MyInfo, c fuzz.Continue) {
+ switch c.Intn(2) {
+ case 0:
+ e.Type = A
+ c.Fuzz(&e.AInfo)
+ case 1:
+ e.Type = B
+ c.Fuzz(&e.BInfo)
+ }
+ },
+)
+
+var myObject MyInfo
+f.Fuzz(&myObject) // Type will correspond to whether A or B info is set.
+```
+
+See more examples in ```example_test.go```.
+
+Happy testing!
diff --git a/vendor/github.com/google/gofuzz/go.mod b/vendor/github.com/google/gofuzz/go.mod
new file mode 100644
index 000000000..8ec4fe9e9
--- /dev/null
+++ b/vendor/github.com/google/gofuzz/go.mod
@@ -0,0 +1,3 @@
+module github.com/google/gofuzz
+
+go 1.12
diff --git a/vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.proto b/vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.proto
new file mode 100644
index 000000000..557c88072
--- /dev/null
+++ b/vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.proto
@@ -0,0 +1,663 @@
+// Copyright 2017 Google Inc. All Rights Reserved.
+//
+// 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.
+
+// THIS FILE IS AUTOMATICALLY GENERATED.
+
+syntax = "proto3";
+
+package openapi.v2;
+
+import "google/protobuf/any.proto";
+
+// This option lets the proto compiler generate Java code inside the package
+// name (see below) instead of inside an outer class. It creates a simpler
+// developer experience by reducing one-level of name nesting and be
+// consistent with most programming languages that don't support outer classes.
+option java_multiple_files = true;
+
+// The Java outer classname should be the filename in UpperCamelCase. This
+// class is only used to hold proto descriptor, so developers don't need to
+// work with it directly.
+option java_outer_classname = "OpenAPIProto";
+
+// The Java package name must be proto package name with proper prefix.
+option java_package = "org.openapi_v2";
+
+// A reasonable prefix for the Objective-C symbols generated from the package.
+// It should at a minimum be 3 characters long, all uppercase, and convention
+// is to use an abbreviation of the package name. Something short, but
+// hopefully unique enough to not conflict with things that may come along in
+// the future. 'GPB' is reserved for the protocol buffer implementation itself.
+option objc_class_prefix = "OAS";
+
+message AdditionalPropertiesItem {
+ oneof oneof {
+ Schema schema = 1;
+ bool boolean = 2;
+ }
+}
+
+message Any {
+ google.protobuf.Any value = 1;
+ string yaml = 2;
+}
+
+message ApiKeySecurity {
+ string type = 1;
+ string name = 2;
+ string in = 3;
+ string description = 4;
+ repeated NamedAny vendor_extension = 5;
+}
+
+message BasicAuthenticationSecurity {
+ string type = 1;
+ string description = 2;
+ repeated NamedAny vendor_extension = 3;
+}
+
+message BodyParameter {
+ // A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
+ string description = 1;
+ // The name of the parameter.
+ string name = 2;
+ // Determines the location of the parameter.
+ string in = 3;
+ // Determines whether or not this parameter is required or optional.
+ bool required = 4;
+ Schema schema = 5;
+ repeated NamedAny vendor_extension = 6;
+}
+
+// Contact information for the owners of the API.
+message Contact {
+ // The identifying name of the contact person/organization.
+ string name = 1;
+ // The URL pointing to the contact information.
+ string url = 2;
+ // The email address of the contact person/organization.
+ string email = 3;
+ repeated NamedAny vendor_extension = 4;
+}
+
+message Default {
+ repeated NamedAny additional_properties = 1;
+}
+
+// One or more JSON objects describing the schemas being consumed and produced by the API.
+message Definitions {
+ repeated NamedSchema additional_properties = 1;
+}
+
+message Document {
+ // The Swagger version of this document.
+ string swagger = 1;
+ Info info = 2;
+ // The host (name or ip) of the API. Example: 'swagger.io'
+ string host = 3;
+ // The base path to the API. Example: '/api'.
+ string base_path = 4;
+ // The transfer protocol of the API.
+ repeated string schemes = 5;
+ // A list of MIME types accepted by the API.
+ repeated string consumes = 6;
+ // A list of MIME types the API can produce.
+ repeated string produces = 7;
+ Paths paths = 8;
+ Definitions definitions = 9;
+ ParameterDefinitions parameters = 10;
+ ResponseDefinitions responses = 11;
+ repeated SecurityRequirement security = 12;
+ SecurityDefinitions security_definitions = 13;
+ repeated Tag tags = 14;
+ ExternalDocs external_docs = 15;
+ repeated NamedAny vendor_extension = 16;
+}
+
+message Examples {
+ repeated NamedAny additional_properties = 1;
+}
+
+// information about external documentation
+message ExternalDocs {
+ string description = 1;
+ string url = 2;
+ repeated NamedAny vendor_extension = 3;
+}
+
+// A deterministic version of a JSON Schema object.
+message FileSchema {
+ string format = 1;
+ string title = 2;
+ string description = 3;
+ Any default = 4;
+ repeated string required = 5;
+ string type = 6;
+ bool read_only = 7;
+ ExternalDocs external_docs = 8;
+ Any example = 9;
+ repeated NamedAny vendor_extension = 10;
+}
+
+message FormDataParameterSubSchema {
+ // Determines whether or not this parameter is required or optional.
+ bool required = 1;
+ // Determines the location of the parameter.
+ string in = 2;
+ // A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
+ string description = 3;
+ // The name of the parameter.
+ string name = 4;
+ // allows sending a parameter by name only or with an empty value.
+ bool allow_empty_value = 5;
+ string type = 6;
+ string format = 7;
+ PrimitivesItems items = 8;
+ string collection_format = 9;
+ Any default = 10;
+ double maximum = 11;
+ bool exclusive_maximum = 12;
+ double minimum = 13;
+ bool exclusive_minimum = 14;
+ int64 max_length = 15;
+ int64 min_length = 16;
+ string pattern = 17;
+ int64 max_items = 18;
+ int64 min_items = 19;
+ bool unique_items = 20;
+ repeated Any enum = 21;
+ double multiple_of = 22;
+ repeated NamedAny vendor_extension = 23;
+}
+
+message Header {
+ string type = 1;
+ string format = 2;
+ PrimitivesItems items = 3;
+ string collection_format = 4;
+ Any default = 5;
+ double maximum = 6;
+ bool exclusive_maximum = 7;
+ double minimum = 8;
+ bool exclusive_minimum = 9;
+ int64 max_length = 10;
+ int64 min_length = 11;
+ string pattern = 12;
+ int64 max_items = 13;
+ int64 min_items = 14;
+ bool unique_items = 15;
+ repeated Any enum = 16;
+ double multiple_of = 17;
+ string description = 18;
+ repeated NamedAny vendor_extension = 19;
+}
+
+message HeaderParameterSubSchema {
+ // Determines whether or not this parameter is required or optional.
+ bool required = 1;
+ // Determines the location of the parameter.
+ string in = 2;
+ // A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
+ string description = 3;
+ // The name of the parameter.
+ string name = 4;
+ string type = 5;
+ string format = 6;
+ PrimitivesItems items = 7;
+ string collection_format = 8;
+ Any default = 9;
+ double maximum = 10;
+ bool exclusive_maximum = 11;
+ double minimum = 12;
+ bool exclusive_minimum = 13;
+ int64 max_length = 14;
+ int64 min_length = 15;
+ string pattern = 16;
+ int64 max_items = 17;
+ int64 min_items = 18;
+ bool unique_items = 19;
+ repeated Any enum = 20;
+ double multiple_of = 21;
+ repeated NamedAny vendor_extension = 22;
+}
+
+message Headers {
+ repeated NamedHeader additional_properties = 1;
+}
+
+// General information about the API.
+message Info {
+ // A unique and precise title of the API.
+ string title = 1;
+ // A semantic version number of the API.
+ string version = 2;
+ // A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed.
+ string description = 3;
+ // The terms of service for the API.
+ string terms_of_service = 4;
+ Contact contact = 5;
+ License license = 6;
+ repeated NamedAny vendor_extension = 7;
+}
+
+message ItemsItem {
+ repeated Schema schema = 1;
+}
+
+message JsonReference {
+ string _ref = 1;
+ string description = 2;
+}
+
+message License {
+ // The name of the license type. It's encouraged to use an OSI compatible license.
+ string name = 1;
+ // The URL pointing to the license.
+ string url = 2;
+ repeated NamedAny vendor_extension = 3;
+}
+
+// Automatically-generated message used to represent maps of Any as ordered (name,value) pairs.
+message NamedAny {
+ // Map key
+ string name = 1;
+ // Mapped value
+ Any value = 2;
+}
+
+// Automatically-generated message used to represent maps of Header as ordered (name,value) pairs.
+message NamedHeader {
+ // Map key
+ string name = 1;
+ // Mapped value
+ Header value = 2;
+}
+
+// Automatically-generated message used to represent maps of Parameter as ordered (name,value) pairs.
+message NamedParameter {
+ // Map key
+ string name = 1;
+ // Mapped value
+ Parameter value = 2;
+}
+
+// Automatically-generated message used to represent maps of PathItem as ordered (name,value) pairs.
+message NamedPathItem {
+ // Map key
+ string name = 1;
+ // Mapped value
+ PathItem value = 2;
+}
+
+// Automatically-generated message used to represent maps of Response as ordered (name,value) pairs.
+message NamedResponse {
+ // Map key
+ string name = 1;
+ // Mapped value
+ Response value = 2;
+}
+
+// Automatically-generated message used to represent maps of ResponseValue as ordered (name,value) pairs.
+message NamedResponseValue {
+ // Map key
+ string name = 1;
+ // Mapped value
+ ResponseValue value = 2;
+}
+
+// Automatically-generated message used to represent maps of Schema as ordered (name,value) pairs.
+message NamedSchema {
+ // Map key
+ string name = 1;
+ // Mapped value
+ Schema value = 2;
+}
+
+// Automatically-generated message used to represent maps of SecurityDefinitionsItem as ordered (name,value) pairs.
+message NamedSecurityDefinitionsItem {
+ // Map key
+ string name = 1;
+ // Mapped value
+ SecurityDefinitionsItem value = 2;
+}
+
+// Automatically-generated message used to represent maps of string as ordered (name,value) pairs.
+message NamedString {
+ // Map key
+ string name = 1;
+ // Mapped value
+ string value = 2;
+}
+
+// Automatically-generated message used to represent maps of StringArray as ordered (name,value) pairs.
+message NamedStringArray {
+ // Map key
+ string name = 1;
+ // Mapped value
+ StringArray value = 2;
+}
+
+message NonBodyParameter {
+ oneof oneof {
+ HeaderParameterSubSchema header_parameter_sub_schema = 1;
+ FormDataParameterSubSchema form_data_parameter_sub_schema = 2;
+ QueryParameterSubSchema query_parameter_sub_schema = 3;
+ PathParameterSubSchema path_parameter_sub_schema = 4;
+ }
+}
+
+message Oauth2AccessCodeSecurity {
+ string type = 1;
+ string flow = 2;
+ Oauth2Scopes scopes = 3;
+ string authorization_url = 4;
+ string token_url = 5;
+ string description = 6;
+ repeated NamedAny vendor_extension = 7;
+}
+
+message Oauth2ApplicationSecurity {
+ string type = 1;
+ string flow = 2;
+ Oauth2Scopes scopes = 3;
+ string token_url = 4;
+ string description = 5;
+ repeated NamedAny vendor_extension = 6;
+}
+
+message Oauth2ImplicitSecurity {
+ string type = 1;
+ string flow = 2;
+ Oauth2Scopes scopes = 3;
+ string authorization_url = 4;
+ string description = 5;
+ repeated NamedAny vendor_extension = 6;
+}
+
+message Oauth2PasswordSecurity {
+ string type = 1;
+ string flow = 2;
+ Oauth2Scopes scopes = 3;
+ string token_url = 4;
+ string description = 5;
+ repeated NamedAny vendor_extension = 6;
+}
+
+message Oauth2Scopes {
+ repeated NamedString additional_properties = 1;
+}
+
+message Operation {
+ repeated string tags = 1;
+ // A brief summary of the operation.
+ string summary = 2;
+ // A longer description of the operation, GitHub Flavored Markdown is allowed.
+ string description = 3;
+ ExternalDocs external_docs = 4;
+ // A unique identifier of the operation.
+ string operation_id = 5;
+ // A list of MIME types the API can produce.
+ repeated string produces = 6;
+ // A list of MIME types the API can consume.
+ repeated string consumes = 7;
+ // The parameters needed to send a valid API call.
+ repeated ParametersItem parameters = 8;
+ Responses responses = 9;
+ // The transfer protocol of the API.
+ repeated string schemes = 10;
+ bool deprecated = 11;
+ repeated SecurityRequirement security = 12;
+ repeated NamedAny vendor_extension = 13;
+}
+
+message Parameter {
+ oneof oneof {
+ BodyParameter body_parameter = 1;
+ NonBodyParameter non_body_parameter = 2;
+ }
+}
+
+// One or more JSON representations for parameters
+message ParameterDefinitions {
+ repeated NamedParameter additional_properties = 1;
+}
+
+message ParametersItem {
+ oneof oneof {
+ Parameter parameter = 1;
+ JsonReference json_reference = 2;
+ }
+}
+
+message PathItem {
+ string _ref = 1;
+ Operation get = 2;
+ Operation put = 3;
+ Operation post = 4;
+ Operation delete = 5;
+ Operation options = 6;
+ Operation head = 7;
+ Operation patch = 8;
+ // The parameters needed to send a valid API call.
+ repeated ParametersItem parameters = 9;
+ repeated NamedAny vendor_extension = 10;
+}
+
+message PathParameterSubSchema {
+ // Determines whether or not this parameter is required or optional.
+ bool required = 1;
+ // Determines the location of the parameter.
+ string in = 2;
+ // A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
+ string description = 3;
+ // The name of the parameter.
+ string name = 4;
+ string type = 5;
+ string format = 6;
+ PrimitivesItems items = 7;
+ string collection_format = 8;
+ Any default = 9;
+ double maximum = 10;
+ bool exclusive_maximum = 11;
+ double minimum = 12;
+ bool exclusive_minimum = 13;
+ int64 max_length = 14;
+ int64 min_length = 15;
+ string pattern = 16;
+ int64 max_items = 17;
+ int64 min_items = 18;
+ bool unique_items = 19;
+ repeated Any enum = 20;
+ double multiple_of = 21;
+ repeated NamedAny vendor_extension = 22;
+}
+
+// Relative paths to the individual endpoints. They must be relative to the 'basePath'.
+message Paths {
+ repeated NamedAny vendor_extension = 1;
+ repeated NamedPathItem path = 2;
+}
+
+message PrimitivesItems {
+ string type = 1;
+ string format = 2;
+ PrimitivesItems items = 3;
+ string collection_format = 4;
+ Any default = 5;
+ double maximum = 6;
+ bool exclusive_maximum = 7;
+ double minimum = 8;
+ bool exclusive_minimum = 9;
+ int64 max_length = 10;
+ int64 min_length = 11;
+ string pattern = 12;
+ int64 max_items = 13;
+ int64 min_items = 14;
+ bool unique_items = 15;
+ repeated Any enum = 16;
+ double multiple_of = 17;
+ repeated NamedAny vendor_extension = 18;
+}
+
+message Properties {
+ repeated NamedSchema additional_properties = 1;
+}
+
+message QueryParameterSubSchema {
+ // Determines whether or not this parameter is required or optional.
+ bool required = 1;
+ // Determines the location of the parameter.
+ string in = 2;
+ // A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
+ string description = 3;
+ // The name of the parameter.
+ string name = 4;
+ // allows sending a parameter by name only or with an empty value.
+ bool allow_empty_value = 5;
+ string type = 6;
+ string format = 7;
+ PrimitivesItems items = 8;
+ string collection_format = 9;
+ Any default = 10;
+ double maximum = 11;
+ bool exclusive_maximum = 12;
+ double minimum = 13;
+ bool exclusive_minimum = 14;
+ int64 max_length = 15;
+ int64 min_length = 16;
+ string pattern = 17;
+ int64 max_items = 18;
+ int64 min_items = 19;
+ bool unique_items = 20;
+ repeated Any enum = 21;
+ double multiple_of = 22;
+ repeated NamedAny vendor_extension = 23;
+}
+
+message Response {
+ string description = 1;
+ SchemaItem schema = 2;
+ Headers headers = 3;
+ Examples examples = 4;
+ repeated NamedAny vendor_extension = 5;
+}
+
+// One or more JSON representations for parameters
+message ResponseDefinitions {
+ repeated NamedResponse additional_properties = 1;
+}
+
+message ResponseValue {
+ oneof oneof {
+ Response response = 1;
+ JsonReference json_reference = 2;
+ }
+}
+
+// Response objects names can either be any valid HTTP status code or 'default'.
+message Responses {
+ repeated NamedResponseValue response_code = 1;
+ repeated NamedAny vendor_extension = 2;
+}
+
+// A deterministic version of a JSON Schema object.
+message Schema {
+ string _ref = 1;
+ string format = 2;
+ string title = 3;
+ string description = 4;
+ Any default = 5;
+ double multiple_of = 6;
+ double maximum = 7;
+ bool exclusive_maximum = 8;
+ double minimum = 9;
+ bool exclusive_minimum = 10;
+ int64 max_length = 11;
+ int64 min_length = 12;
+ string pattern = 13;
+ int64 max_items = 14;
+ int64 min_items = 15;
+ bool unique_items = 16;
+ int64 max_properties = 17;
+ int64 min_properties = 18;
+ repeated string required = 19;
+ repeated Any enum = 20;
+ AdditionalPropertiesItem additional_properties = 21;
+ TypeItem type = 22;
+ ItemsItem items = 23;
+ repeated Schema all_of = 24;
+ Properties properties = 25;
+ string discriminator = 26;
+ bool read_only = 27;
+ Xml xml = 28;
+ ExternalDocs external_docs = 29;
+ Any example = 30;
+ repeated NamedAny vendor_extension = 31;
+}
+
+message SchemaItem {
+ oneof oneof {
+ Schema schema = 1;
+ FileSchema file_schema = 2;
+ }
+}
+
+message SecurityDefinitions {
+ repeated NamedSecurityDefinitionsItem additional_properties = 1;
+}
+
+message SecurityDefinitionsItem {
+ oneof oneof {
+ BasicAuthenticationSecurity basic_authentication_security = 1;
+ ApiKeySecurity api_key_security = 2;
+ Oauth2ImplicitSecurity oauth2_implicit_security = 3;
+ Oauth2PasswordSecurity oauth2_password_security = 4;
+ Oauth2ApplicationSecurity oauth2_application_security = 5;
+ Oauth2AccessCodeSecurity oauth2_access_code_security = 6;
+ }
+}
+
+message SecurityRequirement {
+ repeated NamedStringArray additional_properties = 1;
+}
+
+message StringArray {
+ repeated string value = 1;
+}
+
+message Tag {
+ string name = 1;
+ string description = 2;
+ ExternalDocs external_docs = 3;
+ repeated NamedAny vendor_extension = 4;
+}
+
+message TypeItem {
+ repeated string value = 1;
+}
+
+// Any property starting with x- is valid.
+message VendorExtension {
+ repeated NamedAny additional_properties = 1;
+}
+
+message Xml {
+ string name = 1;
+ string namespace = 2;
+ string prefix = 3;
+ bool attribute = 4;
+ bool wrapped = 5;
+ repeated NamedAny vendor_extension = 6;
+}
+
diff --git a/vendor/github.com/googleapis/gnostic/OpenAPIv2/README.md b/vendor/github.com/googleapis/gnostic/OpenAPIv2/README.md
new file mode 100644
index 000000000..836fb32a7
--- /dev/null
+++ b/vendor/github.com/googleapis/gnostic/OpenAPIv2/README.md
@@ -0,0 +1,16 @@
+# OpenAPI v2 Protocol Buffer Models
+
+This directory contains a Protocol Buffer-language model
+and related code for supporting OpenAPI v2.
+
+Gnostic applications and plugins can use OpenAPIv2.proto
+to generate Protocol Buffer support code for their preferred languages.
+
+OpenAPIv2.go is used by Gnostic to read JSON and YAML OpenAPI
+descriptions into the Protocol Buffer-based datastructures
+generated from OpenAPIv2.proto.
+
+OpenAPIv2.proto and OpenAPIv2.go are generated by the Gnostic
+compiler generator, and OpenAPIv2.pb.go is generated by
+protoc, the Protocol Buffer compiler, and protoc-gen-go, the
+Protocol Buffer Go code generation plugin.
diff --git a/vendor/github.com/googleapis/gnostic/OpenAPIv2/openapi-2.0.json b/vendor/github.com/googleapis/gnostic/OpenAPIv2/openapi-2.0.json
new file mode 100644
index 000000000..2815a26ea
--- /dev/null
+++ b/vendor/github.com/googleapis/gnostic/OpenAPIv2/openapi-2.0.json
@@ -0,0 +1,1610 @@
+{
+ "title": "A JSON Schema for Swagger 2.0 API.",
+ "id": "http://swagger.io/v2/schema.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "required": [
+ "swagger",
+ "info",
+ "paths"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "swagger": {
+ "type": "string",
+ "enum": [
+ "2.0"
+ ],
+ "description": "The Swagger version of this document."
+ },
+ "info": {
+ "$ref": "#/definitions/info"
+ },
+ "host": {
+ "type": "string",
+ "pattern": "^[^{}/ :\\\\]+(?::\\d+)?$",
+ "description": "The host (name or ip) of the API. Example: 'swagger.io'"
+ },
+ "basePath": {
+ "type": "string",
+ "pattern": "^/",
+ "description": "The base path to the API. Example: '/api'."
+ },
+ "schemes": {
+ "$ref": "#/definitions/schemesList"
+ },
+ "consumes": {
+ "description": "A list of MIME types accepted by the API.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/mediaTypeList"
+ }
+ ]
+ },
+ "produces": {
+ "description": "A list of MIME types the API can produce.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/mediaTypeList"
+ }
+ ]
+ },
+ "paths": {
+ "$ref": "#/definitions/paths"
+ },
+ "definitions": {
+ "$ref": "#/definitions/definitions"
+ },
+ "parameters": {
+ "$ref": "#/definitions/parameterDefinitions"
+ },
+ "responses": {
+ "$ref": "#/definitions/responseDefinitions"
+ },
+ "security": {
+ "$ref": "#/definitions/security"
+ },
+ "securityDefinitions": {
+ "$ref": "#/definitions/securityDefinitions"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/tag"
+ },
+ "uniqueItems": true
+ },
+ "externalDocs": {
+ "$ref": "#/definitions/externalDocs"
+ }
+ },
+ "definitions": {
+ "info": {
+ "type": "object",
+ "description": "General information about the API.",
+ "required": [
+ "version",
+ "title"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "A unique and precise title of the API."
+ },
+ "version": {
+ "type": "string",
+ "description": "A semantic version number of the API."
+ },
+ "description": {
+ "type": "string",
+ "description": "A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed."
+ },
+ "termsOfService": {
+ "type": "string",
+ "description": "The terms of service for the API."
+ },
+ "contact": {
+ "$ref": "#/definitions/contact"
+ },
+ "license": {
+ "$ref": "#/definitions/license"
+ }
+ }
+ },
+ "contact": {
+ "type": "object",
+ "description": "Contact information for the owners of the API.",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The identifying name of the contact person/organization."
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL pointing to the contact information.",
+ "format": "uri"
+ },
+ "email": {
+ "type": "string",
+ "description": "The email address of the contact person/organization.",
+ "format": "email"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "license": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the license type. It's encouraged to use an OSI compatible license."
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL pointing to the license.",
+ "format": "uri"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "paths": {
+ "type": "object",
+ "description": "Relative paths to the individual endpoints. They must be relative to the 'basePath'.",
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ },
+ "^/": {
+ "$ref": "#/definitions/pathItem"
+ }
+ },
+ "additionalProperties": false
+ },
+ "definitions": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/schema"
+ },
+ "description": "One or more JSON objects describing the schemas being consumed and produced by the API."
+ },
+ "parameterDefinitions": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/parameter"
+ },
+ "description": "One or more JSON representations for parameters"
+ },
+ "responseDefinitions": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/response"
+ },
+ "description": "One or more JSON representations for parameters"
+ },
+ "externalDocs": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "information about external documentation",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "examples": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "mimeType": {
+ "type": "string",
+ "description": "The MIME type of the HTTP message."
+ },
+ "operation": {
+ "type": "object",
+ "required": [
+ "responses"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "summary": {
+ "type": "string",
+ "description": "A brief summary of the operation."
+ },
+ "description": {
+ "type": "string",
+ "description": "A longer description of the operation, GitHub Flavored Markdown is allowed."
+ },
+ "externalDocs": {
+ "$ref": "#/definitions/externalDocs"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "A unique identifier of the operation."
+ },
+ "produces": {
+ "description": "A list of MIME types the API can produce.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/mediaTypeList"
+ }
+ ]
+ },
+ "consumes": {
+ "description": "A list of MIME types the API can consume.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/mediaTypeList"
+ }
+ ]
+ },
+ "parameters": {
+ "$ref": "#/definitions/parametersList"
+ },
+ "responses": {
+ "$ref": "#/definitions/responses"
+ },
+ "schemes": {
+ "$ref": "#/definitions/schemesList"
+ },
+ "deprecated": {
+ "type": "boolean",
+ "default": false
+ },
+ "security": {
+ "$ref": "#/definitions/security"
+ }
+ }
+ },
+ "pathItem": {
+ "type": "object",
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "$ref": {
+ "type": "string"
+ },
+ "get": {
+ "$ref": "#/definitions/operation"
+ },
+ "put": {
+ "$ref": "#/definitions/operation"
+ },
+ "post": {
+ "$ref": "#/definitions/operation"
+ },
+ "delete": {
+ "$ref": "#/definitions/operation"
+ },
+ "options": {
+ "$ref": "#/definitions/operation"
+ },
+ "head": {
+ "$ref": "#/definitions/operation"
+ },
+ "patch": {
+ "$ref": "#/definitions/operation"
+ },
+ "parameters": {
+ "$ref": "#/definitions/parametersList"
+ }
+ }
+ },
+ "responses": {
+ "type": "object",
+ "description": "Response objects names can either be any valid HTTP status code or 'default'.",
+ "minProperties": 1,
+ "additionalProperties": false,
+ "patternProperties": {
+ "^([0-9]{3})$|^(default)$": {
+ "$ref": "#/definitions/responseValue"
+ },
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "not": {
+ "type": "object",
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ }
+ },
+ "responseValue": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/response"
+ },
+ {
+ "$ref": "#/definitions/jsonReference"
+ }
+ ]
+ },
+ "response": {
+ "type": "object",
+ "required": [
+ "description"
+ ],
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/schema"
+ },
+ {
+ "$ref": "#/definitions/fileSchema"
+ }
+ ]
+ },
+ "headers": {
+ "$ref": "#/definitions/headers"
+ },
+ "examples": {
+ "$ref": "#/definitions/examples"
+ }
+ },
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "headers": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/header"
+ }
+ },
+ "header": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "integer",
+ "boolean",
+ "array"
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "items": {
+ "$ref": "#/definitions/primitivesItems"
+ },
+ "collectionFormat": {
+ "$ref": "#/definitions/collectionFormat"
+ },
+ "default": {
+ "$ref": "#/definitions/default"
+ },
+ "maximum": {
+ "$ref": "#/definitions/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "#/definitions/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "#/definitions/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "#/definitions/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "#/definitions/maxLength"
+ },
+ "minLength": {
+ "$ref": "#/definitions/minLength"
+ },
+ "pattern": {
+ "$ref": "#/definitions/pattern"
+ },
+ "maxItems": {
+ "$ref": "#/definitions/maxItems"
+ },
+ "minItems": {
+ "$ref": "#/definitions/minItems"
+ },
+ "uniqueItems": {
+ "$ref": "#/definitions/uniqueItems"
+ },
+ "enum": {
+ "$ref": "#/definitions/enum"
+ },
+ "multipleOf": {
+ "$ref": "#/definitions/multipleOf"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "vendorExtension": {
+ "description": "Any property starting with x- is valid.",
+ "additionalProperties": true,
+ "additionalItems": true
+ },
+ "bodyParameter": {
+ "type": "object",
+ "required": [
+ "name",
+ "in",
+ "schema"
+ ],
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "in": {
+ "type": "string",
+ "description": "Determines the location of the parameter.",
+ "enum": [
+ "body"
+ ]
+ },
+ "required": {
+ "type": "boolean",
+ "description": "Determines whether or not this parameter is required or optional.",
+ "default": false
+ },
+ "schema": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "additionalProperties": false
+ },
+ "headerParameterSubSchema": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "required": {
+ "type": "boolean",
+ "description": "Determines whether or not this parameter is required or optional.",
+ "default": false
+ },
+ "in": {
+ "type": "string",
+ "description": "Determines the location of the parameter.",
+ "enum": [
+ "header"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "boolean",
+ "integer",
+ "array"
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "items": {
+ "$ref": "#/definitions/primitivesItems"
+ },
+ "collectionFormat": {
+ "$ref": "#/definitions/collectionFormat"
+ },
+ "default": {
+ "$ref": "#/definitions/default"
+ },
+ "maximum": {
+ "$ref": "#/definitions/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "#/definitions/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "#/definitions/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "#/definitions/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "#/definitions/maxLength"
+ },
+ "minLength": {
+ "$ref": "#/definitions/minLength"
+ },
+ "pattern": {
+ "$ref": "#/definitions/pattern"
+ },
+ "maxItems": {
+ "$ref": "#/definitions/maxItems"
+ },
+ "minItems": {
+ "$ref": "#/definitions/minItems"
+ },
+ "uniqueItems": {
+ "$ref": "#/definitions/uniqueItems"
+ },
+ "enum": {
+ "$ref": "#/definitions/enum"
+ },
+ "multipleOf": {
+ "$ref": "#/definitions/multipleOf"
+ }
+ }
+ },
+ "queryParameterSubSchema": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "required": {
+ "type": "boolean",
+ "description": "Determines whether or not this parameter is required or optional.",
+ "default": false
+ },
+ "in": {
+ "type": "string",
+ "description": "Determines the location of the parameter.",
+ "enum": [
+ "query"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "allowEmptyValue": {
+ "type": "boolean",
+ "default": false,
+ "description": "allows sending a parameter by name only or with an empty value."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "boolean",
+ "integer",
+ "array"
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "items": {
+ "$ref": "#/definitions/primitivesItems"
+ },
+ "collectionFormat": {
+ "$ref": "#/definitions/collectionFormatWithMulti"
+ },
+ "default": {
+ "$ref": "#/definitions/default"
+ },
+ "maximum": {
+ "$ref": "#/definitions/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "#/definitions/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "#/definitions/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "#/definitions/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "#/definitions/maxLength"
+ },
+ "minLength": {
+ "$ref": "#/definitions/minLength"
+ },
+ "pattern": {
+ "$ref": "#/definitions/pattern"
+ },
+ "maxItems": {
+ "$ref": "#/definitions/maxItems"
+ },
+ "minItems": {
+ "$ref": "#/definitions/minItems"
+ },
+ "uniqueItems": {
+ "$ref": "#/definitions/uniqueItems"
+ },
+ "enum": {
+ "$ref": "#/definitions/enum"
+ },
+ "multipleOf": {
+ "$ref": "#/definitions/multipleOf"
+ }
+ }
+ },
+ "formDataParameterSubSchema": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "required": {
+ "type": "boolean",
+ "description": "Determines whether or not this parameter is required or optional.",
+ "default": false
+ },
+ "in": {
+ "type": "string",
+ "description": "Determines the location of the parameter.",
+ "enum": [
+ "formData"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "allowEmptyValue": {
+ "type": "boolean",
+ "default": false,
+ "description": "allows sending a parameter by name only or with an empty value."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "boolean",
+ "integer",
+ "array",
+ "file"
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "items": {
+ "$ref": "#/definitions/primitivesItems"
+ },
+ "collectionFormat": {
+ "$ref": "#/definitions/collectionFormatWithMulti"
+ },
+ "default": {
+ "$ref": "#/definitions/default"
+ },
+ "maximum": {
+ "$ref": "#/definitions/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "#/definitions/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "#/definitions/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "#/definitions/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "#/definitions/maxLength"
+ },
+ "minLength": {
+ "$ref": "#/definitions/minLength"
+ },
+ "pattern": {
+ "$ref": "#/definitions/pattern"
+ },
+ "maxItems": {
+ "$ref": "#/definitions/maxItems"
+ },
+ "minItems": {
+ "$ref": "#/definitions/minItems"
+ },
+ "uniqueItems": {
+ "$ref": "#/definitions/uniqueItems"
+ },
+ "enum": {
+ "$ref": "#/definitions/enum"
+ },
+ "multipleOf": {
+ "$ref": "#/definitions/multipleOf"
+ }
+ }
+ },
+ "pathParameterSubSchema": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "required": [
+ "required"
+ ],
+ "properties": {
+ "required": {
+ "type": "boolean",
+ "enum": [
+ true
+ ],
+ "description": "Determines whether or not this parameter is required or optional."
+ },
+ "in": {
+ "type": "string",
+ "description": "Determines the location of the parameter.",
+ "enum": [
+ "path"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "boolean",
+ "integer",
+ "array"
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "items": {
+ "$ref": "#/definitions/primitivesItems"
+ },
+ "collectionFormat": {
+ "$ref": "#/definitions/collectionFormat"
+ },
+ "default": {
+ "$ref": "#/definitions/default"
+ },
+ "maximum": {
+ "$ref": "#/definitions/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "#/definitions/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "#/definitions/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "#/definitions/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "#/definitions/maxLength"
+ },
+ "minLength": {
+ "$ref": "#/definitions/minLength"
+ },
+ "pattern": {
+ "$ref": "#/definitions/pattern"
+ },
+ "maxItems": {
+ "$ref": "#/definitions/maxItems"
+ },
+ "minItems": {
+ "$ref": "#/definitions/minItems"
+ },
+ "uniqueItems": {
+ "$ref": "#/definitions/uniqueItems"
+ },
+ "enum": {
+ "$ref": "#/definitions/enum"
+ },
+ "multipleOf": {
+ "$ref": "#/definitions/multipleOf"
+ }
+ }
+ },
+ "nonBodyParameter": {
+ "type": "object",
+ "required": [
+ "name",
+ "in",
+ "type"
+ ],
+ "oneOf": [
+ {
+ "$ref": "#/definitions/headerParameterSubSchema"
+ },
+ {
+ "$ref": "#/definitions/formDataParameterSubSchema"
+ },
+ {
+ "$ref": "#/definitions/queryParameterSubSchema"
+ },
+ {
+ "$ref": "#/definitions/pathParameterSubSchema"
+ }
+ ]
+ },
+ "parameter": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/bodyParameter"
+ },
+ {
+ "$ref": "#/definitions/nonBodyParameter"
+ }
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "A deterministic version of a JSON Schema object.",
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "properties": {
+ "$ref": {
+ "type": "string"
+ },
+ "format": {
+ "type": "string"
+ },
+ "title": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/title"
+ },
+ "description": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/description"
+ },
+ "default": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/default"
+ },
+ "multipleOf": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf"
+ },
+ "maximum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
+ },
+ "minLength": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
+ },
+ "pattern": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/pattern"
+ },
+ "maxItems": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
+ },
+ "minItems": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
+ },
+ "uniqueItems": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems"
+ },
+ "maxProperties": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
+ },
+ "minProperties": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
+ },
+ "required": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray"
+ },
+ "enum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/enum"
+ },
+ "additionalProperties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/schema"
+ },
+ {
+ "type": "boolean"
+ }
+ ],
+ "default": {}
+ },
+ "type": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/type"
+ },
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/schema"
+ },
+ {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/schema"
+ }
+ }
+ ],
+ "default": {}
+ },
+ "allOf": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/schema"
+ },
+ "default": {}
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "readOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "xml": {
+ "$ref": "#/definitions/xml"
+ },
+ "externalDocs": {
+ "$ref": "#/definitions/externalDocs"
+ },
+ "example": {}
+ },
+ "additionalProperties": false
+ },
+ "fileSchema": {
+ "type": "object",
+ "description": "A deterministic version of a JSON Schema object.",
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "format": {
+ "type": "string"
+ },
+ "title": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/title"
+ },
+ "description": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/description"
+ },
+ "default": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/default"
+ },
+ "required": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "file"
+ ]
+ },
+ "readOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "externalDocs": {
+ "$ref": "#/definitions/externalDocs"
+ },
+ "example": {}
+ },
+ "additionalProperties": false
+ },
+ "primitivesItems": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "integer",
+ "boolean",
+ "array"
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "items": {
+ "$ref": "#/definitions/primitivesItems"
+ },
+ "collectionFormat": {
+ "$ref": "#/definitions/collectionFormat"
+ },
+ "default": {
+ "$ref": "#/definitions/default"
+ },
+ "maximum": {
+ "$ref": "#/definitions/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "#/definitions/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "#/definitions/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "#/definitions/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "#/definitions/maxLength"
+ },
+ "minLength": {
+ "$ref": "#/definitions/minLength"
+ },
+ "pattern": {
+ "$ref": "#/definitions/pattern"
+ },
+ "maxItems": {
+ "$ref": "#/definitions/maxItems"
+ },
+ "minItems": {
+ "$ref": "#/definitions/minItems"
+ },
+ "uniqueItems": {
+ "$ref": "#/definitions/uniqueItems"
+ },
+ "enum": {
+ "$ref": "#/definitions/enum"
+ },
+ "multipleOf": {
+ "$ref": "#/definitions/multipleOf"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "security": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/securityRequirement"
+ },
+ "uniqueItems": true
+ },
+ "securityRequirement": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ },
+ "xml": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "namespace": {
+ "type": "string"
+ },
+ "prefix": {
+ "type": "string"
+ },
+ "attribute": {
+ "type": "boolean",
+ "default": false
+ },
+ "wrapped": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "tag": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "externalDocs": {
+ "$ref": "#/definitions/externalDocs"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "securityDefinitions": {
+ "type": "object",
+ "additionalProperties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/basicAuthenticationSecurity"
+ },
+ {
+ "$ref": "#/definitions/apiKeySecurity"
+ },
+ {
+ "$ref": "#/definitions/oauth2ImplicitSecurity"
+ },
+ {
+ "$ref": "#/definitions/oauth2PasswordSecurity"
+ },
+ {
+ "$ref": "#/definitions/oauth2ApplicationSecurity"
+ },
+ {
+ "$ref": "#/definitions/oauth2AccessCodeSecurity"
+ }
+ ]
+ }
+ },
+ "basicAuthenticationSecurity": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "basic"
+ ]
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "apiKeySecurity": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "name",
+ "in"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "apiKey"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "in": {
+ "type": "string",
+ "enum": [
+ "header",
+ "query"
+ ]
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "oauth2ImplicitSecurity": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "flow",
+ "authorizationUrl"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "oauth2"
+ ]
+ },
+ "flow": {
+ "type": "string",
+ "enum": [
+ "implicit"
+ ]
+ },
+ "scopes": {
+ "$ref": "#/definitions/oauth2Scopes"
+ },
+ "authorizationUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "oauth2PasswordSecurity": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "flow",
+ "tokenUrl"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "oauth2"
+ ]
+ },
+ "flow": {
+ "type": "string",
+ "enum": [
+ "password"
+ ]
+ },
+ "scopes": {
+ "$ref": "#/definitions/oauth2Scopes"
+ },
+ "tokenUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "oauth2ApplicationSecurity": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "flow",
+ "tokenUrl"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "oauth2"
+ ]
+ },
+ "flow": {
+ "type": "string",
+ "enum": [
+ "application"
+ ]
+ },
+ "scopes": {
+ "$ref": "#/definitions/oauth2Scopes"
+ },
+ "tokenUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "oauth2AccessCodeSecurity": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "flow",
+ "authorizationUrl",
+ "tokenUrl"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "oauth2"
+ ]
+ },
+ "flow": {
+ "type": "string",
+ "enum": [
+ "accessCode"
+ ]
+ },
+ "scopes": {
+ "$ref": "#/definitions/oauth2Scopes"
+ },
+ "authorizationUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "tokenUrl": {
+ "type": "string",
+ "format": "uri"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "patternProperties": {
+ "^x-": {
+ "$ref": "#/definitions/vendorExtension"
+ }
+ }
+ },
+ "oauth2Scopes": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "mediaTypeList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/mimeType"
+ },
+ "uniqueItems": true
+ },
+ "parametersList": {
+ "type": "array",
+ "description": "The parameters needed to send a valid API call.",
+ "additionalItems": false,
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/parameter"
+ },
+ {
+ "$ref": "#/definitions/jsonReference"
+ }
+ ]
+ },
+ "uniqueItems": true
+ },
+ "schemesList": {
+ "type": "array",
+ "description": "The transfer protocol of the API.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https",
+ "ws",
+ "wss"
+ ]
+ },
+ "uniqueItems": true
+ },
+ "collectionFormat": {
+ "type": "string",
+ "enum": [
+ "csv",
+ "ssv",
+ "tsv",
+ "pipes"
+ ],
+ "default": "csv"
+ },
+ "collectionFormatWithMulti": {
+ "type": "string",
+ "enum": [
+ "csv",
+ "ssv",
+ "tsv",
+ "pipes",
+ "multi"
+ ],
+ "default": "csv"
+ },
+ "title": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/title"
+ },
+ "description": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/description"
+ },
+ "default": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/default"
+ },
+ "multipleOf": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf"
+ },
+ "maximum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/maximum"
+ },
+ "exclusiveMaximum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"
+ },
+ "minimum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/minimum"
+ },
+ "exclusiveMinimum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"
+ },
+ "maxLength": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
+ },
+ "minLength": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
+ },
+ "pattern": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/pattern"
+ },
+ "maxItems": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
+ },
+ "minItems": {
+ "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
+ },
+ "uniqueItems": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems"
+ },
+ "enum": {
+ "$ref": "http://json-schema.org/draft-04/schema#/properties/enum"
+ },
+ "jsonReference": {
+ "type": "object",
+ "required": [
+ "$ref"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "$ref": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/vendor/github.com/googleapis/gnostic/compiler/README.md b/vendor/github.com/googleapis/gnostic/compiler/README.md
new file mode 100644
index 000000000..848b16c69
--- /dev/null
+++ b/vendor/github.com/googleapis/gnostic/compiler/README.md
@@ -0,0 +1,3 @@
+# Compiler support code
+
+This directory contains compiler support code used by Gnostic and Gnostic extensions.
\ No newline at end of file
diff --git a/vendor/github.com/googleapis/gnostic/extensions/README.md b/vendor/github.com/googleapis/gnostic/extensions/README.md
new file mode 100644
index 000000000..ff1c2eb1e
--- /dev/null
+++ b/vendor/github.com/googleapis/gnostic/extensions/README.md
@@ -0,0 +1,5 @@
+# Extensions
+
+This directory contains support code for building Gnostic extensions and associated examples.
+
+Extensions are used to compile vendor or specification extensions into protocol buffer structures.
diff --git a/vendor/github.com/googleapis/gnostic/extensions/extension.proto b/vendor/github.com/googleapis/gnostic/extensions/extension.proto
new file mode 100644
index 000000000..04856f913
--- /dev/null
+++ b/vendor/github.com/googleapis/gnostic/extensions/extension.proto
@@ -0,0 +1,93 @@
+// Copyright 2017 Google Inc. All Rights Reserved.
+//
+// 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.
+
+syntax = "proto3";
+
+import "google/protobuf/any.proto";
+package openapiextension.v1;
+
+// This option lets the proto compiler generate Java code inside the package
+// name (see below) instead of inside an outer class. It creates a simpler
+// developer experience by reducing one-level of name nesting and be
+// consistent with most programming languages that don't support outer classes.
+option java_multiple_files = true;
+
+// The Java outer classname should be the filename in UpperCamelCase. This
+// class is only used to hold proto descriptor, so developers don't need to
+// work with it directly.
+option java_outer_classname = "OpenAPIExtensionV1";
+
+// The Java package name must be proto package name with proper prefix.
+option java_package = "org.gnostic.v1";
+
+// A reasonable prefix for the Objective-C symbols generated from the package.
+// It should at a minimum be 3 characters long, all uppercase, and convention
+// is to use an abbreviation of the package name. Something short, but
+// hopefully unique enough to not conflict with things that may come along in
+// the future. 'GPB' is reserved for the protocol buffer implementation itself.
+//
+option objc_class_prefix = "OAE"; // "OpenAPI Extension"
+
+// The version number of OpenAPI compiler.
+message Version {
+ int32 major = 1;
+ int32 minor = 2;
+ int32 patch = 3;
+ // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
+ // be empty for mainline stable releases.
+ string suffix = 4;
+}
+
+// An encoded Request is written to the ExtensionHandler's stdin.
+message ExtensionHandlerRequest {
+
+ // The OpenAPI descriptions that were explicitly listed on the command line.
+ // The specifications will appear in the order they are specified to gnostic.
+ Wrapper wrapper = 1;
+
+ // The version number of openapi compiler.
+ Version compiler_version = 3;
+}
+
+// The extensions writes an encoded ExtensionHandlerResponse to stdout.
+message ExtensionHandlerResponse {
+
+ // true if the extension is handled by the extension handler; false otherwise
+ bool handled = 1;
+
+ // Error message. If non-empty, the extension handling failed.
+ // The extension handler process should exit with status code zero
+ // even if it reports an error in this way.
+ //
+ // This should be used to indicate errors which prevent the extension from
+ // operating as intended. Errors which indicate a problem in gnostic
+ // itself -- such as the input Document being unparseable -- should be
+ // reported by writing a message to stderr and exiting with a non-zero
+ // status code.
+ repeated string error = 2;
+
+ // text output
+ google.protobuf.Any value = 3;
+}
+
+message Wrapper {
+ // version of the OpenAPI specification in which this extension was written.
+ string version = 1;
+
+ // Name of the extension
+ string extension_name = 2;
+
+ // Must be a valid yaml for the proto
+ string yaml = 3;
+}
diff --git a/vendor/github.com/hashicorp/golang-lru/.gitignore b/vendor/github.com/hashicorp/golang-lru/.gitignore
new file mode 100644
index 000000000..836562412
--- /dev/null
+++ b/vendor/github.com/hashicorp/golang-lru/.gitignore
@@ -0,0 +1,23 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
diff --git a/vendor/github.com/hashicorp/golang-lru/README.md b/vendor/github.com/hashicorp/golang-lru/README.md
new file mode 100644
index 000000000..33e58cfaf
--- /dev/null
+++ b/vendor/github.com/hashicorp/golang-lru/README.md
@@ -0,0 +1,25 @@
+golang-lru
+==========
+
+This provides the `lru` package which implements a fixed-size
+thread safe LRU cache. It is based on the cache in Groupcache.
+
+Documentation
+=============
+
+Full docs are available on [Godoc](http://godoc.org/github.com/hashicorp/golang-lru)
+
+Example
+=======
+
+Using the LRU is very simple:
+
+```go
+l, _ := New(128)
+for i := 0; i < 256; i++ {
+ l.Add(i, nil)
+}
+if l.Len() != 128 {
+ panic(fmt.Sprintf("bad len: %v", l.Len()))
+}
+```
diff --git a/vendor/github.com/hashicorp/golang-lru/go.mod b/vendor/github.com/hashicorp/golang-lru/go.mod
new file mode 100644
index 000000000..8ad8826b3
--- /dev/null
+++ b/vendor/github.com/hashicorp/golang-lru/go.mod
@@ -0,0 +1,3 @@
+module github.com/hashicorp/golang-lru
+
+go 1.12
diff --git a/vendor/github.com/imdario/mergo/.gitignore b/vendor/github.com/imdario/mergo/.gitignore
new file mode 100644
index 000000000..529c3412b
--- /dev/null
+++ b/vendor/github.com/imdario/mergo/.gitignore
@@ -0,0 +1,33 @@
+#### joe made this: http://goel.io/joe
+
+#### go ####
+# Binaries for programs and plugins
+*.exe
+*.dll
+*.so
+*.dylib
+
+# Test binary, build with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
+.glide/
+
+#### vim ####
+# Swap
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-v][a-z]
+[._]sw[a-p]
+
+# Session
+Session.vim
+
+# Temporary
+.netrwhist
+*~
+# Auto-generated tag files
+tags
diff --git a/vendor/github.com/imdario/mergo/.travis.yml b/vendor/github.com/imdario/mergo/.travis.yml
new file mode 100644
index 000000000..dad29725f
--- /dev/null
+++ b/vendor/github.com/imdario/mergo/.travis.yml
@@ -0,0 +1,9 @@
+language: go
+install:
+ - go get -t
+ - go get golang.org/x/tools/cmd/cover
+ - go get github.com/mattn/goveralls
+script:
+ - go test -race -v ./...
+after_script:
+ - $HOME/gopath/bin/goveralls -service=travis-ci -repotoken $COVERALLS_TOKEN
diff --git a/vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md b/vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000..469b44907
--- /dev/null
+++ b/vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md
@@ -0,0 +1,46 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at i@dario.im. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
+
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
diff --git a/vendor/github.com/imdario/mergo/README.md b/vendor/github.com/imdario/mergo/README.md
new file mode 100644
index 000000000..02fc81e06
--- /dev/null
+++ b/vendor/github.com/imdario/mergo/README.md
@@ -0,0 +1,238 @@
+# Mergo
+
+A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
+
+Also a lovely [comune](http://en.wikipedia.org/wiki/Mergo) (municipality) in the Province of Ancona in the Italian region of Marche.
+
+## Status
+
+It is ready for production use. [It is used in several projects by Docker, Google, The Linux Foundation, VMWare, Shopify, etc](https://github.com/imdario/mergo#mergo-in-the-wild).
+
+[![GoDoc][3]][4]
+[![GoCard][5]][6]
+[![Build Status][1]][2]
+[![Coverage Status][7]][8]
+[![Sourcegraph][9]][10]
+[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fimdario%2Fmergo.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fimdario%2Fmergo?ref=badge_shield)
+
+[1]: https://travis-ci.org/imdario/mergo.png
+[2]: https://travis-ci.org/imdario/mergo
+[3]: https://godoc.org/github.com/imdario/mergo?status.svg
+[4]: https://godoc.org/github.com/imdario/mergo
+[5]: https://goreportcard.com/badge/imdario/mergo
+[6]: https://goreportcard.com/report/github.com/imdario/mergo
+[7]: https://coveralls.io/repos/github/imdario/mergo/badge.svg?branch=master
+[8]: https://coveralls.io/github/imdario/mergo?branch=master
+[9]: https://sourcegraph.com/github.com/imdario/mergo/-/badge.svg
+[10]: https://sourcegraph.com/github.com/imdario/mergo?badge
+
+### Latest release
+
+[Release v0.3.7](https://github.com/imdario/mergo/releases/tag/v0.3.7).
+
+### Important note
+
+Please keep in mind that in [0.3.2](//github.com/imdario/mergo/releases/tag/0.3.2) Mergo changed `Merge()`and `Map()` signatures to support [transformers](#transformers). An optional/variadic argument has been added, so it won't break existing code.
+
+If you were using Mergo **before** April 6th 2015, please check your project works as intended after updating your local copy with ```go get -u github.com/imdario/mergo```. I apologize for any issue caused by its previous behavior and any future bug that Mergo could cause (I hope it won't!) in existing projects after the change (release 0.2.0).
+
+### Donations
+
+If Mergo is useful to you, consider buying me a coffee, a beer or making a monthly donation so I can keep building great free software. :heart_eyes:
+
+
+[![Beerpay](https://beerpay.io/imdario/mergo/badge.svg)](https://beerpay.io/imdario/mergo)
+[![Beerpay](https://beerpay.io/imdario/mergo/make-wish.svg)](https://beerpay.io/imdario/mergo)
+
+
+### Mergo in the wild
+
+- [moby/moby](https://github.com/moby/moby)
+- [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes)
+- [vmware/dispatch](https://github.com/vmware/dispatch)
+- [Shopify/themekit](https://github.com/Shopify/themekit)
+- [imdario/zas](https://github.com/imdario/zas)
+- [matcornic/hermes](https://github.com/matcornic/hermes)
+- [OpenBazaar/openbazaar-go](https://github.com/OpenBazaar/openbazaar-go)
+- [kataras/iris](https://github.com/kataras/iris)
+- [michaelsauter/crane](https://github.com/michaelsauter/crane)
+- [go-task/task](https://github.com/go-task/task)
+- [sensu/uchiwa](https://github.com/sensu/uchiwa)
+- [ory/hydra](https://github.com/ory/hydra)
+- [sisatech/vcli](https://github.com/sisatech/vcli)
+- [dairycart/dairycart](https://github.com/dairycart/dairycart)
+- [projectcalico/felix](https://github.com/projectcalico/felix)
+- [resin-os/balena](https://github.com/resin-os/balena)
+- [go-kivik/kivik](https://github.com/go-kivik/kivik)
+- [Telefonica/govice](https://github.com/Telefonica/govice)
+- [supergiant/supergiant](supergiant/supergiant)
+- [SergeyTsalkov/brooce](https://github.com/SergeyTsalkov/brooce)
+- [soniah/dnsmadeeasy](https://github.com/soniah/dnsmadeeasy)
+- [ohsu-comp-bio/funnel](https://github.com/ohsu-comp-bio/funnel)
+- [EagerIO/Stout](https://github.com/EagerIO/Stout)
+- [lynndylanhurley/defsynth-api](https://github.com/lynndylanhurley/defsynth-api)
+- [russross/canvasassignments](https://github.com/russross/canvasassignments)
+- [rdegges/cryptly-api](https://github.com/rdegges/cryptly-api)
+- [casualjim/exeggutor](https://github.com/casualjim/exeggutor)
+- [divshot/gitling](https://github.com/divshot/gitling)
+- [RWJMurphy/gorl](https://github.com/RWJMurphy/gorl)
+- [andrerocker/deploy42](https://github.com/andrerocker/deploy42)
+- [elwinar/rambler](https://github.com/elwinar/rambler)
+- [tmaiaroto/gopartman](https://github.com/tmaiaroto/gopartman)
+- [jfbus/impressionist](https://github.com/jfbus/impressionist)
+- [Jmeyering/zealot](https://github.com/Jmeyering/zealot)
+- [godep-migrator/rigger-host](https://github.com/godep-migrator/rigger-host)
+- [Dronevery/MultiwaySwitch-Go](https://github.com/Dronevery/MultiwaySwitch-Go)
+- [thoas/picfit](https://github.com/thoas/picfit)
+- [mantasmatelis/whooplist-server](https://github.com/mantasmatelis/whooplist-server)
+- [jnuthong/item_search](https://github.com/jnuthong/item_search)
+- [bukalapak/snowboard](https://github.com/bukalapak/snowboard)
+
+## Installation
+
+ go get github.com/imdario/mergo
+
+ // use in your .go code
+ import (
+ "github.com/imdario/mergo"
+ )
+
+## Usage
+
+You can only merge same-type structs with exported fields initialized as zero value of their type and same-types maps. Mergo won't merge unexported (private) fields but will do recursively any exported one. It won't merge empty structs value as [they are not considered zero values](https://golang.org/ref/spec#The_zero_value) either. Also maps will be merged recursively except for structs inside maps (because they are not addressable using Go reflection).
+
+```go
+if err := mergo.Merge(&dst, src); err != nil {
+ // ...
+}
+```
+
+Also, you can merge overwriting values using the transformer `WithOverride`.
+
+```go
+if err := mergo.Merge(&dst, src, mergo.WithOverride); err != nil {
+ // ...
+}
+```
+
+Additionally, you can map a `map[string]interface{}` to a struct (and otherwise, from struct to map), following the same restrictions as in `Merge()`. Keys are capitalized to find each corresponding exported field.
+
+```go
+if err := mergo.Map(&dst, srcMap); err != nil {
+ // ...
+}
+```
+
+Warning: if you map a struct to map, it won't do it recursively. Don't expect Mergo to map struct members of your struct as `map[string]interface{}`. They will be just assigned as values.
+
+More information and examples in [godoc documentation](http://godoc.org/github.com/imdario/mergo).
+
+### Nice example
+
+```go
+package main
+
+import (
+ "fmt"
+ "github.com/imdario/mergo"
+)
+
+type Foo struct {
+ A string
+ B int64
+}
+
+func main() {
+ src := Foo{
+ A: "one",
+ B: 2,
+ }
+ dest := Foo{
+ A: "two",
+ }
+ mergo.Merge(&dest, src)
+ fmt.Println(dest)
+ // Will print
+ // {two 2}
+}
+```
+
+Note: if test are failing due missing package, please execute:
+
+ go get gopkg.in/yaml.v2
+
+### Transformers
+
+Transformers allow to merge specific types differently than in the default behavior. In other words, now you can customize how some types are merged. For example, `time.Time` is a struct; it doesn't have zero value but IsZero can return true because it has fields with zero value. How can we merge a non-zero `time.Time`?
+
+```go
+package main
+
+import (
+ "fmt"
+ "github.com/imdario/mergo"
+ "reflect"
+ "time"
+)
+
+type timeTransfomer struct {
+}
+
+func (t timeTransfomer) Transformer(typ reflect.Type) func(dst, src reflect.Value) error {
+ if typ == reflect.TypeOf(time.Time{}) {
+ return func(dst, src reflect.Value) error {
+ if dst.CanSet() {
+ isZero := dst.MethodByName("IsZero")
+ result := isZero.Call([]reflect.Value{})
+ if result[0].Bool() {
+ dst.Set(src)
+ }
+ }
+ return nil
+ }
+ }
+ return nil
+}
+
+type Snapshot struct {
+ Time time.Time
+ // ...
+}
+
+func main() {
+ src := Snapshot{time.Now()}
+ dest := Snapshot{}
+ mergo.Merge(&dest, src, mergo.WithTransformers(timeTransfomer{}))
+ fmt.Println(dest)
+ // Will print
+ // { 2018-01-12 01:15:00 +0000 UTC m=+0.000000001 }
+}
+```
+
+
+## Contact me
+
+If I can help you, you have an idea or you are using Mergo in your projects, don't hesitate to drop me a line (or a pull request): [@im_dario](https://twitter.com/im_dario)
+
+## About
+
+Written by [Dario Castañé](http://dario.im).
+
+## Top Contributors
+
+[![0](https://sourcerer.io/fame/imdario/imdario/mergo/images/0)](https://sourcerer.io/fame/imdario/imdario/mergo/links/0)
+[![1](https://sourcerer.io/fame/imdario/imdario/mergo/images/1)](https://sourcerer.io/fame/imdario/imdario/mergo/links/1)
+[![2](https://sourcerer.io/fame/imdario/imdario/mergo/images/2)](https://sourcerer.io/fame/imdario/imdario/mergo/links/2)
+[![3](https://sourcerer.io/fame/imdario/imdario/mergo/images/3)](https://sourcerer.io/fame/imdario/imdario/mergo/links/3)
+[![4](https://sourcerer.io/fame/imdario/imdario/mergo/images/4)](https://sourcerer.io/fame/imdario/imdario/mergo/links/4)
+[![5](https://sourcerer.io/fame/imdario/imdario/mergo/images/5)](https://sourcerer.io/fame/imdario/imdario/mergo/links/5)
+[![6](https://sourcerer.io/fame/imdario/imdario/mergo/images/6)](https://sourcerer.io/fame/imdario/imdario/mergo/links/6)
+[![7](https://sourcerer.io/fame/imdario/imdario/mergo/images/7)](https://sourcerer.io/fame/imdario/imdario/mergo/links/7)
+
+
+## License
+
+[BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause) license, as [Go language](http://golang.org/LICENSE).
+
+
+[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fimdario%2Fmergo.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fimdario%2Fmergo?ref=badge_large)
diff --git a/vendor/github.com/imdario/mergo/testdata/license.yml b/vendor/github.com/imdario/mergo/testdata/license.yml
deleted file mode 100644
index 2f1ad0082..000000000
--- a/vendor/github.com/imdario/mergo/testdata/license.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-import: ../../../../fossene/db/schema/thing.yml
-fields:
- site: string
- author: root
diff --git a/vendor/github.com/inconshreveable/mousetrap/README.md b/vendor/github.com/inconshreveable/mousetrap/README.md
new file mode 100644
index 000000000..7a950d177
--- /dev/null
+++ b/vendor/github.com/inconshreveable/mousetrap/README.md
@@ -0,0 +1,23 @@
+# mousetrap
+
+mousetrap is a tiny library that answers a single question.
+
+On a Windows machine, was the process invoked by someone double clicking on
+the executable file while browsing in explorer?
+
+### Motivation
+
+Windows developers unfamiliar with command line tools will often "double-click"
+the executable for a tool. Because most CLI tools print the help and then exit
+when invoked without arguments, this is often very frustrating for those users.
+
+mousetrap provides a way to detect these invocations so that you can provide
+more helpful behavior and instructions on how to run the CLI tool. To see what
+this looks like, both from an organizational and a technical perspective, see
+https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/
+
+### The interface
+
+The library exposes a single interface:
+
+ func StartedByExplorer() (bool)
diff --git a/vendor/github.com/json-iterator/go/.codecov.yml b/vendor/github.com/json-iterator/go/.codecov.yml
new file mode 100644
index 000000000..955dc0be5
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/.codecov.yml
@@ -0,0 +1,3 @@
+ignore:
+ - "output_tests/.*"
+
diff --git a/vendor/github.com/json-iterator/go/.gitignore b/vendor/github.com/json-iterator/go/.gitignore
new file mode 100644
index 000000000..15556530a
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/.gitignore
@@ -0,0 +1,4 @@
+/vendor
+/bug_test.go
+/coverage.txt
+/.idea
diff --git a/vendor/github.com/json-iterator/go/.travis.yml b/vendor/github.com/json-iterator/go/.travis.yml
new file mode 100644
index 000000000..449e67cd0
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/.travis.yml
@@ -0,0 +1,14 @@
+language: go
+
+go:
+ - 1.8.x
+ - 1.x
+
+before_install:
+ - go get -t -v ./...
+
+script:
+ - ./test.sh
+
+after_success:
+ - bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/github.com/json-iterator/go/Gopkg.lock b/vendor/github.com/json-iterator/go/Gopkg.lock
new file mode 100644
index 000000000..c8a9fbb38
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/Gopkg.lock
@@ -0,0 +1,21 @@
+# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
+
+
+[[projects]]
+ name = "github.com/modern-go/concurrent"
+ packages = ["."]
+ revision = "e0a39a4cb4216ea8db28e22a69f4ec25610d513a"
+ version = "1.0.0"
+
+[[projects]]
+ name = "github.com/modern-go/reflect2"
+ packages = ["."]
+ revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"
+ version = "1.0.1"
+
+[solve-meta]
+ analyzer-name = "dep"
+ analyzer-version = 1
+ inputs-digest = "ea54a775e5a354cb015502d2e7aa4b74230fc77e894f34a838b268c25ec8eeb8"
+ solver-name = "gps-cdcl"
+ solver-version = 1
diff --git a/vendor/github.com/json-iterator/go/Gopkg.toml b/vendor/github.com/json-iterator/go/Gopkg.toml
new file mode 100644
index 000000000..313a0f887
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/Gopkg.toml
@@ -0,0 +1,26 @@
+# 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"
+
+ignored = ["github.com/davecgh/go-spew*","github.com/google/gofuzz*","github.com/stretchr/testify*"]
+
+[[constraint]]
+ name = "github.com/modern-go/reflect2"
+ version = "1.0.1"
diff --git a/vendor/github.com/json-iterator/go/README.md b/vendor/github.com/json-iterator/go/README.md
new file mode 100644
index 000000000..50d56ffbf
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/README.md
@@ -0,0 +1,87 @@
+[![Sourcegraph](https://sourcegraph.com/github.com/json-iterator/go/-/badge.svg)](https://sourcegraph.com/github.com/json-iterator/go?badge)
+[![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://godoc.org/github.com/json-iterator/go)
+[![Build Status](https://travis-ci.org/json-iterator/go.svg?branch=master)](https://travis-ci.org/json-iterator/go)
+[![codecov](https://codecov.io/gh/json-iterator/go/branch/master/graph/badge.svg)](https://codecov.io/gh/json-iterator/go)
+[![rcard](https://goreportcard.com/badge/github.com/json-iterator/go)](https://goreportcard.com/report/github.com/json-iterator/go)
+[![License](http://img.shields.io/badge/license-mit-blue.svg?style=flat-square)](https://raw.githubusercontent.com/json-iterator/go/master/LICENSE)
+[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/json-iterator/Lobby)
+
+A high-performance 100% compatible drop-in replacement of "encoding/json"
+
+You can also use thrift like JSON using [thrift-iterator](https://github.com/thrift-iterator/go)
+
+# Benchmark
+
+![benchmark](http://jsoniter.com/benchmarks/go-benchmark.png)
+
+Source code: https://github.com/json-iterator/go-benchmark/blob/master/src/github.com/json-iterator/go-benchmark/benchmark_medium_payload_test.go
+
+Raw Result (easyjson requires static code generation)
+
+| | ns/op | allocation bytes | allocation times |
+| --- | --- | --- | --- |
+| std decode | 35510 ns/op | 1960 B/op | 99 allocs/op |
+| easyjson decode | 8499 ns/op | 160 B/op | 4 allocs/op |
+| jsoniter decode | 5623 ns/op | 160 B/op | 3 allocs/op |
+| std encode | 2213 ns/op | 712 B/op | 5 allocs/op |
+| easyjson encode | 883 ns/op | 576 B/op | 3 allocs/op |
+| jsoniter encode | 837 ns/op | 384 B/op | 4 allocs/op |
+
+Always benchmark with your own workload.
+The result depends heavily on the data input.
+
+# Usage
+
+100% compatibility with standard lib
+
+Replace
+
+```go
+import "encoding/json"
+json.Marshal(&data)
+```
+
+with
+
+```go
+import "github.com/json-iterator/go"
+
+var json = jsoniter.ConfigCompatibleWithStandardLibrary
+json.Marshal(&data)
+```
+
+Replace
+
+```go
+import "encoding/json"
+json.Unmarshal(input, &data)
+```
+
+with
+
+```go
+import "github.com/json-iterator/go"
+
+var json = jsoniter.ConfigCompatibleWithStandardLibrary
+json.Unmarshal(input, &data)
+```
+
+[More documentation](http://jsoniter.com/migrate-from-go-std.html)
+
+# How to get
+
+```
+go get github.com/json-iterator/go
+```
+
+# Contribution Welcomed !
+
+Contributors
+
+* [thockin](https://github.com/thockin)
+* [mattn](https://github.com/mattn)
+* [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 [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/json-iterator/Lobby)
diff --git a/vendor/github.com/json-iterator/go/build.sh b/vendor/github.com/json-iterator/go/build.sh
new file mode 100644
index 000000000..b45ef6883
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/build.sh
@@ -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
diff --git a/vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md b/vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md
new file mode 100644
index 000000000..3095662b0
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md
@@ -0,0 +1,7 @@
+| json type \ dest type | bool | int | uint | float |string|
+| --- | --- | --- | --- |--|--|
+| number | positive => true
negative => true
zero => false| 23.2 => 23
-32.1 => -32| 12.1 => 12
-12.1 => 0|as normal|same as origin|
+| string | empty string => false
string "0" => false
other strings => true | "123.32" => 123
"-123.4" => -123
"123.23xxxw" => 123
"abcde12" => 0
"-32.1" => -32| 13.2 => 13
-1.1 => 0 |12.1 => 12.1
-12.3 => -12.3
12.4xxa => 12.4
+1.1e2 =>110 |same as origin|
+| bool | true => true
false => false| true => 1
false => 0 | true => 1
false => 0 |true => 1
false => 0|true => "true"
false => "false"|
+| object | true | 0 | 0 |0|originnal json|
+| array | empty array => false
nonempty array => true| [] => 0
[1,2] => 1 | [] => 0
[1,2] => 1 |[] => 0
[1,2] => 1|original json|
\ No newline at end of file
diff --git a/vendor/github.com/json-iterator/go/go.mod b/vendor/github.com/json-iterator/go/go.mod
new file mode 100644
index 000000000..e05c42ff5
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/go.mod
@@ -0,0 +1,11 @@
+module github.com/json-iterator/go
+
+go 1.12
+
+require (
+ github.com/davecgh/go-spew v1.1.1
+ github.com/google/gofuzz v1.0.0
+ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421
+ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742
+ github.com/stretchr/testify v1.3.0
+)
diff --git a/vendor/github.com/json-iterator/go/go.sum b/vendor/github.com/json-iterator/go/go.sum
new file mode 100644
index 000000000..d778b5a14
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/go.sum
@@ -0,0 +1,14 @@
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
diff --git a/vendor/github.com/json-iterator/go/test.sh b/vendor/github.com/json-iterator/go/test.sh
new file mode 100644
index 000000000..f4e7c0b2c
--- /dev/null
+++ b/vendor/github.com/json-iterator/go/test.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+set -e
+echo "" > coverage.txt
+
+for d in $(go list ./... | grep -v vendor); do
+ go test -coverprofile=profile.out -coverpkg=github.com/json-iterator/go $d
+ if [ -f profile.out ]; then
+ cat profile.out >> coverage.txt
+ rm profile.out
+ fi
+done
diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md
new file mode 100644
index 000000000..195333e51
--- /dev/null
+++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md
@@ -0,0 +1,41 @@
+# Windows Terminal Sequences
+
+This library allow for enabling Windows terminal color support for Go.
+
+See [Console Virtual Terminal Sequences](https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences) for details.
+
+## Usage
+
+```go
+import (
+ "syscall"
+
+ sequences "github.com/konsorten/go-windows-terminal-sequences"
+)
+
+func main() {
+ sequences.EnableVirtualTerminalProcessing(syscall.Stdout, true)
+}
+
+```
+
+## Authors
+
+The tool is sponsored by the [marvin + konsorten GmbH](http://www.konsorten.de).
+
+We thank all the authors who provided code to this library:
+
+* Felix Kollmann
+* Nicolas Perraut
+
+## License
+
+(The MIT License)
+
+Copyright (c) 2018 marvin + konsorten GmbH (open-source@konsorten.de)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod b/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod
new file mode 100644
index 000000000..716c61312
--- /dev/null
+++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod
@@ -0,0 +1 @@
+module github.com/konsorten/go-windows-terminal-sequences
diff --git a/vendor/github.com/mattbaird/jsonpatch/.gitignore b/vendor/github.com/mattbaird/jsonpatch/.gitignore
new file mode 100644
index 000000000..daf913b1b
--- /dev/null
+++ b/vendor/github.com/mattbaird/jsonpatch/.gitignore
@@ -0,0 +1,24 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
diff --git a/vendor/github.com/mattbaird/jsonpatch/README.md b/vendor/github.com/mattbaird/jsonpatch/README.md
new file mode 100644
index 000000000..91c03b3fc
--- /dev/null
+++ b/vendor/github.com/mattbaird/jsonpatch/README.md
@@ -0,0 +1,46 @@
+# jsonpatch
+As per http://jsonpatch.com/ JSON Patch is specified in RFC 6902 from the IETF.
+
+JSON Patch allows you to generate JSON that describes changes you want to make to a document, so you don't have to send the whole doc. JSON Patch format is supported by HTTP PATCH method, allowing for standards based partial updates via REST APIs.
+
+```bash
+go get github.com/mattbaird/jsonpatch
+```
+
+I tried some of the other "jsonpatch" go implementations, but none of them could diff two json documents and
+generate format like jsonpatch.com specifies. Here's an example of the patch format:
+
+```json
+[
+ { "op": "replace", "path": "/baz", "value": "boo" },
+ { "op": "add", "path": "/hello", "value": ["world"] },
+ { "op": "remove", "path": "/foo"}
+]
+
+```
+The API is super simple
+#example
+```go
+package main
+
+import (
+ "fmt"
+ "github.com/mattbaird/jsonpatch"
+)
+
+var simpleA = `{"a":100, "b":200, "c":"hello"}`
+var simpleB = `{"a":100, "b":200, "c":"goodbye"}`
+
+func main() {
+ patch, e := jsonpatch.CreatePatch([]byte(simpleA), []byte(simpleA))
+ if e != nil {
+ fmt.Printf("Error creating JSON patch:%v", e)
+ return
+ }
+ for _, operation := range patch {
+ fmt.Printf("%s\n", operation.Json())
+ }
+}
+```
+
+This code needs more tests, as it's a highly recursive, type-fiddly monster. It's not a lot of code, but it has to deal with a lot of complexity.
diff --git a/vendor/github.com/modern-go/concurrent/.gitignore b/vendor/github.com/modern-go/concurrent/.gitignore
new file mode 100644
index 000000000..3f2bc4741
--- /dev/null
+++ b/vendor/github.com/modern-go/concurrent/.gitignore
@@ -0,0 +1 @@
+/coverage.txt
diff --git a/vendor/github.com/modern-go/concurrent/.travis.yml b/vendor/github.com/modern-go/concurrent/.travis.yml
new file mode 100644
index 000000000..449e67cd0
--- /dev/null
+++ b/vendor/github.com/modern-go/concurrent/.travis.yml
@@ -0,0 +1,14 @@
+language: go
+
+go:
+ - 1.8.x
+ - 1.x
+
+before_install:
+ - go get -t -v ./...
+
+script:
+ - ./test.sh
+
+after_success:
+ - bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/github.com/modern-go/concurrent/README.md b/vendor/github.com/modern-go/concurrent/README.md
new file mode 100644
index 000000000..acab3200a
--- /dev/null
+++ b/vendor/github.com/modern-go/concurrent/README.md
@@ -0,0 +1,49 @@
+# concurrent
+
+[![Sourcegraph](https://sourcegraph.com/github.com/modern-go/concurrent/-/badge.svg)](https://sourcegraph.com/github.com/modern-go/concurrent?badge)
+[![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://godoc.org/github.com/modern-go/concurrent)
+[![Build Status](https://travis-ci.org/modern-go/concurrent.svg?branch=master)](https://travis-ci.org/modern-go/concurrent)
+[![codecov](https://codecov.io/gh/modern-go/concurrent/branch/master/graph/badge.svg)](https://codecov.io/gh/modern-go/concurrent)
+[![rcard](https://goreportcard.com/badge/github.com/modern-go/concurrent)](https://goreportcard.com/report/github.com/modern-go/concurrent)
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://raw.githubusercontent.com/modern-go/concurrent/master/LICENSE)
+
+* concurrent.Map: backport sync.Map for go below 1.9
+* concurrent.Executor: goroutine with explicit ownership and cancellable
+
+# concurrent.Map
+
+because sync.Map is only available in go 1.9, we can use concurrent.Map to make code portable
+
+```go
+m := concurrent.NewMap()
+m.Store("hello", "world")
+elem, found := m.Load("hello")
+// elem will be "world"
+// found will be true
+```
+
+# concurrent.Executor
+
+```go
+executor := concurrent.NewUnboundedExecutor()
+executor.Go(func(ctx context.Context) {
+ everyMillisecond := time.NewTicker(time.Millisecond)
+ for {
+ select {
+ case <-ctx.Done():
+ fmt.Println("goroutine exited")
+ return
+ case <-everyMillisecond.C:
+ // do something
+ }
+ }
+})
+time.Sleep(time.Second)
+executor.StopAndWaitForever()
+fmt.Println("executor stopped")
+```
+
+attach goroutine to executor instance, so that we can
+
+* cancel it by stop the executor with Stop/StopAndWait/StopAndWaitForever
+* handle panic by callback: the default behavior will no longer crash your application
\ No newline at end of file
diff --git a/vendor/github.com/modern-go/concurrent/test.sh b/vendor/github.com/modern-go/concurrent/test.sh
new file mode 100644
index 000000000..d1e6b2ec5
--- /dev/null
+++ b/vendor/github.com/modern-go/concurrent/test.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+set -e
+echo "" > coverage.txt
+
+for d in $(go list ./... | grep -v vendor); do
+ go test -coverprofile=profile.out -coverpkg=github.com/modern-go/concurrent $d
+ if [ -f profile.out ]; then
+ cat profile.out >> coverage.txt
+ rm profile.out
+ fi
+done
diff --git a/vendor/github.com/modern-go/reflect2/.gitignore b/vendor/github.com/modern-go/reflect2/.gitignore
new file mode 100644
index 000000000..7b26c946d
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/.gitignore
@@ -0,0 +1,2 @@
+/vendor
+/coverage.txt
diff --git a/vendor/github.com/modern-go/reflect2/.travis.yml b/vendor/github.com/modern-go/reflect2/.travis.yml
new file mode 100644
index 000000000..fbb43744d
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/.travis.yml
@@ -0,0 +1,15 @@
+language: go
+
+go:
+ - 1.8.x
+ - 1.x
+
+before_install:
+ - go get -t -v ./...
+ - go get -t -v github.com/modern-go/reflect2-tests/...
+
+script:
+ - ./test.sh
+
+after_success:
+ - bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/github.com/modern-go/reflect2/Gopkg.lock b/vendor/github.com/modern-go/reflect2/Gopkg.lock
new file mode 100644
index 000000000..2a3a69893
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/Gopkg.lock
@@ -0,0 +1,15 @@
+# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
+
+
+[[projects]]
+ name = "github.com/modern-go/concurrent"
+ packages = ["."]
+ revision = "e0a39a4cb4216ea8db28e22a69f4ec25610d513a"
+ version = "1.0.0"
+
+[solve-meta]
+ analyzer-name = "dep"
+ analyzer-version = 1
+ inputs-digest = "daee8a88b3498b61c5640056665b8b9eea062006f5e596bbb6a3ed9119a11ec7"
+ solver-name = "gps-cdcl"
+ solver-version = 1
diff --git a/vendor/github.com/modern-go/reflect2/Gopkg.toml b/vendor/github.com/modern-go/reflect2/Gopkg.toml
new file mode 100644
index 000000000..2f4f4dbdc
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/Gopkg.toml
@@ -0,0 +1,35 @@
+# Gopkg.toml example
+#
+# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
+# 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"
+#
+# [prune]
+# non-go = false
+# go-tests = true
+# unused-packages = true
+
+ignored = []
+
+[[constraint]]
+ name = "github.com/modern-go/concurrent"
+ version = "1.0.0"
+
+[prune]
+ go-tests = true
+ unused-packages = true
diff --git a/vendor/github.com/modern-go/reflect2/README.md b/vendor/github.com/modern-go/reflect2/README.md
new file mode 100644
index 000000000..6f968aab9
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/README.md
@@ -0,0 +1,71 @@
+# reflect2
+
+[![Sourcegraph](https://sourcegraph.com/github.com/modern-go/reflect2/-/badge.svg)](https://sourcegraph.com/github.com/modern-go/reflect2?badge)
+[![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://godoc.org/github.com/modern-go/reflect2)
+[![Build Status](https://travis-ci.org/modern-go/reflect2.svg?branch=master)](https://travis-ci.org/modern-go/reflect2)
+[![codecov](https://codecov.io/gh/modern-go/reflect2/branch/master/graph/badge.svg)](https://codecov.io/gh/modern-go/reflect2)
+[![rcard](https://goreportcard.com/badge/github.com/modern-go/reflect2)](https://goreportcard.com/report/github.com/modern-go/reflect2)
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://raw.githubusercontent.com/modern-go/reflect2/master/LICENSE)
+
+reflect api that avoids runtime reflect.Value cost
+
+* reflect get/set interface{}, with type checking
+* reflect get/set unsafe.Pointer, without type checking
+* `reflect2.TypeByName` works like `Class.forName` found in java
+
+[json-iterator](https://github.com/json-iterator/go) use this package to save runtime dispatching cost.
+This package is designed for low level libraries to optimize reflection performance.
+General application should still use reflect standard library.
+
+# reflect2.TypeByName
+
+```go
+// given package is github.com/your/awesome-package
+type MyStruct struct {
+ // ...
+}
+
+// will return the type
+reflect2.TypeByName("awesome-package.MyStruct")
+// however, if the type has not been used
+// it will be eliminated by compiler, so we can not get it in runtime
+```
+
+# reflect2 get/set interface{}
+
+```go
+valType := reflect2.TypeOf(1)
+i := 1
+j := 10
+valType.Set(&i, &j)
+// i will be 10
+```
+
+to get set `type`, always use its pointer `*type`
+
+# reflect2 get/set unsafe.Pointer
+
+```go
+valType := reflect2.TypeOf(1)
+i := 1
+j := 10
+valType.UnsafeSet(unsafe.Pointer(&i), unsafe.Pointer(&j))
+// i will be 10
+```
+
+to get set `type`, always use its pointer `*type`
+
+# benchmark
+
+Benchmark is not necessary for this package. It does nothing actually.
+As it is just a thin wrapper to make go runtime public.
+Both `reflect2` and `reflect` call same function
+provided by `runtime` package exposed by go language.
+
+# unsafe safety
+
+Instead of casting `[]byte` to `sliceHeader` in your application using unsafe.
+We can use reflect2 instead. This way, if `sliceHeader` changes in the future,
+only reflect2 need to be upgraded.
+
+reflect2 tries its best to keep the implementation same as reflect (by testing).
\ No newline at end of file
diff --git a/vendor/github.com/modern-go/reflect2/test.sh b/vendor/github.com/modern-go/reflect2/test.sh
new file mode 100644
index 000000000..3d2b9768c
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/test.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+set -e
+echo "" > coverage.txt
+
+for d in $(go list github.com/modern-go/reflect2-tests/... | grep -v vendor); do
+ go test -coverprofile=profile.out -coverpkg=github.com/modern-go/reflect2 $d
+ if [ -f profile.out ]; then
+ cat profile.out >> coverage.txt
+ rm profile.out
+ fi
+done
diff --git a/vendor/github.com/modern-go/reflect2/type_map.go b/vendor/github.com/modern-go/reflect2/type_map.go
index 6d489112f..3acfb5580 100644
--- a/vendor/github.com/modern-go/reflect2/type_map.go
+++ b/vendor/github.com/modern-go/reflect2/type_map.go
@@ -4,6 +4,7 @@ import (
"reflect"
"runtime"
"strings"
+ "sync"
"unsafe"
)
@@ -15,10 +16,17 @@ func typelinks1() [][]unsafe.Pointer
//go:linkname typelinks2 reflect.typelinks
func typelinks2() (sections []unsafe.Pointer, offset [][]int32)
-var types = map[string]reflect.Type{}
-var packages = map[string]map[string]reflect.Type{}
+// initOnce guards initialization of types and packages
+var initOnce sync.Once
+
+var types map[string]reflect.Type
+var packages map[string]map[string]reflect.Type
+
+// discoverTypes initializes types and packages
+func discoverTypes() {
+ types = make(map[string]reflect.Type)
+ packages = make(map[string]map[string]reflect.Type)
-func init() {
ver := runtime.Version()
if ver == "go1.5" || strings.HasPrefix(ver, "go1.5.") {
loadGo15Types()
@@ -90,11 +98,13 @@ type emptyInterface struct {
// TypeByName return the type by its name, just like Class.forName in java
func TypeByName(typeName string) Type {
+ initOnce.Do(discoverTypes)
return Type2(types[typeName])
}
// TypeByPackageName return the type by its package and name
func TypeByPackageName(pkgPath string, name string) Type {
+ initOnce.Do(discoverTypes)
pkgTypes := packages[pkgPath]
if pkgTypes == nil {
return nil
diff --git a/vendor/github.com/opencontainers/go-digest/.mailmap b/vendor/github.com/opencontainers/go-digest/.mailmap
new file mode 100644
index 000000000..ba611cb21
--- /dev/null
+++ b/vendor/github.com/opencontainers/go-digest/.mailmap
@@ -0,0 +1 @@
+Stephen J Day
diff --git a/vendor/github.com/opencontainers/go-digest/.pullapprove.yml b/vendor/github.com/opencontainers/go-digest/.pullapprove.yml
new file mode 100644
index 000000000..45fa4b9ec
--- /dev/null
+++ b/vendor/github.com/opencontainers/go-digest/.pullapprove.yml
@@ -0,0 +1,12 @@
+approve_by_comment: true
+approve_regex: '^(Approved|lgtm|LGTM|:shipit:|:star:|:\+1:|:ship:)'
+reject_regex: ^Rejected
+reset_on_push: true
+author_approval: ignored
+signed_off_by:
+ required: true
+reviewers:
+ teams:
+ - go-digest-maintainers
+ name: default
+ required: 2
diff --git a/vendor/github.com/opencontainers/go-digest/.travis.yml b/vendor/github.com/opencontainers/go-digest/.travis.yml
new file mode 100644
index 000000000..7ea4ed1d2
--- /dev/null
+++ b/vendor/github.com/opencontainers/go-digest/.travis.yml
@@ -0,0 +1,4 @@
+language: go
+go:
+ - 1.7
+ - master
diff --git a/vendor/github.com/opencontainers/go-digest/CONTRIBUTING.md b/vendor/github.com/opencontainers/go-digest/CONTRIBUTING.md
new file mode 100644
index 000000000..e4d962ac1
--- /dev/null
+++ b/vendor/github.com/opencontainers/go-digest/CONTRIBUTING.md
@@ -0,0 +1,72 @@
+# Contributing to Docker open source projects
+
+Want to hack on this project? Awesome! Here are instructions to get you started.
+
+This project is a part of the [Docker](https://www.docker.com) project, and follows
+the same rules and principles. If you're already familiar with the way
+Docker does things, you'll feel right at home.
+
+Otherwise, go read Docker's
+[contributions guidelines](https://github.com/docker/docker/blob/master/CONTRIBUTING.md),
+[issue triaging](https://github.com/docker/docker/blob/master/project/ISSUE-TRIAGE.md),
+[review process](https://github.com/docker/docker/blob/master/project/REVIEWING.md) and
+[branches and tags](https://github.com/docker/docker/blob/master/project/BRANCHES-AND-TAGS.md).
+
+For an in-depth description of our contribution process, visit the
+contributors guide: [Understand how to contribute](https://docs.docker.com/opensource/workflow/make-a-contribution/)
+
+### Sign your work
+
+The sign-off is a simple line at the end of the explanation for the patch. Your
+signature certifies that you wrote the patch or otherwise have the right to pass
+it on as an open-source patch. The rules are pretty simple: if you can certify
+the below (from [developercertificate.org](http://developercertificate.org/)):
+
+```
+Developer Certificate of Origin
+Version 1.1
+
+Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+1 Letterman Drive
+Suite D4700
+San Francisco, CA, 94129
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+
+Developer's Certificate of Origin 1.1
+
+By making a contribution to this project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+ have the right to submit it under the open source license
+ indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the best
+ of my knowledge, is covered under an appropriate open source
+ license and I have the right under that license to submit that
+ work with modifications, whether created in whole or in part
+ by me, under the same open source license (unless I am
+ permitted to submit under a different license), as indicated
+ in the file; or
+
+(c) The contribution was provided directly to me by some other
+ person who certified (a), (b) or (c) and I have not modified
+ it.
+
+(d) I understand and agree that this project and the contribution
+ are public and that a record of the contribution (including all
+ personal information I submit with it, including my sign-off) is
+ maintained indefinitely and may be redistributed consistent with
+ this project or the open source license(s) involved.
+```
+
+Then you just add a line to every git commit message:
+
+ Signed-off-by: Joe Smith
+
+Use your real name (sorry, no pseudonyms or anonymous contributions.)
+
+If you set your `user.name` and `user.email` git configs, you can sign your
+commit automatically with `git commit -s`.
diff --git a/vendor/github.com/opencontainers/go-digest/MAINTAINERS b/vendor/github.com/opencontainers/go-digest/MAINTAINERS
new file mode 100644
index 000000000..42a29795d
--- /dev/null
+++ b/vendor/github.com/opencontainers/go-digest/MAINTAINERS
@@ -0,0 +1,9 @@
+Aaron Lehmann (@aaronlehmann)
+Brandon Philips (@philips)
+Brendan Burns (@brendandburns)
+Derek McGowan (@dmcgowan)
+Jason Bouzane (@jbouzane)
+John Starks (@jstarks)
+Jonathan Boulle (@jonboulle)
+Stephen Day (@stevvooe)
+Vincent Batts (@vbatts)
diff --git a/vendor/github.com/opencontainers/go-digest/README.md b/vendor/github.com/opencontainers/go-digest/README.md
new file mode 100644
index 000000000..0f5a04092
--- /dev/null
+++ b/vendor/github.com/opencontainers/go-digest/README.md
@@ -0,0 +1,104 @@
+# go-digest
+
+[![GoDoc](https://godoc.org/github.com/opencontainers/go-digest?status.svg)](https://godoc.org/github.com/opencontainers/go-digest) [![Go Report Card](https://goreportcard.com/badge/github.com/opencontainers/go-digest)](https://goreportcard.com/report/github.com/opencontainers/go-digest) [![Build Status](https://travis-ci.org/opencontainers/go-digest.svg?branch=master)](https://travis-ci.org/opencontainers/go-digest)
+
+Common digest package used across the container ecosystem.
+
+Please see the [godoc](https://godoc.org/github.com/opencontainers/go-digest) for more information.
+
+# What is a digest?
+
+A digest is just a hash.
+
+The most common use case for a digest is to create a content
+identifier for use in [Content Addressable Storage](https://en.wikipedia.org/wiki/Content-addressable_storage)
+systems:
+
+```go
+id := digest.FromBytes([]byte("my content"))
+```
+
+In the example above, the id can be used to uniquely identify
+the byte slice "my content". This allows two disparate applications
+to agree on a verifiable identifier without having to trust one
+another.
+
+An identifying digest can be verified, as follows:
+
+```go
+if id != digest.FromBytes([]byte("my content")) {
+ return errors.New("the content has changed!")
+}
+```
+
+A `Verifier` type can be used to handle cases where an `io.Reader`
+makes more sense:
+
+```go
+rd := getContent()
+verifier := id.Verifier()
+io.Copy(verifier, rd)
+
+if !verifier.Verified() {
+ return errors.New("the content has changed!")
+}
+```
+
+Using [Merkle DAGs](https://en.wikipedia.org/wiki/Merkle_tree), this
+can power a rich, safe, content distribution system.
+
+# Usage
+
+While the [godoc](https://godoc.org/github.com/opencontainers/go-digest) is
+considered the best resource, a few important items need to be called
+out when using this package.
+
+1. Make sure to import the hash implementations into your application
+ or the package will panic. You should have something like the
+ following in the main (or other entrypoint) of your application:
+
+ ```go
+ import (
+ _ "crypto/sha256"
+ _ "crypto/sha512"
+ )
+ ```
+ This may seem inconvenient but it allows you replace the hash
+ implementations with others, such as https://github.com/stevvooe/resumable.
+
+2. Even though `digest.Digest` may be assemable as a string, _always_
+ verify your input with `digest.Parse` or use `Digest.Validate`
+ when accepting untrusted input. While there are measures to
+ avoid common problems, this will ensure you have valid digests
+ in the rest of your application.
+
+# Stability
+
+The Go API, at this stage, is considered stable, unless otherwise noted.
+
+As always, before using a package export, read the [godoc](https://godoc.org/github.com/opencontainers/go-digest).
+
+# Contributing
+
+This package is considered fairly complete. It has been in production
+in thousands (millions?) of deployments and is fairly battle-hardened.
+New additions will be met with skepticism. If you think there is a
+missing feature, please file a bug clearly describing the problem and
+the alternatives you tried before submitting a PR.
+
+# Reporting security issues
+
+Please DO NOT file a public issue, instead send your report privately to
+security@opencontainers.org.
+
+The maintainers take security seriously. If you discover a security issue,
+please bring it to their attention right away!
+
+If you are reporting a security issue, do not create an issue or file a pull
+request on GitHub. Instead, disclose the issue responsibly by sending an email
+to security@opencontainers.org (which is inhabited only by the maintainers of
+the various OCI projects).
+
+# Copyright and license
+
+Copyright © 2016 Docker, Inc. All rights reserved, except as follows. Code is released under the [Apache 2.0 license](LICENSE.code). This `README.md` file and the [`CONTRIBUTING.md`](CONTRIBUTING.md) file are licensed under the Creative Commons Attribution 4.0 International License under the terms and conditions set forth in the file [`LICENSE.docs`](LICENSE.docs). You may obtain a duplicate copy of the same license, titled CC BY-SA 4.0, at http://creativecommons.org/licenses/by-sa/4.0/.
diff --git a/vendor/github.com/sirupsen/logrus/.gitignore b/vendor/github.com/sirupsen/logrus/.gitignore
new file mode 100644
index 000000000..6b7d7d1e8
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/.gitignore
@@ -0,0 +1,2 @@
+logrus
+vendor
diff --git a/vendor/github.com/sirupsen/logrus/.travis.yml b/vendor/github.com/sirupsen/logrus/.travis.yml
new file mode 100644
index 000000000..848938a6d
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/.travis.yml
@@ -0,0 +1,25 @@
+language: go
+go_import_path: github.com/sirupsen/logrus
+git:
+ depth: 1
+env:
+ - GO111MODULE=on
+ - GO111MODULE=off
+go: [ 1.11.x, 1.12.x ]
+os: [ linux, osx ]
+matrix:
+ exclude:
+ - go: 1.12.x
+ env: GO111MODULE=off
+ - go: 1.11.x
+ os: osx
+install:
+ - ./travis/install.sh
+ - if [[ "$GO111MODULE" == "on" ]]; then go mod download; fi
+ - if [[ "$GO111MODULE" == "off" ]]; then go get github.com/stretchr/testify/assert golang.org/x/sys/unix github.com/konsorten/go-windows-terminal-sequences; fi
+script:
+ - ./travis/cross_build.sh
+ - export GOMAXPROCS=4
+ - export GORACE=halt_on_error=1
+ - go test -race -v ./...
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then go test -race -v -tags appengine ./... ; fi
diff --git a/vendor/github.com/sirupsen/logrus/CHANGELOG.md b/vendor/github.com/sirupsen/logrus/CHANGELOG.md
new file mode 100644
index 000000000..51a7ab0ca
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/CHANGELOG.md
@@ -0,0 +1,200 @@
+# 1.4.2
+ * Fixes build break for plan9, nacl, solaris
+# 1.4.1
+This new release introduces:
+ * Enhance TextFormatter to not print caller information when they are empty (#944)
+ * Remove dependency on golang.org/x/crypto (#932, #943)
+
+Fixes:
+ * Fix Entry.WithContext method to return a copy of the initial entry (#941)
+
+# 1.4.0
+This new release introduces:
+ * Add `DeferExitHandler`, similar to `RegisterExitHandler` but prepending the handler to the list of handlers (semantically like `defer`) (#848).
+ * Add `CallerPrettyfier` to `JSONFormatter` and `TextFormatter (#909, #911)
+ * Add `Entry.WithContext()` and `Entry.Context`, to set a context on entries to be used e.g. in hooks (#919).
+
+Fixes:
+ * Fix wrong method calls `Logger.Print` and `Logger.Warningln` (#893).
+ * Update `Entry.Logf` to not do string formatting unless the log level is enabled (#903)
+ * Fix infinite recursion on unknown `Level.String()` (#907)
+ * Fix race condition in `getCaller` (#916).
+
+
+# 1.3.0
+This new release introduces:
+ * Log, Logf, Logln functions for Logger and Entry that take a Level
+
+Fixes:
+ * Building prometheus node_exporter on AIX (#840)
+ * Race condition in TextFormatter (#468)
+ * Travis CI import path (#868)
+ * Remove coloured output on Windows (#862)
+ * Pointer to func as field in JSONFormatter (#870)
+ * Properly marshal Levels (#873)
+
+# 1.2.0
+This new release introduces:
+ * A new method `SetReportCaller` in the `Logger` to enable the file, line and calling function from which the trace has been issued
+ * A new trace level named `Trace` whose level is below `Debug`
+ * A configurable exit function to be called upon a Fatal trace
+ * The `Level` object now implements `encoding.TextUnmarshaler` interface
+
+# 1.1.1
+This is a bug fix release.
+ * fix the build break on Solaris
+ * don't drop a whole trace in JSONFormatter when a field param is a function pointer which can not be serialized
+
+# 1.1.0
+This new release introduces:
+ * several fixes:
+ * a fix for a race condition on entry formatting
+ * proper cleanup of previously used entries before putting them back in the pool
+ * the extra new line at the end of message in text formatter has been removed
+ * a new global public API to check if a level is activated: IsLevelEnabled
+ * the following methods have been added to the Logger object
+ * IsLevelEnabled
+ * SetFormatter
+ * SetOutput
+ * ReplaceHooks
+ * introduction of go module
+ * an indent configuration for the json formatter
+ * output colour support for windows
+ * the field sort function is now configurable for text formatter
+ * the CLICOLOR and CLICOLOR\_FORCE environment variable support in text formater
+
+# 1.0.6
+
+This new release introduces:
+ * a new api WithTime which allows to easily force the time of the log entry
+ which is mostly useful for logger wrapper
+ * a fix reverting the immutability of the entry given as parameter to the hooks
+ a new configuration field of the json formatter in order to put all the fields
+ in a nested dictionnary
+ * a new SetOutput method in the Logger
+ * a new configuration of the textformatter to configure the name of the default keys
+ * a new configuration of the text formatter to disable the level truncation
+
+# 1.0.5
+
+* Fix hooks race (#707)
+* Fix panic deadlock (#695)
+
+# 1.0.4
+
+* Fix race when adding hooks (#612)
+* Fix terminal check in AppEngine (#635)
+
+# 1.0.3
+
+* Replace example files with testable examples
+
+# 1.0.2
+
+* bug: quote non-string values in text formatter (#583)
+* Make (*Logger) SetLevel a public method
+
+# 1.0.1
+
+* bug: fix escaping in text formatter (#575)
+
+# 1.0.0
+
+* Officially changed name to lower-case
+* bug: colors on Windows 10 (#541)
+* bug: fix race in accessing level (#512)
+
+# 0.11.5
+
+* feature: add writer and writerlevel to entry (#372)
+
+# 0.11.4
+
+* bug: fix undefined variable on solaris (#493)
+
+# 0.11.3
+
+* formatter: configure quoting of empty values (#484)
+* formatter: configure quoting character (default is `"`) (#484)
+* bug: fix not importing io correctly in non-linux environments (#481)
+
+# 0.11.2
+
+* bug: fix windows terminal detection (#476)
+
+# 0.11.1
+
+* bug: fix tty detection with custom out (#471)
+
+# 0.11.0
+
+* performance: Use bufferpool to allocate (#370)
+* terminal: terminal detection for app-engine (#343)
+* feature: exit handler (#375)
+
+# 0.10.0
+
+* feature: Add a test hook (#180)
+* feature: `ParseLevel` is now case-insensitive (#326)
+* feature: `FieldLogger` interface that generalizes `Logger` and `Entry` (#308)
+* performance: avoid re-allocations on `WithFields` (#335)
+
+# 0.9.0
+
+* logrus/text_formatter: don't emit empty msg
+* logrus/hooks/airbrake: move out of main repository
+* logrus/hooks/sentry: move out of main repository
+* logrus/hooks/papertrail: move out of main repository
+* logrus/hooks/bugsnag: move out of main repository
+* logrus/core: run tests with `-race`
+* logrus/core: detect TTY based on `stderr`
+* logrus/core: support `WithError` on logger
+* logrus/core: Solaris support
+
+# 0.8.7
+
+* logrus/core: fix possible race (#216)
+* logrus/doc: small typo fixes and doc improvements
+
+
+# 0.8.6
+
+* hooks/raven: allow passing an initialized client
+
+# 0.8.5
+
+* logrus/core: revert #208
+
+# 0.8.4
+
+* formatter/text: fix data race (#218)
+
+# 0.8.3
+
+* logrus/core: fix entry log level (#208)
+* logrus/core: improve performance of text formatter by 40%
+* logrus/core: expose `LevelHooks` type
+* logrus/core: add support for DragonflyBSD and NetBSD
+* formatter/text: print structs more verbosely
+
+# 0.8.2
+
+* logrus: fix more Fatal family functions
+
+# 0.8.1
+
+* logrus: fix not exiting on `Fatalf` and `Fatalln`
+
+# 0.8.0
+
+* logrus: defaults to stderr instead of stdout
+* hooks/sentry: add special field for `*http.Request`
+* formatter/text: ignore Windows for colors
+
+# 0.7.3
+
+* formatter/\*: allow configuration of timestamp layout
+
+# 0.7.2
+
+* formatter/text: Add configuration option for time format (#158)
diff --git a/vendor/github.com/sirupsen/logrus/README.md b/vendor/github.com/sirupsen/logrus/README.md
new file mode 100644
index 000000000..a4796eb07
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/README.md
@@ -0,0 +1,495 @@
+# Logrus [![Build Status](https://travis-ci.org/sirupsen/logrus.svg?branch=master)](https://travis-ci.org/sirupsen/logrus) [![GoDoc](https://godoc.org/github.com/sirupsen/logrus?status.svg)](https://godoc.org/github.com/sirupsen/logrus)
+
+Logrus is a structured logger for Go (golang), completely API compatible with
+the standard library logger.
+
+**Seeing weird case-sensitive problems?** It's in the past been possible to
+import Logrus as both upper- and lower-case. Due to the Go package environment,
+this caused issues in the community and we needed a standard. Some environments
+experienced problems with the upper-case variant, so the lower-case was decided.
+Everything using `logrus` will need to use the lower-case:
+`github.com/sirupsen/logrus`. Any package that isn't, should be changed.
+
+To fix Glide, see [these
+comments](https://github.com/sirupsen/logrus/issues/553#issuecomment-306591437).
+For an in-depth explanation of the casing issue, see [this
+comment](https://github.com/sirupsen/logrus/issues/570#issuecomment-313933276).
+
+**Are you interested in assisting in maintaining Logrus?** Currently I have a
+lot of obligations, and I am unable to provide Logrus with the maintainership it
+needs. If you'd like to help, please reach out to me at `simon at author's
+username dot com`.
+
+Nicely color-coded in development (when a TTY is attached, otherwise just
+plain text):
+
+![Colored](http://i.imgur.com/PY7qMwd.png)
+
+With `log.SetFormatter(&log.JSONFormatter{})`, for easy parsing by logstash
+or Splunk:
+
+```json
+{"animal":"walrus","level":"info","msg":"A group of walrus emerges from the
+ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"}
+
+{"level":"warning","msg":"The group's number increased tremendously!",
+"number":122,"omg":true,"time":"2014-03-10 19:57:38.562471297 -0400 EDT"}
+
+{"animal":"walrus","level":"info","msg":"A giant walrus appears!",
+"size":10,"time":"2014-03-10 19:57:38.562500591 -0400 EDT"}
+
+{"animal":"walrus","level":"info","msg":"Tremendously sized cow enters the ocean.",
+"size":9,"time":"2014-03-10 19:57:38.562527896 -0400 EDT"}
+
+{"level":"fatal","msg":"The ice breaks!","number":100,"omg":true,
+"time":"2014-03-10 19:57:38.562543128 -0400 EDT"}
+```
+
+With the default `log.SetFormatter(&log.TextFormatter{})` when a TTY is not
+attached, the output is compatible with the
+[logfmt](http://godoc.org/github.com/kr/logfmt) format:
+
+```text
+time="2015-03-26T01:27:38-04:00" level=debug msg="Started observing beach" animal=walrus number=8
+time="2015-03-26T01:27:38-04:00" level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10
+time="2015-03-26T01:27:38-04:00" level=warning msg="The group's number increased tremendously!" number=122 omg=true
+time="2015-03-26T01:27:38-04:00" level=debug msg="Temperature changes" temperature=-4
+time="2015-03-26T01:27:38-04:00" level=panic msg="It's over 9000!" animal=orca size=9009
+time="2015-03-26T01:27:38-04:00" level=fatal msg="The ice breaks!" err=&{0x2082280c0 map[animal:orca size:9009] 2015-03-26 01:27:38.441574009 -0400 EDT panic It's over 9000!} number=100 omg=true
+```
+To ensure this behaviour even if a TTY is attached, set your formatter as follows:
+
+```go
+ log.SetFormatter(&log.TextFormatter{
+ DisableColors: true,
+ FullTimestamp: true,
+ })
+```
+
+#### Logging Method Name
+
+If you wish to add the calling method as a field, instruct the logger via:
+```go
+log.SetReportCaller(true)
+```
+This adds the caller as 'method' like so:
+
+```json
+{"animal":"penguin","level":"fatal","method":"github.com/sirupsen/arcticcreatures.migrate","msg":"a penguin swims by",
+"time":"2014-03-10 19:57:38.562543129 -0400 EDT"}
+```
+
+```text
+time="2015-03-26T01:27:38-04:00" level=fatal method=github.com/sirupsen/arcticcreatures.migrate msg="a penguin swims by" animal=penguin
+```
+Note that this does add measurable overhead - the cost will depend on the version of Go, but is
+between 20 and 40% in recent tests with 1.6 and 1.7. You can validate this in your
+environment via benchmarks:
+```
+go test -bench=.*CallerTracing
+```
+
+
+#### Case-sensitivity
+
+The organization's name was changed to lower-case--and this will not be changed
+back. If you are getting import conflicts due to case sensitivity, please use
+the lower-case import: `github.com/sirupsen/logrus`.
+
+#### Example
+
+The simplest way to use Logrus is simply the package-level exported logger:
+
+```go
+package main
+
+import (
+ log "github.com/sirupsen/logrus"
+)
+
+func main() {
+ log.WithFields(log.Fields{
+ "animal": "walrus",
+ }).Info("A walrus appears")
+}
+```
+
+Note that it's completely api-compatible with the stdlib logger, so you can
+replace your `log` imports everywhere with `log "github.com/sirupsen/logrus"`
+and you'll now have the flexibility of Logrus. You can customize it all you
+want:
+
+```go
+package main
+
+import (
+ "os"
+ log "github.com/sirupsen/logrus"
+)
+
+func init() {
+ // Log as JSON instead of the default ASCII formatter.
+ log.SetFormatter(&log.JSONFormatter{})
+
+ // Output to stdout instead of the default stderr
+ // Can be any io.Writer, see below for File example
+ log.SetOutput(os.Stdout)
+
+ // Only log the warning severity or above.
+ log.SetLevel(log.WarnLevel)
+}
+
+func main() {
+ log.WithFields(log.Fields{
+ "animal": "walrus",
+ "size": 10,
+ }).Info("A group of walrus emerges from the ocean")
+
+ log.WithFields(log.Fields{
+ "omg": true,
+ "number": 122,
+ }).Warn("The group's number increased tremendously!")
+
+ log.WithFields(log.Fields{
+ "omg": true,
+ "number": 100,
+ }).Fatal("The ice breaks!")
+
+ // A common pattern is to re-use fields between logging statements by re-using
+ // the logrus.Entry returned from WithFields()
+ contextLogger := log.WithFields(log.Fields{
+ "common": "this is a common field",
+ "other": "I also should be logged always",
+ })
+
+ contextLogger.Info("I'll be logged with common and other field")
+ contextLogger.Info("Me too")
+}
+```
+
+For more advanced usage such as logging to multiple locations from the same
+application, you can also create an instance of the `logrus` Logger:
+
+```go
+package main
+
+import (
+ "os"
+ "github.com/sirupsen/logrus"
+)
+
+// Create a new instance of the logger. You can have any number of instances.
+var log = logrus.New()
+
+func main() {
+ // The API for setting attributes is a little different than the package level
+ // exported logger. See Godoc.
+ log.Out = os.Stdout
+
+ // You could set this to any `io.Writer` such as a file
+ // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY, 0666)
+ // if err == nil {
+ // log.Out = file
+ // } else {
+ // log.Info("Failed to log to file, using default stderr")
+ // }
+
+ log.WithFields(logrus.Fields{
+ "animal": "walrus",
+ "size": 10,
+ }).Info("A group of walrus emerges from the ocean")
+}
+```
+
+#### Fields
+
+Logrus encourages careful, structured logging through logging fields instead of
+long, unparseable error messages. For example, instead of: `log.Fatalf("Failed
+to send event %s to topic %s with key %d")`, you should log the much more
+discoverable:
+
+```go
+log.WithFields(log.Fields{
+ "event": event,
+ "topic": topic,
+ "key": key,
+}).Fatal("Failed to send event")
+```
+
+We've found this API forces you to think about logging in a way that produces
+much more useful logging messages. We've been in countless situations where just
+a single added field to a log statement that was already there would've saved us
+hours. The `WithFields` call is optional.
+
+In general, with Logrus using any of the `printf`-family functions should be
+seen as a hint you should add a field, however, you can still use the
+`printf`-family functions with Logrus.
+
+#### Default Fields
+
+Often it's helpful to have fields _always_ attached to log statements in an
+application or parts of one. For example, you may want to always log the
+`request_id` and `user_ip` in the context of a request. Instead of writing
+`log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})` on
+every line, you can create a `logrus.Entry` to pass around instead:
+
+```go
+requestLogger := log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})
+requestLogger.Info("something happened on that request") # will log request_id and user_ip
+requestLogger.Warn("something not great happened")
+```
+
+#### Hooks
+
+You can add hooks for logging levels. For example to send errors to an exception
+tracking service on `Error`, `Fatal` and `Panic`, info to StatsD or log to
+multiple places simultaneously, e.g. syslog.
+
+Logrus comes with [built-in hooks](hooks/). Add those, or your custom hook, in
+`init`:
+
+```go
+import (
+ log "github.com/sirupsen/logrus"
+ "gopkg.in/gemnasium/logrus-airbrake-hook.v2" // the package is named "airbrake"
+ logrus_syslog "github.com/sirupsen/logrus/hooks/syslog"
+ "log/syslog"
+)
+
+func init() {
+
+ // Use the Airbrake hook to report errors that have Error severity or above to
+ // an exception tracker. You can create custom hooks, see the Hooks section.
+ log.AddHook(airbrake.NewHook(123, "xyz", "production"))
+
+ hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "")
+ if err != nil {
+ log.Error("Unable to connect to local syslog daemon")
+ } else {
+ log.AddHook(hook)
+ }
+}
+```
+Note: Syslog hook also support connecting to local syslog (Ex. "/dev/log" or "/var/run/syslog" or "/var/run/log"). For the detail, please check the [syslog hook README](hooks/syslog/README.md).
+
+A list of currently known of service hook can be found in this wiki [page](https://github.com/sirupsen/logrus/wiki/Hooks)
+
+
+#### Level logging
+
+Logrus has seven logging levels: Trace, Debug, Info, Warning, Error, Fatal and Panic.
+
+```go
+log.Trace("Something very low level.")
+log.Debug("Useful debugging information.")
+log.Info("Something noteworthy happened!")
+log.Warn("You should probably take a look at this.")
+log.Error("Something failed but I'm not quitting.")
+// Calls os.Exit(1) after logging
+log.Fatal("Bye.")
+// Calls panic() after logging
+log.Panic("I'm bailing.")
+```
+
+You can set the logging level on a `Logger`, then it will only log entries with
+that severity or anything above it:
+
+```go
+// Will log anything that is info or above (warn, error, fatal, panic). Default.
+log.SetLevel(log.InfoLevel)
+```
+
+It may be useful to set `log.Level = logrus.DebugLevel` in a debug or verbose
+environment if your application has that.
+
+#### Entries
+
+Besides the fields added with `WithField` or `WithFields` some fields are
+automatically added to all logging events:
+
+1. `time`. The timestamp when the entry was created.
+2. `msg`. The logging message passed to `{Info,Warn,Error,Fatal,Panic}` after
+ the `AddFields` call. E.g. `Failed to send event.`
+3. `level`. The logging level. E.g. `info`.
+
+#### Environments
+
+Logrus has no notion of environment.
+
+If you wish for hooks and formatters to only be used in specific environments,
+you should handle that yourself. For example, if your application has a global
+variable `Environment`, which is a string representation of the environment you
+could do:
+
+```go
+import (
+ log "github.com/sirupsen/logrus"
+)
+
+init() {
+ // do something here to set environment depending on an environment variable
+ // or command-line flag
+ if Environment == "production" {
+ log.SetFormatter(&log.JSONFormatter{})
+ } else {
+ // The TextFormatter is default, you don't actually have to do this.
+ log.SetFormatter(&log.TextFormatter{})
+ }
+}
+```
+
+This configuration is how `logrus` was intended to be used, but JSON in
+production is mostly only useful if you do log aggregation with tools like
+Splunk or Logstash.
+
+#### Formatters
+
+The built-in logging formatters are:
+
+* `logrus.TextFormatter`. Logs the event in colors if stdout is a tty, otherwise
+ without colors.
+ * *Note:* to force colored output when there is no TTY, set the `ForceColors`
+ field to `true`. To force no colored output even if there is a TTY set the
+ `DisableColors` field to `true`. For Windows, see
+ [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable).
+ * When colors are enabled, levels are truncated to 4 characters by default. To disable
+ truncation set the `DisableLevelTruncation` field to `true`.
+ * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#TextFormatter).
+* `logrus.JSONFormatter`. Logs fields as JSON.
+ * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#JSONFormatter).
+
+Third party logging formatters:
+
+* [`FluentdFormatter`](https://github.com/joonix/log). Formats entries that can be parsed by Kubernetes and Google Container Engine.
+* [`GELF`](https://github.com/fabienm/go-logrus-formatters). Formats entries so they comply to Graylog's [GELF 1.1 specification](http://docs.graylog.org/en/2.4/pages/gelf.html).
+* [`logstash`](https://github.com/bshuster-repo/logrus-logstash-hook). Logs fields as [Logstash](http://logstash.net) Events.
+* [`prefixed`](https://github.com/x-cray/logrus-prefixed-formatter). Displays log entry source along with alternative layout.
+* [`zalgo`](https://github.com/aybabtme/logzalgo). Invoking the P͉̫o̳̼̊w̖͈̰͎e̬͔̭͂r͚̼̹̲ ̫͓͉̳͈ō̠͕͖̚f̝͍̠ ͕̲̞͖͑Z̖̫̤̫ͪa͉̬͈̗l͖͎g̳̥o̰̥̅!̣͔̲̻͊̄ ̙̘̦̹̦.
+* [`nested-logrus-formatter`](https://github.com/antonfisher/nested-logrus-formatter). Converts logrus fields to a nested structure.
+
+You can define your formatter by implementing the `Formatter` interface,
+requiring a `Format` method. `Format` takes an `*Entry`. `entry.Data` is a
+`Fields` type (`map[string]interface{}`) with all your fields as well as the
+default ones (see Entries section above):
+
+```go
+type MyJSONFormatter struct {
+}
+
+log.SetFormatter(new(MyJSONFormatter))
+
+func (f *MyJSONFormatter) Format(entry *Entry) ([]byte, error) {
+ // Note this doesn't include Time, Level and Message which are available on
+ // the Entry. Consult `godoc` on information about those fields or read the
+ // source of the official loggers.
+ serialized, err := json.Marshal(entry.Data)
+ if err != nil {
+ return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err)
+ }
+ return append(serialized, '\n'), nil
+}
+```
+
+#### Logger as an `io.Writer`
+
+Logrus can be transformed into an `io.Writer`. That writer is the end of an `io.Pipe` and it is your responsibility to close it.
+
+```go
+w := logger.Writer()
+defer w.Close()
+
+srv := http.Server{
+ // create a stdlib log.Logger that writes to
+ // logrus.Logger.
+ ErrorLog: log.New(w, "", 0),
+}
+```
+
+Each line written to that writer will be printed the usual way, using formatters
+and hooks. The level for those entries is `info`.
+
+This means that we can override the standard library logger easily:
+
+```go
+logger := logrus.New()
+logger.Formatter = &logrus.JSONFormatter{}
+
+// Use logrus for standard log output
+// Note that `log` here references stdlib's log
+// Not logrus imported under the name `log`.
+log.SetOutput(logger.Writer())
+```
+
+#### Rotation
+
+Log rotation is not provided with Logrus. Log rotation should be done by an
+external program (like `logrotate(8)`) that can compress and delete old log
+entries. It should not be a feature of the application-level logger.
+
+#### Tools
+
+| Tool | Description |
+| ---- | ----------- |
+|[Logrus Mate](https://github.com/gogap/logrus_mate)|Logrus mate is a tool for Logrus to manage loggers, you can initial logger's level, hook and formatter by config file, the logger will generated with different config at different environment.|
+|[Logrus Viper Helper](https://github.com/heirko/go-contrib/tree/master/logrusHelper)|An Helper around Logrus to wrap with spf13/Viper to load configuration with fangs! And to simplify Logrus configuration use some behavior of [Logrus Mate](https://github.com/gogap/logrus_mate). [sample](https://github.com/heirko/iris-contrib/blob/master/middleware/logrus-logger/example) |
+
+#### Testing
+
+Logrus has a built in facility for asserting the presence of log messages. This is implemented through the `test` hook and provides:
+
+* decorators for existing logger (`test.NewLocal` and `test.NewGlobal`) which basically just add the `test` hook
+* a test logger (`test.NewNullLogger`) that just records log messages (and does not output any):
+
+```go
+import(
+ "github.com/sirupsen/logrus"
+ "github.com/sirupsen/logrus/hooks/test"
+ "github.com/stretchr/testify/assert"
+ "testing"
+)
+
+func TestSomething(t*testing.T){
+ logger, hook := test.NewNullLogger()
+ logger.Error("Helloerror")
+
+ assert.Equal(t, 1, len(hook.Entries))
+ assert.Equal(t, logrus.ErrorLevel, hook.LastEntry().Level)
+ assert.Equal(t, "Helloerror", hook.LastEntry().Message)
+
+ hook.Reset()
+ assert.Nil(t, hook.LastEntry())
+}
+```
+
+#### Fatal handlers
+
+Logrus can register one or more functions that will be called when any `fatal`
+level message is logged. The registered handlers will be executed before
+logrus performs a `os.Exit(1)`. This behavior may be helpful if callers need
+to gracefully shutdown. Unlike a `panic("Something went wrong...")` call which can be intercepted with a deferred `recover` a call to `os.Exit(1)` can not be intercepted.
+
+```
+...
+handler := func() {
+ // gracefully shutdown something...
+}
+logrus.RegisterExitHandler(handler)
+...
+```
+
+#### Thread safety
+
+By default, Logger is protected by a mutex for concurrent writes. The mutex is held when calling hooks and writing logs.
+If you are sure such locking is not needed, you can call logger.SetNoLock() to disable the locking.
+
+Situation when locking is not needed includes:
+
+* You have no hooks registered, or hooks calling is already thread-safe.
+
+* Writing to logger.Out is already thread-safe, for example:
+
+ 1) logger.Out is protected by locks.
+
+ 2) logger.Out is a os.File handler opened with `O_APPEND` flag, and every write is smaller than 4k. (This allow multi-thread/multi-process writing)
+
+ (Refer to http://www.notthewizard.com/2014/06/17/are-files-appends-really-atomic/)
diff --git a/vendor/github.com/sirupsen/logrus/appveyor.yml b/vendor/github.com/sirupsen/logrus/appveyor.yml
new file mode 100644
index 000000000..96c2ce15f
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/appveyor.yml
@@ -0,0 +1,14 @@
+version: "{build}"
+platform: x64
+clone_folder: c:\gopath\src\github.com\sirupsen\logrus
+environment:
+ GOPATH: c:\gopath
+branches:
+ only:
+ - master
+install:
+ - set PATH=%GOPATH%\bin;c:\go\bin;%PATH%
+ - go version
+build_script:
+ - go get -t
+ - go test
diff --git a/vendor/github.com/sirupsen/logrus/go.mod b/vendor/github.com/sirupsen/logrus/go.mod
new file mode 100644
index 000000000..12fdf9898
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/go.mod
@@ -0,0 +1,10 @@
+module github.com/sirupsen/logrus
+
+require (
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/konsorten/go-windows-terminal-sequences v1.0.1
+ github.com/pmezard/go-difflib v1.0.0 // indirect
+ github.com/stretchr/objx v0.1.1 // indirect
+ github.com/stretchr/testify v1.2.2
+ golang.org/x/sys v0.0.0-20190422165155-953cdadca894
+)
diff --git a/vendor/github.com/sirupsen/logrus/go.sum b/vendor/github.com/sirupsen/logrus/go.sum
new file mode 100644
index 000000000..596c318b9
--- /dev/null
+++ b/vendor/github.com/sirupsen/logrus/go.sum
@@ -0,0 +1,16 @@
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe h1:CHRGQ8V7OlCYtwaKPJi3iA7J+YdNKdo8j7nG5IgDhjs=
+github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
diff --git a/vendor/github.com/spf13/cobra/.gitignore b/vendor/github.com/spf13/cobra/.gitignore
new file mode 100644
index 000000000..3b053c59e
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/.gitignore
@@ -0,0 +1,38 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+# Vim files https://github.com/github/gitignore/blob/master/Global/Vim.gitignore
+# swap
+[._]*.s[a-w][a-z]
+[._]s[a-w][a-z]
+# session
+Session.vim
+# temporary
+.netrwhist
+*~
+# auto-generated tag files
+tags
+
+*.exe
+
+cobra.test
+
+.idea/*
diff --git a/vendor/github.com/spf13/cobra/.mailmap b/vendor/github.com/spf13/cobra/.mailmap
new file mode 100644
index 000000000..94ec53068
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/.mailmap
@@ -0,0 +1,3 @@
+Steve Francia
+Bjørn Erik Pedersen
+Fabiano Franz
diff --git a/vendor/github.com/spf13/cobra/.travis.yml b/vendor/github.com/spf13/cobra/.travis.yml
new file mode 100644
index 000000000..38b85f499
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/.travis.yml
@@ -0,0 +1,31 @@
+language: go
+
+stages:
+ - diff
+ - test
+
+go:
+ - 1.10.x
+ - 1.11.x
+ - 1.12.x
+ - tip
+
+matrix:
+ allow_failures:
+ - go: tip
+ include:
+ - stage: diff
+ go: 1.12.x
+ script: diff -u <(echo -n) <(gofmt -d -s .)
+
+before_install:
+ - mkdir -p bin
+ - curl -Lso bin/shellcheck https://github.com/caarlos0/shellcheck-docker/releases/download/v0.6.0/shellcheck
+ - chmod +x bin/shellcheck
+ - go get -u github.com/kyoh86/richgo
+script:
+ - PATH=$PATH:$PWD/bin richgo test -v ./...
+ - go build
+ - if [ -z $NOVET ]; then
+ diff -u <(echo -n) <(go vet . 2>&1 | grep -vE 'ExampleCommand|bash_completions.*Fprint');
+ fi
diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md
new file mode 100644
index 000000000..60c5a425b
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/README.md
@@ -0,0 +1,741 @@
+![cobra logo](https://cloud.githubusercontent.com/assets/173412/10886352/ad566232-814f-11e5-9cd0-aa101788c117.png)
+
+Cobra is both a library for creating powerful modern CLI applications as well as a program to generate applications and command files.
+
+Many of the most widely used Go projects are built using Cobra, such as:
+[Kubernetes](http://kubernetes.io/),
+[Hugo](http://gohugo.io),
+[rkt](https://github.com/coreos/rkt),
+[etcd](https://github.com/coreos/etcd),
+[Moby (former Docker)](https://github.com/moby/moby),
+[Docker (distribution)](https://github.com/docker/distribution),
+[OpenShift](https://www.openshift.com/),
+[Delve](https://github.com/derekparker/delve),
+[GopherJS](http://www.gopherjs.org/),
+[CockroachDB](http://www.cockroachlabs.com/),
+[Bleve](http://www.blevesearch.com/),
+[ProjectAtomic (enterprise)](http://www.projectatomic.io/),
+[Giant Swarm's gsctl](https://github.com/giantswarm/gsctl),
+[Nanobox](https://github.com/nanobox-io/nanobox)/[Nanopack](https://github.com/nanopack),
+[rclone](http://rclone.org/),
+[nehm](https://github.com/bogem/nehm),
+[Pouch](https://github.com/alibaba/pouch),
+[Istio](https://istio.io),
+[Prototool](https://github.com/uber/prototool),
+[mattermost-server](https://github.com/mattermost/mattermost-server),
+[Gardener](https://github.com/gardener/gardenctl),
+etc.
+
+[![Build Status](https://travis-ci.org/spf13/cobra.svg "Travis CI status")](https://travis-ci.org/spf13/cobra)
+[![CircleCI status](https://circleci.com/gh/spf13/cobra.png?circle-token=:circle-token "CircleCI status")](https://circleci.com/gh/spf13/cobra)
+[![GoDoc](https://godoc.org/github.com/spf13/cobra?status.svg)](https://godoc.org/github.com/spf13/cobra)
+
+# Table of Contents
+
+- [Overview](#overview)
+- [Concepts](#concepts)
+ * [Commands](#commands)
+ * [Flags](#flags)
+- [Installing](#installing)
+- [Getting Started](#getting-started)
+ * [Using the Cobra Generator](#using-the-cobra-generator)
+ * [Using the Cobra Library](#using-the-cobra-library)
+ * [Working with Flags](#working-with-flags)
+ * [Positional and Custom Arguments](#positional-and-custom-arguments)
+ * [Example](#example)
+ * [Help Command](#help-command)
+ * [Usage Message](#usage-message)
+ * [PreRun and PostRun Hooks](#prerun-and-postrun-hooks)
+ * [Suggestions when "unknown command" happens](#suggestions-when-unknown-command-happens)
+ * [Generating documentation for your command](#generating-documentation-for-your-command)
+ * [Generating bash completions](#generating-bash-completions)
+ * [Generating zsh completions](#generating-zsh-completions)
+- [Contributing](#contributing)
+- [License](#license)
+
+# Overview
+
+Cobra is a library providing a simple interface to create powerful modern CLI
+interfaces similar to git & go tools.
+
+Cobra is also an application that will generate your application scaffolding to rapidly
+develop a Cobra-based application.
+
+Cobra provides:
+* Easy subcommand-based CLIs: `app server`, `app fetch`, etc.
+* Fully POSIX-compliant flags (including short & long versions)
+* Nested subcommands
+* Global, local and cascading flags
+* Easy generation of applications & commands with `cobra init appname` & `cobra add cmdname`
+* Intelligent suggestions (`app srver`... did you mean `app server`?)
+* Automatic help generation for commands and flags
+* Automatic help flag recognition of `-h`, `--help`, etc.
+* Automatically generated bash autocomplete for your application
+* Automatically generated man pages for your application
+* Command aliases so you can change things without breaking them
+* The flexibility to define your own help, usage, etc.
+* Optional tight integration with [viper](http://github.com/spf13/viper) for 12-factor apps
+
+# Concepts
+
+Cobra is built on a structure of commands, arguments & flags.
+
+**Commands** represent actions, **Args** are things and **Flags** are modifiers for those actions.
+
+The best applications will read like sentences when used. Users will know how
+to use the application because they will natively understand how to use it.
+
+The pattern to follow is
+`APPNAME VERB NOUN --ADJECTIVE.`
+ or
+`APPNAME COMMAND ARG --FLAG`
+
+A few good real world examples may better illustrate this point.
+
+In the following example, 'server' is a command, and 'port' is a flag:
+
+ hugo server --port=1313
+
+In this command we are telling Git to clone the url bare.
+
+ git clone URL --bare
+
+## Commands
+
+Command is the central point of the application. Each interaction that
+the application supports will be contained in a Command. A command can
+have children commands and optionally run an action.
+
+In the example above, 'server' is the command.
+
+[More about cobra.Command](https://godoc.org/github.com/spf13/cobra#Command)
+
+## Flags
+
+A flag is a way to modify the behavior of a command. Cobra supports
+fully POSIX-compliant flags as well as the Go [flag package](https://golang.org/pkg/flag/).
+A Cobra command can define flags that persist through to children commands
+and flags that are only available to that command.
+
+In the example above, 'port' is the flag.
+
+Flag functionality is provided by the [pflag
+library](https://github.com/spf13/pflag), a fork of the flag standard library
+which maintains the same interface while adding POSIX compliance.
+
+# Installing
+Using Cobra is easy. First, use `go get` to install the latest version
+of the library. This command will install the `cobra` generator executable
+along with the library and its dependencies:
+
+ go get -u github.com/spf13/cobra/cobra
+
+Next, include Cobra in your application:
+
+```go
+import "github.com/spf13/cobra"
+```
+
+# Getting Started
+
+While you are welcome to provide your own organization, typically a Cobra-based
+application will follow the following organizational structure:
+
+```
+ ▾ appName/
+ ▾ cmd/
+ add.go
+ your.go
+ commands.go
+ here.go
+ main.go
+```
+
+In a Cobra app, typically the main.go file is very bare. It serves one purpose: initializing Cobra.
+
+```go
+package main
+
+import (
+ "{pathToYourApp}/cmd"
+)
+
+func main() {
+ cmd.Execute()
+}
+```
+
+## Using the Cobra Generator
+
+Cobra provides its own program that will create your application and add any
+commands you want. It's the easiest way to incorporate Cobra into your application.
+
+[Here](https://github.com/spf13/cobra/blob/master/cobra/README.md) you can find more information about it.
+
+## Using the Cobra Library
+
+To manually implement Cobra you need to create a bare main.go file and a rootCmd file.
+You will optionally provide additional commands as you see fit.
+
+### Create rootCmd
+
+Cobra doesn't require any special constructors. Simply create your commands.
+
+Ideally you place this in app/cmd/root.go:
+
+```go
+var rootCmd = &cobra.Command{
+ Use: "hugo",
+ Short: "Hugo is a very fast static site generator",
+ Long: `A Fast and Flexible Static Site Generator built with
+ love by spf13 and friends in Go.
+ Complete documentation is available at http://hugo.spf13.com`,
+ Run: func(cmd *cobra.Command, args []string) {
+ // Do Stuff Here
+ },
+}
+
+func Execute() {
+ if err := rootCmd.Execute(); err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+}
+```
+
+You will additionally define flags and handle configuration in your init() function.
+
+For example cmd/root.go:
+
+```go
+import (
+ "fmt"
+ "os"
+
+ homedir "github.com/mitchellh/go-homedir"
+ "github.com/spf13/cobra"
+ "github.com/spf13/viper"
+)
+
+func init() {
+ cobra.OnInitialize(initConfig)
+ rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cobra.yaml)")
+ rootCmd.PersistentFlags().StringVarP(&projectBase, "projectbase", "b", "", "base project directory eg. github.com/spf13/")
+ rootCmd.PersistentFlags().StringP("author", "a", "YOUR NAME", "Author name for copyright attribution")
+ rootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "Name of license for the project (can provide `licensetext` in config)")
+ rootCmd.PersistentFlags().Bool("viper", true, "Use Viper for configuration")
+ viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author"))
+ viper.BindPFlag("projectbase", rootCmd.PersistentFlags().Lookup("projectbase"))
+ viper.BindPFlag("useViper", rootCmd.PersistentFlags().Lookup("viper"))
+ viper.SetDefault("author", "NAME HERE ")
+ viper.SetDefault("license", "apache")
+}
+
+func initConfig() {
+ // Don't forget to read config either from cfgFile or from home directory!
+ if cfgFile != "" {
+ // Use config file from the flag.
+ viper.SetConfigFile(cfgFile)
+ } else {
+ // Find home directory.
+ home, err := homedir.Dir()
+ if err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+
+ // Search config in home directory with name ".cobra" (without extension).
+ viper.AddConfigPath(home)
+ viper.SetConfigName(".cobra")
+ }
+
+ if err := viper.ReadInConfig(); err != nil {
+ fmt.Println("Can't read config:", err)
+ os.Exit(1)
+ }
+}
+```
+
+### Create your main.go
+
+With the root command you need to have your main function execute it.
+Execute should be run on the root for clarity, though it can be called on any command.
+
+In a Cobra app, typically the main.go file is very bare. It serves, one purpose, to initialize Cobra.
+
+```go
+package main
+
+import (
+ "{pathToYourApp}/cmd"
+)
+
+func main() {
+ cmd.Execute()
+}
+```
+
+### Create additional commands
+
+Additional commands can be defined and typically are each given their own file
+inside of the cmd/ directory.
+
+If you wanted to create a version command you would create cmd/version.go and
+populate it with the following:
+
+```go
+package cmd
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+)
+
+func init() {
+ rootCmd.AddCommand(versionCmd)
+}
+
+var versionCmd = &cobra.Command{
+ Use: "version",
+ Short: "Print the version number of Hugo",
+ Long: `All software has versions. This is Hugo's`,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Hugo Static Site Generator v0.9 -- HEAD")
+ },
+}
+```
+
+## Working with Flags
+
+Flags provide modifiers to control how the action command operates.
+
+### Assign flags to a command
+
+Since the flags are defined and used in different locations, we need to
+define a variable outside with the correct scope to assign the flag to
+work with.
+
+```go
+var Verbose bool
+var Source string
+```
+
+There are two different approaches to assign a flag.
+
+### Persistent Flags
+
+A flag can be 'persistent' meaning that this flag will be available to the
+command it's assigned to as well as every command under that command. For
+global flags, assign a flag as a persistent flag on the root.
+
+```go
+rootCmd.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "verbose output")
+```
+
+### Local Flags
+
+A flag can also be assigned locally which will only apply to that specific command.
+
+```go
+localCmd.Flags().StringVarP(&Source, "source", "s", "", "Source directory to read from")
+```
+
+### Local Flag on Parent Commands
+
+By default Cobra only parses local flags on the target command, any local flags on
+parent commands are ignored. By enabling `Command.TraverseChildren` Cobra will
+parse local flags on each command before executing the target command.
+
+```go
+command := cobra.Command{
+ Use: "print [OPTIONS] [COMMANDS]",
+ TraverseChildren: true,
+}
+```
+
+### Bind Flags with Config
+
+You can also bind your flags with [viper](https://github.com/spf13/viper):
+```go
+var author string
+
+func init() {
+ rootCmd.PersistentFlags().StringVar(&author, "author", "YOUR NAME", "Author name for copyright attribution")
+ viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author"))
+}
+```
+
+In this example the persistent flag `author` is bound with `viper`.
+**Note**, that the variable `author` will not be set to the value from config,
+when the `--author` flag is not provided by user.
+
+More in [viper documentation](https://github.com/spf13/viper#working-with-flags).
+
+### Required flags
+
+Flags are optional by default. If instead you wish your command to report an error
+when a flag has not been set, mark it as required:
+```go
+rootCmd.Flags().StringVarP(&Region, "region", "r", "", "AWS region (required)")
+rootCmd.MarkFlagRequired("region")
+```
+
+## Positional and Custom Arguments
+
+Validation of positional arguments can be specified using the `Args` field
+of `Command`.
+
+The following validators are built in:
+
+- `NoArgs` - the command will report an error if there are any positional args.
+- `ArbitraryArgs` - the command will accept any args.
+- `OnlyValidArgs` - the command will report an error if there are any positional args that are not in the `ValidArgs` field of `Command`.
+- `MinimumNArgs(int)` - the command will report an error if there are not at least N positional args.
+- `MaximumNArgs(int)` - the command will report an error if there are more than N positional args.
+- `ExactArgs(int)` - the command will report an error if there are not exactly N positional args.
+- `ExactValidArgs(int)` - the command will report an error if there are not exactly N positional args OR if there are any positional args that are not in the `ValidArgs` field of `Command`
+- `RangeArgs(min, max)` - the command will report an error if the number of args is not between the minimum and maximum number of expected args.
+
+An example of setting the custom validator:
+
+```go
+var cmd = &cobra.Command{
+ Short: "hello",
+ Args: func(cmd *cobra.Command, args []string) error {
+ if len(args) < 1 {
+ return errors.New("requires a color argument")
+ }
+ if myapp.IsValidColor(args[0]) {
+ return nil
+ }
+ return fmt.Errorf("invalid color specified: %s", args[0])
+ },
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Hello, World!")
+ },
+}
+```
+
+## Example
+
+In the example below, we have defined three commands. Two are at the top level
+and one (cmdTimes) is a child of one of the top commands. In this case the root
+is not executable meaning that a subcommand is required. This is accomplished
+by not providing a 'Run' for the 'rootCmd'.
+
+We have only defined one flag for a single command.
+
+More documentation about flags is available at https://github.com/spf13/pflag
+
+```go
+package main
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/spf13/cobra"
+)
+
+func main() {
+ var echoTimes int
+
+ var cmdPrint = &cobra.Command{
+ Use: "print [string to print]",
+ Short: "Print anything to the screen",
+ Long: `print is for printing anything back to the screen.
+For many years people have printed back to the screen.`,
+ Args: cobra.MinimumNArgs(1),
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Print: " + strings.Join(args, " "))
+ },
+ }
+
+ var cmdEcho = &cobra.Command{
+ Use: "echo [string to echo]",
+ Short: "Echo anything to the screen",
+ Long: `echo is for echoing anything back.
+Echo works a lot like print, except it has a child command.`,
+ Args: cobra.MinimumNArgs(1),
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Print: " + strings.Join(args, " "))
+ },
+ }
+
+ var cmdTimes = &cobra.Command{
+ Use: "times [string to echo]",
+ Short: "Echo anything to the screen more times",
+ Long: `echo things multiple times back to the user by providing
+a count and a string.`,
+ Args: cobra.MinimumNArgs(1),
+ Run: func(cmd *cobra.Command, args []string) {
+ for i := 0; i < echoTimes; i++ {
+ fmt.Println("Echo: " + strings.Join(args, " "))
+ }
+ },
+ }
+
+ cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input")
+
+ var rootCmd = &cobra.Command{Use: "app"}
+ rootCmd.AddCommand(cmdPrint, cmdEcho)
+ cmdEcho.AddCommand(cmdTimes)
+ rootCmd.Execute()
+}
+```
+
+For a more complete example of a larger application, please checkout [Hugo](http://gohugo.io/).
+
+## Help Command
+
+Cobra automatically adds a help command to your application when you have subcommands.
+This will be called when a user runs 'app help'. Additionally, help will also
+support all other commands as input. Say, for instance, you have a command called
+'create' without any additional configuration; Cobra will work when 'app help
+create' is called. Every command will automatically have the '--help' flag added.
+
+### Example
+
+The following output is automatically generated by Cobra. Nothing beyond the
+command and flag definitions are needed.
+
+ $ cobra help
+
+ Cobra is a CLI library for Go that empowers applications.
+ This application is a tool to generate the needed files
+ to quickly create a Cobra application.
+
+ Usage:
+ cobra [command]
+
+ Available Commands:
+ add Add a command to a Cobra Application
+ help Help about any command
+ init Initialize a Cobra Application
+
+ Flags:
+ -a, --author string author name for copyright attribution (default "YOUR NAME")
+ --config string config file (default is $HOME/.cobra.yaml)
+ -h, --help help for cobra
+ -l, --license string name of license for the project
+ --viper use Viper for configuration (default true)
+
+ Use "cobra [command] --help" for more information about a command.
+
+
+Help is just a command like any other. There is no special logic or behavior
+around it. In fact, you can provide your own if you want.
+
+### Defining your own help
+
+You can provide your own Help command or your own template for the default command to use
+with following functions:
+
+```go
+cmd.SetHelpCommand(cmd *Command)
+cmd.SetHelpFunc(f func(*Command, []string))
+cmd.SetHelpTemplate(s string)
+```
+
+The latter two will also apply to any children commands.
+
+## Usage Message
+
+When the user provides an invalid flag or invalid command, Cobra responds by
+showing the user the 'usage'.
+
+### Example
+You may recognize this from the help above. That's because the default help
+embeds the usage as part of its output.
+
+ $ cobra --invalid
+ Error: unknown flag: --invalid
+ Usage:
+ cobra [command]
+
+ Available Commands:
+ add Add a command to a Cobra Application
+ help Help about any command
+ init Initialize a Cobra Application
+
+ Flags:
+ -a, --author string author name for copyright attribution (default "YOUR NAME")
+ --config string config file (default is $HOME/.cobra.yaml)
+ -h, --help help for cobra
+ -l, --license string name of license for the project
+ --viper use Viper for configuration (default true)
+
+ Use "cobra [command] --help" for more information about a command.
+
+### Defining your own usage
+You can provide your own usage function or template for Cobra to use.
+Like help, the function and template are overridable through public methods:
+
+```go
+cmd.SetUsageFunc(f func(*Command) error)
+cmd.SetUsageTemplate(s string)
+```
+
+## Version Flag
+
+Cobra adds a top-level '--version' flag if the Version field is set on the root command.
+Running an application with the '--version' flag will print the version to stdout using
+the version template. The template can be customized using the
+`cmd.SetVersionTemplate(s string)` function.
+
+## PreRun and PostRun Hooks
+
+It is possible to run functions before or after the main `Run` function of your command. The `PersistentPreRun` and `PreRun` functions will be executed before `Run`. `PersistentPostRun` and `PostRun` will be executed after `Run`. The `Persistent*Run` functions will be inherited by children if they do not declare their own. These functions are run in the following order:
+
+- `PersistentPreRun`
+- `PreRun`
+- `Run`
+- `PostRun`
+- `PersistentPostRun`
+
+An example of two commands which use all of these features is below. When the subcommand is executed, it will run the root command's `PersistentPreRun` but not the root command's `PersistentPostRun`:
+
+```go
+package main
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+)
+
+func main() {
+
+ var rootCmd = &cobra.Command{
+ Use: "root [sub]",
+ Short: "My root command",
+ PersistentPreRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PersistentPreRun with args: %v\n", args)
+ },
+ PreRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PreRun with args: %v\n", args)
+ },
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd Run with args: %v\n", args)
+ },
+ PostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PostRun with args: %v\n", args)
+ },
+ PersistentPostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PersistentPostRun with args: %v\n", args)
+ },
+ }
+
+ var subCmd = &cobra.Command{
+ Use: "sub [no options!]",
+ Short: "My subcommand",
+ PreRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd PreRun with args: %v\n", args)
+ },
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd Run with args: %v\n", args)
+ },
+ PostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd PostRun with args: %v\n", args)
+ },
+ PersistentPostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd PersistentPostRun with args: %v\n", args)
+ },
+ }
+
+ rootCmd.AddCommand(subCmd)
+
+ rootCmd.SetArgs([]string{""})
+ rootCmd.Execute()
+ fmt.Println()
+ rootCmd.SetArgs([]string{"sub", "arg1", "arg2"})
+ rootCmd.Execute()
+}
+```
+
+Output:
+```
+Inside rootCmd PersistentPreRun with args: []
+Inside rootCmd PreRun with args: []
+Inside rootCmd Run with args: []
+Inside rootCmd PostRun with args: []
+Inside rootCmd PersistentPostRun with args: []
+
+Inside rootCmd PersistentPreRun with args: [arg1 arg2]
+Inside subCmd PreRun with args: [arg1 arg2]
+Inside subCmd Run with args: [arg1 arg2]
+Inside subCmd PostRun with args: [arg1 arg2]
+Inside subCmd PersistentPostRun with args: [arg1 arg2]
+```
+
+## Suggestions when "unknown command" happens
+
+Cobra will print automatic suggestions when "unknown command" errors happen. This allows Cobra to behave similarly to the `git` command when a typo happens. For example:
+
+```
+$ hugo srever
+Error: unknown command "srever" for "hugo"
+
+Did you mean this?
+ server
+
+Run 'hugo --help' for usage.
+```
+
+Suggestions are automatic based on every subcommand registered and use an implementation of [Levenshtein distance](http://en.wikipedia.org/wiki/Levenshtein_distance). Every registered command that matches a minimum distance of 2 (ignoring case) will be displayed as a suggestion.
+
+If you need to disable suggestions or tweak the string distance in your command, use:
+
+```go
+command.DisableSuggestions = true
+```
+
+or
+
+```go
+command.SuggestionsMinimumDistance = 1
+```
+
+You can also explicitly set names for which a given command will be suggested using the `SuggestFor` attribute. This allows suggestions for strings that are not close in terms of string distance, but makes sense in your set of commands and for some which you don't want aliases. Example:
+
+```
+$ kubectl remove
+Error: unknown command "remove" for "kubectl"
+
+Did you mean this?
+ delete
+
+Run 'kubectl help' for usage.
+```
+
+## Generating documentation for your command
+
+Cobra can generate documentation based on subcommands, flags, etc. in the following formats:
+
+- [Markdown](doc/md_docs.md)
+- [ReStructured Text](doc/rest_docs.md)
+- [Man Page](doc/man_docs.md)
+
+## Generating bash completions
+
+Cobra can generate a bash-completion file. If you add more information to your command, these completions can be amazingly powerful and flexible. Read more about it in [Bash Completions](bash_completions.md).
+
+## Generating zsh completions
+
+Cobra can generate zsh-completion file. Read more about it in
+[Zsh Completions](zsh_completions.md).
+
+# Contributing
+
+1. Fork it
+2. Download your fork to your PC (`git clone https://github.com/your_username/cobra && cd cobra`)
+3. Create your feature branch (`git checkout -b my-new-feature`)
+4. Make changes and add them (`git add .`)
+5. Commit your changes (`git commit -m 'Add some feature'`)
+6. Push to the branch (`git push origin my-new-feature`)
+7. Create new pull request
+
+# License
+
+Cobra is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/cobra/blob/master/LICENSE.txt)
diff --git a/vendor/github.com/spf13/cobra/bash_completions.md b/vendor/github.com/spf13/cobra/bash_completions.md
new file mode 100644
index 000000000..4ac61ee13
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/bash_completions.md
@@ -0,0 +1,256 @@
+# Generating Bash Completions For Your Own cobra.Command
+
+If you are using the generator you can create a completion command by running
+
+```bash
+cobra add completion
+```
+
+Update the help text show how to install the bash_completion Linux show here [Kubectl docs show mac options](https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion)
+
+Writing the shell script to stdout allows the most flexible use.
+
+```go
+// completionCmd represents the completion command
+var completionCmd = &cobra.Command{
+ Use: "completion",
+ Short: "Generates bash completion scripts",
+ Long: `To load completion run
+
+. <(bitbucket completion)
+
+To configure your bash shell to load completions for each session add to your bashrc
+
+# ~/.bashrc or ~/.profile
+. <(bitbucket completion)
+`,
+ Run: func(cmd *cobra.Command, args []string) {
+ rootCmd.GenBashCompletion(os.Stdout);
+ },
+}
+```
+
+**Note:** The cobra generator may include messages printed to stdout for example if the config file is loaded, this will break the auto complete script
+
+
+## Example from kubectl
+
+Generating bash completions from a cobra command is incredibly easy. An actual program which does so for the kubernetes kubectl binary is as follows:
+
+```go
+package main
+
+import (
+ "io/ioutil"
+ "os"
+
+ "k8s.io/kubernetes/pkg/kubectl/cmd"
+ "k8s.io/kubernetes/pkg/kubectl/cmd/util"
+)
+
+func main() {
+ kubectl := cmd.NewKubectlCommand(util.NewFactory(nil), os.Stdin, ioutil.Discard, ioutil.Discard)
+ kubectl.GenBashCompletionFile("out.sh")
+}
+```
+
+`out.sh` will get you completions of subcommands and flags. Copy it to `/etc/bash_completion.d/` as described [here](https://debian-administration.org/article/316/An_introduction_to_bash_completion_part_1) and reset your terminal to use autocompletion. If you make additional annotations to your code, you can get even more intelligent and flexible behavior.
+
+## Creating your own custom functions
+
+Some more actual code that works in kubernetes:
+
+```bash
+const (
+ bash_completion_func = `__kubectl_parse_get()
+{
+ local kubectl_output out
+ if kubectl_output=$(kubectl get --no-headers "$1" 2>/dev/null); then
+ out=($(echo "${kubectl_output}" | awk '{print $1}'))
+ COMPREPLY=( $( compgen -W "${out[*]}" -- "$cur" ) )
+ fi
+}
+
+__kubectl_get_resource()
+{
+ if [[ ${#nouns[@]} -eq 0 ]]; then
+ return 1
+ fi
+ __kubectl_parse_get ${nouns[${#nouns[@]} -1]}
+ if [[ $? -eq 0 ]]; then
+ return 0
+ fi
+}
+
+__kubectl_custom_func() {
+ case ${last_command} in
+ kubectl_get | kubectl_describe | kubectl_delete | kubectl_stop)
+ __kubectl_get_resource
+ return
+ ;;
+ *)
+ ;;
+ esac
+}
+`)
+```
+
+And then I set that in my command definition:
+
+```go
+cmds := &cobra.Command{
+ Use: "kubectl",
+ Short: "kubectl controls the Kubernetes cluster manager",
+ Long: `kubectl controls the Kubernetes cluster manager.
+
+Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`,
+ Run: runHelp,
+ BashCompletionFunction: bash_completion_func,
+}
+```
+
+The `BashCompletionFunction` option is really only valid/useful on the root command. Doing the above will cause `__kubectl_custom_func()` (`___custom_func()`) to be called when the built in processor was unable to find a solution. In the case of kubernetes a valid command might look something like `kubectl get pod [mypod]`. If you type `kubectl get pod [tab][tab]` the `__kubectl_customc_func()` will run because the cobra.Command only understood "kubectl" and "get." `__kubectl_custom_func()` will see that the cobra.Command is "kubectl_get" and will thus call another helper `__kubectl_get_resource()`. `__kubectl_get_resource` will look at the 'nouns' collected. In our example the only noun will be `pod`. So it will call `__kubectl_parse_get pod`. `__kubectl_parse_get` will actually call out to kubernetes and get any pods. It will then set `COMPREPLY` to valid pods!
+
+## Have the completions code complete your 'nouns'
+
+In the above example "pod" was assumed to already be typed. But if you want `kubectl get [tab][tab]` to show a list of valid "nouns" you have to set them. Simplified code from `kubectl get` looks like:
+
+```go
+validArgs []string = { "pod", "node", "service", "replicationcontroller" }
+
+cmd := &cobra.Command{
+ Use: "get [(-o|--output=)json|yaml|template|...] (RESOURCE [NAME] | RESOURCE/NAME ...)",
+ Short: "Display one or many resources",
+ Long: get_long,
+ Example: get_example,
+ Run: func(cmd *cobra.Command, args []string) {
+ err := RunGet(f, out, cmd, args)
+ util.CheckErr(err)
+ },
+ ValidArgs: validArgs,
+}
+```
+
+Notice we put the "ValidArgs" on the "get" subcommand. Doing so will give results like
+
+```bash
+# kubectl get [tab][tab]
+node pod replicationcontroller service
+```
+
+## Plural form and shortcuts for nouns
+
+If your nouns have a number of aliases, you can define them alongside `ValidArgs` using `ArgAliases`:
+
+```go
+argAliases []string = { "pods", "nodes", "services", "svc", "replicationcontrollers", "rc" }
+
+cmd := &cobra.Command{
+ ...
+ ValidArgs: validArgs,
+ ArgAliases: argAliases
+}
+```
+
+The aliases are not shown to the user on tab completion, but they are accepted as valid nouns by
+the completion algorithm if entered manually, e.g. in:
+
+```bash
+# kubectl get rc [tab][tab]
+backend frontend database
+```
+
+Note that without declaring `rc` as an alias, the completion algorithm would show the list of nouns
+in this example again instead of the replication controllers.
+
+## Mark flags as required
+
+Most of the time completions will only show subcommands. But if a flag is required to make a subcommand work, you probably want it to show up when the user types [tab][tab]. Marking a flag as 'Required' is incredibly easy.
+
+```go
+cmd.MarkFlagRequired("pod")
+cmd.MarkFlagRequired("container")
+```
+
+and you'll get something like
+
+```bash
+# kubectl exec [tab][tab][tab]
+-c --container= -p --pod=
+```
+
+# Specify valid filename extensions for flags that take a filename
+
+In this example we use --filename= and expect to get a json or yaml file as the argument. To make this easier we annotate the --filename flag with valid filename extensions.
+
+```go
+ annotations := []string{"json", "yaml", "yml"}
+ annotation := make(map[string][]string)
+ annotation[cobra.BashCompFilenameExt] = annotations
+
+ flag := &pflag.Flag{
+ Name: "filename",
+ Shorthand: "f",
+ Usage: usage,
+ Value: value,
+ DefValue: value.String(),
+ Annotations: annotation,
+ }
+ cmd.Flags().AddFlag(flag)
+```
+
+Now when you run a command with this filename flag you'll get something like
+
+```bash
+# kubectl create -f
+test/ example/ rpmbuild/
+hello.yml test.json
+```
+
+So while there are many other files in the CWD it only shows me subdirs and those with valid extensions.
+
+# Specify custom flag completion
+
+Similar to the filename completion and filtering using cobra.BashCompFilenameExt, you can specify
+a custom flag completion function with cobra.BashCompCustom:
+
+```go
+ annotation := make(map[string][]string)
+ annotation[cobra.BashCompCustom] = []string{"__kubectl_get_namespaces"}
+
+ flag := &pflag.Flag{
+ Name: "namespace",
+ Usage: usage,
+ Annotations: annotation,
+ }
+ cmd.Flags().AddFlag(flag)
+```
+
+In addition add the `__handle_namespace_flag` implementation in the `BashCompletionFunction`
+value, e.g.:
+
+```bash
+__kubectl_get_namespaces()
+{
+ local template
+ template="{{ range .items }}{{ .metadata.name }} {{ end }}"
+ local kubectl_out
+ if kubectl_out=$(kubectl get -o template --template="${template}" namespace 2>/dev/null); then
+ COMPREPLY=( $( compgen -W "${kubectl_out}[*]" -- "$cur" ) )
+ fi
+}
+```
+# Using bash aliases for commands
+
+You can also configure the `bash aliases` for the commands and they will also support completions.
+
+```bash
+alias aliasname=origcommand
+complete -o default -F __start_origcommand aliasname
+
+# and now when you run `aliasname` completion will make
+# suggestions as it did for `origcommand`.
+
+$) aliasname
+completion firstcommand secondcommand
+```
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden b/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden
deleted file mode 100644
index d64569567..000000000
--- a/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
diff --git a/vendor/github.com/spf13/cobra/go.mod b/vendor/github.com/spf13/cobra/go.mod
new file mode 100644
index 000000000..9a9eb65a3
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/go.mod
@@ -0,0 +1,13 @@
+module github.com/spf13/cobra
+
+go 1.12
+
+require (
+ github.com/BurntSushi/toml v0.3.1 // indirect
+ github.com/cpuguy83/go-md2man v1.0.10
+ github.com/inconshreveable/mousetrap v1.0.0
+ github.com/mitchellh/go-homedir v1.1.0
+ github.com/spf13/pflag v1.0.3
+ github.com/spf13/viper v1.3.2
+ gopkg.in/yaml.v2 v2.2.2
+)
diff --git a/vendor/github.com/spf13/cobra/go.sum b/vendor/github.com/spf13/cobra/go.sum
new file mode 100644
index 000000000..9761f4d03
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/go.sum
@@ -0,0 +1,51 @@
+github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
+github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=
+github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
+github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
+github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
+github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
+github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
+github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
+github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
+github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
+github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
+github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=
+github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
+github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a h1:1n5lsVfiQW3yfsRGu98756EH1YthsFqr/5mxHduZW2A=
+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/vendor/github.com/spf13/cobra/powershell_completions.md b/vendor/github.com/spf13/cobra/powershell_completions.md
new file mode 100644
index 000000000..afed80240
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/powershell_completions.md
@@ -0,0 +1,14 @@
+# Generating PowerShell Completions For Your Own cobra.Command
+
+Cobra can generate PowerShell completion scripts. Users need PowerShell version 5.0 or above, which comes with Windows 10 and can be downloaded separately for Windows 7 or 8.1. They can then write the completions to a file and source this file from their PowerShell profile, which is referenced by the `$Profile` environment variable. See `Get-Help about_Profiles` for more info about PowerShell profiles.
+
+# What's supported
+
+- Completion for subcommands using their `.Short` description
+- Completion for non-hidden flags using their `.Name` and `.Shorthand`
+
+# What's not yet supported
+
+- Command aliases
+- Required, filename or custom flags (they will work like normal flags)
+- Custom completion scripts
diff --git a/vendor/github.com/spf13/cobra/zsh_completions.md b/vendor/github.com/spf13/cobra/zsh_completions.md
new file mode 100644
index 000000000..df9c2eac9
--- /dev/null
+++ b/vendor/github.com/spf13/cobra/zsh_completions.md
@@ -0,0 +1,39 @@
+## Generating Zsh Completion for your cobra.Command
+
+Cobra supports native Zsh completion generated from the root `cobra.Command`.
+The generated completion script should be put somewhere in your `$fpath` named
+`_`.
+
+### What's Supported
+
+* Completion for all non-hidden subcommands using their `.Short` description.
+* Completion for all non-hidden flags using the following rules:
+ * Filename completion works by marking the flag with `cmd.MarkFlagFilename...`
+ family of commands.
+ * The requirement for argument to the flag is decided by the `.NoOptDefVal`
+ flag value - if it's empty then completion will expect an argument.
+ * Flags of one of the various `*Array` and `*Slice` types supports multiple
+ specifications (with or without argument depending on the specific type).
+* Completion of positional arguments using the following rules:
+ * Argument position for all options below starts at `1`. If argument position
+ `0` is requested it will raise an error.
+ * Use `command.MarkZshCompPositionalArgumentFile` to complete filenames. Glob
+ patterns (e.g. `"*.log"`) are optional - if not specified it will offer to
+ complete all file types.
+ * Use `command.MarkZshCompPositionalArgumentWords` to offer specific words for
+ completion. At least one word is required.
+ * It's possible to specify completion for some arguments and leave some
+ unspecified (e.g. offer words for second argument but nothing for first
+ argument). This will cause no completion for first argument but words
+ completion for second argument.
+ * If no argument completion was specified for 1st argument (but optionally was
+ specified for 2nd) and the command has `ValidArgs` it will be used as
+ completion options for 1st argument.
+ * Argument completions only offered for commands with no subcommands.
+
+### What's not yet Supported
+
+* Custom completion scripts are not supported yet (We should probably create zsh
+ specific one, doesn't make sense to re-use the bash one as the functions will
+ be different).
+* Whatever other feature you're looking for and doesn't exist :)
diff --git a/vendor/github.com/spf13/pflag/.gitignore b/vendor/github.com/spf13/pflag/.gitignore
new file mode 100644
index 000000000..c3da29013
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/.gitignore
@@ -0,0 +1,2 @@
+.idea/*
+
diff --git a/vendor/github.com/spf13/pflag/.travis.yml b/vendor/github.com/spf13/pflag/.travis.yml
new file mode 100644
index 000000000..00d04cb9b
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/.travis.yml
@@ -0,0 +1,22 @@
+sudo: false
+
+language: go
+
+go:
+ - 1.9.x
+ - 1.10.x
+ - 1.11.x
+ - tip
+
+matrix:
+ allow_failures:
+ - go: tip
+
+install:
+ - go get golang.org/x/lint/golint
+ - export PATH=$GOPATH/bin:$PATH
+ - go install ./...
+
+script:
+ - verify/all.sh -v
+ - go test ./...
diff --git a/vendor/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md
new file mode 100644
index 000000000..7eacc5bdb
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/README.md
@@ -0,0 +1,296 @@
+[![Build Status](https://travis-ci.org/spf13/pflag.svg?branch=master)](https://travis-ci.org/spf13/pflag)
+[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/pflag)](https://goreportcard.com/report/github.com/spf13/pflag)
+[![GoDoc](https://godoc.org/github.com/spf13/pflag?status.svg)](https://godoc.org/github.com/spf13/pflag)
+
+## Description
+
+pflag is a drop-in replacement for Go's flag package, implementing
+POSIX/GNU-style --flags.
+
+pflag is compatible with the [GNU extensions to the POSIX recommendations
+for command-line options][1]. For a more precise description, see the
+"Command-line flag syntax" section below.
+
+[1]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html
+
+pflag is available under the same style of BSD license as the Go language,
+which can be found in the LICENSE file.
+
+## Installation
+
+pflag is available using the standard `go get` command.
+
+Install by running:
+
+ go get github.com/spf13/pflag
+
+Run tests by running:
+
+ go test github.com/spf13/pflag
+
+## Usage
+
+pflag is a drop-in replacement of Go's native flag package. If you import
+pflag under the name "flag" then all code should continue to function
+with no changes.
+
+``` go
+import flag "github.com/spf13/pflag"
+```
+
+There is one exception to this: if you directly instantiate the Flag struct
+there is one more field "Shorthand" that you will need to set.
+Most code never instantiates this struct directly, and instead uses
+functions such as String(), BoolVar(), and Var(), and is therefore
+unaffected.
+
+Define flags using flag.String(), Bool(), Int(), etc.
+
+This declares an integer flag, -flagname, stored in the pointer ip, with type *int.
+
+``` go
+var ip *int = flag.Int("flagname", 1234, "help message for flagname")
+```
+
+If you like, you can bind the flag to a variable using the Var() functions.
+
+``` go
+var flagvar int
+func init() {
+ flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname")
+}
+```
+
+Or you can create custom flags that satisfy the Value interface (with
+pointer receivers) and couple them to flag parsing by
+
+``` go
+flag.Var(&flagVal, "name", "help message for flagname")
+```
+
+For such flags, the default value is just the initial value of the variable.
+
+After all flags are defined, call
+
+``` go
+flag.Parse()
+```
+
+to parse the command line into the defined flags.
+
+Flags may then be used directly. If you're using the flags themselves,
+they are all pointers; if you bind to variables, they're values.
+
+``` go
+fmt.Println("ip has value ", *ip)
+fmt.Println("flagvar has value ", flagvar)
+```
+
+There are helper functions available to get the value stored in a Flag if you have a FlagSet but find
+it difficult to keep up with all of the pointers in your code.
+If you have a pflag.FlagSet with a flag called 'flagname' of type int you
+can use GetInt() to get the int value. But notice that 'flagname' must exist
+and it must be an int. GetString("flagname") will fail.
+
+``` go
+i, err := flagset.GetInt("flagname")
+```
+
+After parsing, the arguments after the flag are available as the
+slice flag.Args() or individually as flag.Arg(i).
+The arguments are indexed from 0 through flag.NArg()-1.
+
+The pflag package also defines some new functions that are not in flag,
+that give one-letter shorthands for flags. You can use these by appending
+'P' to the name of any function that defines a flag.
+
+``` go
+var ip = flag.IntP("flagname", "f", 1234, "help message")
+var flagvar bool
+func init() {
+ flag.BoolVarP(&flagvar, "boolname", "b", true, "help message")
+}
+flag.VarP(&flagVal, "varname", "v", "help message")
+```
+
+Shorthand letters can be used with single dashes on the command line.
+Boolean shorthand flags can be combined with other shorthand flags.
+
+The default set of command-line flags is controlled by
+top-level functions. The FlagSet type allows one to define
+independent sets of flags, such as to implement subcommands
+in a command-line interface. The methods of FlagSet are
+analogous to the top-level functions for the command-line
+flag set.
+
+## Setting no option default values for flags
+
+After you create a flag it is possible to set the pflag.NoOptDefVal for
+the given flag. Doing this changes the meaning of the flag slightly. If
+a flag has a NoOptDefVal and the flag is set on the command line without
+an option the flag will be set to the NoOptDefVal. For example given:
+
+``` go
+var ip = flag.IntP("flagname", "f", 1234, "help message")
+flag.Lookup("flagname").NoOptDefVal = "4321"
+```
+
+Would result in something like
+
+| Parsed Arguments | Resulting Value |
+| ------------- | ------------- |
+| --flagname=1357 | ip=1357 |
+| --flagname | ip=4321 |
+| [nothing] | ip=1234 |
+
+## Command line flag syntax
+
+```
+--flag // boolean flags, or flags with no option default values
+--flag x // only on flags without a default value
+--flag=x
+```
+
+Unlike the flag package, a single dash before an option means something
+different than a double dash. Single dashes signify a series of shorthand
+letters for flags. All but the last shorthand letter must be boolean flags
+or a flag with a default value
+
+```
+// boolean or flags where the 'no option default value' is set
+-f
+-f=true
+-abc
+but
+-b true is INVALID
+
+// non-boolean and flags without a 'no option default value'
+-n 1234
+-n=1234
+-n1234
+
+// mixed
+-abcs "hello"
+-absd="hello"
+-abcs1234
+```
+
+Flag parsing stops after the terminator "--". Unlike the flag package,
+flags can be interspersed with arguments anywhere on the command line
+before this terminator.
+
+Integer flags accept 1234, 0664, 0x1234 and may be negative.
+Boolean flags (in their long form) accept 1, 0, t, f, true, false,
+TRUE, FALSE, True, False.
+Duration flags accept any input valid for time.ParseDuration.
+
+## Mutating or "Normalizing" Flag names
+
+It is possible to set a custom flag name 'normalization function.' It allows flag names to be mutated both when created in the code and when used on the command line to some 'normalized' form. The 'normalized' form is used for comparison. Two examples of using the custom normalization func follow.
+
+**Example #1**: You want -, _, and . in flags to compare the same. aka --my-flag == --my_flag == --my.flag
+
+``` go
+func wordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName {
+ from := []string{"-", "_"}
+ to := "."
+ for _, sep := range from {
+ name = strings.Replace(name, sep, to, -1)
+ }
+ return pflag.NormalizedName(name)
+}
+
+myFlagSet.SetNormalizeFunc(wordSepNormalizeFunc)
+```
+
+**Example #2**: You want to alias two flags. aka --old-flag-name == --new-flag-name
+
+``` go
+func aliasNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName {
+ switch name {
+ case "old-flag-name":
+ name = "new-flag-name"
+ break
+ }
+ return pflag.NormalizedName(name)
+}
+
+myFlagSet.SetNormalizeFunc(aliasNormalizeFunc)
+```
+
+## Deprecating a flag or its shorthand
+It is possible to deprecate a flag, or just its shorthand. Deprecating a flag/shorthand hides it from help text and prints a usage message when the deprecated flag/shorthand is used.
+
+**Example #1**: You want to deprecate a flag named "badflag" as well as inform the users what flag they should use instead.
+```go
+// deprecate a flag by specifying its name and a usage message
+flags.MarkDeprecated("badflag", "please use --good-flag instead")
+```
+This hides "badflag" from help text, and prints `Flag --badflag has been deprecated, please use --good-flag instead` when "badflag" is used.
+
+**Example #2**: You want to keep a flag name "noshorthandflag" but deprecate its shortname "n".
+```go
+// deprecate a flag shorthand by specifying its flag name and a usage message
+flags.MarkShorthandDeprecated("noshorthandflag", "please use --noshorthandflag only")
+```
+This hides the shortname "n" from help text, and prints `Flag shorthand -n has been deprecated, please use --noshorthandflag only` when the shorthand "n" is used.
+
+Note that usage message is essential here, and it should not be empty.
+
+## Hidden flags
+It is possible to mark a flag as hidden, meaning it will still function as normal, however will not show up in usage/help text.
+
+**Example**: You have a flag named "secretFlag" that you need for internal use only and don't want it showing up in help text, or for its usage text to be available.
+```go
+// hide a flag by specifying its name
+flags.MarkHidden("secretFlag")
+```
+
+## Disable sorting of flags
+`pflag` allows you to disable sorting of flags for help and usage message.
+
+**Example**:
+```go
+flags.BoolP("verbose", "v", false, "verbose output")
+flags.String("coolflag", "yeaah", "it's really cool flag")
+flags.Int("usefulflag", 777, "sometimes it's very useful")
+flags.SortFlags = false
+flags.PrintDefaults()
+```
+**Output**:
+```
+ -v, --verbose verbose output
+ --coolflag string it's really cool flag (default "yeaah")
+ --usefulflag int sometimes it's very useful (default 777)
+```
+
+
+## Supporting Go flags when using pflag
+In order to support flags defined using Go's `flag` package, they must be added to the `pflag` flagset. This is usually necessary
+to support flags defined by third-party dependencies (e.g. `golang/glog`).
+
+**Example**: You want to add the Go flags to the `CommandLine` flagset
+```go
+import (
+ goflag "flag"
+ flag "github.com/spf13/pflag"
+)
+
+var ip *int = flag.Int("flagname", 1234, "help message for flagname")
+
+func main() {
+ flag.CommandLine.AddGoFlagSet(goflag.CommandLine)
+ flag.Parse()
+}
+```
+
+## More info
+
+You can see the full reference documentation of the pflag package
+[at godoc.org][3], or through go's standard documentation system by
+running `godoc -http=:6060` and browsing to
+[http://localhost:6060/pkg/github.com/spf13/pflag][2] after
+installation.
+
+[2]: http://localhost:6060/pkg/github.com/spf13/pflag
+[3]: http://godoc.org/github.com/spf13/pflag
diff --git a/vendor/github.com/spf13/pflag/go.mod b/vendor/github.com/spf13/pflag/go.mod
new file mode 100644
index 000000000..b2287eec1
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/go.mod
@@ -0,0 +1,3 @@
+module github.com/spf13/pflag
+
+go 1.12
diff --git a/vendor/github.com/spf13/pflag/go.sum b/vendor/github.com/spf13/pflag/go.sum
new file mode 100644
index 000000000..e69de29bb
diff --git a/vendor/github.com/zoumo/golib/LICENSE b/vendor/github.com/zoumo/golib/LICENSE
deleted file mode 100644
index 261eeb9e9..000000000
--- a/vendor/github.com/zoumo/golib/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
diff --git a/vendor/github.com/zoumo/golib/register/register.go b/vendor/github.com/zoumo/golib/register/register.go
deleted file mode 100644
index 1f558d9a7..000000000
--- a/vendor/github.com/zoumo/golib/register/register.go
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-Copyright 2018 Jim Zhang (jim.zoumo@gmail.com). All rights reserved.
-
-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 register
-
-import (
- "fmt"
- "os"
- "sync"
-)
-
-var (
- defaultConfig = &Config{
- OverrideAllowed: false,
- }
-)
-
-// Register is a struct binding name and interface such as Constructor
-type Register struct {
- data map[string]interface{}
- mu sync.RWMutex
- overrideAllowed bool
-}
-
-// Config is a struct containing all config for register
-type Config struct {
-
- // OverrideAllowed allows the register to override
- // an already registered interface by name if it is true,
- // otherwise register will panic.
- OverrideAllowed bool
-}
-
-// New returns a new register
-func New(config *Config) *Register {
- if config == nil {
- config = defaultConfig
- }
-
- return &Register{
- data: make(map[string]interface{}),
- overrideAllowed: config.OverrideAllowed,
- }
-}
-
-// Register registers a interface by name.
-// It will panic if name corresponds to an already registered interface
-// and the register does not allow user to override the interface.
-func (r *Register) Register(name string, v interface{}) {
- r.mu.Lock()
- defer r.mu.Unlock()
- _, ok := r.data[name]
- if ok {
- if !r.overrideAllowed {
- panic("[Register] Repeated registration key: " + name)
- } else {
- fmt.Fprintln(os.Stderr, "[Register] Repeated registration key: "+name)
- }
- }
- r.data[name] = v
-
-}
-
-// Get returns an interface registered with the given name
-func (r *Register) Get(name string) (interface{}, bool) {
- r.mu.RLock()
- defer r.mu.RUnlock()
- v, ok := r.data[name]
- return v, ok
-}
-
-// Contains returns true if name corresponds to an already registered interface
-func (r *Register) Contains(name string) bool {
- r.mu.RLock()
- defer r.mu.RUnlock()
- _, ok := r.data[name]
- return ok
-}
-
-// Range calls f sequentially for each key and value present in the register.
-// If f returns false, range stops the iteration.
-func (r *Register) Range(f func(key string, value interface{}) bool) {
- r.mu.Lock()
- defer r.mu.Unlock()
- for k, v := range r.data {
- if ok := f(k, v); !ok {
- return
- }
- }
-}
-
-// Keys returns the name of all registered interfaces
-func (r *Register) Keys() []string {
- names := []string{}
- r.mu.RLock()
- defer r.mu.RUnlock()
- for name := range r.data {
- names = append(names, name)
- }
- return names
-}
-
-// Values returns all registered interfaces
-func (r *Register) Values() []interface{} {
- ret := []interface{}{}
- r.mu.RLock()
- defer r.mu.RUnlock()
- for _, v := range r.data {
- ret = append(ret, v)
- }
- return ret
-}
-
-// KeyValues returns an iterable map for pair
-func (r *Register) KeyValues() map[string]interface{} {
- return r.data
-}
-
-// Clear cleans up the registered items
-func (r *Register) Clear() {
- r.mu.Lock()
- defer r.mu.Unlock()
- r.data = make(map[string]interface{})
-}
diff --git a/vendor/golang.org/x/net/http2/.gitignore b/vendor/golang.org/x/net/http2/.gitignore
new file mode 100644
index 000000000..190f12234
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/.gitignore
@@ -0,0 +1,2 @@
+*~
+h2i/h2i
diff --git a/vendor/golang.org/x/net/http2/Dockerfile b/vendor/golang.org/x/net/http2/Dockerfile
new file mode 100644
index 000000000..53fc52579
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/Dockerfile
@@ -0,0 +1,51 @@
+#
+# This Dockerfile builds a recent curl with HTTP/2 client support, using
+# a recent nghttp2 build.
+#
+# See the Makefile for how to tag it. If Docker and that image is found, the
+# Go tests use this curl binary for integration tests.
+#
+
+FROM ubuntu:trusty
+
+RUN apt-get update && \
+ apt-get upgrade -y && \
+ apt-get install -y git-core build-essential wget
+
+RUN apt-get install -y --no-install-recommends \
+ autotools-dev libtool pkg-config zlib1g-dev \
+ libcunit1-dev libssl-dev libxml2-dev libevent-dev \
+ automake autoconf
+
+# The list of packages nghttp2 recommends for h2load:
+RUN apt-get install -y --no-install-recommends make binutils \
+ autoconf automake autotools-dev \
+ libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \
+ libev-dev libevent-dev libjansson-dev libjemalloc-dev \
+ cython python3.4-dev python-setuptools
+
+# Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached:
+ENV NGHTTP2_VER 895da9a
+RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git
+
+WORKDIR /root/nghttp2
+RUN git reset --hard $NGHTTP2_VER
+RUN autoreconf -i
+RUN automake
+RUN autoconf
+RUN ./configure
+RUN make
+RUN make install
+
+WORKDIR /root
+RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz
+RUN tar -zxvf curl-7.45.0.tar.gz
+WORKDIR /root/curl-7.45.0
+RUN ./configure --with-ssl --with-nghttp2=/usr/local
+RUN make
+RUN make install
+RUN ldconfig
+
+CMD ["-h"]
+ENTRYPOINT ["/usr/local/bin/curl"]
+
diff --git a/vendor/golang.org/x/net/http2/Makefile b/vendor/golang.org/x/net/http2/Makefile
new file mode 100644
index 000000000..55fd826f7
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/Makefile
@@ -0,0 +1,3 @@
+curlimage:
+ docker build -t gohttp2/curl .
+
diff --git a/vendor/golang.org/x/net/http2/README b/vendor/golang.org/x/net/http2/README
new file mode 100644
index 000000000..360d5aa37
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/README
@@ -0,0 +1,20 @@
+This is a work-in-progress HTTP/2 implementation for Go.
+
+It will eventually live in the Go standard library and won't require
+any changes to your code to use. It will just be automatic.
+
+Status:
+
+* The server support is pretty good. A few things are missing
+ but are being worked on.
+* The client work has just started but shares a lot of code
+ is coming along much quicker.
+
+Docs are at https://godoc.org/golang.org/x/net/http2
+
+Demo test server at https://http2.golang.org/
+
+Help & bug reports welcome!
+
+Contributing: https://golang.org/doc/contribute.html
+Bugs: https://golang.org/issue/new?title=x/net/http2:+
diff --git a/vendor/golang.org/x/oauth2/.travis.yml b/vendor/golang.org/x/oauth2/.travis.yml
new file mode 100644
index 000000000..fa139db22
--- /dev/null
+++ b/vendor/golang.org/x/oauth2/.travis.yml
@@ -0,0 +1,13 @@
+language: go
+
+go:
+ - tip
+
+install:
+ - export GOPATH="$HOME/gopath"
+ - mkdir -p "$GOPATH/src/golang.org/x"
+ - mv "$TRAVIS_BUILD_DIR" "$GOPATH/src/golang.org/x/oauth2"
+ - go get -v -t -d golang.org/x/oauth2/...
+
+script:
+ - go test -v golang.org/x/oauth2/...
diff --git a/vendor/golang.org/x/oauth2/CONTRIBUTING.md b/vendor/golang.org/x/oauth2/CONTRIBUTING.md
new file mode 100644
index 000000000..dfbed62cf
--- /dev/null
+++ b/vendor/golang.org/x/oauth2/CONTRIBUTING.md
@@ -0,0 +1,26 @@
+# Contributing to Go
+
+Go is an open source project.
+
+It is the work of hundreds of contributors. We appreciate your help!
+
+## Filing issues
+
+When [filing an issue](https://github.com/golang/oauth2/issues), make sure to answer these five questions:
+
+1. What version of Go are you using (`go version`)?
+2. What operating system and processor architecture are you using?
+3. What did you do?
+4. What did you expect to see?
+5. What did you see instead?
+
+General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
+The gophers there will answer or ask you to file an issue if you've tripped over a bug.
+
+## Contributing code
+
+Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
+before sending patches.
+
+Unless otherwise noted, the Go source files are distributed under
+the BSD-style license found in the LICENSE file.
diff --git a/vendor/golang.org/x/oauth2/README.md b/vendor/golang.org/x/oauth2/README.md
new file mode 100644
index 000000000..8cfd6063e
--- /dev/null
+++ b/vendor/golang.org/x/oauth2/README.md
@@ -0,0 +1,36 @@
+# OAuth2 for Go
+
+[![Build Status](https://travis-ci.org/golang/oauth2.svg?branch=master)](https://travis-ci.org/golang/oauth2)
+[![GoDoc](https://godoc.org/golang.org/x/oauth2?status.svg)](https://godoc.org/golang.org/x/oauth2)
+
+oauth2 package contains a client implementation for OAuth 2.0 spec.
+
+## Installation
+
+~~~~
+go get golang.org/x/oauth2
+~~~~
+
+Or you can manually git clone the repository to
+`$(go env GOPATH)/src/golang.org/x/oauth2`.
+
+See godoc for further documentation and examples.
+
+* [godoc.org/golang.org/x/oauth2](https://godoc.org/golang.org/x/oauth2)
+* [godoc.org/golang.org/x/oauth2/google](https://godoc.org/golang.org/x/oauth2/google)
+
+## Policy for new packages
+
+We no longer accept new provider-specific packages in this repo if all
+they do is add a single endpoint variable. If you just want to add a
+single endpoint, add it to the
+[godoc.org/golang.org/x/oauth2/endpoints](https://godoc.org/golang.org/x/oauth2/endpoints)
+package.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit changes to
+this repository, see https://golang.org/doc/contribute.html.
+
+The main issue tracker for the oauth2 repository is located at
+https://github.com/golang/oauth2/issues.
diff --git a/vendor/golang.org/x/oauth2/go.mod b/vendor/golang.org/x/oauth2/go.mod
new file mode 100644
index 000000000..b34578155
--- /dev/null
+++ b/vendor/golang.org/x/oauth2/go.mod
@@ -0,0 +1,10 @@
+module golang.org/x/oauth2
+
+go 1.11
+
+require (
+ cloud.google.com/go v0.34.0
+ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e
+ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 // indirect
+ google.golang.org/appengine v1.4.0
+)
diff --git a/vendor/golang.org/x/oauth2/go.sum b/vendor/golang.org/x/oauth2/go.sum
new file mode 100644
index 000000000..6f0079b0d
--- /dev/null
+++ b/vendor/golang.org/x/oauth2/go.sum
@@ -0,0 +1,12 @@
+cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e h1:bRhVy7zSSasaqNksaRZiA5EEI+Ei4I1nO5Jh72wfHlg=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
diff --git a/vendor/golang.org/x/sys/unix/.gitignore b/vendor/golang.org/x/sys/unix/.gitignore
new file mode 100644
index 000000000..e3e0fc6f8
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/.gitignore
@@ -0,0 +1,2 @@
+_obj/
+unix.test
diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md
new file mode 100644
index 000000000..eb2f78ae2
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/README.md
@@ -0,0 +1,173 @@
+# Building `sys/unix`
+
+The sys/unix package provides access to the raw system call interface of the
+underlying operating system. See: https://godoc.org/golang.org/x/sys/unix
+
+Porting Go to a new architecture/OS combination or adding syscalls, types, or
+constants to an existing architecture/OS pair requires some manual effort;
+however, there are tools that automate much of the process.
+
+## Build Systems
+
+There are currently two ways we generate the necessary files. We are currently
+migrating the build system to use containers so the builds are reproducible.
+This is being done on an OS-by-OS basis. Please update this documentation as
+components of the build system change.
+
+### Old Build System (currently for `GOOS != "linux"`)
+
+The old build system generates the Go files based on the C header files
+present on your system. This means that files
+for a given GOOS/GOARCH pair must be generated on a system with that OS and
+architecture. This also means that the generated code can differ from system
+to system, based on differences in the header files.
+
+To avoid this, if you are using the old build system, only generate the Go
+files on an installation with unmodified header files. It is also important to
+keep track of which version of the OS the files were generated from (ex.
+Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes
+and have each OS upgrade correspond to a single change.
+
+To build the files for your current OS and architecture, make sure GOOS and
+GOARCH are set correctly and run `mkall.sh`. This will generate the files for
+your specific system. Running `mkall.sh -n` shows the commands that will be run.
+
+Requirements: bash, go
+
+### New Build System (currently for `GOOS == "linux"`)
+
+The new build system uses a Docker container to generate the go files directly
+from source checkouts of the kernel and various system libraries. This means
+that on any platform that supports Docker, all the files using the new build
+system can be generated at once, and generated files will not change based on
+what the person running the scripts has installed on their computer.
+
+The OS specific files for the new build system are located in the `${GOOS}`
+directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When
+the kernel or system library updates, modify the Dockerfile at
+`${GOOS}/Dockerfile` to checkout the new release of the source.
+
+To build all the files under the new build system, you must be on an amd64/Linux
+system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will
+then generate all of the files for all of the GOOS/GOARCH pairs in the new build
+system. Running `mkall.sh -n` shows the commands that will be run.
+
+Requirements: bash, go, docker
+
+## Component files
+
+This section describes the various files used in the code generation process.
+It also contains instructions on how to modify these files to add a new
+architecture/OS or to add additional syscalls, types, or constants. Note that
+if you are using the new build system, the scripts/programs cannot be called normally.
+They must be called from within the docker container.
+
+### asm files
+
+The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system
+call dispatch. There are three entry points:
+```
+ func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
+ func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
+ func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
+```
+The first and second are the standard ones; they differ only in how many
+arguments can be passed to the kernel. The third is for low-level use by the
+ForkExec wrapper. Unlike the first two, it does not call into the scheduler to
+let it know that a system call is running.
+
+When porting Go to an new architecture/OS, this file must be implemented for
+each GOOS/GOARCH pair.
+
+### mksysnum
+
+Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go`
+for the old system). This program takes in a list of header files containing the
+syscall number declarations and parses them to produce the corresponding list of
+Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated
+constants.
+
+Adding new syscall numbers is mostly done by running the build on a sufficiently
+new installation of the target OS (or updating the source checkouts for the
+new build system). However, depending on the OS, you make need to update the
+parsing in mksysnum.
+
+### mksyscall.go
+
+The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are
+hand-written Go files which implement system calls (for unix, the specific OS,
+or the specific OS/Architecture pair respectively) that need special handling
+and list `//sys` comments giving prototypes for ones that can be generated.
+
+The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts
+them into syscalls. This requires the name of the prototype in the comment to
+match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function
+prototype can be exported (capitalized) or not.
+
+Adding a new syscall often just requires adding a new `//sys` function prototype
+with the desired arguments and a capitalized name so it is exported. However, if
+you want the interface to the syscall to be different, often one will make an
+unexported `//sys` prototype, an then write a custom wrapper in
+`syscall_${GOOS}.go`.
+
+### types files
+
+For each OS, there is a hand-written Go file at `${GOOS}/types.go` (or
+`types_${GOOS}.go` on the old system). This file includes standard C headers and
+creates Go type aliases to the corresponding C types. The file is then fed
+through godef to get the Go compatible definitions. Finally, the generated code
+is fed though mkpost.go to format the code correctly and remove any hidden or
+private identifiers. This cleaned-up code is written to
+`ztypes_${GOOS}_${GOARCH}.go`.
+
+The hardest part about preparing this file is figuring out which headers to
+include and which symbols need to be `#define`d to get the actual data
+structures that pass through to the kernel system calls. Some C libraries
+preset alternate versions for binary compatibility and translate them on the
+way in and out of system calls, but there is almost always a `#define` that can
+get the real ones.
+See `types_darwin.go` and `linux/types.go` for examples.
+
+To add a new type, add in the necessary include statement at the top of the
+file (if it is not already there) and add in a type alias line. Note that if
+your type is significantly different on different architectures, you may need
+some `#if/#elif` macros in your include statements.
+
+### mkerrors.sh
+
+This script is used to generate the system's various constants. This doesn't
+just include the error numbers and error strings, but also the signal numbers
+an a wide variety of miscellaneous constants. The constants come from the list
+of include files in the `includes_${uname}` variable. A regex then picks out
+the desired `#define` statements, and generates the corresponding Go constants.
+The error numbers and strings are generated from `#include `, and the
+signal numbers and strings are generated from `#include `. All of
+these constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program,
+`_errors.c`, which prints out all the constants.
+
+To add a constant, add the header that includes it to the appropriate variable.
+Then, edit the regex (if necessary) to match the desired constant. Avoid making
+the regex too broad to avoid matching unintended constants.
+
+
+## Generated files
+
+### `zerror_${GOOS}_${GOARCH}.go`
+
+A file containing all of the system's generated error numbers, error strings,
+signal numbers, and constants. Generated by `mkerrors.sh` (see above).
+
+### `zsyscall_${GOOS}_${GOARCH}.go`
+
+A file containing all the generated syscalls for a specific GOOS and GOARCH.
+Generated by `mksyscall.go` (see above).
+
+### `zsysnum_${GOOS}_${GOARCH}.go`
+
+A list of numeric constants for all the syscall number of the specific GOOS
+and GOARCH. Generated by mksysnum (see above).
+
+### `ztypes_${GOOS}_${GOARCH}.go`
+
+A file containing Go types for passing into (or returning from) syscalls.
+Generated by godefs and the types file (see above).
diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh
new file mode 100644
index 000000000..fa0c69b9d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mkall.sh
@@ -0,0 +1,229 @@
+#!/usr/bin/env bash
+# Copyright 2009 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# This script runs or (given -n) prints suggested commands to generate files for
+# the Architecture/OS specified by the GOARCH and GOOS environment variables.
+# See README.md for more information about how the build system works.
+
+GOOSARCH="${GOOS}_${GOARCH}"
+
+# defaults
+mksyscall="go run mksyscall.go"
+mkerrors="./mkerrors.sh"
+zerrors="zerrors_$GOOSARCH.go"
+mksysctl=""
+zsysctl="zsysctl_$GOOSARCH.go"
+mksysnum=
+mktypes=
+mkasm=
+run="sh"
+cmd=""
+
+case "$1" in
+-syscalls)
+ for i in zsyscall*go
+ do
+ # Run the command line that appears in the first line
+ # of the generated file to regenerate it.
+ sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i
+ rm _$i
+ done
+ exit 0
+ ;;
+-n)
+ run="cat"
+ cmd="echo"
+ shift
+esac
+
+case "$#" in
+0)
+ ;;
+*)
+ echo 'usage: mkall.sh [-n]' 1>&2
+ exit 2
+esac
+
+if [[ "$GOOS" = "linux" ]]; then
+ # Use the Docker-based build system
+ # Files generated through docker (use $cmd so you can Ctl-C the build or run)
+ $cmd docker build --tag generate:$GOOS $GOOS
+ $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")" && /bin/pwd):/build generate:$GOOS
+ exit
+fi
+
+GOOSARCH_in=syscall_$GOOSARCH.go
+case "$GOOSARCH" in
+_* | *_ | _)
+ echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2
+ exit 1
+ ;;
+aix_ppc)
+ mkerrors="$mkerrors -maix32"
+ mksyscall="go run mksyscall_aix_ppc.go -aix"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+aix_ppc64)
+ mkerrors="$mkerrors -maix64"
+ mksyscall="go run mksyscall_aix_ppc64.go -aix"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+darwin_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="go run mksyscall.go -l32"
+ mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ mkasm="go run mkasm_darwin.go"
+ ;;
+darwin_amd64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ mkasm="go run mkasm_darwin.go"
+ ;;
+darwin_arm)
+ mkerrors="$mkerrors"
+ mksyscall="go run mksyscall.go -l32"
+ mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ mkasm="go run mkasm_darwin.go"
+ ;;
+darwin_arm64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ mkasm="go run mkasm_darwin.go"
+ ;;
+dragonfly_amd64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="go run mksyscall.go -dragonfly"
+ mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+freebsd_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="go run mksyscall.go -l32"
+ mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+freebsd_amd64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+freebsd_arm)
+ mkerrors="$mkerrors"
+ mksyscall="go run mksyscall.go -l32 -arm"
+ mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
+ # Let the type of C char be signed for making the bare syscall
+ # API consistent across platforms.
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
+ ;;
+freebsd_arm64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+netbsd_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="go run mksyscall.go -l32 -netbsd"
+ mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+netbsd_amd64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="go run mksyscall.go -netbsd"
+ mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+netbsd_arm)
+ mkerrors="$mkerrors"
+ mksyscall="go run mksyscall.go -l32 -netbsd -arm"
+ mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
+ # Let the type of C char be signed for making the bare syscall
+ # API consistent across platforms.
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
+ ;;
+netbsd_arm64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="go run mksyscall.go -netbsd"
+ mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+openbsd_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="go run mksyscall.go -l32 -openbsd"
+ mksysctl="go run mksysctl_openbsd.go"
+ mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+openbsd_amd64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="go run mksyscall.go -openbsd"
+ mksysctl="go run mksysctl_openbsd.go"
+ mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+openbsd_arm)
+ mkerrors="$mkerrors"
+ mksyscall="go run mksyscall.go -l32 -openbsd -arm"
+ mksysctl="go run mksysctl_openbsd.go"
+ mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
+ # Let the type of C char be signed for making the bare syscall
+ # API consistent across platforms.
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
+ ;;
+openbsd_arm64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="go run mksyscall.go -openbsd"
+ mksysctl="go run mksysctl_openbsd.go"
+ mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
+ # Let the type of C char be signed for making the bare syscall
+ # API consistent across platforms.
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
+ ;;
+solaris_amd64)
+ mksyscall="go run mksyscall_solaris.go"
+ mkerrors="$mkerrors -m64"
+ mksysnum=
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+*)
+ echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2
+ exit 1
+ ;;
+esac
+
+(
+ if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi
+ case "$GOOS" in
+ *)
+ syscall_goos="syscall_$GOOS.go"
+ case "$GOOS" in
+ darwin | dragonfly | freebsd | netbsd | openbsd)
+ syscall_goos="syscall_bsd.go $syscall_goos"
+ ;;
+ esac
+ if [ -n "$mksyscall" ]; then
+ if [ "$GOOSARCH" == "aix_ppc64" ]; then
+ # aix/ppc64 script generates files instead of writing to stdin.
+ echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ;
+ elif [ "$GOOS" == "darwin" ]; then
+ # pre-1.12, direct syscalls
+ echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos syscall_darwin_${GOARCH}.1_11.go $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go";
+ # 1.12 and later, syscalls via libSystem
+ echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go";
+ # 1.13 and later, syscalls via libSystem (including syscallPtr)
+ echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go";
+ else
+ echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go";
+ fi
+ fi
+ esac
+ if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi
+ if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi
+ if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi
+ if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi
+) | $run
diff --git a/vendor/golang.org/x/sys/unix/mkasm_darwin.go b/vendor/golang.org/x/sys/unix/mkasm_darwin.go
deleted file mode 100644
index 6f7bb6edf..000000000
--- a/vendor/golang.org/x/sys/unix/mkasm_darwin.go
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-// mkasm_darwin.go generates assembly trampolines to call libSystem routines from Go.
-//This program must be run after mksyscall.go.
-package main
-
-import (
- "bytes"
- "fmt"
- "io/ioutil"
- "log"
- "os"
- "strings"
-)
-
-func writeASMFile(in string, fileName string, buildTags string) {
- trampolines := map[string]bool{}
-
- var out bytes.Buffer
-
- fmt.Fprintf(&out, "// go run mkasm_darwin.go %s\n", strings.Join(os.Args[1:], " "))
- fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n")
- fmt.Fprintf(&out, "\n")
- fmt.Fprintf(&out, "// +build %s\n", buildTags)
- fmt.Fprintf(&out, "\n")
- fmt.Fprintf(&out, "#include \"textflag.h\"\n")
- for _, line := range strings.Split(in, "\n") {
- if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") {
- continue
- }
- fn := line[5 : len(line)-13]
- if !trampolines[fn] {
- trampolines[fn] = true
- fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn)
- fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn)
- }
- }
- err := ioutil.WriteFile(fileName, out.Bytes(), 0644)
- if err != nil {
- log.Fatalf("can't write %s: %s", fileName, err)
- }
-}
-
-func main() {
- in1, err := ioutil.ReadFile("syscall_darwin.go")
- if err != nil {
- log.Fatalf("can't open syscall_darwin.go: %s", err)
- }
- arch := os.Args[1]
- in2, err := ioutil.ReadFile(fmt.Sprintf("syscall_darwin_%s.go", arch))
- if err != nil {
- log.Fatalf("can't open syscall_darwin_%s.go: %s", arch, err)
- }
- in3, err := ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.go", arch))
- if err != nil {
- log.Fatalf("can't open zsyscall_darwin_%s.go: %s", arch, err)
- }
- in := string(in1) + string(in2) + string(in3)
-
- writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.s", arch), "go1.12")
-
- in1, err = ioutil.ReadFile("syscall_darwin.1_13.go")
- if err != nil {
- log.Fatalf("can't open syscall_darwin.1_13.go: %s", err)
- }
- in2, err = ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.1_13.go", arch))
- if err != nil {
- log.Fatalf("can't open zsyscall_darwin_%s.1_13.go: %s", arch, err)
- }
-
- in = string(in1) + string(in2)
-
- writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.1_13.s", arch), "go1.13")
-}
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
new file mode 100644
index 000000000..6ffac9250
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -0,0 +1,692 @@
+#!/usr/bin/env bash
+# Copyright 2009 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# Generate Go code listing errors and other #defined constant
+# values (ENAMETOOLONG etc.), by asking the preprocessor
+# about the definitions.
+
+unset LANG
+export LC_ALL=C
+export LC_CTYPE=C
+
+if test -z "$GOARCH" -o -z "$GOOS"; then
+ echo 1>&2 "GOARCH or GOOS not defined in environment"
+ exit 1
+fi
+
+# Check that we are using the new build system if we should
+if [[ "$GOOS" = "linux" ]] && [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then
+ echo 1>&2 "In the Docker based build system, mkerrors should not be called directly."
+ echo 1>&2 "See README.md"
+ exit 1
+fi
+
+if [[ "$GOOS" = "aix" ]]; then
+ CC=${CC:-gcc}
+else
+ CC=${CC:-cc}
+fi
+
+if [[ "$GOOS" = "solaris" ]]; then
+ # Assumes GNU versions of utilities in PATH.
+ export PATH=/usr/gnu/bin:$PATH
+fi
+
+uname=$(uname)
+
+includes_AIX='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#define AF_LOCAL AF_UNIX
+'
+
+includes_Darwin='
+#define _DARWIN_C_SOURCE
+#define KERNEL
+#define _DARWIN_USE_64_BIT_INODE
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+'
+
+includes_DragonFly='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+'
+
+includes_FreeBSD='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#if __FreeBSD__ >= 10
+#define IFT_CARP 0xf8 // IFT_CARP is deprecated in FreeBSD 10
+#undef SIOCAIFADDR
+#define SIOCAIFADDR _IOW(105, 26, struct oifaliasreq) // ifaliasreq contains if_data
+#undef SIOCSIFPHYADDR
+#define SIOCSIFPHYADDR _IOW(105, 70, struct oifaliasreq) // ifaliasreq contains if_data
+#endif
+'
+
+includes_Linux='
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+#ifndef __LP64__
+#define _FILE_OFFSET_BITS 64
+#endif
+#define _GNU_SOURCE
+
+// is broken on powerpc64, as it fails to include definitions of
+// these structures. We just include them copied from .
+#if defined(__powerpc__)
+struct sgttyb {
+ char sg_ispeed;
+ char sg_ospeed;
+ char sg_erase;
+ char sg_kill;
+ short sg_flags;
+};
+
+struct tchars {
+ char t_intrc;
+ char t_quitc;
+ char t_startc;
+ char t_stopc;
+ char t_eofc;
+ char t_brkc;
+};
+
+struct ltchars {
+ char t_suspc;
+ char t_dsuspc;
+ char t_rprntc;
+ char t_flushc;
+ char t_werasc;
+ char t_lnextc;
+};
+#endif
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#if defined(__sparc__)
+// On sparc{,64}, the kernel defines struct termios2 itself which clashes with the
+// definition in glibc. As only the error constants are needed here, include the
+// generic termibits.h (which is included by termbits.h on sparc).
+#include
+#else
+#include
+#endif
+
+#ifndef MSG_FASTOPEN
+#define MSG_FASTOPEN 0x20000000
+#endif
+
+#ifndef PTRACE_GETREGS
+#define PTRACE_GETREGS 0xc
+#endif
+
+#ifndef PTRACE_SETREGS
+#define PTRACE_SETREGS 0xd
+#endif
+
+#ifndef SOL_NETLINK
+#define SOL_NETLINK 270
+#endif
+
+#ifdef SOL_BLUETOOTH
+// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h
+// but it is already in bluetooth_linux.go
+#undef SOL_BLUETOOTH
+#endif
+
+// Certain constants are missing from the fs/crypto UAPI
+#define FS_KEY_DESC_PREFIX "fscrypt:"
+#define FS_KEY_DESC_PREFIX_SIZE 8
+#define FS_MAX_KEY_SIZE 64
+
+// The code generator produces -0x1 for (~0), but an unsigned value is necessary
+// for the tipc_subscr timeout __u32 field.
+#undef TIPC_WAIT_FOREVER
+#define TIPC_WAIT_FOREVER 0xffffffff
+'
+
+includes_NetBSD='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Needed since refers to it...
+#define schedppq 1
+'
+
+includes_OpenBSD='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// We keep some constants not supported in OpenBSD 5.5 and beyond for
+// the promise of compatibility.
+#define EMUL_ENABLED 0x1
+#define EMUL_NATIVE 0x2
+#define IPV6_FAITH 0x1d
+#define IPV6_OPTIONS 0x1
+#define IPV6_RTHDR_STRICT 0x1
+#define IPV6_SOCKOPT_RESERVED1 0x3
+#define SIOCGIFGENERIC 0xc020693a
+#define SIOCSIFGENERIC 0x80206939
+#define WALTSIG 0x4
+'
+
+includes_SunOS='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+'
+
+
+includes='
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+'
+ccflags="$@"
+
+# Write go tool cgo -godefs input.
+(
+ echo package unix
+ echo
+ echo '/*'
+ indirect="includes_$(uname)"
+ echo "${!indirect} $includes"
+ echo '*/'
+ echo 'import "C"'
+ echo 'import "syscall"'
+ echo
+ echo 'const ('
+
+ # The gcc command line prints all the #defines
+ # it encounters while processing the input
+ echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags |
+ awk '
+ $1 != "#define" || $2 ~ /\(/ || $3 == "" {next}
+
+ $2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next} # 386 registers
+ $2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next}
+ $2 ~ /^(SCM_SRCRT)$/ {next}
+ $2 ~ /^(MAP_FAILED)$/ {next}
+ $2 ~ /^ELF_.*$/ {next}#