2020-07-26 22:10:35 +00:00
|
|
|
// +build !ignore_autogenerated
|
|
|
|
|
|
|
|
/*
|
2020-08-02 06:27:46 +00:00
|
|
|
|
2020-07-26 22:10:35 +00:00
|
|
|
|
|
|
|
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 controller-gen. DO NOT EDIT.
|
|
|
|
|
2020-08-02 06:27:46 +00:00
|
|
|
package v1
|
2020-07-26 22:10:35 +00:00
|
|
|
|
|
|
|
import (
|
2020-10-28 05:06:25 +00:00
|
|
|
corev1 "k8s.io/api/core/v1"
|
2020-11-01 07:52:13 +00:00
|
|
|
"k8s.io/apimachinery/pkg/runtime"
|
2020-07-26 22:10:35 +00:00
|
|
|
)
|
|
|
|
|
2020-10-28 05:06:25 +00:00
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
|
|
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec) {
|
|
|
|
*out = *in
|
|
|
|
if in.Version != nil {
|
|
|
|
in, out := &in.Version, &out.Version
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.ImagePullPolicy != nil {
|
|
|
|
in, out := &in.ImagePullPolicy, &out.ImagePullPolicy
|
|
|
|
*out = new(corev1.PullPolicy)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.ImagePullSecrets != nil {
|
|
|
|
in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
|
|
|
|
*out = make([]corev1.LocalObjectReference, len(*in))
|
|
|
|
copy(*out, *in)
|
|
|
|
}
|
|
|
|
if in.HostNetwork != nil {
|
|
|
|
in, out := &in.HostNetwork, &out.HostNetwork
|
|
|
|
*out = new(bool)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.Affinity != nil {
|
|
|
|
in, out := &in.Affinity, &out.Affinity
|
|
|
|
*out = new(corev1.Affinity)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
|
|
|
if in.PriorityClassName != nil {
|
|
|
|
in, out := &in.PriorityClassName, &out.PriorityClassName
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.SchedulerName != nil {
|
|
|
|
in, out := &in.SchedulerName, &out.SchedulerName
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.NodeSelector != nil {
|
|
|
|
in, out := &in.NodeSelector, &out.NodeSelector
|
|
|
|
*out = make(map[string]string, len(*in))
|
|
|
|
for key, val := range *in {
|
|
|
|
(*out)[key] = val
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.Annotations != nil {
|
|
|
|
in, out := &in.Annotations, &out.Annotations
|
|
|
|
*out = make(map[string]string, len(*in))
|
|
|
|
for key, val := range *in {
|
|
|
|
(*out)[key] = val
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.Tolerations != nil {
|
|
|
|
in, out := &in.Tolerations, &out.Tolerations
|
|
|
|
*out = make([]corev1.Toleration, len(*in))
|
|
|
|
for i := range *in {
|
|
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.Env != nil {
|
|
|
|
in, out := &in.Env, &out.Env
|
|
|
|
*out = make([]corev1.EnvVar, len(*in))
|
|
|
|
for i := range *in {
|
|
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.TerminationGracePeriodSeconds != nil {
|
|
|
|
in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds
|
|
|
|
*out = new(int64)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
|
|
|
|
func (in *ComponentSpec) DeepCopy() *ComponentSpec {
|
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
out := new(ComponentSpec)
|
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
|
|
func (in *FilerSpec) DeepCopyInto(out *FilerSpec) {
|
|
|
|
*out = *in
|
|
|
|
in.ComponentSpec.DeepCopyInto(&out.ComponentSpec)
|
|
|
|
in.ResourceRequirements.DeepCopyInto(&out.ResourceRequirements)
|
2020-10-28 06:57:38 +00:00
|
|
|
if in.Service != nil {
|
|
|
|
in, out := &in.Service, &out.Service
|
|
|
|
*out = new(ServiceSpec)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
2020-10-28 11:19:17 +00:00
|
|
|
if in.Config != nil {
|
|
|
|
in, out := &in.Config, &out.Config
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
2020-10-30 06:42:00 +00:00
|
|
|
if in.MaxMB != nil {
|
|
|
|
in, out := &in.MaxMB, &out.MaxMB
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
2020-10-28 05:06:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilerSpec.
|
|
|
|
func (in *FilerSpec) DeepCopy() *FilerSpec {
|
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
out := new(FilerSpec)
|
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
|
|
func (in *MasterSpec) DeepCopyInto(out *MasterSpec) {
|
|
|
|
*out = *in
|
|
|
|
in.ComponentSpec.DeepCopyInto(&out.ComponentSpec)
|
|
|
|
in.ResourceRequirements.DeepCopyInto(&out.ResourceRequirements)
|
2020-10-28 06:57:38 +00:00
|
|
|
if in.Service != nil {
|
|
|
|
in, out := &in.Service, &out.Service
|
|
|
|
*out = new(ServiceSpec)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
2020-10-28 11:19:17 +00:00
|
|
|
if in.Config != nil {
|
|
|
|
in, out := &in.Config, &out.Config
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.VolumePreallocate != nil {
|
|
|
|
in, out := &in.VolumePreallocate, &out.VolumePreallocate
|
|
|
|
*out = new(bool)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.VolumeSizeLimitMB != nil {
|
|
|
|
in, out := &in.VolumeSizeLimitMB, &out.VolumeSizeLimitMB
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.GarbageThreshold != nil {
|
|
|
|
in, out := &in.GarbageThreshold, &out.GarbageThreshold
|
2020-10-30 03:09:04 +00:00
|
|
|
*out = new(string)
|
2020-10-28 11:19:17 +00:00
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.PulseSeconds != nil {
|
|
|
|
in, out := &in.PulseSeconds, &out.PulseSeconds
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.DefaultReplication != nil {
|
|
|
|
in, out := &in.DefaultReplication, &out.DefaultReplication
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
2020-11-09 07:02:09 +00:00
|
|
|
if in.ConcurrentStart != nil {
|
|
|
|
in, out := &in.ConcurrentStart, &out.ConcurrentStart
|
|
|
|
*out = new(bool)
|
|
|
|
**out = **in
|
|
|
|
}
|
2020-10-28 05:06:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterSpec.
|
|
|
|
func (in *MasterSpec) DeepCopy() *MasterSpec {
|
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
out := new(MasterSpec)
|
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
2020-07-26 22:10:35 +00:00
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
2020-08-02 06:27:46 +00:00
|
|
|
func (in *Seaweed) DeepCopyInto(out *Seaweed) {
|
2020-07-26 22:10:35 +00:00
|
|
|
*out = *in
|
|
|
|
out.TypeMeta = in.TypeMeta
|
|
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
2020-10-18 07:12:33 +00:00
|
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
2020-07-26 22:10:35 +00:00
|
|
|
out.Status = in.Status
|
|
|
|
}
|
|
|
|
|
2020-08-02 06:27:46 +00:00
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Seaweed.
|
|
|
|
func (in *Seaweed) DeepCopy() *Seaweed {
|
2020-07-26 22:10:35 +00:00
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
2020-08-02 06:27:46 +00:00
|
|
|
out := new(Seaweed)
|
2020-07-26 22:10:35 +00:00
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
2020-08-02 06:27:46 +00:00
|
|
|
func (in *Seaweed) DeepCopyObject() runtime.Object {
|
2020-07-26 22:10:35 +00:00
|
|
|
if c := in.DeepCopy(); c != nil {
|
|
|
|
return c
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
2020-08-02 06:27:46 +00:00
|
|
|
func (in *SeaweedList) DeepCopyInto(out *SeaweedList) {
|
2020-07-26 22:10:35 +00:00
|
|
|
*out = *in
|
|
|
|
out.TypeMeta = in.TypeMeta
|
|
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
|
|
if in.Items != nil {
|
|
|
|
in, out := &in.Items, &out.Items
|
2020-08-02 06:27:46 +00:00
|
|
|
*out = make([]Seaweed, len(*in))
|
2020-07-26 22:10:35 +00:00
|
|
|
for i := range *in {
|
|
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-02 06:27:46 +00:00
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeaweedList.
|
|
|
|
func (in *SeaweedList) DeepCopy() *SeaweedList {
|
2020-07-26 22:10:35 +00:00
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
2020-08-02 06:27:46 +00:00
|
|
|
out := new(SeaweedList)
|
2020-07-26 22:10:35 +00:00
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
2020-08-02 06:27:46 +00:00
|
|
|
func (in *SeaweedList) DeepCopyObject() runtime.Object {
|
2020-07-26 22:10:35 +00:00
|
|
|
if c := in.DeepCopy(); c != nil {
|
|
|
|
return c
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
2020-08-02 06:27:46 +00:00
|
|
|
func (in *SeaweedSpec) DeepCopyInto(out *SeaweedSpec) {
|
2020-07-26 22:10:35 +00:00
|
|
|
*out = *in
|
2020-10-28 05:06:25 +00:00
|
|
|
if in.Master != nil {
|
|
|
|
in, out := &in.Master, &out.Master
|
|
|
|
*out = new(MasterSpec)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
|
|
|
if in.Volume != nil {
|
|
|
|
in, out := &in.Volume, &out.Volume
|
|
|
|
*out = new(VolumeSpec)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
|
|
|
if in.Filer != nil {
|
|
|
|
in, out := &in.Filer, &out.Filer
|
|
|
|
*out = new(FilerSpec)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
2020-10-28 06:57:38 +00:00
|
|
|
if in.PVReclaimPolicy != nil {
|
|
|
|
in, out := &in.PVReclaimPolicy, &out.PVReclaimPolicy
|
|
|
|
*out = new(corev1.PersistentVolumeReclaimPolicy)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.ImagePullSecrets != nil {
|
|
|
|
in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
|
|
|
|
*out = make([]corev1.LocalObjectReference, len(*in))
|
|
|
|
copy(*out, *in)
|
|
|
|
}
|
|
|
|
if in.EnablePVReclaim != nil {
|
|
|
|
in, out := &in.EnablePVReclaim, &out.EnablePVReclaim
|
|
|
|
*out = new(bool)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.HostNetwork != nil {
|
|
|
|
in, out := &in.HostNetwork, &out.HostNetwork
|
|
|
|
*out = new(bool)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.Affinity != nil {
|
|
|
|
in, out := &in.Affinity, &out.Affinity
|
|
|
|
*out = new(corev1.Affinity)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
|
|
|
if in.NodeSelector != nil {
|
|
|
|
in, out := &in.NodeSelector, &out.NodeSelector
|
|
|
|
*out = make(map[string]string, len(*in))
|
|
|
|
for key, val := range *in {
|
|
|
|
(*out)[key] = val
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.Annotations != nil {
|
|
|
|
in, out := &in.Annotations, &out.Annotations
|
|
|
|
*out = make(map[string]string, len(*in))
|
|
|
|
for key, val := range *in {
|
|
|
|
(*out)[key] = val
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.Tolerations != nil {
|
|
|
|
in, out := &in.Tolerations, &out.Tolerations
|
|
|
|
*out = make([]corev1.Toleration, len(*in))
|
|
|
|
for i := range *in {
|
|
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
|
|
}
|
|
|
|
}
|
2020-11-10 08:11:17 +00:00
|
|
|
if in.HostSuffix != nil {
|
|
|
|
in, out := &in.HostSuffix, &out.HostSuffix
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
2020-07-26 22:10:35 +00:00
|
|
|
}
|
|
|
|
|
2020-08-02 06:27:46 +00:00
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeaweedSpec.
|
|
|
|
func (in *SeaweedSpec) DeepCopy() *SeaweedSpec {
|
2020-07-26 22:10:35 +00:00
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
2020-08-02 06:27:46 +00:00
|
|
|
out := new(SeaweedSpec)
|
2020-07-26 22:10:35 +00:00
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
2020-08-02 06:27:46 +00:00
|
|
|
func (in *SeaweedStatus) DeepCopyInto(out *SeaweedStatus) {
|
2020-07-26 22:10:35 +00:00
|
|
|
*out = *in
|
|
|
|
}
|
|
|
|
|
2020-08-02 06:27:46 +00:00
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeaweedStatus.
|
|
|
|
func (in *SeaweedStatus) DeepCopy() *SeaweedStatus {
|
2020-07-26 22:10:35 +00:00
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
2020-08-02 06:27:46 +00:00
|
|
|
out := new(SeaweedStatus)
|
2020-07-26 22:10:35 +00:00
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
2020-10-28 05:06:25 +00:00
|
|
|
|
2020-10-28 06:57:38 +00:00
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
|
|
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
|
|
|
|
*out = *in
|
|
|
|
if in.Annotations != nil {
|
|
|
|
in, out := &in.Annotations, &out.Annotations
|
|
|
|
*out = make(map[string]string, len(*in))
|
|
|
|
for key, val := range *in {
|
|
|
|
(*out)[key] = val
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if in.LoadBalancerIP != nil {
|
|
|
|
in, out := &in.LoadBalancerIP, &out.LoadBalancerIP
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.ClusterIP != nil {
|
|
|
|
in, out := &in.ClusterIP, &out.ClusterIP
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
|
|
|
|
func (in *ServiceSpec) DeepCopy() *ServiceSpec {
|
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
out := new(ServiceSpec)
|
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
2020-10-28 05:06:25 +00:00
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
|
|
func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec) {
|
|
|
|
*out = *in
|
|
|
|
in.ComponentSpec.DeepCopyInto(&out.ComponentSpec)
|
|
|
|
in.ResourceRequirements.DeepCopyInto(&out.ResourceRequirements)
|
2020-10-28 06:57:38 +00:00
|
|
|
if in.Service != nil {
|
|
|
|
in, out := &in.Service, &out.Service
|
|
|
|
*out = new(ServiceSpec)
|
|
|
|
(*in).DeepCopyInto(*out)
|
|
|
|
}
|
2020-10-30 06:42:00 +00:00
|
|
|
if in.StorageClassName != nil {
|
|
|
|
in, out := &in.StorageClassName, &out.StorageClassName
|
|
|
|
*out = new(string)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.CompactionMBps != nil {
|
|
|
|
in, out := &in.CompactionMBps, &out.CompactionMBps
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.FileSizeLimitMB != nil {
|
|
|
|
in, out := &in.FileSizeLimitMB, &out.FileSizeLimitMB
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.FixJpgOrientation != nil {
|
|
|
|
in, out := &in.FixJpgOrientation, &out.FixJpgOrientation
|
|
|
|
*out = new(bool)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.IdleTimeout != nil {
|
|
|
|
in, out := &in.IdleTimeout, &out.IdleTimeout
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.MaxVolumeCounts != nil {
|
|
|
|
in, out := &in.MaxVolumeCounts, &out.MaxVolumeCounts
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
|
|
|
if in.MinFreeSpacePercent != nil {
|
|
|
|
in, out := &in.MinFreeSpacePercent, &out.MinFreeSpacePercent
|
|
|
|
*out = new(int32)
|
|
|
|
**out = **in
|
|
|
|
}
|
2020-10-28 05:06:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
|
|
|
|
func (in *VolumeSpec) DeepCopy() *VolumeSpec {
|
|
|
|
if in == nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
out := new(VolumeSpec)
|
|
|
|
in.DeepCopyInto(out)
|
|
|
|
return out
|
|
|
|
}
|