Commit Graph

78 Commits (3b21157a844be5b71fba2216486c3ef412e7ae1a)

Author SHA1 Message Date
Tim Burke 113eacf3b8 Isolate docs requirements
...since modern sphinx won't install on py27.

While we're at it, clean up some warnings and treat warnings as errors.

Also, fix up how we parse test configs so we can run func tests.

Related-Change: Id3c2ed87230c5918c18e2c01d086df8157f036b1
Change-Id: I3718f69610545b0dbcb0a2ab45b400da3a45682c
4 years ago
Tim Burke 7563d9cb56 docs: Clean up formatting
Change-Id: I0bcaf15c54dd3b3c590a543569699fe8ec5b0c7c
4 years ago
Alistair Coles 33ad9fd4cc Add option for user to enter password
Add the --prompt option for the CLI which will cause the user to be
prompted to enter a password. Any password otherwise specified by
--key, --os-password or an environment variable will be ignored.

The swift client will exit with a warning if the password cannot be
entered without its value being echoed.

Closes-Bug: #1357562
Change-Id: I513647eed460007617f129691069c6fb1bfe62d7
5 years ago
Nguyen Hai 78b8390072 Switch from oslosphinx to openstackdocstheme
openstackdocstheme is a theme and extension support for
Sphinx documentation that is published to

Change-Id: I37d1d50fb88b35e72b017d5dfbf148c35ac7e323
5 years ago
shangxiaobj 8bf86accca Update the old http doc links
Update the old http doc links to the https ones according to the
official OpenStack website.

Change-Id: Ibf9ecbccb743d2b9a678a1ca69f0b3adc9106a12
5 years ago
Timur Alperovich 0982791db2 Allow for uploads from standard input.
If "-" is passed in for the source, python-swiftclient will upload
the object by reading the contents of the standard input. The object
name option must be set, as well, and this cannot be used in
conjunction with other files.

This approach stores the entire contents as one object. A follow on
patch will change this behavior to upload from standard input as SLO,
unless the segment size is larger than the content size.

Change-Id: I1a8be6377de06f702e0f336a5a593408ed49be02
6 years ago
John Dickinson 124c7de676 moved cli doc to the right place for new links process
Change-Id: I5d2f681ba5ce1f95d006eb7208cdb388a64811c9
6 years ago
Hangdong Zhang 3db6ddd6e4 Update the documentation link for doc migration
Change-Id: I1a5a354675b3ca6a7dbb5ab2dc78bf60209fa2b5
6 years ago
John Dickinson 487b5a1ce4 merged openstack-manuals content with existing content
Change-Id: I05bc8f80daefbb32f32727550a9cbe43e9754e2f
6 years ago
Christopher Bartz cde73c196d Option to ignore mtime metadata entry.
Currently, the swiftclient upload command passes a custom metadata
header for each object (called object-meta-mtime), whose value is
the current UNIX timestamp. When downloading such an object with the
swiftclient, the mtime header is parsed and passed as the atime and
mtime for the newly created file.

There are use-cases where this is not desired, for example when using
tmp or scratch directories in which files older than a specific date
are deleted. This commit provides a boolean option for ignoring the
mtime header.

Change-Id: If60b389aa910c6f1969b999b5d3b6d0940375686
6 years ago
Christopher Bartz 8e08931b9f ISO 8601 timestamps for tempurl
Client-side implementation for ISO 8601 timestamp
support of tempurl middleware. Please see

Change-Id: I76da28b48948475ec1bae5258e0b39a316553fb7
6 years ago
Nelson Marcos b404df9aba Removing duplicated doc from client-api
Change-Id: I1a9ef0c33c68a32808686194c74c27d66d2617e0
6 years ago
Jenkins 94db1f2551 Merge "[trivial] Be consistent in using" 6 years ago
Jenkins 8aae889f26 Merge "Don't recommend to overwrite imported `session` variable" 6 years ago
Kota Tsuyuzaki e684913489 Don't recommend to overwrite imported `session` variable
Change-Id: I34e25e674aac3a85a4702779053d95962b292281
6 years ago
Petr Kovar 24dda6af9f [trivial] Be consistent in using
* Use distro-agnostic in all examples.

Change-Id: If0a7217b7312875bb4ca8258f4ef86c52cd2e577
6 years ago
Andreas Jaeger ee8620de94 Change swift.o.o URL
This is an obsolete URL that redirects, use docs.o.o - and use https for

Change-Id: I7ba2c49db2c620071f8eeb96d0b63af8381ed899
6 years ago
Christopher Bartz 3934bd606a prefix-based tempurls support
Implements client-side functionality for
prefix-based tempurls.

Please see:

Change-Id: I8d7701daee888ed1120271a96c0660b01543ca2d
6 years ago
wangxiyuan ae57155d39 Typo fix
Change "novaclient" to "swiftclient"

Change-Id: I685b476cb05c223959c977b135a8217fb961afb1
7 years ago
Jenkins 524eb54320 Merge "Add commands examples for copy and delete" 7 years ago
Jenkins 0d09919ee3 Merge "Fix 'url' to 'URL'" 7 years ago
Jenkins cb922f4dc6 Merge "Add v1password keystoneauth plugin" 7 years ago
Matthew Oliver 5296daad83 Correct the example keystone session code imports
This is a follow up to patch Ia3fd947ff619c11ff0ce474897533dcf7b49d9b3.
One of the imports for the keystone session example was wrong. It was
trying to import v3 like:

  from keystoneauth1 import v3

Whereas in my testing v3 actually exists deeper under identity:

  from keystoneauth1.identity import v3

This patch fixes this import in the example documentation.

Change-Id: Ie31144fe65116d20a36b83a96079a3804bf55f29
7 years ago
Jenkins e9887703d0 Merge "Adding keystoneauth sessions support" 7 years ago
Tim Burke a38efb6031 Add v1password keystoneauth plugin
This lets us use Keystone sessions against endpoints like swauth and
tempauth with code like:

    import keystoneauth1.loading
    import keystoneauth1.session
    import swiftclient

    loader = keystoneauth1.loading.get_plugin_loader('v1password')
    auth_plugin = loader.load_from_options(
    keystone_session = keystoneauth1.session.Session(auth_plugin)

    conn = swiftclient.Connection(session=keystone_session)

The plugin includes an optional project_name option, which may be used
to override the swift account from the storage url that was returned.
Additionally, it includes enough infrastructure to support some commands
in python-openstackclient>=3.0:

    export OS_AUTH_TYPE=v1password
    export OS_AUTH_URL=http://saio:8080/auth/v1.0
    export OS_PROJECT_NAME=AUTH_test2
    export OS_USERNAME=test:tester
    export OS_PASSWORD=testing

    openstack token issue
    openstack catalog list
    openstack catalog show object-store
    openstack object store account show
    openstack container list
    openstack container create <container>
    openstack container save <container>
    openstack container show <container>
    openstack container delete <container>
    openstack object list <container>
    openstack object create <container> <file>
    openstack object save <container> <object>
    opsentack object show <container> <object>
    openstack object delete <container> <object>

Change-Id: Ia963dc44415f72a6518227e86d9528a987e07491
7 years ago
zheng yin 4d040eecd9 Add commands examples for copy and delete
There are no examples for copy and delete command. For beginners,
they may not use both commands. Therefore, I add examples, then
beginners are able to understand how to use both commands.

Change-Id: Id702dc3f9ab903c1c1183c1e229dc6ebedaac0a7
7 years ago
Yushiro FURUKAWA 9be94f3bae Fix 'url' to 'URL'

Change-Id: I6f35b0c48eda7d6021c2f6a13c084170ebf552d2
7 years ago
Anh Tran ab7a8b2453 TrivialFix: Removed redundant 'the'
Change-Id: I3b3c0e7e4d5c8a1934378e2083a64bb686754f18
7 years ago
Jenkins 0feb83a00c Merge "Change Examples from headings to topics" 7 years ago
Jenkins 39b9db35a0 Merge "Add swift tempurl and swift auth command docstring" 7 years ago
zheng yin 8753c4dea3 Add swift tempurl and swift auth command docstring
Swift has commands including 'swift tempurl' and 'swift auth',
but it has no 'swift tempurl' and 'swift auth' in doc/source/cli.rst.
Therefore, I add them and their examples.

Change-Id: I9a935b648556e2718727d25ac553c860ebbadd82
7 years ago
Tim Burke 7cd7df410a Change Examples from headings to topics
Previously, they appeared in the table of contents, which seemed unnecessary.

Additionally, de-dent the bullet list for stat since it looked weird.

Change-Id: Ief5d480beb4a7daa2fd87c27019601332f087602
7 years ago
Jenkins a2371cc6d8 Merge "Fix examples and missing code-block" 7 years ago
Joel Wright daed43a44a Fix examples and missing code-block
This patch fixes a missing code-block section in the
capabilities section of service-api.rst, and fixes
the import of walk in the examples to support
both python2 and python3.

Change-Id: I572769f971f84e0029f2948e42c130e73517f434
7 years ago
Jenkins b57044a853 Merge "Add copy object method" 7 years ago
Marek Kaleta 4a2465fb12 Add copy object method
Implement copy object method in swiftclient Connection, Service and CLI.

Although COPY functionality can be accomplished with 'X-Copy-From'
header in PUT request, using copy is more convenient especially when
using copy for updating object metadata non-destructively.

Closes-Bug: 1474939
Change-Id: I1338ac411f418f4adb3d06753d044a484a7f32a4
7 years ago
John Dickinson ed4ee79273 reenable sidebar links
uses new method from

Change-Id: I4d19b71b632546fc2e5d5dac2b0d8d43152dabed
7 years ago
Tim Burke 335570e511 Add --json option to `swift capabilities` / `swift info`
This lets us do things like:

    $ swift info --json | jq '[.swift.policies[].name]'

Also, escape more dashes in the man page, so they won't be
misinterpreted as hyphens.

Change-Id: Ic7690bdbcfc55f55e5dde9bc11bb0644085973ce
7 years ago
Shashirekha Gundur 5be9b7e310 fixing nit picks in python-swiftclient doc
Change-Id: Ifde19be175ea828a3137951a0382492434727b5b
7 years ago
Jenkins c91c8d575e Merge "Add an option: disable etag check on downloads" 7 years ago
Cheng Li 69bf4634b9 Add an option: disable etag check on downloads
This patch is to add an option of disable etag
check on downloads.

Change-Id: I9ad389dd691942dea6db470ca3f0543eb6e9703e
Closes-bug: #1581147
7 years ago
Nandini Tata 2e78ca5e75 Fixed a typo in SwiftService API doc
Fixed misspelled word in the Service API description.

Change-Id: I0bb6b2aa319ba217dd0d09a2c7a0d8eff9a67aff
7 years ago
Paulo Ewerton 73e4296a38 Adding keystoneauth sessions support
This patch allows authentication in swiftclient with a keystonauth

Co-Authored-By: Tim Burke <>

Change-Id: Ia3fd947ff619c11ff0ce474897533dcf7b49d9b3
Closes-Bug: 1518938
7 years ago
Joel Wright 3a5a25fe98 Add new doc structure and contents for swiftclient
As a result of the Hackathon we have produced a new
documentation structure for the python-swiftclient.
This patch introduces the new structure and adds the
required content.

The intention is to document the CLI, the SwiftService
and Connection API. Importantly, we also provide
guidance on important considerations when using a swift
object store, such as which aspect of the python-swiftclient
to use for various use cases, common authentication patterns
and some useful examples.

Co-Authored-By: Alexandra Settle <>
Co-Authored-By: Mohit Motiani <>
Co-Authored-By: Hisashi Osanai <>

Change-Id: I9eb41f8e9137efa66cead67dc264a76a3c03fbda
7 years ago
Alexandra 671d6febb2 Minor edits to the api page
Change-Id: Ie65f73532e53a858ee9ab4b4634dcfcaf8a93c3b
7 years ago
Jenkins 4244b99b02 Merge "Update api docs title to make ToC better" 7 years ago
John Dickinson 011d730c9b Update api docs title to make ToC better
Change-Id: Ie8eeb3dd8eddf1868f0fa99911c459ae9f7b0091
7 years ago
Alexandra f82d26063a New python swiftclient doc
Updating with new ToC to be worked on at hackathon

Change-Id: I55ee83626dd88fcc3e6352b3854b758dd7090590
7 years ago
Tim Burke 7a1e192803 Use bulk-delete middleware when available
When issuing `delete` commands that would require three or more
individual deletes, check whether the cluster supports bulk deletes
and use that if it's available.

Additionally, a new option is added to the `delete` command:

  * --prefix <prefix>

    Delete all objects that start with <prefix>. This is similar to the
    --prefix option for the `list` command.


$ swift delete c --prefix obj_prefix/

    ...will delete from container "c" all objects whose name begins with
    "obj_prefix/", such as "obj_prefix/foo" and "obj_prefix/bar".

Change-Id: I6b9504848d6ef562cf4f570bbcd17db4e3da8264
8 years ago
Jenkins 423ede01c4 Merge "New API documentation for python-swiftclient" 8 years ago