def put_container(self, container, headers=None, query=None, cdn=False,<EOL>body=None):
path = self._container_path(container)<EOL>return self.request(<EOL>'<STR_LIT>', path, body or '<STR_LIT>', headers, query=query, cdn=cdn)<EOL>
PUTs the container and returns the results. This is usually
done to create new containers and can also be used to set
X-Container-Meta-xxx headers. Note that if the container
already exists, any existing X-Container-Meta-xxx headers will
remain untouched. To remove an X-Container-Meta-xxx header,
send the header with an empty string as its value.

:param container: The name of the container.
:param headers: Additional headers to send with the request.
:param query: Set to a dict of query values to send on the
    query string of the request.
:param cdn: If set True, the CDN management interface will be
    used.
:param body: Some container PUT requests, like the
    extract-archive bulk upload request, take a body.
:returns: A tuple of (status, reason, headers, contents).

    :status: is an int for the HTTP status code.
    :reason: is the str for the HTTP status (ex: "Ok").
    :headers: is a dict with all lowercase keys of the HTTP
        headers; if a header has multiple values, it will be a
        list.
    :contents: is the str for the HTTP body.