From 09f35b43c4b6b2fe82ebade354d6dea9b876f8fc Mon Sep 17 00:00:00 2001 From: Luc Talatinian <102624213+lucix-aws@users.noreply.github.com> Date: Wed, 16 Oct 2024 12:01:06 -0400 Subject: [PATCH] backfill @required on imagebuilder#LaunchTemplateConfiguration.SetDefaultVersion (#2838) --- .changelog/139b04a8d6124cb29dfb9e66f9f70386.json | 8 ++++++++ .../go/codegen/customization/BackfillRequiredTrait.java | 2 +- .../aws/go/codegen/customization/RemoveDefaults.java | 8 ++++++-- service/imagebuilder/deserializers.go | 2 +- service/imagebuilder/serializers.go | 4 ++-- service/imagebuilder/types/types.go | 2 +- 6 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 .changelog/139b04a8d6124cb29dfb9e66f9f70386.json diff --git a/.changelog/139b04a8d6124cb29dfb9e66f9f70386.json b/.changelog/139b04a8d6124cb29dfb9e66f9f70386.json new file mode 100644 index 00000000000..dfa4e81fe2b --- /dev/null +++ b/.changelog/139b04a8d6124cb29dfb9e66f9f70386.json @@ -0,0 +1,8 @@ +{ + "id": "139b04a8-d612-4cb2-9dfb-9e66f9f70386", + "type": "bugfix", + "description": "**BREAKING CHANGE**: The type of LaunchTemplateConfiguration.SetDefaultVersion has been changed from `bool` to `*bool`. Before this change, the field was incorrectly marked as having a default value of false by the service, which made it functionally impossible for users to express the full range of values for the field (true, false, and unset/nil), each of which have distinctly different behaviors.", + "modules": [ + "service/imagebuilder" + ] +} diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/BackfillRequiredTrait.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/BackfillRequiredTrait.java index 3ebdf0b28d7..eee5ac1aa5d 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/BackfillRequiredTrait.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/BackfillRequiredTrait.java @@ -54,4 +54,4 @@ private static Map.Entry> serviceToShapeIds(String service ShapeId.from(serviceId), Arrays.stream(shapeIds).map(ShapeId::from).collect(toSet())); } -} \ No newline at end of file +} diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/RemoveDefaults.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/RemoveDefaults.java index 8f4aaecf299..3881d6e00a3 100644 --- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/RemoveDefaults.java +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/RemoveDefaults.java @@ -32,7 +32,11 @@ public class RemoveDefaults implements GoIntegration { serviceToShapeIds("com.amazonaws.paymentcryptographydata#PaymentCryptographyDataPlane", "com.amazonaws.paymentcryptographydata#IntegerRangeBetween4And12"), serviceToShapeIds("com.amazonaws.emrserverless#AwsToledoWebService", - "com.amazonaws.emrserverless#WorkerCounts")); + "com.amazonaws.emrserverless#WorkerCounts"), + serviceToShapeIds("com.amazonaws.imagebuilder#imagebuilder", + // https://github.com/aws/aws-sdk-go-v2/issues/2734 + // V1479153907 + "com.amazonaws.imagebuilder#LaunchTemplateConfiguration$setDefaultVersion")); private boolean mustPreprocess(ShapeId service) { return toRemove.containsKey(service); @@ -95,4 +99,4 @@ private static Map.Entry> serviceToShapeIds(String service ShapeId.from(serviceId), Arrays.stream(shapeIds).map(ShapeId::from).collect(Collectors.toSet())); } -} \ No newline at end of file +} diff --git a/service/imagebuilder/deserializers.go b/service/imagebuilder/deserializers.go index 8bb4dea3b8b..f57945e8181 100644 --- a/service/imagebuilder/deserializers.go +++ b/service/imagebuilder/deserializers.go @@ -19703,7 +19703,7 @@ func awsRestjson1_deserializeDocumentLaunchTemplateConfiguration(v **types.Launc if !ok { return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.SetDefaultVersion = jtv + sv.SetDefaultVersion = ptr.Bool(jtv) } default: diff --git a/service/imagebuilder/serializers.go b/service/imagebuilder/serializers.go index 8239668d539..810b9087f89 100644 --- a/service/imagebuilder/serializers.go +++ b/service/imagebuilder/serializers.go @@ -7397,9 +7397,9 @@ func awsRestjson1_serializeDocumentLaunchTemplateConfiguration(v *types.LaunchTe ok.String(*v.LaunchTemplateId) } - if v.SetDefaultVersion { + if v.SetDefaultVersion != nil { ok := object.Key("setDefaultVersion") - ok.Boolean(v.SetDefaultVersion) + ok.Boolean(*v.SetDefaultVersion) } return nil diff --git a/service/imagebuilder/types/types.go b/service/imagebuilder/types/types.go index 15ab3cbdbff..a3fc92c4324 100644 --- a/service/imagebuilder/types/types.go +++ b/service/imagebuilder/types/types.go @@ -1610,7 +1610,7 @@ type LaunchTemplateConfiguration struct { // Set the specified Amazon EC2 launch template as the default launch template for // the specified account. - SetDefaultVersion bool + SetDefaultVersion *bool noSmithyDocumentSerde }