-
Notifications
You must be signed in to change notification settings - Fork 873
Generate PutBucketLogging #4250
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-pr7-2/1
Are you sure you want to change the base?
Generate PutBucketLogging #4250
Conversation
stack-info: PR: #4250, branch: peterrsongg/petesong/phase-3-pr7-2/2
19820f0 to
fec8357
Compare
46b4848 to
838b1b6
Compare
READ THISChange 1 was intentional, I'll comment why on the PR Breaking Changes Analysis for Commit 16a3578SummaryAnalyzed the PutBucketLogging migration from custom to generated code. Found 1 CRITICAL BREAKING CHANGE. BREAKING CHANGES1. PutBucketLoggingRequest.cs - IsSetLoggingConfig() Method Logic ChangedFile: Issue: The IsSetLoggingConfig() method has different logic between custom and generated versions. Old Custom Logic (deleted file): internal bool IsSetLoggingConfig()
{
return this.LoggingConfig != null;
}New Generated Logic: internal bool IsSetLoggingConfig()
{
return this._loggingConfig != null && this._loggingConfig.IsSetTargetBucketName();
}Breaking Impact:
NON-BREAKING CHANGES1. PutBucketLoggingRequest.cs - New ContentMD5 Property Added
2. PutBucketLoggingRequestMarshaller.cs - Logic Preserved via Custom Partial
3. PutBucketLoggingResponseUnmarshaller.cs - Moved to Generated
4. PutBucketLoggingResponse.cs - Moved to Generated
5. BucketLoggingStatus.cs - New File
6. String Property IsSet Methods - No Changes
Files Analyzed: 26 out of 26
Total Breaking Changes Found: 1 Fuzz Test Output Fuzz tests successfull |
| // Check to see if LoggingConfig property is set | ||
| internal bool IsSetLoggingConfig() | ||
| { | ||
| return this._loggingConfig != null && this._loggingConfig.IsSetTargetBucketName(); |
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.
This is customized to preserve this old logic here:
https://github.com/aws/aws-sdk-net/pull/4250/changes#diff-439b99ee512304f85c6927769974e9b8dbb35f61b12cfc6398afe402ef895a4fL70
| var marshallName = member.Shape.IsList ? member.Shape.ListMarshallName ?? "member" : member.MarshallName; | ||
| if(member.Shape.IsFlattened || member.IsFlattened) | ||
| marshallName = member.LocationName ?? member.ModeledName; | ||
| if (member.Shape.IsList) |
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.
I had to add this so that I can just customize the IsSet method to control marshalling logic. But also, it's the rightr thing to do. It's also related to:
#4247
Stacked PRs:
Description
Generate GetBucketLogging
Motivation and Context
Testing
Assembly Comparison output (non breaking)
Fuzz Testing run: No backwards incompatibilities
DRY_RUN passed Build id: d30dff17-75cd-433b-8c3a-ea1ca887a28d
Screenshots (if appropriate)
Types of changes
Checklist
License