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

Explorations: rewire legacy bucket backend

Open t0yv0 opened this issue 1 year ago • 1 comments

BucketV2 and Bucket underlying schemata are still very close and almost identical, since they have a common ancestry, with BucketV2 continuing to evolve and Bucket lagging behind. This experiment attempts to exploit this by redirecting the implementation details of handling Bucket CRUD to the BucketV2 implementation.

This change is ideally a refactor invisible to the user but given a substantial API surface need to be careful not to regress.

  • removed s3legacy and recreated the legacy bucket against v2 code
  • encountering some bugs, we might need to remove default: "private" from "acl"
* putting S3 Bucket (my-bucket-eb276e3) ACL: operation error S3: PutBucketAcl, https response error StatusCode:
       400, RequestID: GMTPEW43STHM9DWM, HostID:
       /NJMasmaMuMN64OXgC+h58N1ozOYowaC0dP2I9rb2z7NPRZ83BWrabjNk0SIqYniyPCJe/iD/oI=, api error
       AccessControlListNotSupported: The bucket does not allow ACLs
  • logging (loggings?) has changed from Set to List with MaxItems=1 there might be a slight change to compensate for
  • there were a lot of custom TypeSet Set functions specified in the legacy, why were they removed in BucketV2, is it OK to match or we can roll without them
  • generally might need to add lifecycle and provider upgrade tests targeting each attribute like "loggings"
  • removes a fair bit of Pulumi-maintained custom code, need to itemize and ensure that was redundant

t0yv0 avatar May 13 '24 18:05 t0yv0

Does the PR have any schema changes?

Looking good! No breaking changes found. No new resources/functions.

Maintainer note: consult the runbook for dealing with any breaking changes.

github-actions[bot] avatar May 13 '24 18:05 github-actions[bot]

Opting against this route.

t0yv0 avatar Aug 08 '24 20:08 t0yv0