conversion.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. /*
  2. Copyright 2015 The Kubernetes Authors.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. */
  13. package v1beta1
  14. import (
  15. "fmt"
  16. extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
  17. v1 "k8s.io/api/core/v1"
  18. metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
  19. "k8s.io/apimachinery/pkg/conversion"
  20. "k8s.io/apimachinery/pkg/labels"
  21. "k8s.io/apimachinery/pkg/runtime"
  22. "k8s.io/apimachinery/pkg/util/intstr"
  23. "k8s.io/kubernetes/pkg/apis/apps"
  24. "k8s.io/kubernetes/pkg/apis/autoscaling"
  25. api "k8s.io/kubernetes/pkg/apis/core"
  26. k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1"
  27. "k8s.io/kubernetes/pkg/apis/networking"
  28. )
  29. func addConversionFuncs(scheme *runtime.Scheme) error {
  30. // Add non-generated conversion functions
  31. err := scheme.AddConversionFuncs(
  32. Convert_autoscaling_ScaleStatus_To_v1beta1_ScaleStatus,
  33. Convert_v1beta1_ScaleStatus_To_autoscaling_ScaleStatus,
  34. Convert_apps_DeploymentSpec_To_v1beta1_DeploymentSpec,
  35. Convert_v1beta1_DeploymentSpec_To_apps_DeploymentSpec,
  36. Convert_apps_DeploymentStrategy_To_v1beta1_DeploymentStrategy,
  37. Convert_v1beta1_DeploymentStrategy_To_apps_DeploymentStrategy,
  38. Convert_apps_RollingUpdateDeployment_To_v1beta1_RollingUpdateDeployment,
  39. Convert_v1beta1_RollingUpdateDeployment_To_apps_RollingUpdateDeployment,
  40. Convert_apps_RollingUpdateDaemonSet_To_v1beta1_RollingUpdateDaemonSet,
  41. Convert_v1beta1_RollingUpdateDaemonSet_To_apps_RollingUpdateDaemonSet,
  42. Convert_apps_ReplicaSetSpec_To_v1beta1_ReplicaSetSpec,
  43. Convert_v1beta1_ReplicaSetSpec_To_apps_ReplicaSetSpec,
  44. Convert_v1beta1_NetworkPolicy_To_networking_NetworkPolicy,
  45. Convert_networking_NetworkPolicy_To_v1beta1_NetworkPolicy,
  46. Convert_v1beta1_NetworkPolicyIngressRule_To_networking_NetworkPolicyIngressRule,
  47. Convert_networking_NetworkPolicyIngressRule_To_v1beta1_NetworkPolicyIngressRule,
  48. Convert_v1beta1_NetworkPolicyList_To_networking_NetworkPolicyList,
  49. Convert_networking_NetworkPolicyList_To_v1beta1_NetworkPolicyList,
  50. Convert_v1beta1_NetworkPolicyPeer_To_networking_NetworkPolicyPeer,
  51. Convert_networking_NetworkPolicyPeer_To_v1beta1_NetworkPolicyPeer,
  52. Convert_v1beta1_NetworkPolicyPort_To_networking_NetworkPolicyPort,
  53. Convert_networking_NetworkPolicyPort_To_v1beta1_NetworkPolicyPort,
  54. Convert_v1beta1_NetworkPolicySpec_To_networking_NetworkPolicySpec,
  55. Convert_networking_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec,
  56. Convert_v1beta1_IPBlock_To_networking_IPBlock,
  57. Convert_networking_IPBlock_To_v1beta1_IPBlock,
  58. Convert_networking_NetworkPolicyEgressRule_To_v1beta1_NetworkPolicyEgressRule,
  59. Convert_v1beta1_NetworkPolicyEgressRule_To_networking_NetworkPolicyEgressRule,
  60. )
  61. if err != nil {
  62. return err
  63. }
  64. return nil
  65. }
  66. func Convert_autoscaling_ScaleStatus_To_v1beta1_ScaleStatus(in *autoscaling.ScaleStatus, out *extensionsv1beta1.ScaleStatus, s conversion.Scope) error {
  67. out.Replicas = int32(in.Replicas)
  68. out.TargetSelector = in.Selector
  69. out.Selector = nil
  70. selector, err := metav1.ParseToLabelSelector(in.Selector)
  71. if err != nil {
  72. return fmt.Errorf("failed to parse selector: %v", err)
  73. }
  74. if len(selector.MatchExpressions) == 0 {
  75. out.Selector = selector.MatchLabels
  76. }
  77. return nil
  78. }
  79. func Convert_v1beta1_ScaleStatus_To_autoscaling_ScaleStatus(in *extensionsv1beta1.ScaleStatus, out *autoscaling.ScaleStatus, s conversion.Scope) error {
  80. out.Replicas = in.Replicas
  81. if in.TargetSelector != "" {
  82. out.Selector = in.TargetSelector
  83. } else if in.Selector != nil {
  84. set := labels.Set{}
  85. for key, val := range in.Selector {
  86. set[key] = val
  87. }
  88. out.Selector = labels.SelectorFromSet(set).String()
  89. } else {
  90. out.Selector = ""
  91. }
  92. return nil
  93. }
  94. func Convert_apps_DeploymentSpec_To_v1beta1_DeploymentSpec(in *apps.DeploymentSpec, out *extensionsv1beta1.DeploymentSpec, s conversion.Scope) error {
  95. out.Replicas = &in.Replicas
  96. out.Selector = in.Selector
  97. if err := k8s_api_v1.Convert_core_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
  98. return err
  99. }
  100. if err := Convert_apps_DeploymentStrategy_To_v1beta1_DeploymentStrategy(&in.Strategy, &out.Strategy, s); err != nil {
  101. return err
  102. }
  103. if in.RevisionHistoryLimit != nil {
  104. out.RevisionHistoryLimit = new(int32)
  105. *out.RevisionHistoryLimit = int32(*in.RevisionHistoryLimit)
  106. }
  107. out.MinReadySeconds = int32(in.MinReadySeconds)
  108. out.Paused = in.Paused
  109. if in.RollbackTo != nil {
  110. out.RollbackTo = new(extensionsv1beta1.RollbackConfig)
  111. out.RollbackTo.Revision = int64(in.RollbackTo.Revision)
  112. } else {
  113. out.RollbackTo = nil
  114. }
  115. if in.ProgressDeadlineSeconds != nil {
  116. out.ProgressDeadlineSeconds = new(int32)
  117. *out.ProgressDeadlineSeconds = *in.ProgressDeadlineSeconds
  118. }
  119. return nil
  120. }
  121. func Convert_v1beta1_DeploymentSpec_To_apps_DeploymentSpec(in *extensionsv1beta1.DeploymentSpec, out *apps.DeploymentSpec, s conversion.Scope) error {
  122. if in.Replicas != nil {
  123. out.Replicas = *in.Replicas
  124. }
  125. out.Selector = in.Selector
  126. if err := k8s_api_v1.Convert_v1_PodTemplateSpec_To_core_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
  127. return err
  128. }
  129. if err := Convert_v1beta1_DeploymentStrategy_To_apps_DeploymentStrategy(&in.Strategy, &out.Strategy, s); err != nil {
  130. return err
  131. }
  132. out.RevisionHistoryLimit = in.RevisionHistoryLimit
  133. out.MinReadySeconds = in.MinReadySeconds
  134. out.Paused = in.Paused
  135. if in.RollbackTo != nil {
  136. out.RollbackTo = new(apps.RollbackConfig)
  137. out.RollbackTo.Revision = in.RollbackTo.Revision
  138. } else {
  139. out.RollbackTo = nil
  140. }
  141. if in.ProgressDeadlineSeconds != nil {
  142. out.ProgressDeadlineSeconds = new(int32)
  143. *out.ProgressDeadlineSeconds = *in.ProgressDeadlineSeconds
  144. }
  145. return nil
  146. }
  147. func Convert_apps_DeploymentStrategy_To_v1beta1_DeploymentStrategy(in *apps.DeploymentStrategy, out *extensionsv1beta1.DeploymentStrategy, s conversion.Scope) error {
  148. out.Type = extensionsv1beta1.DeploymentStrategyType(in.Type)
  149. if in.RollingUpdate != nil {
  150. out.RollingUpdate = new(extensionsv1beta1.RollingUpdateDeployment)
  151. if err := Convert_apps_RollingUpdateDeployment_To_v1beta1_RollingUpdateDeployment(in.RollingUpdate, out.RollingUpdate, s); err != nil {
  152. return err
  153. }
  154. } else {
  155. out.RollingUpdate = nil
  156. }
  157. return nil
  158. }
  159. func Convert_v1beta1_DeploymentStrategy_To_apps_DeploymentStrategy(in *extensionsv1beta1.DeploymentStrategy, out *apps.DeploymentStrategy, s conversion.Scope) error {
  160. out.Type = apps.DeploymentStrategyType(in.Type)
  161. if in.RollingUpdate != nil {
  162. out.RollingUpdate = new(apps.RollingUpdateDeployment)
  163. if err := Convert_v1beta1_RollingUpdateDeployment_To_apps_RollingUpdateDeployment(in.RollingUpdate, out.RollingUpdate, s); err != nil {
  164. return err
  165. }
  166. } else {
  167. out.RollingUpdate = nil
  168. }
  169. return nil
  170. }
  171. func Convert_apps_RollingUpdateDeployment_To_v1beta1_RollingUpdateDeployment(in *apps.RollingUpdateDeployment, out *extensionsv1beta1.RollingUpdateDeployment, s conversion.Scope) error {
  172. if out.MaxUnavailable == nil {
  173. out.MaxUnavailable = &intstr.IntOrString{}
  174. }
  175. if err := s.Convert(&in.MaxUnavailable, out.MaxUnavailable, 0); err != nil {
  176. return err
  177. }
  178. if out.MaxSurge == nil {
  179. out.MaxSurge = &intstr.IntOrString{}
  180. }
  181. if err := s.Convert(&in.MaxSurge, out.MaxSurge, 0); err != nil {
  182. return err
  183. }
  184. return nil
  185. }
  186. func Convert_v1beta1_RollingUpdateDeployment_To_apps_RollingUpdateDeployment(in *extensionsv1beta1.RollingUpdateDeployment, out *apps.RollingUpdateDeployment, s conversion.Scope) error {
  187. if err := s.Convert(in.MaxUnavailable, &out.MaxUnavailable, 0); err != nil {
  188. return err
  189. }
  190. if err := s.Convert(in.MaxSurge, &out.MaxSurge, 0); err != nil {
  191. return err
  192. }
  193. return nil
  194. }
  195. func Convert_apps_RollingUpdateDaemonSet_To_v1beta1_RollingUpdateDaemonSet(in *apps.RollingUpdateDaemonSet, out *extensionsv1beta1.RollingUpdateDaemonSet, s conversion.Scope) error {
  196. if out.MaxUnavailable == nil {
  197. out.MaxUnavailable = &intstr.IntOrString{}
  198. }
  199. if err := s.Convert(&in.MaxUnavailable, out.MaxUnavailable, 0); err != nil {
  200. return err
  201. }
  202. return nil
  203. }
  204. func Convert_v1beta1_RollingUpdateDaemonSet_To_apps_RollingUpdateDaemonSet(in *extensionsv1beta1.RollingUpdateDaemonSet, out *apps.RollingUpdateDaemonSet, s conversion.Scope) error {
  205. if err := s.Convert(in.MaxUnavailable, &out.MaxUnavailable, 0); err != nil {
  206. return err
  207. }
  208. return nil
  209. }
  210. func Convert_apps_ReplicaSetSpec_To_v1beta1_ReplicaSetSpec(in *apps.ReplicaSetSpec, out *extensionsv1beta1.ReplicaSetSpec, s conversion.Scope) error {
  211. out.Replicas = new(int32)
  212. *out.Replicas = int32(in.Replicas)
  213. out.MinReadySeconds = in.MinReadySeconds
  214. out.Selector = in.Selector
  215. if err := k8s_api_v1.Convert_core_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
  216. return err
  217. }
  218. return nil
  219. }
  220. func Convert_v1beta1_ReplicaSetSpec_To_apps_ReplicaSetSpec(in *extensionsv1beta1.ReplicaSetSpec, out *apps.ReplicaSetSpec, s conversion.Scope) error {
  221. if in.Replicas != nil {
  222. out.Replicas = *in.Replicas
  223. }
  224. out.MinReadySeconds = in.MinReadySeconds
  225. out.Selector = in.Selector
  226. if err := k8s_api_v1.Convert_v1_PodTemplateSpec_To_core_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
  227. return err
  228. }
  229. return nil
  230. }
  231. func Convert_v1beta1_NetworkPolicy_To_networking_NetworkPolicy(in *extensionsv1beta1.NetworkPolicy, out *networking.NetworkPolicy, s conversion.Scope) error {
  232. out.ObjectMeta = in.ObjectMeta
  233. return Convert_v1beta1_NetworkPolicySpec_To_networking_NetworkPolicySpec(&in.Spec, &out.Spec, s)
  234. }
  235. func Convert_networking_NetworkPolicy_To_v1beta1_NetworkPolicy(in *networking.NetworkPolicy, out *extensionsv1beta1.NetworkPolicy, s conversion.Scope) error {
  236. out.ObjectMeta = in.ObjectMeta
  237. return Convert_networking_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec(&in.Spec, &out.Spec, s)
  238. }
  239. func Convert_v1beta1_NetworkPolicySpec_To_networking_NetworkPolicySpec(in *extensionsv1beta1.NetworkPolicySpec, out *networking.NetworkPolicySpec, s conversion.Scope) error {
  240. if err := s.Convert(&in.PodSelector, &out.PodSelector, 0); err != nil {
  241. return err
  242. }
  243. out.Ingress = make([]networking.NetworkPolicyIngressRule, len(in.Ingress))
  244. for i := range in.Ingress {
  245. if err := Convert_v1beta1_NetworkPolicyIngressRule_To_networking_NetworkPolicyIngressRule(&in.Ingress[i], &out.Ingress[i], s); err != nil {
  246. return err
  247. }
  248. }
  249. out.Egress = make([]networking.NetworkPolicyEgressRule, len(in.Egress))
  250. for i := range in.Egress {
  251. if err := Convert_v1beta1_NetworkPolicyEgressRule_To_networking_NetworkPolicyEgressRule(&in.Egress[i], &out.Egress[i], s); err != nil {
  252. return err
  253. }
  254. }
  255. if in.PolicyTypes != nil {
  256. in, out := &in.PolicyTypes, &out.PolicyTypes
  257. *out = make([]networking.PolicyType, len(*in))
  258. for i := range *in {
  259. if err := s.Convert(&(*in)[i], &(*out)[i], 0); err != nil {
  260. return err
  261. }
  262. }
  263. }
  264. return nil
  265. }
  266. func Convert_networking_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec(in *networking.NetworkPolicySpec, out *extensionsv1beta1.NetworkPolicySpec, s conversion.Scope) error {
  267. if err := s.Convert(&in.PodSelector, &out.PodSelector, 0); err != nil {
  268. return err
  269. }
  270. out.Ingress = make([]extensionsv1beta1.NetworkPolicyIngressRule, len(in.Ingress))
  271. for i := range in.Ingress {
  272. if err := Convert_networking_NetworkPolicyIngressRule_To_v1beta1_NetworkPolicyIngressRule(&in.Ingress[i], &out.Ingress[i], s); err != nil {
  273. return err
  274. }
  275. }
  276. out.Egress = make([]extensionsv1beta1.NetworkPolicyEgressRule, len(in.Egress))
  277. for i := range in.Egress {
  278. if err := Convert_networking_NetworkPolicyEgressRule_To_v1beta1_NetworkPolicyEgressRule(&in.Egress[i], &out.Egress[i], s); err != nil {
  279. return err
  280. }
  281. }
  282. if in.PolicyTypes != nil {
  283. in, out := &in.PolicyTypes, &out.PolicyTypes
  284. *out = make([]extensionsv1beta1.PolicyType, len(*in))
  285. for i := range *in {
  286. if err := s.Convert(&(*in)[i], &(*out)[i], 0); err != nil {
  287. return err
  288. }
  289. }
  290. }
  291. return nil
  292. }
  293. func Convert_v1beta1_NetworkPolicyIngressRule_To_networking_NetworkPolicyIngressRule(in *extensionsv1beta1.NetworkPolicyIngressRule, out *networking.NetworkPolicyIngressRule, s conversion.Scope) error {
  294. out.Ports = make([]networking.NetworkPolicyPort, len(in.Ports))
  295. for i := range in.Ports {
  296. if err := Convert_v1beta1_NetworkPolicyPort_To_networking_NetworkPolicyPort(&in.Ports[i], &out.Ports[i], s); err != nil {
  297. return err
  298. }
  299. }
  300. if in.From != nil {
  301. out.From = make([]networking.NetworkPolicyPeer, len(in.From))
  302. for i := range in.From {
  303. if err := Convert_v1beta1_NetworkPolicyPeer_To_networking_NetworkPolicyPeer(&in.From[i], &out.From[i], s); err != nil {
  304. return err
  305. }
  306. }
  307. }
  308. return nil
  309. }
  310. func Convert_networking_NetworkPolicyIngressRule_To_v1beta1_NetworkPolicyIngressRule(in *networking.NetworkPolicyIngressRule, out *extensionsv1beta1.NetworkPolicyIngressRule, s conversion.Scope) error {
  311. out.Ports = make([]extensionsv1beta1.NetworkPolicyPort, len(in.Ports))
  312. for i := range in.Ports {
  313. if err := Convert_networking_NetworkPolicyPort_To_v1beta1_NetworkPolicyPort(&in.Ports[i], &out.Ports[i], s); err != nil {
  314. return err
  315. }
  316. }
  317. if in.From != nil {
  318. out.From = make([]extensionsv1beta1.NetworkPolicyPeer, len(in.From))
  319. for i := range in.From {
  320. if err := Convert_networking_NetworkPolicyPeer_To_v1beta1_NetworkPolicyPeer(&in.From[i], &out.From[i], s); err != nil {
  321. return err
  322. }
  323. }
  324. }
  325. return nil
  326. }
  327. func Convert_v1beta1_NetworkPolicyEgressRule_To_networking_NetworkPolicyEgressRule(in *extensionsv1beta1.NetworkPolicyEgressRule, out *networking.NetworkPolicyEgressRule, s conversion.Scope) error {
  328. out.Ports = make([]networking.NetworkPolicyPort, len(in.Ports))
  329. for i := range in.Ports {
  330. if err := Convert_v1beta1_NetworkPolicyPort_To_networking_NetworkPolicyPort(&in.Ports[i], &out.Ports[i], s); err != nil {
  331. return err
  332. }
  333. }
  334. out.To = make([]networking.NetworkPolicyPeer, len(in.To))
  335. for i := range in.To {
  336. if err := Convert_v1beta1_NetworkPolicyPeer_To_networking_NetworkPolicyPeer(&in.To[i], &out.To[i], s); err != nil {
  337. return err
  338. }
  339. }
  340. return nil
  341. }
  342. func Convert_networking_NetworkPolicyEgressRule_To_v1beta1_NetworkPolicyEgressRule(in *networking.NetworkPolicyEgressRule, out *extensionsv1beta1.NetworkPolicyEgressRule, s conversion.Scope) error {
  343. out.Ports = make([]extensionsv1beta1.NetworkPolicyPort, len(in.Ports))
  344. for i := range in.Ports {
  345. if err := Convert_networking_NetworkPolicyPort_To_v1beta1_NetworkPolicyPort(&in.Ports[i], &out.Ports[i], s); err != nil {
  346. return err
  347. }
  348. }
  349. out.To = make([]extensionsv1beta1.NetworkPolicyPeer, len(in.To))
  350. for i := range in.To {
  351. if err := Convert_networking_NetworkPolicyPeer_To_v1beta1_NetworkPolicyPeer(&in.To[i], &out.To[i], s); err != nil {
  352. return err
  353. }
  354. }
  355. return nil
  356. }
  357. func Convert_v1beta1_NetworkPolicyPeer_To_networking_NetworkPolicyPeer(in *extensionsv1beta1.NetworkPolicyPeer, out *networking.NetworkPolicyPeer, s conversion.Scope) error {
  358. if in.PodSelector != nil {
  359. out.PodSelector = new(metav1.LabelSelector)
  360. if err := s.Convert(in.PodSelector, out.PodSelector, 0); err != nil {
  361. return err
  362. }
  363. } else {
  364. out.PodSelector = nil
  365. }
  366. if in.NamespaceSelector != nil {
  367. out.NamespaceSelector = new(metav1.LabelSelector)
  368. if err := s.Convert(in.NamespaceSelector, out.NamespaceSelector, 0); err != nil {
  369. return err
  370. }
  371. } else {
  372. out.NamespaceSelector = nil
  373. }
  374. if in.IPBlock != nil {
  375. out.IPBlock = new(networking.IPBlock)
  376. if err := s.Convert(in.IPBlock, out.IPBlock, 0); err != nil {
  377. return err
  378. }
  379. } else {
  380. out.IPBlock = nil
  381. }
  382. return nil
  383. }
  384. func Convert_networking_NetworkPolicyPeer_To_v1beta1_NetworkPolicyPeer(in *networking.NetworkPolicyPeer, out *extensionsv1beta1.NetworkPolicyPeer, s conversion.Scope) error {
  385. if in.PodSelector != nil {
  386. out.PodSelector = new(metav1.LabelSelector)
  387. if err := s.Convert(in.PodSelector, out.PodSelector, 0); err != nil {
  388. return err
  389. }
  390. } else {
  391. out.PodSelector = nil
  392. }
  393. if in.NamespaceSelector != nil {
  394. out.NamespaceSelector = new(metav1.LabelSelector)
  395. if err := s.Convert(in.NamespaceSelector, out.NamespaceSelector, 0); err != nil {
  396. return err
  397. }
  398. } else {
  399. out.NamespaceSelector = nil
  400. }
  401. if in.IPBlock != nil {
  402. out.IPBlock = new(extensionsv1beta1.IPBlock)
  403. if err := s.Convert(in.IPBlock, out.IPBlock, 0); err != nil {
  404. return err
  405. }
  406. } else {
  407. out.IPBlock = nil
  408. }
  409. return nil
  410. }
  411. func Convert_v1beta1_IPBlock_To_networking_IPBlock(in *extensionsv1beta1.IPBlock, out *networking.IPBlock, s conversion.Scope) error {
  412. out.CIDR = in.CIDR
  413. out.Except = make([]string, len(in.Except))
  414. copy(out.Except, in.Except)
  415. return nil
  416. }
  417. func Convert_networking_IPBlock_To_v1beta1_IPBlock(in *networking.IPBlock, out *extensionsv1beta1.IPBlock, s conversion.Scope) error {
  418. out.CIDR = in.CIDR
  419. out.Except = make([]string, len(in.Except))
  420. copy(out.Except, in.Except)
  421. return nil
  422. }
  423. func Convert_v1beta1_NetworkPolicyPort_To_networking_NetworkPolicyPort(in *extensionsv1beta1.NetworkPolicyPort, out *networking.NetworkPolicyPort, s conversion.Scope) error {
  424. if in.Protocol != nil {
  425. out.Protocol = new(api.Protocol)
  426. *out.Protocol = api.Protocol(*in.Protocol)
  427. } else {
  428. out.Protocol = nil
  429. }
  430. out.Port = in.Port
  431. return nil
  432. }
  433. func Convert_networking_NetworkPolicyPort_To_v1beta1_NetworkPolicyPort(in *networking.NetworkPolicyPort, out *extensionsv1beta1.NetworkPolicyPort, s conversion.Scope) error {
  434. if in.Protocol != nil {
  435. out.Protocol = new(v1.Protocol)
  436. *out.Protocol = v1.Protocol(*in.Protocol)
  437. } else {
  438. out.Protocol = nil
  439. }
  440. out.Port = in.Port
  441. return nil
  442. }
  443. func Convert_v1beta1_NetworkPolicyList_To_networking_NetworkPolicyList(in *extensionsv1beta1.NetworkPolicyList, out *networking.NetworkPolicyList, s conversion.Scope) error {
  444. out.ListMeta = in.ListMeta
  445. out.Items = make([]networking.NetworkPolicy, len(in.Items))
  446. for i := range in.Items {
  447. if err := Convert_v1beta1_NetworkPolicy_To_networking_NetworkPolicy(&in.Items[i], &out.Items[i], s); err != nil {
  448. return err
  449. }
  450. }
  451. return nil
  452. }
  453. func Convert_networking_NetworkPolicyList_To_v1beta1_NetworkPolicyList(in *networking.NetworkPolicyList, out *extensionsv1beta1.NetworkPolicyList, s conversion.Scope) error {
  454. out.ListMeta = in.ListMeta
  455. out.Items = make([]extensionsv1beta1.NetworkPolicy, len(in.Items))
  456. for i := range in.Items {
  457. if err := Convert_networking_NetworkPolicy_To_v1beta1_NetworkPolicy(&in.Items[i], &out.Items[i], s); err != nil {
  458. return err
  459. }
  460. }
  461. return nil
  462. }