@@ -308,31 +308,9 @@ func SetResource(
308308 // ko.Status.VpnMemberships = field0
309309
310310 // This is for AWS-SDK-GO-V2
311- if targetMemberShapeRef .Shape .IsEnum () {
312-
313- out += fmt .Sprintf (
314- "%sif %s != \" \" {\n " , indent , sourceAdaptedVarName ,
315- )
316-
317- // } else if targetMemberShapeRef.Shape.Type == "long" && strings.HasSuffix(targetMemberShapeRef.ShapeName, "Value") {
318-
319- // out += fmt.Sprintf(
320- // "%sif %s > 0 {\n", indent, sourceAdaptedVarName,
321- // )
322-
323- // else if targetMemberShapeRef.Shape.Type == "integer" {
311+ if ! targetMemberShapeRef .Shape .IsEnum () && ! targetMemberShape .HasDefaultValue () {
324312
325- // out += fmt.Sprintf(
326- // "%sif %s > 0 {\n", indent, sourceAdaptedVarName,
327- // )
328- // }
329-
330- // } else if targetMemberShapeRef.Shape.Type == "boolean" && targetMemberShapeRef.Shape.GoType() == "bool" {
331-
332- // out += fmt.Sprintf(
333- // "%sif %s {\n", indent, sourceAdaptedVarName,
334- // )
335- } else {
313+ // if !sourceMemberShapeRef.Shape.IsEnum() && sourceMemberShapeRef.ShapeName != "Boolean" && sourceMemberShapeRef.Shape.ShapeName != "BooleanType" {
336314
337315 out += fmt .Sprintf (
338316 "%sif %s != nil {\n " , indent , sourceAdaptedVarName ,
@@ -344,8 +322,14 @@ func SetResource(
344322 )
345323
346324 switch targetMemberShape .Type {
347- case "list" , "structure" , "map" :
348- {
325+ case "list" , "map" , "structure" :
326+ if targetMemberShape .Type == "list" && targetMemberShape .MemberRef .Shape .Type == "string" {
327+ out += fmt .Sprintf ("%s%s = aws.StringSlice(%s)\n " , indent , qualifiedTargetVar , sourceAdaptedVarName )
328+ } else if targetMemberShape .Type == "map" &&
329+ targetMemberShape .KeyRef .Shape .Type == "string" &&
330+ targetMemberShape .ValueRef .Shape .Type == "string" {
331+ out += fmt .Sprintf ("%s%s = aws.StringMap(%s)\n " , indent , qualifiedTargetVar , sourceAdaptedVarName )
332+ } else {
349333
350334 memberVarName := fmt .Sprintf ("f%d" , memberIndex )
351335
@@ -389,17 +373,19 @@ func SetResource(
389373 indentLevel + 1 ,
390374 )
391375 }
392- out += fmt .Sprintf (
393- "%s} else {\n " , indent ,
394- )
376+ if ! targetMemberShape .IsEnum () && ! targetMemberShape .HasDefaultValue () {
377+ out += fmt .Sprintf (
378+ "%s} else {\n " , indent ,
379+ )
395380
396- out += fmt .Sprintf (
397- "%s%s%s.%s = nil\n " , indent , indent ,
398- targetAdaptedVarName , f .Names .Camel ,
399- )
400- out += fmt .Sprintf (
401- "%s}\n " , indent ,
402- )
381+ out += fmt .Sprintf (
382+ "%s%s%s.%s = nil\n " , indent , indent ,
383+ targetAdaptedVarName , f .Names .Camel ,
384+ )
385+ out += fmt .Sprintf (
386+ "%s}\n " , indent ,
387+ )
388+ }
403389 }
404390 return out
405391}
@@ -661,7 +647,13 @@ func setResourceReadMany(
661647 )
662648 switch sourceMemberShape .Type {
663649 case "list" , "structure" , "map" :
664- {
650+ if sourceMemberShape .Type == "list" && sourceMemberShape .MemberRef .Shape .Type == "string" {
651+ out += fmt .Sprintf ("%s%s = aws.StringSlice(%s)\n " , indent , qualifiedTargetVar , sourceAdaptedVarName )
652+ } else if sourceMemberShape .Type == "map" &&
653+ sourceMemberShape .KeyRef .Shape .Type == "string" &&
654+ sourceMemberShape .ValueRef .Shape .Type == "string" {
655+ out += fmt .Sprintf ("%s%s = aws.StringMap(%s)\n " , indent , qualifiedTargetVar , sourceAdaptedVarName )
656+ } else {
665657 memberVarName := fmt .Sprintf ("f%d" , memberIndex )
666658 out += varEmptyConstructorK8sType (
667659 cfg , r ,
@@ -1735,11 +1727,11 @@ func SetResourceForStruct(
17351727 // "%sif %s != nil {\n", indent, sourceAdaptedVarName,
17361728 // )
17371729
1738- if ! sourceMemberShape .IsEnum () && sourceMemberShape .ShapeName != "Boolean" {
1739-
1730+ if ! sourceMemberShape .IsEnum () && ! sourceMemberShape .HasDefaultValue () {
17401731 out += fmt .Sprintf (
17411732 "%sif %s != nil {\n " , indent , sourceAdaptedVarName ,
17421733 )
1734+
17431735 // This is for edge case - in efs controller
17441736 // FileSystemSize.Value is int64 and rest of fields are *int64
17451737 }
@@ -1757,7 +1749,15 @@ func SetResourceForStruct(
17571749
17581750 switch sourceMemberShape .Type {
17591751 case "list" , "structure" , "map" :
1760- {
1752+ if sourceMemberShape .Type == "list" &&
1753+ ! sourceMemberShape .MemberRef .Shape .IsEnum () &&
1754+ sourceMemberShape .MemberRef .Shape .Type == "string" {
1755+ out += fmt .Sprintf ("%s%s = aws.StringSlice(%s)\n " , indent , qualifiedTargetVar , sourceAdaptedVarName )
1756+ } else if sourceMemberShape .Type == "map" &&
1757+ sourceMemberShape .KeyRef .Shape .Type == "string" &&
1758+ sourceMemberShape .ValueRef .Shape .Type == "string" {
1759+ out += fmt .Sprintf ("%s%s = aws.StringMap(%s)\n " , indent , qualifiedTargetVar , sourceAdaptedVarName )
1760+ } else {
17611761 out += varEmptyConstructorK8sType (
17621762 cfg , r ,
17631763 indexedVarName ,
@@ -1792,7 +1792,7 @@ func SetResourceForStruct(
17921792 indentLevel + 1 ,
17931793 )
17941794 }
1795- if ! sourceMemberShape .IsEnum () && sourceMemberShape .ShapeName != "Boolean" {
1795+ if ! sourceMemberShape .IsEnum () && ! sourceMemberShape .HasDefaultValue () {
17961796 out += fmt .Sprintf (
17971797 "%s}\n " , indent ,
17981798 )
@@ -1954,24 +1954,27 @@ func setResourceForSlice(
19541954 )
19551955 }
19561956 // This is for AWS-SDK-GO-V2
1957- addressOfVar := ""
1957+ // addressOfVar := ""
19581958 switch targetShape .MemberRef .Shape .Type {
19591959 case "structure" , "list" , "map" :
19601960 break
19611961 default :
19621962 // This is for AWS-SDK-GO-V2
1963-
1963+
19641964 }
19651965 // f0 = append(f0, elem0)
19661966
1967- if sourceShape .ShapeName == "StringList" {
1968- addressOfVar = "&"
1969- }
1967+ // if !sourceShape.MemberRef.Shape.IsEnum() {
1968+ // addressOfVar = "&"
1969+ // }
1970+ // if sourceShape.Type == "list" {
1971+ // addressOfVar = "&"
1972+ // }
19701973
19711974 // This is for AWS-SDK-GO-V2
19721975 //out += fmt.Sprintf("%s\t%s = append(%s, %s%s)\n", indent, targetVarName, targetVarName, addressOfVar, elemVarName)
19731976
1974- out += fmt .Sprintf ("%s\t %s = append(%s, %s%s )\n " , indent , targetVarName , targetVarName , addressOfVar , elemVarName )
1977+ out += fmt .Sprintf ("%s\t %s = append(%s, %s)\n " , indent , targetVarName , targetVarName , elemVarName )
19751978 out += fmt .Sprintf ("%s}\n " , indent )
19761979
19771980 return out
@@ -2072,24 +2075,40 @@ func setResourceForScalar(
20722075
20732076 }
20742077
2075- // This is for AWS-SDK-GO-V2
2076- if shape .IsEnum () {
2077- out += fmt .Sprintf ("%s%s = aws.String(string(%s))\n " , indent , targetVar , strings .TrimPrefix (setTo , "*" ))
2078- // } else if shape.Type == "integer" {
2079-
2080- // out += fmt.Sprintf("%s%s := int64(%s)\n", indent, "number", setTo)
2081- // out += fmt.Sprintf("%s%s = &%s\n", indent, targetVar, "number")
2082-
2083- // This is for edge case - in efs controller
2084- // targetvar is int64 and rest of targetvar are *int64 - EFS controller
2085- } else if shape .ShapeName == "Boolean" {
2086- out += fmt .Sprintf ("%s%s = &%s\n " , indent , targetVar , setTo )
2087- } else if shape .Type == "integer" {
2088- out += fmt .Sprintf ("%stemp := int64(*%s)\n " , indent , setTo )
2089- out += fmt .Sprintf ("%s%s = &temp\n " , indent , targetVar )
2090- }else {
2078+ switch shape .Type {
2079+ case "list" :
20912080 out += fmt .Sprintf ("%s%s = %s\n " , indent , targetVar , setTo )
2081+ case "integer" :
2082+ out += fmt .Sprintf ("%s%stemp := int64(*%s)\n " , indent , shape .ShapeName , setTo )
2083+ out += fmt .Sprintf ("%s%s = &%stemp\n " , indent , targetVar , shape .ShapeName )
2084+ default :
2085+ if shape .HasDefaultValue () {
2086+ out += fmt .Sprintf ("%s%s = &%s\n " , indent , targetVar , setTo )
2087+ } else if shape .IsEnum () {
2088+ out += fmt .Sprintf ("%s%s = aws.String(string(%s))\n " , indent , targetVar , strings .TrimPrefix (setTo , "*" ))
2089+ } else {
2090+ out += fmt .Sprintf ("%s%s = %s\n " , indent , targetVar , setTo )
2091+ }
20922092 }
2093+
2094+ // This is for AWS-SDK-GO-V2
2095+ // if shape.IsEnum() {
2096+ // out += fmt.Sprintf("%s%s = aws.String(string(%s))\n", indent, targetVar, strings.TrimPrefix(setTo, "*"))
2097+ // // } else if shape.Type == "integer" {
2098+
2099+ // // out += fmt.Sprintf("%s%s := int64(%s)\n", indent, "number", setTo)
2100+ // // out += fmt.Sprintf("%s%s = &%s\n", indent, targetVar, "number")
2101+
2102+ // // This is for edge case - in efs controller
2103+ // // targetvar is int64 and rest of targetvar are *int64 - EFS controller
2104+ // } else if shape.HasDefaultValue() {
2105+ // out += fmt.Sprintf("%s%s = &%s\n", indent, targetVar, setTo)
2106+ // } else if shape.Type == "integer" {
2107+ // out += fmt.Sprintf("%stemp := int64(*%s)\n", indent, setTo)
2108+ // out += fmt.Sprintf("%s%s = &temp\n", indent, targetVar)
2109+ // }else {
2110+ // out += fmt.Sprintf("%s%s = %s\n", indent, targetVar, setTo)
2111+ // }
20932112 return out
20942113}
20952114
0 commit comments