forked from LaconicNetwork/kompose
Upgrade OpenShift and its dependencies.
OpenShift version 1.4.0-alpha.0
This commit is contained in:
-127
@@ -1,127 +0,0 @@
|
||||
// +build !ignore_autogenerated_openshift
|
||||
|
||||
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
|
||||
|
||||
package api
|
||||
|
||||
import (
|
||||
api "k8s.io/kubernetes/pkg/api"
|
||||
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
|
||||
conversion "k8s.io/kubernetes/pkg/conversion"
|
||||
)
|
||||
|
||||
func init() {
|
||||
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
|
||||
DeepCopy_api_ClusterNetwork,
|
||||
DeepCopy_api_ClusterNetworkList,
|
||||
DeepCopy_api_HostSubnet,
|
||||
DeepCopy_api_HostSubnetList,
|
||||
DeepCopy_api_NetNamespace,
|
||||
DeepCopy_api_NetNamespaceList,
|
||||
); err != nil {
|
||||
// if one of the deep copy functions is malformed, detect it immediately.
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_ClusterNetwork(in ClusterNetwork, out *ClusterNetwork, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Network = in.Network
|
||||
out.HostSubnetLength = in.HostSubnetLength
|
||||
out.ServiceNetwork = in.ServiceNetwork
|
||||
out.PluginName = in.PluginName
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ClusterNetworkList(in ClusterNetworkList, out *ClusterNetworkList, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]ClusterNetwork, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ClusterNetwork(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_HostSubnet(in HostSubnet, out *HostSubnet, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Host = in.Host
|
||||
out.HostIP = in.HostIP
|
||||
out.Subnet = in.Subnet
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_HostSubnetList(in HostSubnetList, out *HostSubnetList, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]HostSubnet, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_HostSubnet(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_NetNamespace(in NetNamespace, out *NetNamespace, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.NetName = in.NetName
|
||||
out.NetID = in.NetID
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_NetNamespaceList(in NetNamespaceList, out *NetNamespaceList, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]NetNamespace, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_NetNamespace(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// +k8s:deepcopy-gen=package,register
|
||||
|
||||
// Package api is the internal version of the API.
|
||||
package api
|
||||
+8
@@ -22,3 +22,11 @@ func NetNamespaceToSelectableFields(obj *NetNamespace) fields.Set {
|
||||
"metadata.name": obj.Name,
|
||||
}
|
||||
}
|
||||
|
||||
// EgressNetworkPolicyToSelectableFields returns a label set that represents the object
|
||||
func EgressNetworkPolicyToSelectableFields(obj *EgressNetworkPolicy) fields.Set {
|
||||
return fields.Set{
|
||||
"metadata.name": obj.Name,
|
||||
"metadata.namespace": obj.Namespace,
|
||||
}
|
||||
}
|
||||
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
package api
|
||||
|
||||
// Accessor methods to annotate NetNamespace for multitenant support
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type PodNetworkAction string
|
||||
|
||||
const (
|
||||
// Maximum VXLAN Virtual Network Identifier(VNID) as per RFC#7348
|
||||
MaxVNID = uint32((1 << 24) - 1)
|
||||
// VNID: 1 to 9 are internally reserved for any special cases in the future
|
||||
MinVNID = uint32(10)
|
||||
// VNID: 0 reserved for default namespace and can reach any network in the cluster
|
||||
GlobalVNID = uint32(0)
|
||||
|
||||
// ChangePodNetworkAnnotation is an annotation on NetNamespace to request change of pod network
|
||||
ChangePodNetworkAnnotation string = "pod.network.openshift.io/multitenant.change-network"
|
||||
|
||||
// Acceptable values for ChangePodNetworkAnnotation
|
||||
GlobalPodNetwork PodNetworkAction = "global"
|
||||
JoinPodNetwork PodNetworkAction = "join"
|
||||
IsolatePodNetwork PodNetworkAction = "isolate"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrorPodNetworkAnnotationNotFound = fmt.Errorf("ChangePodNetworkAnnotation not found")
|
||||
)
|
||||
|
||||
// Check if the given vnid is valid or not
|
||||
func ValidVNID(vnid uint32) error {
|
||||
if vnid == GlobalVNID {
|
||||
return nil
|
||||
}
|
||||
if vnid < MinVNID {
|
||||
return fmt.Errorf("VNID must be greater than or equal to %d", MinVNID)
|
||||
}
|
||||
if vnid > MaxVNID {
|
||||
return fmt.Errorf("VNID must be less than or equal to %d", MaxVNID)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetChangePodNetworkAnnotation fetches network change intent from NetNamespace
|
||||
func GetChangePodNetworkAnnotation(netns *NetNamespace) (PodNetworkAction, string, error) {
|
||||
value, ok := netns.Annotations[ChangePodNetworkAnnotation]
|
||||
if !ok {
|
||||
return PodNetworkAction(""), "", ErrorPodNetworkAnnotationNotFound
|
||||
}
|
||||
|
||||
args := strings.Split(value, ":")
|
||||
switch PodNetworkAction(args[0]) {
|
||||
case GlobalPodNetwork:
|
||||
return GlobalPodNetwork, "", nil
|
||||
case JoinPodNetwork:
|
||||
if len(args) != 2 {
|
||||
return PodNetworkAction(""), "", fmt.Errorf("invalid namespace for join pod network: %s", value)
|
||||
}
|
||||
namespace := args[1]
|
||||
return JoinPodNetwork, namespace, nil
|
||||
case IsolatePodNetwork:
|
||||
return IsolatePodNetwork, "", nil
|
||||
}
|
||||
|
||||
return PodNetworkAction(""), "", fmt.Errorf("invalid ChangePodNetworkAnnotation: %s", value)
|
||||
}
|
||||
|
||||
// SetChangePodNetworkAnnotation sets network change intent on NetNamespace
|
||||
func SetChangePodNetworkAnnotation(netns *NetNamespace, action PodNetworkAction, params string) {
|
||||
if netns.Annotations == nil {
|
||||
netns.Annotations = make(map[string]string)
|
||||
}
|
||||
|
||||
value := string(action)
|
||||
if len(params) != 0 {
|
||||
value = fmt.Sprintf("%s:%s", value, params)
|
||||
}
|
||||
netns.Annotations[ChangePodNetworkAnnotation] = value
|
||||
}
|
||||
|
||||
// DeleteChangePodNetworkAnnotation removes network change intent from NetNamespace
|
||||
func DeleteChangePodNetworkAnnotation(netns *NetNamespace) {
|
||||
delete(netns.Annotations, ChangePodNetworkAnnotation)
|
||||
}
|
||||
+17
-11
@@ -6,6 +6,7 @@ import (
|
||||
)
|
||||
|
||||
const GroupName = ""
|
||||
const FutureGroupName = "networking.openshift.io"
|
||||
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
|
||||
@@ -20,13 +21,13 @@ func Resource(resource string) unversioned.GroupResource {
|
||||
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||
}
|
||||
|
||||
func AddToScheme(scheme *runtime.Scheme) {
|
||||
// Add the API to Scheme.
|
||||
addKnownTypes(scheme)
|
||||
}
|
||||
var (
|
||||
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||||
AddToScheme = SchemeBuilder.AddToScheme
|
||||
)
|
||||
|
||||
// Adds the list of known types to api.Scheme.
|
||||
func addKnownTypes(scheme *runtime.Scheme) {
|
||||
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
&ClusterNetwork{},
|
||||
&ClusterNetworkList{},
|
||||
@@ -34,12 +35,17 @@ func addKnownTypes(scheme *runtime.Scheme) {
|
||||
&HostSubnetList{},
|
||||
&NetNamespace{},
|
||||
&NetNamespaceList{},
|
||||
&EgressNetworkPolicy{},
|
||||
&EgressNetworkPolicyList{},
|
||||
)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (obj *ClusterNetwork) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ClusterNetworkList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *HostSubnet) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *HostSubnetList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *NetNamespace) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *NetNamespaceList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ClusterNetwork) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ClusterNetworkList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *HostSubnet) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *HostSubnetList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *NetNamespace) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *NetNamespaceList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *EgressNetworkPolicy) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *EgressNetworkPolicyList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
|
||||
+41
-1
@@ -6,7 +6,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
ClusterNetworkDefault = "default"
|
||||
ClusterNetworkDefault = "default"
|
||||
EgressNetworkPolicyMaxRules = 50
|
||||
)
|
||||
|
||||
// +genclient=true
|
||||
@@ -60,3 +61,42 @@ type NetNamespaceList struct {
|
||||
unversioned.ListMeta
|
||||
Items []NetNamespace
|
||||
}
|
||||
|
||||
// EgressNetworkPolicyRuleType gives the type of an EgressNetworkPolicyRule
|
||||
type EgressNetworkPolicyRuleType string
|
||||
|
||||
const (
|
||||
EgressNetworkPolicyRuleAllow EgressNetworkPolicyRuleType = "Allow"
|
||||
EgressNetworkPolicyRuleDeny EgressNetworkPolicyRuleType = "Deny"
|
||||
)
|
||||
|
||||
// EgressNetworkPolicyPeer specifies a target to apply egress policy to
|
||||
type EgressNetworkPolicyPeer struct {
|
||||
CIDRSelector string
|
||||
}
|
||||
|
||||
// EgressNetworkPolicyRule contains a single egress network policy rule
|
||||
type EgressNetworkPolicyRule struct {
|
||||
Type EgressNetworkPolicyRuleType
|
||||
To EgressNetworkPolicyPeer
|
||||
}
|
||||
|
||||
// EgressNetworkPolicySpec provides a list of policies on outgoing traffic
|
||||
type EgressNetworkPolicySpec struct {
|
||||
Egress []EgressNetworkPolicyRule
|
||||
}
|
||||
|
||||
// EgressNetworkPolicy describes the current egress network policy
|
||||
type EgressNetworkPolicy struct {
|
||||
unversioned.TypeMeta
|
||||
kapi.ObjectMeta
|
||||
|
||||
Spec EgressNetworkPolicySpec
|
||||
}
|
||||
|
||||
// EgressNetworkPolicyList is a collection of EgressNetworkPolicy
|
||||
type EgressNetworkPolicyList struct {
|
||||
unversioned.TypeMeta
|
||||
unversioned.ListMeta
|
||||
Items []EgressNetworkPolicy
|
||||
}
|
||||
|
||||
+214
@@ -0,0 +1,214 @@
|
||||
// +build !ignore_autogenerated_openshift
|
||||
|
||||
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
|
||||
|
||||
package api
|
||||
|
||||
import (
|
||||
pkg_api "k8s.io/kubernetes/pkg/api"
|
||||
conversion "k8s.io/kubernetes/pkg/conversion"
|
||||
runtime "k8s.io/kubernetes/pkg/runtime"
|
||||
reflect "reflect"
|
||||
)
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(RegisterDeepCopies)
|
||||
}
|
||||
|
||||
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
|
||||
// to allow building arbitrary schemes.
|
||||
func RegisterDeepCopies(scheme *runtime.Scheme) error {
|
||||
return scheme.AddGeneratedDeepCopyFuncs(
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ClusterNetwork, InType: reflect.TypeOf(&ClusterNetwork{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ClusterNetworkList, InType: reflect.TypeOf(&ClusterNetworkList{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_EgressNetworkPolicy, InType: reflect.TypeOf(&EgressNetworkPolicy{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_EgressNetworkPolicyList, InType: reflect.TypeOf(&EgressNetworkPolicyList{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_EgressNetworkPolicyPeer, InType: reflect.TypeOf(&EgressNetworkPolicyPeer{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_EgressNetworkPolicyRule, InType: reflect.TypeOf(&EgressNetworkPolicyRule{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_EgressNetworkPolicySpec, InType: reflect.TypeOf(&EgressNetworkPolicySpec{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_HostSubnet, InType: reflect.TypeOf(&HostSubnet{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_HostSubnetList, InType: reflect.TypeOf(&HostSubnetList{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_NetNamespace, InType: reflect.TypeOf(&NetNamespace{})},
|
||||
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_NetNamespaceList, InType: reflect.TypeOf(&NetNamespaceList{})},
|
||||
)
|
||||
}
|
||||
|
||||
func DeepCopy_api_ClusterNetwork(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*ClusterNetwork)
|
||||
out := out.(*ClusterNetwork)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
if err := pkg_api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Network = in.Network
|
||||
out.HostSubnetLength = in.HostSubnetLength
|
||||
out.ServiceNetwork = in.ServiceNetwork
|
||||
out.PluginName = in.PluginName
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_ClusterNetworkList(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*ClusterNetworkList)
|
||||
out := out.(*ClusterNetworkList)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]ClusterNetwork, len(*in))
|
||||
for i := range *in {
|
||||
if err := DeepCopy_api_ClusterNetwork(&(*in)[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_EgressNetworkPolicy(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*EgressNetworkPolicy)
|
||||
out := out.(*EgressNetworkPolicy)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
if err := pkg_api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_EgressNetworkPolicySpec(&in.Spec, &out.Spec, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_EgressNetworkPolicyList(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*EgressNetworkPolicyList)
|
||||
out := out.(*EgressNetworkPolicyList)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]EgressNetworkPolicy, len(*in))
|
||||
for i := range *in {
|
||||
if err := DeepCopy_api_EgressNetworkPolicy(&(*in)[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_EgressNetworkPolicyPeer(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*EgressNetworkPolicyPeer)
|
||||
out := out.(*EgressNetworkPolicyPeer)
|
||||
out.CIDRSelector = in.CIDRSelector
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_EgressNetworkPolicyRule(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*EgressNetworkPolicyRule)
|
||||
out := out.(*EgressNetworkPolicyRule)
|
||||
out.Type = in.Type
|
||||
out.To = in.To
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_EgressNetworkPolicySpec(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*EgressNetworkPolicySpec)
|
||||
out := out.(*EgressNetworkPolicySpec)
|
||||
if in.Egress != nil {
|
||||
in, out := &in.Egress, &out.Egress
|
||||
*out = make([]EgressNetworkPolicyRule, len(*in))
|
||||
for i := range *in {
|
||||
(*out)[i] = (*in)[i]
|
||||
}
|
||||
} else {
|
||||
out.Egress = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_HostSubnet(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*HostSubnet)
|
||||
out := out.(*HostSubnet)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
if err := pkg_api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Host = in.Host
|
||||
out.HostIP = in.HostIP
|
||||
out.Subnet = in.Subnet
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_HostSubnetList(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*HostSubnetList)
|
||||
out := out.(*HostSubnetList)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]HostSubnet, len(*in))
|
||||
for i := range *in {
|
||||
if err := DeepCopy_api_HostSubnet(&(*in)[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_NetNamespace(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*NetNamespace)
|
||||
out := out.(*NetNamespace)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
if err := pkg_api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.NetName = in.NetName
|
||||
out.NetID = in.NetID
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_NetNamespaceList(in interface{}, out interface{}, c *conversion.Cloner) error {
|
||||
{
|
||||
in := in.(*NetNamespaceList)
|
||||
out := out.(*NetNamespaceList)
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]NetNamespace, len(*in))
|
||||
for i := range *in {
|
||||
if err := DeepCopy_api_NetNamespace(&(*in)[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user