Closed amwolff closed 7 months ago
Jeremy had some feedback that what this task wants to accomplish is confusing, and I agree; the issue states that what should be done is verification if all placeholders exist while specifying what the expected behavior is. This list is a copy-paste from another issue, so that's probably why it's like that. Regardless, I think what we should do as part of this is verification if all placeholders exist along with data structures necessary for these actions to exhibit the expected behavior. So for example: DeleteObjectTagging
: if the implementation of this action is already supported within our codebase, we should only verify if the code supports responding with something so that x-amz-version-id
header will be returned (if there's nothing like that, maybe our underlying dependencies (minio) won't even respond with that header?). We should also verify if DeleteObjectTagging
allows users to specify the version ID to be removed. If data structures of code for handling this action already include such a construct, we can be confident that clients will be able to communicate that, allowing this action to work the way we want here. @jewharton what do you think?
@amwolff That sounds good to me. Thanks for clarifying.
Evaluations were made based on the following versions:
storj/gateway-st@3a5764f
storj/edge@0c1c0d3
storj/minio@f1d4dd3
ListObjectVersions
.
VersionId
should be added as a request parameter to retrieve the specific object version.
x-amz-version-id
, the version of the object.
VersionId
should be added as a request parameter to retrieve the specific object version.
x-amz-version-id
, the version of the object.
PutObject
implementation. As a result, none of the following are true:
x-amz-version-id
, the version of the object.
PutObject
CompleteMultipartUpload
implementation.x-amz-version-id
, the version of the object.
VersionId
should be added as a request parameter to delete a specific object version.
x-amz-version-id
: The version ID of the delete marker created as a result of the DELETE operationx-amz-delete-marker
: Boolean that indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.DeleteObjects
request should accept an optional VersionId
(in addition to the object Key), which references a specific version of the object
DeleteMarker
: Boolean that indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.DeleteMarkerVersionId
: The version ID of the delete marker created as a result of the DELETE operation.VersionId
: The version ID of the deleted object.VersionId
should be added as a request parameter to specify the specific version of the object that the tag-set will be added to.
x-amz-version-id
, the version ID of the object the tag-set was added to.
VersionId
should be added as a request parameter to retrieve the tagging information for a specific object version.
x-amz-version-id
, the version ID of the object for which you got the tagging information.
VersionId
should be added as a request parameter to specify the specific versioned object to remove the tag-set from.
x-amz-version-id
, the version ID of the object the tag-set was removed from.
Objective
The goal of this issue is to ensure that the gateway has all the necessary placeholders for handling the following S3 actions, to expedite the connection to the underlying Satellite actions when they become available for use.
Actions to verify
ListObjectVersions
x-amz-version-id
: Version of the object.x-amz-version-id
: Version of the object.x-amz-version-id
: Version of the object.x-amz-version-id
: Version of the object.x-amz-version-id
: The version ID of the delete marker created as a result of the DELETE operationx-amz-delete-marker
: Boolean that indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.DeleteMarker
: Boolean that indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.DeleteMarkerVersionId
: The version ID of the delete marker created as a result of the DELETE operation.VersionId
: The version ID of the deleted object.x-amz-version-id
: The versionId of the object the tag-set was added to.x-amz-version-id
: The versionId of the object for which you got the tagging information.x-amz-version-id
: The versionId of the object the tag-set was removed from.