.. _GET Service ostor-limits:

GET Service ostor-limits
------------------------

Description
~~~~~~~~~~~

Lists information about limits on operations and bandwidth for the specified user or bucket.

Requests
~~~~~~~~

Syntax
^^^^^^

::

    GET /?ostor-limits&emailAddress=<value> HTTP/1.1
    Host: s3.amazonaws.com
    Date: <date>
    Authorization: <authorization_string>

::

    GET /?ostor-limits&bucket=<value> HTTP/1.1
    Host: s3.amazonaws.com 
    Date: <date>
    Authorization: <authorization_string>

Parameters
^^^^^^^^^^

+------------------+-------------------------------------------------------+----------+
| Parameter        | Description                                           | Required |
+==================+=======================================================+==========+
| ``emailAddress`` | User email address.                                   | Yes*     |
|                  |                                                       |          |
|                  | Type: string.                                         |          |
|                  |                                                       |          |
|                  | Default value: none.                                  |          |
+------------------+-------------------------------------------------------+----------+
| ``id``           | User ID.                                              | Yes*     |
|                  |                                                       |          |
|                  | Type: string.                                         |          |
|                  |                                                       |          |
|                  | Default value: none.                                  |          |
+------------------+-------------------------------------------------------+----------+
| ``bucket``       | Bucket name.                                          | Yes*     |
|                  |                                                       |          |
|                  | Type: string.                                         |          |
|                  |                                                       |          |
|                  | Default value: none.                                  |          |
+------------------+-------------------------------------------------------+----------+

\* Only one of the required parameters can be set in a single request.

Headers
^^^^^^^

This implementation uses only common request headers.

Responses
~~~~~~~~~

Headers
^^^^^^^

This implementation uses only common response headers.

Body
^^^^

A JSON dictionary with information about limits for a user or bucket in the following format: 

::

    {
    "ops:default" : "<default_limit_value_in_ops/sec>",
    "ops:get" : "<get_ops_limit_value_in_ops/sec>",
    "ops:put" : "<put_ops_limit_value_in_ops/sec>",
    "ops:list" : "<list_ops_limit_value_in_ops/sec>",
    "ops:delete" : "<delete_ops_limit_value_in_ops/sec>",
    "bandwidth:out" : "<bandwidth_limit_value_in_kb/sec>",
    } 

.. note:: 0 means "unlimited".

Errors
^^^^^^

Returns Error Code 400, if multiple parameters are set at once.

.. note:: The limits are disabled by default. If limits for a user/bucket requested are disabled, an error will be returned. Use ``PUT ostor-limits`` to enable limits.

Examples
~~~~~~~~

Sample Request #1
^^^^^^^^^^^^^^^^^

Returns information about limits for the user with the email ``user1@email.com``.

::

    GET /?ostor-users&emailAddress=user1@email.com HTTP/1.1
    Host: s3.amazonaws.com
    Date: Thu, 07 Apr 2016 14:08:55 GMT
    Authorization: <authorization_string>

Sample Response #1
^^^^^^^^^^^^^^^^^^

::

    HTTP/1.1 200 OK
    Transfer-encoding : chunked
    Server : nginx/1.8.1
    Connection: closed
    x-amz-request-id : 80000000000000030005c8caec96d65b
    Date : Thu, 07 Apr 2016 14:08:56 GMT
    Content-type : application/json
    
    {
    "ops:default" : "0.50",
    "ops:get" : "0.50",
    "ops:put" : "0.50",
    "ops:list" : "0.50",
    "ops:delete" : "0.50",
    "bandwidth:out" : "0"
    }
 
Sample Request #2
^^^^^^^^^^^^^^^^^

Returns information about limits for the bucket ``bucket-1``.

::

    GET /?ostor-limits&bucket=bucket-1 HTTP/1.1
    Host: s3.amazonaws.com
    Date: Wed, 30 Apr 2016 22:32:00 GMT 
    Authorization: <authorization_string>
 
Sample Response #2
^^^^^^^^^^^^^^^^^^

::

    HTTP/1.1 200 OK
    Transfer-encoding : chunked
    Server : nginx/1.8.1
    Connection : closed
    x-amz-request-id : 80000000000000030003c6b538eedd95
    Date: Wed, 30 Apr 2016 22:32:00 GMT
    Content-type : application/json 
    {
    "ops:default" : "0",
    "ops:get" : "0",
    "ops:put" : "0",
    "ops:list" : "0",
    "ops:delete" : "0",
    "bandwidth:out" : "3.33"
    }

