diff --git a/.golangci.yml b/.golangci.yml index 5ced78dbc1..e5612d5805 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -29,3 +29,29 @@ linters: - whitespace - gocognit - wsl +issues: + exclude-rules: + - path: pkg/client/clientset + linters: + - golint + - deadcode + - lll + - unparam + - varcheck + - unused + - path: pkg/client/informers + linters: + - golint + - deadcode + - lll + - unparam + - varcheck + - unused + - path: pkg/client/listers + linters: + - golint + - deadcode + - lll + - unparam + - varcheck + - unused diff --git a/e2e/client_test.go b/e2e/client_test.go new file mode 100644 index 0000000000..070a21e4cc --- /dev/null +++ b/e2e/client_test.go @@ -0,0 +1,63 @@ +// +build integration + +// To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "integration" + +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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 e2e + +import ( + "testing" + + "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "github.com/apache/camel-k/pkg/client/clientset/versioned" + . "github.com/onsi/gomega" + "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client/config" +) + +func TestClientFunctionalities(t *testing.T) { + withNewTestNamespace(func(ns string) { + RegisterTestingT(t) + + cfg, err := config.GetConfig() + assert.Nil(t, err) + camel, err := versioned.NewForConfig(cfg) + assert.Nil(t, err) + + lst, err := camel.CamelV1alpha1().Integrations(ns).List(metav1.ListOptions{}) + assert.Nil(t, err) + assert.Empty(t, lst.Items) + + integration, err := camel.CamelV1alpha1().Integrations(ns).Create(&v1alpha1.Integration{ + ObjectMeta: metav1.ObjectMeta{ + Name: "dummy", + }, + }) + assert.Nil(t, err) + + lst, err = camel.CamelV1alpha1().Integrations(ns).List(metav1.ListOptions{}) + assert.Nil(t, err) + assert.NotEmpty(t, lst.Items) + assert.Equal(t, lst.Items[0].Name, integration.Name) + + err = camel.CamelV1alpha1().Integrations(ns).Delete("dummy", nil) + assert.Nil(t, err) + }) +} diff --git a/go.sum b/go.sum index 1021ce8850..3b69a143d7 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,7 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko 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/alecthomas/jsonschema v0.0.0-20190122210438-a6952de1bbe6 h1:xadBCbc8D9mmkaNfCsEBHbIoCjbayJXJNsY1JjPjNio= github.com/alecthomas/jsonschema v0.0.0-20190122210438-a6952de1bbe6/go.mod h1:qpebaTNSsyUn5rPSJMsfqEtDw71TTggXM6stUDI16HA= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -275,6 +276,7 @@ github.com/heketi/heketi v0.0.0-20181109135656-558b29266ce0/go.mod h1:bB9ly3Rchc github.com/heketi/rest v0.0.0-20180404230133-aa6a65207413/go.mod h1:BeS3M108VzVlmAue3lv2WcGuPAX94/KN63MUURzbYSI= github.com/heketi/tests v0.0.0-20151005000721-f3775cbcefd6/go.mod h1:xGMAM8JLi7UkZt1i4FQeQy0R2T8GLUwQhOP5M1gBhy4= github.com/heketi/utils v0.0.0-20170317161834-435bc5bdfa64/go.mod h1:RYlF4ghFZPPmk2TC5REt5OFwvfb6lzxFWrTWB+qs28s= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= @@ -372,12 +374,14 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn 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.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.2-0.20180831124310-ae19f1b56d53/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 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -414,6 +418,7 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v0.0.0-20160930220758-4d0e916071f6/go.mod h1:NxmoDg/QLVWluQDUYG7XBZTLUpKeFa8e3aMf1BfjyHk= github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +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= @@ -504,6 +509,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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/syndtr/gocapability v0.0.0-20160928074757-e7cb7fa329f4/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/technosophos/moniker v0.0.0-20180509230615-a5dbd03a2245/go.mod h1:O1c8HleITsZqzNZDjSNzirUGsMT0oGu9LhHKoJrqO+A= @@ -641,6 +647,7 @@ golang.org/x/tools v0.0.0-20190320215829-36c10c0a621f/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20191018212557-ed542cd5b28a h1:UuQ+70Pi/ZdWHuP4v457pkXeOynTdgd/4enxeIO/98k= golang.org/x/tools v0.0.0-20191018212557-ed542cd5b28a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -687,6 +694,7 @@ gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3/go.mod h1:l0 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.0.0-20180411045311-89060dee6a84/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.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= @@ -701,6 +709,7 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.0.0-20190918195907-bd6ac527cfd2 h1:bkwe5LsuANqyOwsBng5Qc4S91D2Tv0JHctAztt3YTQs= k8s.io/api v0.0.0-20190918195907-bd6ac527cfd2/go.mod h1:AOxZTnaXR/xiarlQL0JUfwQPxjmKDvVYoRp58cA7lUo= +k8s.io/apiextensions-apiserver v0.0.0-20190918201827-3de75813f604 h1:Kl/sh+wWzYK2hWFZtwvuFECup1SbE2kXfMnhGZsoO5M= k8s.io/apiextensions-apiserver v0.0.0-20190918201827-3de75813f604/go.mod h1:7H8sjDlWQu89yWB3FhZfsLyRCRLuoXoCoY5qtwW1q6I= k8s.io/apimachinery v0.0.0-20190817020851-f2f3a405f61d h1:7Kns6qqhMAQWvGkxYOLSLRZ5hJO0/5pcE5lPGP2fxUw= k8s.io/apimachinery v0.0.0-20190817020851-f2f3a405f61d/go.mod h1:3jediapYqJ2w1BFw7lAZPCx7scubsTfosqHkhXCWJKw= @@ -711,6 +720,7 @@ k8s.io/client-go v0.0.0-20190918200256-06eb1244587a h1:huOvPq1vO7dkuw9rZPYsLGpFm k8s.io/client-go v0.0.0-20190918200256-06eb1244587a/go.mod h1:3YAcTbI2ArBRmhHns5vlHRX8YQqvkVYpz+U/N5i1mVU= k8s.io/cloud-provider v0.0.0-20190918203125-ae665f80358a/go.mod h1:hfxdMPnFjoiVZrbaHkBS0t56GelBDM199c4gOXAwQ/I= k8s.io/cluster-bootstrap v0.0.0-20190918202959-c340507a5d48/go.mod h1:JoNzH2HyeimzRZXShJRDmpANOXTTL5RoXNbeCS3D8gY= +k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b h1:p+PRuwXWwk5e+UYvicGiavEupapqM5NOxUl3y1GkD6c= k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b/go.mod h1:G8bQwmHm2eafm5bgtX67XDZQ8CWKSGu9DekI+yN4Y5I= k8s.io/component-base v0.0.0-20190918200425-ed2f0867c778/go.mod h1:DFWQCXgXVLiWtzFaS17KxHdlUeUymP7FLxZSkmL9/jU= k8s.io/cri-api v0.0.0-20190817025403-3ae76f584e79/go.mod h1:MQf3sTYxPlSVy4QhUrDFfHWFxHtwhdpvGBECKGhZULk= @@ -720,6 +730,7 @@ k8s.io/gengo v0.0.0-20181113154421-fd15ee9cc2f7/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8 k8s.io/gengo v0.0.0-20190116091435-f8a0810f38af/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190327210449-e17681d19d3a/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20191010091904-7fa3014cb28f h1:eW/6wVuHNZgQJmFesyAxu0cvj0WAHHUuGaLbPcmNY3Q= k8s.io/gengo v0.0.0-20191010091904-7fa3014cb28f/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/heapster v1.2.0-beta.1/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= k8s.io/helm v2.15.0+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI= @@ -745,7 +756,9 @@ k8s.io/kubelet v0.0.0-20190918202550-958285cf3eef/go.mod h1:y3faEeGRJ9L54/YJWIF0 k8s.io/kubernetes v1.11.7-beta.0.0.20181219023948-b875d52ea96d/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/kubernetes v1.11.8-beta.0.0.20190124204751-3a10094374f2/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/kubernetes v1.14.2/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/kubernetes v1.15.4 h1:ykcH+DoCr9wYjYfHvd2xU0HoSo/Y9m4+/0+zHqkYjbw= k8s.io/kubernetes v1.15.4/go.mod h1:4Ggyo4AFgjbIzULOminzUJAvgbzY3j5ysXlW/a0PdcQ= +k8s.io/kubernetes v1.16.2 h1:k0f/OVp6Yfv+UMTm6VYKhqjRgcvHh4QhN9coanjrito= k8s.io/legacy-cloud-providers v0.0.0-20190918203421-225f0541b3ea/go.mod h1:qd7ZEaONgkMZRdUbaoK6ngxjuJz8kLBImMukwL7mOIg= k8s.io/metrics v0.0.0-20190918202012-3c1ca76f5bda/go.mod h1:LxAN6ulYLPVQGTtRkXEUyylgseTWArq1iCZ9Zve8edc= k8s.io/repo-infra v0.0.0-20181204233714-00fe14e3d1a3/go.mod h1:+G1xBfZDfVFsm1Tj/HNCvg4QqWx8rJ2Fxpqr1rqp/gQ= @@ -772,6 +785,7 @@ sigs.k8s.io/controller-tools v0.2.2/go.mod h1:8SNGuj163x/sMwydREj7ld5mIMJu1cDanI sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU= sigs.k8s.io/structured-merge-diff v0.0.0-20190302045857-e85c7b244fd2/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/testing_frameworks v0.1.1 h1:cP2l8fkA3O9vekpy5Ks8mmA0NW/F7yBdXf8brkWhVrs= sigs.k8s.io/testing_frameworks v0.1.1/go.mod h1:VVBKrHmJ6Ekkfz284YKhQePcdycOzNH9qL6ht1zEr/U= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/pkg/apis/camel/v1alpha1/build_types.go b/pkg/apis/camel/v1alpha1/build_types.go index c429fa7fc6..9f13e60262 100644 --- a/pkg/apis/camel/v1alpha1/build_types.go +++ b/pkg/apis/camel/v1alpha1/build_types.go @@ -100,6 +100,7 @@ const ( // Build is the Schema for the builds API // +k8s:openapi-gen=true +// +genclient type Build struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -117,7 +118,7 @@ type BuildList struct { Items []Build `json:"items"` } -// Condition describes the state of a resource at a certain point. +// BuildCondition describes the state of a resource at a certain point. type BuildCondition struct { // Type of integration condition. Type BuildConditionType `json:"type"` diff --git a/pkg/apis/camel/v1alpha1/integration_types.go b/pkg/apis/camel/v1alpha1/integration_types.go index 829496eead..d1b9d87776 100644 --- a/pkg/apis/camel/v1alpha1/integration_types.go +++ b/pkg/apis/camel/v1alpha1/integration_types.go @@ -61,6 +61,7 @@ type IntegrationStatus struct { // Integration is the Schema for the integrations API // +k8s:openapi-gen=true +// +genclient type Integration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/pkg/apis/camel/v1alpha1/integrationkit_types.go b/pkg/apis/camel/v1alpha1/integrationkit_types.go index 43b8173f7a..3e2e11e34f 100644 --- a/pkg/apis/camel/v1alpha1/integrationkit_types.go +++ b/pkg/apis/camel/v1alpha1/integrationkit_types.go @@ -14,6 +14,7 @@ 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 v1alpha1 import ( @@ -53,6 +54,7 @@ type IntegrationKitStatus struct { // IntegrationKit is the Schema for the integrationkits API // +k8s:openapi-gen=true +// +genclient type IntegrationKit struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -110,7 +112,7 @@ const ( IntegrationKitConditionPlatformAvailableReason string = "IntegrationPlatformAvailable" ) -// Condition describes the state of a resource at a certain point. +// IntegrationKitCondition describes the state of a resource at a certain point. type IntegrationKitCondition struct { // Type of integration condition. Type IntegrationKitConditionType `json:"type"` diff --git a/pkg/apis/camel/v1alpha1/integrationplatform_types.go b/pkg/apis/camel/v1alpha1/integrationplatform_types.go index 6626eae95c..e245458cdd 100644 --- a/pkg/apis/camel/v1alpha1/integrationplatform_types.go +++ b/pkg/apis/camel/v1alpha1/integrationplatform_types.go @@ -50,6 +50,7 @@ type IntegrationPlatformStatus struct { // IntegrationPlatform is the Schema for the integrationplatforms API // +k8s:openapi-gen=true +// +genclient type IntegrationPlatform struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -160,7 +161,7 @@ const ( IntegrationPlatformPhaseDuplicate IntegrationPlatformPhase = "Duplicate" ) -// Condition describes the state of a resource at a certain point. +// IntegrationPlatformCondition describes the state of a resource at a certain point. type IntegrationPlatformCondition struct { // Type of integration condition. Type IntegrationPlatformConditionType `json:"type"` diff --git a/pkg/apis/camel/v1alpha1/register.go b/pkg/apis/camel/v1alpha1/register.go index e948772af5..bd58570316 100644 --- a/pkg/apis/camel/v1alpha1/register.go +++ b/pkg/apis/camel/v1alpha1/register.go @@ -33,4 +33,12 @@ var ( // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} + + // AddToScheme is a shortcut to SchemeBuilder.AddToScheme + AddToScheme = SchemeBuilder.AddToScheme ) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go new file mode 100644 index 0000000000..c93d6d14b0 --- /dev/null +++ b/pkg/client/clientset/versioned/clientset.go @@ -0,0 +1,91 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + camelv1alpha1 "github.com/apache/camel-k/pkg/client/clientset/versioned/typed/camel/v1alpha1" + 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 + CamelV1alpha1() camelv1alpha1.CamelV1alpha1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + camelV1alpha1 *camelv1alpha1.CamelV1alpha1Client +} + +// CamelV1alpha1 retrieves the CamelV1alpha1Client +func (c *Clientset) CamelV1alpha1() camelv1alpha1.CamelV1alpha1Interface { + return c.camelV1alpha1 +} + +// 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. +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.camelV1alpha1, err = camelv1alpha1.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.camelV1alpha1 = camelv1alpha1.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.camelV1alpha1 = camelv1alpha1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/pkg/client/clientset/versioned/doc.go b/pkg/client/clientset/versioned/doc.go new file mode 100644 index 0000000000..c82aadf085 --- /dev/null +++ b/pkg/client/clientset/versioned/doc.go @@ -0,0 +1,21 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/pkg/client/clientset/versioned/fake/clientset_generated.go b/pkg/client/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 0000000000..388c13d75c --- /dev/null +++ b/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,83 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/apache/camel-k/pkg/client/clientset/versioned" + camelv1alpha1 "github.com/apache/camel-k/pkg/client/clientset/versioned/typed/camel/v1alpha1" + fakecamelv1alpha1 "github.com/apache/camel-k/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{tracker: o} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery + tracker testing.ObjectTracker +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +func (c *Clientset) Tracker() testing.ObjectTracker { + return c.tracker +} + +var _ clientset.Interface = &Clientset{} + +// CamelV1alpha1 retrieves the CamelV1alpha1Client +func (c *Clientset) CamelV1alpha1() camelv1alpha1.CamelV1alpha1Interface { + return &fakecamelv1alpha1.FakeCamelV1alpha1{Fake: &c.Fake} +} diff --git a/pkg/client/clientset/versioned/fake/doc.go b/pkg/client/clientset/versioned/fake/doc.go new file mode 100644 index 0000000000..9c6a5fa07a --- /dev/null +++ b/pkg/client/clientset/versioned/fake/doc.go @@ -0,0 +1,21 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go new file mode 100644 index 0000000000..96d01d306e --- /dev/null +++ b/pkg/client/clientset/versioned/fake/register.go @@ -0,0 +1,57 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + 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{ + camelv1alpha1.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/pkg/client/clientset/versioned/scheme/doc.go b/pkg/client/clientset/versioned/scheme/doc.go new file mode 100644 index 0000000000..dd7d3b5889 --- /dev/null +++ b/pkg/client/clientset/versioned/scheme/doc.go @@ -0,0 +1,21 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go new file mode 100644 index 0000000000..fb6453ab21 --- /dev/null +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -0,0 +1,57 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + 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{ + camelv1alpha1.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/pkg/client/clientset/versioned/typed/camel/v1alpha1/build.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/build.go new file mode 100644 index 0000000000..65eacbff4f --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/build.go @@ -0,0 +1,192 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + scheme "github.com/apache/camel-k/pkg/client/clientset/versioned/scheme" + 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" +) + +// BuildsGetter has a method to return a BuildInterface. +// A group's client should implement this interface. +type BuildsGetter interface { + Builds(namespace string) BuildInterface +} + +// BuildInterface has methods to work with Build resources. +type BuildInterface interface { + Create(*v1alpha1.Build) (*v1alpha1.Build, error) + Update(*v1alpha1.Build) (*v1alpha1.Build, error) + UpdateStatus(*v1alpha1.Build) (*v1alpha1.Build, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.Build, error) + List(opts v1.ListOptions) (*v1alpha1.BuildList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Build, err error) + BuildExpansion +} + +// builds implements BuildInterface +type builds struct { + client rest.Interface + ns string +} + +// newBuilds returns a Builds +func newBuilds(c *CamelV1alpha1Client, namespace string) *builds { + return &builds{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the build, and returns the corresponding build object, and an error if there is any. +func (c *builds) Get(name string, options v1.GetOptions) (result *v1alpha1.Build, err error) { + result = &v1alpha1.Build{} + err = c.client.Get(). + Namespace(c.ns). + Resource("builds"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Builds that match those selectors. +func (c *builds) List(opts v1.ListOptions) (result *v1alpha1.BuildList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.BuildList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("builds"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested builds. +func (c *builds) 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("builds"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a build and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *builds) Create(build *v1alpha1.Build) (result *v1alpha1.Build, err error) { + result = &v1alpha1.Build{} + err = c.client.Post(). + Namespace(c.ns). + Resource("builds"). + Body(build). + Do(). + Into(result) + return +} + +// Update takes the representation of a build and updates it. Returns the server's representation of the build, and an error, if there is any. +func (c *builds) Update(build *v1alpha1.Build) (result *v1alpha1.Build, err error) { + result = &v1alpha1.Build{} + err = c.client.Put(). + Namespace(c.ns). + Resource("builds"). + Name(build.Name). + Body(build). + 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 *builds) UpdateStatus(build *v1alpha1.Build) (result *v1alpha1.Build, err error) { + result = &v1alpha1.Build{} + err = c.client.Put(). + Namespace(c.ns). + Resource("builds"). + Name(build.Name). + SubResource("status"). + Body(build). + Do(). + Into(result) + return +} + +// Delete takes name of the build and deletes it. Returns an error if one occurs. +func (c *builds) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("builds"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *builds) 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("builds"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched build. +func (c *builds) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Build, err error) { + result = &v1alpha1.Build{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("builds"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/camel_client.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/camel_client.go new file mode 100644 index 0000000000..389abb575c --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/camel_client.go @@ -0,0 +1,105 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "github.com/apache/camel-k/pkg/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" +) + +type CamelV1alpha1Interface interface { + RESTClient() rest.Interface + BuildsGetter + IntegrationsGetter + IntegrationKitsGetter + IntegrationPlatformsGetter +} + +// CamelV1alpha1Client is used to interact with features provided by the camel.apache.org group. +type CamelV1alpha1Client struct { + restClient rest.Interface +} + +func (c *CamelV1alpha1Client) Builds(namespace string) BuildInterface { + return newBuilds(c, namespace) +} + +func (c *CamelV1alpha1Client) Integrations(namespace string) IntegrationInterface { + return newIntegrations(c, namespace) +} + +func (c *CamelV1alpha1Client) IntegrationKits(namespace string) IntegrationKitInterface { + return newIntegrationKits(c, namespace) +} + +func (c *CamelV1alpha1Client) IntegrationPlatforms(namespace string) IntegrationPlatformInterface { + return newIntegrationPlatforms(c, namespace) +} + +// NewForConfig creates a new CamelV1alpha1Client for the given config. +func NewForConfig(c *rest.Config) (*CamelV1alpha1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &CamelV1alpha1Client{client}, nil +} + +// NewForConfigOrDie creates a new CamelV1alpha1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *CamelV1alpha1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new CamelV1alpha1Client for the given RESTClient. +func New(c rest.Interface) *CamelV1alpha1Client { + return &CamelV1alpha1Client{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 *CamelV1alpha1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/doc.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/doc.go new file mode 100644 index 0000000000..9f77d24784 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/doc.go @@ -0,0 +1,21 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1alpha1 diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/doc.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/doc.go new file mode 100644 index 0000000000..5d1c76cc91 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/doc.go @@ -0,0 +1,21 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_build.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_build.go new file mode 100644 index 0000000000..8a0e414e5d --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_build.go @@ -0,0 +1,141 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeBuilds implements BuildInterface +type FakeBuilds struct { + Fake *FakeCamelV1alpha1 + ns string +} + +var buildsResource = schema.GroupVersionResource{Group: "camel.apache.org", Version: "v1alpha1", Resource: "builds"} + +var buildsKind = schema.GroupVersionKind{Group: "camel.apache.org", Version: "v1alpha1", Kind: "Build"} + +// Get takes name of the build, and returns the corresponding build object, and an error if there is any. +func (c *FakeBuilds) Get(name string, options v1.GetOptions) (result *v1alpha1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(buildsResource, c.ns, name), &v1alpha1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Build), err +} + +// List takes label and field selectors, and returns the list of Builds that match those selectors. +func (c *FakeBuilds) List(opts v1.ListOptions) (result *v1alpha1.BuildList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(buildsResource, buildsKind, c.ns, opts), &v1alpha1.BuildList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.BuildList{ListMeta: obj.(*v1alpha1.BuildList).ListMeta} + for _, item := range obj.(*v1alpha1.BuildList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested builds. +func (c *FakeBuilds) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(buildsResource, c.ns, opts)) + +} + +// Create takes the representation of a build and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuilds) Create(build *v1alpha1.Build) (result *v1alpha1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(buildsResource, c.ns, build), &v1alpha1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Build), err +} + +// Update takes the representation of a build and updates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuilds) Update(build *v1alpha1.Build) (result *v1alpha1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(buildsResource, c.ns, build), &v1alpha1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Build), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeBuilds) UpdateStatus(build *v1alpha1.Build) (*v1alpha1.Build, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(buildsResource, "status", c.ns, build), &v1alpha1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Build), err +} + +// Delete takes name of the build and deletes it. Returns an error if one occurs. +func (c *FakeBuilds) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(buildsResource, c.ns, name), &v1alpha1.Build{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeBuilds) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(buildsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &v1alpha1.BuildList{}) + return err +} + +// Patch applies the patch and returns the patched build. +func (c *FakeBuilds) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(buildsResource, c.ns, name, pt, data, subresources...), &v1alpha1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Build), err +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_camel_client.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_camel_client.go new file mode 100644 index 0000000000..6596ec7c93 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_camel_client.go @@ -0,0 +1,53 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/client/clientset/versioned/typed/camel/v1alpha1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeCamelV1alpha1 struct { + *testing.Fake +} + +func (c *FakeCamelV1alpha1) Builds(namespace string) v1alpha1.BuildInterface { + return &FakeBuilds{c, namespace} +} + +func (c *FakeCamelV1alpha1) Integrations(namespace string) v1alpha1.IntegrationInterface { + return &FakeIntegrations{c, namespace} +} + +func (c *FakeCamelV1alpha1) IntegrationKits(namespace string) v1alpha1.IntegrationKitInterface { + return &FakeIntegrationKits{c, namespace} +} + +func (c *FakeCamelV1alpha1) IntegrationPlatforms(namespace string) v1alpha1.IntegrationPlatformInterface { + return &FakeIntegrationPlatforms{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeCamelV1alpha1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integration.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integration.go new file mode 100644 index 0000000000..d44859f8f1 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integration.go @@ -0,0 +1,141 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeIntegrations implements IntegrationInterface +type FakeIntegrations struct { + Fake *FakeCamelV1alpha1 + ns string +} + +var integrationsResource = schema.GroupVersionResource{Group: "camel.apache.org", Version: "v1alpha1", Resource: "integrations"} + +var integrationsKind = schema.GroupVersionKind{Group: "camel.apache.org", Version: "v1alpha1", Kind: "Integration"} + +// Get takes name of the integration, and returns the corresponding integration object, and an error if there is any. +func (c *FakeIntegrations) Get(name string, options v1.GetOptions) (result *v1alpha1.Integration, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(integrationsResource, c.ns, name), &v1alpha1.Integration{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Integration), err +} + +// List takes label and field selectors, and returns the list of Integrations that match those selectors. +func (c *FakeIntegrations) List(opts v1.ListOptions) (result *v1alpha1.IntegrationList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(integrationsResource, integrationsKind, c.ns, opts), &v1alpha1.IntegrationList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.IntegrationList{ListMeta: obj.(*v1alpha1.IntegrationList).ListMeta} + for _, item := range obj.(*v1alpha1.IntegrationList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested integrations. +func (c *FakeIntegrations) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(integrationsResource, c.ns, opts)) + +} + +// Create takes the representation of a integration and creates it. Returns the server's representation of the integration, and an error, if there is any. +func (c *FakeIntegrations) Create(integration *v1alpha1.Integration) (result *v1alpha1.Integration, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(integrationsResource, c.ns, integration), &v1alpha1.Integration{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Integration), err +} + +// Update takes the representation of a integration and updates it. Returns the server's representation of the integration, and an error, if there is any. +func (c *FakeIntegrations) Update(integration *v1alpha1.Integration) (result *v1alpha1.Integration, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(integrationsResource, c.ns, integration), &v1alpha1.Integration{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Integration), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeIntegrations) UpdateStatus(integration *v1alpha1.Integration) (*v1alpha1.Integration, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(integrationsResource, "status", c.ns, integration), &v1alpha1.Integration{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Integration), err +} + +// Delete takes name of the integration and deletes it. Returns an error if one occurs. +func (c *FakeIntegrations) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(integrationsResource, c.ns, name), &v1alpha1.Integration{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeIntegrations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(integrationsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &v1alpha1.IntegrationList{}) + return err +} + +// Patch applies the patch and returns the patched integration. +func (c *FakeIntegrations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Integration, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(integrationsResource, c.ns, name, pt, data, subresources...), &v1alpha1.Integration{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.Integration), err +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integrationkit.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integrationkit.go new file mode 100644 index 0000000000..4fbc8c6297 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integrationkit.go @@ -0,0 +1,141 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeIntegrationKits implements IntegrationKitInterface +type FakeIntegrationKits struct { + Fake *FakeCamelV1alpha1 + ns string +} + +var integrationkitsResource = schema.GroupVersionResource{Group: "camel.apache.org", Version: "v1alpha1", Resource: "integrationkits"} + +var integrationkitsKind = schema.GroupVersionKind{Group: "camel.apache.org", Version: "v1alpha1", Kind: "IntegrationKit"} + +// Get takes name of the integrationKit, and returns the corresponding integrationKit object, and an error if there is any. +func (c *FakeIntegrationKits) Get(name string, options v1.GetOptions) (result *v1alpha1.IntegrationKit, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(integrationkitsResource, c.ns, name), &v1alpha1.IntegrationKit{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationKit), err +} + +// List takes label and field selectors, and returns the list of IntegrationKits that match those selectors. +func (c *FakeIntegrationKits) List(opts v1.ListOptions) (result *v1alpha1.IntegrationKitList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(integrationkitsResource, integrationkitsKind, c.ns, opts), &v1alpha1.IntegrationKitList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.IntegrationKitList{ListMeta: obj.(*v1alpha1.IntegrationKitList).ListMeta} + for _, item := range obj.(*v1alpha1.IntegrationKitList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested integrationKits. +func (c *FakeIntegrationKits) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(integrationkitsResource, c.ns, opts)) + +} + +// Create takes the representation of a integrationKit and creates it. Returns the server's representation of the integrationKit, and an error, if there is any. +func (c *FakeIntegrationKits) Create(integrationKit *v1alpha1.IntegrationKit) (result *v1alpha1.IntegrationKit, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(integrationkitsResource, c.ns, integrationKit), &v1alpha1.IntegrationKit{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationKit), err +} + +// Update takes the representation of a integrationKit and updates it. Returns the server's representation of the integrationKit, and an error, if there is any. +func (c *FakeIntegrationKits) Update(integrationKit *v1alpha1.IntegrationKit) (result *v1alpha1.IntegrationKit, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(integrationkitsResource, c.ns, integrationKit), &v1alpha1.IntegrationKit{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationKit), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeIntegrationKits) UpdateStatus(integrationKit *v1alpha1.IntegrationKit) (*v1alpha1.IntegrationKit, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(integrationkitsResource, "status", c.ns, integrationKit), &v1alpha1.IntegrationKit{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationKit), err +} + +// Delete takes name of the integrationKit and deletes it. Returns an error if one occurs. +func (c *FakeIntegrationKits) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(integrationkitsResource, c.ns, name), &v1alpha1.IntegrationKit{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeIntegrationKits) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(integrationkitsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &v1alpha1.IntegrationKitList{}) + return err +} + +// Patch applies the patch and returns the patched integrationKit. +func (c *FakeIntegrationKits) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.IntegrationKit, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(integrationkitsResource, c.ns, name, pt, data, subresources...), &v1alpha1.IntegrationKit{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationKit), err +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integrationplatform.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integrationplatform.go new file mode 100644 index 0000000000..3fdae46242 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/fake/fake_integrationplatform.go @@ -0,0 +1,141 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeIntegrationPlatforms implements IntegrationPlatformInterface +type FakeIntegrationPlatforms struct { + Fake *FakeCamelV1alpha1 + ns string +} + +var integrationplatformsResource = schema.GroupVersionResource{Group: "camel.apache.org", Version: "v1alpha1", Resource: "integrationplatforms"} + +var integrationplatformsKind = schema.GroupVersionKind{Group: "camel.apache.org", Version: "v1alpha1", Kind: "IntegrationPlatform"} + +// Get takes name of the integrationPlatform, and returns the corresponding integrationPlatform object, and an error if there is any. +func (c *FakeIntegrationPlatforms) Get(name string, options v1.GetOptions) (result *v1alpha1.IntegrationPlatform, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(integrationplatformsResource, c.ns, name), &v1alpha1.IntegrationPlatform{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationPlatform), err +} + +// List takes label and field selectors, and returns the list of IntegrationPlatforms that match those selectors. +func (c *FakeIntegrationPlatforms) List(opts v1.ListOptions) (result *v1alpha1.IntegrationPlatformList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(integrationplatformsResource, integrationplatformsKind, c.ns, opts), &v1alpha1.IntegrationPlatformList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.IntegrationPlatformList{ListMeta: obj.(*v1alpha1.IntegrationPlatformList).ListMeta} + for _, item := range obj.(*v1alpha1.IntegrationPlatformList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested integrationPlatforms. +func (c *FakeIntegrationPlatforms) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(integrationplatformsResource, c.ns, opts)) + +} + +// Create takes the representation of a integrationPlatform and creates it. Returns the server's representation of the integrationPlatform, and an error, if there is any. +func (c *FakeIntegrationPlatforms) Create(integrationPlatform *v1alpha1.IntegrationPlatform) (result *v1alpha1.IntegrationPlatform, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(integrationplatformsResource, c.ns, integrationPlatform), &v1alpha1.IntegrationPlatform{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationPlatform), err +} + +// Update takes the representation of a integrationPlatform and updates it. Returns the server's representation of the integrationPlatform, and an error, if there is any. +func (c *FakeIntegrationPlatforms) Update(integrationPlatform *v1alpha1.IntegrationPlatform) (result *v1alpha1.IntegrationPlatform, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(integrationplatformsResource, c.ns, integrationPlatform), &v1alpha1.IntegrationPlatform{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationPlatform), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeIntegrationPlatforms) UpdateStatus(integrationPlatform *v1alpha1.IntegrationPlatform) (*v1alpha1.IntegrationPlatform, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(integrationplatformsResource, "status", c.ns, integrationPlatform), &v1alpha1.IntegrationPlatform{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationPlatform), err +} + +// Delete takes name of the integrationPlatform and deletes it. Returns an error if one occurs. +func (c *FakeIntegrationPlatforms) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(integrationplatformsResource, c.ns, name), &v1alpha1.IntegrationPlatform{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeIntegrationPlatforms) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(integrationplatformsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &v1alpha1.IntegrationPlatformList{}) + return err +} + +// Patch applies the patch and returns the patched integrationPlatform. +func (c *FakeIntegrationPlatforms) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.IntegrationPlatform, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(integrationplatformsResource, c.ns, name, pt, data, subresources...), &v1alpha1.IntegrationPlatform{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.IntegrationPlatform), err +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/generated_expansion.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/generated_expansion.go new file mode 100644 index 0000000000..99f3b06ac2 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/generated_expansion.go @@ -0,0 +1,28 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +type BuildExpansion interface{} + +type IntegrationExpansion interface{} + +type IntegrationKitExpansion interface{} + +type IntegrationPlatformExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/integration.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/integration.go new file mode 100644 index 0000000000..d325dbf8aa --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/integration.go @@ -0,0 +1,192 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + scheme "github.com/apache/camel-k/pkg/client/clientset/versioned/scheme" + 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" +) + +// IntegrationsGetter has a method to return a IntegrationInterface. +// A group's client should implement this interface. +type IntegrationsGetter interface { + Integrations(namespace string) IntegrationInterface +} + +// IntegrationInterface has methods to work with Integration resources. +type IntegrationInterface interface { + Create(*v1alpha1.Integration) (*v1alpha1.Integration, error) + Update(*v1alpha1.Integration) (*v1alpha1.Integration, error) + UpdateStatus(*v1alpha1.Integration) (*v1alpha1.Integration, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.Integration, error) + List(opts v1.ListOptions) (*v1alpha1.IntegrationList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Integration, err error) + IntegrationExpansion +} + +// integrations implements IntegrationInterface +type integrations struct { + client rest.Interface + ns string +} + +// newIntegrations returns a Integrations +func newIntegrations(c *CamelV1alpha1Client, namespace string) *integrations { + return &integrations{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the integration, and returns the corresponding integration object, and an error if there is any. +func (c *integrations) Get(name string, options v1.GetOptions) (result *v1alpha1.Integration, err error) { + result = &v1alpha1.Integration{} + err = c.client.Get(). + Namespace(c.ns). + Resource("integrations"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Integrations that match those selectors. +func (c *integrations) List(opts v1.ListOptions) (result *v1alpha1.IntegrationList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.IntegrationList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("integrations"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested integrations. +func (c *integrations) 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("integrations"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a integration and creates it. Returns the server's representation of the integration, and an error, if there is any. +func (c *integrations) Create(integration *v1alpha1.Integration) (result *v1alpha1.Integration, err error) { + result = &v1alpha1.Integration{} + err = c.client.Post(). + Namespace(c.ns). + Resource("integrations"). + Body(integration). + Do(). + Into(result) + return +} + +// Update takes the representation of a integration and updates it. Returns the server's representation of the integration, and an error, if there is any. +func (c *integrations) Update(integration *v1alpha1.Integration) (result *v1alpha1.Integration, err error) { + result = &v1alpha1.Integration{} + err = c.client.Put(). + Namespace(c.ns). + Resource("integrations"). + Name(integration.Name). + Body(integration). + 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 *integrations) UpdateStatus(integration *v1alpha1.Integration) (result *v1alpha1.Integration, err error) { + result = &v1alpha1.Integration{} + err = c.client.Put(). + Namespace(c.ns). + Resource("integrations"). + Name(integration.Name). + SubResource("status"). + Body(integration). + Do(). + Into(result) + return +} + +// Delete takes name of the integration and deletes it. Returns an error if one occurs. +func (c *integrations) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("integrations"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *integrations) 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("integrations"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched integration. +func (c *integrations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Integration, err error) { + result = &v1alpha1.Integration{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("integrations"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/integrationkit.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/integrationkit.go new file mode 100644 index 0000000000..df65f9cc17 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/integrationkit.go @@ -0,0 +1,192 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + scheme "github.com/apache/camel-k/pkg/client/clientset/versioned/scheme" + 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" +) + +// IntegrationKitsGetter has a method to return a IntegrationKitInterface. +// A group's client should implement this interface. +type IntegrationKitsGetter interface { + IntegrationKits(namespace string) IntegrationKitInterface +} + +// IntegrationKitInterface has methods to work with IntegrationKit resources. +type IntegrationKitInterface interface { + Create(*v1alpha1.IntegrationKit) (*v1alpha1.IntegrationKit, error) + Update(*v1alpha1.IntegrationKit) (*v1alpha1.IntegrationKit, error) + UpdateStatus(*v1alpha1.IntegrationKit) (*v1alpha1.IntegrationKit, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.IntegrationKit, error) + List(opts v1.ListOptions) (*v1alpha1.IntegrationKitList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.IntegrationKit, err error) + IntegrationKitExpansion +} + +// integrationKits implements IntegrationKitInterface +type integrationKits struct { + client rest.Interface + ns string +} + +// newIntegrationKits returns a IntegrationKits +func newIntegrationKits(c *CamelV1alpha1Client, namespace string) *integrationKits { + return &integrationKits{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the integrationKit, and returns the corresponding integrationKit object, and an error if there is any. +func (c *integrationKits) Get(name string, options v1.GetOptions) (result *v1alpha1.IntegrationKit, err error) { + result = &v1alpha1.IntegrationKit{} + err = c.client.Get(). + Namespace(c.ns). + Resource("integrationkits"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of IntegrationKits that match those selectors. +func (c *integrationKits) List(opts v1.ListOptions) (result *v1alpha1.IntegrationKitList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.IntegrationKitList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("integrationkits"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested integrationKits. +func (c *integrationKits) 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("integrationkits"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a integrationKit and creates it. Returns the server's representation of the integrationKit, and an error, if there is any. +func (c *integrationKits) Create(integrationKit *v1alpha1.IntegrationKit) (result *v1alpha1.IntegrationKit, err error) { + result = &v1alpha1.IntegrationKit{} + err = c.client.Post(). + Namespace(c.ns). + Resource("integrationkits"). + Body(integrationKit). + Do(). + Into(result) + return +} + +// Update takes the representation of a integrationKit and updates it. Returns the server's representation of the integrationKit, and an error, if there is any. +func (c *integrationKits) Update(integrationKit *v1alpha1.IntegrationKit) (result *v1alpha1.IntegrationKit, err error) { + result = &v1alpha1.IntegrationKit{} + err = c.client.Put(). + Namespace(c.ns). + Resource("integrationkits"). + Name(integrationKit.Name). + Body(integrationKit). + 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 *integrationKits) UpdateStatus(integrationKit *v1alpha1.IntegrationKit) (result *v1alpha1.IntegrationKit, err error) { + result = &v1alpha1.IntegrationKit{} + err = c.client.Put(). + Namespace(c.ns). + Resource("integrationkits"). + Name(integrationKit.Name). + SubResource("status"). + Body(integrationKit). + Do(). + Into(result) + return +} + +// Delete takes name of the integrationKit and deletes it. Returns an error if one occurs. +func (c *integrationKits) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("integrationkits"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *integrationKits) 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("integrationkits"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched integrationKit. +func (c *integrationKits) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.IntegrationKit, err error) { + result = &v1alpha1.IntegrationKit{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("integrationkits"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/camel/v1alpha1/integrationplatform.go b/pkg/client/clientset/versioned/typed/camel/v1alpha1/integrationplatform.go new file mode 100644 index 0000000000..586b602f39 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/camel/v1alpha1/integrationplatform.go @@ -0,0 +1,192 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "time" + + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + scheme "github.com/apache/camel-k/pkg/client/clientset/versioned/scheme" + 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" +) + +// IntegrationPlatformsGetter has a method to return a IntegrationPlatformInterface. +// A group's client should implement this interface. +type IntegrationPlatformsGetter interface { + IntegrationPlatforms(namespace string) IntegrationPlatformInterface +} + +// IntegrationPlatformInterface has methods to work with IntegrationPlatform resources. +type IntegrationPlatformInterface interface { + Create(*v1alpha1.IntegrationPlatform) (*v1alpha1.IntegrationPlatform, error) + Update(*v1alpha1.IntegrationPlatform) (*v1alpha1.IntegrationPlatform, error) + UpdateStatus(*v1alpha1.IntegrationPlatform) (*v1alpha1.IntegrationPlatform, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.IntegrationPlatform, error) + List(opts v1.ListOptions) (*v1alpha1.IntegrationPlatformList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.IntegrationPlatform, err error) + IntegrationPlatformExpansion +} + +// integrationPlatforms implements IntegrationPlatformInterface +type integrationPlatforms struct { + client rest.Interface + ns string +} + +// newIntegrationPlatforms returns a IntegrationPlatforms +func newIntegrationPlatforms(c *CamelV1alpha1Client, namespace string) *integrationPlatforms { + return &integrationPlatforms{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the integrationPlatform, and returns the corresponding integrationPlatform object, and an error if there is any. +func (c *integrationPlatforms) Get(name string, options v1.GetOptions) (result *v1alpha1.IntegrationPlatform, err error) { + result = &v1alpha1.IntegrationPlatform{} + err = c.client.Get(). + Namespace(c.ns). + Resource("integrationplatforms"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of IntegrationPlatforms that match those selectors. +func (c *integrationPlatforms) List(opts v1.ListOptions) (result *v1alpha1.IntegrationPlatformList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.IntegrationPlatformList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("integrationplatforms"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested integrationPlatforms. +func (c *integrationPlatforms) 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("integrationplatforms"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch() +} + +// Create takes the representation of a integrationPlatform and creates it. Returns the server's representation of the integrationPlatform, and an error, if there is any. +func (c *integrationPlatforms) Create(integrationPlatform *v1alpha1.IntegrationPlatform) (result *v1alpha1.IntegrationPlatform, err error) { + result = &v1alpha1.IntegrationPlatform{} + err = c.client.Post(). + Namespace(c.ns). + Resource("integrationplatforms"). + Body(integrationPlatform). + Do(). + Into(result) + return +} + +// Update takes the representation of a integrationPlatform and updates it. Returns the server's representation of the integrationPlatform, and an error, if there is any. +func (c *integrationPlatforms) Update(integrationPlatform *v1alpha1.IntegrationPlatform) (result *v1alpha1.IntegrationPlatform, err error) { + result = &v1alpha1.IntegrationPlatform{} + err = c.client.Put(). + Namespace(c.ns). + Resource("integrationplatforms"). + Name(integrationPlatform.Name). + Body(integrationPlatform). + 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 *integrationPlatforms) UpdateStatus(integrationPlatform *v1alpha1.IntegrationPlatform) (result *v1alpha1.IntegrationPlatform, err error) { + result = &v1alpha1.IntegrationPlatform{} + err = c.client.Put(). + Namespace(c.ns). + Resource("integrationplatforms"). + Name(integrationPlatform.Name). + SubResource("status"). + Body(integrationPlatform). + Do(). + Into(result) + return +} + +// Delete takes name of the integrationPlatform and deletes it. Returns an error if one occurs. +func (c *integrationPlatforms) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("integrationplatforms"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *integrationPlatforms) 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("integrationplatforms"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Timeout(timeout). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched integrationPlatform. +func (c *integrationPlatforms) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.IntegrationPlatform, err error) { + result = &v1alpha1.IntegrationPlatform{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("integrationplatforms"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/pkg/client/informers/externalversions/camel/interface.go b/pkg/client/informers/externalversions/camel/interface.go new file mode 100644 index 0000000000..a6992b38d6 --- /dev/null +++ b/pkg/client/informers/externalversions/camel/interface.go @@ -0,0 +1,47 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package camel + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/client/informers/externalversions/camel/v1alpha1" + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/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/pkg/client/informers/externalversions/camel/v1alpha1/build.go b/pkg/client/informers/externalversions/camel/v1alpha1/build.go new file mode 100644 index 0000000000..fa2c2f20b9 --- /dev/null +++ b/pkg/client/informers/externalversions/camel/v1alpha1/build.go @@ -0,0 +1,90 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + versioned "github.com/apache/camel-k/pkg/client/clientset/versioned" + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/apache/camel-k/pkg/client/listers/camel/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" +) + +// BuildInformer provides access to a shared informer and lister for +// Builds. +type BuildInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.BuildLister +} + +type buildInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewBuildInformer constructs a new informer for Build 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 NewBuildInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredBuildInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredBuildInformer constructs a new informer for Build 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 NewFilteredBuildInformer(client versioned.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.CamelV1alpha1().Builds(namespace).List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.CamelV1alpha1().Builds(namespace).Watch(options) + }, + }, + &camelv1alpha1.Build{}, + resyncPeriod, + indexers, + ) +} + +func (f *buildInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredBuildInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *buildInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&camelv1alpha1.Build{}, f.defaultInformer) +} + +func (f *buildInformer) Lister() v1alpha1.BuildLister { + return v1alpha1.NewBuildLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/camel/v1alpha1/integration.go b/pkg/client/informers/externalversions/camel/v1alpha1/integration.go new file mode 100644 index 0000000000..6523ad31f5 --- /dev/null +++ b/pkg/client/informers/externalversions/camel/v1alpha1/integration.go @@ -0,0 +1,90 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + versioned "github.com/apache/camel-k/pkg/client/clientset/versioned" + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/apache/camel-k/pkg/client/listers/camel/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" +) + +// IntegrationInformer provides access to a shared informer and lister for +// Integrations. +type IntegrationInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.IntegrationLister +} + +type integrationInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewIntegrationInformer constructs a new informer for Integration 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 NewIntegrationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredIntegrationInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredIntegrationInformer constructs a new informer for Integration 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 NewFilteredIntegrationInformer(client versioned.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.CamelV1alpha1().Integrations(namespace).List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.CamelV1alpha1().Integrations(namespace).Watch(options) + }, + }, + &camelv1alpha1.Integration{}, + resyncPeriod, + indexers, + ) +} + +func (f *integrationInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredIntegrationInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *integrationInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&camelv1alpha1.Integration{}, f.defaultInformer) +} + +func (f *integrationInformer) Lister() v1alpha1.IntegrationLister { + return v1alpha1.NewIntegrationLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/camel/v1alpha1/integrationkit.go b/pkg/client/informers/externalversions/camel/v1alpha1/integrationkit.go new file mode 100644 index 0000000000..a15951d875 --- /dev/null +++ b/pkg/client/informers/externalversions/camel/v1alpha1/integrationkit.go @@ -0,0 +1,90 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + versioned "github.com/apache/camel-k/pkg/client/clientset/versioned" + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/apache/camel-k/pkg/client/listers/camel/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" +) + +// IntegrationKitInformer provides access to a shared informer and lister for +// IntegrationKits. +type IntegrationKitInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.IntegrationKitLister +} + +type integrationKitInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewIntegrationKitInformer constructs a new informer for IntegrationKit 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 NewIntegrationKitInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredIntegrationKitInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredIntegrationKitInformer constructs a new informer for IntegrationKit 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 NewFilteredIntegrationKitInformer(client versioned.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.CamelV1alpha1().IntegrationKits(namespace).List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.CamelV1alpha1().IntegrationKits(namespace).Watch(options) + }, + }, + &camelv1alpha1.IntegrationKit{}, + resyncPeriod, + indexers, + ) +} + +func (f *integrationKitInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredIntegrationKitInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *integrationKitInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&camelv1alpha1.IntegrationKit{}, f.defaultInformer) +} + +func (f *integrationKitInformer) Lister() v1alpha1.IntegrationKitLister { + return v1alpha1.NewIntegrationKitLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/camel/v1alpha1/integrationplatform.go b/pkg/client/informers/externalversions/camel/v1alpha1/integrationplatform.go new file mode 100644 index 0000000000..f2ef2421de --- /dev/null +++ b/pkg/client/informers/externalversions/camel/v1alpha1/integrationplatform.go @@ -0,0 +1,90 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + versioned "github.com/apache/camel-k/pkg/client/clientset/versioned" + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/apache/camel-k/pkg/client/listers/camel/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" +) + +// IntegrationPlatformInformer provides access to a shared informer and lister for +// IntegrationPlatforms. +type IntegrationPlatformInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.IntegrationPlatformLister +} + +type integrationPlatformInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewIntegrationPlatformInformer constructs a new informer for IntegrationPlatform 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 NewIntegrationPlatformInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredIntegrationPlatformInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredIntegrationPlatformInformer constructs a new informer for IntegrationPlatform 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 NewFilteredIntegrationPlatformInformer(client versioned.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.CamelV1alpha1().IntegrationPlatforms(namespace).List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.CamelV1alpha1().IntegrationPlatforms(namespace).Watch(options) + }, + }, + &camelv1alpha1.IntegrationPlatform{}, + resyncPeriod, + indexers, + ) +} + +func (f *integrationPlatformInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredIntegrationPlatformInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *integrationPlatformInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&camelv1alpha1.IntegrationPlatform{}, f.defaultInformer) +} + +func (f *integrationPlatformInformer) Lister() v1alpha1.IntegrationPlatformLister { + return v1alpha1.NewIntegrationPlatformLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/camel/v1alpha1/interface.go b/pkg/client/informers/externalversions/camel/v1alpha1/interface.go new file mode 100644 index 0000000000..90d9282f0e --- /dev/null +++ b/pkg/client/informers/externalversions/camel/v1alpha1/interface.go @@ -0,0 +1,67 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Builds returns a BuildInformer. + Builds() BuildInformer + // Integrations returns a IntegrationInformer. + Integrations() IntegrationInformer + // IntegrationKits returns a IntegrationKitInformer. + IntegrationKits() IntegrationKitInformer + // IntegrationPlatforms returns a IntegrationPlatformInformer. + IntegrationPlatforms() IntegrationPlatformInformer +} + +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} +} + +// Builds returns a BuildInformer. +func (v *version) Builds() BuildInformer { + return &buildInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// Integrations returns a IntegrationInformer. +func (v *version) Integrations() IntegrationInformer { + return &integrationInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// IntegrationKits returns a IntegrationKitInformer. +func (v *version) IntegrationKits() IntegrationKitInformer { + return &integrationKitInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// IntegrationPlatforms returns a IntegrationPlatformInformer. +func (v *version) IntegrationPlatforms() IntegrationPlatformInformer { + return &integrationPlatformInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/pkg/client/informers/externalversions/factory.go b/pkg/client/informers/externalversions/factory.go new file mode 100644 index 0000000000..b6358b1919 --- /dev/null +++ b/pkg/client/informers/externalversions/factory.go @@ -0,0 +1,181 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/apache/camel-k/pkg/client/clientset/versioned" + camel "github.com/apache/camel-k/pkg/client/informers/externalversions/camel" + internalinterfaces "github.com/apache/camel-k/pkg/client/informers/externalversions/internalinterfaces" + 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 versioned.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 versioned.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 versioned.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 versioned.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 + + Camel() camel.Interface +} + +func (f *sharedInformerFactory) Camel() camel.Interface { + return camel.New(f, f.namespace, f.tweakListOptions) +} diff --git a/pkg/client/informers/externalversions/generic.go b/pkg/client/informers/externalversions/generic.go new file mode 100644 index 0000000000..d40015c2b3 --- /dev/null +++ b/pkg/client/informers/externalversions/generic.go @@ -0,0 +1,69 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + 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 +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// 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) (GenericInformer, error) { + switch resource { + // Group=camel.apache.org, Version=v1alpha1 + case v1alpha1.SchemeGroupVersion.WithResource("builds"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Camel().V1alpha1().Builds().Informer()}, nil + case v1alpha1.SchemeGroupVersion.WithResource("integrations"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Camel().V1alpha1().Integrations().Informer()}, nil + case v1alpha1.SchemeGroupVersion.WithResource("integrationkits"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Camel().V1alpha1().IntegrationKits().Informer()}, nil + case v1alpha1.SchemeGroupVersion.WithResource("integrationplatforms"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Camel().V1alpha1().IntegrationPlatforms().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 0000000000..b991ea6e7c --- /dev/null +++ b/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,41 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/apache/camel-k/pkg/client/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +// NewInformerFunc takes versioned.Interface and time.Duration to return a SharedIndexInformer. +type NewInformerFunc func(versioned.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/pkg/client/listers/camel/v1alpha1/build.go b/pkg/client/listers/camel/v1alpha1/build.go new file mode 100644 index 0000000000..430b744dda --- /dev/null +++ b/pkg/client/listers/camel/v1alpha1/build.go @@ -0,0 +1,95 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// BuildLister helps list Builds. +type BuildLister interface { + // List lists all Builds in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.Build, err error) + // Builds returns an object that can list and get Builds. + Builds(namespace string) BuildNamespaceLister + BuildListerExpansion +} + +// buildLister implements the BuildLister interface. +type buildLister struct { + indexer cache.Indexer +} + +// NewBuildLister returns a new BuildLister. +func NewBuildLister(indexer cache.Indexer) BuildLister { + return &buildLister{indexer: indexer} +} + +// List lists all Builds in the indexer. +func (s *buildLister) List(selector labels.Selector) (ret []*v1alpha1.Build, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.Build)) + }) + return ret, err +} + +// Builds returns an object that can list and get Builds. +func (s *buildLister) Builds(namespace string) BuildNamespaceLister { + return buildNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// BuildNamespaceLister helps list and get Builds. +type BuildNamespaceLister interface { + // List lists all Builds in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1alpha1.Build, err error) + // Get retrieves the Build from the indexer for a given namespace and name. + Get(name string) (*v1alpha1.Build, error) + BuildNamespaceListerExpansion +} + +// buildNamespaceLister implements the BuildNamespaceLister +// interface. +type buildNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Builds in the indexer for a given namespace. +func (s buildNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.Build, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.Build)) + }) + return ret, err +} + +// Get retrieves the Build from the indexer for a given namespace and name. +func (s buildNamespaceLister) Get(name string) (*v1alpha1.Build, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("build"), name) + } + return obj.(*v1alpha1.Build), nil +} diff --git a/pkg/client/listers/camel/v1alpha1/expansion_generated.go b/pkg/client/listers/camel/v1alpha1/expansion_generated.go new file mode 100644 index 0000000000..cd544149bc --- /dev/null +++ b/pkg/client/listers/camel/v1alpha1/expansion_generated.go @@ -0,0 +1,52 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +// BuildListerExpansion allows custom methods to be added to +// BuildLister. +type BuildListerExpansion interface{} + +// BuildNamespaceListerExpansion allows custom methods to be added to +// BuildNamespaceLister. +type BuildNamespaceListerExpansion interface{} + +// IntegrationListerExpansion allows custom methods to be added to +// IntegrationLister. +type IntegrationListerExpansion interface{} + +// IntegrationNamespaceListerExpansion allows custom methods to be added to +// IntegrationNamespaceLister. +type IntegrationNamespaceListerExpansion interface{} + +// IntegrationKitListerExpansion allows custom methods to be added to +// IntegrationKitLister. +type IntegrationKitListerExpansion interface{} + +// IntegrationKitNamespaceListerExpansion allows custom methods to be added to +// IntegrationKitNamespaceLister. +type IntegrationKitNamespaceListerExpansion interface{} + +// IntegrationPlatformListerExpansion allows custom methods to be added to +// IntegrationPlatformLister. +type IntegrationPlatformListerExpansion interface{} + +// IntegrationPlatformNamespaceListerExpansion allows custom methods to be added to +// IntegrationPlatformNamespaceLister. +type IntegrationPlatformNamespaceListerExpansion interface{} diff --git a/pkg/client/listers/camel/v1alpha1/integration.go b/pkg/client/listers/camel/v1alpha1/integration.go new file mode 100644 index 0000000000..d66e0b382c --- /dev/null +++ b/pkg/client/listers/camel/v1alpha1/integration.go @@ -0,0 +1,95 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// IntegrationLister helps list Integrations. +type IntegrationLister interface { + // List lists all Integrations in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.Integration, err error) + // Integrations returns an object that can list and get Integrations. + Integrations(namespace string) IntegrationNamespaceLister + IntegrationListerExpansion +} + +// integrationLister implements the IntegrationLister interface. +type integrationLister struct { + indexer cache.Indexer +} + +// NewIntegrationLister returns a new IntegrationLister. +func NewIntegrationLister(indexer cache.Indexer) IntegrationLister { + return &integrationLister{indexer: indexer} +} + +// List lists all Integrations in the indexer. +func (s *integrationLister) List(selector labels.Selector) (ret []*v1alpha1.Integration, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.Integration)) + }) + return ret, err +} + +// Integrations returns an object that can list and get Integrations. +func (s *integrationLister) Integrations(namespace string) IntegrationNamespaceLister { + return integrationNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// IntegrationNamespaceLister helps list and get Integrations. +type IntegrationNamespaceLister interface { + // List lists all Integrations in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1alpha1.Integration, err error) + // Get retrieves the Integration from the indexer for a given namespace and name. + Get(name string) (*v1alpha1.Integration, error) + IntegrationNamespaceListerExpansion +} + +// integrationNamespaceLister implements the IntegrationNamespaceLister +// interface. +type integrationNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Integrations in the indexer for a given namespace. +func (s integrationNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.Integration, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.Integration)) + }) + return ret, err +} + +// Get retrieves the Integration from the indexer for a given namespace and name. +func (s integrationNamespaceLister) Get(name string) (*v1alpha1.Integration, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("integration"), name) + } + return obj.(*v1alpha1.Integration), nil +} diff --git a/pkg/client/listers/camel/v1alpha1/integrationkit.go b/pkg/client/listers/camel/v1alpha1/integrationkit.go new file mode 100644 index 0000000000..6ca685337b --- /dev/null +++ b/pkg/client/listers/camel/v1alpha1/integrationkit.go @@ -0,0 +1,95 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// IntegrationKitLister helps list IntegrationKits. +type IntegrationKitLister interface { + // List lists all IntegrationKits in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.IntegrationKit, err error) + // IntegrationKits returns an object that can list and get IntegrationKits. + IntegrationKits(namespace string) IntegrationKitNamespaceLister + IntegrationKitListerExpansion +} + +// integrationKitLister implements the IntegrationKitLister interface. +type integrationKitLister struct { + indexer cache.Indexer +} + +// NewIntegrationKitLister returns a new IntegrationKitLister. +func NewIntegrationKitLister(indexer cache.Indexer) IntegrationKitLister { + return &integrationKitLister{indexer: indexer} +} + +// List lists all IntegrationKits in the indexer. +func (s *integrationKitLister) List(selector labels.Selector) (ret []*v1alpha1.IntegrationKit, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.IntegrationKit)) + }) + return ret, err +} + +// IntegrationKits returns an object that can list and get IntegrationKits. +func (s *integrationKitLister) IntegrationKits(namespace string) IntegrationKitNamespaceLister { + return integrationKitNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// IntegrationKitNamespaceLister helps list and get IntegrationKits. +type IntegrationKitNamespaceLister interface { + // List lists all IntegrationKits in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1alpha1.IntegrationKit, err error) + // Get retrieves the IntegrationKit from the indexer for a given namespace and name. + Get(name string) (*v1alpha1.IntegrationKit, error) + IntegrationKitNamespaceListerExpansion +} + +// integrationKitNamespaceLister implements the IntegrationKitNamespaceLister +// interface. +type integrationKitNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all IntegrationKits in the indexer for a given namespace. +func (s integrationKitNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.IntegrationKit, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.IntegrationKit)) + }) + return ret, err +} + +// Get retrieves the IntegrationKit from the indexer for a given namespace and name. +func (s integrationKitNamespaceLister) Get(name string) (*v1alpha1.IntegrationKit, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("integrationkit"), name) + } + return obj.(*v1alpha1.IntegrationKit), nil +} diff --git a/pkg/client/listers/camel/v1alpha1/integrationplatform.go b/pkg/client/listers/camel/v1alpha1/integrationplatform.go new file mode 100644 index 0000000000..386d651033 --- /dev/null +++ b/pkg/client/listers/camel/v1alpha1/integrationplatform.go @@ -0,0 +1,95 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// IntegrationPlatformLister helps list IntegrationPlatforms. +type IntegrationPlatformLister interface { + // List lists all IntegrationPlatforms in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.IntegrationPlatform, err error) + // IntegrationPlatforms returns an object that can list and get IntegrationPlatforms. + IntegrationPlatforms(namespace string) IntegrationPlatformNamespaceLister + IntegrationPlatformListerExpansion +} + +// integrationPlatformLister implements the IntegrationPlatformLister interface. +type integrationPlatformLister struct { + indexer cache.Indexer +} + +// NewIntegrationPlatformLister returns a new IntegrationPlatformLister. +func NewIntegrationPlatformLister(indexer cache.Indexer) IntegrationPlatformLister { + return &integrationPlatformLister{indexer: indexer} +} + +// List lists all IntegrationPlatforms in the indexer. +func (s *integrationPlatformLister) List(selector labels.Selector) (ret []*v1alpha1.IntegrationPlatform, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.IntegrationPlatform)) + }) + return ret, err +} + +// IntegrationPlatforms returns an object that can list and get IntegrationPlatforms. +func (s *integrationPlatformLister) IntegrationPlatforms(namespace string) IntegrationPlatformNamespaceLister { + return integrationPlatformNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// IntegrationPlatformNamespaceLister helps list and get IntegrationPlatforms. +type IntegrationPlatformNamespaceLister interface { + // List lists all IntegrationPlatforms in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1alpha1.IntegrationPlatform, err error) + // Get retrieves the IntegrationPlatform from the indexer for a given namespace and name. + Get(name string) (*v1alpha1.IntegrationPlatform, error) + IntegrationPlatformNamespaceListerExpansion +} + +// integrationPlatformNamespaceLister implements the IntegrationPlatformNamespaceLister +// interface. +type integrationPlatformNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all IntegrationPlatforms in the indexer for a given namespace. +func (s integrationPlatformNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.IntegrationPlatform, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.IntegrationPlatform)) + }) + return ret, err +} + +// Get retrieves the IntegrationPlatform from the indexer for a given namespace and name. +func (s integrationPlatformNamespaceLister) Get(name string) (*v1alpha1.IntegrationPlatform, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("integrationplatform"), name) + } + return obj.(*v1alpha1.IntegrationPlatform), nil +} diff --git a/script/Makefile b/script/Makefile index ff39f9ee1d..ed86f6bc26 100644 --- a/script/Makefile +++ b/script/Makefile @@ -121,7 +121,12 @@ codegen: @echo "" >> $(VERSIONFILE) gofmt -w pkg/util/defaults/defaults.go -generate: +generate: generate-deepcopy generate-client + +generate-client: + ./script/gen_client.sh + +generate-deepcopy: operator-sdk generate k8s build: build-kamel build-compile-integration-tests @@ -229,4 +234,4 @@ install-minikube: release-notes: ./script/gen_release_notes.sh $(LAST_RELEASED_VERSION) $(VERSION) -.PHONY: build build-kamel build-resources build-olm unsnapshot-olm dep codegen images images-dec images-push images-push-staging test check test-integration clean release cross-compile package-examples set-version git-tag release-notes check-licenses +.PHONY: build build-kamel build-resources build-olm unsnapshot-olm dep codegen images images-dec images-push images-push-staging test check test-integration clean release cross-compile package-examples set-version git-tag release-notes check-licenses generate-deepcopy generate-client diff --git a/script/gen_client.sh b/script/gen_client.sh new file mode 100755 index 0000000000..fb165288cc --- /dev/null +++ b/script/gen_client.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +location=$(dirname $0) +rootdir=$location/.. + +unset GOPATH +GO111MODULE=on + +go run k8s.io/code-generator/cmd/client-gen \ + --input=camel/v1alpha1 \ + --go-header-file=$rootdir/script/headers/default.txt \ + --clientset-name "versioned" \ + --input-base=github.com/apache/camel-k/pkg/apis \ + --output-base=$rootdir \ + --output-package=github.com/apache/camel-k/pkg/client/clientset + + +go run k8s.io/code-generator/cmd/lister-gen \ + --input-dirs=github.com/apache/camel-k/pkg/apis/camel/v1alpha1 \ + --go-header-file=$rootdir/script/headers/default.txt \ + --output-base=$rootdir \ + --output-package=github.com/apache/camel-k/pkg/client/listers + +go run k8s.io/code-generator/cmd/informer-gen \ + --versioned-clientset-package=github.com/apache/camel-k/pkg/client/clientset/versioned \ + --listers-package=github.com/apache/camel-k/pkg/client/listers \ + --input-dirs=github.com/apache/camel-k/pkg/apis/camel/v1alpha1 \ + --go-header-file=$rootdir/script/headers/default.txt \ + --output-base=$rootdir \ + --output-package=github.com/apache/camel-k/pkg/client/informers + + +# hack to fix non go-module compliance +cp -R $rootdir/github.com/apache/camel-k/pkg/ $rootdir +rm -rf $rootdir/github.com