Add Generated code for CRD 99/68499/3
authorRitu Sood <ritu.sood@intel.com>
Sat, 21 Sep 2019 14:12:37 +0000 (07:12 -0700)
committerRitu Sood <ritu.sood@intel.com>
Fri, 27 Sep 2019 21:37:50 +0000 (14:37 -0700)
Adding generated code for Network
and Provider Network CRD.

Change-Id: Iff21107807ba1b5d5aafc3a756edc38c70003332
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
27 files changed:
pkg/apis/k8s/v1alpha1/register.go
pkg/generated/clientset/versioned/clientset.go [new file with mode: 0644]
pkg/generated/clientset/versioned/doc.go [new file with mode: 0644]
pkg/generated/clientset/versioned/fake/clientset_generated.go [new file with mode: 0644]
pkg/generated/clientset/versioned/fake/doc.go [new file with mode: 0644]
pkg/generated/clientset/versioned/fake/register.go [new file with mode: 0644]
pkg/generated/clientset/versioned/scheme/doc.go [new file with mode: 0644]
pkg/generated/clientset/versioned/scheme/register.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/doc.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/doc.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_k8s_client.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_network.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_providernetwork.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/generated_expansion.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/k8s_client.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/network.go [new file with mode: 0644]
pkg/generated/clientset/versioned/typed/k8s/v1alpha1/providernetwork.go [new file with mode: 0644]
pkg/generated/informers/externalversions/factory.go [new file with mode: 0644]
pkg/generated/informers/externalversions/generic.go [new file with mode: 0644]
pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go [new file with mode: 0644]
pkg/generated/informers/externalversions/k8s/interface.go [new file with mode: 0644]
pkg/generated/informers/externalversions/k8s/v1alpha1/interface.go [new file with mode: 0644]
pkg/generated/informers/externalversions/k8s/v1alpha1/network.go [new file with mode: 0644]
pkg/generated/informers/externalversions/k8s/v1alpha1/providernetwork.go [new file with mode: 0644]
pkg/generated/listers/k8s/v1alpha1/expansion_generated.go [new file with mode: 0644]
pkg/generated/listers/k8s/v1alpha1/network.go [new file with mode: 0644]
pkg/generated/listers/k8s/v1alpha1/providernetwork.go [new file with mode: 0644]

index b65f347..81d8db8 100644 (file)
@@ -16,4 +16,13 @@ var (
 
        // SchemeBuilder is used to add go types to the GroupVersionKind scheme
        SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
+
+       // AddToScheme is a global function variable that registers this API
+       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/generated/clientset/versioned/clientset.go b/pkg/generated/clientset/versioned/clientset.go
new file mode 100644 (file)
index 0000000..048f080
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package versioned
+
+import (
+       "fmt"
+       k8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/typed/k8s/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
+       K8sV1alpha1() k8sv1alpha1.K8sV1alpha1Interface
+}
+
+// Clientset contains the clients for groups. Each group has exactly one
+// version included in a Clientset.
+type Clientset struct {
+       *discovery.DiscoveryClient
+       k8sV1alpha1 *k8sv1alpha1.K8sV1alpha1Client
+}
+
+// K8sV1alpha1 retrieves the K8sV1alpha1Client
+func (c *Clientset) K8sV1alpha1() k8sv1alpha1.K8sV1alpha1Interface {
+       return c.k8sV1alpha1
+}
+
+// Discovery retrieves the DiscoveryClient
+func (c *Clientset) Discovery() discovery.DiscoveryInterface {
+       if c == nil {
+               return nil
+       }
+       return c.DiscoveryClient
+}
+
+// NewForConfig creates a new Clientset for the given config.
+// If config's RateLimiter is not set and QPS and Burst are acceptable,
+// NewForConfig will generate a rate-limiter in configShallowCopy.
+func NewForConfig(c *rest.Config) (*Clientset, error) {
+       configShallowCopy := *c
+       if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
+               if configShallowCopy.Burst <= 0 {
+                       return nil, fmt.Errorf("Burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0")
+               }
+               configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
+       }
+       var cs Clientset
+       var err error
+       cs.k8sV1alpha1, err = k8sv1alpha1.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.k8sV1alpha1 = k8sv1alpha1.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.k8sV1alpha1 = k8sv1alpha1.New(c)
+
+       cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
+       return &cs
+}
diff --git a/pkg/generated/clientset/versioned/doc.go b/pkg/generated/clientset/versioned/doc.go
new file mode 100644 (file)
index 0000000..41721ca
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+// This package has the automatically generated clientset.
+package versioned
diff --git a/pkg/generated/clientset/versioned/fake/clientset_generated.go b/pkg/generated/clientset/versioned/fake/clientset_generated.go
new file mode 100644 (file)
index 0000000..3db1acb
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package fake
+
+import (
+       clientset "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned"
+       k8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/typed/k8s/v1alpha1"
+       fakek8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/typed/k8s/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{}
+
+// K8sV1alpha1 retrieves the K8sV1alpha1Client
+func (c *Clientset) K8sV1alpha1() k8sv1alpha1.K8sV1alpha1Interface {
+       return &fakek8sv1alpha1.FakeK8sV1alpha1{Fake: &c.Fake}
+}
diff --git a/pkg/generated/clientset/versioned/fake/doc.go b/pkg/generated/clientset/versioned/fake/doc.go
new file mode 100644 (file)
index 0000000..9b99e71
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+// This package has the automatically generated fake clientset.
+package fake
diff --git a/pkg/generated/clientset/versioned/fake/register.go b/pkg/generated/clientset/versioned/fake/register.go
new file mode 100644 (file)
index 0000000..808b10a
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package fake
+
+import (
+       k8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/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{
+       k8sv1alpha1.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/generated/clientset/versioned/scheme/doc.go b/pkg/generated/clientset/versioned/scheme/doc.go
new file mode 100644 (file)
index 0000000..7dc3756
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+// This package contains the scheme of the automatically generated clientset.
+package scheme
diff --git a/pkg/generated/clientset/versioned/scheme/register.go b/pkg/generated/clientset/versioned/scheme/register.go
new file mode 100644 (file)
index 0000000..6fdbbb6
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package scheme
+
+import (
+       k8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/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{
+       k8sv1alpha1.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/generated/clientset/versioned/typed/k8s/v1alpha1/doc.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/doc.go
new file mode 100644 (file)
index 0000000..df51baa
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+// This package has the automatically generated typed clients.
+package v1alpha1
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/doc.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/doc.go
new file mode 100644 (file)
index 0000000..16f4439
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+// Package fake has the automatically generated clients.
+package fake
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_k8s_client.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_k8s_client.go
new file mode 100644 (file)
index 0000000..da5a09a
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package fake
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/typed/k8s/v1alpha1"
+
+       rest "k8s.io/client-go/rest"
+       testing "k8s.io/client-go/testing"
+)
+
+type FakeK8sV1alpha1 struct {
+       *testing.Fake
+}
+
+func (c *FakeK8sV1alpha1) Networks(namespace string) v1alpha1.NetworkInterface {
+       return &FakeNetworks{c, namespace}
+}
+
+func (c *FakeK8sV1alpha1) ProviderNetworks(namespace string) v1alpha1.ProviderNetworkInterface {
+       return &FakeProviderNetworks{c, namespace}
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *FakeK8sV1alpha1) RESTClient() rest.Interface {
+       var ret *rest.RESTClient
+       return ret
+}
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_network.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_network.go
new file mode 100644 (file)
index 0000000..960c00d
--- /dev/null
@@ -0,0 +1,141 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package fake
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/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"
+)
+
+// FakeNetworks implements NetworkInterface
+type FakeNetworks struct {
+       Fake *FakeK8sV1alpha1
+       ns   string
+}
+
+var networksResource = schema.GroupVersionResource{Group: "k8s.plugin.opnfv.org", Version: "v1alpha1", Resource: "networks"}
+
+var networksKind = schema.GroupVersionKind{Group: "k8s.plugin.opnfv.org", Version: "v1alpha1", Kind: "Network"}
+
+// Get takes name of the network, and returns the corresponding network object, and an error if there is any.
+func (c *FakeNetworks) Get(name string, options v1.GetOptions) (result *v1alpha1.Network, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewGetAction(networksResource, c.ns, name), &v1alpha1.Network{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Network), err
+}
+
+// List takes label and field selectors, and returns the list of Networks that match those selectors.
+func (c *FakeNetworks) List(opts v1.ListOptions) (result *v1alpha1.NetworkList, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewListAction(networksResource, networksKind, c.ns, opts), &v1alpha1.NetworkList{})
+
+       if obj == nil {
+               return nil, err
+       }
+
+       label, _, _ := testing.ExtractFromListOptions(opts)
+       if label == nil {
+               label = labels.Everything()
+       }
+       list := &v1alpha1.NetworkList{ListMeta: obj.(*v1alpha1.NetworkList).ListMeta}
+       for _, item := range obj.(*v1alpha1.NetworkList).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 networks.
+func (c *FakeNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+       return c.Fake.
+               InvokesWatch(testing.NewWatchAction(networksResource, c.ns, opts))
+
+}
+
+// Create takes the representation of a network and creates it.  Returns the server's representation of the network, and an error, if there is any.
+func (c *FakeNetworks) Create(network *v1alpha1.Network) (result *v1alpha1.Network, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewCreateAction(networksResource, c.ns, network), &v1alpha1.Network{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Network), err
+}
+
+// Update takes the representation of a network and updates it. Returns the server's representation of the network, and an error, if there is any.
+func (c *FakeNetworks) Update(network *v1alpha1.Network) (result *v1alpha1.Network, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateAction(networksResource, c.ns, network), &v1alpha1.Network{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Network), 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 *FakeNetworks) UpdateStatus(network *v1alpha1.Network) (*v1alpha1.Network, error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateSubresourceAction(networksResource, "status", c.ns, network), &v1alpha1.Network{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Network), err
+}
+
+// Delete takes name of the network and deletes it. Returns an error if one occurs.
+func (c *FakeNetworks) Delete(name string, options *v1.DeleteOptions) error {
+       _, err := c.Fake.
+               Invokes(testing.NewDeleteAction(networksResource, c.ns, name), &v1alpha1.Network{})
+
+       return err
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *FakeNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+       action := testing.NewDeleteCollectionAction(networksResource, c.ns, listOptions)
+
+       _, err := c.Fake.Invokes(action, &v1alpha1.NetworkList{})
+       return err
+}
+
+// Patch applies the patch and returns the patched network.
+func (c *FakeNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Network, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewPatchSubresourceAction(networksResource, c.ns, name, pt, data, subresources...), &v1alpha1.Network{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Network), err
+}
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_providernetwork.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/fake/fake_providernetwork.go
new file mode 100644 (file)
index 0000000..18675ea
--- /dev/null
@@ -0,0 +1,141 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package fake
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/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"
+)
+
+// FakeProviderNetworks implements ProviderNetworkInterface
+type FakeProviderNetworks struct {
+       Fake *FakeK8sV1alpha1
+       ns   string
+}
+
+var providernetworksResource = schema.GroupVersionResource{Group: "k8s.plugin.opnfv.org", Version: "v1alpha1", Resource: "providernetworks"}
+
+var providernetworksKind = schema.GroupVersionKind{Group: "k8s.plugin.opnfv.org", Version: "v1alpha1", Kind: "ProviderNetwork"}
+
+// Get takes name of the providerNetwork, and returns the corresponding providerNetwork object, and an error if there is any.
+func (c *FakeProviderNetworks) Get(name string, options v1.GetOptions) (result *v1alpha1.ProviderNetwork, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewGetAction(providernetworksResource, c.ns, name), &v1alpha1.ProviderNetwork{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.ProviderNetwork), err
+}
+
+// List takes label and field selectors, and returns the list of ProviderNetworks that match those selectors.
+func (c *FakeProviderNetworks) List(opts v1.ListOptions) (result *v1alpha1.ProviderNetworkList, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewListAction(providernetworksResource, providernetworksKind, c.ns, opts), &v1alpha1.ProviderNetworkList{})
+
+       if obj == nil {
+               return nil, err
+       }
+
+       label, _, _ := testing.ExtractFromListOptions(opts)
+       if label == nil {
+               label = labels.Everything()
+       }
+       list := &v1alpha1.ProviderNetworkList{ListMeta: obj.(*v1alpha1.ProviderNetworkList).ListMeta}
+       for _, item := range obj.(*v1alpha1.ProviderNetworkList).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 providerNetworks.
+func (c *FakeProviderNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+       return c.Fake.
+               InvokesWatch(testing.NewWatchAction(providernetworksResource, c.ns, opts))
+
+}
+
+// Create takes the representation of a providerNetwork and creates it.  Returns the server's representation of the providerNetwork, and an error, if there is any.
+func (c *FakeProviderNetworks) Create(providerNetwork *v1alpha1.ProviderNetwork) (result *v1alpha1.ProviderNetwork, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewCreateAction(providernetworksResource, c.ns, providerNetwork), &v1alpha1.ProviderNetwork{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.ProviderNetwork), err
+}
+
+// Update takes the representation of a providerNetwork and updates it. Returns the server's representation of the providerNetwork, and an error, if there is any.
+func (c *FakeProviderNetworks) Update(providerNetwork *v1alpha1.ProviderNetwork) (result *v1alpha1.ProviderNetwork, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateAction(providernetworksResource, c.ns, providerNetwork), &v1alpha1.ProviderNetwork{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.ProviderNetwork), 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 *FakeProviderNetworks) UpdateStatus(providerNetwork *v1alpha1.ProviderNetwork) (*v1alpha1.ProviderNetwork, error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateSubresourceAction(providernetworksResource, "status", c.ns, providerNetwork), &v1alpha1.ProviderNetwork{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.ProviderNetwork), err
+}
+
+// Delete takes name of the providerNetwork and deletes it. Returns an error if one occurs.
+func (c *FakeProviderNetworks) Delete(name string, options *v1.DeleteOptions) error {
+       _, err := c.Fake.
+               Invokes(testing.NewDeleteAction(providernetworksResource, c.ns, name), &v1alpha1.ProviderNetwork{})
+
+       return err
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *FakeProviderNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+       action := testing.NewDeleteCollectionAction(providernetworksResource, c.ns, listOptions)
+
+       _, err := c.Fake.Invokes(action, &v1alpha1.ProviderNetworkList{})
+       return err
+}
+
+// Patch applies the patch and returns the patched providerNetwork.
+func (c *FakeProviderNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ProviderNetwork, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewPatchSubresourceAction(providernetworksResource, c.ns, name, pt, data, subresources...), &v1alpha1.ProviderNetwork{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.ProviderNetwork), err
+}
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/generated_expansion.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/generated_expansion.go
new file mode 100644 (file)
index 0000000..5d2ad85
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+type NetworkExpansion interface{}
+
+type ProviderNetworkExpansion interface{}
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/k8s_client.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/k8s_client.go
new file mode 100644 (file)
index 0000000..3eba88c
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       "k8s.io/apimachinery/pkg/runtime/serializer"
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+       "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/scheme"
+
+       rest "k8s.io/client-go/rest"
+)
+
+type K8sV1alpha1Interface interface {
+       RESTClient() rest.Interface
+       NetworksGetter
+       ProviderNetworksGetter
+}
+
+// K8sV1alpha1Client is used to interact with features provided by the k8s.plugin.opnfv.org group.
+type K8sV1alpha1Client struct {
+       restClient rest.Interface
+}
+
+func (c *K8sV1alpha1Client) Networks(namespace string) NetworkInterface {
+       return newNetworks(c, namespace)
+}
+
+func (c *K8sV1alpha1Client) ProviderNetworks(namespace string) ProviderNetworkInterface {
+       return newProviderNetworks(c, namespace)
+}
+
+// NewForConfig creates a new K8sV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*K8sV1alpha1Client, error) {
+       config := *c
+       if err := setConfigDefaults(&config); err != nil {
+               return nil, err
+       }
+       client, err := rest.RESTClientFor(&config)
+       if err != nil {
+               return nil, err
+       }
+       return &K8sV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new K8sV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *K8sV1alpha1Client {
+       client, err := NewForConfig(c)
+       if err != nil {
+               panic(err)
+       }
+       return client
+}
+
+// New creates a new K8sV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *K8sV1alpha1Client {
+       return &K8sV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+       gv := v1alpha1.SchemeGroupVersion
+       config.GroupVersion = &gv
+       config.APIPath = "/apis"
+       //config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+       config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
+
+       if config.UserAgent == "" {
+               config.UserAgent = rest.DefaultKubernetesUserAgent()
+       }
+
+       return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *K8sV1alpha1Client) RESTClient() rest.Interface {
+       if c == nil {
+               return nil
+       }
+       return c.restClient
+}
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/network.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/network.go
new file mode 100644 (file)
index 0000000..30c7be7
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+       scheme "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/scheme"
+       "time"
+
+       v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+       types "k8s.io/apimachinery/pkg/types"
+       watch "k8s.io/apimachinery/pkg/watch"
+       rest "k8s.io/client-go/rest"
+)
+
+// NetworksGetter has a method to return a NetworkInterface.
+// A group's client should implement this interface.
+type NetworksGetter interface {
+       Networks(namespace string) NetworkInterface
+}
+
+// NetworkInterface has methods to work with Network resources.
+type NetworkInterface interface {
+       Create(*v1alpha1.Network) (*v1alpha1.Network, error)
+       Update(*v1alpha1.Network) (*v1alpha1.Network, error)
+       UpdateStatus(*v1alpha1.Network) (*v1alpha1.Network, error)
+       Delete(name string, options *v1.DeleteOptions) error
+       DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+       Get(name string, options v1.GetOptions) (*v1alpha1.Network, error)
+       List(opts v1.ListOptions) (*v1alpha1.NetworkList, error)
+       Watch(opts v1.ListOptions) (watch.Interface, error)
+       Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Network, err error)
+       NetworkExpansion
+}
+
+// networks implements NetworkInterface
+type networks struct {
+       client rest.Interface
+       ns     string
+}
+
+// newNetworks returns a Networks
+func newNetworks(c *K8sV1alpha1Client, namespace string) *networks {
+       return &networks{
+               client: c.RESTClient(),
+               ns:     namespace,
+       }
+}
+
+// Get takes name of the network, and returns the corresponding network object, and an error if there is any.
+func (c *networks) Get(name string, options v1.GetOptions) (result *v1alpha1.Network, err error) {
+       result = &v1alpha1.Network{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("networks").
+               Name(name).
+               VersionedParams(&options, scheme.ParameterCodec).
+               Do().
+               Into(result)
+       return
+}
+
+// List takes label and field selectors, and returns the list of Networks that match those selectors.
+func (c *networks) List(opts v1.ListOptions) (result *v1alpha1.NetworkList, err error) {
+       var timeout time.Duration
+       if opts.TimeoutSeconds != nil {
+               timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+       }
+       result = &v1alpha1.NetworkList{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("networks").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Do().
+               Into(result)
+       return
+}
+
+// Watch returns a watch.Interface that watches the requested networks.
+func (c *networks) Watch(opts v1.ListOptions) (watch.Interface, error) {
+       var timeout time.Duration
+       if opts.TimeoutSeconds != nil {
+               timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+       }
+       opts.Watch = true
+       return c.client.Get().
+               Namespace(c.ns).
+               Resource("networks").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Watch()
+}
+
+// Create takes the representation of a network and creates it.  Returns the server's representation of the network, and an error, if there is any.
+func (c *networks) Create(network *v1alpha1.Network) (result *v1alpha1.Network, err error) {
+       result = &v1alpha1.Network{}
+       err = c.client.Post().
+               Namespace(c.ns).
+               Resource("networks").
+               Body(network).
+               Do().
+               Into(result)
+       return
+}
+
+// Update takes the representation of a network and updates it. Returns the server's representation of the network, and an error, if there is any.
+func (c *networks) Update(network *v1alpha1.Network) (result *v1alpha1.Network, err error) {
+       result = &v1alpha1.Network{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("networks").
+               Name(network.Name).
+               Body(network).
+               Do().
+               Into(result)
+       return
+}
+
+// UpdateStatus was generated because the type contains a Status member.
+// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
+
+func (c *networks) UpdateStatus(network *v1alpha1.Network) (result *v1alpha1.Network, err error) {
+       result = &v1alpha1.Network{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("networks").
+               Name(network.Name).
+               SubResource("status").
+               Body(network).
+               Do().
+               Into(result)
+       return
+}
+
+// Delete takes name of the network and deletes it. Returns an error if one occurs.
+func (c *networks) Delete(name string, options *v1.DeleteOptions) error {
+       return c.client.Delete().
+               Namespace(c.ns).
+               Resource("networks").
+               Name(name).
+               Body(options).
+               Do().
+               Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *networks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
+       var timeout time.Duration
+       if listOptions.TimeoutSeconds != nil {
+               timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
+       }
+       return c.client.Delete().
+               Namespace(c.ns).
+               Resource("networks").
+               VersionedParams(&listOptions, scheme.ParameterCodec).
+               Timeout(timeout).
+               Body(options).
+               Do().
+               Error()
+}
+
+// Patch applies the patch and returns the patched network.
+func (c *networks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Network, err error) {
+       result = &v1alpha1.Network{}
+       err = c.client.Patch(pt).
+               Namespace(c.ns).
+               Resource("networks").
+               SubResource(subresources...).
+               Name(name).
+               Body(data).
+               Do().
+               Into(result)
+       return
+}
diff --git a/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/providernetwork.go b/pkg/generated/clientset/versioned/typed/k8s/v1alpha1/providernetwork.go
new file mode 100644 (file)
index 0000000..7708620
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by client-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+       scheme "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned/scheme"
+       "time"
+
+       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"
+)
+
+// ProviderNetworksGetter has a method to return a ProviderNetworkInterface.
+// A group's client should implement this interface.
+type ProviderNetworksGetter interface {
+       ProviderNetworks(namespace string) ProviderNetworkInterface
+}
+
+// ProviderNetworkInterface has methods to work with ProviderNetwork resources.
+type ProviderNetworkInterface interface {
+       Create(*v1alpha1.ProviderNetwork) (*v1alpha1.ProviderNetwork, error)
+       Update(*v1alpha1.ProviderNetwork) (*v1alpha1.ProviderNetwork, error)
+       UpdateStatus(*v1alpha1.ProviderNetwork) (*v1alpha1.ProviderNetwork, error)
+       Delete(name string, options *v1.DeleteOptions) error
+       DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
+       Get(name string, options v1.GetOptions) (*v1alpha1.ProviderNetwork, error)
+       List(opts v1.ListOptions) (*v1alpha1.ProviderNetworkList, error)
+       Watch(opts v1.ListOptions) (watch.Interface, error)
+       Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ProviderNetwork, err error)
+       ProviderNetworkExpansion
+}
+
+// providerNetworks implements ProviderNetworkInterface
+type providerNetworks struct {
+       client rest.Interface
+       ns     string
+}
+
+// newProviderNetworks returns a ProviderNetworks
+func newProviderNetworks(c *K8sV1alpha1Client, namespace string) *providerNetworks {
+       return &providerNetworks{
+               client: c.RESTClient(),
+               ns:     namespace,
+       }
+}
+
+// Get takes name of the providerNetwork, and returns the corresponding providerNetwork object, and an error if there is any.
+func (c *providerNetworks) Get(name string, options v1.GetOptions) (result *v1alpha1.ProviderNetwork, err error) {
+       result = &v1alpha1.ProviderNetwork{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("providernetworks").
+               Name(name).
+               VersionedParams(&options, scheme.ParameterCodec).
+               Do().
+               Into(result)
+       return
+}
+
+// List takes label and field selectors, and returns the list of ProviderNetworks that match those selectors.
+func (c *providerNetworks) List(opts v1.ListOptions) (result *v1alpha1.ProviderNetworkList, err error) {
+       var timeout time.Duration
+       if opts.TimeoutSeconds != nil {
+               timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+       }
+       result = &v1alpha1.ProviderNetworkList{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("providernetworks").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Do().
+               Into(result)
+       return
+}
+
+// Watch returns a watch.Interface that watches the requested providerNetworks.
+func (c *providerNetworks) 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("providernetworks").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Watch()
+}
+
+// Create takes the representation of a providerNetwork and creates it.  Returns the server's representation of the providerNetwork, and an error, if there is any.
+func (c *providerNetworks) Create(providerNetwork *v1alpha1.ProviderNetwork) (result *v1alpha1.ProviderNetwork, err error) {
+       result = &v1alpha1.ProviderNetwork{}
+       err = c.client.Post().
+               Namespace(c.ns).
+               Resource("providernetworks").
+               Body(providerNetwork).
+               Do().
+               Into(result)
+       return
+}
+
+// Update takes the representation of a providerNetwork and updates it. Returns the server's representation of the providerNetwork, and an error, if there is any.
+func (c *providerNetworks) Update(providerNetwork *v1alpha1.ProviderNetwork) (result *v1alpha1.ProviderNetwork, err error) {
+       result = &v1alpha1.ProviderNetwork{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("providernetworks").
+               Name(providerNetwork.Name).
+               Body(providerNetwork).
+               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 *providerNetworks) UpdateStatus(providerNetwork *v1alpha1.ProviderNetwork) (result *v1alpha1.ProviderNetwork, err error) {
+       result = &v1alpha1.ProviderNetwork{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("providernetworks").
+               Name(providerNetwork.Name).
+               SubResource("status").
+               Body(providerNetwork).
+               Do().
+               Into(result)
+       return
+}
+
+// Delete takes name of the providerNetwork and deletes it. Returns an error if one occurs.
+func (c *providerNetworks) Delete(name string, options *v1.DeleteOptions) error {
+       return c.client.Delete().
+               Namespace(c.ns).
+               Resource("providernetworks").
+               Name(name).
+               Body(options).
+               Do().
+               Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *providerNetworks) 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("providernetworks").
+               VersionedParams(&listOptions, scheme.ParameterCodec).
+               Timeout(timeout).
+               Body(options).
+               Do().
+               Error()
+}
+
+// Patch applies the patch and returns the patched providerNetwork.
+func (c *providerNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ProviderNetwork, err error) {
+       result = &v1alpha1.ProviderNetwork{}
+       err = c.client.Patch(pt).
+               Namespace(c.ns).
+               Resource("providernetworks").
+               SubResource(subresources...).
+               Name(name).
+               Body(data).
+               Do().
+               Into(result)
+       return
+}
diff --git a/pkg/generated/informers/externalversions/factory.go b/pkg/generated/informers/externalversions/factory.go
new file mode 100644 (file)
index 0000000..663884c
--- /dev/null
@@ -0,0 +1,180 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package externalversions
+
+import (
+       versioned "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned"
+       internalinterfaces "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/internalinterfaces"
+       k8s "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/k8s"
+       reflect "reflect"
+       sync "sync"
+       time "time"
+
+       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
+
+       K8s() k8s.Interface
+}
+
+func (f *sharedInformerFactory) K8s() k8s.Interface {
+       return k8s.New(f, f.namespace, f.tweakListOptions)
+}
diff --git a/pkg/generated/informers/externalversions/generic.go b/pkg/generated/informers/externalversions/generic.go
new file mode 100644 (file)
index 0000000..badc74f
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package externalversions
+
+import (
+       "fmt"
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/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=k8s.plugin.opnfv.org, Version=v1alpha1
+       case v1alpha1.SchemeGroupVersion.WithResource("networks"):
+               return &genericInformer{resource: resource.GroupResource(), informer: f.K8s().V1alpha1().Networks().Informer()}, nil
+       case v1alpha1.SchemeGroupVersion.WithResource("providernetworks"):
+               return &genericInformer{resource: resource.GroupResource(), informer: f.K8s().V1alpha1().ProviderNetworks().Informer()}, nil
+
+       }
+
+       return nil, fmt.Errorf("no informer found for %v", resource)
+}
diff --git a/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go b/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go
new file mode 100644 (file)
index 0000000..191b63d
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package internalinterfaces
+
+import (
+       versioned "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned"
+       time "time"
+
+       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/generated/informers/externalversions/k8s/interface.go b/pkg/generated/informers/externalversions/k8s/interface.go
new file mode 100644 (file)
index 0000000..f1aea02
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package k8s
+
+import (
+       internalinterfaces "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/internalinterfaces"
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/k8s/v1alpha1"
+)
+
+// Interface provides access to each of this group's versions.
+type Interface interface {
+       // V1alpha1 provides access to shared informers for resources in V1alpha1.
+       V1alpha1() v1alpha1.Interface
+}
+
+type group struct {
+       factory          internalinterfaces.SharedInformerFactory
+       namespace        string
+       tweakListOptions internalinterfaces.TweakListOptionsFunc
+}
+
+// New returns a new Interface.
+func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
+       return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
+}
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+       return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/pkg/generated/informers/externalversions/k8s/v1alpha1/interface.go b/pkg/generated/informers/externalversions/k8s/v1alpha1/interface.go
new file mode 100644 (file)
index 0000000..cef0e40
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       internalinterfaces "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/internalinterfaces"
+)
+
+// Interface provides access to all the informers in this group version.
+type Interface interface {
+       // Networks returns a NetworkInformer.
+       Networks() NetworkInformer
+       // ProviderNetworks returns a ProviderNetworkInformer.
+       ProviderNetworks() ProviderNetworkInformer
+}
+
+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}
+}
+
+// Networks returns a NetworkInformer.
+func (v *version) Networks() NetworkInformer {
+       return &networkInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
+
+// ProviderNetworks returns a ProviderNetworkInformer.
+func (v *version) ProviderNetworks() ProviderNetworkInformer {
+       return &providerNetworkInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
+}
diff --git a/pkg/generated/informers/externalversions/k8s/v1alpha1/network.go b/pkg/generated/informers/externalversions/k8s/v1alpha1/network.go
new file mode 100644 (file)
index 0000000..1742498
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       k8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+       versioned "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned"
+       internalinterfaces "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/internalinterfaces"
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/listers/k8s/v1alpha1"
+       time "time"
+
+       v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+       runtime "k8s.io/apimachinery/pkg/runtime"
+       watch "k8s.io/apimachinery/pkg/watch"
+       cache "k8s.io/client-go/tools/cache"
+)
+
+// NetworkInformer provides access to a shared informer and lister for
+// Networks.
+type NetworkInformer interface {
+       Informer() cache.SharedIndexInformer
+       Lister() v1alpha1.NetworkLister
+}
+
+type networkInformer struct {
+       factory          internalinterfaces.SharedInformerFactory
+       tweakListOptions internalinterfaces.TweakListOptionsFunc
+       namespace        string
+}
+
+// NewNetworkInformer constructs a new informer for Network type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewNetworkInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+       return NewFilteredNetworkInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredNetworkInformer constructs a new informer for Network type.
+// Always prefer using an informer factory to get a shared informer instead of getting an independent
+// one. This reduces memory footprint and number of connections to the server.
+func NewFilteredNetworkInformer(client 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.K8sV1alpha1().Networks(namespace).List(options)
+                       },
+                       WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+                               if tweakListOptions != nil {
+                                       tweakListOptions(&options)
+                               }
+                               return client.K8sV1alpha1().Networks(namespace).Watch(options)
+                       },
+               },
+               &k8sv1alpha1.Network{},
+               resyncPeriod,
+               indexers,
+       )
+}
+
+func (f *networkInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+       return NewFilteredNetworkInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *networkInformer) Informer() cache.SharedIndexInformer {
+       return f.factory.InformerFor(&k8sv1alpha1.Network{}, f.defaultInformer)
+}
+
+func (f *networkInformer) Lister() v1alpha1.NetworkLister {
+       return v1alpha1.NewNetworkLister(f.Informer().GetIndexer())
+}
diff --git a/pkg/generated/informers/externalversions/k8s/v1alpha1/providernetwork.go b/pkg/generated/informers/externalversions/k8s/v1alpha1/providernetwork.go
new file mode 100644 (file)
index 0000000..d7bf8ec
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by informer-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       k8sv1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+       versioned "ovn4nfv-k8s-plugin/pkg/generated/clientset/versioned"
+       internalinterfaces "ovn4nfv-k8s-plugin/pkg/generated/informers/externalversions/internalinterfaces"
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/generated/listers/k8s/v1alpha1"
+       time "time"
+
+       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"
+)
+
+// ProviderNetworkInformer provides access to a shared informer and lister for
+// ProviderNetworks.
+type ProviderNetworkInformer interface {
+       Informer() cache.SharedIndexInformer
+       Lister() v1alpha1.ProviderNetworkLister
+}
+
+type providerNetworkInformer struct {
+       factory          internalinterfaces.SharedInformerFactory
+       tweakListOptions internalinterfaces.TweakListOptionsFunc
+       namespace        string
+}
+
+// NewProviderNetworkInformer constructs a new informer for ProviderNetwork 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 NewProviderNetworkInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+       return NewFilteredProviderNetworkInformer(client, namespace, resyncPeriod, indexers, nil)
+}
+
+// NewFilteredProviderNetworkInformer constructs a new informer for ProviderNetwork 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 NewFilteredProviderNetworkInformer(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.K8sV1alpha1().ProviderNetworks(namespace).List(options)
+                       },
+                       WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
+                               if tweakListOptions != nil {
+                                       tweakListOptions(&options)
+                               }
+                               return client.K8sV1alpha1().ProviderNetworks(namespace).Watch(options)
+                       },
+               },
+               &k8sv1alpha1.ProviderNetwork{},
+               resyncPeriod,
+               indexers,
+       )
+}
+
+func (f *providerNetworkInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
+       return NewFilteredProviderNetworkInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *providerNetworkInformer) Informer() cache.SharedIndexInformer {
+       return f.factory.InformerFor(&k8sv1alpha1.ProviderNetwork{}, f.defaultInformer)
+}
+
+func (f *providerNetworkInformer) Lister() v1alpha1.ProviderNetworkLister {
+       return v1alpha1.NewProviderNetworkLister(f.Informer().GetIndexer())
+}
diff --git a/pkg/generated/listers/k8s/v1alpha1/expansion_generated.go b/pkg/generated/listers/k8s/v1alpha1/expansion_generated.go
new file mode 100644 (file)
index 0000000..78871af
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by lister-gen. DO NOT EDIT.
+
+package v1alpha1
+
+// NetworkListerExpansion allows custom methods to be added to
+// NetworkLister.
+type NetworkListerExpansion interface{}
+
+// NetworkNamespaceListerExpansion allows custom methods to be added to
+// NetworkNamespaceLister.
+type NetworkNamespaceListerExpansion interface{}
+
+// ProviderNetworkListerExpansion allows custom methods to be added to
+// ProviderNetworkLister.
+type ProviderNetworkListerExpansion interface{}
+
+// ProviderNetworkNamespaceListerExpansion allows custom methods to be added to
+// ProviderNetworkNamespaceLister.
+type ProviderNetworkNamespaceListerExpansion interface{}
diff --git a/pkg/generated/listers/k8s/v1alpha1/network.go b/pkg/generated/listers/k8s/v1alpha1/network.go
new file mode 100644 (file)
index 0000000..8228edb
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by lister-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+
+       "k8s.io/apimachinery/pkg/api/errors"
+       "k8s.io/apimachinery/pkg/labels"
+       "k8s.io/client-go/tools/cache"
+)
+
+// NetworkLister helps list Networks.
+type NetworkLister interface {
+       // List lists all Networks in the indexer.
+       List(selector labels.Selector) (ret []*v1alpha1.Network, err error)
+       // Networks returns an object that can list and get Networks.
+       Networks(namespace string) NetworkNamespaceLister
+       NetworkListerExpansion
+}
+
+// networkLister implements the NetworkLister interface.
+type networkLister struct {
+       indexer cache.Indexer
+}
+
+// NewNetworkLister returns a new NetworkLister.
+func NewNetworkLister(indexer cache.Indexer) NetworkLister {
+       return &networkLister{indexer: indexer}
+}
+
+// List lists all Networks in the indexer.
+func (s *networkLister) List(selector labels.Selector) (ret []*v1alpha1.Network, err error) {
+       err = cache.ListAll(s.indexer, selector, func(m interface{}) {
+               ret = append(ret, m.(*v1alpha1.Network))
+       })
+       return ret, err
+}
+
+// Networks returns an object that can list and get Networks.
+func (s *networkLister) Networks(namespace string) NetworkNamespaceLister {
+       return networkNamespaceLister{indexer: s.indexer, namespace: namespace}
+}
+
+// NetworkNamespaceLister helps list and get Networks.
+type NetworkNamespaceLister interface {
+       // List lists all Networks in the indexer for a given namespace.
+       List(selector labels.Selector) (ret []*v1alpha1.Network, err error)
+       // Get retrieves the Network from the indexer for a given namespace and name.
+       Get(name string) (*v1alpha1.Network, error)
+       NetworkNamespaceListerExpansion
+}
+
+// networkNamespaceLister implements the NetworkNamespaceLister
+// interface.
+type networkNamespaceLister struct {
+       indexer   cache.Indexer
+       namespace string
+}
+
+// List lists all Networks in the indexer for a given namespace.
+func (s networkNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.Network, err error) {
+       err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
+               ret = append(ret, m.(*v1alpha1.Network))
+       })
+       return ret, err
+}
+
+// Get retrieves the Network from the indexer for a given namespace and name.
+func (s networkNamespaceLister) Get(name string) (*v1alpha1.Network, error) {
+       obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
+       if err != nil {
+               return nil, err
+       }
+       if !exists {
+               return nil, errors.NewNotFound(v1alpha1.Resource("network"), name)
+       }
+       return obj.(*v1alpha1.Network), nil
+}
diff --git a/pkg/generated/listers/k8s/v1alpha1/providernetwork.go b/pkg/generated/listers/k8s/v1alpha1/providernetwork.go
new file mode 100644 (file)
index 0000000..160a03b
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by lister-gen. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+       v1alpha1 "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1"
+
+       "k8s.io/apimachinery/pkg/api/errors"
+       "k8s.io/apimachinery/pkg/labels"
+       "k8s.io/client-go/tools/cache"
+)
+
+// ProviderNetworkLister helps list ProviderNetworks.
+type ProviderNetworkLister interface {
+       // List lists all ProviderNetworks in the indexer.
+       List(selector labels.Selector) (ret []*v1alpha1.ProviderNetwork, err error)
+       // ProviderNetworks returns an object that can list and get ProviderNetworks.
+       ProviderNetworks(namespace string) ProviderNetworkNamespaceLister
+       ProviderNetworkListerExpansion
+}
+
+// providerNetworkLister implements the ProviderNetworkLister interface.
+type providerNetworkLister struct {
+       indexer cache.Indexer
+}
+
+// NewProviderNetworkLister returns a new ProviderNetworkLister.
+func NewProviderNetworkLister(indexer cache.Indexer) ProviderNetworkLister {
+       return &providerNetworkLister{indexer: indexer}
+}
+
+// List lists all ProviderNetworks in the indexer.
+func (s *providerNetworkLister) List(selector labels.Selector) (ret []*v1alpha1.ProviderNetwork, err error) {
+       err = cache.ListAll(s.indexer, selector, func(m interface{}) {
+               ret = append(ret, m.(*v1alpha1.ProviderNetwork))
+       })
+       return ret, err
+}
+
+// ProviderNetworks returns an object that can list and get ProviderNetworks.
+func (s *providerNetworkLister) ProviderNetworks(namespace string) ProviderNetworkNamespaceLister {
+       return providerNetworkNamespaceLister{indexer: s.indexer, namespace: namespace}
+}
+
+// ProviderNetworkNamespaceLister helps list and get ProviderNetworks.
+type ProviderNetworkNamespaceLister interface {
+       // List lists all ProviderNetworks in the indexer for a given namespace.
+       List(selector labels.Selector) (ret []*v1alpha1.ProviderNetwork, err error)
+       // Get retrieves the ProviderNetwork from the indexer for a given namespace and name.
+       Get(name string) (*v1alpha1.ProviderNetwork, error)
+       ProviderNetworkNamespaceListerExpansion
+}
+
+// providerNetworkNamespaceLister implements the ProviderNetworkNamespaceLister
+// interface.
+type providerNetworkNamespaceLister struct {
+       indexer   cache.Indexer
+       namespace string
+}
+
+// List lists all ProviderNetworks in the indexer for a given namespace.
+func (s providerNetworkNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.ProviderNetwork, err error) {
+       err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
+               ret = append(ret, m.(*v1alpha1.ProviderNetwork))
+       })
+       return ret, err
+}
+
+// Get retrieves the ProviderNetwork from the indexer for a given namespace and name.
+func (s providerNetworkNamespaceLister) Get(name string) (*v1alpha1.ProviderNetwork, error) {
+       obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
+       if err != nil {
+               return nil, err
+       }
+       if !exists {
+               return nil, errors.NewNotFound(v1alpha1.Resource("providernetwork"), name)
+       }
+       return obj.(*v1alpha1.ProviderNetwork), nil
+}