func convert_v1_DeploymentTriggerImageChangeParams_To_api_DeploymentTriggerImageChangeParams(in *DeploymentTriggerImageChangeParams, out *newer.DeploymentTriggerImageChangeParams, s conversion.Scope) error { out.Automatic = in.Automatic out.ContainerNames = make([]string, len(in.ContainerNames)) copy(out.ContainerNames, in.ContainerNames) out.LastTriggeredImage = in.LastTriggeredImage if err := s.Convert(&in.From, &out.From, 0); err != nil { return err } switch in.From.Kind { case "DockerImage": ref, err := imageapi.ParseDockerImageReference(in.From.Name) if err != nil { return err } out.Tag = ref.Tag ref.Tag, ref.ID = "", "" out.RepositoryName = ref.String() case "ImageStreamTag": name, tag, ok := imageapi.SplitImageStreamTag(in.From.Name) if !ok { return fmt.Errorf("ImageStreamTag object references must be in the form <name>:<tag>: %s", in.From.Name) } out.From.Kind = "ImageStream" out.From.Name = name out.Tag = tag } return nil }
func Convert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSetSpec, out *extensions.DaemonSetSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*DaemonSetSpec))(in) } // unable to generate simple pointer conversion for v1beta1.LabelSelector -> extensions.LabelSelector if in.Selector != nil { out.Selector = new(extensions.LabelSelector) if err := Convert_v1beta1_LabelSelector_To_extensions_LabelSelector(in.Selector, out.Selector, s); err != nil { return err } } else { out.Selector = nil } // unable to generate simple pointer conversion for v1.PodTemplateSpec -> api.PodTemplateSpec if in.Template != nil { out.Template = new(api.PodTemplateSpec) if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(in.Template, out.Template, s); err != nil { return err } } else { out.Template = nil } if err := Convert_v1beta1_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrategy(&in.UpdateStrategy, &out.UpdateStrategy, s); err != nil { return err } if in.UniqueLabelKey != nil { out.UniqueLabelKey = *in.UniqueLabelKey } return nil }
func Convert_v1_PodSecurityContext_To_api_PodSecurityContext(in *v1.PodSecurityContext, out *api.PodSecurityContext, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*v1.PodSecurityContext))(in) } out.SupplementalGroups = in.SupplementalGroups if in.SELinuxOptions != nil { out.SELinuxOptions = new(api.SELinuxOptions) if err := Convert_v1_SELinuxOptions_To_api_SELinuxOptions(in.SELinuxOptions, out.SELinuxOptions, s); err != nil { return err } } else { out.SELinuxOptions = nil } if in.RunAsUser != nil { out.RunAsUser = new(int64) *out.RunAsUser = *in.RunAsUser } else { out.RunAsUser = nil } if in.RunAsNonRoot != nil { out.RunAsNonRoot = new(bool) *out.RunAsNonRoot = *in.RunAsNonRoot } else { out.RunAsNonRoot = nil } if in.FSGroup != nil { out.FSGroup = new(int64) *out.FSGroup = *in.FSGroup } else { out.FSGroup = nil } return nil }
// This will Convert the v1 representation of VolumeSource to our internal representation // Used for keeping backwards compatibility for the Metadata field func Convert_v1beta1_VolumeSource_To_api_VolumeSource(in *v1.VolumeSource, out *api.VolumeSource, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*v1.VolumeSource))(in) } if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil { return err } // if specified Metadata will stomp DownwardAPI if in.Metadata != nil { out.DownwardAPI = new(api.DownwardAPIVolumeSource) if err := Convert_v1_MetadataVolumeSource_To_api_DownwardAPIVolumeSource(in.Metadata, out.DownwardAPI, s); err != nil { return err } } else { if in.DownwardAPI != nil { out.DownwardAPI = new(api.DownwardAPIVolumeSource) if err := Convert_v1_DownwardAPIVolumeSource_To_api_DownwardAPIVolumeSource(in.DownwardAPI, out.DownwardAPI, s); err != nil { return err } } else { out.DownwardAPI = nil } } return nil }
func convert_v1beta3_ContainerState_To_api_ContainerState(in *ContainerState, out *api.ContainerState, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*ContainerState))(in) } if in.Waiting != nil { out.Waiting = new(api.ContainerStateWaiting) if err := convert_v1beta3_ContainerStateWaiting_To_api_ContainerStateWaiting(in.Waiting, out.Waiting, s); err != nil { return err } } else { out.Waiting = nil } if in.Running != nil { out.Running = new(api.ContainerStateRunning) if err := convert_v1beta3_ContainerStateRunning_To_api_ContainerStateRunning(in.Running, out.Running, s); err != nil { return err } } else { out.Running = nil } if in.Termination != nil { out.Terminated = new(api.ContainerStateTerminated) if err := convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated(in.Termination, out.Terminated, s); err != nil { return err } } else { out.Terminated = nil } return nil }
func convert_v1beta3_Image_To_api_Image(in *Image, out *newer.Image, s conversion.Scope) error { if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil { return err } out.DockerImageReference = in.DockerImageReference out.DockerImageManifest = in.DockerImageManifest version := in.DockerImageMetadataVersion if len(version) == 0 { version = "1.0" } if len(in.DockerImageMetadata.RawJSON) > 0 { // TODO: add a way to default the expected kind and version of an object if not set obj, err := kapi.Scheme.New(version, "DockerImage") if err != nil { return err } if err := kapi.Scheme.DecodeInto(in.DockerImageMetadata.RawJSON, obj); err != nil { return err } if err := s.Convert(obj, &out.DockerImageMetadata, 0); err != nil { return err } } out.DockerImageMetadataVersion = version return nil }
func Convert_extensions_DeploymentSpec_To_v1beta1_DeploymentSpec(in *extensions.DeploymentSpec, out *DeploymentSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*extensions.DeploymentSpec))(in) } out.Replicas = new(int32) *out.Replicas = int32(in.Replicas) if in.Selector != nil { out.Selector = new(LabelSelector) if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in.Selector, out.Selector, s); err != nil { return err } } else { out.Selector = nil } if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { return err } if err := Convert_extensions_DeploymentStrategy_To_v1beta1_DeploymentStrategy(&in.Strategy, &out.Strategy, s); err != nil { return err } if in.RevisionHistoryLimit != nil { out.RevisionHistoryLimit = new(int32) *out.RevisionHistoryLimit = int32(*in.RevisionHistoryLimit) } out.MinReadySeconds = int32(in.MinReadySeconds) out.Paused = in.Paused if in.RollbackTo != nil { out.RollbackTo = new(RollbackConfig) out.RollbackTo.Revision = int64(in.RollbackTo.Revision) } else { out.RollbackTo = nil } return nil }
func autoconvert_api_FlockerVolumeSource_To_v1_FlockerVolumeSource(in *api.FlockerVolumeSource, out *FlockerVolumeSource, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.FlockerVolumeSource))(in) } out.DatasetName = in.DatasetName return nil }
func autoconvert_api_Handler_To_v1_Handler(in *api.Handler, out *Handler, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.Handler))(in) } if in.Exec != nil { out.Exec = new(ExecAction) if err := convert_api_ExecAction_To_v1_ExecAction(in.Exec, out.Exec, s); err != nil { return err } } else { out.Exec = nil } if in.HTTPGet != nil { out.HTTPGet = new(HTTPGetAction) if err := convert_api_HTTPGetAction_To_v1_HTTPGetAction(in.HTTPGet, out.HTTPGet, s); err != nil { return err } } else { out.HTTPGet = nil } if in.TCPSocket != nil { out.TCPSocket = new(TCPSocketAction) if err := convert_api_TCPSocketAction_To_v1_TCPSocketAction(in.TCPSocket, out.TCPSocket, s); err != nil { return err } } else { out.TCPSocket = nil } return nil }
func autoconvert_api_DaemonEndpoint_To_v1_DaemonEndpoint(in *api.DaemonEndpoint, out *DaemonEndpoint, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.DaemonEndpoint))(in) } out.Port = in.Port return nil }
func autoconvert_api_EmptyDirVolumeSource_To_v1_EmptyDirVolumeSource(in *api.EmptyDirVolumeSource, out *EmptyDirVolumeSource, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.EmptyDirVolumeSource))(in) } out.Medium = StorageMedium(in.Medium) return nil }
func autoconvert_api_NamespaceStatus_To_v1_NamespaceStatus(in *api.NamespaceStatus, out *NamespaceStatus, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.NamespaceStatus))(in) } out.Phase = NamespacePhase(in.Phase) return nil }
func autoconvert_api_LocalObjectReference_To_v1_LocalObjectReference(in *api.LocalObjectReference, out *LocalObjectReference, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.LocalObjectReference))(in) } out.Name = in.Name return nil }
func convert_api_SourceRevision_To_v1beta3_SourceRevision(in *newer.SourceRevision, out *SourceRevision, s conversion.Scope) error { if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil { return err } out.Type = BuildSourceGit return nil }
// Convert_runtime_Object_To_runtime_RawExtension is conversion function that assumes that the runtime.Object you've embedded is in // the same GroupVersion that your containing type is in. This is signficantly better than simply breaking. // Given an ordered list of preferred external versions for a given encode or conversion call, the behavior of this function could be // made generic, predictable, and controllable. func convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runtime.RawExtension, s conversion.Scope) error { if in == nil { return nil } externalObject, err := internal.Scheme.ConvertToVersion(in, s.Meta().DestVersion) if runtime.IsNotRegisteredError(err) { switch cast := in.(type) { case *runtime.Unknown: out.Raw = cast.Raw return nil case *runtime.Unstructured: bytes, err := runtime.Encode(runtime.UnstructuredJSONScheme, externalObject) if err != nil { return err } out.Raw = bytes return nil } } if err != nil { return err } bytes, err := runtime.Encode(codec, externalObject) if err != nil { return err } out.Raw = bytes out.Object = externalObject return nil }
func autoconvert_api_HostPathVolumeSource_To_v1_HostPathVolumeSource(in *api.HostPathVolumeSource, out *HostPathVolumeSource, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.HostPathVolumeSource))(in) } out.Path = in.Path return nil }
func Convert_v1beta1_DeploymentSpec_To_extensions_DeploymentSpec(in *DeploymentSpec, out *extensions.DeploymentSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*DeploymentSpec))(in) } if in.Replicas != nil { out.Replicas = int(*in.Replicas) } if in.Selector != nil { out.Selector = make(map[string]string) for key, val := range in.Selector { out.Selector[key] = val } } else { out.Selector = nil } if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { return err } if err := Convert_v1beta1_DeploymentStrategy_To_extensions_DeploymentStrategy(&in.Strategy, &out.Strategy, s); err != nil { return err } if in.RevisionHistoryLimit != nil { out.RevisionHistoryLimit = new(int) *out.RevisionHistoryLimit = int(*in.RevisionHistoryLimit) } out.MinReadySeconds = int(in.MinReadySeconds) out.Paused = in.Paused if in.RollbackTo != nil { out.RollbackTo = new(extensions.RollbackConfig) out.RollbackTo.Revision = in.RollbackTo.Revision } else { out.RollbackTo = nil } return nil }
func autoconvert_api_CephFSVolumeSource_To_v1_CephFSVolumeSource(in *api.CephFSVolumeSource, out *CephFSVolumeSource, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.CephFSVolumeSource))(in) } if in.Monitors != nil { out.Monitors = make([]string, len(in.Monitors)) for i := range in.Monitors { out.Monitors[i] = in.Monitors[i] } } else { out.Monitors = nil } out.User = in.User out.SecretFile = in.SecretFile if in.SecretRef != nil { out.SecretRef = new(LocalObjectReference) if err := convert_api_LocalObjectReference_To_v1_LocalObjectReference(in.SecretRef, out.SecretRef, s); err != nil { return err } } else { out.SecretRef = nil } out.ReadOnly = in.ReadOnly return nil }
func convert_v1_ScaleSpec_To_expapi_ScaleSpec(in *ScaleSpec, out *expapi.ScaleSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*ScaleSpec))(in) } out.Replicas = in.Replicas return nil }
// The docker metadata must be cast to a version func convert_api_Image_To_v1_Image(in *newer.Image, out *Image, s conversion.Scope) error { if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil { return err } out.DockerImageReference = in.DockerImageReference out.DockerImageManifest = in.DockerImageManifest version := in.DockerImageMetadataVersion if len(version) == 0 { version = "1.0" } data, err := kapi.Scheme.EncodeToVersion(&in.DockerImageMetadata, version) if err != nil { return err } out.DockerImageMetadata.RawJSON = data out.DockerImageMetadataVersion = version if in.DockerImageLayers != nil { out.DockerImageLayers = make([]ImageLayer, len(in.DockerImageLayers)) for i := range in.DockerImageLayers { if err := s.Convert(&in.DockerImageLayers[i], &out.DockerImageLayers[i], 0); err != nil { return err } } } else { out.DockerImageLayers = nil } return nil }
// This will Convert our internal represantation of VolumeSource to its v1 representation // Used for keeping backwards compatibility for the Metadata field func Convert_api_VolumeSource_To_v1beta1_VolumeSource(in *api.VolumeSource, out *v1.VolumeSource, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*api.VolumeSource))(in) } if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil { return err } if in.DownwardAPI != nil { out.DownwardAPI = new(v1.DownwardAPIVolumeSource) if err := Convert_api_DownwardAPIVolumeSource_To_v1_DownwardAPIVolumeSource(in.DownwardAPI, out.DownwardAPI, s); err != nil { return err } // also copy to Metadata out.Metadata = new(v1.MetadataVolumeSource) if err := Convert_api_DownwardAPIVolumeSource_To_v1_MetadataVolumeSource(in.DownwardAPI, out.Metadata, s); err != nil { return err } } else { out.DownwardAPI = nil } return nil }
func autoConvert_rbac_RoleBinding_To_v1alpha1_RoleBinding(in *rbac.RoleBinding, out *RoleBinding, s conversion.Scope) error { if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { return err } // TODO: Inefficient conversion - can we improve it? if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil { return err } if in.Subjects != nil { in, out := &in.Subjects, &out.Subjects *out = make([]Subject, len(*in)) for i := range *in { if err := Convert_rbac_Subject_To_v1alpha1_Subject(&(*in)[i], &(*out)[i], s); err != nil { return err } } } else { out.Subjects = nil } // TODO: Inefficient conversion - can we improve it? if err := s.Convert(&in.RoleRef, &out.RoleRef, 0); err != nil { return err } return nil }
func Convert_v2alpha1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*JobSpec))(in) } out.Parallelism = in.Parallelism out.Completions = in.Completions out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds // unable to generate simple pointer conversion for unversioned.LabelSelector -> v1.LabelSelector if in.Selector != nil { out.Selector = new(unversioned.LabelSelector) if err := Convert_v2alpha1_LabelSelector_To_unversioned_LabelSelector(in.Selector, out.Selector, s); err != nil { return err } } else { out.Selector = nil } if in.ManualSelector != nil { out.ManualSelector = new(bool) *out.ManualSelector = *in.ManualSelector } else { out.ManualSelector = nil } if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { return err } return nil }
func convert_v1_DeploymentSpec_To_experimental_DeploymentSpec(in *DeploymentSpec, out *experimental.DeploymentSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*DeploymentSpec))(in) } if in.Replicas != nil { out.Replicas = *in.Replicas } if in.Selector != nil { out.Selector = make(map[string]string) for key, val := range in.Selector { out.Selector[key] = val } } else { out.Selector = nil } if in.Template != nil { out.Template = new(api.PodTemplateSpec) if err := convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(in.Template, out.Template, s); err != nil { return err } } else { out.Template = nil } if err := convert_v1_DeploymentStrategy_To_experimental_DeploymentStrategy(&in.Strategy, &out.Strategy, s); err != nil { return err } if in.UniqueLabelKey != nil { out.UniqueLabelKey = *in.UniqueLabelKey } return nil }
func Convert_v1beta1_DeploymentSpec_To_extensions_DeploymentSpec(in *DeploymentSpec, out *extensions.DeploymentSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*DeploymentSpec))(in) } if in.Replicas != nil { out.Replicas = int(*in.Replicas) } if in.Selector != nil { out.Selector = make(map[string]string) for key, val := range in.Selector { out.Selector[key] = val } } else { out.Selector = nil } if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { return err } if err := Convert_v1beta1_DeploymentStrategy_To_extensions_DeploymentStrategy(&in.Strategy, &out.Strategy, s); err != nil { return err } if in.UniqueLabelKey != nil { out.UniqueLabelKey = *in.UniqueLabelKey } out.Paused = in.Paused return nil }
func autoConvert_extensions_HorizontalPodAutoscalerStatus_To_v1_HorizontalPodAutoscalerStatus(in *extensions.HorizontalPodAutoscalerStatus, out *HorizontalPodAutoscalerStatus, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*extensions.HorizontalPodAutoscalerStatus))(in) } if in.ObservedGeneration != nil { in, out := &in.ObservedGeneration, &out.ObservedGeneration *out = new(int64) **out = **in } else { out.ObservedGeneration = nil } if in.LastScaleTime != nil { in, out := &in.LastScaleTime, &out.LastScaleTime *out = new(unversioned.Time) if err := api.Convert_unversioned_Time_To_unversioned_Time(*in, *out, s); err != nil { return err } } else { out.LastScaleTime = nil } out.CurrentReplicas = in.CurrentReplicas out.DesiredReplicas = in.DesiredReplicas if in.CurrentCPUUtilizationPercentage != nil { in, out := &in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage *out = new(int32) **out = **in } else { out.CurrentCPUUtilizationPercentage = nil } return nil }
func convert_v1_ReplicationControllerSpec_To_api_ReplicationControllerSpec(in *ReplicationControllerSpec, out *api.ReplicationControllerSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*ReplicationControllerSpec))(in) } out.Replicas = *in.Replicas if in.Selector != nil { out.Selector = make(map[string]string) for key, val := range in.Selector { out.Selector[key] = val } } else { out.Selector = nil } //if in.TemplateRef != nil { // out.TemplateRef = new(api.ObjectReference) // if err := convert_v1_ObjectReference_To_api_ObjectReference(in.TemplateRef, out.TemplateRef, s); err != nil { // return err // } //} else { // out.TemplateRef = nil //} if in.Template != nil { out.Template = new(api.PodTemplateSpec) if err := convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(in.Template, out.Template, s); err != nil { return err } } else { out.Template = nil } return nil }
func autoConvert_autoscaling_ScaleSpec_To_v1_ScaleSpec(in *autoscaling.ScaleSpec, out *ScaleSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*autoscaling.ScaleSpec))(in) } out.Replicas = in.Replicas return nil }
func Convert_v1beta1_ReplicaSetSpec_To_extensions_ReplicaSetSpec(in *ReplicaSetSpec, out *extensions.ReplicaSetSpec, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*ReplicaSetSpec))(in) } if in.Replicas != nil { out.Replicas = int(*in.Replicas) } if in.Selector != nil { out.Selector = new(extensions.LabelSelector) if err := Convert_v1beta1_LabelSelector_To_extensions_LabelSelector(in.Selector, out.Selector, s); err != nil { return err } } else { out.Selector = nil } if in.Template != nil { out.Template = new(api.PodTemplateSpec) if err := Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(in.Template, out.Template, s); err != nil { return err } } else { out.Template = nil } return nil }
func convert_api_RollingDeploymentStrategyParams_To_v1_RollingDeploymentStrategyParams(in *newer.RollingDeploymentStrategyParams, out *RollingDeploymentStrategyParams, s conversion.Scope) error { out.UpdatePeriodSeconds = in.UpdatePeriodSeconds out.IntervalSeconds = in.IntervalSeconds out.TimeoutSeconds = in.TimeoutSeconds out.UpdatePercent = in.UpdatePercent if out.MaxUnavailable == nil { out.MaxUnavailable = &kutil.IntOrString{} } if out.MaxSurge == nil { out.MaxSurge = &kutil.IntOrString{} } if in.UpdatePercent != nil { pct := kutil.NewIntOrStringFromString(fmt.Sprintf("%d%%", int(math.Abs(float64(*in.UpdatePercent))))) if *in.UpdatePercent > 0 { out.MaxSurge = &pct } else { out.MaxUnavailable = &pct } } else { if err := s.Convert(&in.MaxUnavailable, out.MaxUnavailable, 0); err != nil { return err } if err := s.Convert(&in.MaxSurge, out.MaxSurge, 0); err != nil { return err } } return nil }