-
Notifications
You must be signed in to change notification settings - Fork 873
generate create session #4125
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: petesong/phase-3-pr-2-base
Are you sure you want to change the base?
generate create session #4125
Conversation
stack-info: PR: #4125, branch: peterrsongg/petesong/phase-3-pr-2-all/1
839af32 to
6a201fb
Compare
| request.ResourcePath = "/"; | ||
|
|
||
| request.AddPathResource("{Bucket}", StringUtils.FromString(publicRequest.BucketName)); | ||
| request.ResourcePath = "/{Bucket}"; |
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 the difference in resource path im talking about in the description
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. |
| } | ||
| if (!publicRequest.IsSetBucketName()) | ||
| throw new AmazonS3Exception("Request object does not have required field BucketName set"); | ||
| request.ResourcePath = "/"; |
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.
The rest of the PR looks OK but I do need to check this is intentional (there's a routing section in the S3 Express SEP, were we not following that before? @muhammad-othman)
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.
@dscpinheiro this is just an S3 quirk, bucketname is modeled as a uri param, but in reality it is part of the host. The way they model it is incorrect. If i just let the genertator run, it would try to add the bucket name to the resource path, but in the generator I added logic to not do that for s3 (near the beginning of the epic)
Description
1 of 5 stacked PRs. Generates Create Session.
I will create one DevConfig with all these in merge PR.
HOW TO REVIEW / FIND differences
Pull up current custom code on left and newly generated code on right instead of relying on the github diff.
NOTE
CreateSessionRequestMarshallerwas settingBucketNamein the resource path which isn't right. I tested with python:Then after generation we are doing it the same as python:
Motivation and Context
Testing
Base-Branch dry run passed
Screenshots (if appropriate)
Types of changes
Checklist
License