-
Notifications
You must be signed in to change notification settings - Fork 873
Generate GetBucketAnalyticsConfiguration #4127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: peterrsongg/petesong/phase-3-pr-2-all/2
Are you sure you want to change the base?
Generate GetBucketAnalyticsConfiguration #4127
Conversation
46a57f7 to
42efdb7
Compare
5e2c0fe to
18d3b16
Compare
Breaking Changes Analysis ReportSummaryAnalyzed 69 files changed in this PR migrating S3 Analytics and CreateSession operations from Custom to Generated code. Total Breaking Changes Found: 5 files with issues BREAKING CHANGES DETECTED1. AnalyticsConfiguration.csFile: ISSUE: Internal validation method logic changed
2. AnalyticsExportDestination.csFile: ISSUE: Added Required attribute to S3BucketDestination property
3. AnalyticsS3BucketDestination.csFile: ISSUES (Multiple): a) BucketName Required Attribute Added
b) Format Required Attribute Added
c) Internal Validation Methods Changed
4. StorageClassAnalysisDataExport.csFile: ISSUES (Multiple): a) Destination Required Attribute Added
b) OutputSchemaVersion Required Attribute Added
5. GetBucketAnalyticsConfigurationRequest.csFile: ISSUES (Multiple): a) AnalyticsId Required Attribute Added
b) BucketName Required Attribute Added
c) Internal Validation Methods Changed
VERIFIED AS CORRECTThe following changes were verified as correctly preserving existing behavior:
Files Analyzed: 69/69 (100%)Model Files Analyzed (16):✅ AnalyticsConfiguration.cs ✅ AnalyticsExportDestination.cs Marshaller/Unmarshaller Files Analyzed (23):✅ All marshaller and unmarshaller files verified for custom logic preservation Configuration Files Analyzed (2):✅ generator/ServiceClientGeneratorLib/ServiceModel.cs ✅ generator/ServiceModels/s3/s3.customizations.json CRITICAL IMPACT SUMMARYThe most severe breaking changes are:
These changes violate backward compatibility and will cause runtime errors for existing customer code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR generates the GetBucketAnalyticsConfiguration operation for the AWS S3 SDK, migrating from custom implementations to auto-generated code. The changes involve replacing manually-written marshaller and unmarshaller classes with generated versions, while preserving necessary custom behavior through partial methods and customization hooks.
Key changes:
- Enabled GetBucketAnalyticsConfiguration operation in the code generator
- Replaced custom marshallers/unmarshallers with generated versions that use partial classes for customizations
- Updated singleton initialization pattern from lazy to eager initialization across multiple unmarshaller classes
Reviewed Changes
Copilot reviewed 5 out of 14 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| GetBucketAnalyticsConfigurationResponseUnmarshaller.cs (Generated) | New auto-generated response unmarshaller replacing custom implementation |
| GetBucketAnalyticsConfigurationRequestMarshaller.cs (Generated) | New auto-generated request marshaller with partial method for customization |
| AnalyticsS3BucketDestinationUnmarshaller.cs (Generated) | New auto-generated unmarshaller with custom Format handling |
| StorageClassAnalysisUnmarshaller.cs | Refactored to use generated pattern with eager singleton initialization |
| StorageClassAnalysisDataExportUnmarshaller.cs | Refactored to use generated pattern with eager singleton initialization |
| GetBucketAnalyticsConfigurationResponseUnmarshaller.cs (Custom) | Removed custom implementation in favor of generated version |
| GetBucketAnalyticsConfigurationRequestMarshaller.cs (Custom) | Simplified to partial class with Suppress404Exceptions customization |
| AnalyticsS3BucketDestinationUnmarshaller.cs (Custom) | Simplified to partial class with Format custom unmarshalling method |
| AnalyticsExportDestinationUnmarshaller.cs | Refactored to use generated pattern with eager singleton initialization |
| AnalyticsConfigurationUnmarshaller.cs | Refactored to use generated pattern with eager singleton initialization |
| GetBucketAnalyticsConfigurationResponse.cs | Updated to follow generated code conventions with backing fields |
| GetBucketAnalyticsConfigurationRequest.cs | Updated to follow generated code conventions and improved documentation |
| s3.customizations.json | Added customization directives for Analytics-related classes |
| ServiceModel.cs | Uncommented GetBucketAnalyticsConfiguration operation in allow list |
sdk/src/Services/S3/Generated/Model/GetBucketAnalyticsConfigurationRequest.cs
Show resolved
Hide resolved
...S3/Custom/Model/Internal/MarshallTransformations/AnalyticsS3BucketDestinationUnmarshaller.cs
Outdated
Show resolved
Hide resolved
stack-info: PR: #4127, branch: peterrsongg/petesong/phase-3-pr-2-all/3
18d3b16 to
5bee66a
Compare
Description
3 of 5 stacked PRs. Generates GetBucketAnalyticsConfiguration
I will create one DevConfig with all these in merge PR.
NOTE
AnalyticsId - not changing IsSet because we check string.IsNullOrEmpty earlier and throw if true
Motivation and Context
Testing
Base-Branch dry run passed
FuzzTesting passed
Screenshots (if appropriate)
Types of changes
Checklist
License