Skip to content

config: s3: add storage_class, requester_pays, object_tags, extra_s3_args - #11123

Open
Jenia3377543 wants to merge 1 commit into
treeverse:mainfrom
Jenia3377543:feature/s3-storage-class-and-extra-args
Open

Jenia3377543 wants to merge 1 commit into
treeverse:mainfrom
Jenia3377543:feature/s3-storage-class-and-extra-args

Conversation

@Jenia3377543

Copy link
Copy Markdown

Adds the S3 remote write options from treeverse/dvc-s3#173 to the config
schema, so dvc remote modify accepts them instead of failing with
"extra keys not allowed".

  • storage_class, object_tags, extra_s3_args: strings, interpreted by dvc-s3
  • requester_pays: boolean, default false

Fixes #11122

Related:

Testing

  • New unit tests in tests/unit/test_config.py (load and validate all four
    options; requester_pays default)
  • pytest tests/unit/test_config.py passes; pre-commit hooks (ruff, mypy,
    codespell) pass
  • Checked by hand: dvc remote modify myremote requester_pays maybe is rejected

🤖 Generated with Claude Code

…args

Allow the S3 remote write options added in dvc-s3 so they can be set with
`dvc remote modify`. Without these schema entries DVC rejects the keys with
"extra keys not allowed".

`requester_pays` is validated as a boolean and defaults to false; the others
are free-form strings interpreted by dvc-s3.

Fixes treeverse#11122

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.98%. Comparing base (2431ec6) to head (6796e32).
⚠️ Report is 221 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11123      +/-   ##
==========================================
+ Coverage   90.68%   90.98%   +0.30%     
==========================================
  Files         504      505       +1     
  Lines       39795    41153    +1358     
  Branches     3141     3263     +122     
==========================================
+ Hits        36087    37442    +1355     
- Misses       3042     3072      +30     
+ Partials      666      639      -27     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Jenia3377543

Copy link
Copy Markdown
Author

Note for reviewers: the lint failures here are not caused by this PR. mypy reports an error in dvc/commands/completion.py:20 (shtab.complete preamble type), a file this PR doesn't touch. The nightly Tests runs on main fail with the same error on the same base commit (56e5982). The tests and the other hooks (ruff, codespell) pass.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

s3: support storage class, requester pays, object tags and extra write args

1 participant