YETI client in CLI mode: Manipulating containers

Show container list

Display the list of the containers of the project.

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

Command:

$ ./yeti.py container-list

Result:
[ { 'name': 'Container A',
    'count': 2,
    'bytes': 19316400,
    'last_modified': '2024-02-28T13:50:41.277620'},
  { 'name': 'Container B',
    'count': 1,
    'bytes': 19057465,
    'last_modified': '2023-11-22T13:10:51.843650'},
  { 'name': 'Container C',
    'count': 0,
    'bytes': 0,
    'last_modified': '2024-02-28T14:22:55.471640'}]

Show container’s object list

Display the list of the objects stored inside a container.

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

Command:

$ ./yeti.py object-list --source-container-name 'Container A'

Result:
[ { 'bytes': 19057465,
    'hash': '15a5c565bf8c0dcf48ed718eb1612706',
    'name': 'Object 1',
    'content_type': 'application/octet-stream',
    'last_modified': '2024-02-22T09:35:59.083360'},
  { 'bytes': 258935,
    'hash': '7e00c2b5f5620ab104f506780d907278',
    'name': 'Object 2',
    'content_type': 'application/octet-stream',
    'last_modified': '2024-02-22T09:36:19.458800'}]

Show container’s information

Display detailled information about a container.

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

Command:

$ ./yeti.py container-info --source-container-name 'Container A'

Result:
{'Content-Type': 'application/json; charset=utf-8', 'X-Container-Object-Count': '2', 'X-Container-Bytes-Used': '19316400', 'X-Timestamp': '1700658606.10791', 'Last-Modified': 'Wed, 28 Feb 2024 13:50:42 GMT', 'Accept-Ranges': 'bytes', 'Content-Length': '0', 'X-Storage-Policy': 'Policy-0', 'X-Container-Sharding': 'False', 'X-Trans-Id': 'tx98d2920888ab4ea180213-0065e877cb', 'X-Openstack-Request-Id': 'tx98d2920888ab4ea180213-0065e877cb', 'Date': 'Wed, 06 Mar 2024 14:03:55 GMT', 'Connection': 'keep-alive'}

Set container’s access control list

Command:

$ ./yeti.py container-set-access-control-list --destination-container-name 'Container A' --read-access-control-list 'member,reader' --write-access-control-list 'member'

Result:
Done.

Reset container’s access control list

Command:

$ ./yeti.py container-set-access-control-list --destination-container-name 'Container A' --read-access-control-list '' --write-access-control-list ''

Result:
Done.

Set container’s quotas

Command:

$ ./yeti.py container-set-quota --destination-container-name 'Container A' --quota-bytes 5000000 --quota-count 50

Result:
Done.

Set container’s metadata

Command:

$ ./yeti.py container-set-metadata --destination-container-name 'Container A' --metadata-name 'MetaDataCustom' --metadata-value 'Important info!'

Result:
Done.

Reset container’s metadata

Command:

$ ./yeti.py container-set-metadata --destination-container-name 'Container A' --metadata-name 'MetaDataCustom' --metadata-value ''

Result:
Done.

Create a container

Command:

$ ./yeti.py container-create --destination-container-name 'New container'

Result:
Done.

Delete a container

Command:

$ ./yeti.py container-delete --destination-container-name 'New container' --destination-object-name 'New object'

Result:
Done.


Written By

Philippe Rimauro