| @@ -0,0 +1,33 @@ | |||||
| /* | |||||
| Copyright 2017 The Kubernetes Authors. | |||||
| Licensed under the Apache License, Version 2.0 (the "License"); | |||||
| you may not use this file except in compliance with the License. | |||||
| You may obtain a copy of the License at | |||||
| http://www.apache.org/licenses/LICENSE-2.0 | |||||
| Unless required by applicable law or agreed to in writing, software | |||||
| distributed under the License is distributed on an "AS IS" BASIS, | |||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
| See the License for the specific language governing permissions and | |||||
| limitations under the License. | |||||
| */ | |||||
| package v1 | |||||
| import ( | |||||
| "k8s.io/apimachinery/pkg/runtime/schema" | |||||
| ) | |||||
| // IsAnAPIObject allows clients to preemptively get a reference to an API object and pass it to places that | |||||
| // intend only to get a reference to that object. This simplifies the event recording interface. | |||||
| func (obj *ObjectReference) SetGroupVersionKind(gvk schema.GroupVersionKind) { | |||||
| obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() | |||||
| } | |||||
| func (obj *ObjectReference) GroupVersionKind() schema.GroupVersionKind { | |||||
| return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) | |||||
| } | |||||
| func (obj *ObjectReference) GetObjectKind() schema.ObjectKind { return obj } | |||||
| @@ -0,0 +1,100 @@ | |||||
| /* | |||||
| Copyright 2015 The Kubernetes Authors. | |||||
| Licensed under the Apache License, Version 2.0 (the "License"); | |||||
| you may not use this file except in compliance with the License. | |||||
| You may obtain a copy of the License at | |||||
| http://www.apache.org/licenses/LICENSE-2.0 | |||||
| Unless required by applicable law or agreed to in writing, software | |||||
| distributed under the License is distributed on an "AS IS" BASIS, | |||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
| See the License for the specific language governing permissions and | |||||
| limitations under the License. | |||||
| */ | |||||
| package v1 | |||||
| import ( | |||||
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||||
| "k8s.io/apimachinery/pkg/runtime" | |||||
| "k8s.io/apimachinery/pkg/runtime/schema" | |||||
| ) | |||||
| // GroupName is the group name use in this package | |||||
| const GroupName = "" | |||||
| // SchemeGroupVersion is group version used to register these objects | |||||
| var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} | |||||
| // Resource takes an unqualified resource and returns a Group qualified GroupResource | |||||
| func Resource(resource string) schema.GroupResource { | |||||
| return SchemeGroupVersion.WithResource(resource).GroupResource() | |||||
| } | |||||
| var ( | |||||
| // We only register manually written functions here. The registration of the | |||||
| // generated functions takes place in the generated files. The separation | |||||
| // makes the code compile even when the generated files are missing. | |||||
| SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) | |||||
| AddToScheme = SchemeBuilder.AddToScheme | |||||
| ) | |||||
| // Adds the list of known types to the given scheme. | |||||
| func addKnownTypes(scheme *runtime.Scheme) error { | |||||
| scheme.AddKnownTypes(SchemeGroupVersion, | |||||
| &Pod{}, | |||||
| &PodList{}, | |||||
| &PodStatusResult{}, | |||||
| &PodTemplate{}, | |||||
| &PodTemplateList{}, | |||||
| &ReplicationController{}, | |||||
| &ReplicationControllerList{}, | |||||
| &Service{}, | |||||
| &ServiceProxyOptions{}, | |||||
| &ServiceList{}, | |||||
| &Endpoints{}, | |||||
| &EndpointsList{}, | |||||
| &Node{}, | |||||
| &NodeList{}, | |||||
| &NodeProxyOptions{}, | |||||
| &Binding{}, | |||||
| &Event{}, | |||||
| &EventList{}, | |||||
| &List{}, | |||||
| &LimitRange{}, | |||||
| &LimitRangeList{}, | |||||
| &ResourceQuota{}, | |||||
| &ResourceQuotaList{}, | |||||
| &Namespace{}, | |||||
| &NamespaceList{}, | |||||
| &Secret{}, | |||||
| &SecretList{}, | |||||
| &ServiceAccount{}, | |||||
| &ServiceAccountList{}, | |||||
| &PersistentVolume{}, | |||||
| &PersistentVolumeList{}, | |||||
| &PersistentVolumeClaim{}, | |||||
| &PersistentVolumeClaimList{}, | |||||
| &PodAttachOptions{}, | |||||
| &PodLogOptions{}, | |||||
| &PodExecOptions{}, | |||||
| &PodPortForwardOptions{}, | |||||
| &PodProxyOptions{}, | |||||
| &ComponentStatus{}, | |||||
| &ComponentStatusList{}, | |||||
| &SerializedReference{}, | |||||
| &RangeAllocation{}, | |||||
| &ConfigMap{}, | |||||
| &ConfigMapList{}, | |||||
| &EphemeralContainers{}, | |||||
| ) | |||||
| // Add common types | |||||
| scheme.AddKnownTypes(SchemeGroupVersion, &metav1.Status{}) | |||||
| // Add the watch version that applies | |||||
| metav1.AddToGroupVersion(scheme, SchemeGroupVersion) | |||||
| return nil | |||||
| } | |||||
| @@ -0,0 +1,59 @@ | |||||
| /* | |||||
| Copyright 2017 The Kubernetes Authors. | |||||
| Licensed under the Apache License, Version 2.0 (the "License"); | |||||
| you may not use this file except in compliance with the License. | |||||
| You may obtain a copy of the License at | |||||
| http://www.apache.org/licenses/LICENSE-2.0 | |||||
| Unless required by applicable law or agreed to in writing, software | |||||
| distributed under the License is distributed on an "AS IS" BASIS, | |||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
| See the License for the specific language governing permissions and | |||||
| limitations under the License. | |||||
| */ | |||||
| package v1 | |||||
| import ( | |||||
| "k8s.io/apimachinery/pkg/api/resource" | |||||
| ) | |||||
| // Returns string version of ResourceName. | |||||
| func (rn ResourceName) String() string { | |||||
| return string(rn) | |||||
| } | |||||
| // Cpu returns the Cpu limit if specified. | |||||
| func (rl *ResourceList) Cpu() *resource.Quantity { | |||||
| return rl.Name(ResourceCPU, resource.DecimalSI) | |||||
| } | |||||
| // Memory returns the Memory limit if specified. | |||||
| func (rl *ResourceList) Memory() *resource.Quantity { | |||||
| return rl.Name(ResourceMemory, resource.BinarySI) | |||||
| } | |||||
| // Storage returns the Storage limit if specified. | |||||
| func (rl *ResourceList) Storage() *resource.Quantity { | |||||
| return rl.Name(ResourceStorage, resource.BinarySI) | |||||
| } | |||||
| // Pods returns the list of pods | |||||
| func (rl *ResourceList) Pods() *resource.Quantity { | |||||
| return rl.Name(ResourcePods, resource.DecimalSI) | |||||
| } | |||||
| // StorageEphemeral returns the list of ephemeral storage volumes, if any | |||||
| func (rl *ResourceList) StorageEphemeral() *resource.Quantity { | |||||
| return rl.Name(ResourceEphemeralStorage, resource.BinarySI) | |||||
| } | |||||
| // Name returns the resource with name if specified, otherwise it returns a nil quantity with default format. | |||||
| func (rl *ResourceList) Name(name ResourceName, defaultFormat resource.Format) *resource.Quantity { | |||||
| if val, ok := (*rl)[name]; ok { | |||||
| return &val | |||||
| } | |||||
| return &resource.Quantity{Format: defaultFormat} | |||||
| } | |||||
| @@ -0,0 +1,685 @@ | |||||
| /* | |||||
| 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 kubernetes | |||||
| import ( | |||||
| "fmt" | |||||
| corev1 "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/client-go/kubernetes/typed/core/v1" | |||||
| discovery "k8s.io/client-go/discovery" | |||||
| admissionregistrationv1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" | |||||
| admissionregistrationv1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1" | |||||
| internalv1alpha1 "k8s.io/client-go/kubernetes/typed/apiserverinternal/v1alpha1" | |||||
| appsv1 "k8s.io/client-go/kubernetes/typed/apps/v1" | |||||
| appsv1beta1 "k8s.io/client-go/kubernetes/typed/apps/v1beta1" | |||||
| appsv1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" | |||||
| authenticationv1 "k8s.io/client-go/kubernetes/typed/authentication/v1" | |||||
| authenticationv1beta1 "k8s.io/client-go/kubernetes/typed/authentication/v1beta1" | |||||
| authorizationv1 "k8s.io/client-go/kubernetes/typed/authorization/v1" | |||||
| authorizationv1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" | |||||
| autoscalingv1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" | |||||
| autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" | |||||
| autoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" | |||||
| batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1" | |||||
| batchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" | |||||
| certificatesv1 "k8s.io/client-go/kubernetes/typed/certificates/v1" | |||||
| certificatesv1beta1 "k8s.io/client-go/kubernetes/typed/certificates/v1beta1" | |||||
| coordinationv1 "k8s.io/client-go/kubernetes/typed/coordination/v1" | |||||
| coordinationv1beta1 "k8s.io/client-go/kubernetes/typed/coordination/v1beta1" | |||||
| discoveryv1 "k8s.io/client-go/kubernetes/typed/discovery/v1" | |||||
| discoveryv1beta1 "k8s.io/client-go/kubernetes/typed/discovery/v1beta1" | |||||
| eventsv1 "k8s.io/client-go/kubernetes/typed/events/v1" | |||||
| eventsv1beta1 "k8s.io/client-go/kubernetes/typed/events/v1beta1" | |||||
| extensionsv1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" | |||||
| flowcontrolv1alpha1 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1alpha1" | |||||
| flowcontrolv1beta1 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1" | |||||
| networkingv1 "k8s.io/client-go/kubernetes/typed/networking/v1" | |||||
| networkingv1beta1 "k8s.io/client-go/kubernetes/typed/networking/v1beta1" | |||||
| nodev1 "k8s.io/client-go/kubernetes/typed/node/v1" | |||||
| nodev1alpha1 "k8s.io/client-go/kubernetes/typed/node/v1alpha1" | |||||
| nodev1beta1 "k8s.io/client-go/kubernetes/typed/node/v1beta1" | |||||
| policyv1 "k8s.io/client-go/kubernetes/typed/policy/v1" | |||||
| policyv1beta1 "k8s.io/client-go/kubernetes/typed/policy/v1beta1" | |||||
| rbacv1 "k8s.io/client-go/kubernetes/typed/rbac/v1" | |||||
| rbacv1alpha1 "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1" | |||||
| rbacv1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" | |||||
| schedulingv1 "k8s.io/client-go/kubernetes/typed/scheduling/v1" | |||||
| schedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" | |||||
| schedulingv1beta1 "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1" | |||||
| storagev1 "k8s.io/client-go/kubernetes/typed/storage/v1" | |||||
| storagev1alpha1 "k8s.io/client-go/kubernetes/typed/storage/v1alpha1" | |||||
| storagev1beta1 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" | |||||
| rest "k8s.io/client-go/rest" | |||||
| flowcontrol "k8s.io/client-go/util/flowcontrol" | |||||
| ) | |||||
| type Interface interface { | |||||
| Discovery() discovery.DiscoveryInterface | |||||
| AdmissionregistrationV1() admissionregistrationv1.AdmissionregistrationV1Interface | |||||
| AdmissionregistrationV1beta1() admissionregistrationv1beta1.AdmissionregistrationV1beta1Interface | |||||
| InternalV1alpha1() internalv1alpha1.InternalV1alpha1Interface | |||||
| AppsV1() appsv1.AppsV1Interface | |||||
| AppsV1beta1() appsv1beta1.AppsV1beta1Interface | |||||
| AppsV1beta2() appsv1beta2.AppsV1beta2Interface | |||||
| AuthenticationV1() authenticationv1.AuthenticationV1Interface | |||||
| AuthenticationV1beta1() authenticationv1beta1.AuthenticationV1beta1Interface | |||||
| AuthorizationV1() authorizationv1.AuthorizationV1Interface | |||||
| AuthorizationV1beta1() authorizationv1beta1.AuthorizationV1beta1Interface | |||||
| AutoscalingV1() autoscalingv1.AutoscalingV1Interface | |||||
| AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface | |||||
| AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface | |||||
| BatchV1() batchv1.BatchV1Interface | |||||
| BatchV1beta1() batchv1beta1.BatchV1beta1Interface | |||||
| CertificatesV1() certificatesv1.CertificatesV1Interface | |||||
| CertificatesV1beta1() certificatesv1beta1.CertificatesV1beta1Interface | |||||
| CoordinationV1beta1() coordinationv1beta1.CoordinationV1beta1Interface | |||||
| CoordinationV1() coordinationv1.CoordinationV1Interface | |||||
| CoreV1() corev1.CoreV1Interface | |||||
| DiscoveryV1() discoveryv1.DiscoveryV1Interface | |||||
| DiscoveryV1beta1() discoveryv1beta1.DiscoveryV1beta1Interface | |||||
| EventsV1() eventsv1.EventsV1Interface | |||||
| EventsV1beta1() eventsv1beta1.EventsV1beta1Interface | |||||
| ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface | |||||
| FlowcontrolV1alpha1() flowcontrolv1alpha1.FlowcontrolV1alpha1Interface | |||||
| FlowcontrolV1beta1() flowcontrolv1beta1.FlowcontrolV1beta1Interface | |||||
| NetworkingV1() networkingv1.NetworkingV1Interface | |||||
| NetworkingV1beta1() networkingv1beta1.NetworkingV1beta1Interface | |||||
| NodeV1() nodev1.NodeV1Interface | |||||
| NodeV1alpha1() nodev1alpha1.NodeV1alpha1Interface | |||||
| NodeV1beta1() nodev1beta1.NodeV1beta1Interface | |||||
| PolicyV1() policyv1.PolicyV1Interface | |||||
| PolicyV1beta1() policyv1beta1.PolicyV1beta1Interface | |||||
| RbacV1() rbacv1.RbacV1Interface | |||||
| RbacV1beta1() rbacv1beta1.RbacV1beta1Interface | |||||
| RbacV1alpha1() rbacv1alpha1.RbacV1alpha1Interface | |||||
| SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1Interface | |||||
| SchedulingV1beta1() schedulingv1beta1.SchedulingV1beta1Interface | |||||
| SchedulingV1() schedulingv1.SchedulingV1Interface | |||||
| StorageV1beta1() storagev1beta1.StorageV1beta1Interface | |||||
| StorageV1() storagev1.StorageV1Interface | |||||
| StorageV1alpha1() storagev1alpha1.StorageV1alpha1Interface | |||||
| } | |||||
| // Clientset contains the clients for groups. Each group has exactly one | |||||
| // version included in a Clientset. | |||||
| type Clientset struct { | |||||
| *discovery.DiscoveryClient | |||||
| admissionregistrationV1 *admissionregistrationv1.AdmissionregistrationV1Client | |||||
| admissionregistrationV1beta1 *admissionregistrationv1beta1.AdmissionregistrationV1beta1Client | |||||
| internalV1alpha1 *internalv1alpha1.InternalV1alpha1Client | |||||
| appsV1 *appsv1.AppsV1Client | |||||
| appsV1beta1 *appsv1beta1.AppsV1beta1Client | |||||
| appsV1beta2 *appsv1beta2.AppsV1beta2Client | |||||
| authenticationV1 *authenticationv1.AuthenticationV1Client | |||||
| authenticationV1beta1 *authenticationv1beta1.AuthenticationV1beta1Client | |||||
| authorizationV1 *authorizationv1.AuthorizationV1Client | |||||
| authorizationV1beta1 *authorizationv1beta1.AuthorizationV1beta1Client | |||||
| autoscalingV1 *autoscalingv1.AutoscalingV1Client | |||||
| autoscalingV2beta1 *autoscalingv2beta1.AutoscalingV2beta1Client | |||||
| autoscalingV2beta2 *autoscalingv2beta2.AutoscalingV2beta2Client | |||||
| batchV1 *batchv1.BatchV1Client | |||||
| batchV1beta1 *batchv1beta1.BatchV1beta1Client | |||||
| certificatesV1 *certificatesv1.CertificatesV1Client | |||||
| certificatesV1beta1 *certificatesv1beta1.CertificatesV1beta1Client | |||||
| coordinationV1beta1 *coordinationv1beta1.CoordinationV1beta1Client | |||||
| coordinationV1 *coordinationv1.CoordinationV1Client | |||||
| coreV1 *corev1.CoreV1Client | |||||
| discoveryV1 *discoveryv1.DiscoveryV1Client | |||||
| discoveryV1beta1 *discoveryv1beta1.DiscoveryV1beta1Client | |||||
| eventsV1 *eventsv1.EventsV1Client | |||||
| eventsV1beta1 *eventsv1beta1.EventsV1beta1Client | |||||
| extensionsV1beta1 *extensionsv1beta1.ExtensionsV1beta1Client | |||||
| flowcontrolV1alpha1 *flowcontrolv1alpha1.FlowcontrolV1alpha1Client | |||||
| flowcontrolV1beta1 *flowcontrolv1beta1.FlowcontrolV1beta1Client | |||||
| networkingV1 *networkingv1.NetworkingV1Client | |||||
| networkingV1beta1 *networkingv1beta1.NetworkingV1beta1Client | |||||
| nodeV1 *nodev1.NodeV1Client | |||||
| nodeV1alpha1 *nodev1alpha1.NodeV1alpha1Client | |||||
| nodeV1beta1 *nodev1beta1.NodeV1beta1Client | |||||
| policyV1 *policyv1.PolicyV1Client | |||||
| policyV1beta1 *policyv1beta1.PolicyV1beta1Client | |||||
| rbacV1 *rbacv1.RbacV1Client | |||||
| rbacV1beta1 *rbacv1beta1.RbacV1beta1Client | |||||
| rbacV1alpha1 *rbacv1alpha1.RbacV1alpha1Client | |||||
| schedulingV1alpha1 *schedulingv1alpha1.SchedulingV1alpha1Client | |||||
| schedulingV1beta1 *schedulingv1beta1.SchedulingV1beta1Client | |||||
| schedulingV1 *schedulingv1.SchedulingV1Client | |||||
| storageV1beta1 *storagev1beta1.StorageV1beta1Client | |||||
| storageV1 *storagev1.StorageV1Client | |||||
| storageV1alpha1 *storagev1alpha1.StorageV1alpha1Client | |||||
| } | |||||
| // AdmissionregistrationV1 retrieves the AdmissionregistrationV1Client | |||||
| func (c *Clientset) AdmissionregistrationV1() admissionregistrationv1.AdmissionregistrationV1Interface { | |||||
| return c.admissionregistrationV1 | |||||
| } | |||||
| // AdmissionregistrationV1beta1 retrieves the AdmissionregistrationV1beta1Client | |||||
| func (c *Clientset) AdmissionregistrationV1beta1() admissionregistrationv1beta1.AdmissionregistrationV1beta1Interface { | |||||
| return c.admissionregistrationV1beta1 | |||||
| } | |||||
| // InternalV1alpha1 retrieves the InternalV1alpha1Client | |||||
| func (c *Clientset) InternalV1alpha1() internalv1alpha1.InternalV1alpha1Interface { | |||||
| return c.internalV1alpha1 | |||||
| } | |||||
| // AppsV1 retrieves the AppsV1Client | |||||
| func (c *Clientset) AppsV1() appsv1.AppsV1Interface { | |||||
| return c.appsV1 | |||||
| } | |||||
| // AppsV1beta1 retrieves the AppsV1beta1Client | |||||
| func (c *Clientset) AppsV1beta1() appsv1beta1.AppsV1beta1Interface { | |||||
| return c.appsV1beta1 | |||||
| } | |||||
| // AppsV1beta2 retrieves the AppsV1beta2Client | |||||
| func (c *Clientset) AppsV1beta2() appsv1beta2.AppsV1beta2Interface { | |||||
| return c.appsV1beta2 | |||||
| } | |||||
| // AuthenticationV1 retrieves the AuthenticationV1Client | |||||
| func (c *Clientset) AuthenticationV1() authenticationv1.AuthenticationV1Interface { | |||||
| return c.authenticationV1 | |||||
| } | |||||
| // AuthenticationV1beta1 retrieves the AuthenticationV1beta1Client | |||||
| func (c *Clientset) AuthenticationV1beta1() authenticationv1beta1.AuthenticationV1beta1Interface { | |||||
| return c.authenticationV1beta1 | |||||
| } | |||||
| // AuthorizationV1 retrieves the AuthorizationV1Client | |||||
| func (c *Clientset) AuthorizationV1() authorizationv1.AuthorizationV1Interface { | |||||
| return c.authorizationV1 | |||||
| } | |||||
| // AuthorizationV1beta1 retrieves the AuthorizationV1beta1Client | |||||
| func (c *Clientset) AuthorizationV1beta1() authorizationv1beta1.AuthorizationV1beta1Interface { | |||||
| return c.authorizationV1beta1 | |||||
| } | |||||
| // AutoscalingV1 retrieves the AutoscalingV1Client | |||||
| func (c *Clientset) AutoscalingV1() autoscalingv1.AutoscalingV1Interface { | |||||
| return c.autoscalingV1 | |||||
| } | |||||
| // AutoscalingV2beta1 retrieves the AutoscalingV2beta1Client | |||||
| func (c *Clientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface { | |||||
| return c.autoscalingV2beta1 | |||||
| } | |||||
| // AutoscalingV2beta2 retrieves the AutoscalingV2beta2Client | |||||
| func (c *Clientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface { | |||||
| return c.autoscalingV2beta2 | |||||
| } | |||||
| // BatchV1 retrieves the BatchV1Client | |||||
| func (c *Clientset) BatchV1() batchv1.BatchV1Interface { | |||||
| return c.batchV1 | |||||
| } | |||||
| // BatchV1beta1 retrieves the BatchV1beta1Client | |||||
| func (c *Clientset) BatchV1beta1() batchv1beta1.BatchV1beta1Interface { | |||||
| return c.batchV1beta1 | |||||
| } | |||||
| // CertificatesV1 retrieves the CertificatesV1Client | |||||
| func (c *Clientset) CertificatesV1() certificatesv1.CertificatesV1Interface { | |||||
| return c.certificatesV1 | |||||
| } | |||||
| // CertificatesV1beta1 retrieves the CertificatesV1beta1Client | |||||
| func (c *Clientset) CertificatesV1beta1() certificatesv1beta1.CertificatesV1beta1Interface { | |||||
| return c.certificatesV1beta1 | |||||
| } | |||||
| // CoordinationV1beta1 retrieves the CoordinationV1beta1Client | |||||
| func (c *Clientset) CoordinationV1beta1() coordinationv1beta1.CoordinationV1beta1Interface { | |||||
| return c.coordinationV1beta1 | |||||
| } | |||||
| // CoordinationV1 retrieves the CoordinationV1Client | |||||
| func (c *Clientset) CoordinationV1() coordinationv1.CoordinationV1Interface { | |||||
| return c.coordinationV1 | |||||
| } | |||||
| // CoreV1 retrieves the CoreV1Client | |||||
| func (c *Clientset) CoreV1() corev1.CoreV1Interface { | |||||
| return c.coreV1 | |||||
| } | |||||
| // DiscoveryV1 retrieves the DiscoveryV1Client | |||||
| func (c *Clientset) DiscoveryV1() discoveryv1.DiscoveryV1Interface { | |||||
| return c.discoveryV1 | |||||
| } | |||||
| // DiscoveryV1beta1 retrieves the DiscoveryV1beta1Client | |||||
| func (c *Clientset) DiscoveryV1beta1() discoveryv1beta1.DiscoveryV1beta1Interface { | |||||
| return c.discoveryV1beta1 | |||||
| } | |||||
| // EventsV1 retrieves the EventsV1Client | |||||
| func (c *Clientset) EventsV1() eventsv1.EventsV1Interface { | |||||
| return c.eventsV1 | |||||
| } | |||||
| // EventsV1beta1 retrieves the EventsV1beta1Client | |||||
| func (c *Clientset) EventsV1beta1() eventsv1beta1.EventsV1beta1Interface { | |||||
| return c.eventsV1beta1 | |||||
| } | |||||
| // ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client | |||||
| func (c *Clientset) ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface { | |||||
| return c.extensionsV1beta1 | |||||
| } | |||||
| // FlowcontrolV1alpha1 retrieves the FlowcontrolV1alpha1Client | |||||
| func (c *Clientset) FlowcontrolV1alpha1() flowcontrolv1alpha1.FlowcontrolV1alpha1Interface { | |||||
| return c.flowcontrolV1alpha1 | |||||
| } | |||||
| // FlowcontrolV1beta1 retrieves the FlowcontrolV1beta1Client | |||||
| func (c *Clientset) FlowcontrolV1beta1() flowcontrolv1beta1.FlowcontrolV1beta1Interface { | |||||
| return c.flowcontrolV1beta1 | |||||
| } | |||||
| // NetworkingV1 retrieves the NetworkingV1Client | |||||
| func (c *Clientset) NetworkingV1() networkingv1.NetworkingV1Interface { | |||||
| return c.networkingV1 | |||||
| } | |||||
| // NetworkingV1beta1 retrieves the NetworkingV1beta1Client | |||||
| func (c *Clientset) NetworkingV1beta1() networkingv1beta1.NetworkingV1beta1Interface { | |||||
| return c.networkingV1beta1 | |||||
| } | |||||
| // NodeV1 retrieves the NodeV1Client | |||||
| func (c *Clientset) NodeV1() nodev1.NodeV1Interface { | |||||
| return c.nodeV1 | |||||
| } | |||||
| // NodeV1alpha1 retrieves the NodeV1alpha1Client | |||||
| func (c *Clientset) NodeV1alpha1() nodev1alpha1.NodeV1alpha1Interface { | |||||
| return c.nodeV1alpha1 | |||||
| } | |||||
| // NodeV1beta1 retrieves the NodeV1beta1Client | |||||
| func (c *Clientset) NodeV1beta1() nodev1beta1.NodeV1beta1Interface { | |||||
| return c.nodeV1beta1 | |||||
| } | |||||
| // PolicyV1 retrieves the PolicyV1Client | |||||
| func (c *Clientset) PolicyV1() policyv1.PolicyV1Interface { | |||||
| return c.policyV1 | |||||
| } | |||||
| // PolicyV1beta1 retrieves the PolicyV1beta1Client | |||||
| func (c *Clientset) PolicyV1beta1() policyv1beta1.PolicyV1beta1Interface { | |||||
| return c.policyV1beta1 | |||||
| } | |||||
| // RbacV1 retrieves the RbacV1Client | |||||
| func (c *Clientset) RbacV1() rbacv1.RbacV1Interface { | |||||
| return c.rbacV1 | |||||
| } | |||||
| // RbacV1beta1 retrieves the RbacV1beta1Client | |||||
| func (c *Clientset) RbacV1beta1() rbacv1beta1.RbacV1beta1Interface { | |||||
| return c.rbacV1beta1 | |||||
| } | |||||
| // RbacV1alpha1 retrieves the RbacV1alpha1Client | |||||
| func (c *Clientset) RbacV1alpha1() rbacv1alpha1.RbacV1alpha1Interface { | |||||
| return c.rbacV1alpha1 | |||||
| } | |||||
| // SchedulingV1alpha1 retrieves the SchedulingV1alpha1Client | |||||
| func (c *Clientset) SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1Interface { | |||||
| return c.schedulingV1alpha1 | |||||
| } | |||||
| // SchedulingV1beta1 retrieves the SchedulingV1beta1Client | |||||
| func (c *Clientset) SchedulingV1beta1() schedulingv1beta1.SchedulingV1beta1Interface { | |||||
| return c.schedulingV1beta1 | |||||
| } | |||||
| // SchedulingV1 retrieves the SchedulingV1Client | |||||
| func (c *Clientset) SchedulingV1() schedulingv1.SchedulingV1Interface { | |||||
| return c.schedulingV1 | |||||
| } | |||||
| // StorageV1beta1 retrieves the StorageV1beta1Client | |||||
| func (c *Clientset) StorageV1beta1() storagev1beta1.StorageV1beta1Interface { | |||||
| return c.storageV1beta1 | |||||
| } | |||||
| // StorageV1 retrieves the StorageV1Client | |||||
| func (c *Clientset) StorageV1() storagev1.StorageV1Interface { | |||||
| return c.storageV1 | |||||
| } | |||||
| // StorageV1alpha1 retrieves the StorageV1alpha1Client | |||||
| func (c *Clientset) StorageV1alpha1() storagev1alpha1.StorageV1alpha1Interface { | |||||
| return c.storageV1alpha1 | |||||
| } | |||||
| // 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.admissionregistrationV1, err = admissionregistrationv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.admissionregistrationV1beta1, err = admissionregistrationv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.internalV1alpha1, err = internalv1alpha1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.appsV1, err = appsv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.appsV1beta1, err = appsv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.appsV1beta2, err = appsv1beta2.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.authenticationV1, err = authenticationv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.authenticationV1beta1, err = authenticationv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.authorizationV1, err = authorizationv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.authorizationV1beta1, err = authorizationv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.autoscalingV1, err = autoscalingv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.autoscalingV2beta1, err = autoscalingv2beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.autoscalingV2beta2, err = autoscalingv2beta2.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.batchV1, err = batchv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.batchV1beta1, err = batchv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.certificatesV1, err = certificatesv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.certificatesV1beta1, err = certificatesv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.coordinationV1beta1, err = coordinationv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.coordinationV1, err = coordinationv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.coreV1, err = corev1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.discoveryV1, err = discoveryv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.discoveryV1beta1, err = discoveryv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.eventsV1, err = eventsv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.eventsV1beta1, err = eventsv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.extensionsV1beta1, err = extensionsv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.flowcontrolV1alpha1, err = flowcontrolv1alpha1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.flowcontrolV1beta1, err = flowcontrolv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.networkingV1, err = networkingv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.networkingV1beta1, err = networkingv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.nodeV1, err = nodev1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.nodeV1alpha1, err = nodev1alpha1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.nodeV1beta1, err = nodev1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.policyV1, err = policyv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.policyV1beta1, err = policyv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.rbacV1, err = rbacv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.rbacV1beta1, err = rbacv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.rbacV1alpha1, err = rbacv1alpha1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.schedulingV1alpha1, err = schedulingv1alpha1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.schedulingV1beta1, err = schedulingv1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.schedulingV1, err = schedulingv1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.storageV1beta1, err = storagev1beta1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.storageV1, err = storagev1.NewForConfig(&configShallowCopy) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| cs.storageV1alpha1, err = storagev1alpha1.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.admissionregistrationV1 = admissionregistrationv1.NewForConfigOrDie(c) | |||||
| cs.admissionregistrationV1beta1 = admissionregistrationv1beta1.NewForConfigOrDie(c) | |||||
| cs.internalV1alpha1 = internalv1alpha1.NewForConfigOrDie(c) | |||||
| cs.appsV1 = appsv1.NewForConfigOrDie(c) | |||||
| cs.appsV1beta1 = appsv1beta1.NewForConfigOrDie(c) | |||||
| cs.appsV1beta2 = appsv1beta2.NewForConfigOrDie(c) | |||||
| cs.authenticationV1 = authenticationv1.NewForConfigOrDie(c) | |||||
| cs.authenticationV1beta1 = authenticationv1beta1.NewForConfigOrDie(c) | |||||
| cs.authorizationV1 = authorizationv1.NewForConfigOrDie(c) | |||||
| cs.authorizationV1beta1 = authorizationv1beta1.NewForConfigOrDie(c) | |||||
| cs.autoscalingV1 = autoscalingv1.NewForConfigOrDie(c) | |||||
| cs.autoscalingV2beta1 = autoscalingv2beta1.NewForConfigOrDie(c) | |||||
| cs.autoscalingV2beta2 = autoscalingv2beta2.NewForConfigOrDie(c) | |||||
| cs.batchV1 = batchv1.NewForConfigOrDie(c) | |||||
| cs.batchV1beta1 = batchv1beta1.NewForConfigOrDie(c) | |||||
| cs.certificatesV1 = certificatesv1.NewForConfigOrDie(c) | |||||
| cs.certificatesV1beta1 = certificatesv1beta1.NewForConfigOrDie(c) | |||||
| cs.coordinationV1beta1 = coordinationv1beta1.NewForConfigOrDie(c) | |||||
| cs.coordinationV1 = coordinationv1.NewForConfigOrDie(c) | |||||
| cs.coreV1 = corev1.NewForConfigOrDie(c) | |||||
| cs.discoveryV1 = discoveryv1.NewForConfigOrDie(c) | |||||
| cs.discoveryV1beta1 = discoveryv1beta1.NewForConfigOrDie(c) | |||||
| cs.eventsV1 = eventsv1.NewForConfigOrDie(c) | |||||
| cs.eventsV1beta1 = eventsv1beta1.NewForConfigOrDie(c) | |||||
| cs.extensionsV1beta1 = extensionsv1beta1.NewForConfigOrDie(c) | |||||
| cs.flowcontrolV1alpha1 = flowcontrolv1alpha1.NewForConfigOrDie(c) | |||||
| cs.flowcontrolV1beta1 = flowcontrolv1beta1.NewForConfigOrDie(c) | |||||
| cs.networkingV1 = networkingv1.NewForConfigOrDie(c) | |||||
| cs.networkingV1beta1 = networkingv1beta1.NewForConfigOrDie(c) | |||||
| cs.nodeV1 = nodev1.NewForConfigOrDie(c) | |||||
| cs.nodeV1alpha1 = nodev1alpha1.NewForConfigOrDie(c) | |||||
| cs.nodeV1beta1 = nodev1beta1.NewForConfigOrDie(c) | |||||
| cs.policyV1 = policyv1.NewForConfigOrDie(c) | |||||
| cs.policyV1beta1 = policyv1beta1.NewForConfigOrDie(c) | |||||
| cs.rbacV1 = rbacv1.NewForConfigOrDie(c) | |||||
| cs.rbacV1beta1 = rbacv1beta1.NewForConfigOrDie(c) | |||||
| cs.rbacV1alpha1 = rbacv1alpha1.NewForConfigOrDie(c) | |||||
| cs.schedulingV1alpha1 = schedulingv1alpha1.NewForConfigOrDie(c) | |||||
| cs.schedulingV1beta1 = schedulingv1beta1.NewForConfigOrDie(c) | |||||
| cs.schedulingV1 = schedulingv1.NewForConfigOrDie(c) | |||||
| cs.storageV1beta1 = storagev1beta1.NewForConfigOrDie(c) | |||||
| cs.storageV1 = storagev1.NewForConfigOrDie(c) | |||||
| cs.storageV1alpha1 = storagev1alpha1.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.admissionregistrationV1 = admissionregistrationv1.New(c) | |||||
| cs.admissionregistrationV1beta1 = admissionregistrationv1beta1.New(c) | |||||
| cs.internalV1alpha1 = internalv1alpha1.New(c) | |||||
| cs.appsV1 = appsv1.New(c) | |||||
| cs.appsV1beta1 = appsv1beta1.New(c) | |||||
| cs.appsV1beta2 = appsv1beta2.New(c) | |||||
| cs.authenticationV1 = authenticationv1.New(c) | |||||
| cs.authenticationV1beta1 = authenticationv1beta1.New(c) | |||||
| cs.authorizationV1 = authorizationv1.New(c) | |||||
| cs.authorizationV1beta1 = authorizationv1beta1.New(c) | |||||
| cs.autoscalingV1 = autoscalingv1.New(c) | |||||
| cs.autoscalingV2beta1 = autoscalingv2beta1.New(c) | |||||
| cs.autoscalingV2beta2 = autoscalingv2beta2.New(c) | |||||
| cs.batchV1 = batchv1.New(c) | |||||
| cs.batchV1beta1 = batchv1beta1.New(c) | |||||
| cs.certificatesV1 = certificatesv1.New(c) | |||||
| cs.certificatesV1beta1 = certificatesv1beta1.New(c) | |||||
| cs.coordinationV1beta1 = coordinationv1beta1.New(c) | |||||
| cs.coordinationV1 = coordinationv1.New(c) | |||||
| cs.coreV1 = corev1.New(c) | |||||
| cs.discoveryV1 = discoveryv1.New(c) | |||||
| cs.discoveryV1beta1 = discoveryv1beta1.New(c) | |||||
| cs.eventsV1 = eventsv1.New(c) | |||||
| cs.eventsV1beta1 = eventsv1beta1.New(c) | |||||
| cs.extensionsV1beta1 = extensionsv1beta1.New(c) | |||||
| cs.flowcontrolV1alpha1 = flowcontrolv1alpha1.New(c) | |||||
| cs.flowcontrolV1beta1 = flowcontrolv1beta1.New(c) | |||||
| cs.networkingV1 = networkingv1.New(c) | |||||
| cs.networkingV1beta1 = networkingv1beta1.New(c) | |||||
| cs.nodeV1 = nodev1.New(c) | |||||
| cs.nodeV1alpha1 = nodev1alpha1.New(c) | |||||
| cs.nodeV1beta1 = nodev1beta1.New(c) | |||||
| cs.policyV1 = policyv1.New(c) | |||||
| cs.policyV1beta1 = policyv1beta1.New(c) | |||||
| cs.rbacV1 = rbacv1.New(c) | |||||
| cs.rbacV1beta1 = rbacv1beta1.New(c) | |||||
| cs.rbacV1alpha1 = rbacv1alpha1.New(c) | |||||
| cs.schedulingV1alpha1 = schedulingv1alpha1.New(c) | |||||
| cs.schedulingV1beta1 = schedulingv1beta1.New(c) | |||||
| cs.schedulingV1 = schedulingv1.New(c) | |||||
| cs.storageV1beta1 = storagev1beta1.New(c) | |||||
| cs.storageV1 = storagev1.New(c) | |||||
| cs.storageV1alpha1 = storagev1alpha1.New(c) | |||||
| cs.DiscoveryClient = discovery.NewDiscoveryClient(c) | |||||
| return &cs | |||||
| } | |||||
| @@ -0,0 +1,90 @@ | |||||
| /* | |||||
| 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 v1 | |||||
| import ( | |||||
| v1 "k8s.io/api/core/v1" | |||||
| "k8s.io/client-go/kubernetes/scheme" | |||||
| rest "k8s.io/client-go/rest" | |||||
| ) | |||||
| type CoreV1Interface interface { | |||||
| RESTClient() rest.Interface | |||||
| PodsGetter | |||||
| } | |||||
| // CoreV1Client is used to interact with features provided by the group. | |||||
| type CoreV1Client struct { | |||||
| restClient rest.Interface | |||||
| } | |||||
| func (c *CoreV1Client) Pods(namespace string) PodInterface { | |||||
| //TODO implement me | |||||
| return newPods(c, namespace) | |||||
| } | |||||
| // NewForConfig creates a new CoreV1Client for the given config. | |||||
| func NewForConfig(c *rest.Config) (*CoreV1Client, error) { | |||||
| config := *c | |||||
| if err := setConfigDefaults(&config); err != nil { | |||||
| return nil, err | |||||
| } | |||||
| client, err := rest.RESTClientFor(&config) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| return &CoreV1Client{client}, nil | |||||
| } | |||||
| // NewForConfigOrDie creates a new CoreV1Client for the given config and | |||||
| // panics if there is an error in the config. | |||||
| func NewForConfigOrDie(c *rest.Config) *CoreV1Client { | |||||
| client, err := NewForConfig(c) | |||||
| if err != nil { | |||||
| panic(err) | |||||
| } | |||||
| return client | |||||
| } | |||||
| // New creates a new CoreV1Client for the given RESTClient. | |||||
| func New(c rest.Interface) *CoreV1Client { | |||||
| return &CoreV1Client{c} | |||||
| } | |||||
| func setConfigDefaults(config *rest.Config) error { | |||||
| gv := v1.SchemeGroupVersion | |||||
| config.GroupVersion = &gv | |||||
| config.APIPath = "/api" | |||||
| config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() | |||||
| if config.UserAgent == "" { | |||||
| config.UserAgent = rest.DefaultKubernetesUserAgent() | |||||
| } | |||||
| return nil | |||||
| } | |||||
| // RESTClient returns a RESTClient that is used to communicate | |||||
| // with API server by this client implementation. | |||||
| func (c *CoreV1Client) RESTClient() rest.Interface { | |||||
| if c == nil { | |||||
| return nil | |||||
| } | |||||
| return c.restClient | |||||
| } | |||||
| @@ -0,0 +1,388 @@ | |||||
| package v1 | |||||
| import ( | |||||
| "context" | |||||
| json "encoding/json" | |||||
| "errors" | |||||
| "flag" | |||||
| "fmt" | |||||
| "github.com/golang/glog" | |||||
| "gitlink.org.cn/JCCE/PCM/adaptor/pod/server" | |||||
| "gitlink.org.cn/JCCE/PCM/common/tenanter" | |||||
| "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbpod" | |||||
| "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbtenant" | |||||
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||||
| "strconv" | |||||
| "time" | |||||
| v1 "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/api/core/v1" | |||||
| types "k8s.io/apimachinery/pkg/types" | |||||
| watch "k8s.io/apimachinery/pkg/watch" | |||||
| corev1 "k8s.io/client-go/applyconfigurations/core/v1" | |||||
| scheme "k8s.io/client-go/kubernetes/scheme" | |||||
| rest "k8s.io/client-go/rest" | |||||
| ) | |||||
| // PodsGetter has a method to return a PodInterface. | |||||
| // A group's client should implement this interface. | |||||
| type PodsGetter interface { | |||||
| Pods(namespace string) PodInterface | |||||
| } | |||||
| // PodInterface has methods to work with Pod resources. | |||||
| type PodInterface interface { | |||||
| Create(ctx context.Context, pod *v1.Pod, opts metav1.CreateOptions) (*v1.Pod, error) | |||||
| Update(ctx context.Context, pod *v1.Pod, opts metav1.UpdateOptions) (*v1.Pod, error) | |||||
| UpdateStatus(ctx context.Context, pod *v1.Pod, opts metav1.UpdateOptions) (*v1.Pod, error) | |||||
| Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error | |||||
| DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error | |||||
| Get(ctx context.Context, name string, opts metav1.GetOptions) (*v1.Pod, error) | |||||
| List(ctx context.Context, opts metav1.ListOptions) (*v1.PodList, error) | |||||
| Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) | |||||
| Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Pod, err error) | |||||
| Apply(ctx context.Context, pod *corev1.PodApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Pod, err error) | |||||
| ApplyStatus(ctx context.Context, pod *corev1.PodApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Pod, err error) | |||||
| GetEphemeralContainers(ctx context.Context, podName string, options metav1.GetOptions) (*v1.EphemeralContainers, error) | |||||
| UpdateEphemeralContainers(ctx context.Context, podName string, ephemeralContainers *v1.EphemeralContainers, opts metav1.UpdateOptions) (*v1.EphemeralContainers, error) | |||||
| PodExpansion | |||||
| } | |||||
| // pods implements PodInterface | |||||
| type pods struct { | |||||
| client rest.Interface | |||||
| ns string | |||||
| } | |||||
| // newPods returns a Pods | |||||
| func newPods(c *CoreV1Client, namespace string) *pods { | |||||
| return &pods{ | |||||
| client: c.RESTClient(), | |||||
| ns: namespace, | |||||
| } | |||||
| } | |||||
| // Get takes name of the pod, and returns the corresponding pod object, and an error if there is any. | |||||
| func (c *pods) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Pod, err error) { | |||||
| result = &v1.Pod{} | |||||
| err = c.client.Get(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(name). | |||||
| VersionedParams(&options, scheme.ParameterCodec). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // List takes label and field selectors, and returns the list of Pods that match those selectors. | |||||
| func (c *pods) List(ctx context.Context, opts metav1.ListOptions) (result *v1.PodList, err error) { | |||||
| var timeout time.Duration | |||||
| if opts.TimeoutSeconds != nil { | |||||
| timeout = time.Duration(*opts.TimeoutSeconds) * time.Second | |||||
| } | |||||
| result = &v1.PodList{} | |||||
| err = c.client.Get(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| VersionedParams(&opts, scheme.ParameterCodec). | |||||
| Timeout(timeout). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // Watch returns a watch.Interface that watches the requested pods. | |||||
| func (c *pods) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { | |||||
| var timeout time.Duration | |||||
| if opts.TimeoutSeconds != nil { | |||||
| timeout = time.Duration(*opts.TimeoutSeconds) * time.Second | |||||
| } | |||||
| opts.Watch = true | |||||
| return c.client.Get(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| VersionedParams(&opts, scheme.ParameterCodec). | |||||
| Timeout(timeout). | |||||
| Watch(ctx) | |||||
| } | |||||
| // Create takes the representation of a pod and creates it. Returns the server's representation of the pod, and an error, if there is any. | |||||
| func (c *pods) Create(ctx context.Context, pod *v1.Pod, opts metav1.CreateOptions) (result *v1.Pod, err error) { | |||||
| result = &v1.Pod{} | |||||
| provider := pbtenant.CloudProvider(pod.Spec.ProviderId) | |||||
| var configFile string | |||||
| flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml") | |||||
| flag.Parse() | |||||
| defer glog.Flush() | |||||
| if err := tenanter.LoadCloudConfigsFromFile(configFile); err != nil { | |||||
| if !errors.Is(err, tenanter.ErrLoadTenanterFileEmpty) { | |||||
| glog.Fatalf("tenanter.LoadCloudConfigsFromFile error %+v", err) | |||||
| } | |||||
| glog.Warningf("tenanter.LoadCloudConfigsFromFile empty file path %s", configFile) | |||||
| } | |||||
| glog.Infof("load tenant from file finished") | |||||
| tenanters, err := tenanter.GetTenanters(provider) | |||||
| var regionId int32 | |||||
| var cpuPod string | |||||
| var memoryPod string | |||||
| switch pod.Spec.ProviderId { | |||||
| case 0: | |||||
| regionId, _ = tenanter.GetAliRegionId(pod.Spec.RegionId) | |||||
| cpuPod = strconv.FormatInt(pod.Spec.Containers[0].Resources.Limits.Cpu().MilliValue()/1000, 10) | |||||
| memoryPod = strconv.FormatInt(pod.Spec.Containers[0].Resources.Limits.Memory().MilliValue()/1024/1024/1024/1000, 10) | |||||
| case 1: | |||||
| regionId, _ = tenanter.GetTencentRegionId(pod.Spec.RegionId) | |||||
| cpuPod = strconv.FormatInt(pod.Spec.Containers[0].Resources.Limits.Cpu().MilliValue()/1000, 10) | |||||
| memoryPod = strconv.FormatInt(pod.Spec.Containers[0].Resources.Limits.Memory().MilliValue()/1024/1024/1024/1000, 10) | |||||
| case 2: | |||||
| regionId, _ = tenanter.GetHuaweiRegionId(pod.Spec.RegionId) | |||||
| cpuPod = pod.Spec.Containers[0].Resources.Limits.Cpu().String() | |||||
| memoryPod = pod.Spec.Containers[0].Resources.Limits.Memory().String() | |||||
| case 3: | |||||
| regionId, _ = tenanter.GetK8SRegionId(pod.Spec.RegionId) | |||||
| cpuPod = strconv.FormatInt(pod.Spec.Containers[0].Resources.Limits.Cpu().MilliValue()/1000, 10) | |||||
| memoryPod = strconv.FormatInt(pod.Spec.Containers[0].Resources.Limits.Memory().MilliValue()/1024/1024/1024/1000, 10) | |||||
| } | |||||
| requestPCM := &pbpod.CreatePodReq{ | |||||
| RequestSource: "huawei", | |||||
| Provider: provider, | |||||
| AccountName: tenanters[0].AccountName(), | |||||
| PodName: pod.Name, | |||||
| RegionId: regionId, | |||||
| ContainerImage: pod.Spec.Containers[0].Image, | |||||
| ContainerName: pod.Spec.Containers[0].Name, | |||||
| CpuPod: cpuPod, | |||||
| MemoryPod: memoryPod, | |||||
| SecurityGroupId: "sg-6qlun7hd", | |||||
| SubnetId: "subnet-mnwfg2fk", | |||||
| VpcId: "vpc-rkwt40g5", | |||||
| Namespace: pod.ObjectMeta.Namespace, | |||||
| } | |||||
| server.CreatePod(nil, requestPCM) | |||||
| result = &v1.Pod{ | |||||
| TypeMeta: metav1.TypeMeta{}, | |||||
| ObjectMeta: metav1.ObjectMeta{}, | |||||
| Spec: v1.PodSpec{ | |||||
| ProviderId: pod.Spec.ProviderId, | |||||
| RegionId: pod.Spec.RegionId, | |||||
| AccountName: pod.Spec.AccountName, | |||||
| Volumes: nil, | |||||
| InitContainers: nil, | |||||
| Containers: pod.Spec.Containers, | |||||
| EphemeralContainers: nil, | |||||
| RestartPolicy: "", | |||||
| TerminationGracePeriodSeconds: nil, | |||||
| ActiveDeadlineSeconds: nil, | |||||
| DNSPolicy: "", | |||||
| NodeSelector: nil, | |||||
| ServiceAccountName: "", | |||||
| DeprecatedServiceAccount: "", | |||||
| AutomountServiceAccountToken: nil, | |||||
| NodeName: "", | |||||
| HostNetwork: false, | |||||
| HostPID: false, | |||||
| HostIPC: false, | |||||
| ShareProcessNamespace: nil, | |||||
| SecurityContext: nil, | |||||
| ImagePullSecrets: nil, | |||||
| Hostname: "", | |||||
| Subdomain: "", | |||||
| Affinity: nil, | |||||
| SchedulerName: "", | |||||
| Tolerations: nil, | |||||
| HostAliases: nil, | |||||
| PriorityClassName: "", | |||||
| Priority: nil, | |||||
| DNSConfig: nil, | |||||
| ReadinessGates: nil, | |||||
| RuntimeClassName: nil, | |||||
| EnableServiceLinks: nil, | |||||
| PreemptionPolicy: nil, | |||||
| Overhead: nil, | |||||
| TopologySpreadConstraints: nil, | |||||
| SetHostnameAsFQDN: nil, | |||||
| }, | |||||
| Status: v1.PodStatus{ | |||||
| Phase: "", | |||||
| Conditions: nil, | |||||
| Message: "", | |||||
| Reason: "", | |||||
| NominatedNodeName: "", | |||||
| HostIP: "", | |||||
| PodIP: "", | |||||
| PodIPs: nil, | |||||
| StartTime: nil, | |||||
| InitContainerStatuses: nil, | |||||
| ContainerStatuses: nil, | |||||
| QOSClass: "", | |||||
| EphemeralContainerStatuses: nil, | |||||
| }, | |||||
| } | |||||
| return | |||||
| } | |||||
| // Update takes the representation of a pod and updates it. Returns the server's representation of the pod, and an error, if there is any. | |||||
| func (c *pods) Update(ctx context.Context, pod *v1.Pod, opts metav1.UpdateOptions) (result *v1.Pod, err error) { | |||||
| result = &v1.Pod{} | |||||
| err = c.client.Put(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(pod.Name). | |||||
| VersionedParams(&opts, scheme.ParameterCodec). | |||||
| Body(pod). | |||||
| Do(ctx). | |||||
| 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 *pods) UpdateStatus(ctx context.Context, pod *v1.Pod, opts metav1.UpdateOptions) (result *v1.Pod, err error) { | |||||
| result = &v1.Pod{} | |||||
| err = c.client.Put(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(pod.Name). | |||||
| SubResource("status"). | |||||
| VersionedParams(&opts, scheme.ParameterCodec). | |||||
| Body(pod). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // Delete takes name of the pod and deletes it. Returns an error if one occurs. | |||||
| func (c *pods) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { | |||||
| return c.client.Delete(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(name). | |||||
| Body(&opts). | |||||
| Do(ctx). | |||||
| Error() | |||||
| } | |||||
| // DeleteCollection deletes a collection of objects. | |||||
| func (c *pods) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { | |||||
| var timeout time.Duration | |||||
| if listOpts.TimeoutSeconds != nil { | |||||
| timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second | |||||
| } | |||||
| return c.client.Delete(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| VersionedParams(&listOpts, scheme.ParameterCodec). | |||||
| Timeout(timeout). | |||||
| Body(&opts). | |||||
| Do(ctx). | |||||
| Error() | |||||
| } | |||||
| // Patch applies the patch and returns the patched pod. | |||||
| func (c *pods) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Pod, err error) { | |||||
| result = &v1.Pod{} | |||||
| err = c.client.Patch(pt). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(name). | |||||
| SubResource(subresources...). | |||||
| VersionedParams(&opts, scheme.ParameterCodec). | |||||
| Body(data). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // Apply takes the given apply declarative configuration, applies it and returns the applied pod. | |||||
| func (c *pods) Apply(ctx context.Context, pod *corev1.PodApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Pod, err error) { | |||||
| if pod == nil { | |||||
| return nil, fmt.Errorf("pod provided to Apply must not be nil") | |||||
| } | |||||
| patchOpts := opts.ToPatchOptions() | |||||
| data, err := json.Marshal(pod) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| name := pod.Name | |||||
| if name == nil { | |||||
| return nil, fmt.Errorf("pod.Name must be provided to Apply") | |||||
| } | |||||
| result = &v1.Pod{} | |||||
| err = c.client.Patch(types.ApplyPatchType). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(*name). | |||||
| VersionedParams(&patchOpts, scheme.ParameterCodec). | |||||
| Body(data). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // ApplyStatus was generated because the type contains a Status member. | |||||
| // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). | |||||
| func (c *pods) ApplyStatus(ctx context.Context, pod *corev1.PodApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Pod, err error) { | |||||
| if pod == nil { | |||||
| return nil, fmt.Errorf("pod provided to Apply must not be nil") | |||||
| } | |||||
| patchOpts := opts.ToPatchOptions() | |||||
| data, err := json.Marshal(pod) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| name := pod.Name | |||||
| if name == nil { | |||||
| return nil, fmt.Errorf("pod.Name must be provided to Apply") | |||||
| } | |||||
| result = &v1.Pod{} | |||||
| err = c.client.Patch(types.ApplyPatchType). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(*name). | |||||
| SubResource("status"). | |||||
| VersionedParams(&patchOpts, scheme.ParameterCodec). | |||||
| Body(data). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // GetEphemeralContainers takes name of the pod, and returns the corresponding v1.EphemeralContainers object, and an error if there is any. | |||||
| func (c *pods) GetEphemeralContainers(ctx context.Context, podName string, options metav1.GetOptions) (result *v1.EphemeralContainers, err error) { | |||||
| result = &v1.EphemeralContainers{} | |||||
| err = c.client.Get(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(podName). | |||||
| SubResource("ephemeralcontainers"). | |||||
| VersionedParams(&options, scheme.ParameterCodec). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| // UpdateEphemeralContainers takes the top resource name and the representation of a ephemeralContainers and updates it. Returns the server's representation of the ephemeralContainers, and an error, if there is any. | |||||
| func (c *pods) UpdateEphemeralContainers(ctx context.Context, podName string, ephemeralContainers *v1.EphemeralContainers, opts metav1.UpdateOptions) (result *v1.EphemeralContainers, err error) { | |||||
| result = &v1.EphemeralContainers{} | |||||
| err = c.client.Put(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| Name(podName). | |||||
| SubResource("ephemeralcontainers"). | |||||
| VersionedParams(&opts, scheme.ParameterCodec). | |||||
| Body(ephemeralContainers). | |||||
| Do(ctx). | |||||
| Into(result) | |||||
| return | |||||
| } | |||||
| @@ -0,0 +1,64 @@ | |||||
| /* | |||||
| Copyright 2016 The Kubernetes Authors. | |||||
| Licensed under the Apache License, Version 2.0 (the "License"); | |||||
| you may not use this file except in compliance with the License. | |||||
| You may obtain a copy of the License at | |||||
| http://www.apache.org/licenses/LICENSE-2.0 | |||||
| Unless required by applicable law or agreed to in writing, software | |||||
| distributed under the License is distributed on an "AS IS" BASIS, | |||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
| See the License for the specific language governing permissions and | |||||
| limitations under the License. | |||||
| */ | |||||
| package v1 | |||||
| import ( | |||||
| "context" | |||||
| v1 "k8s.io/api/core/v1" | |||||
| policy "k8s.io/api/policy/v1beta1" | |||||
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||||
| "k8s.io/apimachinery/pkg/util/net" | |||||
| "k8s.io/client-go/kubernetes/scheme" | |||||
| restclient "k8s.io/client-go/rest" | |||||
| ) | |||||
| // The PodExpansion interface allows manually adding extra methods to the PodInterface. | |||||
| type PodExpansion interface { | |||||
| Bind(ctx context.Context, binding *v1.Binding, opts metav1.CreateOptions) error | |||||
| Evict(ctx context.Context, eviction *policy.Eviction) error | |||||
| GetLogs(name string, opts *v1.PodLogOptions) *restclient.Request | |||||
| ProxyGet(scheme, name, port, path string, params map[string]string) restclient.ResponseWrapper | |||||
| } | |||||
| // Bind applies the provided binding to the named pod in the current namespace (binding.Namespace is ignored). | |||||
| func (c *pods) Bind(ctx context.Context, binding *v1.Binding, opts metav1.CreateOptions) error { | |||||
| return c.client.Post().Namespace(c.ns).Resource("pods").Name(binding.Name).VersionedParams(&opts, scheme.ParameterCodec).SubResource("binding").Body(binding).Do(ctx).Error() | |||||
| } | |||||
| func (c *pods) Evict(ctx context.Context, eviction *policy.Eviction) error { | |||||
| return c.client.Post().Namespace(c.ns).Resource("pods").Name(eviction.Name).SubResource("eviction").Body(eviction).Do(ctx).Error() | |||||
| } | |||||
| // Get constructs a request for getting the logs for a pod | |||||
| func (c *pods) GetLogs(name string, opts *v1.PodLogOptions) *restclient.Request { | |||||
| return c.client.Get().Namespace(c.ns).Name(name).Resource("pods").SubResource("log").VersionedParams(opts, scheme.ParameterCodec) | |||||
| } | |||||
| // ProxyGet returns a response of the pod by calling it through the proxy. | |||||
| func (c *pods) ProxyGet(scheme, name, port, path string, params map[string]string) restclient.ResponseWrapper { | |||||
| request := c.client.Get(). | |||||
| Namespace(c.ns). | |||||
| Resource("pods"). | |||||
| SubResource("proxy"). | |||||
| Name(net.JoinSchemeNamePort(scheme, name, port)). | |||||
| Suffix(path) | |||||
| for k, v := range params { | |||||
| request = request.Param(k, v) | |||||
| } | |||||
| return request | |||||
| } | |||||
| @@ -30,7 +30,7 @@ func _main(args []*string) (_err error) { | |||||
| createContainerGroupsRequest := pcm_pod_ali.CreateContainerGroupRequest{ | createContainerGroupsRequest := pcm_pod_ali.CreateContainerGroupRequest{ | ||||
| RpcRequest: nil, | RpcRequest: nil, | ||||
| //ali:cn-hangzhou tc:ap-guangzhou hw: k8s | |||||
| //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 | |||||
| RegionId: "cn-hangzhou", | RegionId: "cn-hangzhou", | ||||
| ProviderId: 3, | ProviderId: 3, | ||||
| Namespace: "pcm", | Namespace: "pcm", | ||||
| @@ -5,11 +5,11 @@ import ( | |||||
| "fmt" | "fmt" | ||||
| "github.com/pkg/errors" | "github.com/pkg/errors" | ||||
| corev1 "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/api/core/v1" | corev1 "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/api/core/v1" | ||||
| "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/apimachinery/pkg/api/resource" | |||||
| metav1 "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/apimachinery/pkg/apis/meta/v1" | |||||
| kubernetes "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/client-go/kubernetes" | |||||
| "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/client-go/tools/clientcmd" | |||||
| "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/client-go/tools/clientcmd/api" | |||||
| "gitlink.org.cn/JCCE/PCM/adaptor/pod/server/kubernetes/client-go/kubernetes" | |||||
| "k8s.io/apimachinery/pkg/api/resource" | |||||
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||||
| "k8s.io/client-go/tools/clientcmd" | |||||
| "k8s.io/client-go/tools/clientcmd/api" | |||||
| ) | ) | ||||
| const ( | const ( | ||||
| @@ -55,17 +55,18 @@ func CreatePod(client *kubernetes.Clientset) (*corev1.Pod, error) { | |||||
| Kind: "Pod", | Kind: "Pod", | ||||
| }, | }, | ||||
| ObjectMeta: metav1.ObjectMeta{ | ObjectMeta: metav1.ObjectMeta{ | ||||
| Name: "hw-sdk-test", | |||||
| Name: "hw-sdk-hwk8s", | |||||
| Namespace: "pcm", | Namespace: "pcm", | ||||
| Labels: map[string]string{"name": "test_api"}, | Labels: map[string]string{"name": "test_api"}, | ||||
| }, | }, | ||||
| Spec: corev1.PodSpec{ | Spec: corev1.PodSpec{ | ||||
| ProviderId: 3, | |||||
| RegionId: "cn-east-3", | |||||
| ProviderId: 1, | |||||
| //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 | |||||
| RegionId: "ap-guangzhou", | |||||
| RestartPolicy: corev1.RestartPolicyAlways, | RestartPolicy: corev1.RestartPolicyAlways, | ||||
| Containers: []corev1.Container{ | Containers: []corev1.Container{ | ||||
| { | { | ||||
| Name: "pcm-sdk-huawei-container", | |||||
| Name: "sdk-hwk8s-container", | |||||
| Image: "library/nginx:stable-alpine-perl", | Image: "library/nginx:stable-alpine-perl", | ||||
| Resources: corev1.ResourceRequirements{ | Resources: corev1.ResourceRequirements{ | ||||
| Limits: map[corev1.ResourceName]resource.Quantity{ | Limits: map[corev1.ResourceName]resource.Quantity{ | ||||
| @@ -109,7 +110,7 @@ func UpdatePod(client *kubernetes.Clientset) error { | |||||
| Containers: []corev1.Container{ | Containers: []corev1.Container{ | ||||
| { | { | ||||
| Name: "pcm-sdk-huawei-container2", | Name: "pcm-sdk-huawei-container2", | ||||
| Image: "library/nginx:stable-alpine-perl", | |||||
| Image: "nginx:latest", | |||||
| Resources: corev1.ResourceRequirements{ | Resources: corev1.ResourceRequirements{ | ||||
| Limits: map[corev1.ResourceName]resource.Quantity{ | Limits: map[corev1.ResourceName]resource.Quantity{ | ||||
| corev1.ResourceCPU: resource.MustParse("500m"), | corev1.ResourceCPU: resource.MustParse("500m"), | ||||