aboutsummaryrefslogtreecommitdiffstats
path: root/kube2msb/src/kube2msb/vendor/k8s.io/kubernetes/pkg/client/unversioned/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'kube2msb/src/kube2msb/vendor/k8s.io/kubernetes/pkg/client/unversioned/client.go')
-rw-r--r--kube2msb/src/kube2msb/vendor/k8s.io/kubernetes/pkg/client/unversioned/client.go179
1 files changed, 179 insertions, 0 deletions
diff --git a/kube2msb/src/kube2msb/vendor/k8s.io/kubernetes/pkg/client/unversioned/client.go b/kube2msb/src/kube2msb/vendor/k8s.io/kubernetes/pkg/client/unversioned/client.go
new file mode 100644
index 0000000..5474e96
--- /dev/null
+++ b/kube2msb/src/kube2msb/vendor/k8s.io/kubernetes/pkg/client/unversioned/client.go
@@ -0,0 +1,179 @@
+/*
+Copyright 2014 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package unversioned
+
+import (
+ "net"
+ "net/url"
+ "strings"
+
+ "k8s.io/kubernetes/pkg/client/restclient"
+ "k8s.io/kubernetes/pkg/client/typed/discovery"
+)
+
+// Interface holds the methods for clients of Kubernetes,
+// an interface to allow mock testing.
+type Interface interface {
+ PodsNamespacer
+ PodTemplatesNamespacer
+ ReplicationControllersNamespacer
+ ServicesNamespacer
+ EndpointsNamespacer
+ NodesInterface
+ EventNamespacer
+ LimitRangesNamespacer
+ ResourceQuotasNamespacer
+ ServiceAccountsNamespacer
+ SecretsNamespacer
+ NamespacesInterface
+ PersistentVolumesInterface
+ PersistentVolumeClaimsNamespacer
+ ComponentStatusesInterface
+ ConfigMapsNamespacer
+ Autoscaling() AutoscalingInterface
+ Batch() BatchInterface
+ Extensions() ExtensionsInterface
+ Rbac() RbacInterface
+ Discovery() discovery.DiscoveryInterface
+ Certificates() CertificatesInterface
+}
+
+func (c *Client) ReplicationControllers(namespace string) ReplicationControllerInterface {
+ return newReplicationControllers(c, namespace)
+}
+
+func (c *Client) Nodes() NodeInterface {
+ return newNodes(c)
+}
+
+func (c *Client) Events(namespace string) EventInterface {
+ return newEvents(c, namespace)
+}
+
+func (c *Client) Endpoints(namespace string) EndpointsInterface {
+ return newEndpoints(c, namespace)
+}
+
+func (c *Client) Pods(namespace string) PodInterface {
+ return newPods(c, namespace)
+}
+
+func (c *Client) PodTemplates(namespace string) PodTemplateInterface {
+ return newPodTemplates(c, namespace)
+}
+
+func (c *Client) Services(namespace string) ServiceInterface {
+ return newServices(c, namespace)
+}
+func (c *Client) LimitRanges(namespace string) LimitRangeInterface {
+ return newLimitRanges(c, namespace)
+}
+
+func (c *Client) ResourceQuotas(namespace string) ResourceQuotaInterface {
+ return newResourceQuotas(c, namespace)
+}
+
+func (c *Client) ServiceAccounts(namespace string) ServiceAccountsInterface {
+ return newServiceAccounts(c, namespace)
+}
+
+func (c *Client) Secrets(namespace string) SecretsInterface {
+ return newSecrets(c, namespace)
+}
+
+func (c *Client) Namespaces() NamespaceInterface {
+ return newNamespaces(c)
+}
+
+func (c *Client) PersistentVolumes() PersistentVolumeInterface {
+ return newPersistentVolumes(c)
+}
+
+func (c *Client) PersistentVolumeClaims(namespace string) PersistentVolumeClaimInterface {
+ return newPersistentVolumeClaims(c, namespace)
+}
+
+func (c *Client) ComponentStatuses() ComponentStatusInterface {
+ return newComponentStatuses(c)
+}
+
+func (c *Client) ConfigMaps(namespace string) ConfigMapsInterface {
+ return newConfigMaps(c, namespace)
+}
+
+// Client is the implementation of a Kubernetes client.
+type Client struct {
+ *restclient.RESTClient
+ *AutoscalingClient
+ *BatchClient
+ *ExtensionsClient
+ *AppsClient
+ *PolicyClient
+ *RbacClient
+ *discovery.DiscoveryClient
+ *CertificatesClient
+}
+
+// IsTimeout tests if this is a timeout error in the underlying transport.
+// This is unbelievably ugly.
+// See: http://stackoverflow.com/questions/23494950/specifically-check-for-timeout-error for details
+func IsTimeout(err error) bool {
+ if err == nil {
+ return false
+ }
+ switch err := err.(type) {
+ case *url.Error:
+ if err, ok := err.Err.(net.Error); ok {
+ return err.Timeout()
+ }
+ case net.Error:
+ return err.Timeout()
+ }
+
+ if strings.Contains(err.Error(), "use of closed network connection") {
+ return true
+ }
+ return false
+}
+
+func (c *Client) Autoscaling() AutoscalingInterface {
+ return c.AutoscalingClient
+}
+
+func (c *Client) Batch() BatchInterface {
+ return c.BatchClient
+}
+
+func (c *Client) Extensions() ExtensionsInterface {
+ return c.ExtensionsClient
+}
+
+func (c *Client) Apps() AppsInterface {
+ return c.AppsClient
+}
+
+func (c *Client) Rbac() RbacInterface {
+ return c.RbacClient
+}
+
+func (c *Client) Discovery() discovery.DiscoveryInterface {
+ return c.DiscoveryClient
+}
+
+func (c *Client) Certificates() CertificatesInterface {
+ return c.CertificatesClient
+}