Skip to content

🚸 ux(storage): bucket describe/objectlock, object acl/retention/tagging/copy#145

Merged
jfbus merged 1 commit intomainfrom
storage_contents
Apr 2, 2026
Merged

🚸 ux(storage): bucket describe/objectlock, object acl/retention/tagging/copy#145
jfbus merged 1 commit intomainfrom
storage_contents

Conversation

@jfbus
Copy link
Copy Markdown
Contributor

@jfbus jfbus commented Apr 1, 2026

Description

This PR adds the following storage aliases:

  • bucket describe
  • bucket objectlock describe/configure
  • object acl configure
  • object retention describe/configure
  • object tagging describe/configure/delete
  • object copy

object describe now uses HeadObject instead of GetObject, the content preview is not available anymore.

Type of Change

Please check the relevant option(s):

  • 🐛 Bug fix
  • ✨ New feature
  • 🧹 Code cleanup or refactor
  • 📝 Documentation update
  • 🔧 Build or CI-related change
  • 🔒 Security fix
  • Other (specify): ux

How Has This Been Tested?

Please describe the test strategy:

  • Manual testing
  • Unit tests
  • Integration tests
  • Not tested yet

Checklist

  • I have followed the Contributing Guidelines
  • I have added tests or explained why they are not needed
  • I have updated relevant documentation (README, examples, etc.)
  • My changes follow the Conventional Commits specification
  • My commits include appropriate Gitmoji

Additional Context

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

WARNING : Differences in reference doc 🤔

 .../octl_storage_api_CompleteMultipartUpload.md    | 12 ++---
 docs/reference/octl_storage_api_CreateBucket.md    | 10 ++--
 docs/reference/octl_storage_api_PutBucketAcl.md    | 16 +++---
 docs/reference/octl_storage_api_PutBucketCors.md   | 12 ++---
 .../octl_storage_api_PutBucketEncryption.md        |  6 +--
 ..._storage_api_PutBucketLifecycleConfiguration.md | 50 ++++++++---------
 .../octl_storage_api_PutBucketVersioning.md        |  4 +-
 .../reference/octl_storage_api_PutBucketWebsite.md | 22 ++++----
 docs/reference/octl_storage_api_PutObjectAcl.md    | 16 +++---
 .../octl_storage_api_PutObjectLockConfiguration.md |  8 +--
 .../octl_storage_api_PutObjectRetention.md         |  4 +-
 .../reference/octl_storage_api_PutObjectTagging.md |  4 +-
 docs/reference/octl_storage_bucket.md              |  2 +
 ...cors_set.md => octl_storage_bucket_describe.md} | 15 +++---
 docs/reference/octl_storage_bucket_objectlock.md   | 37 +++++++++++++
 .../octl_storage_bucket_objectlock_configure.md    | 46 ++++++++++++++++
 .../octl_storage_bucket_objectlock_describe.md     | 45 ++++++++++++++++
 .../octl_storage_multipartupload_create.md         |  7 ---
 docs/reference/octl_storage_object.md              |  6 ++-
 docs/reference/octl_storage_object_acl.md          |  1 +
 .../reference/octl_storage_object_acl_configure.md | 47 ++++++++++++++++
 docs/reference/octl_storage_object_copy.md         | 62 ++++++++++++++++++++++
 docs/reference/octl_storage_object_describe.md     |  6 +--
 docs/reference/octl_storage_object_put.md          | 12 -----
 docs/reference/octl_storage_object_retention.md    | 17 ++----
 .../octl_storage_object_retention_configure.md     | 47 ++++++++++++++++
 .../octl_storage_object_retention_desc.md          | 46 ++++++++++++++++
 docs/reference/octl_storage_object_tagging.md      | 38 +++++++++++++
 .../octl_storage_object_tagging_configure.md       | 47 ++++++++++++++++
 .../octl_storage_object_tagging_delete.md          | 46 ++++++++++++++++
 .../octl_storage_object_tagging_describe.md        | 46 ++++++++++++++++
 docs/reference/octl_storage_part_list.md           | 17 +++---
 32 files changed, 617 insertions(+), 137 deletions(-)
Detailed changes

docs/reference/octl_storage_api_CompleteMultipartUpload.md

-      --MultipartUpload.Parts.0.ChecksumCRC32 string    
-      --MultipartUpload.Parts.0.ChecksumCRC32C string   
-      --MultipartUpload.Parts.0.ChecksumSHA1 string     
-      --MultipartUpload.Parts.0.ChecksumSHA256 string   
-      --MultipartUpload.Parts.0.ETag string             
-      --MultipartUpload.Parts.0.PartNumber int32        
+      --MultipartUpload.Parts.0.ChecksumCRC32 string    The base64-encoded, 32-bit CRC-32 checksum of the object.
+      --MultipartUpload.Parts.0.ChecksumCRC32C string   The base64-encoded, 32-bit CRC-32C checksum of the object.
+      --MultipartUpload.Parts.0.ChecksumSHA1 string     The base64-encoded, 160-bit SHA-1 digest of the object.
+      --MultipartUpload.Parts.0.ChecksumSHA256 string   The base64-encoded, 256-bit SHA-256 digest of the object.
+      --MultipartUpload.Parts.0.ETag string             Entity tag returned when the part was uploaded.
+      --MultipartUpload.Parts.0.PartNumber int32        Part number that identifies the part.

docs/reference/octl_storage_api_CreateBucket.md

-      --CreateBucketConfiguration.Bucket.DataRedundancy string   
-      --CreateBucketConfiguration.Bucket.Type string             
-      --CreateBucketConfiguration.Location.Name string           
-      --CreateBucketConfiguration.Location.Type string           
-      --CreateBucketConfiguration.LocationConstraint string      
+      --CreateBucketConfiguration.Bucket.DataRedundancy string   The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.
+      --CreateBucketConfiguration.Bucket.Type string             The type of bucket.
+      --CreateBucketConfiguration.Location.Name string           The name of the location where the bucket will be created.
+      --CreateBucketConfiguration.Location.Type string           The type of location where the bucket will be created.
+      --CreateBucketConfiguration.LocationConstraint string      Specifies the Region where the bucket will be created.

docs/reference/octl_storage_api_PutBucketAcl.md

-      --AccessControlPolicy.Grants.0.Grantee.DisplayName string    
-      --AccessControlPolicy.Grants.0.Grantee.EmailAddress string   
-      --AccessControlPolicy.Grants.0.Grantee.ID string             
-      --AccessControlPolicy.Grants.0.Grantee.Type string           
-      --AccessControlPolicy.Grants.0.Grantee.URI string            
-      --AccessControlPolicy.Grants.0.Permission string             
-      --AccessControlPolicy.Owner.DisplayName string               
-      --AccessControlPolicy.Owner.ID string                        
+      --AccessControlPolicy.Grants.0.Grantee.DisplayName string    Screen name of the grantee.
+      --AccessControlPolicy.Grants.0.Grantee.EmailAddress string   Email address of the grantee.
+      --AccessControlPolicy.Grants.0.Grantee.ID string             The canonical user ID of the grantee.
+      --AccessControlPolicy.Grants.0.Grantee.Type string           of grantee This member is required.
+      --AccessControlPolicy.Grants.0.Grantee.URI string            of the grantee group.
+      --AccessControlPolicy.Grants.0.Permission string             Specifies the permission given to the grantee.
+      --AccessControlPolicy.Owner.DisplayName string               Container for the display name of the owner.
+      --AccessControlPolicy.Owner.ID string                        Container for the ID of the owner.

docs/reference/octl_storage_api_PutBucketCors.md

-      --CORSConfiguration.CORSRules.0.AllowedHeaders strings   
-      --CORSConfiguration.CORSRules.0.AllowedMethods strings   
-      --CORSConfiguration.CORSRules.0.AllowedOrigins strings   
-      --CORSConfiguration.CORSRules.0.ExposeHeaders strings    
-      --CORSConfiguration.CORSRules.0.ID string                
-      --CORSConfiguration.CORSRules.0.MaxAgeSeconds int32      
+      --CORSConfiguration.CORSRules.0.AllowedHeaders strings   Headers that are specified in the Access-Control-Request-Headers header.
+      --CORSConfiguration.CORSRules.0.AllowedMethods strings   An HTTP method that you allow the origin to execute.
+      --CORSConfiguration.CORSRules.0.AllowedOrigins strings   One or more origins you want customers to be able to access the bucket from.
+      --CORSConfiguration.CORSRules.0.ExposeHeaders strings    One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).
+      --CORSConfiguration.CORSRules.0.ID string                Unique identifier for the rule.
+      --CORSConfiguration.CORSRules.0.MaxAgeSeconds int32      The time in seconds that your browser is to cache the preflight response for the specified resource.

docs/reference/octl_storage_api_PutBucketEncryption.md

-      --ServerSideEncryptionConfiguration.Rules.0.ApplyServerSideEncryptionByDefault.KMSMasterKeyID string   
-      --ServerSideEncryptionConfiguration.Rules.0.ApplyServerSideEncryptionByDefault.SSEAlgorithm string     
-      --ServerSideEncryptionConfiguration.Rules.0.BucketKeyEnabled                                           
+      --ServerSideEncryptionConfiguration.Rules.0.ApplyServerSideEncryptionByDefault.KMSMasterKeyID string   Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default encryption.
+      --ServerSideEncryptionConfiguration.Rules.0.ApplyServerSideEncryptionByDefault.SSEAlgorithm string     Server-side encryption algorithm to use for the default encryption.
+      --ServerSideEncryptionConfiguration.Rules.0.BucketKeyEnabled                                           Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket.

docs/reference/octl_storage_api_PutBucketLifecycleConfiguration.md

-      --LifecycleConfiguration.Rules.0.AbortIncompleteMultipartUpload.DaysAfterInitiation int32       
-      --LifecycleConfiguration.Rules.0.Expiration.Date osctime                                        
-      --LifecycleConfiguration.Rules.0.Expiration.Days int32                                          
-      --LifecycleConfiguration.Rules.0.Expiration.ExpiredObjectDeleteMarker                           
-      --LifecycleConfiguration.Rules.0.Filter.And.ObjectSizeGreaterThan int                           
-      --LifecycleConfiguration.Rules.0.Filter.And.ObjectSizeLessThan int                              
-      --LifecycleConfiguration.Rules.0.Filter.And.Prefix string                                       
-      --LifecycleConfiguration.Rules.0.Filter.And.Tags.0.Key string                                   
-      --LifecycleConfiguration.Rules.0.Filter.And.Tags.0.Value string                                 
-      --LifecycleConfiguration.Rules.0.Filter.ObjectSizeGreaterThan int                               
-      --LifecycleConfiguration.Rules.0.Filter.ObjectSizeLessThan int                                  
-      --LifecycleConfiguration.Rules.0.Filter.Prefix string                                           
-      --LifecycleConfiguration.Rules.0.Filter.Tag.Key string                                          
-      --LifecycleConfiguration.Rules.0.Filter.Tag.Value string                                        
-      --LifecycleConfiguration.Rules.0.ID string                                                      
-      --LifecycleConfiguration.Rules.0.NoncurrentVersionExpiration.NewerNoncurrentVersions int32      
-      --LifecycleConfiguration.Rules.0.NoncurrentVersionExpiration.NoncurrentDays int32               
-      --LifecycleConfiguration.Rules.0.NoncurrentVersionTransitions.0.NewerNoncurrentVersions int32   
-      --LifecycleConfiguration.Rules.0.NoncurrentVersionTransitions.0.NoncurrentDays int32            
-      --LifecycleConfiguration.Rules.0.NoncurrentVersionTransitions.0.StorageClass string             
-      --LifecycleConfiguration.Rules.0.Prefix string                                                  
-      --LifecycleConfiguration.Rules.0.Status string                                                  
-      --LifecycleConfiguration.Rules.0.Transitions.0.Date osctime                                     
-      --LifecycleConfiguration.Rules.0.Transitions.0.Days int32                                       
-      --LifecycleConfiguration.Rules.0.Transitions.0.StorageClass string                              
+      --LifecycleConfiguration.Rules.0.AbortIncompleteMultipartUpload.DaysAfterInitiation int32       Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.
+      --LifecycleConfiguration.Rules.0.Expiration.Date osctime                                        Indicates at what date the object is to be moved or deleted.
+      --LifecycleConfiguration.Rules.0.Expiration.Days int32                                          Indicates the lifetime, in days, of the objects that are subject to the rule.
+      --LifecycleConfiguration.Rules.0.Expiration.ExpiredObjectDeleteMarker                           Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions.
+      --LifecycleConfiguration.Rules.0.Filter.And.ObjectSizeGreaterThan int                           Minimum object size to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Filter.And.ObjectSizeLessThan int                              Maximum object size to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Filter.And.Prefix string                                       identifying one or more objects to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Filter.And.Tags.0.Key string                                   Name of the object key.
+      --LifecycleConfiguration.Rules.0.Filter.And.Tags.0.Value string                                 of the tag.
+      --LifecycleConfiguration.Rules.0.Filter.ObjectSizeGreaterThan int                               Minimum object size to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Filter.ObjectSizeLessThan int                                  Maximum object size to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Filter.Prefix string                                           identifying one or more objects to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Filter.Tag.Key string                                          Name of the object key.
+      --LifecycleConfiguration.Rules.0.Filter.Tag.Value string                                        of the tag.
+      --LifecycleConfiguration.Rules.0.ID string                                                      Unique identifier for the rule.
+      --LifecycleConfiguration.Rules.0.NoncurrentVersionExpiration.NewerNoncurrentVersions int32      Specifies how many noncurrent versions Amazon S3 will retain.
+      --LifecycleConfiguration.Rules.0.NoncurrentVersionExpiration.NoncurrentDays int32               Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action.
+      --LifecycleConfiguration.Rules.0.NoncurrentVersionTransitions.0.NewerNoncurrentVersions int32   Specifies how many noncurrent versions Amazon S3 will retain in the same storage class before transitioning objects.
+      --LifecycleConfiguration.Rules.0.NoncurrentVersionTransitions.0.NoncurrentDays int32            Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action.
+      --LifecycleConfiguration.Rules.0.NoncurrentVersionTransitions.0.StorageClass string             The class of storage used to store the object.
+      --LifecycleConfiguration.Rules.0.Prefix string                                                  identifying one or more objects to which the rule applies.
+      --LifecycleConfiguration.Rules.0.Status string                                                  If 'Enabled', the rule is currently being applied.
+      --LifecycleConfiguration.Rules.0.Transitions.0.Date osctime                                     Indicates when objects are transitioned to the specified storage class.
+      --LifecycleConfiguration.Rules.0.Transitions.0.Days int32                                       Indicates the number of days after creation when objects are transitioned to the specified storage class.
+      --LifecycleConfiguration.Rules.0.Transitions.0.StorageClass string                              The storage class to which you want the object to transition.

docs/reference/octl_storage_api_PutBucketVersioning.md

-      --VersioningConfiguration.MFADelete string   
-      --VersioningConfiguration.Status string      
+      --VersioningConfiguration.MFADelete string   Specifies whether MFA delete is enabled in the bucket versioning configuration.
+      --VersioningConfiguration.Status string      The versioning state of the bucket.

docs/reference/octl_storage_api_PutBucketWebsite.md

-      --WebsiteConfiguration.ErrorDocument.Key string                                      
-      --WebsiteConfiguration.IndexDocument.Suffix string                                   
-      --WebsiteConfiguration.RedirectAllRequestsTo.HostName string                         
-      --WebsiteConfiguration.RedirectAllRequestsTo.Protocol string                         
-      --WebsiteConfiguration.RoutingRules.0.Condition.HttpErrorCodeReturnedEquals string   
-      --WebsiteConfiguration.RoutingRules.0.Condition.KeyPrefixEquals string               
-      --WebsiteConfiguration.RoutingRules.0.Redirect.HostName string                       
-      --WebsiteConfiguration.RoutingRules.0.Redirect.HttpRedirectCode string               
-      --WebsiteConfiguration.RoutingRules.0.Redirect.Protocol string                       
-      --WebsiteConfiguration.RoutingRules.0.Redirect.ReplaceKeyPrefixWith string           
-      --WebsiteConfiguration.RoutingRules.0.Redirect.ReplaceKeyWith string                 
+      --WebsiteConfiguration.ErrorDocument.Key string                                      The object key name to use when a 4XX class error occurs.
+      --WebsiteConfiguration.IndexDocument.Suffix string                                   A suffix that is appended to a request that is for a directory on the website endpoint.
+      --WebsiteConfiguration.RedirectAllRequestsTo.HostName string                         Name of the host where requests are redirected.
+      --WebsiteConfiguration.RedirectAllRequestsTo.Protocol string                         to use when redirecting requests.
+      --WebsiteConfiguration.RoutingRules.0.Condition.HttpErrorCodeReturnedEquals string   The HTTP error code when the redirect is applied.
+      --WebsiteConfiguration.RoutingRules.0.Condition.KeyPrefixEquals string               The object key name prefix when the redirect is applied.
+      --WebsiteConfiguration.RoutingRules.0.Redirect.HostName string                       The host name to use in the redirect request.
+      --WebsiteConfiguration.RoutingRules.0.Redirect.HttpRedirectCode string               The HTTP redirect code to use on the response.
+      --WebsiteConfiguration.RoutingRules.0.Redirect.Protocol string                       to use when redirecting requests.
+      --WebsiteConfiguration.RoutingRules.0.Redirect.ReplaceKeyPrefixWith string           The object key prefix to use in the redirect request.
+      --WebsiteConfiguration.RoutingRules.0.Redirect.ReplaceKeyWith string                 The specific object key to use in the redirect request.

docs/reference/octl_storage_api_PutObjectAcl.md

-      --AccessControlPolicy.Grants.0.Grantee.DisplayName string    
-      --AccessControlPolicy.Grants.0.Grantee.EmailAddress string   
-      --AccessControlPolicy.Grants.0.Grantee.ID string             
-      --AccessControlPolicy.Grants.0.Grantee.Type string           
-      --AccessControlPolicy.Grants.0.Grantee.URI string            
-      --AccessControlPolicy.Grants.0.Permission string             
-      --AccessControlPolicy.Owner.DisplayName string               
-      --AccessControlPolicy.Owner.ID string                        
+      --AccessControlPolicy.Grants.0.Grantee.DisplayName string    Screen name of the grantee.
+      --AccessControlPolicy.Grants.0.Grantee.EmailAddress string   Email address of the grantee.
+      --AccessControlPolicy.Grants.0.Grantee.ID string             The canonical user ID of the grantee.
+      --AccessControlPolicy.Grants.0.Grantee.Type string           of grantee This member is required.
+      --AccessControlPolicy.Grants.0.Grantee.URI string            of the grantee group.
+      --AccessControlPolicy.Grants.0.Permission string             Specifies the permission given to the grantee.
+      --AccessControlPolicy.Owner.DisplayName string               Container for the display name of the owner.
+      --AccessControlPolicy.Owner.ID string                        Container for the ID of the owner.

docs/reference/octl_storage_api_PutObjectLockConfiguration.md

-      --ObjectLockConfiguration.ObjectLockEnabled string            
-      --ObjectLockConfiguration.Rule.DefaultRetention.Days int32    
-      --ObjectLockConfiguration.Rule.DefaultRetention.Mode string   
-      --ObjectLockConfiguration.Rule.DefaultRetention.Years int32   
+      --ObjectLockConfiguration.ObjectLockEnabled string            Indicates whether this bucket has an Object Lock configuration enabled.
+      --ObjectLockConfiguration.Rule.DefaultRetention.Days int32    The number of days that you want to specify for the default retention period.
+      --ObjectLockConfiguration.Rule.DefaultRetention.Mode string   The default Object Lock retention mode you want to apply to new objects placed in the specified bucket.
+      --ObjectLockConfiguration.Rule.DefaultRetention.Years int32   The number of years that you want to specify for the default retention period.

docs/reference/octl_storage_api_PutObjectRetention.md

-      --Retention.Mode string               
-      --Retention.RetainUntilDate osctime   
+      --Retention.Mode string               Indicates the Retention mode for the specified object.
+      --Retention.RetainUntilDate osctime   The date on which this Object Lock Retention will expire.

docs/reference/octl_storage_api_PutObjectTagging.md

-      --Tagging.TagSet.0.Key string     
-      --Tagging.TagSet.0.Value string   
+      --Tagging.TagSet.0.Key string     Name of the object key.
+      --Tagging.TagSet.0.Value string   of the tag.

[...]

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

Binary size: 37.8MB => 38.4MB (change +636KB, +1.6%) 😭

@jfbus jfbus marked this pull request as ready for review April 1, 2026 15:09
@jfbus jfbus requested a review from a team April 1, 2026 15:09
@jfbus jfbus force-pushed the storage_contents branch 7 times, most recently from 83c4798 to 0257205 Compare April 2, 2026 09:58
@jfbus jfbus requested a review from a team as a code owner April 2, 2026 09:58
@jfbus jfbus force-pushed the storage_contents branch 2 times, most recently from ea3cd32 to 0711cfc Compare April 2, 2026 12:27
@jfbus jfbus changed the title 🚸 ux(storage): change content of json/yaml output 🚸 ux(storage): more aliases Apr 2, 2026
@jfbus jfbus force-pushed the storage_contents branch from 0711cfc to 3a6bcdd Compare April 2, 2026 12:44
@jfbus jfbus changed the title 🚸 ux(storage): more aliases 🚸 ux(storage): bucket describe/objectlock, object acl/retention/tagging/copy Apr 2, 2026
@jfbus jfbus merged commit 579ff6a into main Apr 2, 2026
7 checks passed
@jfbus jfbus deleted the storage_contents branch April 2, 2026 13:54
@jfbus jfbus added the kind/feature New feature or request label Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature New feature or request

Development

Successfully merging this pull request may close these issues.

2 participants