Merge pull request #82832 from wojtek-t/couple_more_conversions

Add a couple simple conversions
This commit is contained in:
Kubernetes Prow Robot 2019-09-19 09:17:14 -07:00 committed by GitHub
commit ef69b488bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 76 additions and 24 deletions

View File

@ -196,6 +196,12 @@ func Convert_v1_ListMeta_To_v1_ListMeta(in, out *ListMeta, s conversion.Scope) e
return nil return nil
} }
// +k8s:conversion-fn=copy-only
func Convert_v1_DeleteOptions_To_v1_DeleteOptions(in, out *DeleteOptions, s conversion.Scope) error {
*out = *in
return nil
}
// +k8s:conversion-fn=copy-only // +k8s:conversion-fn=copy-only
func Convert_intstr_IntOrString_To_intstr_IntOrString(in, out *intstr.IntOrString, s conversion.Scope) error { func Convert_intstr_IntOrString_To_intstr_IntOrString(in, out *intstr.IntOrString, s conversion.Scope) error {
*out = *in *out = *in
@ -247,10 +253,10 @@ func Convert_v1_Duration_To_Pointer_v1_Duration(in *Duration, out **Duration, s
} }
// Convert_Slice_string_To_v1_Time allows converting a URL query parameter value // Convert_Slice_string_To_v1_Time allows converting a URL query parameter value
func Convert_Slice_string_To_v1_Time(input *[]string, out *Time, s conversion.Scope) error { func Convert_Slice_string_To_v1_Time(in *[]string, out *Time, s conversion.Scope) error {
str := "" str := ""
if len(*input) > 0 { if len(*in) > 0 {
str = (*input)[0] str = (*in)[0]
} }
return out.UnmarshalQueryParameter(str) return out.UnmarshalQueryParameter(str)
} }
@ -328,9 +334,9 @@ func Convert_Slice_string_To_Slice_int32(in *[]string, out *[]int32, s conversio
} }
// Convert_Slice_string_To_v1_DeletionPropagation allows converting a URL query parameter propagationPolicy // Convert_Slice_string_To_v1_DeletionPropagation allows converting a URL query parameter propagationPolicy
func Convert_Slice_string_To_v1_DeletionPropagation(input *[]string, out *DeletionPropagation, s conversion.Scope) error { func Convert_Slice_string_To_v1_DeletionPropagation(in *[]string, out *DeletionPropagation, s conversion.Scope) error {
if len(*input) > 0 { if len(*in) > 0 {
*out = DeletionPropagation((*input)[0]) *out = DeletionPropagation((*in)[0])
} else { } else {
*out = "" *out = ""
} }
@ -338,9 +344,9 @@ func Convert_Slice_string_To_v1_DeletionPropagation(input *[]string, out *Deleti
} }
// Convert_Slice_string_To_v1_IncludeObjectPolicy allows converting a URL query parameter value // Convert_Slice_string_To_v1_IncludeObjectPolicy allows converting a URL query parameter value
func Convert_Slice_string_To_v1_IncludeObjectPolicy(input *[]string, out *IncludeObjectPolicy, s conversion.Scope) error { func Convert_Slice_string_To_v1_IncludeObjectPolicy(in *[]string, out *IncludeObjectPolicy, s conversion.Scope) error {
if len(*input) > 0 { if len(*in) > 0 {
*out = IncludeObjectPolicy((*input)[0]) *out = IncludeObjectPolicy((*in)[0])
} }
return nil return nil
} }

View File

@ -61,19 +61,21 @@ var DefaultStringConversions = []interface{}{
Convert_Slice_string_To_int64, Convert_Slice_string_To_int64,
} }
func Convert_Slice_string_To_string(input *[]string, out *string, s conversion.Scope) error { func Convert_Slice_string_To_string(in *[]string, out *string, s conversion.Scope) error {
if len(*input) == 0 { if len(*in) == 0 {
*out = "" *out = ""
return nil
} }
*out = (*input)[0] *out = (*in)[0]
return nil return nil
} }
func Convert_Slice_string_To_int(input *[]string, out *int, s conversion.Scope) error { func Convert_Slice_string_To_int(in *[]string, out *int, s conversion.Scope) error {
if len(*input) == 0 { if len(*in) == 0 {
*out = 0 *out = 0
return nil
} }
str := (*input)[0] str := (*in)[0]
i, err := strconv.Atoi(str) i, err := strconv.Atoi(str)
if err != nil { if err != nil {
return err return err
@ -83,15 +85,16 @@ func Convert_Slice_string_To_int(input *[]string, out *int, s conversion.Scope)
} }
// Convert_Slice_string_To_bool will convert a string parameter to boolean. // Convert_Slice_string_To_bool will convert a string parameter to boolean.
// Only the absence of a value, a value of "false", or a value of "0" resolve to false. // Only the absence of a value (i.e. zero-length slice), a value of "false", or a
// value of "0" resolve to false.
// Any other value (including empty string) resolves to true. // Any other value (including empty string) resolves to true.
func Convert_Slice_string_To_bool(input *[]string, out *bool, s conversion.Scope) error { func Convert_Slice_string_To_bool(in *[]string, out *bool, s conversion.Scope) error {
if len(*input) == 0 { if len(*in) == 0 {
*out = false *out = false
return nil return nil
} }
switch strings.ToLower((*input)[0]) { switch {
case "false", "0": case (*in)[0] == "0", strings.EqualFold((*in)[0], "false"):
*out = false *out = false
default: default:
*out = true *out = true
@ -99,15 +102,58 @@ func Convert_Slice_string_To_bool(input *[]string, out *bool, s conversion.Scope
return nil return nil
} }
func Convert_Slice_string_To_int64(input *[]string, out *int64, s conversion.Scope) error { func string_to_int64(in string) (int64, error) {
if len(*input) == 0 { return strconv.ParseInt(in, 10, 64)
*out = 0
} }
str := (*input)[0]
i, err := strconv.ParseInt(str, 10, 64) func Convert_string_To_int64(in *string, out *int64, s conversion.Scope) error {
if in == nil {
*out = 0
return nil
}
i, err := string_to_int64(*in)
if err != nil { if err != nil {
return err return err
} }
*out = i *out = i
return nil return nil
} }
func Convert_Slice_string_To_int64(in *[]string, out *int64, s conversion.Scope) error {
if len(*in) == 0 {
*out = 0
return nil
}
i, err := string_to_int64((*in)[0])
if err != nil {
return err
}
*out = i
return nil
}
func Convert_string_To_Pointer_int64(in *string, out **int64, s conversion.Scope) error {
if in == nil {
*out = nil
return nil
}
i, err := string_to_int64(*in)
if err != nil {
return err
}
*out = &i
return nil
}
func Convert_Slice_string_To_Pointer_int64(in *[]string, out **int64, s conversion.Scope) error {
if len(*in) == 0 {
*out = nil
return nil
}
i, err := string_to_int64((*in)[0])
if err != nil {
return err
}
*out = &i
return nil
}