)]}'
{"specs/train/add_get_dataframes_api_endpoint.rst":[{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Problem Description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_49b6f340","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":9},"updated":"2019-08-29 09:29:33.000000000","message":"now that there is","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Problem Description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_69b16f44","line":21,"range":{"start_line":21,"start_character":35,"end_line":21,"end_character":43},"updated":"2019-08-29 09:29:33.000000000","message":"on","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Problem Description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2f0057ab","line":21,"range":{"start_line":21,"start_character":35,"end_line":21,"end_character":43},"in_reply_to":"7faddb67_69b16f44","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_e97ebf68","line":22,"range":{"start_line":22,"start_character":42,"end_line":22,"end_character":60},"updated":"2019-08-29 09:29:33.000000000","message":"\"Ck\u0027s\" or \"the CK storage backend\"","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_4ffb53bd","line":22,"range":{"start_line":22,"start_character":42,"end_line":22,"end_character":60},"in_reply_to":"7faddb67_e97ebf68","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_8995cb8a","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":35},"updated":"2019-08-29 09:29:33.000000000","message":"not required","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_0f2f9b3e","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":35},"in_reply_to":"7faddb67_8995cb8a","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"},{"line_number":27,"context_line":"it is necessary to have it in the v2 API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_498fd374","line":24,"range":{"start_line":23,"start_character":57,"end_line":24,"end_character":30},"updated":"2019-08-29 09:29:33.000000000","message":"verbose","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Now there is an endpoint available bound to ``POST /v2/dataframes`` that"},{"line_number":22,"context_line":"allows us to push DataFrames objects into CloudKitty storage backend, we also"},{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"},{"line_number":27,"context_line":"it is necessary to have it in the v2 API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_af25275e","line":24,"range":{"start_line":23,"start_character":57,"end_line":24,"end_character":30},"in_reply_to":"7faddb67_498fd374","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"},{"line_number":27,"context_line":"it is necessary to have it in the v2 API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_29ea970d","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":47},"updated":"2019-08-29 09:29:33.000000000","message":"This feature is also available in the v1 API on","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"need a v2 API endpoint to read and retrieve these objects, from the storage"},{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"},{"line_number":27,"context_line":"it is necessary to have it in the v2 API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_6f1f2f09","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":47},"in_reply_to":"7faddb67_29ea970d","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"},{"line_number":27,"context_line":"it is necessary to have it in the v2 API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed Change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2938579d","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":41},"updated":"2019-08-29 09:29:33.000000000","message":"Could you please make this another sentence ?","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"backend, back to the end user."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Also this feature is available in the v1 API as ``GET /v1/storage/dataframes``"},{"line_number":27,"context_line":"it is necessary to have it in the v2 API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed Change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_4f14b3e9","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":41},"in_reply_to":"7faddb67_2938579d","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The proposed endpoint will support pagination, a dict of filters,"},{"line_number":33,"context_line":"a ``metric`` parameter to also filter on the metric types"},{"line_number":34,"context_line":"described by the DataFrame objects, a ``begin`` and an ``end`` parameter"},{"line_number":35,"context_line":"as datetimes to specify a range."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_a9c8c774","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":57},"updated":"2019-08-29 09:29:33.000000000","message":"I\u0027d rather have a \"type\" filter in the filter dict, which would be extracted in the API endpoint. It seems more straightforward to the end user, and it seems weird to have a separate argument for this specific filter.\n\n(Note to myself: Adapt the v2 summary endpoint for consistency)","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The proposed endpoint will support pagination, a dict of filters,"},{"line_number":33,"context_line":"a ``metric`` parameter to also filter on the metric types"},{"line_number":34,"context_line":"described by the DataFrame objects, a ``begin`` and an ``end`` parameter"},{"line_number":35,"context_line":"as datetimes to specify a range."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_cfb663fa","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":57},"in_reply_to":"7faddb67_a9c8c774","updated":"2019-08-29 11:25:49.000000000","message":"Done. I agree with this point as there is no fundamental differences in regard to the end usage.","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The proposed endpoint will support pagination, a dict of filters,"},{"line_number":33,"context_line":"a ``metric`` parameter to also filter on the metric types"},{"line_number":34,"context_line":"described by the DataFrame objects, a ``begin`` and an ``end`` parameter"},{"line_number":35,"context_line":"as datetimes to specify a range."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It will be bound to ``GET /v2/dataframes``."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_e9847f0d","line":35,"range":{"start_line":34,"start_character":36,"end_line":35,"end_character":32},"updated":"2019-08-29 09:29:33.000000000","message":"These will be iso8601 strings, not datetime objects. You could also specify that the strings will support timezone offsets (eg: 2019-08-29T07:18:40+00:00)","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The proposed endpoint will support pagination, a dict of filters,"},{"line_number":33,"context_line":"a ``metric`` parameter to also filter on the metric types"},{"line_number":34,"context_line":"described by the DataFrame objects, a ``begin`` and an ``end`` parameter"},{"line_number":35,"context_line":"as datetimes to specify a range."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It will be bound to ``GET /v2/dataframes``."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_cfe743e3","line":35,"range":{"start_line":34,"start_character":36,"end_line":35,"end_character":32},"in_reply_to":"7faddb67_e9847f0d","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"described by the DataFrame objects, a ``begin`` and an ``end`` parameter"},{"line_number":35,"context_line":"as datetimes to specify a range."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It will be bound to ``GET /v2/dataframes``."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Example:"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_a976873e","line":37,"range":{"start_line":37,"start_character":11,"end_line":37,"end_character":19},"updated":"2019-08-29 09:29:33.000000000","message":"available on ? Not sure about this one though","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"described by the DataFrame objects, a ``begin`` and an ``end`` parameter"},{"line_number":35,"context_line":"as datetimes to specify a range."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It will be bound to ``GET /v2/dataframes``."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Example:"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_4fd35302","line":37,"range":{"start_line":37,"start_character":11,"end_line":37,"end_character":19},"in_reply_to":"7faddb67_a976873e","updated":"2019-08-29 11:25:49.000000000","message":"Done.","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Example:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* Getting all dataframes for ``image.size`` and ``volume.size`` metrics for project X and user Y for a specific week:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  This would result in the following HTTP request::"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_e999df6c","line":41,"range":{"start_line":41,"start_character":97,"end_line":41,"end_character":117},"updated":"2019-08-29 09:29:33.000000000","message":"please wrap this","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Example:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* Getting all dataframes for ``image.size`` and ``volume.size`` metrics for project X and user Y for a specific week:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  This would result in the following HTTP request::"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_8ff2ab9a","line":41,"range":{"start_line":41,"start_character":97,"end_line":41,"end_character":117},"in_reply_to":"7faddb67_e999df6c","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    GET /v2/dataframes?metric\u003dimage.size\u0026metric\u003dvolume.size\u0026filter\u003dproject_id:X\u0026filter\u003duser_id:Y\u0026begin\u003d2019-05-01T00:00:00\u0026end\u003d2019-05-07T00:00:00"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The feature will also be available to the CloudKitty client library and CLI."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_a937674b","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":76},"updated":"2019-08-29 09:29:33.000000000","message":"NOTE: in U, it would be great to have a CLI command allowing to generate reports and directly write them to a CSV formatted file.","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    GET /v2/dataframes?metric\u003dimage.size\u0026metric\u003dvolume.size\u0026filter\u003dproject_id:X\u0026filter\u003duser_id:Y\u0026begin\u003d2019-05-01T00:00:00\u0026end\u003d2019-05-07T00:00:00"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The feature will also be available to the CloudKitty client library and CLI."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_4fecb3ba","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":76},"in_reply_to":"7faddb67_a937674b","updated":"2019-08-29 11:25:49.000000000","message":"I agree.","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ``filter``: (optional) A dict of metadata filters to apply."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* ``metric``: (optional) Can be specified several times. One or several"},{"line_number":76,"context_line":"  metric types to filter on."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* ``begin``: (optional, defaults to the first day of the month at midnight)"},{"line_number":79,"context_line":"  start of the period the request should apply to."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_69416fa6","line":76,"range":{"start_line":75,"start_character":0,"end_line":76,"end_character":28},"updated":"2019-08-29 09:29:33.000000000","message":"As discussed above, I\u0027d rather not have this one","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ``filter``: (optional) A dict of metadata filters to apply."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* ``metric``: (optional) Can be specified several times. One or several"},{"line_number":76,"context_line":"  metric types to filter on."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* ``begin``: (optional, defaults to the first day of the month at midnight)"},{"line_number":79,"context_line":"  start of the period the request should apply to."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_cf350347","line":76,"range":{"start_line":75,"start_character":0,"end_line":76,"end_character":28},"in_reply_to":"7faddb67_69416fa6","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"d97be964e858cc093b563b2a30e42429b7e3b8a7","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* ``404 Not Found``: No dataframes were found for the provided parameters."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"This endpoint will only be authorized for admins."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Security impact"},{"line_number":166,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_a920c7f9","line":163,"range":{"start_line":163,"start_character":42,"end_line":163,"end_character":49},"updated":"2019-08-29 09:29:33.000000000","message":"It should also be authorized for tenant owners, with a filter on the project_id if the user is owner and not admin","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"},{"author":{"_account_id":29503,"name":"Justin Ferrieu","email":"jferrieu@objectif-libre.com","username":"jferrieu"},"change_message_id":"b2986b1089c24f0cec4495fd49c3775c31e96bb1","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* ``404 Not Found``: No dataframes were found for the provided parameters."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"This endpoint will only be authorized for admins."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Security impact"},{"line_number":166,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_cf5c237f","line":163,"range":{"start_line":163,"start_character":42,"end_line":163,"end_character":49},"in_reply_to":"7faddb67_a920c7f9","updated":"2019-08-29 11:25:49.000000000","message":"Done","commit_id":"8a2067a6983f642786c20bf1088cfa345eb9f334"}]}
