)]}'
{"openstack/load_balancer/v2/_proxy.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"33412c10d2b5a12b2e8c109b7eedf55f6f5616c8","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        return self._delete(_pool.Pool, pool,"},{"line_number":127,"context_line":"                            ignore_missing\u003dignore_missing)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def create_healthmonitor(self, **attrs):"},{"line_number":130,"context_line":"        \"\"\"Create a new health monitor from attributes"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        :param dict attrs: Keyword arguments which will be used to create"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_bbc2fd57","line":129,"updated":"2017-04-05 12:29:37.000000000","message":"These names should be *_health_monitor instead of *_healthmonitor","commit_id":"e0b7639781b1375f3abfaad5f629d94c8c61d53c"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        :param dict attrs: Keyword arguments which will be used to create"},{"line_number":392,"context_line":"                           a :class:`~openstack.load_balancer.v2."},{"line_number":393,"context_line":"                           healthmonitors.HealthMonitor`,"},{"line_number":394,"context_line":"                           comprised of the properties on the"},{"line_number":395,"context_line":"                           HealthMonitor class."},{"line_number":396,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_341f2cb8","line":393,"range":{"start_line":393,"start_character":27,"end_line":393,"end_character":41},"updated":"2017-08-04 01:52:21.000000000","message":"should be singular","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":396,"context_line":""},{"line_number":397,"context_line":"        :returns: The results of HealthMonitor creation"},{"line_number":398,"context_line":"        :rtype: :class:`~openstack.load_balancer.v2."},{"line_number":399,"context_line":"            healthmonitors.HealthMonitor`"},{"line_number":400,"context_line":"        \"\"\""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        return self._create(_hm.HealthMonitor, **attrs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_f47ac4ee","line":399,"range":{"start_line":399,"start_character":12,"end_line":399,"end_character":26},"updated":"2017-08-04 01:52:21.000000000","message":"same","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        return self._create(_hm.HealthMonitor, **attrs)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    def get_health_monitor(self, *attrs):"},{"line_number":405,"context_line":"        \"\"\"Get a health monitor"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        :param dict attrs: The value can be the name of a health monitor or"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_746ed42f","line":404,"range":{"start_line":404,"start_character":33,"end_line":404,"end_character":39},"updated":"2017-08-04 01:52:21.000000000","message":"what is this?","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        \"\"\"Get a health monitor"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        :param dict attrs: The value can be the name of a health monitor or"},{"line_number":408,"context_line":"            :class:`~openstack.load_balancer.v2.healthmonitors.HealthMonitor`"},{"line_number":409,"context_line":"            instance."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        :returns: One health monitor"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_b480bcc0","line":408,"range":{"start_line":408,"start_character":48,"end_line":408,"end_character":62},"updated":"2017-08-04 01:52:21.000000000","message":"same","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        :returns: One health monitor"},{"line_number":412,"context_line":"        :rtype: :class:`~openstack.load_balancer.v2."},{"line_number":413,"context_line":"            healthmonitors.HealthMonitor`"},{"line_number":414,"context_line":"        \"\"\""},{"line_number":415,"context_line":"        return self._get(_hm.HealthMonitor, *attrs)"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_546bd01c","line":413,"range":{"start_line":413,"start_character":12,"end_line":413,"end_character":26},"updated":"2017-08-04 01:52:21.000000000","message":"same","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        \"\"\""},{"line_number":415,"context_line":"        return self._get(_hm.HealthMonitor, *attrs)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def health_monitors(self, **query):"},{"line_number":418,"context_line":"        \"\"\"Retrieve a generator of health monitors"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        :returns: A generator of health monitor instances"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_34e28ca1","line":417,"range":{"start_line":417,"start_character":32,"end_line":417,"end_character":37},"updated":"2017-08-04 01:52:21.000000000","message":"better document the valid parameters for users","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    def delete_health_monitor(self, healthmonitor, ignore_missing\u003dTrue):"},{"line_number":425,"context_line":"        \"\"\"Delete a health monitor"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        :param healthmonitor: The healthmonitor can be either the name or a"},{"line_number":428,"context_line":"            :class:`~openstack.load_balancer.v2.healthmonitors.HealthMonitor`"},{"line_number":429,"context_line":"            instance"},{"line_number":430,"context_line":"        :param bool ignore_missing: When set to ``False``"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_d468e01d","line":427,"range":{"start_line":427,"start_character":62,"end_line":427,"end_character":70},"updated":"2017-08-04 01:52:21.000000000","message":"name is sufficient?\nI was assuming that an ID should be provided here.","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        \"\"\"Delete a health monitor"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        :param healthmonitor: The healthmonitor can be either the name or a"},{"line_number":428,"context_line":"            :class:`~openstack.load_balancer.v2.healthmonitors.HealthMonitor`"},{"line_number":429,"context_line":"            instance"},{"line_number":430,"context_line":"        :param bool ignore_missing: When set to ``False``"},{"line_number":431,"context_line":"            :class:`~openstack.exceptions.ResourceNotFound` will be raised when"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_b459dc8e","line":428,"range":{"start_line":428,"start_character":48,"end_line":428,"end_character":62},"updated":"2017-08-04 01:52:21.000000000","message":"singular","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":441,"context_line":"    def update_health_monitor(self, healthmonitor, **attrs):"},{"line_number":442,"context_line":"        \"\"\"Update a health monitor"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        :param healthmonitor: The healthmonitor can be either the name or a"},{"line_number":445,"context_line":"            :class:`~openstack.load_balancer.v2.healthmonitors.HealthMonitor`"},{"line_number":446,"context_line":"            instance"},{"line_number":447,"context_line":"        :param dict attrs: The attributes to update on the health monitor"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_5454f052","line":444,"range":{"start_line":444,"start_character":66,"end_line":444,"end_character":70},"updated":"2017-08-04 01:52:21.000000000","message":"double check pls.","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        \"\"\"Update a health monitor"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        :param healthmonitor: The healthmonitor can be either the name or a"},{"line_number":445,"context_line":"            :class:`~openstack.load_balancer.v2.healthmonitors.HealthMonitor`"},{"line_number":446,"context_line":"            instance"},{"line_number":447,"context_line":"        :param dict attrs: The attributes to update on the health monitor"},{"line_number":448,"context_line":"                           represented by ``healthmonitor``."}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_344decc3","line":445,"range":{"start_line":445,"start_character":48,"end_line":445,"end_character":62},"updated":"2017-08-04 01:52:21.000000000","message":"singular","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"7f200fc2d2d7e32542e1109d33b62bea26634b9b","unresolved":false,"context_lines":[{"line_number":378,"context_line":"            :class:`~openstack.exceptions.ResourceNotFound` will be raised"},{"line_number":379,"context_line":"            when the health monitor does not exist."},{"line_number":380,"context_line":"            When set to ``True``, no exception will be set when attempting"},{"line_number":381,"context_line":"            to delete a nonexistent health monitor."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        :returns: ``None``"},{"line_number":384,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_8a5531fd","line":381,"range":{"start_line":381,"start_character":15,"end_line":381,"end_character":21},"updated":"2017-08-18 02:26:10.000000000","message":"find","commit_id":"93ac8fd6362be0dfaac80f71b7e8cb0cd3a97bac"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"7f200fc2d2d7e32542e1109d33b62bea26634b9b","unresolved":false,"context_lines":[{"line_number":380,"context_line":"            When set to ``True``, no exception will be set when attempting"},{"line_number":381,"context_line":"            to delete a nonexistent health monitor."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        :returns: ``None``"},{"line_number":384,"context_line":"        \"\"\""},{"line_number":385,"context_line":"        return self._find(_hm.HealthMonitor, name_or_id,"},{"line_number":386,"context_line":"                          ignore_missing\u003dignore_missing)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_ea8cbd80","line":383,"range":{"start_line":383,"start_character":20,"end_line":383,"end_character":24},"updated":"2017-08-18 02:26:10.000000000","message":"this is incorrect. \u0027None\u0027 is returned only when not found.\n\nshould be:\n\n  :return: The :class:`openstack.load_balancer.v2.healthmonitor.HealthMonitor`\n           object matching the given name or id or None if nothing matches.\n  :raises: :class:`openstack.exceptions.DuplicateResource` if more\n           than one resource is found for this request.\n  :raises: :class:`openstack.exceptions.ResourceNotFound` if nothing\n           is found and ignore_missing is ``False``.","commit_id":"93ac8fd6362be0dfaac80f71b7e8cb0cd3a97bac"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"5a949b159d01910bb1748538bfa8204e9be6b305","unresolved":false,"context_lines":[{"line_number":380,"context_line":"            When set to ``True``, no exception will be set when attempting"},{"line_number":381,"context_line":"            to delete a nonexistent health monitor."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        :returns: ``None``"},{"line_number":384,"context_line":"        \"\"\""},{"line_number":385,"context_line":"        return self._find(_hm.HealthMonitor, name_or_id,"},{"line_number":386,"context_line":"                          ignore_missing\u003dignore_missing)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_ff3a2b96","line":383,"range":{"start_line":383,"start_character":20,"end_line":383,"end_character":24},"in_reply_to":"9f436f4f_ea8cbd80","updated":"2017-08-18 12:46:41.000000000","message":"Done","commit_id":"93ac8fd6362be0dfaac80f71b7e8cb0cd3a97bac"}],"openstack/load_balancer/v2/health_monitor.py":[{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"c18af3d468cf09ac5618ba77ff9f71882517f2a6","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    #: The number of allowed check failures before changing the operating"},{"line_number":52,"context_line":"    #: status of the member to ERROR."},{"line_number":53,"context_line":"    max_retries_down \u003d resource.Body(\u0027max_retries_down\u0027, type\u003dint)"},{"line_number":54,"context_line":"    #: The health monitor name"},{"line_number":55,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":56,"context_line":"    #: Operating status of the member."},{"line_number":57,"context_line":"    operating_status \u003d resource.Body(\u0027operating_status\u0027)"},{"line_number":58,"context_line":"    #: The ID of the associated Pool"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_5402b03e","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":32},"updated":"2017-08-04 01:52:21.000000000","message":"if name would be used as an alternate ID, you have to explicitly set it.","commit_id":"24c09c53b14a44076df64eb1454af9cbd7803ddf"}],"openstack/load_balancer/v2/healthmonitors.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"33412c10d2b5a12b2e8c109b7eedf55f6f5616c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_9b1f395a","line":1,"updated":"2017-04-05 12:29:37.000000000","message":"This module should be health_monitor.py to fit with the usual conventions. Additionally, resources are singular instead of plural as it currently is here.","commit_id":"e0b7639781b1375f3abfaad5f629d94c8c61d53c"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"33412c10d2b5a12b2e8c109b7eedf55f6f5616c8","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class HealthMonitor(resource.Resource):"},{"line_number":18,"context_line":"    resource_key \u003d \u0027healthmonitor\u0027"},{"line_number":19,"context_line":"    resources_key \u003d \u0027healthmonitorss\u0027"},{"line_number":20,"context_line":"    base_path \u003d \u0027/healthmonitors\u0027"},{"line_number":21,"context_line":"    service \u003d lb_service.LoadBalancerService()"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_1b3329f8","line":19,"updated":"2017-04-05 12:29:37.000000000","message":"Probably just one S at the end, right? :)","commit_id":"e0b7639781b1375f3abfaad5f629d94c8c61d53c"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"33412c10d2b5a12b2e8c109b7eedf55f6f5616c8","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    #: The type of health monitor"},{"line_number":33,"context_line":"    type \u003d resource.Body(\u0027type\u0027)"},{"line_number":34,"context_line":"    #: The administrative state of the healthmonitor *Type: bool*"},{"line_number":35,"context_line":"    admin_state_up \u003d resource.Body(\u0027admin_state_up\u0027, type\u003dbool)"},{"line_number":36,"context_line":"    #: The time, in seconds, between sending probes to members."},{"line_number":37,"context_line":"    delay \u003d resource.Body(\u0027delay\u0027)"},{"line_number":38,"context_line":"    #: The time, in seconds, after which a health check times out"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_1b48c959","line":35,"updated":"2017-04-05 12:29:37.000000000","message":"This should be `is_admin_state_up \u003d resource...`","commit_id":"e0b7639781b1375f3abfaad5f629d94c8c61d53c"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"33412c10d2b5a12b2e8c109b7eedf55f6f5616c8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    delay \u003d resource.Body(\u0027delay\u0027)"},{"line_number":38,"context_line":"    #: The time, in seconds, after which a health check times out"},{"line_number":39,"context_line":"    timeout \u003d resource.Body(\u0027timeout\u0027)"},{"line_number":40,"context_line":"    #:"},{"line_number":41,"context_line":"    fall_threshold \u003d resource.Body(\u0027max_retries_down\u0027)"},{"line_number":42,"context_line":"    #: The number of allowed connection failures"},{"line_number":43,"context_line":"    rise_threshold \u003d resource.Body(\u0027max_retries\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_7b7235af","line":40,"updated":"2017-04-05 12:29:37.000000000","message":"Doc here?","commit_id":"e0b7639781b1375f3abfaad5f629d94c8c61d53c"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"33412c10d2b5a12b2e8c109b7eedf55f6f5616c8","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    #:"},{"line_number":41,"context_line":"    fall_threshold \u003d resource.Body(\u0027max_retries_down\u0027)"},{"line_number":42,"context_line":"    #: The number of allowed connection failures"},{"line_number":43,"context_line":"    rise_threshold \u003d resource.Body(\u0027max_retries\u0027)"},{"line_number":44,"context_line":"    #: The HTTP method that the monitor uses for requests"},{"line_number":45,"context_line":"    http_method \u003d resource.Body(\u0027http_method\u0027)"},{"line_number":46,"context_line":"    #: The HTTP path of the request to test the health of a member"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_db06e1ce","line":43,"updated":"2017-04-05 12:29:37.000000000","message":"Can you link to the docs for this? I\u0027m not understanding the rise/fall terminology here based on the retry names it\u0027s associated with.","commit_id":"e0b7639781b1375f3abfaad5f629d94c8c61d53c"}]}
