@@ -308,31 +308,9 @@ func SetResource(
308
308
// ko.Status.VpnMemberships = field0
309
309
310
310
// 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 () {
324
312
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" {
336
314
337
315
out += fmt .Sprintf (
338
316
"%sif %s != nil {\n " , indent , sourceAdaptedVarName ,
@@ -344,8 +322,14 @@ func SetResource(
344
322
)
345
323
346
324
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 {
349
333
350
334
memberVarName := fmt .Sprintf ("f%d" , memberIndex )
351
335
@@ -389,17 +373,19 @@ func SetResource(
389
373
indentLevel + 1 ,
390
374
)
391
375
}
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
+ )
395
380
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
+ }
403
389
}
404
390
return out
405
391
}
@@ -661,7 +647,13 @@ func setResourceReadMany(
661
647
)
662
648
switch sourceMemberShape .Type {
663
649
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 {
665
657
memberVarName := fmt .Sprintf ("f%d" , memberIndex )
666
658
out += varEmptyConstructorK8sType (
667
659
cfg , r ,
@@ -1735,11 +1727,11 @@ func SetResourceForStruct(
1735
1727
// "%sif %s != nil {\n", indent, sourceAdaptedVarName,
1736
1728
// )
1737
1729
1738
- if ! sourceMemberShape .IsEnum () && sourceMemberShape .ShapeName != "Boolean" {
1739
-
1730
+ if ! sourceMemberShape .IsEnum () && ! sourceMemberShape .HasDefaultValue () {
1740
1731
out += fmt .Sprintf (
1741
1732
"%sif %s != nil {\n " , indent , sourceAdaptedVarName ,
1742
1733
)
1734
+
1743
1735
// This is for edge case - in efs controller
1744
1736
// FileSystemSize.Value is int64 and rest of fields are *int64
1745
1737
}
@@ -1757,7 +1749,15 @@ func SetResourceForStruct(
1757
1749
1758
1750
switch sourceMemberShape .Type {
1759
1751
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 {
1761
1761
out += varEmptyConstructorK8sType (
1762
1762
cfg , r ,
1763
1763
indexedVarName ,
@@ -1792,7 +1792,7 @@ func SetResourceForStruct(
1792
1792
indentLevel + 1 ,
1793
1793
)
1794
1794
}
1795
- if ! sourceMemberShape .IsEnum () && sourceMemberShape .ShapeName != "Boolean" {
1795
+ if ! sourceMemberShape .IsEnum () && ! sourceMemberShape .HasDefaultValue () {
1796
1796
out += fmt .Sprintf (
1797
1797
"%s}\n " , indent ,
1798
1798
)
@@ -1954,24 +1954,27 @@ func setResourceForSlice(
1954
1954
)
1955
1955
}
1956
1956
// This is for AWS-SDK-GO-V2
1957
- addressOfVar := ""
1957
+ // addressOfVar := ""
1958
1958
switch targetShape .MemberRef .Shape .Type {
1959
1959
case "structure" , "list" , "map" :
1960
1960
break
1961
1961
default :
1962
1962
// This is for AWS-SDK-GO-V2
1963
-
1963
+
1964
1964
}
1965
1965
// f0 = append(f0, elem0)
1966
1966
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
+ // }
1970
1973
1971
1974
// This is for AWS-SDK-GO-V2
1972
1975
//out += fmt.Sprintf("%s\t%s = append(%s, %s%s)\n", indent, targetVarName, targetVarName, addressOfVar, elemVarName)
1973
1976
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 )
1975
1978
out += fmt .Sprintf ("%s}\n " , indent )
1976
1979
1977
1980
return out
@@ -2072,24 +2075,40 @@ func setResourceForScalar(
2072
2075
2073
2076
}
2074
2077
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" :
2091
2080
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
+ }
2092
2092
}
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
+ // }
2093
2112
return out
2094
2113
}
2095
2114
0 commit comments