-
Notifications
You must be signed in to change notification settings - Fork 873
Generate CompleteMultipartUpload #4209
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-pr5-rebased-2/5
Are you sure you want to change the base?
Generate CompleteMultipartUpload #4209
Conversation
108e71e to
925e059
Compare
8302e87 to
749a49d
Compare
stack-info: PR: #4209, branch: peterrsongg/petesong/phase-3-pr5-rebased-2/6
| SortPartsList(publicRequest); | ||
| xmlWriter.WriteStartElement("CompleteMultipartUpload", "http://s3.amazonaws.com/doc/2006-03-01/"); | ||
| var publicRequestPartETags = publicRequest.PartETags; | ||
| if (publicRequestPartETags != null && (publicRequestPartETags.Count > 0 || !AWSConfigs.InitializeCollections)) |
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 haven't looked at all changes yet, but I had a similar comment in another PR: Why not use the IsSet method that already has this logic?
Also, the indentation on this method is really odd (and much harder to read than the hand-written file).
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.
that's a good question. For some reason the rest-xml payload marshalling logic doesn't use IsSet and does these if statements. This logic has existed before any of the S3 generation logic. I didn't want to change it because it is out of scop and will potentially affect all rest-xml services
| ] | ||
| }, | ||
| "CompleteMultipartUploadRequest": { | ||
| "exclude": [ |
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.
Can you update the PR description explaining this? I don't follow why we were excluding something before but not it's in flattenShapes.
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.
added in the PR description
stack-info: PR: #4209, branch: peterrsongg/petesong/phase-3-pr5-rebased-2/6
stack-info: PR: #4209, branch: peterrsongg/petesong/phase-3-pr5-rebased-2/6
749a49d to
71cc1d8
Compare
Stacked PRs:
Description
Generates
CompleteMultipartUploadBefore in
s3.customizations.jsonwe were excluding "MultipartUploadand injectingPartETags. Since s3 was not generated, this change didn't really matter. This would only matter when we generate the simple methods for an operation from the s3.customizations.simpleforms.json but in this case there is no simple method that hasPartETagsas a param. The issue with this approach is that if the service team updatesMultipartUploadand adds member, the now generated S3 will miss this update. Instead, we take the correct approach which is to flattenMultipartUploadso that its members are added to the top-level shape. This way, any updates toMultipartUpload` are generated as well.Assembly Comparison Output (MpuObject size changed to a nulalble int) will call this out in changelog
Motivation and Context
Testing
DRY RUN: DRY_RUN-e581806f-264b-46d0-a331-1318e27c2273
Screenshots (if appropriate)
Types of changes
Checklist
License