Skip to content

Conversation

@peterrsongg
Copy link
Contributor

@peterrsongg peterrsongg commented Nov 24, 2025

Description

Generates CreateBucketMetadataTableConfiguration

AssemblyComparer AWSSDK.S3.New.dll: Error Amazon.S3.Model.RecordExpiration/MethodRemoved: Missing method System.Void set_Days(System.Int32) in Amazon.S3.Model.RecordExpiration
AssemblyComparer AWSSDK.S3.New.dll: Message Amazon.S3.Model.RecordExpiration/MethodAdded: New method System.Void set_Days(System.Nullable<System.Int32>) in Amazon.S3.Model.RecordExpiration
AssemblyComparer AWSSDK.S3.New.dll: Error Amazon.S3.Model.RecordExpiration/MethodRemoved: Missing method System.Int32 get_Days() in Amazon.S3.Model.RecordExpiration
AssemblyComparer AWSSDK.S3.New.dll: Message Amazon.S3.Model.RecordExpiration/MethodAdded: New method System.Nullable<System.Int32> get_Days() in Amazon.S3.Model.RecordExpiration

Amazon.S3.Model.RecordExpiration Days property changed from int to int? will call this out in changelog

Motivation and Context

Testing

Dry run passed
Fuzz tests ran no change

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project
  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have read the README document
  • I have added tests to cover my changes
  • All new and existing tests passed

License

  • I confirm that this pull request can be released under the Apache 2 license

@peterrsongg peterrsongg force-pushed the peterrsongg/petesong/phase-3-pr4-3/7 branch from 7418d73 to 679f1e3 Compare November 24, 2025 06:10
@peterrsongg peterrsongg force-pushed the peterrsongg/petesong/phase-3-pr4-3/6 branch from 79dd3c6 to 6a7116a Compare November 24, 2025 06:10
@peterrsongg
Copy link
Contributor Author

READ THIS

  • Changing int to int? is something we've done in other PR's. This follows the nullability pattern for the sdk that we just missed here because it is handcoded.

Files Analyzed: 9 out of 9 files changed in this PR

BREAKING CHANGES FOUND:

1. RecordExpiration.cs - CRITICAL BREAKING CHANGE

File: sdk/src/Services/S3/Generated/Model/RecordExpiration.cs

Issue: The Days property type changed from non-nullable int to nullable int?

Custom version (deleted):

public int Days
{
    get { return this._days.GetValueOrDefault(); }
    set { this._days = value; }
}

Generated version (new):

public int? Days
{
    get { return this._days; }
    set { this._days = value; }
}

Impact: This is a breaking change to the public API. Code that previously worked with int Days will break when trying to use int? Days. Existing code that accesses Days without null checking will fail at runtime if the value is null, or will not compile if assigned to non-nullable int variables.

Example Breaking Scenario:

// Old code that will break:
RecordExpiration expiration = new RecordExpiration();
int days = expiration.Days; // Compilation error: Cannot implicitly convert type 'int?' to 'int'

// Or runtime issue:
int daysValue = expiration.Days.Value; // Could throw InvalidOperationException if null

NO OTHER BREAKING CHANGES DETECTED IN:

  1. CreateBucketMetadataConfigurationRequest.cs - All IsSet methods use !String.IsNullOrEmpty() as expected (matches customizations.json configuration)
  2. CreateBucketMetadataConfigurationResponse.cs - Empty response class, no breaking changes
  3. CreateBucketMetadataConfigurationRequestMarshaller.cs - No custom version existed, purely generated
  4. CreateBucketMetadataConfigurationResponseUnmarshaller.cs - No custom version existed, purely generated
  5. InventoryTableConfiguration.cs - Properties and IsSet methods match
  6. JournalTableConfiguration.cs - Properties and IsSet methods match
  7. MetadataConfiguration.cs - Properties and IsSet methods match
  8. MetadataTableEncryptionConfiguration.cs - Only private field naming changed (kmsKeyArn_kmsKeyArn), public API unchanged

Summary:

  • Total Files Changed: 9
  • Files Analyzed: 9
  • Breaking Changes Found: 1 (RecordExpiration.Days property type change)
  • Status: ❌ BREAKING CHANGES DETECTED - REQUIRES IMMEDIATE ATTENTION

peterrsongg added a commit that referenced this pull request Nov 24, 2025
stack-info: PR: #4160, branch: peterrsongg/petesong/phase-3-pr4-3/7
@peterrsongg peterrsongg marked this pull request as ready for review November 24, 2025 09:08
peterrsongg added a commit that referenced this pull request Nov 25, 2025
stack-info: PR: #4160, branch: peterrsongg/petesong/phase-3-pr4-3/7
stack-info: PR: #4157, branch: peterrsongg/petesong/phase-3-pr4-3/4
stack-info: PR: #4158, branch: peterrsongg/petesong/phase-3-pr4-3/5
stack-info: PR: #4159, branch: peterrsongg/petesong/phase-3-pr4-3/6
stack-info: PR: #4160, branch: peterrsongg/petesong/phase-3-pr4-3/7
@peterrsongg peterrsongg changed the base branch from peterrsongg/petesong/phase-3-pr4-3/6 to petesong/phase-3-pr4-base November 26, 2025 21:01
@peterrsongg peterrsongg force-pushed the peterrsongg/petesong/phase-3-pr4-3/7 branch from 679f1e3 to f911a81 Compare November 26, 2025 21:16
@peterrsongg peterrsongg merged commit c039734 into petesong/phase-3-pr4-base Nov 26, 2025
1 check passed
peterrsongg added a commit that referenced this pull request Nov 26, 2025
* Geneate DeleteBucketInventoryConfiguration

stack-info: PR: #4157, branch: peterrsongg/petesong/phase-3-pr4-3/4

* Generate PutBucketAcclerateConfiguration

stack-info: PR: #4158, branch: peterrsongg/petesong/phase-3-pr4-3/5

* Generate PutBucketRequestPayment

stack-info: PR: #4159, branch: peterrsongg/petesong/phase-3-pr4-3/6

* Generate CreateBucketMetadataTableConfiguration

stack-info: PR: #4160, branch: peterrsongg/petesong/phase-3-pr4-3/7

* Generate GetBucketMetadataConfiguration

stack-info: PR: #4161, branch: peterrsongg/petesong/phase-3-pr4-3/8
@dscpinheiro dscpinheiro deleted the peterrsongg/petesong/phase-3-pr4-3/7 branch November 27, 2025 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants