Hello Arrow devs, I've written a PR for the C++ S3FileSystem that adds an option "allow_create_buckets" which when false will error if attempting to create or delete a bucket [1]. I've made the default value for this setting false, though made it easy to override in URI, during construction, or after construction. However, this is a breaking API change, so want to check: Does this change seem reasonable to others?
My intention is to make creating and deleting buckets opt-in, rather than opt-out. In my experience working with S3 in an industry setting, it's rare to want to create buckets through an API that doesn't allow setting IAM access policies or resource (cost-tracking) tags. And it seems likewise undesirable to be able to accidentally delete the bucket using the filesystem. There are definitely use-cases (like integration testing) where creating and deleting buckets are useful, I just think it's slightly safer for users to opt-in to that functionality. Thanks, Will Jones [1] https://github.com/apache/arrow/pull/13206