effect-aws icon indicating copy to clipboard operation
effect-aws copied to clipboard

Generating all aws clients

Open joepjoosten opened this issue 1 year ago • 6 comments

Solves #44

Generates all clients in ./generated folder for a particular version of aws (e.g. v3.535.0).

I'm reusing the previous codegen-client.ts, but using the smithy files a little bit different.

It's not done yet, some open points:

  • I saw an implementation of presigned urls in the s3 client. Is it possible to make this more general? Can all commands be presigned?
  • How to publish?

joepjoosten avatar Mar 17 '24 10:03 joepjoosten

I've some time later this evening to look at it again

joepjoosten avatar Mar 17 '24 10:03 joepjoosten

Also, what about versioning? Probably better to keep it close to the AWS clients version, but how to indicate that we created a new version of the generated code?

joepjoosten avatar Mar 17 '24 12:03 joepjoosten

Also, what about versioning? Probably better to keep it close to the AWS clients version, but how to indicate that we created a new version of the generated code?

This idea is very attractive, however I would prefer to keep the aws client as peerDep and sync the version of all @effect-aws/client-*. It can be more flexible if we make radical changes.

godu avatar Mar 19 '24 17:03 godu

Also, what about versioning? Probably better to keep it close to the AWS clients version, but how to indicate that we created a new version of the generated code?

This idea is very attractive, however I would prefer to keep the aws client as peerDep and sync the version of all @effect-aws/client-*. It can be more flexible if we make radical changes.

Ok, let's use the effect-aws version for the generated aws-client packages. Should we bump the release to 2.0? (and how to do this in this project, i don't really know).

Mayor version bump because it could be breaking, because the generated Effect tagged Errors/Exceptions changed name to be in line with the smithy models

joepjoosten avatar Mar 20 '24 09:03 joepjoosten

Who can help with the projen and github workflow, so it becomes publishable? I don't have any experience with projen...

joepjoosten avatar Mar 21 '24 13:03 joepjoosten

I think this PR is too huge. Let's ship it in smaller pieces. I took some of your improvements of codegen script in my PR https://github.com/floydspace/effect-aws/pull/48

godu avatar Apr 18 '24 15:04 godu