conversion.go 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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. metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
  18. "k8s.io/apimachinery/pkg/conversion"
  19. "k8s.io/apimachinery/pkg/labels"
  20. "k8s.io/kubernetes/pkg/apis/autoscaling"
  21. "k8s.io/kubernetes/pkg/apis/networking"
  22. )
  23. func Convert_autoscaling_ScaleStatus_To_v1beta1_ScaleStatus(in *autoscaling.ScaleStatus, out *extensionsv1beta1.ScaleStatus, s conversion.Scope) error {
  24. out.Replicas = int32(in.Replicas)
  25. out.TargetSelector = in.Selector
  26. out.Selector = nil
  27. selector, err := metav1.ParseToLabelSelector(in.Selector)
  28. if err != nil {
  29. return fmt.Errorf("failed to parse selector: %v", err)
  30. }
  31. if len(selector.MatchExpressions) == 0 {
  32. out.Selector = selector.MatchLabels
  33. }
  34. return nil
  35. }
  36. func Convert_v1beta1_ScaleStatus_To_autoscaling_ScaleStatus(in *extensionsv1beta1.ScaleStatus, out *autoscaling.ScaleStatus, s conversion.Scope) error {
  37. out.Replicas = in.Replicas
  38. if in.TargetSelector != "" {
  39. out.Selector = in.TargetSelector
  40. } else if in.Selector != nil {
  41. set := labels.Set{}
  42. for key, val := range in.Selector {
  43. set[key] = val
  44. }
  45. out.Selector = labels.SelectorFromSet(set).String()
  46. } else {
  47. out.Selector = ""
  48. }
  49. return nil
  50. }
  51. func Convert_v1beta1_NetworkPolicySpec_To_networking_NetworkPolicySpec(in *extensionsv1beta1.NetworkPolicySpec, out *networking.NetworkPolicySpec, s conversion.Scope) error {
  52. if err := autoConvert_v1beta1_NetworkPolicySpec_To_networking_NetworkPolicySpec(in, out, s); err != nil {
  53. return err
  54. }
  55. if out.Ingress == nil {
  56. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  57. out.Ingress = make([]networking.NetworkPolicyIngressRule, 0)
  58. }
  59. if out.Egress == nil {
  60. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  61. out.Egress = make([]networking.NetworkPolicyEgressRule, 0)
  62. }
  63. return nil
  64. }
  65. func Convert_networking_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec(in *networking.NetworkPolicySpec, out *extensionsv1beta1.NetworkPolicySpec, s conversion.Scope) error {
  66. if err := autoConvert_networking_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec(in, out, s); err != nil {
  67. return err
  68. }
  69. if out.Ingress == nil {
  70. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  71. out.Ingress = make([]extensionsv1beta1.NetworkPolicyIngressRule, 0)
  72. }
  73. if out.Egress == nil {
  74. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  75. out.Egress = make([]extensionsv1beta1.NetworkPolicyEgressRule, 0)
  76. }
  77. return nil
  78. }
  79. func Convert_v1beta1_NetworkPolicyIngressRule_To_networking_NetworkPolicyIngressRule(in *extensionsv1beta1.NetworkPolicyIngressRule, out *networking.NetworkPolicyIngressRule, s conversion.Scope) error {
  80. if err := autoConvert_v1beta1_NetworkPolicyIngressRule_To_networking_NetworkPolicyIngressRule(in, out, s); err != nil {
  81. return err
  82. }
  83. if out.Ports == nil {
  84. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  85. out.Ports = make([]networking.NetworkPolicyPort, 0)
  86. }
  87. return nil
  88. }
  89. func Convert_networking_NetworkPolicyIngressRule_To_v1beta1_NetworkPolicyIngressRule(in *networking.NetworkPolicyIngressRule, out *extensionsv1beta1.NetworkPolicyIngressRule, s conversion.Scope) error {
  90. if err := autoConvert_networking_NetworkPolicyIngressRule_To_v1beta1_NetworkPolicyIngressRule(in, out, s); err != nil {
  91. return err
  92. }
  93. if out.Ports == nil {
  94. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  95. out.Ports = make([]extensionsv1beta1.NetworkPolicyPort, 0)
  96. }
  97. return nil
  98. }
  99. func Convert_v1beta1_NetworkPolicyEgressRule_To_networking_NetworkPolicyEgressRule(in *extensionsv1beta1.NetworkPolicyEgressRule, out *networking.NetworkPolicyEgressRule, s conversion.Scope) error {
  100. if err := autoConvert_v1beta1_NetworkPolicyEgressRule_To_networking_NetworkPolicyEgressRule(in, out, s); err != nil {
  101. return err
  102. }
  103. if out.Ports == nil {
  104. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  105. out.Ports = make([]networking.NetworkPolicyPort, 0)
  106. }
  107. if out.To == nil {
  108. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  109. out.To = make([]networking.NetworkPolicyPeer, 0)
  110. }
  111. return nil
  112. }
  113. func Convert_networking_NetworkPolicyEgressRule_To_v1beta1_NetworkPolicyEgressRule(in *networking.NetworkPolicyEgressRule, out *extensionsv1beta1.NetworkPolicyEgressRule, s conversion.Scope) error {
  114. if err := autoConvert_networking_NetworkPolicyEgressRule_To_v1beta1_NetworkPolicyEgressRule(in, out, s); err != nil {
  115. return err
  116. }
  117. if out.Ports == nil {
  118. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  119. out.Ports = make([]extensionsv1beta1.NetworkPolicyPort, 0)
  120. }
  121. if out.To == nil {
  122. // Produce a zero-length non-nil slice for compatibility with previous manual conversion.
  123. out.To = make([]extensionsv1beta1.NetworkPolicyPeer, 0)
  124. }
  125. return nil
  126. }
  127. func Convert_v1beta1_IPBlock_To_networking_IPBlock(in *extensionsv1beta1.IPBlock, out *networking.IPBlock, s conversion.Scope) error {
  128. out.CIDR = in.CIDR
  129. out.Except = make([]string, len(in.Except))
  130. copy(out.Except, in.Except)
  131. return nil
  132. }
  133. func Convert_networking_IPBlock_To_v1beta1_IPBlock(in *networking.IPBlock, out *extensionsv1beta1.IPBlock, s conversion.Scope) error {
  134. out.CIDR = in.CIDR
  135. out.Except = make([]string, len(in.Except))
  136. copy(out.Except, in.Except)
  137. return nil
  138. }