swift/api-ref/source/parameters.yaml
Robert Francis 99b89aea10 Symlink implementation.
Add a symbolic link ("symlink") object support to Swift. This
object will reference another object. GET and HEAD
requests for a symlink object will operate on the referenced object.
DELETE and PUT requests for a symlink object will operate on the
symlink object, not the referenced object, and will delete or
overwrite it, respectively.
POST requests are *not* forwarded to the referenced object and should
be sent directly. POST requests sent to a symlink object will
result in a 307 Error.

Historical information on symlink design can be found here:
https://github.com/openstack/swift-specs/blob/master/specs/in_progress/symlinks.rst.
https://etherpad.openstack.org/p/swift_symlinks

Co-Authored-By: Thiago da Silva <thiago@redhat.com>
Co-Authored-By: Janie Richling <jrichli@us.ibm.com>
Co-Authored-By: Kazuhiro MIYAHARA <miyahara.kazuhiro@lab.ntt.co.jp>
Co-Authored-By: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>

Change-Id: I838ed71bacb3e33916db8dd42c7880d5bb9f8e18
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2017-12-13 21:26:12 +00:00

1247 lines
41 KiB
YAML

# variables in header
Accept:
description: |
Instead of using the ``format`` query parameter,
set this header to ``application/json``, ``application/xml``, or
``text/xml``.
in: header
required: false
type: string
Accept-Ranges:
description: |
The type of ranges that the object accepts.
in: header
required: true
type: string
Content-Disposition:
description: |
If set, specifies the override behavior for the
browser. For example, this header might specify that the browser
use a download program to save this file rather than show the
file, which is the default.
in: header
required: false
type: string
Content-Disposition_resp:
description: |
If present, specifies the override behavior for the
browser. For example, this header might specify that the browser
use a download program to save this file rather than show the
file, which is the default. If not set, this header is not
returned by this operation.
in: header
required: false
type: string
Content-Encoding:
description: |
If set, the value of the ``Content-Encoding``
metadata.
in: header
required: false
type: string
Content-Encoding_resp:
description: |
If present, the value of the ``Content-Encoding``
metadata. If not set, the operation does not return this header.
in: header
required: false
type: string
Content-Length_cud_resp:
description: |
If the operation succeeds, this value is zero
(0) or the length of informational or error
text in the response body.
in: header
required: true
type: string
Content-Length_get_resp:
description: |
The length of the object content in the response
body, in bytes.
in: header
required: true
type: string
Content-Length_listing_resp:
description: |
If the operation succeeds, the length of the response body
in bytes. On error, this is the length of the error text.
in: header
required: true
type: string
Content-Length_obj_head_resp:
description: |
HEAD operations do not return content. The
``Content-Length`` header value is not the size of the response
body but is the size of the object, in bytes.
in: header
required: true
type: string
Content-Length_put_req:
description: |
Set to the length of the object content (i.e. the length in bytes
of the request body). Do not
set if chunked transfer encoding is being used.
in: header
required: false
type: integer
Content-Type_cud_resp:
description: |
If present, this value is the MIME
type of the informational or error text in the response body.
in: header
required: false
type: string
Content-Type_listing_resp:
description: |
If the operation succeeds, this value is the MIME type of the list
response. The MIME type is determined by the listing format specified by
the request and will be one of ``text/plain``, ``application/json``,
``application/xml``, or ``text/xml``. If the operation fails, this value is
the MIME type of the error text in the response body.
in: header
required: true
type: string
Content-Type_obj_cu_req:
description: |
Sets the MIME type for the object.
in: header
required: false
type: string
Content-Type_obj_resp:
description: |
If the operation succeeds, this value is the MIME type of the object. If
the operation fails, this value is the MIME type of the error text in the
response body.
in: header
required: true
type: string
Date:
description: |
The date and time the system responded to the request,
using the preferred format of
`RFC 7231 <https://tools.ietf.org/html/rfc7231#section-7.1.1.1>`_ as
shown in this example ``Thu, 16 Jun 2016 15:10:38 GMT``. The time is
always in UTC.
in: header
required: true
type: string
Destination:
description: |
The container and object name of the destination
object in the form of ``/container/object``. You must UTF-8-encode
and then URL-encode the names of the destination container and
object before you include them in this header.
in: header
required: true
type: string
Destination-Account:
description: |
Specifies the account name where the object is copied to. If not
specified, the object is copied to the account which owns the object
(i.e., the account in the path).
in: header
required: false
type: string
ETag_obj_copied:
description: |
The MD5 checksum of the copied object content.
The value is not quoted.
in: header
required: true
type: string
ETag_obj_received:
description: |
The MD5 checksum of the uploaded object content.
The value is not quoted. If it is an SLO, it would
be MD5 checksum of the segments' etags.
in: header
required: true
type: string
ETag_obj_req:
description: |
The MD5 checksum value of the request body. For
example, the MD5 checksum value of the object content. For
manifest objects, this value is the MD5 checksum of the
concatenated string of ETag values for each of the segments in
the manifest. You are strongly recommended to compute
the MD5 checksum value and include it in the request. This
enables the Object Storage API to check the integrity of the
upload. The value is not quoted.
in: header
required: false
type: string
ETag_obj_resp:
description: |
For objects smaller than 5 GB, this value is the
MD5 checksum of the object content. The value is not quoted. For
manifest objects, this value is the MD5 checksum of the
concatenated string of ETag values for each of the
segments in the manifest, and not the MD5 checksum of the content
that was downloaded. Also the value is enclosed in double-quote
characters. You are strongly recommended to compute the MD5
checksum of the response body as it is received and compare this
value with the one in the ETag header. If they differ, the content
was corrupted, so retry the operation.
in: header
required: true
type: string
If-Match:
description: |
See `Request for Comments: 2616
<http://www.ietf.org/rfc/rfc2616.txt>`_.
in: header
required: false
type: string
If-Modified-Since:
description: |
See `Request for Comments: 2616
<http://www.ietf.org/rfc/rfc2616.txt>`_.
in: header
required: false
type: string
If-None-Match-get-request:
description: |
A client that has one or more entities previously
obtained from the resource can verify that none of those entities is
current by including a list of their associated entity tags in the
``If-None-Match header`` field.
See `Request for Comments: 2616 <http://www.ietf.org/rfc/rfc2616.txt>`_
for details.
in: header
required: false
type: string
If-None-Match-put-request:
description: |
In combination with ``Expect: 100-Continue``,
specify an ``"If-None-Match: *"`` header to query whether the
server already has a copy of the object before any data is sent.
in: header
required: false
type: string
If-Unmodified-Since:
description: |
See `Request for Comments: 2616
<http://www.ietf.org/rfc/rfc2616.txt>`_.
in: header
required: false
type: string
Last-Modified:
description: |
The date and time when the object was created or its metadata was
changed. The date and time is formaatted as shown in this
example: ``Fri, 12 Aug 2016 14:24:16 GMT``
The time is always in UTC.
in: header
required: true
type: string
Range:
description: |
The ranges of content to get. You can use the
``Range`` header to get portions of data by using one or more
range specifications. To specify many ranges, separate the range
specifications with a comma. The types of range specifications
are: - **Byte range specification**. Use FIRST_BYTE_OFFSET to
specify the start of the data range, and LAST_BYTE_OFFSET to
specify the end. You can omit the LAST_BYTE_OFFSET and if you
do, the value defaults to the offset of the last byte of data.
- **Suffix byte range specification**. Use LENGTH bytes to specify
the length of the data range. The following forms of the header
specify the following ranges of data:
- ``Range: bytes=-5``. The last five bytes.
- ``Range: bytes=10-15``. The six bytes of data after a 10-byte offset.
- ``Range: bytes=10-15,-5``. A multi-part response that contains the
last five bytes and the six
bytes of data after a 10-byte offset. The ``Content-Type``
response header contains ``multipart/byteranges``.
- ``Range: bytes=4-6``. Bytes 4 to 6 inclusive.
- ``Range: bytes=2-2``. Byte 2, the third byte of the data.
- ``Range: bytes=6-``. Byte 6 and after.
- ``Range: bytes=1-3,2-5``. A multi-part response that
contains bytes 1 to 3 inclusive, and bytes 2 to 5 inclusive. The
``Content-Type`` response header contains
``multipart/byteranges``.
in: header
required: false
type: string
Transfer-Encoding:
description: |
Set to ``chunked`` to enable chunked transfer
encoding. If used, do not set the ``Content-Length`` header to a
non-zero value.
in: header
required: false
type: string
X-Account-Access-Control_req:
description: |
**Note**: `X-Account-Access-Control` is not supported by Keystone auth.
Sets an account access control list (ACL) that grants access to
containers and objects in the account.
See `Account ACLs
<https://docs.openstack.org/swift/latest/overview_acl.html#account-acls>`_
for more information.
in: header
required: false
type: string
X-Account-Access-Control_resp:
description: |
**Note**: `X-Account-Access-Control` is not supported by Keystone auth.
The account access control list (ACL) that grants access to
containers and objects in the account.
If there is no ACL, this header is not returned by this operation.
See `Account ACLs
<https://docs.openstack.org/swift/latest/overview_acl.html#account-acls>`_
for more information.
in: header
required: false
type: string
X-Account-Bytes-Used:
description: |
The total number of bytes that are stored in
Object Storage for the account.
in: header
required: true
type: integer
X-Account-Container-Count:
description: |
The number of containers.
in: header
required: true
type: integer
X-Account-Meta-name:
description: |
The custom account metadata item, where
``name`` is the name of the metadata item. One ``X-Account-Meta-name``
response header appears for each metadata item (for
each ``name``).
in: header
required: false
type: string
X-Account-Meta-name_req:
description: |
The account metadata. The ``name`` is the name
of metadata item that you want to add, update, or delete. To
delete this item, send an empty value in this header. You must
specify an ``X-Account-Meta-name`` header for each metadata
item (for each ``name``) that you want to add, update, or
delete.
in: header
required: false
type: string
X-Account-Meta-Quota-Bytes_resp:
description: |
If present, this is the limit on the total size in bytes of objects stored
in the account.
Typically this value is set by an administrator.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key-2_req:
description: |
A second secret key value for temporary URLs.
The second key enables you to rotate keys by having
two active keys at the same time.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key-2_resp:
description: |
The second secret key value for temporary URLs. If
not set, this header is not returned in the response.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key_req:
description: |
The secret key value for temporary URLs.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key_resp:
description: |
The secret key value for temporary URLs. If not
set, this header is not returned in the response.
in: header
required: false
type: string
X-Account-Object-Count:
description: |
The number of objects in the account.
in: header
required: true
type: integer
X-Account-Storage-Policy-name-Bytes-Used:
description: |
The total number of bytes that are stored in
in a given storage policy, where ``name`` is the
name of the storage policy.
in: header
required: true
type: integer
X-Account-Storage-Policy-name-Container-Count:
description: |
The number of containers in the account that use the given
storage policy where ``name`` is the name of the storage policy.
in: header
required: true
type: integer
X-Account-Storage-Policy-name-Object-Count:
description: |
The number of objects in given storage policy where ``name`` is
the name of the storage policy.
in: header
required: true
type: integer
X-Auth-Token:
description: |
Authentication token. If you omit this header,
your request fails unless the account owner has granted you access
through an access control list (ACL).
in: header
required: false
type: string
X-Container-Bytes-Used:
description: |
The total number of bytes used.
in: header
required: true
type: integer
X-Container-Meta-Access-Control-Allow-Origin:
description: |
Originating URLs allowed to make cross-origin
requests (CORS), separated by spaces. This heading applies to the
container only, and all objects within the container with this
header applied are CORS-enabled for the allowed origin URLs. A
browser (user-agent) typically issues a `preflighted request
<https://developer.mozilla.org/en-
US/docs/HTTP/Access_control_CORS>`_ , which is an OPTIONS call
that verifies the origin is allowed to make the request. The
Object Storage service returns 200 if the originating URL is
listed in this header parameter, and issues a 401 if the
originating URL is not allowed to make a cross-origin request.
Once a 200 is returned, the browser makes a second request to the
Object Storage service to retrieve the CORS-enabled object.
in: header
required: false
type: string
X-Container-Meta-Access-Control-Expose-Headers:
description: |
Headers the Object Storage service exposes to the
browser (technically, through the ``user-agent`` setting), in the
request response, separated by spaces. By default the Object
Storage service returns the following headers:
- All “simple response headers” as listed on
`http://www.w3.org/TR/cors/#simple-response-header
<http://www.w3.org/TR/cors/#simple-response-header>`_.
- The headers ``etag``, ``x-timestamp``, ``x-trans-id``,
``x-openstack-request-id``.
- All metadata headers (``X-Container-Meta-*`` for containers and
``X-Object-Meta-*`` for objects).
- headers listed in ``X-Container-Meta-Access-Control-Expose-Headers``.
in: header
required: false
type: string
X-Container-Meta-Access-Control-Max-Age:
description: |
Maximum time for the origin to hold the preflight
results. A browser may make an OPTIONS call to verify the origin
is allowed to make the request. Set the value to an integer number
of seconds after the time that the request was received.
in: header
required: false
type: string
X-Container-Meta-name:
description: |
The custom container metadata item, where
``name`` is the name of the metadata item. One ``X-Container-Meta-name``
response header appears for each metadata item (for
each ``name``).
in: header
required: true
type: string
X-Container-Meta-name_req:
description: |
The container metadata, where ``name`` is the
name of metadata item. You must specify an ``X-Container-Meta-name``
header for each metadata item (for each ``name``) that
you want to add or update.
in: header
required: false
type: string
X-Container-Meta-Quota-Bytes:
description: |
Sets maximum size of the container, in bytes.
Typically these values are set by an administrator. Returns a 413
response (request entity too large) when an object PUT operation
exceeds this quota value.
This value does not take effect immediately. see
`Container Quotas
<https://docs.openstack.org/swift/latest/api/container_quotas.html>`_
for more information.
in: header
required: false
type: string
X-Container-Meta-Quota-Bytes_resp:
description: |
The maximum size of the container, in bytes. If not set, this header is not
returned by this operation.
in: header
required: false
type: string
X-Container-Meta-Quota-Count:
description: |
Sets maximum object count of the container.
Typically these values are set by an administrator. Returns a 413
response (request entity too large) when an object PUT operation
exceeds this quota value.
This value does not take effect immediately. see
`Container Quotas
<https://docs.openstack.org/swift/latest/api/container_quotas.html>`_
for more information.
in: header
required: false
type: string
X-Container-Meta-Quota-Count_resp:
description: |
The maximum object count of the container. If not set, this header is not
returned by this operation.
in: header
required: false
type: string
X-Container-Meta-Temp-URL-Key-2_req:
description: |
A second secret key value for temporary URLs.
The second key enables you to rotate keys by having
two active keys at the same time.
in: header
required: false
type: string
X-Container-Meta-Temp-URL-Key-2_resp:
description: |
The second secret key value for temporary URLs. If
not set, this header is not returned in the response.
in: header
required: false
type: string
X-Container-Meta-Temp-URL-Key_req:
description: |
The secret key value for temporary URLs.
in: header
required: false
type: string
X-Container-Meta-Temp-URL-Key_resp:
description: |
The secret key value for temporary URLs. If not
set, this header is not returned in the response.
in: header
required: false
type: string
X-Container-Meta-Web-Directory-Type:
description: |
Sets the content-type of directory marker
objects. If the header is not set, default is
``application/directory``. Directory marker objects are 0-byte
objects that represent directories to create a simulated
hierarchical structure. For example, if you set ``"X-Container-
Meta-Web-Directory-Type: text/directory"``, Object Storage treats
0-byte objects with a content-type of ``text/directory`` as
directories rather than objects.
in: header
required: false
type: string
X-Container-Object-Count:
description: |
The number of objects.
in: header
required: true
type: integer
X-Container-Read:
description: |
Sets a container access control list (ACL) that grants read access.
The scope of the access is specific to the container. The ACL grants
the ability to perform GET or HEAD operations on objects in the container
or to perform a GET or HEAD operation on the container itself.
The format and scope of the ACL is dependent on the authorization system
used by the Object Storage service. See `Container ACLs
<https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
for more information.
in: header
required: false
type: string
X-Container-Read_resp:
description: |
The ACL that grants read access. If there is no ACL, this
header is not returned by this operation.
See `Container ACLs
<https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
for more information.
in: header
required: false
type: string
X-Container-Sync-Key:
description: |
Sets the secret key for container
synchronization. If you remove the secret key, synchronization is
halted.
For more information, see `Container to Container Synchronization
<https://docs.openstack.org/swift/latest/overview_container_sync.html>`_
in: header
required: false
type: string
X-Container-Sync-Key_resp:
description: |
The secret key for container synchronization. If
not set, this header is not returned by this operation.
in: header
required: false
type: string
X-Container-Sync-To:
description: |
Sets the destination for container
synchronization. Used with the secret key indicated in the ``X
-Container-Sync-Key`` header. If you want to stop a container from
synchronizing, send a blank value for the ``X-Container-Sync-Key``
header.
in: header
required: false
type: string
X-Container-Sync-To_resp:
description: |
The destination for container synchronization. If
not set, this header is not returned by this operation.
in: header
required: false
type: string
X-Container-Write:
description: |
Sets a container access control list (ACL) that grants write access.
The scope of the access is specific to the container. The ACL grants
the ability to perform PUT, POST and DELETE operations on
objects in the container. It does not grant write access to the container
metadata.
The format of the ACL is dependent on the authorization system
used by the Object Storage service. See `Container ACLs
<https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
for more information.
in: header
required: false
type: string
X-Container-Write_resp:
description:
The ACL that grants write access. If there is no ACL,
this header is not returned by this operation.
See `Container ACLs
<https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
for more information.
in: header
required: false
type: string
X-Copied-From:
description: |
For a copied object, shows the container and
object name from which the new object was copied. The value is in
the ``{container}/{object}`` format.
in: header
required: false
type: string
X-Copied-From-Account:
description: |
For a copied object, shows the account
from which the new object was copied.
in: header
required: false
type: string
X-Copied-From-Last-Modified:
description: |
For a copied object, the date and time in `UNIX
Epoch time stamp format
<https://en.wikipedia.org/wiki/Unix_time>`_ when the container and
object name from which the new object was copied was last
modified. For example, ``1440619048`` is equivalent to ``Mon,
Wed, 26 Aug 2015 19:57:28 GMT``.
in: header
required: false
type: integer
X-Copy-From:
description: |
If set, this is the name of an object used to
create the new object by copying the ``X-Copy-From`` object. The
value is in form ``{container}/{object}``. You must UTF-8-encode
and then URL-encode the names of the container and object before
you include them in the header. Using PUT with ``X-Copy-From``
has the same effect as using the COPY operation to copy an object.
Using ``Range`` header with ``X-Copy-From`` will create a new
partial copied object with bytes set by ``Range``.
in: header
required: false
type: string
X-Copy-From-Account:
description: |
Specifies the account name where the object is copied from. If not
specified, the object is copied from the account which owns the new
object (i.e., the account in the path).
in: header
required: false
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.
in: header
required: false
type: integer
X-Delete-At:
description: |
The date and time in `UNIX Epoch time stamp
format <https://en.wikipedia.org/wiki/Unix_time>`_ 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
X-Detect-Content-Type:
description: |
If set to ``true``, Object Storage guesses the
content type based on the file extension and ignores the value
sent in the ``Content-Type`` header, if present.
in: header
required: false
type: boolean
X-Fresh-Metadata:
description: |
Enables object creation that omits existing user
metadata. If set to ``true``, the COPY request creates an object
without existing user metadata. Default value is ``false``.
in: header
required: false
type: boolean
X-History-Location:
description: |
The URL-encoded UTF-8 representation of the container that stores
previous versions of objects. If neither this nor ``X-Versions-Location``
is set, versioning is disabled for this container. ``X-History-Location``
and ``X-Versions-Location`` cannot both be set at the same time. For more
information about object versioning, see `Object versioning
<https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
in: header
required: false
type: string
X-History-Location_resp:
description: |
If present, this container has versioning enabled and the value
is the UTF-8 encoded name of another container. For more information
about object versioning, see `Object versioning
<https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
in: header
required: false
type: string
X-Newest:
description: |
If set to true , Object Storage queries all
replicas to return the most recent one. If you omit this header,
Object Storage responds faster after it finds one valid replica.
Because setting this header to true is more expensive for the back
end, use it only when it is absolutely needed.
in: header
required: false
type: boolean
X-Object-Manifest:
description: |
Set to specify that this is a dynamic large
object manifest object. The value is the container and object name
prefix of the segment objects in the form ``container/prefix``.
You must UTF-8-encode and then URL-encode the names of the
container and prefix before you include them in this header.
in: header
required: false
type: string
X-Object-Manifest_resp:
description: |
If present, this is a dynamic large object
manifest object. The value is the container and object name prefix
of the segment objects in the form ``container/prefix``.
in: header
required: false
type: string
X-Object-Meta-name:
description: |
The object metadata, where ``name`` is the name
of the metadata item. You must specify an
``X-Object-Meta-name`` header for each metadata ``name`` item that
you want to add or update.
in: header
required: false
type: string
X-Object-Meta-name_resp:
description: |
If present, the custom object metadata item, where ``name``
is the name of the metadata item. One``X-Object-Meta-name``
response header appears for each metadata ``name`` item.
in: header
required: false
type: string
X-Openstack-Request-Id:
description: |
A unique transaction ID for this request. Your
service provider might need this value if you report a problem.
(same as ``X-Trans-Id``)
in: header
required: true
type: string
X-Remove-Account-name:
description: |
Removes the metadata item named ``name``.
For example, ``X-Remove-Account-Meta-Blue`` removes
custom metadata.
in: header
required: false
type: string
X-Remove-Container-name:
description: |
Removes the metadata item named ``name``. For
example, ``X-Remove-Container-Read`` removes the
``X-Container-Read`` metadata item and ``X-Remove-Container-Meta-Blue``
removes custom metadata.
in: header
required: false
type: string
X-Remove-History-Location:
description: |
Set to any value to disable versioning. Note that this disables version
that was set via ``X-Versions-Location`` as well.
in: header
required: false
type: string
X-Remove-Versions-Location:
description: |
Set to any value to disable versioning. Note that this disables version
that was set via ``X-History-Location`` as well.
in: header
required: false
type: string
X-Service-Token:
description: |
A service token. See `OpenStack Service Using Composite Tokens
<https://docs.openstack.org/swift/latest/overview_auth.html#openstack-
service-using-composite-tokens>`_ for more information.
in: header
required: false
type: string
X-Static-Large-Object:
description: |
Set to ``true`` if this object is a static large
object manifest object.
in: header
required: true
type: boolean
X-Storage-Policy:
description: |
In requests, specifies the name of the storage policy to use for
the container. In responses, is the storage policy name.
The storage policy of the container cannot be changed.
in: header
required: false
type: string
X-Symlink-Target:
description: |
Set to specify that this is a symlink object.
The value is the relative path of the target object in the
format <container>/<object>. The target object does not need to
exist at the time of symlink creation.
You must UTF-8-encode and then URL-encode the names of the
container and object before you include them in this header.
in: header
required: false
type: string
X-Symlink-Target-Account:
description: |
Set to specify that this is a cross-account symlink to
an object in the account specified in the value.
The ``X-Symlink-Target`` must also be set for this to
be effective.
You must UTF-8-encode and then URL-encode the account name
before you include it in this header.
in: header
required: false
type: string
X-Symlink-Target-Account_resp:
description: |
If present, and ``X-Symlink-Target`` is present, then
this is a cross-account symlink to
an object in the account specified in the value.
in: header
required: false
type: string
X-Symlink-Target_resp:
description: |
If present, this is a symlink object.
The value is the relative path of the target object in the
format <container>/<object>.
in: header
required: false
type: string
X-Timestamp:
description: |
The date and time in `UNIX Epoch time stamp
format <https://en.wikipedia.org/wiki/Unix_time>`_ when the
account, container, or object was initially created as a current
version. For example, ``1440619048`` is equivalent to ``Mon, Wed,
26 Aug 2015 19:57:28 GMT``.
in: header
required: true
type: integer
X-Trans-Id:
description: |
A unique transaction ID for this request. Your
service provider might need this value if you report a problem.
in: header
required: true
type: string
X-Trans-Id-Extra:
description: |
Extra transaction information. Use the ``X-Trans-Id-Extra``
request header to include extra information to help you
debug any errors that might occur with large object upload and
other Object Storage transactions. The server appends the
first 32 characters of the ``X-Trans-Id-Extra`` request header
value to the transaction ID value in the generated ``X-Trans-Id``
response header. You must UTF-8-encode and then URL-encode the
extra transaction information before you include it in the
``X-Trans-Id-Extra`` request header. For example, you can include
extra transaction information when you upload `large objects
<https://docs.openstack.org/swift/latest/api/large_objects.html>`_
such as images. When
you upload each segment and the manifest, include the same value
in the ``X-Trans-Id-Extra`` request header. If an error occurs,
you can find all requests that are related to the large object
upload in the Object Storage logs. You can also use ``X-Trans-Id-Extra``
strings to help operators debug requests that fail to
receive responses. The operator can search for the extra
information in the logs.
in: header
required: false
type: string
X-Versions-Location:
description: |
The URL-encoded UTF-8 representation of the container that stores
previous versions of objects. If neither this nor ``X-History-Location``
is set, versioning is disabled for this container. ``X-Versions-Location``
and ``X-History-Location`` cannot both be set at the same time. For more
information about object versioning, see `Object versioning
<https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
in: header
required: false
type: string
X-Versions-Location_resp:
description: |
If present, this container has versioning enabled and the value
is the UTF-8 encoded name of another container. For more information
about object versioning, see `Object versioning
<https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
in: header
required: false
type: string
# variables in path
account:
description: |
The unique name for the account. An account is
also known as the project or tenant.
in: path
required: false
type: string
container:
description: |
The unique (within an account) name for the container. The container
name must be from 1 to 256 characters long and can start with any
character and contain any pattern. Character set must be UTF-8.
The container name cannot contain a slash (``/``) character
because this character delimits the container and object name. For
example, the path ``/v1/account/www/pages`` specifies the ``www``
container, not the ``www/pages`` container.
in: path
required: false
type: string
object:
description: |
The unique name for the object.
in: path
required: false
type: string
# variables in query
bulk-delete:
description: |
When the ``bulk-delete`` query parameter is present in the POST
request, multiple objects or containers can be deleted
with a single request. See `Bulk Delete
<https://docs.openstack.org/swift/latest/middleware.html#bulk-delete>`_
for how this feature is used.
in: query
required: false
type: string
delimiter:
description: |
Delimiter value, which returns the object names
that are nested in the container. If you do not set a prefix and
set the delimiter to "/" you may get unexpected results where all
the objects are returned instead of only those with the delimiter
set.
in: query
required: false
type: string
end_marker:
description: |
For a string value, x , returns container names
that are less than the marker value.
in: query
required: false
type: string
extract-archive:
description: |
When the ``extract-archive`` query parameter is present in the POST
request, an archive (tar file) is uploaded and extracted to
create multiple objects. See `Extract Archive
<https://docs.openstack.org/swift/latest/middleware.html#extract-archive>`_
for how this feature is used.
in: query
required: false
type: string
filename:
description: |
Overrides the default file name. Object Storage
generates a default file name for GET temporary URLs that is based
on the object name. Object Storage returns this value in the
``Content-Disposition`` response header. Browsers can interpret
this file name value as a file attachment to save. For more
information about temporary URLs, see `Temporary URL middleware
<https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html>`_.
in: query
required: false
type: string
format:
description: |
The response format. Valid values are ``json``,
``xml``, or ``plain``. The default is ``plain``. If you append
the ``format=xml`` or ``format=json`` query parameter to the
storage account URL, the response shows extended container
information serialized in that format. If you append the
``format=plain`` query parameter, the response lists the container
names separated by newlines.
in: query
required: false
type: string
limit:
description: |
For an integer value n , limits the number of
results to n .
in: query
required: false
type: integer
marker:
description: |
For a string value, x , returns container names
that are greater than the marker value.
in: query
required: false
type: string
multipart-manifest_copy:
description: |
If you include the ``multipart-manifest=get``
query parameter and the object is a large object, the object
contents are not copied. Instead, the manifest is copied to
the new object.
in: query
required: false
type: string
multipart-manifest_delete:
description: |
If you include the ``multipart-manifest=delete``
query parameter and the object is a static large object, the
segment objects and manifest object are deleted. If you omit the
``multipart-manifest=delete`` query parameter and the object is a
static large object, the manifest object is deleted but the
segment objects are not deleted. The response body will contain
the status of the deletion of every processed segment object.
in: query
required: false
type: string
multipart-manifest_get:
description: |
If you include the ``multipart-manifest=get``
query parameter and the object is a large object, the object
contents are not returned. Instead, the manifest is returned in
the ``X-Object-Manifest`` response header for dynamic large
objects or in the response body for static large objects.
in: query
required: false
type: string
multipart-manifest_head:
description: |
If you include the ``multipart-manifest=get`` query parameter and the
object is a large object, the object metadata is not returned. Instead, the
response headers will include the manifest metadata and for dynamic large
objects the ``X-Object-Manifest`` response header.
in: query
required: false
type: string
multipart-manifest_put:
description: |
If you include the ``multipart-manifest=put`` query parameter, the object
is a static large object manifest and the body contains the manifest.
in: query
required: false
type: string
path:
description: |
For a string value, returns the object names that
are nested in the pseudo path.
in: query
required: false
type: string
prefix:
description: |
Prefix value. Named items in the response begin
with this value.
in: query
required: false
type: string
swiftinfo_expires:
description: |
The time at which ``swiftinfo_sig`` expires. The time is in
`UNIX Epoch time stamp format
<https://en.wikipedia.org/wiki/Unix_time>`_.
in: query
required: false
type: integer
swiftinfo_sig:
description: |
A hash-based message authentication code (HMAC)
that enables access to administrator-only information. To use this
parameter, the ``swiftinfo_expires`` parameter is also required.
in: query
required: false
type: string
symlink:
description: |
If you include the ``symlink=get`` query parameter
and the object is a symlink, then the response will include
data and metadata from the symlink itself rather than from the target.
in: query
required: false
type: string
symlink_copy:
description: |
If you include the ``symlink=get`` query parameter
and the object is a symlink, the target object
contents are not copied. Instead, the symlink is copied to
create a new symlink to the same target.
in: query
required: false
type: string
temp_url_expires:
description: |
The date and time in `UNIX Epoch time stamp
format <https://en.wikipedia.org/wiki/Unix_time>`_ or
`ISO 8601 UTC timestamp <https://en.wikipedia.org/wiki/ISO_8601>`_
when the signature for temporary URLs expires.
For example, ``1440619048`` or ``2015-08-26T19:57:28Z``
is equivalent to ``Mon, Wed, 26 Aug 2015 19:57:28 GMT``. For more
information about temporary URLs, see `Temporary URL middleware
<https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html>`_.
in: query
required: true
type: integer
temp_url_sig:
description: |
Used with temporary URLs to sign the request with
an HMAC-SHA1 cryptographic signature that defines the allowed HTTP
method, expiration date, full path to the object, and the secret
key for the temporary URL. For more information about temporary
URLs, see `Temporary URL middleware
<https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html>`_.
in: query
required: true
type: string
# variables in body
bytes_in_account_get:
description: |
The total number of bytes that are stored in
Object Storage for the account.
in: body
required: true
type: integer
bytes_in_container_get:
description: |
The total number of bytes that are stored in
Object Storage for the container.
in: body
required: true
type: integer
content_type:
description: |
The content type of the object.
in: body
required: true
type: string
count:
description: |
The number of objects in the container.
in: body
required: true
type: integer
hash:
description: |
The MD5 checksum value of the object content.
in: body
required: true
type: string
last_modified:
description: |
The date and time when the object was last modified.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
name_in_account_get:
description: |
The name of the container.
in: body
required: true
type: string
name_in_container_get:
description: |
The name of the object.
in: body
required: true
type: string
symlink_path:
description: |
This field exists only when the object is symlink.
This is the target path of the symlink object.
in: body
required: true
type: string