YETI client in CLI mode: Basics

Show version

Display the version number of the installed YETI client.

Command:

$ ./yeti.py –v

Result:
1.0.0

Show help

Display details about all the possible arguments.

Command:

$ ./yeti.py –h

Result:
usage: yeti.py [-h] [-v] [--verbose] [--configuration-file ]
               [--source-container-name ] [--destination-container-name ]
               [--source-object-name ] [--destination-object-name ]
               [--source-local-file-name ]
               [--destination-local-file-name ] [--create-symbolic-link]
               [--metadata-name ] [--metadata-value ]
               [--read-access-control-list ]
               [--write-access-control-list ] [--quota-bytes ]
               [--quota-count ]
               []

YETI object storage manager.

positional arguments:
               name of the command to send to the YETI storage server (optional, see list bellow). If not provided the
                        graphic user interface will be used.

options:
  -h, --help            show this help message and exit
  -v, --version         show version number and exit.
  --verbose             display additional information during operations.
  --configuration-file 
                        JSon configuration file to use (default: yeti.json).
  --source-container-name 
                        name of a source container.
  --destination-container-name 
                        name of a destination container.
  --source-object-name 
                        name of a source object.
  --destination-object-name 
                        name of a destination object.
  --source-local-file-name 
                        name of a local file to read.
  --destination-local-file-name 
                        name of a local file to overwrite.
  --create-symbolic-link
                        when duplicating an object, create a symbolic link instead of a copy.
  --metadata-name 
                        name of a custom metadata to set (without prefix). Any user defined metadata name can be used. Also, for
                        containers, metadata names "Quota-Bytes" and "Quota-Count" can be used to set quotas related respectively to
                        a size in bytes, or a maximum number of objects to be stored inside the container.
  --metadata-value 
                        value of a custom metadata to set.
  --read-access-control-list 
                        when provided with commands related to access control list, set the read access control list, format as
                        explained at `https://docs.openstack.org/swift/latest/overview_acl.html`.
  --write-access-control-list 
                        when provided with commands related to access control list, set the write access control list, format as
                        explained at `https://docs.openstack.org/swift/latest/overview_acl.html`.
  --quota-bytes 
                        when provided with the command container-set-quota, set the quota in bytes for all the objects in a
                        container. Providing an empty string as argument value will unset the bytes quota
  --quota-count 
                        when provided with the command container-set-quota, set the quota in number of objects in a container.
                        Providing an empty string as argument value will unset the count quota

Available commands are: server-info (display information about the Swift server). project-info (display information about a project).
project-set-metadata (set custom metadata of a project). container-list (display the list of containers). container-info (display
information about a container). container-create (create a new container). container-delete (delete a container). container-set-
metadata (set custom metadata of a container). container-set-access-control-list (set read and/or write access control list of a
container). container-set-quota (set bytes and/or count quota of a container). object-list (display the list of objects from a
container). object-info (display information about an objects from a container). object-retrieve (retrieve an object from a container
and store it in a local file). object-store (store an object into a container from a local file). object-duplicate (duplicate an
object from a container to another). object-remove (remove an object from a container). object-set-metadata (set custom metadata of
an object from a container).object-set-access-control-list (set read and/or write access control list of an object from a container).

Show server information

Display information related to the YETI server configuration and capabilities.

Command:

$ ./yeti.py server-info

Result:
{ 'swift': { 'version': '2.23.1',
             'strict_cors_mode': True,
             'policies': [ { 'name': 'Policy-0',
                             'aliases': 'Policy-0',
                             'default': True}],
             'allow_account_management': True,
             'account_autocreate': True,
             'max_file_size': 5497558138882,
             'max_meta_name_length': 128,
             'max_meta_value_length': 256,
             'max_meta_count': 90,
             'max_meta_overall_size': 4096,
             'max_header_size': 8192,
             'max_object_name_length': 1024,
             'container_listing_limit': 10000,
             'account_listing_limit': 10000,
             'max_account_name_length': 256,
             'max_container_name_length': 256,
             'extra_header_count': 0},
  'container_sync': {'realms': {}},
  'formpost': {},
  'tempurl': { 'methods': ['GET', 'HEAD', 'PUT', 'POST', 'DELETE'],
               'incoming_remove_headers': ['x-timestamp'],
               'incoming_allow_headers': [],
               'outgoing_remove_headers': ['x-object-meta-*'],
               'outgoing_allow_headers': ['x-object-meta-public-*'],
               'allowed_digests': ['sha1', 'sha256', 'sha512']},
  's3api': { 'max_bucket_listing': 1000,
             'max_parts_listing': 1000,
             'max_upload_part_num': 1000,
             'max_multi_delete_objects': 1000,
             'allow_multipart_uploads': True,
             'min_segment_size': 5242880,
             's3_acl': 'true'},
  'container_quotas': {},
  'account_quotas': {},
  'staticweb': {},
  'bulk_upload': { 'max_containers_per_extraction': 10000,
                   'max_failed_extractions': 1000},
  'bulk_delete': {'max_deletes_per_request': 10000, 'max_failed_deletes': 1000},
  'slo': { 'max_manifest_segments': 1000,
           'max_manifest_size': 8388608,
           'yield_frequency': 10,
           'min_segment_size': 1}}

Show project information

Display specific information related to the current project.

Please note that depending on your access rights, you may not be allowed to obtain this list.

Command:

$ ./yeti.py project-info

Result:
Done.


Written By

Philippe Rimauro