Sharing ======= In Pithos, an object can be published, shared with all or restricted to be accessible by only some users or groups. Publish and unpublish --------------------- Get publishing information for objects `info.txt` and `file2upload.txt` .. code-block:: console $ kamaki file info info.txt cache-control: no-cache, no-store, must-revalidate, max-age=0 content-language: en-us content-type: plan-text/unicode date: Tue, 18 Jun 2013 12:54:14 GMT etag: d41d8cd98f00b204e9800998ecf8427e expires: Tue, 18 Jun 2013 12:54:14 GMT last-modified: Mon, 17 Jun 2013 13:09:44 GMT server: gunicorn/0.14.5 vary: X-Auth-Token,Accept-Language,Accept-Encoding x-object-hash: e3b0c44298fc1c14....ca495991b7852b855 x-object-modified-by: s0m3-u53r-1d x-object-public: https://example.com/pithos/public/14lhJnAhVU7 x-object-uuid: 0493f1d9-9410-4f4b-a81f-fe42f9cefa70 x-object-version: 1085 x-object-version-timestamp: Mon, 17 Jun 2013 13:09:44 GMT $ kamaki file info file2upload.txt cache-control: no-cache, no-store, must-revalidate, max-age=0 content-language: en-us content-type: plan-text/unicode date: Tue, 18 Jun 2013 12:54:14 GMT etag: c41d8cd98f00b304e9800998ecf8427g expires: Tue, 18 Jun 2013 12:54:14 GMT last-modified: Mon, 17 Jun 2013 13:09:44 GMT server: gunicorn/0.14.5 vary: X-Auth-Token,Accept-Language,Accept-Encoding x-object-hash: f3b0c44298fc1c149af...a495991b7852b857 x-object-modified-by: s0m3-u53r-1d x-object-uuid: 0493f1d9-9410-4f4b-a81f-fe42f9cefa70 x-object-version: 1085 x-object-version-timestamp: Mon, 17 Jun 2013 13:09:44 GMT .. note:: The first object contains an "x-object-public" field, therefore is published. Alternatively, use the "--sharing" argument .. code-block:: console $ kamaki file info info.txt --sharing public url: https://example.com/pithos/public/14lhJnAhVU7 Unpublish info.txt, publish file2upload.txt .. code-block:: console $ kamaki file modify /pithos/info.txt --unpublish $ kamaki file modify /pithos/file2upload.txt --publish https://example.com/pithos/public/43gdL2df02ld3 Modify permissions ------------------ Get current permissions. If none set, the object inherits permissions from the container and account (in that order). .. code-block:: console $ kamaki file info info.txt --sharing public url: https://example.com/pithos/public/14lhJnAhVU7 $ kamaki file info file2upload.txt --sharing read: local_user_group, write: s0m3-u53r-1d public url: https://example.com/pithos/public/43gdL2df02ld3 Let user with id `4n07h3r-u53r-1d` to have read access to `info.txt` and write access to `file2upload.txt`, and current user to have the opposite access .. code-block:: console $ kamaki file modify info.txt --read-permission=4n07h3r-u53r-1d --write-permission=s0m3-u53r-1d $ kamaki file modify file2upload.txt --write-permission=4n07h3r-u53r-1d --read-permission=s0m3-u53r-1d Share (read permission) `info.txt` with all .. code-block:: console $ kamaki file modify info.txt --read-permission=* Shared with me -------------- List users who share objects with current user .. code-block:: console $ kamaki sharer list 5h4r1ng-u53r-1d (somesharinguser@example.com) 4n07h3r-5h4r1ng-u53r-1d (anothersharinguser@example.com) List containers of `5h4r1ng-u53r-1d` and then list `images` container .. code-block:: console $ kamaki container list -A 5h4r1ng-u53r-1d images pithos trash $ kamaki file list -A 5h4r1ng-u53r-1d /images some-image.diskdump some-other-image.diskdump Copy the shared image `some-image.diskdump` to current pithos container .. code-block:: console $ kamaki file copy -A 5h4r1ng-u53r-1d /images/some-image.diskdump /pithos OR $ kamaki file copy pithos://5h4r1ng-u53r-1d/images/some-image.diskdump /pithos