)]}'
{"README.rst":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ec9aae628ac7174a23d7fce149a66f770c6e9882","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    \u003e\u003e\u003e # We can store it now, or retrieve it again later as the secret_ref attribute of Secret"},{"line_number":51,"context_line":"    \u003e\u003e\u003e print(secret.secret_ref)"},{"line_number":52,"context_line":"    http://localhost:9311/v1/secrets/85b220fd-f414-483f-94e4-2f422480f655"},{"line_number":53,"context_line":"    \u003e\u003e\u003e # Now let\u0027s retrieve the secret payload.  Barbican decrypts it and sends it back."},{"line_number":54,"context_line":"    \u003e\u003e\u003e print(secret.payload)"},{"line_number":55,"context_line":"    the magic words are squeamish ossifrage"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baa201ad_77854258","line":53,"updated":"2014-10-13 06:20:23.000000000","message":"Technically this is a lie, it\u0027s still cached in the object from creation, so no API call will occur here. :P","commit_id":"8b9e3a05064a843ad819bc94561f0b87edbc7847"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ec9aae628ac7174a23d7fce149a66f770c6e9882","unresolved":false,"context_lines":[{"line_number":150,"context_line":"      secret delete  Delete an secret by providing its href."},{"line_number":151,"context_line":"      secret get     Retrieve a secret by providing its URI."},{"line_number":152,"context_line":"      secret list    List secrets."},{"line_number":153,"context_line":"      secret store   Store a secret in Barbican."},{"line_number":154,"context_line":"     "}],"source_content_type":"text/x-rst","patch_set":1,"id":"baa201ad_f7905298","line":153,"updated":"2014-10-13 06:20:23.000000000","message":"I still dislike that this is different. container/order are both create, this should be create...\n\nAlso, whitespace below this.","commit_id":"8b9e3a05064a843ad819bc94561f0b87edbc7847"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"607d1737ac73206a9211a322b6b6b354bd7d9720","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \u003e\u003e\u003e from keystoneclient.auth import identity"},{"line_number":30,"context_line":"    \u003e\u003e\u003e from keystoneclient import session"},{"line_number":31,"context_line":"    \u003e\u003e\u003e from barbicanclient import client"},{"line_number":32,"context_line":"    \u003e\u003e\u003e # We\u0027ll use Keystone API v2.0 for authentication"},{"line_number":33,"context_line":"    \u003e\u003e\u003e auth \u003d identity.v2.Password(auth_url\u003d\u0027http://localhost:5000/v2.0\u0027,"},{"line_number":34,"context_line":"    ...                             username\u003d\u0027admin_user\u0027,"},{"line_number":35,"context_line":"    ...                             password\u003d\u0027password\u0027,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_663e138d","line":32,"range":{"start_line":32,"start_character":33,"end_line":32,"end_character":35},"updated":"2014-10-15 23:31:05.000000000","message":"Would it be better to show v3 in the examples since we default to v3?","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"15aab09ce20a402fb5e6c2bdf121c9b868833baf","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \u003e\u003e\u003e from keystoneclient.auth import identity"},{"line_number":30,"context_line":"    \u003e\u003e\u003e from keystoneclient import session"},{"line_number":31,"context_line":"    \u003e\u003e\u003e from barbicanclient import client"},{"line_number":32,"context_line":"    \u003e\u003e\u003e # We\u0027ll use Keystone API v2.0 for authentication"},{"line_number":33,"context_line":"    \u003e\u003e\u003e auth \u003d identity.v2.Password(auth_url\u003d\u0027http://localhost:5000/v2.0\u0027,"},{"line_number":34,"context_line":"    ...                             username\u003d\u0027admin_user\u0027,"},{"line_number":35,"context_line":"    ...                             password\u003d\u0027password\u0027,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_12880470","line":32,"range":{"start_line":32,"start_character":33,"end_line":32,"end_character":35},"in_reply_to":"baa201ad_663e138d","updated":"2014-10-16 20:02:15.000000000","message":"Done","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"607d1737ac73206a9211a322b6b6b354bd7d9720","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    ...                             tenant_name\u003d\u0027demo\u0027)"},{"line_number":37,"context_line":"    \u003e\u003e\u003e # Next we\u0027ll create a Keystone session using the auth plugin we just created"},{"line_number":38,"context_line":"    \u003e\u003e\u003e sess \u003d session.Session(auth\u003dauth)"},{"line_number":39,"context_line":"    \u003e\u003e\u003e # Now we use the session to crate a Barbican client"},{"line_number":40,"context_line":"    \u003e\u003e\u003e barbican \u003d client.Client(session\u003dsess)"},{"line_number":41,"context_line":"    \u003e\u003e\u003e # Let\u0027s create a Secret to store some sensitive data"},{"line_number":42,"context_line":"    \u003e\u003e\u003e secret \u003d barbican.secrets.create(name\u003d\u0027Self destruction sequence\u0027,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_e6ba030a","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":41},"updated":"2014-10-15 23:31:05.000000000","message":"crate -\u003e create","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"15aab09ce20a402fb5e6c2bdf121c9b868833baf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    ...                             tenant_name\u003d\u0027demo\u0027)"},{"line_number":37,"context_line":"    \u003e\u003e\u003e # Next we\u0027ll create a Keystone session using the auth plugin we just created"},{"line_number":38,"context_line":"    \u003e\u003e\u003e sess \u003d session.Session(auth\u003dauth)"},{"line_number":39,"context_line":"    \u003e\u003e\u003e # Now we use the session to crate a Barbican client"},{"line_number":40,"context_line":"    \u003e\u003e\u003e barbican \u003d client.Client(session\u003dsess)"},{"line_number":41,"context_line":"    \u003e\u003e\u003e # Let\u0027s create a Secret to store some sensitive data"},{"line_number":42,"context_line":"    \u003e\u003e\u003e secret \u003d barbican.secrets.create(name\u003d\u0027Self destruction sequence\u0027,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_327b487c","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":41},"in_reply_to":"baa201ad_e6ba030a","updated":"2014-10-16 20:02:15.000000000","message":"Done","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"607d1737ac73206a9211a322b6b6b354bd7d9720","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    \u003e\u003e\u003e # After a secret is stored, the URI is also avaiable by accessing the secret_ref attribute."},{"line_number":51,"context_line":"    \u003e\u003e\u003e print(secret.secret_ref)"},{"line_number":52,"context_line":"    http://localhost:9311/v1/secrets/091adb32-4050-4980-8558-90833c531413"},{"line_number":53,"context_line":"    \u003e\u003e\u003e # When we need to retreive our secret at a later time, we can use the secret_ref"},{"line_number":54,"context_line":"    \u003e\u003e\u003e retrieved_secret \u003d barbican.secrets.get(u\u0027http://localhost:9311/v1/secrets/091adb32-4050-4980-8558-90833c531413\u0027)"},{"line_number":55,"context_line":"    \u003e\u003e\u003e # We can access the secret payload by using the payload attribute."},{"line_number":56,"context_line":"    \u003e\u003e\u003e # Barbican decrypts the secret and sends it back."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_4664afb8","line":53,"range":{"start_line":53,"start_character":26,"end_line":53,"end_character":34},"updated":"2014-10-15 23:31:05.000000000","message":"retreive -\u003e retrieve","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"15aab09ce20a402fb5e6c2bdf121c9b868833baf","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    \u003e\u003e\u003e # After a secret is stored, the URI is also avaiable by accessing the secret_ref attribute."},{"line_number":51,"context_line":"    \u003e\u003e\u003e print(secret.secret_ref)"},{"line_number":52,"context_line":"    http://localhost:9311/v1/secrets/091adb32-4050-4980-8558-90833c531413"},{"line_number":53,"context_line":"    \u003e\u003e\u003e # When we need to retreive our secret at a later time, we can use the secret_ref"},{"line_number":54,"context_line":"    \u003e\u003e\u003e retrieved_secret \u003d barbican.secrets.get(u\u0027http://localhost:9311/v1/secrets/091adb32-4050-4980-8558-90833c531413\u0027)"},{"line_number":55,"context_line":"    \u003e\u003e\u003e # We can access the secret payload by using the payload attribute."},{"line_number":56,"context_line":"    \u003e\u003e\u003e # Barbican decrypts the secret and sends it back."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_527e0c6b","line":53,"range":{"start_line":53,"start_character":26,"end_line":53,"end_character":34},"in_reply_to":"baa201ad_4664afb8","updated":"2014-10-16 20:02:15.000000000","message":"Done","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"607d1737ac73206a9211a322b6b6b354bd7d9720","unresolved":false,"context_lines":[{"line_number":94,"context_line":"      --no-auth, -N         Do not use authentication."},{"line_number":95,"context_line":"      --os-identity-api-version \u003cidentity-api-version\u003e"},{"line_number":96,"context_line":"                            Specify Identity API version to use. Defaults to"},{"line_number":97,"context_line":"                            env[OS_IDENTITY_API_VERSION] or 2.0."},{"line_number":98,"context_line":"      --os-auth-url \u003cauth-url\u003e, -A \u003cauth-url\u003e"},{"line_number":99,"context_line":"                            Defaults to env[OS_AUTH_URL]."},{"line_number":100,"context_line":"      --os-username \u003cauth-user-name\u003e, -U \u003cauth-user-name\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_460bcfd5","line":97,"updated":"2014-10-15 23:31:05.000000000","message":"2.0 -\u003e 3.0 ?","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"15aab09ce20a402fb5e6c2bdf121c9b868833baf","unresolved":false,"context_lines":[{"line_number":94,"context_line":"      --no-auth, -N         Do not use authentication."},{"line_number":95,"context_line":"      --os-identity-api-version \u003cidentity-api-version\u003e"},{"line_number":96,"context_line":"                            Specify Identity API version to use. Defaults to"},{"line_number":97,"context_line":"                            env[OS_IDENTITY_API_VERSION] or 2.0."},{"line_number":98,"context_line":"      --os-auth-url \u003cauth-url\u003e, -A \u003cauth-url\u003e"},{"line_number":99,"context_line":"                            Defaults to env[OS_AUTH_URL]."},{"line_number":100,"context_line":"      --os-username \u003cauth-user-name\u003e, -U \u003cauth-user-name\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_724dd03d","line":97,"in_reply_to":"baa201ad_460bcfd5","updated":"2014-10-16 20:02:15.000000000","message":"Good catch.  I fixed this in the actual output of the CLI, but I forgot to update it here.","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"c9335dab31b7ff01b38bf9ac88c9ebb4ac2919c1","unresolved":false,"context_lines":[{"line_number":154,"context_line":"      secret get     Retrieve a secret by providing its URI."},{"line_number":155,"context_line":"      secret list    List secrets."},{"line_number":156,"context_line":"      secret store   Store a secret in Barbican."},{"line_number":157,"context_line":"     "}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_317a7c24","line":157,"updated":"2014-10-16 08:23:13.000000000","message":"unnecessary whitespace","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"15aab09ce20a402fb5e6c2bdf121c9b868833baf","unresolved":false,"context_lines":[{"line_number":154,"context_line":"      secret get     Retrieve a secret by providing its URI."},{"line_number":155,"context_line":"      secret list    List secrets."},{"line_number":156,"context_line":"      secret store   Store a secret in Barbican."},{"line_number":157,"context_line":"     "}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_b26ad87e","line":157,"in_reply_to":"baa201ad_317a7c24","updated":"2014-10-16 20:02:15.000000000","message":"Done","commit_id":"707345cb14736fe378595fdca5c20bb947b3ba00"}],"barbicanclient/barbican.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ec9aae628ac7174a23d7fce149a66f770c6e9882","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  args.os_password, args.os_tenant_name or args.os_tenant_id or"},{"line_number":147,"context_line":"                  args.os_project_name or args.os_project_id]):"},{"line_number":148,"context_line":"            api_version \u003d args.os_identity_api_version"},{"line_number":149,"context_line":"            if not api_version or api_version \u003d\u003d _DEFAULT_IDENTITY_API_VERSION:"},{"line_number":150,"context_line":"                auth \u003d identity.v2.Password(auth_url\u003dargs.os_auth_url,"},{"line_number":151,"context_line":"                                            username\u003dargs.os_user_name,"},{"line_number":152,"context_line":"                                            password\u003dargs.os_password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_f76212d8","line":149,"updated":"2014-10-13 06:20:23.000000000","message":"Out of curiosity, is attempting v3 auth and falling back to v2 auth with a try/catch a viable approach instead of asking for the version?","commit_id":"8b9e3a05064a843ad819bc94561f0b87edbc7847"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"399fcf5a5a009b67833ae51f0c50fd8da487ec0f","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  args.os_password, args.os_tenant_name or args.os_tenant_id or"},{"line_number":147,"context_line":"                  args.os_project_name or args.os_project_id]):"},{"line_number":148,"context_line":"            api_version \u003d args.os_identity_api_version"},{"line_number":149,"context_line":"            if not api_version or api_version \u003d\u003d _DEFAULT_IDENTITY_API_VERSION:"},{"line_number":150,"context_line":"                auth \u003d identity.v2.Password(auth_url\u003dargs.os_auth_url,"},{"line_number":151,"context_line":"                                            username\u003dargs.os_user_name,"},{"line_number":152,"context_line":"                                            password\u003dargs.os_password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_2f1b5381","line":149,"in_reply_to":"baa201ad_146309de","updated":"2014-10-13 18:17:26.000000000","message":"I don\u0027t mind making v3 the default instead of v2.  I do think it would be good to leave the option to choose a version though.  The keystoneclient CLI provides the same option, so I think it makes sense for us to provide it as well.\n\nAslo, Zen of Python says Explicit is better than Implicit. ;)","commit_id":"8b9e3a05064a843ad819bc94561f0b87edbc7847"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"f4bfbd561e7de14e41de16bcb0aac26440f70be3","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  args.os_password, args.os_tenant_name or args.os_tenant_id or"},{"line_number":147,"context_line":"                  args.os_project_name or args.os_project_id]):"},{"line_number":148,"context_line":"            api_version \u003d args.os_identity_api_version"},{"line_number":149,"context_line":"            if not api_version or api_version \u003d\u003d _DEFAULT_IDENTITY_API_VERSION:"},{"line_number":150,"context_line":"                auth \u003d identity.v2.Password(auth_url\u003dargs.os_auth_url,"},{"line_number":151,"context_line":"                                            username\u003dargs.os_user_name,"},{"line_number":152,"context_line":"                                            password\u003dargs.os_password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_81d173cf","line":149,"in_reply_to":"baa201ad_2f1b5381","updated":"2014-10-13 18:47:01.000000000","message":"I would like to see v3 as being the default.  Kind of as a small step in tye deprecation of v2.0 :P but yeah,  let\u0027s have that explicit","commit_id":"8b9e3a05064a843ad819bc94561f0b87edbc7847"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"4583dfba1dfd0e3698464e27e408342b09307901","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  args.os_password, args.os_tenant_name or args.os_tenant_id or"},{"line_number":147,"context_line":"                  args.os_project_name or args.os_project_id]):"},{"line_number":148,"context_line":"            api_version \u003d args.os_identity_api_version"},{"line_number":149,"context_line":"            if not api_version or api_version \u003d\u003d _DEFAULT_IDENTITY_API_VERSION:"},{"line_number":150,"context_line":"                auth \u003d identity.v2.Password(auth_url\u003dargs.os_auth_url,"},{"line_number":151,"context_line":"                                            username\u003dargs.os_user_name,"},{"line_number":152,"context_line":"                                            password\u003dargs.os_password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_146309de","line":149,"in_reply_to":"baa201ad_f76212d8","updated":"2014-10-13 14:02:49.000000000","message":"So, you mean to default to v3 and just fall back if needed? That might not be a bad idea.","commit_id":"8b9e3a05064a843ad819bc94561f0b87edbc7847"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"eae7172984a2a1f6c14ebb9720f7b968edbb7588","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  args.os_password, args.os_tenant_name or args.os_tenant_id or"},{"line_number":147,"context_line":"                  args.os_project_name or args.os_project_id]):"},{"line_number":148,"context_line":"            kwargs \u003d dict()"},{"line_number":149,"context_line":"            kwargs[\u0027auth_ur\u0027] \u003d args.os_auth_url"},{"line_number":150,"context_line":"            kwargs[\u0027password\u0027] \u003d args.os_password"},{"line_number":151,"context_line":"            if args.os_user_id:"},{"line_number":152,"context_line":"                kwargs[\u0027user_id\u0027] \u003d args.os_user_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_f1b084df","line":149,"updated":"2014-10-20 16:39:12.000000000","message":"should this be kwargs[\u0027auth_url\u0027]?","commit_id":"fae46cf45cf706eff881481e73f1c86ed80c0965"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"9165241b8364bb12584ae732d89ee40b5ab81725","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  args.os_password, args.os_tenant_name or args.os_tenant_id or"},{"line_number":147,"context_line":"                  args.os_project_name or args.os_project_id]):"},{"line_number":148,"context_line":"            kwargs \u003d dict()"},{"line_number":149,"context_line":"            kwargs[\u0027auth_ur\u0027] \u003d args.os_auth_url"},{"line_number":150,"context_line":"            kwargs[\u0027password\u0027] \u003d args.os_password"},{"line_number":151,"context_line":"            if args.os_user_id:"},{"line_number":152,"context_line":"                kwargs[\u0027user_id\u0027] \u003d args.os_user_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_85b9b230","line":149,"in_reply_to":"9aa7fdbe_f1b084df","updated":"2014-10-20 18:24:17.000000000","message":"Yes, good catch.","commit_id":"fae46cf45cf706eff881481e73f1c86ed80c0965"}]}
