Object Storage command-line client The swift client is the command-line interface (CLI) for the OpenStack Object Storage API and its extensions. This chapter documents swift version 2.2.0. For help on a specific swift command, enter: $ swift COMMAND
swift usage [--debug] [--info] [--quiet] [--auth <auth_url>] [--auth-version <auth_version>] [--user <username>] [--key <api_key>] [--retries <num_retries>] [--os-username <auth-user-name>] [--os-password <auth-password>] [--os-tenant-id <auth-tenant-id>] [--os-tenant-name <auth-tenant-name>] [--os-auth-url <auth-url>] [--os-auth-token <auth-token>] [--os-storage-url <storage-url>] [--os-region-name <region-name>] [--os-service-type <service-type>] [--os-endpoint-type <endpoint-type>] [--os-cacert <ca-certificate>] [--insecure] [--no-ssl-compression] <subcommand> [--help] Subcommands delete Delete a container or objects within a container. download Download objects from containers. list Lists the containers for the account or the objects for a container. post Updates meta information for the account, container, or object; creates containers if not present. stat Displays information for the account, container, or object. upload Uploads files or directories to the given container. capabilities List cluster capabilities. tempurl Create a temporary URL
swift examples swift download --help swift -A https://auth.api.rackspacecloud.com/v1.0 -U user -K api_key stat -v swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \ --os-username user --os-password password list swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \ --os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \ list swift list --lh
swift optional arguments --version show program's version number and exit -h, --help show this help message and exit -s, --snet Use SERVICENET internal network. -v, --verbose Print more info. --debug Show the curl commands and results of all http queries regardless of result status. --info Show the curl commands and results of all http queries which return an error. -q, --quiet Suppress status output. -A AUTH, --auth=AUTH URL for obtaining an auth token. -V AUTH_VERSION, --auth-version=AUTH_VERSION Specify a version for authentication. Defaults to 1.0. -U USER, --user=USER User name for obtaining an auth token. -K KEY, --key=KEY Key for obtaining an auth token. -R RETRIES, --retries=RETRIES The number of times to retry a failed connection. --os-username=<auth-user-name> OpenStack username. Defaults to env[OS_USERNAME]. --os-password=<auth-password> OpenStack password. Defaults to env[OS_PASSWORD]. --os-tenant-id=<auth-tenant-id> OpenStack tenant ID. Defaults to env[OS_TENANT_ID]. --os-tenant-name=<auth-tenant-name> OpenStack tenant name. Defaults to env[OS_TENANT_NAME]. --os-auth-url=<auth-url> OpenStack auth URL. Defaults to env[OS_AUTH_URL]. --os-auth-token=<auth-token> OpenStack token. Defaults to env[OS_AUTH_TOKEN]. Used with --os-storage-url to bypass the usual username/password authentication. --os-storage-url=<storage-url> OpenStack storage URL. Defaults to env[OS_STORAGE_URL]. Overrides the storage url returned during auth. Will bypass authentication when used with --os-auth-token. --os-region-name=<region-name> OpenStack region name. Defaults to env[OS_REGION_NAME]. --os-service-type=<service-type> OpenStack Service type. Defaults to env[OS_SERVICE_TYPE]. --os-endpoint-type=<endpoint-type> OpenStack Endpoint type. Defaults to env[OS_ENDPOINT_TYPE]. --os-cacert=<ca-certificate> Specify a CA bundle file to use in verifying a TLS (https) server certificate. Defaults to env[OS_CACERT]. --insecure Allow swiftclient to access servers without having to verify the SSL certificate. Defaults to env[SWIFTCLIENT_INSECURE] (set to 'true' to enable). --no-ssl-compression This option is deprecated and not used anymore. SSL compression should be disabled by default by the system SSL library.
swift delete command Usage: swift delete Delete a container or objects within a container. Positional arguments <container> Name of container to delete from. [object] Name of object to delete. Specify multiple times for multiple objects. Optional arguments --all Delete all containers and objects. --leave-segments Do not delete segments of manifest objects. --object-threads <threads> Number of threads to use for deleting objects. Default is 10. --container-threads <threads> Number of threads to use for deleting containers. Default is 10.
swift download command Usage: swift download Download objects from containers. Positional arguments <container> Name of container to download from. To download a whole account, omit this and specify --all. [object] Name of object to download. Specify multiple times for multiple objects. Omit this to download all objects from the container. Optional arguments --all Indicates that you really want to download everything in the account. --marker Marker to use when starting a container or account download. --prefix <prefix> Only download items beginning with <prefix>. --output <out_file> For a single file download, stream the output to <out_file>. Specifying "-" as <out_file> will redirect to stdout. --object-threads <threads> Number of threads to use for downloading objects. Default is 10 --container-threads <threads> Number of threads to use for downloading containers. Default is 10 --no-download Perform download(s), but don't actually write anything to disk. --header <header_name:header_value> Adds a customized request header to the query, like "Range" or "If-Match". This argument is repeatable. Example --header "content-type:text/plain" --skip-identical Skip downloading files that are identical on both sides.
swift list command Usage: swift list Lists the containers for the account or the objects for a container. Positional arguments [container] Name of container to list object in. Optional arguments --long Long listing format, similar to ls -l. --lh Report sizes in human readable format similar to ls -lh. --totals Used with -l or --lh, only report totals. --prefix Only list items beginning with the prefix. --delimiter Roll up items with the given delimiter. For containers only. See OpenStack Swift API documentation for what this means.
swift post command Usage: swift post Updates meta information for the account, container, or object. If the container is not found, it will be created automatically. Positional arguments [container] Name of container to post to. [object] Name of object to post. Specify multiple times for multiple objects. Optional arguments --read-acl <acl> Read ACL for containers. Quick summary of ACL syntax: .r:*, .r:-.example.com, .r:www.example.com, account1, account2:user2 --write-acl <acl> Write ACL for containers. Quick summary of ACL syntax: account1 account2:user2 --sync-to <sync-to> Sync To for containers, for multi-cluster replication. --sync-key <sync-key> Sync Key for containers, for multi-cluster replication. --meta <name:value> Sets a meta data item. This option may be repeated. Example: -m Color:Blue -m Size:Large --header <header> Set request headers. This option may be repeated. Example -H "content-type:text/plain"
swift stat command Usage: swift stat Displays information for the account, container, or object. Positional arguments [container] Name of container to stat from. [object] Name of object to stat. Specify multiple times for multiple objects. Optional arguments --lh Report sizes in human readable format similar to ls -lh.
swift upload command Usage: swift upload Uploads specified files and directories to the given container. Positional arguments <container> Name of container to upload to. <file_or_directory> Name of file or directory to upload. Specify multiple times for multiple uploads. Optional arguments --changed Only upload files that have changed since the last upload. --skip-identical Skip uploading files that are identical on both sides. --segment-size <size> Upload files in segments no larger than <size> (in Bytes) and then create a "manifest" file that will download all the segments as if it were the original file. --segment-container <container> Upload the segments into the specified container. If not specified, the segments will be uploaded to a <container>_segments container to not pollute the main <container> listings. --leave-segments Indicates that you want the older segments of manifest objects left alone (in the case of overwrites). --object-threads <threads> Number of threads to use for uploading full objects. Default is 10. --segment-threads <threads> Number of threads to use for uploading object segments. Default is 10. --header <header> Set request headers with the syntax header:value. This option may be repeated. Example -H "content-type:text/plain". --use-slo When used in conjunction with --segment-size it will create a Static Large Object instead of the default Dynamic Large Object. --object-name <object-name> Upload file and name object to <object-name> or upload dir and use <object-name> as object prefix instead of folder name.