diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index 8ab65f58ea..425366d049 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -692,18 +692,31 @@ X-Copy-From-Account: type: string X-Delete-After: description: | - The number of seconds after which the system - removes the object. Internally, the Object Storage system stores - this value in the ``X-Delete-At`` metadata item. + The number of seconds after which the system removes the object. The value + should be a positive integer. Internally, the Object Storage system uses + this value to generate an ``X-Delete-At`` metadata item. If both + ``X-Delete-After`` and ``X-Delete-At`` are set then ``X-Delete-After`` + takes precedence. in: header required: false type: integer X-Delete-At: description: | - The date and time in `UNIX Epoch time stamp - format `_ when the system - removes the object. For example, ``1440619048`` is equivalent to - ``Mon, Wed, 26 Aug 2015 19:57:28 GMT``. + The date and time in `UNIX Epoch time stamp format + `_ when the system removes the + object. For example, ``1440619048`` is equivalent to ``Mon, Wed, 26 Aug + 2015 19:57:28 GMT``. The value should be a positive integer corresponding + to a time in the future. If both ``X-Delete-After`` and ``X-Delete-At`` are + set then ``X-Delete-After`` takes precedence. + in: header + required: false + type: integer +X-Delete-At_resp: + description: | + If present, specifies date and time in `UNIX Epoch time stamp format + `_ when the system removes the + object. For example, ``1440619048`` is equivalent to ``Mon, Wed, 26 Aug + 2015 19:57:28 GMT``. in: header required: false type: integer diff --git a/api-ref/source/storage-object-services.inc b/api-ref/source/storage-object-services.inc index 4c2b45b38f..96816997eb 100644 --- a/api-ref/source/storage-object-services.inc +++ b/api-ref/source/storage-object-services.inc @@ -130,7 +130,7 @@ Response Parameters - X-Object-Meta-name: X-Object-Meta-name_resp - Content-Disposition: Content-Disposition_resp - Content-Encoding: Content-Encoding_resp - - X-Delete-At: X-Delete-At + - X-Delete-At: X-Delete-At_resp - Accept-Ranges: Accept-Ranges - X-Object-Manifest: X-Object-Manifest_resp - Last-Modified: Last-Modified @@ -602,7 +602,7 @@ Response Parameters - X-Object-Meta-name: X-Object-Meta-name - Content-Disposition: Content-Disposition_resp - Content-Encoding: Content-Encoding_resp - - X-Delete-At: X-Delete-At + - X-Delete-At: X-Delete-At_resp - X-Object-Manifest: X-Object-Manifest_resp - Last-Modified: Last-Modified - ETag: ETag_obj_resp @@ -752,9 +752,9 @@ Request - X-Service-Token: X-Service-Token - X-Object-Meta-name: X-Object-Meta-name - X-Delete-At: X-Delete-At + - X-Delete-After: X-Delete-After - Content-Disposition: Content-Disposition - Content-Encoding: Content-Encoding - - X-Delete-After: X-Delete-After - Content-Type: Content-Type_obj_cu_req - X-Trans-Id-Extra: X-Trans-Id-Extra diff --git a/doc/source/overview_expiring_objects.rst b/doc/source/overview_expiring_objects.rst index 42942c8751..9d8c2d911d 100644 --- a/doc/source/overview_expiring_objects.rst +++ b/doc/source/overview_expiring_objects.rst @@ -11,9 +11,12 @@ object from the system. The ``X-Delete-At`` header takes a Unix Epoch timestamp, in integer form; for example: ``1317070737`` represents ``Mon Sep 26 20:58:57 2011 UTC``. -The ``X-Delete-After`` header takes an integer number of seconds. The proxy -server that receives the request will convert this header into an -``X-Delete-At`` header using its current time plus the value given. +The ``X-Delete-After`` header takes a positive integer number of seconds. The +proxy server that receives the request will convert this header into an +``X-Delete-At`` header using the request timestamp plus the value given. + +If both the ``X-Delete-At`` and ``X-Delete-After`` headers are sent with a +request then the ``X-Delete-After`` header will take precedence. As expiring objects are added to the system, the object servers will record the expirations in a hidden ``.expiring_objects`` account for the