Skip to content

FEAT: Support for storage classes in file task type#58

Merged
prasadlohakpure merged 3 commits intomainfrom
feat/s3_class_types
Apr 6, 2026
Merged

FEAT: Support for storage classes in file task type#58
prasadlohakpure merged 3 commits intomainfrom
feat/s3_class_types

Conversation

@prasadlohakpure
Copy link
Copy Markdown
Contributor

Description

This pull request adds support for specifying the S3 storage class when writing files with the file task. Users can now control the storage class for both data files and success marker files written to S3. The documentation and code have been updated to reflect this new feature, and validation ensures only supported storage class values are accepted.

S3 Storage Class Support

  • Added a new storage_class parameter to the file task, allowing users to set the S3 storage class (e.g., STANDARD, STANDARD_IA, etc.) when writing files. This applies to both data and success marker files. Validation ensures only valid AWS storage class values are accepted. (file.go, storage_class.go, [1] [2] [3] [4] [5]
  • Updated documentation to describe the new storage_class field, list supported values, and provide usage examples for writing to S3 with a non-default storage class. (README.md, [1] [2]

Testing

  • Added a new pipeline test YAML (context_test_with_storage_class.yaml) demonstrating usage of the storage_class field with the file task.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation and I have updated the documentation accordingly.
  • I have added tests to cover my changes.

Copilot AI review requested due to automatic review settings April 6, 2026 08:09
@prasadlohakpure prasadlohakpure requested a review from a team as a code owner April 6, 2026 08:09
@wiz-55ccc8b716
Copy link
Copy Markdown

wiz-55ccc8b716 Bot commented Apr 6, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities -
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings 1 Medium
Software Management Finding Software Management Findings -
Total 1 Medium

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an optional storage_class field to the file task so S3 writes can set the object storage class (applies to both data objects and optional _SUCCESS marker objects).

Changes:

  • Introduces storage_class configuration and runtime validation for the file task.
  • Passes the configured storage class through to S3 PutObject calls (including success marker writes).
  • Updates file-task documentation and adds an example pipeline YAML demonstrating the new field.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/pipelines/context_test_with_storage_class.yaml New example pipeline showing storage_class: STANDARD_IA on an S3 file task.
internal/pkg/pipeline/task/file/storage_class.go Adds storage class enumeration mapping + validation helper.
internal/pkg/pipeline/task/file/s3.go Sets PutObjectInput.StorageClass from the task config.
internal/pkg/pipeline/task/file/README.md Documents storage_class, lists typical values, and adds an S3 example.
internal/pkg/pipeline/task/file/file.go Adds StorageClass field, default, validation, and propagation to success-file writes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome 🔥

@prasadlohakpure prasadlohakpure merged commit 4047032 into main Apr 6, 2026
11 checks passed
@prasadlohakpure prasadlohakpure deleted the feat/s3_class_types branch April 6, 2026 10:15
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.

4 participants