Obtaining the Default WORM Policy of a Bucket¶
Functions¶
This operation returns the default WORM policy of a bucket.
To perform this operation, you must have the GetBucketObjectLockConfiguration permission. The bucket owner can perform this operation by default and can grant this permission to others by using a bucket policy or a user policy.
Note
If you have never configured the default bucket-level retention policy after you enable WORM for a bucket, you can still use this API to check whether WORM is enabled.
Request Syntax¶
GET /?object-lock HTTP/1.1
Host: bucketname.obs.region.example.com
Date: date
Authorization: authorization
Content-Type: application/xml
Content-Length: length
Request Parameters¶
This request contains no message parameters.
Request Headers¶
This request uses common headers. For details, see Table 3.
Request Elements¶
This request involves no elements.
Response Syntax¶
HTTP/1.1 status_code
Date: date
Content-Type: application/xml
Content-Length: length
<?xml version="1.0" encoding="UTF-8"?>
<ObjectLockConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Days>integer</Days>
<Mode>COMPLIANCE</Mode>
<Years>integer</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>
Response Headers¶
This response uses common headers. For details, see Table 1.
Response Elements¶
Table 1 describes the elements of the default bucket-level WORM policy in the response.
Element | Description |
---|---|
ObjectLockConfiguration | Container for configuring for a bucket. Type: container |
ObjectLockEnabled | Indicates whether WORM is enabled for the bucket. The value can only be Enabled. Type: string Example: Enabled |
Rule | Container for the default bucket-level WORM policy. If you have never configured the default policy, this header will not be included in the response. Type: container |
DefaultRetention | Container for the default bucket-level WORM policy. Type: container |
Mode | Default protection mode. It can only be set to COMPLIANCE now. Type: string Example: COMPLIANCE |
Days | Default protection period, in days. The value is from 1 to 36500. Type: integer Example: 1 |
Years | Default protection period, in years. The value is from 1 to 100. In a leap year, only 365 days are calculated. Type: integer Example: 1 |
Error Responses¶
Table 2 describes possible special errors in this request.
Error Code | Description | HTTP Status Code |
---|---|---|
InvalidRequest | The object lock is disabled for the bucket. | 400 |
For other errors, see Table 2.
Sample Request 1¶
Get the configuration where the bucket has WORM enabled, but has no default retention policy configured.
GET /?object-lock HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 02:25:05 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
Content-Length: 0
Sample Response 1¶
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435CE298386946AE4C482
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz
Date: WED, 01 Jul 2015 02:25:06 GMT
Content-Length: 157
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ObjectLockConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
</ObjectLockConfiguration>
Sample Request 2¶
Get the configuration where the bucket has WORM enabled and has the default retention policy configured.
GET /?object-lock HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 02:25:05 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
Content-Length: 0
Sample Response 2¶
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435CE298386946AE4C482
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz
Date: WED, 01 Jul 2015 02:25:06 GMT
Content-Length: 157
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ObjectLockConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Mode>COMPLIANCE</Mode>
<Days>10</Days>
<Years>0</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>