)]}'
{"doc/source/cli.rst":[{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":12,"context_line":"This section covers the options for authenticating with a swift"},{"line_number":13,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":14,"context_line":"version are detailed below. The combinations of options presented below are"},{"line_number":15,"context_line":"just a subset of those that can be used to successfully authenticate, but they"},{"line_number":16,"context_line":"are the most common and recommended."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Details of your authentication version and credential should be obtained from"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_19db2c7d","line":15,"updated":"2016-03-11 01:16:59.000000000","message":"authenticate. These are the most common and we recommend these options.* (just switching from passive to active voice.)","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":16,"context_line":"are the most common and recommended."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Details of your authentication version and credential should be obtained from"},{"line_number":19,"context_line":"your storage provider. These details should make it clearer which of the"},{"line_number":20,"context_line":"authentication sections below are most likely to allow you to connect to your"},{"line_number":21,"context_line":"storage account."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_79e6b044","line":19,"updated":"2016-03-11 01:16:59.000000000","message":"Obtain the details of your authentication version and credentials from your storage provider*","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":50,"context_line":"-------------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Swift can be configured to work with any number of other authentication systems"},{"line_number":53,"context_line":"that we will not cover in this documents. If your storage provider is not using"},{"line_number":54,"context_line":"Keystone to provide access tokens, please contact them for instructions on the"},{"line_number":55,"context_line":"required options. It is likely that the options will need to be specified as"},{"line_number":56,"context_line":"below:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_594f7433","line":53,"updated":"2016-03-11 01:16:59.000000000","message":"You can configure Swift to work with any number of other authentication systems that we will not cover in this document.*","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":60,"context_line":"      swift -A https://auth.api.rackspacecloud.com/v1.0 -U user -K api_key list"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"if you have a token and a storage url"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"It is also possible that a completely separate auth system is being used, in which"},{"line_number":66,"context_line":"case swiftclient cannot request a token for you. In this case you should make the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_197a0c24","line":63,"updated":"2016-03-11 01:16:59.000000000","message":"What\u0027s this in context for? Is this relating to the above?","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":63,"context_line":"if you have a token and a storage url"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"It is also possible that a completely separate auth system is being used, in which"},{"line_number":66,"context_line":"case swiftclient cannot request a token for you. In this case you should make the"},{"line_number":67,"context_line":"request separately and access your storage using the options below:"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"..code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_f9976037","line":66,"updated":"2016-03-11 01:16:59.000000000","message":"swiftclient cannot request a token for you if you are using a completely separate auth system.* (passive to active, correct me if I\u0027ve misunderstood the meaning)","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    ``stat [container] [object]``"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"       Displays information for the account, container, or object depending on"},{"line_number":84,"context_line":"       the args given (if any).  In verbose mode, the Storage URL and the"},{"line_number":85,"context_line":"       authentication token are displayed as well."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"List"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_19a16c94","line":84,"range":{"start_line":84,"start_character":31,"end_line":84,"end_character":33},"updated":"2016-03-11 01:16:59.000000000","message":"Remove the double space","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":93,"context_line":"       The ``-p`` or ``--prefix`` is an option that will only list items"},{"line_number":94,"context_line":"       beginning with that prefix. The ``-d`` or ``--delimiter`` is an option"},{"line_number":95,"context_line":"       (for container listings only) that will roll up items with the given"},{"line_number":96,"context_line":"       delimiter (see OpenStack Swift general documentation for what this"},{"line_number":97,"context_line":"       means)."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"       The ``-l`` and ``--lh`` options provide more detail, similar to ``ls -l``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_19c84c54","line":96,"range":{"start_line":96,"start_character":22,"end_line":96,"end_character":37},"updated":"2016-03-11 01:16:59.000000000","message":"link?","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"       The ``-l`` and ``--lh`` options provide more detail, similar to ``ls -l``"},{"line_number":100,"context_line":"       and ``ls -lh``, the latter providing sizes in human readable format"},{"line_number":101,"context_line":"       (eg ``3K``, ``12M``, etc). The latter two switches use more overhead"},{"line_number":102,"context_line":"       to retrieve the displayed details, which is directly proportional to the"},{"line_number":103,"context_line":"       number of container or objects being listed."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Upload"},{"line_number":106,"context_line":"------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_b4283f87","line":103,"range":{"start_line":101,"start_character":34,"end_line":103,"end_character":51},"updated":"2016-03-11 01:16:59.000000000","message":"The latter two switches use more overhead to retrieve the displayed details, which is directly proportional to the number of containers or objects listed. *","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    ``upload [command-options] container file_or_directory [file_or_directory] [...]``"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"       Uploads to the given container the files and directories specified by the"},{"line_number":111,"context_line":"       remaining args. The ``-c`` or ``--changed`` is an option that will only"},{"line_number":112,"context_line":"       upload files that have changed since the last upload. The"},{"line_number":113,"context_line":"       ``--object-name \u003cobject-name\u003e`` is an option that will upload file and"},{"line_number":114,"context_line":"       name object to ``\u003cobject-name\u003e`` or upload dir and use ``\u003cobject-name\u003e``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_39b38899","line":111,"range":{"start_line":110,"start_character":7,"end_line":111,"end_character":22},"updated":"2016-03-11 01:16:59.000000000","message":"What does this sentence mean? Consider revising structure.\nAre you trying to say that that command uploads files and directories to the given container?","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"       Uploads to the given container the files and directories specified by the"},{"line_number":111,"context_line":"       remaining args. The ``-c`` or ``--changed`` is an option that will only"},{"line_number":112,"context_line":"       upload files that have changed since the last upload. The"},{"line_number":113,"context_line":"       ``--object-name \u003cobject-name\u003e`` is an option that will upload file and"},{"line_number":114,"context_line":"       name object to ``\u003cobject-name\u003e`` or upload dir and use ``\u003cobject-name\u003e``"},{"line_number":115,"context_line":"       as object prefix. The ``-S \u003csize\u003e`` or ``--segment-size \u003csize\u003e`` and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_59a49449","line":112,"range":{"start_line":112,"start_character":20,"end_line":112,"end_character":37},"updated":"2016-03-11 01:16:59.000000000","message":"with changes*","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":111,"context_line":"       remaining args. The ``-c`` or ``--changed`` is an option that will only"},{"line_number":112,"context_line":"       upload files that have changed since the last upload. The"},{"line_number":113,"context_line":"       ``--object-name \u003cobject-name\u003e`` is an option that will upload file and"},{"line_number":114,"context_line":"       name object to ``\u003cobject-name\u003e`` or upload dir and use ``\u003cobject-name\u003e``"},{"line_number":115,"context_line":"       as object prefix. The ``-S \u003csize\u003e`` or ``--segment-size \u003csize\u003e`` and"},{"line_number":116,"context_line":"       ``--leave-segments`` are options as well (see ``--help`` for more)."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_9968dcf6","line":114,"range":{"start_line":114,"start_character":50,"end_line":114,"end_character":53},"updated":"2016-03-11 01:16:59.000000000","message":"directory?","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    ``post [command-options] [container] [object]``"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":124,"context_line":"       on the args given. If the container is not found, it will be created"},{"line_number":125,"context_line":"       automatically; but this is not true for accounts and objects. Containers"},{"line_number":126,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":127,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on all and used to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_397a68bd","line":124,"range":{"start_line":124,"start_character":14,"end_line":124,"end_character":18},"updated":"2016-03-11 01:16:59.000000000","message":"expand please","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"358d14acd4279948cf597d6ff00e4dcdebe32b78","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    ``post [command-options] [container] [object]``"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":124,"context_line":"       on the args given. If the container is not found, it will be created"},{"line_number":125,"context_line":"       automatically; but this is not true for accounts and objects. Containers"},{"line_number":126,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":127,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on all and used to"},{"line_number":128,"context_line":"       define the user meta data items to set in the form ``Name:Value``."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_94a6e3be","line":125,"range":{"start_line":124,"start_character":26,"end_line":125,"end_character":68},"updated":"2016-03-11 01:38:55.000000000","message":"\"With the exception of accounts and objects, the $SUBJECT creates undiscovered containers automatically.\"\nObviously replacing $subject with a subject for the sentence.\n\nAvoid using semi colons - for ease of ESL readers :)","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":124,"context_line":"       on the args given. If the container is not found, it will be created"},{"line_number":125,"context_line":"       automatically; but this is not true for accounts and objects. Containers"},{"line_number":126,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":127,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on all and used to"},{"line_number":128,"context_line":"       define the user meta data items to set in the form ``Name:Value``."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_994f3c91","line":125,"range":{"start_line":125,"start_character":20,"end_line":125,"end_character":21},"updated":"2016-03-11 01:16:59.000000000","message":"a comma would be fine here","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":124,"context_line":"       on the args given. If the container is not found, it will be created"},{"line_number":125,"context_line":"       automatically; but this is not true for accounts and objects. Containers"},{"line_number":126,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":127,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on all and used to"},{"line_number":128,"context_line":"       define the user meta data items to set in the form ``Name:Value``."},{"line_number":129,"context_line":"       This option can be repeated. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_19232cbe","line":127,"range":{"start_line":127,"start_character":59,"end_line":127,"end_character":65},"updated":"2016-03-11 01:16:59.000000000","message":"on all what?","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":124,"context_line":"       on the args given. If the container is not found, it will be created"},{"line_number":125,"context_line":"       automatically; but this is not true for accounts and objects. Containers"},{"line_number":126,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":127,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on all and used to"},{"line_number":128,"context_line":"       define the user meta data items to set in the form ``Name:Value``."},{"line_number":129,"context_line":"       This option can be repeated. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Download"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_d9138463","line":128,"range":{"start_line":127,"start_character":16,"end_line":128,"end_character":73},"updated":"2016-03-11 01:16:59.000000000","message":"Use the ``-m`` or ``--meta`` option to define the user meta data items to set in the form ``Name:Value``. *","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":126,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":127,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on all and used to"},{"line_number":128,"context_line":"       define the user meta data items to set in the form ``Name:Value``."},{"line_number":129,"context_line":"       This option can be repeated. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Download"},{"line_number":132,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_b91af87a","line":129,"range":{"start_line":129,"start_character":7,"end_line":129,"end_character":35},"updated":"2016-03-11 01:16:59.000000000","message":"You can repeat this option.*","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":136,"context_line":"       Downloads everything in the account (with ``--all``), or everything in a"},{"line_number":137,"context_line":"       container, or a list of objects depending on the args given. For a"},{"line_number":138,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":139,"context_line":"       option to redirect the output to a specific file or if ``-`` then just"},{"line_number":140,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":141,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_b44f9f69","line":139,"range":{"start_line":139,"start_character":67,"end_line":139,"end_character":68},"updated":"2016-03-11 01:16:59.000000000","message":"put a comma here","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":136,"context_line":"       Downloads everything in the account (with ``--all``), or everything in a"},{"line_number":137,"context_line":"       container, or a list of objects depending on the args given. For a"},{"line_number":138,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":139,"context_line":"       option to redirect the output to a specific file or if ``-`` then just"},{"line_number":140,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":141,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_f455a7f9","line":139,"range":{"start_line":139,"start_character":73,"end_line":139,"end_character":77},"updated":"2016-03-11 01:16:59.000000000","message":"remove \u0027just\u0027","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"f74e2a48712829a89129254d06ce351639afd3c8","unresolved":false,"context_lines":[{"line_number":136,"context_line":"       Downloads everything in the account (with ``--all``), or everything in a"},{"line_number":137,"context_line":"       container, or a list of objects depending on the args given. For a"},{"line_number":138,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":139,"context_line":"       option to redirect the output to a specific file or if ``-`` then just"},{"line_number":140,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":141,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_52f37b73","line":139,"range":{"start_line":139,"start_character":73,"end_line":139,"end_character":77},"in_reply_to":"5aef4532_f455a7f9","updated":"2016-03-29 16:55:12.000000000","message":"have worked around this another way, I thought it felt awkward.","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":138,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":139,"context_line":"       option to redirect the output to a specific file or if ``-`` then just"},{"line_number":140,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":141,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Delete"},{"line_number":144,"context_line":"------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_545c5b18","line":141,"range":{"start_line":141,"start_character":7,"end_line":141,"end_character":8},"updated":"2016-03-11 01:16:59.000000000","message":"CURL ?","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"f74e2a48712829a89129254d06ce351639afd3c8","unresolved":false,"context_lines":[{"line_number":138,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":139,"context_line":"       option to redirect the output to a specific file or if ``-`` then just"},{"line_number":140,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":141,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Delete"},{"line_number":144,"context_line":"------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba0121b8_324fe7be","line":141,"range":{"start_line":141,"start_character":7,"end_line":141,"end_character":8},"in_reply_to":"5aef4532_545c5b18","updated":"2016-03-29 16:55:12.000000000","message":"no, cURL is correct.","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    ``delete [command-options] [container] [object] [object] [...]``"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"       Deletes everything in the account (with ``--all``), or everything in a"},{"line_number":149,"context_line":"       container, or a list of objects depending on the args given. Segments"},{"line_number":150,"context_line":"       of manifest objects will be deleted as well, unless you specify the"},{"line_number":151,"context_line":"       ``--leave-segments`` option."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_b49ddfbd","line":149,"range":{"start_line":149,"start_character":56,"end_line":149,"end_character":60},"updated":"2016-03-11 01:16:59.000000000","message":"expand again please","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":159,"context_line":"       activated Swift middlewares as well as relevant options for each ones."},{"line_number":160,"context_line":"       Additionaly the command displays relevant options for the Swift core. If"},{"line_number":161,"context_line":"       the ``proxy-url`` option is not provided the storage-url retrieved after"},{"line_number":162,"context_line":"       authentication is used as ``proxy-url``."},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_146653ec","line":160,"range":{"start_line":160,"start_character":7,"end_line":160,"end_character":18},"updated":"2016-03-11 01:16:59.000000000","message":"Additionally*","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":158,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":159,"context_line":"       activated Swift middlewares as well as relevant options for each ones."},{"line_number":160,"context_line":"       Additionaly the command displays relevant options for the Swift core. If"},{"line_number":161,"context_line":"       the ``proxy-url`` option is not provided the storage-url retrieved after"},{"line_number":162,"context_line":"       authentication is used as ``proxy-url``."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_94a0a3f5","line":161,"range":{"start_line":161,"start_character":47,"end_line":161,"end_character":48},"updated":"2016-03-11 01:16:59.000000000","message":"comma here","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"beff0e04e04dddc5371a41db430ec319db73f197","unresolved":false,"context_lines":[{"line_number":166,"context_line":"~~~~~~~~"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":".. TODO"},{"line_number":169,"context_line":"  "},{"line_number":170,"context_line":"    Uploading an object"},{"line_number":171,"context_line":"    Listing the contents of a container"},{"line_number":172,"context_line":"    Downloading an object"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_f4a3e7fd","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":2},"updated":"2016-03-11 01:16:59.000000000","message":"I\u0027m sure you know what this is :p","commit_id":"e0d8ffe9339d4440ae1ca5806fd91f68719a5dcf"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7701cc13dfe29f22772b39797bc4c5d3d720c5eb","unresolved":false,"context_lines":[{"line_number":64,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":65,"context_line":"storage-url options shown below:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"..code-block:: bash"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"      swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \\"},{"line_number":70,"context_line":"            --os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \\"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a061dce_97171b44","line":67,"updated":"2016-04-07 19:11:51.000000000","message":"missing space:\n.. code-bock:: bash","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7701cc13dfe29f22772b39797bc4c5d3d720c5eb","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Examples"},{"line_number":164,"context_line":"~~~~~~~~"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":".. TODO expand and format the below"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"# Lists swift containers"},{"line_number":169,"context_line":"$ swift list"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a061dce_370e0fe5","line":166,"updated":"2016-04-07 19:11:51.000000000","message":"ok","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The ``swift`` tool is a command line utility for communicating with an OpenStack"},{"line_number":6,"context_line":"Object Storage (Swift) environment. It allows one to perform several types of"},{"line_number":7,"context_line":"operations."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Authentication"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_1e73a84e","line":6,"range":{"start_line":6,"start_character":16,"end_line":6,"end_character":21},"updated":"2016-04-18 23:47:02.000000000","message":"swift* lowercase","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The ``swift`` tool is a command line utility for communicating with an OpenStack"},{"line_number":6,"context_line":"Object Storage (Swift) environment. It allows one to perform several types of"},{"line_number":7,"context_line":"operations."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Authentication"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_da634f40","line":6,"range":{"start_line":6,"start_character":16,"end_line":6,"end_character":21},"in_reply_to":"1a122d0e_1e73a84e","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"d4f2e2b3997abebe8d1d90c9ccbdb9d0286b526a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. code-block:: bash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    swift --os-auth-url https://api.example.com/v3 --auth-version 3\\"},{"line_number":29,"context_line":"          --os-project-name project1 --os-project-domain-name domain1 \\"},{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_be1bbd1a","line":28,"range":{"start_line":28,"start_character":23,"end_line":28,"end_character":51},"updated":"2016-04-18 09:41:48.000000000","message":"this url seems to there is a server in front of keystone node.\nSo I have a question about assumption for environment.\nIf this is test env, I\u0027d better use http://127.0.0.1:5000/v3 for the url but if this is production env, current url is suitable.\n\nI will use same values for api after the assumption is decided.\n\n# project-domain-name and user-domain-name have same issue.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"7d23a6bf3016a8b9a1277c5e6adcbbe6fed9cf01","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. code-block:: bash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    swift --os-auth-url https://api.example.com/v3 --auth-version 3\\"},{"line_number":29,"context_line":"          --os-project-name project1 --os-project-domain-name domain1 \\"},{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_c4e34732","line":28,"range":{"start_line":28,"start_character":23,"end_line":28,"end_character":51},"in_reply_to":"1a122d0e_be1bbd1a","updated":"2016-04-18 10:52:25.000000000","message":"These are not expected to be working examples, just expected collections of options where you fill in your own details. At the same time, something close to reality would be nice. Maybe I need to be clearer in this section that filling in your own details obtained from your service provider is essential.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":35,"context_line":"          --os-user-id abcdef0123456789abcdef0123456789 \\"},{"line_number":36,"context_line":"          --os-password password list"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Specifying the options above manually on the command line can be avoided by"},{"line_number":39,"context_line":"setting the following combinations of environment variables:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_fed22cff","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":57},"updated":"2016-04-18 23:47:02.000000000","message":"Manually specifying the options above on the command line can be*\n\nJust a suggestion. The original tends to read as a bit of a run on.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"          --os-user-id abcdef0123456789abcdef0123456789 \\"},{"line_number":36,"context_line":"          --os-password password list"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Specifying the options above manually on the command line can be avoided by"},{"line_number":39,"context_line":"setting the following combinations of environment variables:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_1a5e6776","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":57},"in_reply_to":"1a122d0e_fed22cff","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    \u003e swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \\"},{"line_number":63,"context_line":"            --os-username user --os-password password list"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Specifying the options above manually on the command line can be avoided by"},{"line_number":66,"context_line":"setting the following environment variables:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_decdb05e","line":65,"range":{"start_line":65,"start_character":1,"end_line":65,"end_character":10},"updated":"2016-04-18 23:47:02.000000000","message":"ditto","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    \u003e swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \\"},{"line_number":63,"context_line":"            --os-username user --os-password password list"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Specifying the options above manually on the command line can be avoided by"},{"line_number":66,"context_line":"setting the following environment variables:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_5a50df5e","line":65,"range":{"start_line":65,"start_character":1,"end_line":65,"end_character":10},"in_reply_to":"1a122d0e_decdb05e","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Legacy auth systems"},{"line_number":77,"context_line":"-------------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"You can configure Swift to work with any number of other authentication systems"},{"line_number":80,"context_line":"that we will not cover in this document. If your storage provider is not using"},{"line_number":81,"context_line":"Keystone to provide access tokens, please contact them for instructions on the"},{"line_number":82,"context_line":"required options. It is likely that the options will need to be specified as"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_beff1466","line":79,"range":{"start_line":79,"start_character":18,"end_line":79,"end_character":23},"updated":"2016-04-18 23:47:02.000000000","message":"lowercase. Check this throughout.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Legacy auth systems"},{"line_number":77,"context_line":"-------------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"You can configure Swift to work with any number of other authentication systems"},{"line_number":80,"context_line":"that we will not cover in this document. If your storage provider is not using"},{"line_number":81,"context_line":"Keystone to provide access tokens, please contact them for instructions on the"},{"line_number":82,"context_line":"required options. It is likely that the options will need to be specified as"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_9a4a77ab","line":79,"range":{"start_line":79,"start_character":18,"end_line":79,"end_character":23},"in_reply_to":"1a122d0e_beff1466","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    ST_KEY\u003dkey"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"It is also possible that you need to use a completely separate auth system, in which"},{"line_number":100,"context_line":"case swiftclient cannot request a token for you. In this case you should make the"},{"line_number":101,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":102,"context_line":"storage-url options shown below:"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_5e2fe0f5","line":100,"range":{"start_line":100,"start_character":5,"end_line":100,"end_character":16},"updated":"2016-04-18 23:47:02.000000000","message":"``swiftclient``","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    ST_KEY\u003dkey"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"It is also possible that you need to use a completely separate auth system, in which"},{"line_number":100,"context_line":"case swiftclient cannot request a token for you. In this case you should make the"},{"line_number":101,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":102,"context_line":"storage-url options shown below:"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_daca2f1a","line":100,"range":{"start_line":100,"start_character":5,"end_line":100,"end_character":16},"in_reply_to":"1a122d0e_5e2fe0f5","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":99,"context_line":"It is also possible that you need to use a completely separate auth system, in which"},{"line_number":100,"context_line":"case swiftclient cannot request a token for you. In this case you should make the"},{"line_number":101,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":102,"context_line":"storage-url options shown below:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. code-block:: bash"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_be36f44f","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":11},"updated":"2016-04-18 23:47:02.000000000","message":"``storage-url``","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"It is also possible that you need to use a completely separate auth system, in which"},{"line_number":100,"context_line":"case swiftclient cannot request a token for you. In this case you should make the"},{"line_number":101,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":102,"context_line":"storage-url options shown below:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. code-block:: bash"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_3ad083c9","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":11},"in_reply_to":"1a122d0e_be36f44f","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            --os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \\"},{"line_number":108,"context_line":"            list"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. We need the backslash below in order to indent the note"},{"line_number":111,"context_line":"\\"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_fe406ca7","line":110,"range":{"start_line":110,"start_character":54,"end_line":110,"end_character":58},"updated":"2016-04-18 23:47:02.000000000","message":"Really? This seems weird. I\u0027ll have a look into this.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"       The ``-l`` and ``--lh`` options provide more detail, similar to ``ls -l``"},{"line_number":143,"context_line":"       and ``ls -lh``, the latter providing sizes in human readable format"},{"line_number":144,"context_line":"       (eg ``3K``, ``12M``, etc). The latter two switches use more overhead"},{"line_number":145,"context_line":"       to retrieve the displayed details, which is directly proportional to the"},{"line_number":146,"context_line":"       number of container or objects listed."},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_ded770bd","line":144,"range":{"start_line":144,"start_character":8,"end_line":144,"end_character":10},"updated":"2016-04-18 23:47:02.000000000","message":"For example:* avoid using \u0027eg\u0027 \u0027ie\u0027 \nAnd avoid using \u0027etc\u0027 too.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"       The ``-l`` and ``--lh`` options provide more detail, similar to ``ls -l``"},{"line_number":143,"context_line":"       and ``ls -lh``, the latter providing sizes in human readable format"},{"line_number":144,"context_line":"       (eg ``3K``, ``12M``, etc). The latter two switches use more overhead"},{"line_number":145,"context_line":"       to retrieve the displayed details, which is directly proportional to the"},{"line_number":146,"context_line":"       number of container or objects listed."},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_1ad5c7b8","line":144,"range":{"start_line":144,"start_character":8,"end_line":144,"end_character":10},"in_reply_to":"1a122d0e_ded770bd","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    ``post [command-options] [container] [object]``"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":167,"context_line":"       on the arguments given. If the container is not found, the swiftclient will create it"},{"line_number":168,"context_line":"       automatically, but this is not true for accounts and objects. Containers"},{"line_number":169,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":170,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_9eecd890","line":167,"range":{"start_line":167,"start_character":66,"end_line":167,"end_character":77},"updated":"2016-04-18 23:47:02.000000000","message":"``swiftclient``","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    ``post [command-options] [container] [object]``"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":167,"context_line":"       on the arguments given. If the container is not found, the swiftclient will create it"},{"line_number":168,"context_line":"       automatically, but this is not true for accounts and objects. Containers"},{"line_number":169,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":170,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_7adafbea","line":167,"range":{"start_line":167,"start_character":66,"end_line":167,"end_character":77},"in_reply_to":"1a122d0e_9eecd890","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    \u003e swift --help"},{"line_number":219,"context_line":"    \u003e swift \u003ccommand\u003e --help"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"Simple Examples"},{"line_number":222,"context_line":"---------------"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"List the existing swift containers:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_bea0b444","line":221,"range":{"start_line":221,"start_character":7,"end_line":221,"end_character":8},"updated":"2016-04-18 23:47:02.000000000","message":"lowercase","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    \u003e swift --help"},{"line_number":219,"context_line":"    \u003e swift \u003ccommand\u003e --help"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"Simple Examples"},{"line_number":222,"context_line":"---------------"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"List the existing swift containers:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_5ad73fbf","line":221,"range":{"start_line":221,"start_character":7,"end_line":221,"end_character":8},"in_reply_to":"1a122d0e_bea0b444","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    home/swift/testSwift/testSwift.txt"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"More Complex Examples"},{"line_number":285,"context_line":"---------------------"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Swift has a single object size limit of 5GiB. In order to upload files larger"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_beb71485","line":284,"range":{"start_line":284,"start_character":5,"end_line":284,"end_character":21},"updated":"2016-04-18 23:47:02.000000000","message":"complex examples* lowercase","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    home/swift/testSwift/testSwift.txt"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"More Complex Examples"},{"line_number":285,"context_line":"---------------------"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Swift has a single object size limit of 5GiB. In order to upload files larger"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_9ae1d79d","line":284,"range":{"start_line":284,"start_character":5,"end_line":284,"end_character":21},"in_reply_to":"1a122d0e_beb71485","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":285,"context_line":"---------------------"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Swift has a single object size limit of 5GiB. In order to upload files larger"},{"line_number":288,"context_line":"than this, we must create a \u0027large object\u0027 that consists of smaller segments."},{"line_number":289,"context_line":"The example below shows how to upload a large video file as a static large"},{"line_number":290,"context_line":"object in 1GiB segments:"},{"line_number":291,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_deac9037","line":288,"range":{"start_line":288,"start_character":28,"end_line":288,"end_character":42},"updated":"2016-04-18 23:47:02.000000000","message":"no need for the scare quotes","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":285,"context_line":"---------------------"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Swift has a single object size limit of 5GiB. In order to upload files larger"},{"line_number":288,"context_line":"than this, we must create a \u0027large object\u0027 that consists of smaller segments."},{"line_number":289,"context_line":"The example below shows how to upload a large video file as a static large"},{"line_number":290,"context_line":"object in 1GiB segments:"},{"line_number":291,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_faec4b94","line":288,"range":{"start_line":288,"start_character":28,"end_line":288,"end_character":42},"in_reply_to":"1a122d0e_deac9037","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. code-block:: bash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    swift --os-auth-url https://api.example.com/v3 --auth-version 3\\"},{"line_number":29,"context_line":"          --os-project-name project1 --os-project-domain-name domain1 \\"},{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_42097983","line":28,"updated":"2016-04-27 20:20:38.000000000","message":"Is it usually api.example.com:5000 for Keystone?","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. code-block:: bash"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    \u003e swift --os-auth-url https://api.example.com/v2.0 --os-tenant-name tenant \\"},{"line_number":63,"context_line":"            --os-username user --os-password password list"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Manually specifying the options above on the command line can be avoided by"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_c2f90950","line":62,"updated":"2016-04-27 20:20:38.000000000","message":"Is -V 2 missing here? I thought it wasn\u0027t optional, but maybe it is now...","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Stat"},{"line_number":122,"context_line":"----"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    ``stat [container] [object]``"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"       Displays information for the account, container, or object depending on"},{"line_number":127,"context_line":"       the arguments given (if any). In verbose mode, the Storage URL and the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_a28dedd4","line":124,"updated":"2016-04-27 20:20:38.000000000","message":"stat [-v] [container [object]]","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":10,"context_line":"~~~~~~~~~~~~~~"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This section covers the options for authenticating with a swift"},{"line_number":13,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":14,"context_line":"version are detailed below. The combinations of options presented below are"},{"line_number":15,"context_line":"just a subset of those that can be used to successfully authenticate. These"},{"line_number":16,"context_line":"are the most common and recommended combinations."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_c34282aa","line":13,"updated":"2016-04-29 08:05:50.000000000","message":"Minor nit, starting two consecutive sentences with \"The combinations of options\" sounds awkward. Maybe \"... version are detailed below, and are just a subset of those that can be used to successfully authenticate.\"","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"~~~~~~~~~~~~~~"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This section covers the options for authenticating with a swift"},{"line_number":13,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":14,"context_line":"version are detailed below. The combinations of options presented below are"},{"line_number":15,"context_line":"just a subset of those that can be used to successfully authenticate. These"},{"line_number":16,"context_line":"are the most common and recommended combinations."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_f09f70ff","line":13,"in_reply_to":"1a122d0e_c34282aa","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. code-block:: bash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    swift --os-auth-url https://api.example.com:5000/v3 --auth-version 3\\"},{"line_number":29,"context_line":"          --os-project-name project1 --os-project-domain-name domain1 \\"},{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_03175aa3","line":28,"updated":"2016-04-29 08:05:50.000000000","message":"Minor inconsistency, a space is missing before the \\ at the end of this line (same for second example below).","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. code-block:: bash"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    swift --os-auth-url https://api.example.com:5000/v3 --auth-version 3\\"},{"line_number":29,"context_line":"          --os-project-name project1 --os-project-domain-name domain1 \\"},{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_708c00d7","line":28,"in_reply_to":"1a122d0e_03175aa3","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    swift --os-auth-url https://api.example.com:5000/v3 --auth-version 3\\"},{"line_number":34,"context_line":"          --os-project-id 0123456789abcdef0123456789abcdef \\"},{"line_number":35,"context_line":"          --os-user-id abcdef0123456789abcdef0123456789 \\"},{"line_number":36,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_430dd28d","line":33,"updated":"2016-04-29 08:05:50.000000000","message":"The CLI vs. env examples have different auth URLs -- here we use :5000, but in the env vars below we\u0027re not specifying one.\n\nAlso, is the discrepancy intentional between `--auth-version 3` and `ST_AUTH_VERSION\u003d3.0`? (3 vs 3.0)?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"          --os-username user --os-user-domain-name domain1 \\"},{"line_number":31,"context_line":"          --os-password password list"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    swift --os-auth-url https://api.example.com:5000/v3 --auth-version 3\\"},{"line_number":34,"context_line":"          --os-project-id 0123456789abcdef0123456789abcdef \\"},{"line_number":35,"context_line":"          --os-user-id abcdef0123456789abcdef0123456789 \\"},{"line_number":36,"context_line":"          --os-password password list"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_3b3ee9b7","line":33,"in_reply_to":"1a122d0e_430dd28d","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    OS_USERNAME\u003duser"},{"line_number":73,"context_line":"    OS_PASSWORD\u003dpassword"},{"line_number":74,"context_line":"    OS_TENANT_NAME\u003dtenant"},{"line_number":75,"context_line":"    OS_AUTH_URL\u003dhttps://api.example.com/v2.0"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Legacy auth systems"},{"line_number":78,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_237b76f6","line":75,"updated":"2016-04-29 08:05:50.000000000","message":"Same question here on the differing port.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    OS_USERNAME\u003duser"},{"line_number":73,"context_line":"    OS_PASSWORD\u003dpassword"},{"line_number":74,"context_line":"    OS_TENANT_NAME\u003dtenant"},{"line_number":75,"context_line":"    OS_AUTH_URL\u003dhttps://api.example.com/v2.0"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Legacy auth systems"},{"line_number":78,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_9b49fd62","line":75,"in_reply_to":"1a122d0e_237b76f6","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. code-block:: bash"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    swift -A https://auth.api.rackspacecloud.com/v1.0 -U user -K api_key list"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Specifying the options above manually on the command line can be avoided by"},{"line_number":91,"context_line":"setting the following environment variables:"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_36ff2035","line":88,"updated":"2016-04-29 17:00:07.000000000","message":"The earlier examples are on api.example.com. Did we want auth.api.example.com here?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":100,"context_line":"It is also possible that you need to use a completely separate auth system, in which"},{"line_number":101,"context_line":"case \"swiftclient\" cannot request a token for you. In this case you should make the"},{"line_number":102,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":103,"context_line":"\"storage-url\" options shown below:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. code-block:: bash"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_5e076517","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":13},"updated":"2016-04-29 08:05:50.000000000","message":"This seems awkward/inconsistent if we are conversationally saying token (not quoted \"auth-token\") but \"storage-url\" rather than \"storage URL\". Maybe \"using the token and storage URL options\" would read better?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"It is also possible that you need to use a completely separate auth system, in which"},{"line_number":101,"context_line":"case \"swiftclient\" cannot request a token for you. In this case you should make the"},{"line_number":102,"context_line":"authentication request separately and access your storage using the token and"},{"line_number":103,"context_line":"\"storage-url\" options shown below:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. code-block:: bash"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7b4ea138","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":13},"in_reply_to":"1a122d0e_5e076517","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    ``stat [container [object]]``"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"       Displays information for the account, container, or object depending on"},{"line_number":128,"context_line":"       the arguments given (if any). In verbose mode, the Storage URL and the"},{"line_number":129,"context_line":"       authentication token are displayed as well."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"List"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_435b1286","line":128,"updated":"2016-04-29 08:05:50.000000000","message":"minor nit: seems like \"storage\" should be lower-cased? (\"storage URL and the authentication token\")","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    ``stat [container [object]]``"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"       Displays information for the account, container, or object depending on"},{"line_number":128,"context_line":"       the arguments given (if any). In verbose mode, the Storage URL and the"},{"line_number":129,"context_line":"       authentication token are displayed as well."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"List"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_9b6a9d7f","line":128,"in_reply_to":"1a122d0e_435b1286","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    ``list [command-options] [container]``"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"       Lists the containers for the account or the objects for a container."},{"line_number":137,"context_line":"       The ``-p`` or ``--prefix`` is an option that will only list items"},{"line_number":138,"context_line":"       beginning with that prefix. The ``-d`` or ``--delimiter`` is an option"},{"line_number":139,"context_line":"       (for container listings only) that will roll up items with the given"},{"line_number":140,"context_line":"       delimiter (see `OpenStack Swift general documentation"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_e34cdec9","line":137,"updated":"2016-04-29 08:05:50.000000000","message":"In subsequent examples we specifically note when a value is needed for a given param, so possibly consider making this\n\n    ``-p \u003cprefix\u003e`` or ``--prefix \u003cprefix\u003e``","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    ``list [command-options] [container]``"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"       Lists the containers for the account or the objects for a container."},{"line_number":137,"context_line":"       The ``-p`` or ``--prefix`` is an option that will only list items"},{"line_number":138,"context_line":"       beginning with that prefix. The ``-d`` or ``--delimiter`` is an option"},{"line_number":139,"context_line":"       (for container listings only) that will roll up items with the given"},{"line_number":140,"context_line":"       delimiter (see `OpenStack Swift general documentation"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7b986175","line":137,"in_reply_to":"1a122d0e_e34cdec9","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"       Lists the containers for the account or the objects for a container."},{"line_number":137,"context_line":"       The ``-p`` or ``--prefix`` is an option that will only list items"},{"line_number":138,"context_line":"       beginning with that prefix. The ``-d`` or ``--delimiter`` is an option"},{"line_number":139,"context_line":"       (for container listings only) that will roll up items with the given"},{"line_number":140,"context_line":"       delimiter (see `OpenStack Swift general documentation"},{"line_number":141,"context_line":"       \u003chttp://docs.openstack.org/developer/swift/\u003e` for what this means)."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_23c9b626","line":138,"updated":"2016-04-29 08:05:50.000000000","message":"Same here.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"       Lists the containers for the account or the objects for a container."},{"line_number":137,"context_line":"       The ``-p`` or ``--prefix`` is an option that will only list items"},{"line_number":138,"context_line":"       beginning with that prefix. The ``-d`` or ``--delimiter`` is an option"},{"line_number":139,"context_line":"       (for container listings only) that will roll up items with the given"},{"line_number":140,"context_line":"       delimiter (see `OpenStack Swift general documentation"},{"line_number":141,"context_line":"       \u003chttp://docs.openstack.org/developer/swift/\u003e` for what this means)."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_db89b527","line":138,"in_reply_to":"1a122d0e_23c9b626","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":167,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":168,"context_line":"       on the arguments given. If the container is not found, the \"swiftclient\" will create it"},{"line_number":169,"context_line":"       automatically, but this is not true for accounts and objects. Containers"},{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_c3de02d9","line":170,"updated":"2016-04-29 08:05:50.000000000","message":"These ACL params need to show args for consistency too.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":167,"context_line":"       Updates meta information for the account, container, or object depending"},{"line_number":168,"context_line":"       on the arguments given. If the container is not found, the \"swiftclient\" will create it"},{"line_number":169,"context_line":"       automatically, but this is not true for accounts and objects. Containers"},{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7bffc101","line":170,"in_reply_to":"1a122d0e_c3de02d9","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":168,"context_line":"       on the arguments given. If the container is not found, the \"swiftclient\" will create it"},{"line_number":169,"context_line":"       automatically, but this is not true for accounts and objects. Containers"},{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_63e60eb1","line":171,"range":{"start_line":171,"start_character":15,"end_line":171,"end_character":16},"updated":"2016-04-29 08:05:50.000000000","message":"Would this be a good place to link to the documentation on ACL formats?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":168,"context_line":"       on the arguments given. If the container is not found, the \"swiftclient\" will create it"},{"line_number":169,"context_line":"       automatically, but this is not true for accounts and objects. Containers"},{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_56cc5c69","line":171,"range":{"start_line":171,"start_character":15,"end_line":171,"end_character":16},"in_reply_to":"1a122d0e_63e60eb1","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Download"},{"line_number":176,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a38b06c2","line":173,"range":{"start_line":173,"start_character":35,"end_line":173,"end_character":42},"updated":"2016-04-29 08:05:50.000000000","message":"minor nit: Would \"For example\" be more consistent with the rest of the doc instead of \"Example\"?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Download"},{"line_number":176,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a304a649","line":173,"range":{"start_line":173,"start_character":15,"end_line":173,"end_character":21},"updated":"2016-04-29 08:05:50.000000000","message":"typo - repeat","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":170,"context_line":"       also allow the ``-r`` (or ``--read-acl``) and ``-w`` (or ``--write-acl``)"},{"line_number":171,"context_line":"       options. The ``-m`` or ``--meta`` option is allowed on accounts, containers and objects,"},{"line_number":172,"context_line":"       and is used to define the user metadata items to set in the form ``Name:Value``."},{"line_number":173,"context_line":"       You can repear this option. Example: ``post -m Color:Blue -m Size:Large``"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Download"},{"line_number":176,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_56fa9c75","line":173,"range":{"start_line":173,"start_character":35,"end_line":173,"end_character":42},"in_reply_to":"1a122d0e_a38b06c2","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"       Downloads everything in the account (with ``--all``), or everything in a"},{"line_number":181,"context_line":"       container, or a list of objects depending on the arguments given. For a"},{"line_number":182,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":183,"context_line":"       option to redirect the output to a specific file or ``-`` to"},{"line_number":184,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":185,"context_line":"       cURL-like option ``-H [--header]``."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_c3a3a241","line":182,"range":{"start_line":182,"start_character":49,"end_line":182,"end_character":73},"updated":"2016-04-29 08:05:50.000000000","message":"In the sections above we denote the alternate names of the same arg in separate inline code blocks (``-o \u003cfilename\u003e`` or ``--output \u003cfilename\u003e``) but in this section we start to combine them and show one as optional in the middle, which could lead to confusion.\n\nBased on typical --help and man page semantics, this could be read as -o being the option to trigger this thing to happen, and while I must include a filename to go along with it, I can optionally include --output between the two. Clearly someone would be wrong in thinking this. I think the way it\u0027s done in previous sections is better / clearer.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"       Downloads everything in the account (with ``--all``), or everything in a"},{"line_number":181,"context_line":"       container, or a list of objects depending on the arguments given. For a"},{"line_number":182,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":183,"context_line":"       option to redirect the output to a specific file or ``-`` to"},{"line_number":184,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":185,"context_line":"       cURL-like option ``-H [--header]``."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_566f3c2a","line":182,"range":{"start_line":182,"start_character":49,"end_line":182,"end_character":73},"in_reply_to":"1a122d0e_c3a3a241","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":182,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":183,"context_line":"       option to redirect the output to a specific file or ``-`` to"},{"line_number":184,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":185,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Delete"},{"line_number":188,"context_line":"------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_83740acf","line":185,"updated":"2016-04-29 08:05:50.000000000","message":"Might want to include \n    \u003c\"Header-Name:Value\"\u003e","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":182,"context_line":"       single object download, you may use the ``-o [--output] \u003cfilename\u003e``"},{"line_number":183,"context_line":"       option to redirect the output to a specific file or ``-`` to"},{"line_number":184,"context_line":"       redirect to stdout. You can specify optional headers with the repeatable"},{"line_number":185,"context_line":"       cURL-like option ``-H [--header]``."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Delete"},{"line_number":188,"context_line":"------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_76707808","line":185,"in_reply_to":"1a122d0e_83740acf","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":197,"context_line":"Capabilities"},{"line_number":198,"context_line":"------------"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    ``capabilities [proxy-url]``"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":203,"context_line":"       activated Swift middlewares as well as relevant options for each ones."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_433cb2e0","line":200,"range":{"start_line":200,"start_character":20,"end_line":200,"end_character":29},"updated":"2016-04-29 08:05:50.000000000","message":"I noticed swiftclient uses an underscore in this arg rather than a dash, but maybe just an argparse thing. It\u0027s positional, so not sure it matters a heck of a lot to match it. I don\u0027t really care, wanted to say something in case someone else does.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":197,"context_line":"Capabilities"},{"line_number":198,"context_line":"------------"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    ``capabilities [proxy-url]``"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":203,"context_line":"       activated Swift middlewares as well as relevant options for each ones."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_36d8c0ee","line":200,"range":{"start_line":200,"start_character":20,"end_line":200,"end_character":29},"in_reply_to":"1a122d0e_433cb2e0","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":203,"context_line":"       activated Swift middlewares as well as relevant options for each ones."},{"line_number":204,"context_line":"       Additionally the command displays relevant options for the Swift core. If"},{"line_number":205,"context_line":"       the ``proxy-url`` option is not provided, the storage-url retrieved after"},{"line_number":206,"context_line":"       authentication is used as ``proxy-url``."},{"line_number":207,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_4345d26c","line":204,"range":{"start_line":204,"start_character":66,"end_line":204,"end_character":71},"updated":"2016-04-29 08:05:50.000000000","message":"I always thought this was pronoun-like use that was supposed to be capitalized, just like it is here, but asettle noted in the intro paragraph in an earlier change set that it should be lowercased. Is that still the case (ha ha) here?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":203,"context_line":"       activated Swift middlewares as well as relevant options for each ones."},{"line_number":204,"context_line":"       Additionally the command displays relevant options for the Swift core. If"},{"line_number":205,"context_line":"       the ``proxy-url`` option is not provided, the storage-url retrieved after"},{"line_number":206,"context_line":"       authentication is used as ``proxy-url``."},{"line_number":207,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_76f5184f","line":204,"range":{"start_line":204,"start_character":66,"end_line":204,"end_character":71},"in_reply_to":"1a122d0e_4345d26c","updated":"2016-04-29 18:21:01.000000000","message":"I\u0027m not too sure here tbh. I think this is a candidate for a \u0027merge and fix later if necessary\u0027 approach.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":202,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":203,"context_line":"       activated Swift middlewares as well as relevant options for each ones."},{"line_number":204,"context_line":"       Additionally the command displays relevant options for the Swift core. If"},{"line_number":205,"context_line":"       the ``proxy-url`` option is not provided, the storage-url retrieved after"},{"line_number":206,"context_line":"       authentication is used as ``proxy-url``."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_231a567d","line":205,"range":{"start_line":205,"start_character":53,"end_line":205,"end_character":64},"updated":"2016-04-29 08:05:50.000000000","message":"\"storage URL\" would be more consistent with prior sections.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":202,"context_line":"       Displays cluster capabilities. The output includes the list of the"},{"line_number":203,"context_line":"       activated Swift middlewares as well as relevant options for each ones."},{"line_number":204,"context_line":"       Additionally the command displays relevant options for the Swift core. If"},{"line_number":205,"context_line":"       the ``proxy-url`` option is not provided, the storage-url retrieved after"},{"line_number":206,"context_line":"       authentication is used as ``proxy-url``."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_b6997021","line":205,"range":{"start_line":205,"start_character":53,"end_line":205,"end_character":64},"in_reply_to":"1a122d0e_231a567d","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    container_1"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"Creates a new container:"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":".. code-block:: bash"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_3e6f09c5","line":233,"updated":"2016-04-29 08:05:50.000000000","message":"I can\u0027t remember the grammatical term for this, but this is the only example whose leading sentence has a plural verb, so going singular would read more consistently. (I *think* it changes the subject, but that would be extremely subtle and minor in this context...)\n\n    List\n    Creates\n    Upload\n    List\n    Download","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    container_1"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"Creates a new container:"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":".. code-block:: bash"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_568bbcc2","line":233,"in_reply_to":"1a122d0e_3e6f09c5","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":".. code-block:: bash"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    \u003e swift upload videos --use-slo --segment-size 1073741824 video.mp4"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    myvideo.mp4 segment 8"},{"line_number":298,"context_line":"    myvideo.mp4 segment 4"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_fe9f51b1","line":295,"range":{"start_line":295,"start_character":62,"end_line":295,"end_character":71},"updated":"2016-04-29 08:05:50.000000000","message":"minor: This file name is video.mp4 but the example output below is based on a name of myvideo.mp4.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":".. code-block:: bash"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    \u003e swift upload videos --use-slo --segment-size 1073741824 video.mp4"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    myvideo.mp4 segment 8"},{"line_number":298,"context_line":"    myvideo.mp4 segment 4"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_9e6a9db1","line":295,"range":{"start_line":295,"start_character":51,"end_line":295,"end_character":61},"updated":"2016-04-29 08:05:50.000000000","message":"minor: since the CLI supports suffixes, maybe 1G would be a friendlier value here?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":".. code-block:: bash"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    \u003e swift upload videos --use-slo --segment-size 1073741824 video.mp4"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    myvideo.mp4 segment 8"},{"line_number":298,"context_line":"    myvideo.mp4 segment 4"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_76a35843","line":295,"range":{"start_line":295,"start_character":51,"end_line":295,"end_character":61},"in_reply_to":"1a122d0e_9e6a9db1","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":".. code-block:: bash"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    \u003e swift upload videos --use-slo --segment-size 1073741824 video.mp4"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    myvideo.mp4 segment 8"},{"line_number":298,"context_line":"    myvideo.mp4 segment 4"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_d664ec22","line":295,"range":{"start_line":295,"start_character":62,"end_line":295,"end_character":71},"in_reply_to":"1a122d0e_fe9f51b1","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}],"doc/source/client-api.rst":[{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"1621d496b515a47edef877e62dff55b3e47a6e0a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Examples"},{"line_number":23,"context_line":"--------"},{"line_number":24,"context_line":"#Creating a video file of size 1GB"},{"line_number":25,"context_line":"$ truncate -s 1GB myvideo.mp4"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#lists all files"},{"line_number":28,"context_line":"$ ls -l"},{"line_number":29,"context_line":"total 976712"},{"line_number":30,"context_line":"drwxr-xr-x 1 vagrant vagrant        204 Apr  7 21:37 doc"},{"line_number":31,"context_line":"drwxr-xr-x 1 vagrant vagrant        578 Apr  7 15:11 etc"},{"line_number":32,"context_line":"drwxr-xr-x 1 vagrant vagrant        136 Apr  7 15:11 examples"},{"line_number":33,"context_line":"-rw-r--r-- 1 vagrant vagrant      11358 Apr  7 15:11 LICENSE"},{"line_number":34,"context_line":"-rw-r--r-- 1 vagrant vagrant        313 Apr  7 15:11 MANIFEST.in"},{"line_number":35,"context_line":"-rw-r--r-- 1 vagrant vagrant 1000000000 Apr  8 19:35 myvideo.mp4"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#uploads segments of 100MBs"},{"line_number":38,"context_line":"$ swift upload videos -S 100000000 myvideo.mp4"},{"line_number":39,"context_line":"myvideo.mp4 segment 8"},{"line_number":40,"context_line":"myvideo.mp4 segment 4"},{"line_number":41,"context_line":"myvideo.mp4 segment 2"},{"line_number":42,"context_line":"myvideo.mp4 segment 7"},{"line_number":43,"context_line":"myvideo.mp4 segment 0"},{"line_number":44,"context_line":"myvideo.mp4 segment 1"},{"line_number":45,"context_line":"myvideo.mp4 segment 3"},{"line_number":46,"context_line":"myvideo.mp4 segment 9"},{"line_number":47,"context_line":"myvideo.mp4 segment 6"},{"line_number":48,"context_line":"myvideo.mp4 segment 5"},{"line_number":49,"context_line":"myvideo.mp4"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#Lists content of the container "},{"line_number":52,"context_line":"$ swift list videos"},{"line_number":53,"context_line":"myvideo.mp4"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"#creates a new directory"},{"line_number":56,"context_line":"$ mkdir download"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#change current directory to the download"},{"line_number":59,"context_line":"$ cd download"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"#downloads the contents of the container"},{"line_number":62,"context_line":"download$ swift download videos myvideo.mp4"},{"line_number":63,"context_line":"myvideo.mp4 [auth 0.015s, headers 0.050s, total 17.093s, 58.557 MB/s]"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"#lists the contents of the container"},{"line_number":66,"context_line":"download$ ls -l"},{"line_number":67,"context_line":"total 976564"},{"line_number":68,"context_line":"-rw-r--r-- 1 vagrant vagrant 1000000000 Apr  8 19:35 myvideo.mp4"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"#Lists swift containers"},{"line_number":71,"context_line":"$ swift list"},{"line_number":72,"context_line":"videos"},{"line_number":73,"context_line":"videos_segments"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"#Lists contents of video_segments"},{"line_number":76,"context_line":"$ swift list videos_segments"},{"line_number":77,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000000"},{"line_number":78,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000001"},{"line_number":79,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000002"},{"line_number":80,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000003"},{"line_number":81,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000004"},{"line_number":82,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000005"},{"line_number":83,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000006"},{"line_number":84,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000007"},{"line_number":85,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000008"},{"line_number":86,"context_line":"myvideo.mp4/1460144133.000000/1000000000/100000000/00000009"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"TODO"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a1b2928_69e98d1a","line":88,"range":{"start_line":24,"start_character":0,"end_line":88,"end_character":4},"updated":"2016-04-11 14:55:18.000000000","message":"These are all examples of using the swift command line utility, not the Connection API. I\u0027ll spend some time tonight cleaning up these examples and combining them with the ones present in the CLI docs.","commit_id":"daf4741680ca72fed6cb457243d232546da2ce83"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":18,"context_line":"just a subset of those that can be used to successfully authenticate. These"},{"line_number":19,"context_line":"are the most common and recommended combinations."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone V3"},{"line_number":22,"context_line":"~~~~~~~~~~~"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_e10f312c","line":21,"range":{"start_line":21,"start_character":9,"end_line":21,"end_character":11},"updated":"2016-04-18 23:47:02.000000000","message":"pretty sure you had v3 previously?","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"just a subset of those that can be used to successfully authenticate. These"},{"line_number":19,"context_line":"are the most common and recommended combinations."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone V3"},{"line_number":22,"context_line":"~~~~~~~~~~~"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_3ae7e3ad","line":21,"range":{"start_line":21,"start_character":9,"end_line":21,"end_character":11},"in_reply_to":"1a122d0e_e10f312c","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"d4f2e2b3997abebe8d1d90c9ccbdb9d0286b526a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    _os_options \u003d {"},{"line_number":31,"context_line":"        \u0027user_domain_name\u0027: \u0027Default\u0027,"},{"line_number":32,"context_line":"        \u0027project_domain_name\u0027: \u0027Default\u0027,"},{"line_number":33,"context_line":"        \u0027project_name\u0027: \u0027Default\u0027"},{"line_number":34,"context_line":"    }"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    conn \u003d Connection("}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_c194dee3","line":33,"range":{"start_line":33,"start_character":8,"end_line":33,"end_character":33},"updated":"2016-04-18 09:41:48.000000000","message":"\u0027project_name\u0027 is same as \u0027tenant_name\u0027 so value should be \u0027test\u0027 if we can use same value with Keystone V2. And I think it\u0027s easy to understand to use tenant_name in Connection.__init()__. Is there any reason to not use it in Keystone V3?\n\nhttps://github.com/openstack/python-swiftclient/blob/master/swiftclient/client.py#L1371","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"7d23a6bf3016a8b9a1277c5e6adcbbe6fed9cf01","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    _os_options \u003d {"},{"line_number":31,"context_line":"        \u0027user_domain_name\u0027: \u0027Default\u0027,"},{"line_number":32,"context_line":"        \u0027project_domain_name\u0027: \u0027Default\u0027,"},{"line_number":33,"context_line":"        \u0027project_name\u0027: \u0027Default\u0027"},{"line_number":34,"context_line":"    }"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    conn \u003d Connection("}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_b07da6b3","line":33,"range":{"start_line":33,"start_character":8,"end_line":33,"end_character":33},"in_reply_to":"1a122d0e_c194dee3","updated":"2016-04-18 10:52:25.000000000","message":"This supposed to be an ideal suggestion for using keystone v3 auth. As far as I am aware, \u0027project_name\u0027 is the preferred option for v3 and this matches the options supplied in the other sections when dealing with v3 auth.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"d4f2e2b3997abebe8d1d90c9ccbdb9d0286b526a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    _os_options \u003d {"},{"line_number":51,"context_line":"        \u0027user_domain_id\u0027: \u0027Default\u0027,"},{"line_number":52,"context_line":"        \u0027project_domain_id\u0027: \u0027Default\u0027,"},{"line_number":53,"context_line":"        \u0027project_id\u0027: \u0027Default\u0027"},{"line_number":54,"context_line":"    }"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    conn \u003d Connection("}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_e1663a28","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":31},"updated":"2016-04-18 09:41:48.000000000","message":"same as above","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"7d23a6bf3016a8b9a1277c5e6adcbbe6fed9cf01","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    _os_options \u003d {"},{"line_number":51,"context_line":"        \u0027user_domain_id\u0027: \u0027Default\u0027,"},{"line_number":52,"context_line":"        \u0027project_domain_id\u0027: \u0027Default\u0027,"},{"line_number":53,"context_line":"        \u0027project_id\u0027: \u0027Default\u0027"},{"line_number":54,"context_line":"    }"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    conn \u003d Connection("}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_5045326e","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":31},"in_reply_to":"1a122d0e_e1663a28","updated":"2016-04-18 10:52:25.000000000","message":"same reply too :)","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        auth_version\u003d_auth_version"},{"line_number":62,"context_line":"    )"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Keystone V2"},{"line_number":65,"context_line":"~~~~~~~~~~~"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":".. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_211ac96e","line":64,"range":{"start_line":64,"start_character":9,"end_line":64,"end_character":11},"updated":"2016-04-18 23:47:02.000000000","message":"ditto","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        auth_version\u003d_auth_version"},{"line_number":62,"context_line":"    )"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Keystone V2"},{"line_number":65,"context_line":"~~~~~~~~~~~"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":".. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_7a015b39","line":64,"range":{"start_line":64,"start_character":9,"end_line":64,"end_character":11},"in_reply_to":"1a122d0e_211ac96e","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"d4f2e2b3997abebe8d1d90c9ccbdb9d0286b526a","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. code-block:: python"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    _authurl \u003d \u0027http://127.0.0.1:8080/\u0027"},{"line_number":89,"context_line":"    _auth_version \u003d \u00271\u0027"},{"line_number":90,"context_line":"    _user \u003d \u0027tester\u0027"},{"line_number":91,"context_line":"    _key \u003d \u0027testing\u0027"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_bea0dda0","line":88,"range":{"start_line":88,"start_character":15,"end_line":88,"end_character":39},"updated":"2016-04-18 09:41:48.000000000","message":"I think we need to change here from swauth to RAX\u0027s one like CLI","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"7d23a6bf3016a8b9a1277c5e6adcbbe6fed9cf01","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. code-block:: python"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    _authurl \u003d \u0027http://127.0.0.1:8080/\u0027"},{"line_number":89,"context_line":"    _auth_version \u003d \u00271\u0027"},{"line_number":90,"context_line":"    _user \u003d \u0027tester\u0027"},{"line_number":91,"context_line":"    _key \u003d \u0027testing\u0027"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_50137266","line":88,"range":{"start_line":88,"start_character":15,"end_line":88,"end_character":39},"in_reply_to":"1a122d0e_bea0dda0","updated":"2016-04-18 10:52:25.000000000","message":"I agree, even though these are just examples, having something as close to realistic as possible would be nice.","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        conn.put_object("},{"line_number":136,"context_line":"            container,"},{"line_number":137,"context_line":"            \u0027local_object.txt\u0027,"},{"line_number":138,"context_line":"            contents\u003dlocal.read(),"},{"line_number":139,"context_line":"            content_type\u003d\u0027text/plain\u0027"},{"line_number":140,"context_line":"        )"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_e5040f16","line":138,"updated":"2016-04-27 20:20:38.000000000","message":"I think you can do contents\u003dlocal here, thus not reading the whole file into RAM. Might make sense in an example for people to copy-paste, IMHO.","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"d3a9480ee8dd343dd9ca413e786be0a632952a88","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        conn.put_object("},{"line_number":136,"context_line":"            container,"},{"line_number":137,"context_line":"            \u0027local_object.txt\u0027,"},{"line_number":138,"context_line":"            contents\u003dlocal.read(),"},{"line_number":139,"context_line":"            content_type\u003d\u0027text/plain\u0027"},{"line_number":140,"context_line":"        )"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_57de3a3e","line":138,"in_reply_to":"1a122d0e_e5040f16","updated":"2016-04-28 20:42:30.000000000","message":"thanks for pointing that out.","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            content_type\u003d\u0027text/plain\u0027"},{"line_number":140,"context_line":"        )"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"List the container and confirm presence of the object:"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":".. code-block:: python"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_c548f35e","line":142,"updated":"2016-04-27 20:20:38.000000000","message":"You know it may take minutes for the update to poke container server? Everyone confirms with HEAD on object itself. Even has ETag there (although PUT returns it too). So I doubt this is a good example, or at least it\u0027s not a great way to confirm that object is there after an upload.","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"d3a9480ee8dd343dd9ca413e786be0a632952a88","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            content_type\u003d\u0027text/plain\u0027"},{"line_number":140,"context_line":"        )"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"List the container and confirm presence of the object:"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":".. code-block:: python"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_37d57e1b","line":142,"in_reply_to":"1a122d0e_c548f35e","updated":"2016-04-28 20:42:30.000000000","message":"Yes, you\u0027re right, we shouldn\u0027t encourage this behaviour. I\u0027ll change it to HEAD the object.","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":14,"context_line":"This section covers the various combinations of kwargs required when creating"},{"line_number":15,"context_line":"and instance of the ``Connection`` object for communicating with a swift"},{"line_number":16,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":17,"context_line":"version are detailed below. The combinations of options presented below are"},{"line_number":18,"context_line":"just a subset of those that can be used to successfully authenticate. These"},{"line_number":19,"context_line":"are the most common and recommended combinations."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_fe863163","line":17,"range":{"start_line":17,"start_character":27,"end_line":17,"end_character":55},"updated":"2016-04-29 08:05:50.000000000","message":"minor: Same here as in the first file -- the repetitive nature of these two sentences.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"This section covers the various combinations of kwargs required when creating"},{"line_number":15,"context_line":"and instance of the ``Connection`` object for communicating with a swift"},{"line_number":16,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":17,"context_line":"version are detailed below. The combinations of options presented below are"},{"line_number":18,"context_line":"just a subset of those that can be used to successfully authenticate. These"},{"line_number":19,"context_line":"are the most common and recommended combinations."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_0a075818","line":17,"range":{"start_line":17,"start_character":27,"end_line":17,"end_character":55},"in_reply_to":"1a122d0e_fe863163","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":105,"context_line":"In this section we present some simple code examples that demonstrate the usage"},{"line_number":106,"context_line":"of the ``Connection`` API. You can find full details of the options and methods"},{"line_number":107,"context_line":"available to the ``Connection`` API in the docstring generated documentation"},{"line_number":108,"context_line":"here: :mod:`swiftclient.client`."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"List the available containers:"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_3e59c9fd","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":4},"updated":"2016-04-29 08:05:50.000000000","message":"When I was a wee lad I was slapped on the wrist for writing things like \"click here\" or \"find something here: link\". I don\u0027t know how crazy the OpenStack doc standards get with this sort of thing (if at all), but, if nothing else, could probably just remove \"here\" to be consistent with how we link in the intro section of this doc.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"In this section we present some simple code examples that demonstrate the usage"},{"line_number":106,"context_line":"of the ``Connection`` API. You can find full details of the options and methods"},{"line_number":107,"context_line":"available to the ``Connection`` API in the docstring generated documentation"},{"line_number":108,"context_line":"here: :mod:`swiftclient.client`."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"List the available containers:"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_2a37b4e3","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":4},"in_reply_to":"1a122d0e_3e59c9fd","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    container \u003d \u0027new-container\u0027"},{"line_number":173,"context_line":"    try:"},{"line_number":174,"context_line":"        conn.delete_object(container, obj)"},{"line_number":175,"context_line":"        print(\"Successfully delete the object\")"},{"line_number":176,"context_line":"    except ClientException as e:"},{"line_number":177,"context_line":"        print(\"Failed to delete the object with error: %s\" % e)"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_9edf3d68","line":175,"range":{"start_line":175,"start_character":28,"end_line":175,"end_character":34},"updated":"2016-04-29 08:05:50.000000000","message":"deleted","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    container \u003d \u0027new-container\u0027"},{"line_number":173,"context_line":"    try:"},{"line_number":174,"context_line":"        conn.delete_object(container, obj)"},{"line_number":175,"context_line":"        print(\"Successfully delete the object\")"},{"line_number":176,"context_line":"    except ClientException as e:"},{"line_number":177,"context_line":"        print(\"Failed to delete the object with error: %s\" % e)"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_4a431042","line":175,"range":{"start_line":175,"start_character":28,"end_line":175,"end_character":34},"in_reply_to":"1a122d0e_9edf3d68","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}],"doc/source/index.rst":[{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":39,"context_line":"License"},{"line_number":40,"context_line":"~~~~~~~"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Copyright 2013 OpenStack, LLC."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":45,"context_line":"    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7ef6a1d7","line":42,"range":{"start_line":42,"start_character":14,"end_line":42,"end_character":18},"updated":"2016-04-29 08:05:50.000000000","message":"super minor: I don\u0027t remember the rules around these, but maybe someone else does. Are the copyright years supposed to get updated when a file gets touched?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"License"},{"line_number":40,"context_line":"~~~~~~~"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Copyright 2013 OpenStack, LLC."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":45,"context_line":"    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_cad1e058","line":42,"range":{"start_line":42,"start_character":14,"end_line":42,"end_character":18},"in_reply_to":"1a122d0e_7ef6a1d7","updated":"2016-04-29 18:21:01.000000000","message":"I\u0027ll fix later if necessary","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"License"},{"line_number":40,"context_line":"~~~~~~~"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Copyright 2013 OpenStack, LLC."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":45,"context_line":"    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_ea201c9c","line":42,"in_reply_to":"1a122d0e_7ef6a1d7","updated":"2016-04-29 17:00:07.000000000","message":"https://wiki.openstack.org/wiki/Documentation/Copyright says we should update it, but I\u0027m not sure how many people actually follow it.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}],"doc/source/introduction.rst":[{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7701cc13dfe29f22772b39797bc4c5d3d720c5eb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"INTRODUCTION"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Where to Start?"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a061dce_b4921df4","line":2,"updated":"2016-04-07 19:11:51.000000000","message":"Does it need to be all caps?","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7701cc13dfe29f22772b39797bc4c5d3d720c5eb","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Important Considerations"},{"line_number":56,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This section covers some important considerations, helpful hints, and things to"},{"line_number":59,"context_line":"avoid when integrating an object store into your workflow."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"An Object Store is not a filesystem"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a061dce_140e698b","line":58,"updated":"2016-04-07 19:11:51.000000000","message":"this paragraph feels redundant","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"e850e444db16de11b8c23b31fbee534d0677de49","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Important Considerations"},{"line_number":56,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This section covers some important considerations, helpful hints, and things to"},{"line_number":59,"context_line":"avoid when integrating an object store into your workflow."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"An Object Store is not a filesystem"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a1b2928_69122db6","line":58,"in_reply_to":"9a061dce_140e698b","updated":"2016-04-11 14:53:34.000000000","message":"You\u0027re probably right, but putting two headings together without text in between looks wrong to me somehow.","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7701cc13dfe29f22772b39797bc4c5d3d720c5eb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"No Object Locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect that fact that ‘object locking’ is"},{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a061dce_b4e4ddab","line":84,"range":{"start_line":84,"start_character":44,"end_line":84,"end_character":48},"updated":"2016-04-07 19:11:51.000000000","message":"the fact?","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":52,"context_line":"      already existing objects, or fine grained control over the query strings"},{"line_number":53,"context_line":"      supplied with each HTTP request."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Important Considerations"},{"line_number":56,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This section covers some important considerations, helpful hints, and things to"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_416425e3","line":55,"range":{"start_line":55,"start_character":10,"end_line":55,"end_character":11},"updated":"2016-04-18 23:47:02.000000000","message":"lowercase","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"      already existing objects, or fine grained control over the query strings"},{"line_number":53,"context_line":"      supplied with each HTTP request."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Important Considerations"},{"line_number":56,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This section covers some important considerations, helpful hints, and things to"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_bafbf346","line":55,"range":{"start_line":55,"start_character":10,"end_line":55,"end_character":11},"in_reply_to":"1a122d0e_416425e3","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      work around this restriction using large objects, but no general"},{"line_number":79,"context_line":"      file-like access is available to modify a stored object."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"No Object Locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that ‘object locking’ is"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_a1a9b9e1","line":81,"range":{"start_line":81,"start_character":3,"end_line":81,"end_character":17},"updated":"2016-04-18 23:47:02.000000000","message":"object locking*","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      work around this restriction using large objects, but no general"},{"line_number":79,"context_line":"      file-like access is available to modify a stored object."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"No Object Locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that ‘object locking’ is"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_9af8b74b","line":81,"range":{"start_line":81,"start_character":3,"end_line":81,"end_character":17},"in_reply_to":"1a122d0e_a1a9b9e1","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b094e2078ccaa74e3075463012553a6e5208acda","unresolved":false,"context_lines":[{"line_number":81,"context_line":"No Object Locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that ‘object locking’ is"},{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_01b18d47","line":84,"range":{"start_line":84,"start_character":73,"end_line":84,"end_character":74},"updated":"2016-04-18 23:47:02.000000000","message":"remove the scare quotes","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"f896cf993552ca7016ef68d839034445d24c850c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"No Object Locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that ‘object locking’ is"},{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_fa93abfe","line":84,"range":{"start_line":84,"start_character":73,"end_line":84,"end_character":74},"in_reply_to":"1a122d0e_01b18d47","updated":"2016-04-21 18:42:13.000000000","message":"Done","commit_id":"223ca8c52dba357e25e4673d0e040ed121915c53"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  * Uploading and retrieving data"},{"line_number":27,"context_line":"      Use the command line tool if you are simply uploading and downloading"},{"line_number":28,"context_line":"      files and directories from your filesystem. The command line tool can be"},{"line_number":29,"context_line":"      integrated into a bash script to automate tasks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"},{"line_number":32,"context_line":"      Use the ``SwiftService`` API to perform operations offered by the CLI"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_65ad9fe8","line":29,"updated":"2016-04-27 20:20:38.000000000","message":"Ouch, a bash script. At least call it a \"shell script\". :-)","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"d3a9480ee8dd343dd9ca413e786be0a632952a88","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  * Uploading and retrieving data"},{"line_number":27,"context_line":"      Use the command line tool if you are simply uploading and downloading"},{"line_number":28,"context_line":"      files and directories from your filesystem. The command line tool can be"},{"line_number":29,"context_line":"      integrated into a bash script to automate tasks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"},{"line_number":32,"context_line":"      Use the ``SwiftService`` API to perform operations offered by the CLI"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1a122d0e_37bc5edb","line":29,"in_reply_to":"1a122d0e_65ad9fe8","updated":"2016-04-28 20:42:30.000000000","message":"Hehehe, fair comment :)","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Alongside the command line tool, the ``python-swiftclient`` includes two"},{"line_number":17,"context_line":"levels of API:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" * A low level client API that provides simple python wrappers around the"},{"line_number":20,"context_line":"   various authentication mechanisms and the individual HTTP requests."},{"line_number":21,"context_line":" * A high level service API that provides methods for performing common"},{"line_number":22,"context_line":"   operations in parallel on a thread pool."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_1ed5ed1a","line":19,"range":{"start_line":19,"start_character":47,"end_line":19,"end_character":53},"updated":"2016-04-29 08:05:50.000000000","message":"Should Python get capitalization when used like this?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Alongside the command line tool, the ``python-swiftclient`` includes two"},{"line_number":17,"context_line":"levels of API:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" * A low level client API that provides simple python wrappers around the"},{"line_number":20,"context_line":"   various authentication mechanisms and the individual HTTP requests."},{"line_number":21,"context_line":" * A high level service API that provides methods for performing common"},{"line_number":22,"context_line":"   operations in parallel on a thread pool."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_4ac6709a","line":19,"range":{"start_line":19,"start_character":47,"end_line":19,"end_character":53},"in_reply_to":"1a122d0e_1ed5ed1a","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Alongside the command line tool, the ``python-swiftclient`` includes two"},{"line_number":17,"context_line":"levels of API:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" * A low level client API that provides simple python wrappers around the"},{"line_number":20,"context_line":"   various authentication mechanisms and the individual HTTP requests."},{"line_number":21,"context_line":" * A high level service API that provides methods for performing common"},{"line_number":22,"context_line":"   operations in parallel on a thread pool."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_4a4dd03c","line":19,"in_reply_to":"1a122d0e_1ed5ed1a","updated":"2016-04-29 17:00:07.000000000","message":"Python\u0027s website capitalizes it. I\u0027d think it would only be lowercase when referring to snakes or commands.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  * Uploading and retrieving data"},{"line_number":27,"context_line":"      Use the command line tool if you are simply uploading and downloading"},{"line_number":28,"context_line":"      files and directories from your filesystem. The command line tool can be"},{"line_number":29,"context_line":"      integrated into a shell script to automate tasks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_5edbe54e","line":28,"range":{"start_line":28,"start_character":28,"end_line":28,"end_character":32},"updated":"2016-04-29 08:05:50.000000000","message":"to and from","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  * Uploading and retrieving data"},{"line_number":27,"context_line":"      Use the command line tool if you are simply uploading and downloading"},{"line_number":28,"context_line":"      files and directories from your filesystem. The command line tool can be"},{"line_number":29,"context_line":"      integrated into a shell script to automate tasks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_6ab7ec20","line":28,"range":{"start_line":28,"start_character":28,"end_line":28,"end_character":32},"in_reply_to":"1a122d0e_5edbe54e","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":28,"context_line":"      files and directories from your filesystem. The command line tool can be"},{"line_number":29,"context_line":"      integrated into a shell script to automate tasks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"},{"line_number":32,"context_line":"      Use the ``SwiftService`` API to perform operations offered by the CLI"},{"line_number":33,"context_line":"      if your use case requires integration with a python based workflow."},{"line_number":34,"context_line":"      This method offers greater control and flexibility over individual object"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_5eb2c506","line":31,"range":{"start_line":31,"start_character":34,"end_line":31,"end_character":40},"updated":"2016-04-29 08:05:50.000000000","message":"same question","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"      files and directories from your filesystem. The command line tool can be"},{"line_number":29,"context_line":"      integrated into a shell script to automate tasks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"},{"line_number":32,"context_line":"      Use the ``SwiftService`` API to perform operations offered by the CLI"},{"line_number":33,"context_line":"      if your use case requires integration with a python based workflow."},{"line_number":34,"context_line":"      This method offers greater control and flexibility over individual object"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_2a48542c","line":31,"range":{"start_line":31,"start_character":34,"end_line":31,"end_character":40},"in_reply_to":"1a122d0e_5eb2c506","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"},{"line_number":32,"context_line":"      Use the ``SwiftService`` API to perform operations offered by the CLI"},{"line_number":33,"context_line":"      if your use case requires integration with a python based workflow."},{"line_number":34,"context_line":"      This method offers greater control and flexibility over individual object"},{"line_number":35,"context_line":"      operations, such as the metadata set on each object. The ``SwiftService``"},{"line_number":36,"context_line":"      class provides methods to perform multiple sets of operations against a"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_1ebccdda","line":33,"range":{"start_line":33,"start_character":57,"end_line":33,"end_character":58},"updated":"2016-04-29 08:05:50.000000000","message":"minor: hyphenated?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  * Integrating into an automated python workflow"},{"line_number":32,"context_line":"      Use the ``SwiftService`` API to perform operations offered by the CLI"},{"line_number":33,"context_line":"      if your use case requires integration with a python based workflow."},{"line_number":34,"context_line":"      This method offers greater control and flexibility over individual object"},{"line_number":35,"context_line":"      operations, such as the metadata set on each object. The ``SwiftService``"},{"line_number":36,"context_line":"      class provides methods to perform multiple sets of operations against a"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_ca5f20e3","line":33,"range":{"start_line":33,"start_character":57,"end_line":33,"end_character":58},"in_reply_to":"1a122d0e_1ebccdda","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":38,"context_line":"      instance of the ``SwiftService`` class can be shared between multiple"},{"line_number":39,"context_line":"      threads in your own code."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * Developing an application in Python to access a swift object store"},{"line_number":42,"context_line":"      Use the ``SwiftService`` API to develop Python applications that use"},{"line_number":43,"context_line":"      swift to store and retrieve objects. A ``SwiftService`` instance provides"},{"line_number":44,"context_line":"      a configurable thread pool for performing all operations supported by the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7ecb4172","line":41,"range":{"start_line":41,"start_character":33,"end_line":41,"end_character":39},"updated":"2016-04-29 08:05:50.000000000","message":"Oh, we do capitalize here...","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":38,"context_line":"      instance of the ``SwiftService`` class can be shared between multiple"},{"line_number":39,"context_line":"      threads in your own code."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * Developing an application in Python to access a swift object store"},{"line_number":42,"context_line":"      Use the ``SwiftService`` API to develop Python applications that use"},{"line_number":43,"context_line":"      swift to store and retrieve objects. A ``SwiftService`` instance provides"},{"line_number":44,"context_line":"      a configurable thread pool for performing all operations supported by the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_aa62a4aa","line":41,"range":{"start_line":41,"start_character":33,"end_line":41,"end_character":39},"in_reply_to":"1a122d0e_7ecb4172","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":44,"context_line":"      a configurable thread pool for performing all operations supported by the"},{"line_number":45,"context_line":"      CLI."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  * Fine grained control over threading or the requests being performed"},{"line_number":48,"context_line":"      Use the ``Connection`` API if your use case requires fine grained control"},{"line_number":49,"context_line":"      over advanced features or you wish to use your own existing threading"},{"line_number":50,"context_line":"      model. Examples of advanced features requiring the use of the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_3eac299e","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":9},"updated":"2016-04-29 08:05:50.000000000","message":"minor: hyphenated?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"      a configurable thread pool for performing all operations supported by the"},{"line_number":45,"context_line":"      CLI."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  * Fine grained control over threading or the requests being performed"},{"line_number":48,"context_line":"      Use the ``Connection`` API if your use case requires fine grained control"},{"line_number":49,"context_line":"      over advanced features or you wish to use your own existing threading"},{"line_number":50,"context_line":"      model. Examples of advanced features requiring the use of the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_ea12dc5f","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":9},"in_reply_to":"1a122d0e_3eac299e","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":58,"context_line":"This section covers some important considerations, helpful hints, and things to"},{"line_number":59,"context_line":"avoid when integrating an object store into your workflow."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"An Object Store is not a filesystem"},{"line_number":62,"context_line":"-----------------------------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"It cannot be stressed enough that your usage of the object store should reflect"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_be6f995e","line":61,"range":{"start_line":61,"start_character":3,"end_line":61,"end_character":15},"updated":"2016-04-29 08:05:50.000000000","message":"With these titles being sentence-cased but object store is not itself title-cased elsewhere, should this instance be lower-cased?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"This section covers some important considerations, helpful hints, and things to"},{"line_number":59,"context_line":"avoid when integrating an object store into your workflow."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"An Object Store is not a filesystem"},{"line_number":62,"context_line":"-----------------------------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"It cannot be stressed enough that your usage of the object store should reflect"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_ed09562c","line":61,"range":{"start_line":61,"start_character":3,"end_line":61,"end_character":15},"in_reply_to":"1a122d0e_be6f995e","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":62,"context_line":"-----------------------------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"It cannot be stressed enough that your usage of the object store should reflect"},{"line_number":65,"context_line":"the proper use case, and not treat the storage like a filesystem. There are two"},{"line_number":66,"context_line":"main restrictions to bear in mind when designing your use of the object"},{"line_number":67,"context_line":"store:"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_5eae4581","line":65,"range":{"start_line":65,"start_character":54,"end_line":65,"end_character":64},"updated":"2016-04-29 08:05:50.000000000","message":"minor: possibly refer to this as a \"traditional filesystem\"?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":62,"context_line":"-----------------------------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"It cannot be stressed enough that your usage of the object store should reflect"},{"line_number":65,"context_line":"the proper use case, and not treat the storage like a filesystem. There are two"},{"line_number":66,"context_line":"main restrictions to bear in mind when designing your use of the object"},{"line_number":67,"context_line":"store:"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_0d077218","line":65,"range":{"start_line":65,"start_character":54,"end_line":65,"end_character":64},"in_reply_to":"1a122d0e_5eae4581","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"It cannot be stressed enough that your usage of the object store should reflect"},{"line_number":65,"context_line":"the proper use case, and not treat the storage like a filesystem. There are two"},{"line_number":66,"context_line":"main restrictions to bear in mind when designing your use of the object"},{"line_number":67,"context_line":"store:"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    * You cannot rename objects. Due to the way in which objects are stored and"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_3e9a6962","line":66,"range":{"start_line":66,"start_character":34,"end_line":66,"end_character":60},"updated":"2016-04-29 08:05:50.000000000","message":"minor: when designing an application that uses / when designing a workflow that uses","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"It cannot be stressed enough that your usage of the object store should reflect"},{"line_number":65,"context_line":"the proper use case, and not treat the storage like a filesystem. There are two"},{"line_number":66,"context_line":"main restrictions to bear in mind when designing your use of the object"},{"line_number":67,"context_line":"store:"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    * You cannot rename objects. Due to the way in which objects are stored and"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_4d3ccac7","line":66,"range":{"start_line":66,"start_character":34,"end_line":66,"end_character":60},"in_reply_to":"1a122d0e_3e9a6962","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":66,"context_line":"main restrictions to bear in mind when designing your use of the object"},{"line_number":67,"context_line":"store:"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    * You cannot rename objects. Due to the way in which objects are stored and"},{"line_number":70,"context_line":"      referenced, renaming would usually require multiple copies of"},{"line_number":71,"context_line":"      the data to be moved between physical storage devices. If you want to"},{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_3ee8a9b2","line":71,"range":{"start_line":69,"start_character":33,"end_line":71,"end_character":60},"updated":"2016-04-29 08:05:50.000000000","message":"Minor, but I would probably just spell it out for them and say that an object\u0027s name is one of several things that determine where the object and its replicas are physically placed within the cluster.\n\nGiven the audience and that we\u0027re trying to convince developers to make sure their application behaves correctly, the explanation is helpful. Or at least if I weren\u0027t familiar with how Swift works and I was reading this, I\u0027d be curious.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"main restrictions to bear in mind when designing your use of the object"},{"line_number":67,"context_line":"store:"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    * You cannot rename objects. Due to the way in which objects are stored and"},{"line_number":70,"context_line":"      referenced, renaming would usually require multiple copies of"},{"line_number":71,"context_line":"      the data to be moved between physical storage devices. If you want to"},{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_2d3eaeb7","line":71,"range":{"start_line":69,"start_character":33,"end_line":71,"end_character":60},"in_reply_to":"1a122d0e_3ee8a9b2","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    * You cannot rename objects. Due to the way in which objects are stored and"},{"line_number":70,"context_line":"      referenced, renaming would usually require multiple copies of"},{"line_number":71,"context_line":"      the data to be moved between physical storage devices. If you want to"},{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"},{"line_number":75,"context_line":"      are checked for integrity based on the ``MD5 sum`` calculated during"},{"line_number":76,"context_line":"      upload. In order to modify the contents of an object, the entire desired"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_fe08f192","line":73,"range":{"start_line":72,"start_character":23,"end_line":73,"end_character":14},"updated":"2016-04-29 08:05:50.000000000","message":"I\u0027d probably indicate the option to issue a COPY with a Destination header, or alternatively, a PUT with X-Copy-From header, rather than saying they must delete and re-upload.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    * You cannot rename objects. Due to the way in which objects are stored and"},{"line_number":70,"context_line":"      referenced, renaming would usually require multiple copies of"},{"line_number":71,"context_line":"      the data to be moved between physical storage devices. If you want to"},{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"},{"line_number":75,"context_line":"      are checked for integrity based on the ``MD5 sum`` calculated during"},{"line_number":76,"context_line":"      upload. In order to modify the contents of an object, the entire desired"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_6d5b8622","line":73,"range":{"start_line":72,"start_character":23,"end_line":73,"end_character":14},"in_reply_to":"1a122d0e_fe08f192","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":71,"context_line":"      the data to be moved between physical storage devices. If you want to"},{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"},{"line_number":75,"context_line":"      are checked for integrity based on the ``MD5 sum`` calculated during"},{"line_number":76,"context_line":"      upload. In order to modify the contents of an object, the entire desired"},{"line_number":77,"context_line":"      contents must be re-uploaded. In certain special cases it is possible to"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7ef50181","line":74,"updated":"2016-04-29 08:05:50.000000000","message":"For consistency, seems like this bulleted list should have a blank line in between list items.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"      the data to be moved between physical storage devices. If you want to"},{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"},{"line_number":75,"context_line":"      are checked for integrity based on the ``MD5 sum`` calculated during"},{"line_number":76,"context_line":"      upload. In order to modify the contents of an object, the entire desired"},{"line_number":77,"context_line":"      contents must be re-uploaded. In certain special cases it is possible to"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_ad9f5eb2","line":74,"in_reply_to":"1a122d0e_7ef50181","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"},{"line_number":75,"context_line":"      are checked for integrity based on the ``MD5 sum`` calculated during"},{"line_number":76,"context_line":"      upload. In order to modify the contents of an object, the entire desired"},{"line_number":77,"context_line":"      contents must be re-uploaded. In certain special cases it is possible to"},{"line_number":78,"context_line":"      work around this restriction using large objects, but no general"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_be42f9a8","line":75,"range":{"start_line":75,"start_character":45,"end_line":75,"end_character":56},"updated":"2016-04-29 08:05:50.000000000","message":"since this isn\u0027t code or output, why stylize as an inline monospaced block?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":72,"context_line":"      rename an object you must upload to the new location and delete the"},{"line_number":73,"context_line":"      original."},{"line_number":74,"context_line":"    * You cannot modify objects. Objects are stored in multiple locations and"},{"line_number":75,"context_line":"      are checked for integrity based on the ``MD5 sum`` calculated during"},{"line_number":76,"context_line":"      upload. In order to modify the contents of an object, the entire desired"},{"line_number":77,"context_line":"      contents must be re-uploaded. In certain special cases it is possible to"},{"line_number":78,"context_line":"      work around this restriction using large objects, but no general"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_6d89c66e","line":75,"range":{"start_line":75,"start_character":45,"end_line":75,"end_character":56},"in_reply_to":"1a122d0e_be42f9a8","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      work around this restriction using large objects, but no general"},{"line_number":79,"context_line":"      file-like access is available to modify a stored object."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"No object locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that object locking is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_fe7d91e7","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":17},"updated":"2016-04-29 08:05:50.000000000","message":"Previous heading at the same level reads like a sentence, maybe \"Objects cannot be locked\" would read more consistently here?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      work around this restriction using large objects, but no general"},{"line_number":79,"context_line":"      file-like access is available to modify a stored object."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"No object locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that object locking is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_4ddfaa68","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":17},"in_reply_to":"1a122d0e_fe7d91e7","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":81,"context_line":"No object locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that object locking is"},{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_9e6f3d2a","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":58},"updated":"2016-04-29 08:05:50.000000000","message":"Seems a bit redundant, as we also start off the previous section this way.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"No object locking"},{"line_number":82,"context_line":"-----------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Your use of the object store should reflect the fact that object locking is"},{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_cd38daa2","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":58},"in_reply_to":"1a122d0e_9e6f3d2a","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"},{"line_number":88,"context_line":"metadata associated with an object at any time. Workflows that assume that no"},{"line_number":89,"context_line":"updates have been made since the last read of an object should be discouraged."},{"line_number":90,"context_line":"Enabling a workflow of this type requires an external object locking mechanism"},{"line_number":91,"context_line":"and/or cooperation between all clients accessing the data."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_5ecf6528","line":88,"range":{"start_line":88,"start_character":47,"end_line":88,"end_character":48},"updated":"2016-04-29 08:05:50.000000000","message":"minor: possibly a good place to visually break this up into two paragraphs? shrug","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":85,"context_line":"not possible. There is no mechanism to perform a combination of reading the"},{"line_number":86,"context_line":"data/metadata from an object and writing an update to that data/metadata in an"},{"line_number":87,"context_line":"atomic way. Any user with access to a container could update the contents or"},{"line_number":88,"context_line":"metadata associated with an object at any time. Workflows that assume that no"},{"line_number":89,"context_line":"updates have been made since the last read of an object should be discouraged."},{"line_number":90,"context_line":"Enabling a workflow of this type requires an external object locking mechanism"},{"line_number":91,"context_line":"and/or cooperation between all clients accessing the data."}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_ad3bde9a","line":88,"range":{"start_line":88,"start_character":47,"end_line":88,"end_character":48},"in_reply_to":"1a122d0e_5ecf6528","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}],"doc/source/service-api.rst":[{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1a122d0e_0adbd84f","side":"PARENT","line":58,"updated":"2016-04-29 17:00:07.000000000","message":"I think higher-level should be hyphenated. Perhaps \"high-level API\" is better too.","commit_id":"f86b2d8138f5c366d0f8ab8e8cb2492d9cd07ca4"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1a122d0e_20cb5573","side":"PARENT","line":58,"in_reply_to":"1a122d0e_0adbd84f","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"f86b2d8138f5c366d0f8ab8e8cb2492d9cd07ca4"},{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1a122d0e_2a6a141a","side":"PARENT","line":542,"updated":"2016-04-29 17:00:07.000000000","message":"``upload``?","commit_id":"f86b2d8138f5c366d0f8ab8e8cb2492d9cd07ca4"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1a122d0e_20235506","side":"PARENT","line":542,"in_reply_to":"1a122d0e_2a6a141a","updated":"2016-04-29 18:21:01.000000000","message":"ditto","commit_id":"f86b2d8138f5c366d0f8ab8e8cb2492d9cd07ca4"},{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This section covers the various options for authenticating with a swift"},{"line_number":13,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":14,"context_line":"version are detailed below. Once again, the combinations of options presented"},{"line_number":15,"context_line":"below are just a subset of those that can be used to successfully authenticate,"},{"line_number":16,"context_line":"but they are the most common and recommended."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_6ac1ac4d","line":14,"updated":"2016-04-29 17:00:07.000000000","message":"Maybe \"Once again, these are just a subset that...\"","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This section covers the various options for authenticating with a swift"},{"line_number":13,"context_line":"object store. The combinations of options required for each authentication"},{"line_number":14,"context_line":"version are detailed below. Once again, the combinations of options presented"},{"line_number":15,"context_line":"below are just a subset of those that can be used to successfully authenticate,"},{"line_number":16,"context_line":"but they are the most common and recommended."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_60c1cd4d","line":14,"in_reply_to":"1a122d0e_6ac1ac4d","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The relevant authentication options are presented as python dictionaries that"},{"line_number":19,"context_line":"should be added to any other options you are supplying to your ``SwiftService``"},{"line_number":20,"context_line":"instance. As indicated in the python code, you can also set these options as"},{"line_number":21,"context_line":"environment variables that will be loaded automatically if the relevant option"},{"line_number":22,"context_line":"is not specified."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The ``SwiftService`` authentication attempts to automatically select"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_be8cb9d7","line":21,"range":{"start_line":20,"start_character":60,"end_line":21,"end_character":78},"updated":"2016-04-29 08:05:50.000000000","message":"minor: options went from plural to singular here","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The relevant authentication options are presented as python dictionaries that"},{"line_number":19,"context_line":"should be added to any other options you are supplying to your ``SwiftService``"},{"line_number":20,"context_line":"instance. As indicated in the python code, you can also set these options as"},{"line_number":21,"context_line":"environment variables that will be loaded automatically if the relevant option"},{"line_number":22,"context_line":"is not specified."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The ``SwiftService`` authentication attempts to automatically select"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_c089c127","line":21,"range":{"start_line":20,"start_character":60,"end_line":21,"end_character":78},"in_reply_to":"1a122d0e_be8cb9d7","updated":"2016-04-29 18:21:01.000000000","message":"I think this reads okay to me... maybe a follow up fix if it\u0027s generally confusing?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The ``SwiftService`` authentication attempts to automatically select"},{"line_number":25,"context_line":"the auth version based on the combination of options specified, but"},{"line_number":26,"context_line":"having options from different auth versions can cause unexpected behaviour."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  .. note::"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_5eb48580","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":20},"updated":"2016-04-29 08:05:50.000000000","message":"minor: \"providing options from multiple different auth version\"?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The ``SwiftService`` authentication attempts to automatically select"},{"line_number":25,"context_line":"the auth version based on the combination of options specified, but"},{"line_number":26,"context_line":"having options from different auth versions can cause unexpected behaviour."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  .. note::"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_8074e935","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":20},"in_reply_to":"1a122d0e_5eb48580","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    {"},{"line_number":39,"context_line":"        ..."},{"line_number":40,"context_line":"        \"auth_version\": environ.get(\u0027ST_AUTH_VERSION\u0027),  # Should be \u00273.0\u0027"},{"line_number":41,"context_line":"        \"os_username\": environ.get(\u0027OS_USERNAME\u0027),"},{"line_number":42,"context_line":"        \"os_password\": environ.get(\u0027OS_PASSWORD\u0027),"},{"line_number":43,"context_line":"        \"os_project_name\": environ.get(\u0027OS_PROJECT_NAME\u0027),"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_7e2221ba","line":40,"range":{"start_line":40,"start_character":59,"end_line":40,"end_character":74},"updated":"2016-04-29 08:05:50.000000000","message":"Doesn\u0027t the Identity v3 API prescribe using just \"3\" rather than \"3.0\"? They definitely used \"2.0\" but I remember this being different for 3 as it\u0027s a bit more active and complex and loads of fun.\n\nI *think* just \"3\" is recommended so that the Keystone client automagically chooses the latest minor 3.x API version available from that Keystone endpoint... the rationale being that they add new capabilities within new minor versions, and the changes from one minor version to the next shouldn\u0027t ever be backwards incompatible.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    {"},{"line_number":39,"context_line":"        ..."},{"line_number":40,"context_line":"        \"auth_version\": environ.get(\u0027ST_AUTH_VERSION\u0027),  # Should be \u00273.0\u0027"},{"line_number":41,"context_line":"        \"os_username\": environ.get(\u0027OS_USERNAME\u0027),"},{"line_number":42,"context_line":"        \"os_password\": environ.get(\u0027OS_PASSWORD\u0027),"},{"line_number":43,"context_line":"        \"os_project_name\": environ.get(\u0027OS_PROJECT_NAME\u0027),"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_20a0758f","line":40,"range":{"start_line":40,"start_character":59,"end_line":40,"end_character":74},"in_reply_to":"1a122d0e_7e2221ba","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":445,"context_line":"given container or account does not exist, the ``post`` method will raise a"},{"line_number":446,"context_line":"``SwiftError``."},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"When a string is given for the object name, the options"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"Successful metadata update results are dictionaries as described below:"},{"line_number":451,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_29287585","line":448,"updated":"2016-04-29 08:05:50.000000000","message":"100 Continue ;-)\n\nthe options...?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":445,"context_line":"given container or account does not exist, the ``post`` method will raise a"},{"line_number":446,"context_line":"``SwiftError``."},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"When a string is given for the object name, the options"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"Successful metadata update results are dictionaries as described below:"},{"line_number":451,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_e035dd44","line":448,"in_reply_to":"1a122d0e_29287585","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":452,"context_line":".. code-block:: python"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"    {"},{"line_number":455,"context_line":"        \u0027action\u0027: \u003c\u0027post_account\u0027|\u003c\u0027post_container\u0027\u003e|\u0027post_object\u0027\u003e,"},{"line_number":456,"context_line":"        \u0027success\u0027: True,"},{"line_number":457,"context_line":"        \u0027container\u0027: \u003ccontainer\u003e,"},{"line_number":458,"context_line":"        \u0027object\u0027: \u003cobject\u003e,"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_69554df8","line":455,"range":{"start_line":455,"start_character":34,"end_line":455,"end_character":52},"updated":"2016-04-29 08:05:50.000000000","message":"the brackets around this second possibility seem redundant","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":452,"context_line":".. code-block:: python"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"    {"},{"line_number":455,"context_line":"        \u0027action\u0027: \u003c\u0027post_account\u0027|\u003c\u0027post_container\u0027\u003e|\u0027post_object\u0027\u003e,"},{"line_number":456,"context_line":"        \u0027success\u0027: True,"},{"line_number":457,"context_line":"        \u0027container\u0027: \u003ccontainer\u003e,"},{"line_number":458,"context_line":"        \u0027object\u0027: \u003cobject\u003e,"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_203cf52d","line":455,"range":{"start_line":455,"start_character":34,"end_line":455,"end_character":52},"in_reply_to":"1a122d0e_69554df8","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":21231,"name":"Bryan Keller","email":"kellerbr@us.ibm.com","username":"bkeller"},"change_message_id":"6cb1486203de16a0a8b63fa3a148d6e12b0d8c5c","unresolved":false,"context_lines":[{"line_number":478,"context_line":"Download"},{"line_number":479,"context_line":"~~~~~~~~"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"Download can be called against an entire account, a single container, or a list"},{"line_number":482,"context_line":"of objects in a given container. Each element of the object list is a string"},{"line_number":483,"context_line":"detailing the full name of an object to download."},{"line_number":484,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_8a1ec8b8","line":481,"updated":"2016-04-29 17:00:07.000000000","message":"``download``?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":478,"context_line":"Download"},{"line_number":479,"context_line":"~~~~~~~~"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"Download can be called against an entire account, a single container, or a list"},{"line_number":482,"context_line":"of objects in a given container. Each element of the object list is a string"},{"line_number":483,"context_line":"detailing the full name of an object to download."},{"line_number":484,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_402811e2","line":481,"in_reply_to":"1a122d0e_8a1ec8b8","updated":"2016-04-29 18:21:01.000000000","message":"I think this should be a follow up, because it affects all the sections below (and the call has an examples anyway).","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":632,"context_line":"^^^^^^^"},{"line_number":633,"context_line":""},{"line_number":634,"context_line":"The code below demonstrates the use of ``upload`` to upload all files and"},{"line_number":635,"context_line":"folders in a given directory, and renaming each object by replacing the root"},{"line_number":636,"context_line":"directory name with \u0027my-\u003cd\u003e-objects\u0027, where \u003cd\u003e is the name of the uploaded"},{"line_number":637,"context_line":"directory:"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_e9603dd1","line":635,"range":{"start_line":635,"start_character":30,"end_line":635,"end_character":42},"updated":"2016-04-29 08:05:50.000000000","message":"\"and rename\" sounds a bit better here","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":632,"context_line":"^^^^^^^"},{"line_number":633,"context_line":""},{"line_number":634,"context_line":"The code below demonstrates the use of ``upload`` to upload all files and"},{"line_number":635,"context_line":"folders in a given directory, and renaming each object by replacing the root"},{"line_number":636,"context_line":"directory name with \u0027my-\u003cd\u003e-objects\u0027, where \u003cd\u003e is the name of the uploaded"},{"line_number":637,"context_line":"directory:"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a07da5e8","line":635,"range":{"start_line":635,"start_character":30,"end_line":635,"end_character":42},"in_reply_to":"1a122d0e_e9603dd1","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":661,"context_line":".. code-block:: python"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"    {"},{"line_number":664,"context_line":"        \u0027action\u0027: (\u0027delete_object\u0027|\u0027delete_segment\u0027),"},{"line_number":665,"context_line":"        \u0027container\u0027: \u003ccontainer\u003e,"},{"line_number":666,"context_line":"        \u0027object\u0027: \u003cobject name\u003e,"},{"line_number":667,"context_line":"        \u0027success\u0027: True,"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a99805c1","line":664,"range":{"start_line":664,"start_character":18,"end_line":664,"end_character":52},"updated":"2016-04-29 08:05:50.000000000","message":"we\u0027re using parens here to show the possible values of this key, but above we\u0027re using brackets. should probably be consistent one way or the other","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":661,"context_line":".. code-block:: python"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"    {"},{"line_number":664,"context_line":"        \u0027action\u0027: (\u0027delete_object\u0027|\u0027delete_segment\u0027),"},{"line_number":665,"context_line":"        \u0027container\u0027: \u003ccontainer\u003e,"},{"line_number":666,"context_line":"        \u0027object\u0027: \u003cobject name\u003e,"},{"line_number":667,"context_line":"        \u0027success\u0027: True,"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_406f712a","line":664,"range":{"start_line":664,"start_character":18,"end_line":664,"end_character":52},"in_reply_to":"1a122d0e_a99805c1","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":731,"context_line":""},{"line_number":732,"context_line":"The code below demonstrates the use of ``delete`` to remove a given list of"},{"line_number":733,"context_line":"objects from a specified container. As the objects are deleted the transaction"},{"line_number":734,"context_line":"id of the relevant request is printed along with the object name and number"},{"line_number":735,"context_line":"of attempts required. By printing the transaction id, the printed operations"},{"line_number":736,"context_line":"can be easily linked to events in the swift server logs:"},{"line_number":737,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a9df6567","line":734,"range":{"start_line":734,"start_character":0,"end_line":734,"end_character":2},"updated":"2016-04-29 08:05:50.000000000","message":"minor: should ID be capitalized? shrug","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":731,"context_line":""},{"line_number":732,"context_line":"The code below demonstrates the use of ``delete`` to remove a given list of"},{"line_number":733,"context_line":"objects from a specified container. As the objects are deleted the transaction"},{"line_number":734,"context_line":"id of the relevant request is printed along with the object name and number"},{"line_number":735,"context_line":"of attempts required. By printing the transaction id, the printed operations"},{"line_number":736,"context_line":"can be easily linked to events in the swift server logs:"},{"line_number":737,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_e05afd80","line":734,"range":{"start_line":734,"start_character":0,"end_line":734,"end_character":2},"in_reply_to":"1a122d0e_a9df6567","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":760,"context_line":"    }"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"The contents of the capabilities dictionary contain the core swift capabilities"},{"line_number":763,"context_line":"under the key ``swift``, all other keys show the configuration options for"},{"line_number":764,"context_line":"additional middlewares deployed in the proxy pipeline. An example capabilities"},{"line_number":765,"context_line":"dictionary is given below:"},{"line_number":766,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a9c64597","line":763,"range":{"start_line":763,"start_character":23,"end_line":763,"end_character":24},"updated":"2016-04-29 08:05:50.000000000","message":"comma splice -- should be a period, or followed with an \"and\"/\"while\"/etc.","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":760,"context_line":"    }"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"The contents of the capabilities dictionary contain the core swift capabilities"},{"line_number":763,"context_line":"under the key ``swift``, all other keys show the configuration options for"},{"line_number":764,"context_line":"additional middlewares deployed in the proxy pipeline. An example capabilities"},{"line_number":765,"context_line":"dictionary is given below:"},{"line_number":766,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_80e349a3","line":763,"range":{"start_line":763,"start_character":23,"end_line":763,"end_character":24},"in_reply_to":"1a122d0e_a9c64597","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":814,"context_line":"Example"},{"line_number":815,"context_line":"^^^^^^^"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"The code below demonstrates the us of ``capabilities`` to determine if the"},{"line_number":818,"context_line":"Swift cluster supports static large objects, and if so,  the maximum number of"},{"line_number":819,"context_line":"segments that can be described in a single manifest file, along with the"},{"line_number":820,"context_line":"size restrictions on those objects:"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_093c9991","line":817,"range":{"start_line":817,"start_character":32,"end_line":817,"end_character":34},"updated":"2016-04-29 08:05:50.000000000","message":"use","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":814,"context_line":"Example"},{"line_number":815,"context_line":"^^^^^^^"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"The code below demonstrates the us of ``capabilities`` to determine if the"},{"line_number":818,"context_line":"Swift cluster supports static large objects, and if so,  the maximum number of"},{"line_number":819,"context_line":"segments that can be described in a single manifest file, along with the"},{"line_number":820,"context_line":"size restrictions on those objects:"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a0f2c56c","line":817,"range":{"start_line":817,"start_character":32,"end_line":817,"end_character":34},"in_reply_to":"1a122d0e_093c9991","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":815,"context_line":"^^^^^^^"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"The code below demonstrates the us of ``capabilities`` to determine if the"},{"line_number":818,"context_line":"Swift cluster supports static large objects, and if so,  the maximum number of"},{"line_number":819,"context_line":"segments that can be described in a single manifest file, along with the"},{"line_number":820,"context_line":"size restrictions on those objects:"},{"line_number":821,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_a94da53f","line":818,"range":{"start_line":818,"start_character":0,"end_line":818,"end_character":5},"updated":"2016-04-29 08:05:50.000000000","message":"big Swift or little swift?","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":815,"context_line":"^^^^^^^"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"The code below demonstrates the us of ``capabilities`` to determine if the"},{"line_number":818,"context_line":"Swift cluster supports static large objects, and if so,  the maximum number of"},{"line_number":819,"context_line":"segments that can be described in a single manifest file, along with the"},{"line_number":820,"context_line":"size restrictions on those objects:"},{"line_number":821,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_693f0d87","line":818,"range":{"start_line":818,"start_character":55,"end_line":818,"end_character":57},"updated":"2016-04-29 08:05:50.000000000","message":"extraneous space","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":815,"context_line":"^^^^^^^"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"The code below demonstrates the us of ``capabilities`` to determine if the"},{"line_number":818,"context_line":"Swift cluster supports static large objects, and if so,  the maximum number of"},{"line_number":819,"context_line":"segments that can be described in a single manifest file, along with the"},{"line_number":820,"context_line":"size restrictions on those objects:"},{"line_number":821,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_20ffd534","line":818,"range":{"start_line":818,"start_character":55,"end_line":818,"end_character":57},"in_reply_to":"1a122d0e_693f0d87","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":815,"context_line":"^^^^^^^"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"The code below demonstrates the us of ``capabilities`` to determine if the"},{"line_number":818,"context_line":"Swift cluster supports static large objects, and if so,  the maximum number of"},{"line_number":819,"context_line":"segments that can be described in a single manifest file, along with the"},{"line_number":820,"context_line":"size restrictions on those objects:"},{"line_number":821,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a122d0e_40049148","line":818,"range":{"start_line":818,"start_character":0,"end_line":818,"end_character":5},"in_reply_to":"1a122d0e_a94da53f","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}],"examples/capabilities.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"logging.basicConfig(level\u003dlogging.ERROR)"},{"line_number":6,"context_line":"logging.getLogger(\"requests\").setLevel(logging.CRITICAL)"},{"line_number":7,"context_line":"logging.getLogger(\"swiftclient\").setLevel(logging.CRITICAL)"},{"line_number":8,"context_line":"logger \u003d logging.getLogger(__name__)"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"with SwiftService() as swift:"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a122d0e_05a2ebad","line":7,"updated":"2016-04-27 20:20:38.000000000","message":"This covers \"swiftclient.service\" too, right? Sorry, I\u0027m not up to speed on finer points of Python logging.","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"8b8fe43019478871e1b572f9ad0b469923342638","unresolved":false,"context_lines":[{"line_number":5,"context_line":"logging.basicConfig(level\u003dlogging.ERROR)"},{"line_number":6,"context_line":"logging.getLogger(\"requests\").setLevel(logging.CRITICAL)"},{"line_number":7,"context_line":"logging.getLogger(\"swiftclient\").setLevel(logging.CRITICAL)"},{"line_number":8,"context_line":"logger \u003d logging.getLogger(__name__)"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"with SwiftService() as swift:"},{"line_number":11,"context_line":"    capabilities_result \u003d swift.capabilities()"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a122d0e_255a87f2","line":8,"updated":"2016-04-27 20:20:38.000000000","message":"What is this for? I don\u0027t think the global logger does anything here. The setLevel probably does, but this?","commit_id":"40a61d4adc9c53e8482d8a496e26fbcfd4e9e5df"}],"examples/delete.py":[{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from swiftclient.service import SwiftService"},{"line_number":4,"context_line":"from sys import argv"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"logging.basicConfig(level\u003dlogging.ERROR)"},{"line_number":8,"context_line":"logging.getLogger(\"requests\").setLevel(logging.CRITICAL)"},{"line_number":9,"context_line":"logging.getLogger(\"swiftclient\").setLevel(logging.CRITICAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a122d0e_e96afd7f","line":6,"range":{"start_line":5,"start_character":0,"end_line":6,"end_character":0},"updated":"2016-04-29 08:05:50.000000000","message":"super minor: this is only one line of whitespace in capabilities.py, here it\u0027s two","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from swiftclient.service import SwiftService"},{"line_number":4,"context_line":"from sys import argv"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"logging.basicConfig(level\u003dlogging.ERROR)"},{"line_number":8,"context_line":"logging.getLogger(\"requests\").setLevel(logging.CRITICAL)"},{"line_number":9,"context_line":"logging.getLogger(\"swiftclient\").setLevel(logging.CRITICAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a122d0e_c0642123","line":6,"range":{"start_line":5,"start_character":0,"end_line":6,"end_character":0},"in_reply_to":"1a122d0e_e96afd7f","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}],"examples/download.py":[{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7701cc13dfe29f22772b39797bc4c5d3d720c5eb","unresolved":false,"context_lines":[{"line_number":16,"context_line":"        for page in list_parts_gen:"},{"line_number":17,"context_line":"            if page[\"success\"]:"},{"line_number":18,"context_line":"                objects \u003d [obj[\"name\"] for obj in page[\"listing\"]]"},{"line_number":19,"context_line":"                post_options \u003d {\"header\": \"X-Delete-After:86400\"}"},{"line_number":20,"context_line":"                for post_res in swift.download("},{"line_number":21,"context_line":"                        container\u003dcontainer,"},{"line_number":22,"context_line":"                        objects\u003dobjects,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_aa059614","line":19,"updated":"2016-04-07 19:11:51.000000000","message":"remove post_options, looks like a copy/paste error","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"e850e444db16de11b8c23b31fbee534d0677de49","unresolved":false,"context_lines":[{"line_number":16,"context_line":"        for page in list_parts_gen:"},{"line_number":17,"context_line":"            if page[\"success\"]:"},{"line_number":18,"context_line":"                objects \u003d [obj[\"name\"] for obj in page[\"listing\"]]"},{"line_number":19,"context_line":"                post_options \u003d {\"header\": \"X-Delete-After:86400\"}"},{"line_number":20,"context_line":"                for post_res in swift.download("},{"line_number":21,"context_line":"                        container\u003dcontainer,"},{"line_number":22,"context_line":"                        objects\u003dobjects,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a1b2928_29c95579","line":19,"in_reply_to":"9a061dce_aa059614","updated":"2016-04-11 14:53:34.000000000","message":"Thanks for spotting that! I have a newer version and I put the wrong contents in here.","commit_id":"e19ab36100843b1ebf7aee1fce352f326336610f"}],"examples/list.py":[{"author":{"_account_id":5600,"name":"Brian Cline","email":"bcline@softlayer.com","username":"briancline"},"change_message_id":"5b0490fbbdc53ced65b278adb8e0b3be2852aa09","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import logging"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from swiftclient.service import SwiftService, SwiftError"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from sys import argv"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"logging.basicConfig(level\u003dlogging.ERROR)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a122d0e_09d81952","line":4,"updated":"2016-04-29 08:05:50.000000000","message":"extremely minor: extra space here is inconsistent with other examples","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"df2e8f76cd8bf376493e4b3efa0ad2229088784a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import logging"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from swiftclient.service import SwiftService, SwiftError"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from sys import argv"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"logging.basicConfig(level\u003dlogging.ERROR)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a122d0e_006bb9f1","line":4,"in_reply_to":"1a122d0e_09d81952","updated":"2016-04-29 18:21:01.000000000","message":"Done","commit_id":"5c72267f7d1398dd001ee1742fce6101efd83d20"}]}
