diff --git a/models/backbeatRoutes/putMetadata.smithy b/models/backbeatRoutes/putMetadata.smithy index 2aa181d9..0fa517c1 100644 --- a/models/backbeatRoutes/putMetadata.smithy +++ b/models/backbeatRoutes/putMetadata.smithy @@ -4,7 +4,8 @@ namespace cloudserver.backbeatRoutes @http(method: "PUT", uri: "/_/backbeat/metadata/{Bucket}/{Key+}") operation PutMetadata { input: PutMetadataInput, - output: PutMetadataOutput + output: PutMetadataOutput, + errors: [StaleMicroVersionIdException] } structure PutMetadataInput { @@ -33,12 +34,25 @@ structure PutMetadataInput { @httpHeader("X-Scal-Request-Uids") RequestUids: String, - + + @httpHeader("x-scal-micro-version-id") + MicroVersionId: String, + @httpPayload Body: Blob } structure PutMetadataOutput { /// Version ID of the stored metadata - versionId: String + versionId: String, + + @httpHeader("x-scal-replication-loop") + ReplicationLoop: Boolean +} + +@error("client") +@httpError(409) +structure StaleMicroVersionIdException { + @required + message: String } \ No newline at end of file diff --git a/models/backbeatRoutes/putdata.smithy b/models/backbeatRoutes/putdata.smithy index 45e45780..8368cbe8 100644 --- a/models/backbeatRoutes/putdata.smithy +++ b/models/backbeatRoutes/putdata.smithy @@ -7,7 +7,8 @@ use aws.auth#unsignedPayload @unsignedPayload operation PutData { input: PutDataInput, - output: PutDataOutput + output: PutDataOutput, + errors: [VersionIdCollisionException] } structure PutDataInput { @@ -31,6 +32,9 @@ structure PutDataInput { @httpHeader("X-Scal-Request-Uids") RequestUids: String, + @httpHeader("x-scal-source-version-id") + SourceVersionId: String, + @httpPayload @default("") Body: StreamingBlob @@ -45,7 +49,17 @@ structure PutDataOutput { @httpHeader("x-amz-server-side-encryption-customer-algorithm") SSECustomerAlgorithm: String, - + @httpHeader("x-amz-server-side-encryption-aws-kms-key-id") SSEKMSKeyId: String +} + +@error("client") +@httpError(409) +structure VersionIdCollisionException { + @required + message: String, + + @httpHeader("x-scal-micro-version-id") + MicroVersionId: String } \ No newline at end of file diff --git a/package.json b/package.json index ae3075ec..bdee3da1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@scality/cloudserverclient", - "version": "1.0.8", + "version": "1.0.9", "engines": { "node": ">=20" },