{"action":"created","comment":{"url":"https://api.github.com/repos/ansible/ansible/pulls/comments/170822244","pull_request_review_id":99565670,"id":170822244,"diff_hunk":"@@ -0,0 +1,222 @@\n+#!/usr/bin/python\n+# -*- coding: utf-8 -*-\n+# Copyright: (c) 2018, Abhijeet Kasurde <akasurde@redhat.com>\n+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)\n+\n+from __future__ import absolute_import, division, print_function\n+__metaclass__ = type\n+\n+\n+ANSIBLE_METADATA = {\n+    'metadata_version': '1.1',\n+    'status': ['preview'],\n+    'supported_by': 'community'\n+}\n+\n+DOCUMENTATION = r'''\n+---\n+module: vmware_host_powerstate\n+short_description: Manages power states of host systems in vCenter\n+description:\n+- This module can be used to manage power states of host systems in given vCenter infrastructure.\n+- User can set power state to 'power-down-to-standby', 'power-up-from-standby', 'shutdown-host' and 'reboot-host'.\n+- State 'reboot-host', 'shutdown-host' and 'power-down-to-standby' are not supported by all the host systems.\n+version_added: 2.6\n+author:\n+- Abhijeet Kasurde (@akasurde) <akasurde@redhat.com>\n+requirements:\n+- python >= 2.6\n+- PyVmomi\n+options:\n+  state:\n+    description:\n+    - Set the state of the host system.\n+    choices: [ 'power-down-to-standby', 'power-up-from-standby', 'shutdown-host', 'reboot-host' ]\n+    default: 'shutdown-host'\n+  esxi_hostname:\n+    description:\n+    - Name of the host system to work with.\n+    - This is required parameter if C(cluster_name) is not specified.\n+  cluster_name:\n+    description:\n+    - Name of the cluster from which all host systems will be used.\n+    - This is required parameter if C(esxi_hostname) is not specified.\n+  force:\n+    description:\n+    - 'This parameter specify if the host should be proceeding with user defined powerstate\n+      regardless of whether it is in maintenance mode.'\n+    - 'If C(state) set to C(reboot-host) and C(force) as C(true), then host system is rebooted regardless of whether it is in maintenance mode.'\n+    - 'If C(state) set to C(shutdown-host) and C(force) as C(true), then host system is shutdown regardless of whether it is in maintenance mode.'\n+    - 'If C(state) set to C(power-down-to-standby) and C(force) to C(true), then all powered off VMs will evacuated.'\n+    - 'Not applicable if C(state) set to C(power-up-from-standby).'\n+    choices: [ True, False ]\n+    type: bool\n+    default: False\n+  timeout:\n+    description:\n+    - 'This parameter defines timeout for C(state) set to C(power-down-to-standby) or C(power-up-from-standby).'\n+    - 'Ignored if C(state) set to C(reboot-host) or C(shutdown-host).'\n+    - 'This parameter is defined in seconds.'\n+    default: 600\n+extends_documentation_fragment: vmware.documentation\n+'''\n+\n+EXAMPLES = r'''\n+- name: Set the state of a host system to reboot\n+  vmware_host_powerstate:\n+    hostname: 192.0.2.44\n+    username: administrator@vsphere.local\n+    password: vmware\n+    validate_certs: no\n+    esxi_hostname: esxi01\n+    state: reboot-host\n+  delegate_to: localhost\n+  register: reboot_host\n+\n+- name: Set the state of a host system to power down to standby\n+  vmware_host_powerstate:\n+    hostname: 192.0.2.44\n+    username: administrator@vsphere.local\n+    password: vmware\n+    validate_certs: no\n+    esxi_hostname: power-down-to-standby\n+    state: power-down-to-standby\n+  delegate_to: localhost\n+  register: power_down\n+\n+- name: Set the state of all host systems from cluster to reboot\n+  vmware_host_powerstate:\n+    hostname: 192.0.2.44\n+    username: administrator@vsphere.local\n+    password: vmware\n+    validate_certs: no\n+    cluster_name: DC0_C0\n+    state: reboot-host\n+  delegate_to: localhost\n+  register: reboot_host\n+\n+'''\n+\n+RETURN = r'''\n+result:\n+    description: metadata about host system's state\n+    returned: always\n+    type: dict\n+    sample: {\n+        \"esxi01\": {\n+            \"msg\": \"power down 'esxi01' to standby\",\n+            \"error\": \"\",\n+        },\n+    }\n+'''\n+\n+try:\n+    from pyVmomi import vim, vmodl\n+except ImportError:\n+    pass\n+\n+from ansible.module_utils.basic import AnsibleModule\n+from ansible.module_utils.vmware import PyVmomi, vmware_argument_spec, wait_for_task, TaskError\n+from ansible.module_utils._text import to_native\n+\n+\n+class VmwareHostPowerManager(PyVmomi):\n+    def __init__(self, module):\n+        super(VmwareHostPowerManager, self).__init__(module)\n+        cluster_name = self.params.get('cluster_name')\n+        esxi_host_name = self.params.get('esxi_hostname')\n+        self.hosts = self.get_all_host_objs(cluster_name=cluster_name, esxi_host_name=esxi_host_name)\n+        if not self.hosts:\n+            self.module.fail_json(msg=\"Failed to find host system with given configuration.\")\n+\n+    def ensure(self):\n+        \"\"\"\n+        Function to manage internal state of host system\n+\n+        \"\"\"\n+        results = dict(changed=False, result=dict())\n+        state = self.params.get('state')\n+        force = self.params.get('force')\n+        timeout = self.params.get('timeout')\n+        host_change_list = []\n+        for host in self.hosts:\n+            changed = False\n+            if not host.runtime.inMaintenanceMode and not force:\n+                self.module.fail_json(msg=\"Current host system '%s' is not in maintenance mode,\"\n+                                          \" please specify 'force' as True to proceed.\" % host.name)\n+            if host.runtime.connectionState == 'notResponding':\n+                self.module.fail_json(msg=\"Current host system '%s' can not be set in '%s'\"\n+                                          \" mode as the host system is not responding.\" % (host.name, state))\n+\n+            results['result'][host.name] = dict(msg='', error='')\n+            if state == 'reboot-host' and not host.capability.rebootSupported:\n+                self.module.fail_json(msg=\"Current host '%s' can be rebooted as the host system\"\n+                                          \" does not have capability to reboot.\" % host.name)\n+            elif state == 'shutdown-host' and not host.capability.shutdownSupported:\n+                self.module.fail_json(msg=\"Current host '%s' can be shut down as the host system\"\n+                                          \" does not have capability to shut down.\" % host.name)\n+            elif state in ['power-down-to-standby', 'power-up-from-standby'] and not host.capability.standbySupported:\n+                self.module.fail_json(msg=\"Current host '%s' can be %s as the host system\"","path":"lib/ansible/modules/cloud/vmware/vmware_host_powerstate.py","position":159,"original_position":159,"commit_id":"2e1b6f0b4bbd31bae9a2f62f431592a13c8c86d1","original_commit_id":"2e1b6f0b4bbd31bae9a2f62f431592a13c8c86d1","user":{"login":"Akasurde","id":633765,"avatar_url":"https://avatars1.githubusercontent.com/u/633765?v=4","gravatar_id":"","url":"https://api.github.com/users/Akasurde","html_url":"https://github.com/Akasurde","followers_url":"https://api.github.com/users/Akasurde/followers","following_url":"https://api.github.com/users/Akasurde/following{/other_user}","gists_url":"https://api.github.com/users/Akasurde/gists{/gist_id}","starred_url":"https://api.github.com/users/Akasurde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akasurde/subscriptions","organizations_url":"https://api.github.com/users/Akasurde/orgs","repos_url":"https://api.github.com/users/Akasurde/repos","events_url":"https://api.github.com/users/Akasurde/events{/privacy}","received_events_url":"https://api.github.com/users/Akasurde/received_events","type":"User","site_admin":false},"body":"Done.","created_at":"2018-02-27T05:56:08Z","updated_at":"2018-02-27T05:56:08Z","html_url":"https://github.com/ansible/ansible/pull/36577#discussion_r170822244","pull_request_url":"https://api.github.com/repos/ansible/ansible/pulls/36577","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments/170822244"},"html":{"href":"https://github.com/ansible/ansible/pull/36577#discussion_r170822244"},"pull_request":{"href":"https://api.github.com/repos/ansible/ansible/pulls/36577"}},"in_reply_to_id":170821024},"pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/36577","id":170737336,"html_url":"https://github.com/ansible/ansible/pull/36577","diff_url":"https://github.com/ansible/ansible/pull/36577.diff","patch_url":"https://github.com/ansible/ansible/pull/36577.patch","issue_url":"https://api.github.com/repos/ansible/ansible/issues/36577","number":36577,"state":"open","locked":false,"title":"VMware: new module: vmware_host_powerstate","user":{"login":"Akasurde","id":633765,"avatar_url":"https://avatars1.githubusercontent.com/u/633765?v=4","gravatar_id":"","url":"https://api.github.com/users/Akasurde","html_url":"https://github.com/Akasurde","followers_url":"https://api.github.com/users/Akasurde/followers","following_url":"https://api.github.com/users/Akasurde/following{/other_user}","gists_url":"https://api.github.com/users/Akasurde/gists{/gist_id}","starred_url":"https://api.github.com/users/Akasurde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akasurde/subscriptions","organizations_url":"https://api.github.com/users/Akasurde/orgs","repos_url":"https://api.github.com/users/Akasurde/repos","events_url":"https://api.github.com/users/Akasurde/events{/privacy}","received_events_url":"https://api.github.com/users/Akasurde/received_events","type":"User","site_admin":false},"body":"##### SUMMARY\r\nSigned-off-by: Abhijeet Kasurde <akasurde@redhat.com>\r\n\r\n##### ISSUE TYPE\r\n - New Module Pull Request\r\n\r\n##### COMPONENT NAME\r\nlib/ansible/modules/cloud/vmware/vmware_host_powerstate.py\r\ntest/integration/targets/vmware_host_powerstate/aliases\r\ntest/integration/targets/vmware_host_powerstate/tasks/main.yml\r\n\r\n##### ANSIBLE VERSION\r\n<!--- Paste verbatim output from \"ansible --version\" between quotes below -->\r\n```\r\n2.6devel\r\n```","created_at":"2018-02-22T12:31:29Z","updated_at":"2018-02-27T05:56:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f1bde08a5903b024325c97147cfa216b6a74cdd3","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":61528803,"url":"https://api.github.com/repos/ansible/ansible/labels/cloud","name":"cloud","color":"c7def8","default":false},{"id":496359346,"url":"https://api.github.com/repos/ansible/ansible/labels/module","name":"module","color":"1d76db","default":false},{"id":61436281,"url":"https://api.github.com/repos/ansible/ansible/labels/needs_revision","name":"needs_revision","color":"eb6450","default":false},{"id":473225334,"url":"https://api.github.com/repos/ansible/ansible/labels/new_module","name":"new_module","color":"ededed","default":false},{"id":153577825,"url":"https://api.github.com/repos/ansible/ansible/labels/new_plugin","name":"new_plugin","color":"bfe5bf","default":false},{"id":636327968,"url":"https://api.github.com/repos/ansible/ansible/labels/support:community","name":"support:community","color":"ededed","default":false},{"id":468273802,"url":"https://api.github.com/repos/ansible/ansible/labels/test","name":"test","color":"0e8a16","default":false},{"id":427121291,"url":"https://api.github.com/repos/ansible/ansible/labels/vmware","name":"vmware","color":"d93f0b","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/ansible/ansible/pulls/36577/commits","review_comments_url":"https://api.github.com/repos/ansible/ansible/pulls/36577/comments","review_comment_url":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/36577/comments","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/2e1b6f0b4bbd31bae9a2f62f431592a13c8c86d1","head":{"label":"Akasurde:vmware_host_powerstate","ref":"vmware_host_powerstate","sha":"2e1b6f0b4bbd31bae9a2f62f431592a13c8c86d1","user":{"login":"Akasurde","id":633765,"avatar_url":"https://avatars1.githubusercontent.com/u/633765?v=4","gravatar_id":"","url":"https://api.github.com/users/Akasurde","html_url":"https://github.com/Akasurde","followers_url":"https://api.github.com/users/Akasurde/followers","following_url":"https://api.github.com/users/Akasurde/following{/other_user}","gists_url":"https://api.github.com/users/Akasurde/gists{/gist_id}","starred_url":"https://api.github.com/users/Akasurde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akasurde/subscriptions","organizations_url":"https://api.github.com/users/Akasurde/orgs","repos_url":"https://api.github.com/users/Akasurde/repos","events_url":"https://api.github.com/users/Akasurde/events{/privacy}","received_events_url":"https://api.github.com/users/Akasurde/received_events","type":"User","site_admin":false},"repo":{"id":87410645,"name":"ansible","full_name":"Akasurde/ansible","owner":{"login":"Akasurde","id":633765,"avatar_url":"https://avatars1.githubusercontent.com/u/633765?v=4","gravatar_id":"","url":"https://api.github.com/users/Akasurde","html_url":"https://github.com/Akasurde","followers_url":"https://api.github.com/users/Akasurde/followers","following_url":"https://api.github.com/users/Akasurde/following{/other_user}","gists_url":"https://api.github.com/users/Akasurde/gists{/gist_id}","starred_url":"https://api.github.com/users/Akasurde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akasurde/subscriptions","organizations_url":"https://api.github.com/users/Akasurde/orgs","repos_url":"https://api.github.com/users/Akasurde/repos","events_url":"https://api.github.com/users/Akasurde/events{/privacy}","received_events_url":"https://api.github.com/users/Akasurde/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Akasurde/ansible","description":"Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.","fork":true,"url":"https://api.github.com/repos/Akasurde/ansible","forks_url":"https://api.github.com/repos/Akasurde/ansible/forks","keys_url":"https://api.github.com/repos/Akasurde/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Akasurde/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Akasurde/ansible/teams","hooks_url":"https://api.github.com/repos/Akasurde/ansible/hooks","issue_events_url":"https://api.github.com/repos/Akasurde/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/Akasurde/ansible/events","assignees_url":"https://api.github.com/repos/Akasurde/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/Akasurde/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/Akasurde/ansible/tags","blobs_url":"https://api.github.com/repos/Akasurde/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Akasurde/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Akasurde/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/Akasurde/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Akasurde/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/Akasurde/ansible/languages","stargazers_url":"https://api.github.com/repos/Akasurde/ansible/stargazers","contributors_url":"https://api.github.com/repos/Akasurde/ansible/contributors","subscribers_url":"https://api.github.com/repos/Akasurde/ansible/subscribers","subscription_url":"https://api.github.com/repos/Akasurde/ansible/subscription","commits_url":"https://api.github.com/repos/Akasurde/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/Akasurde/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/Akasurde/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/Akasurde/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/Akasurde/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/Akasurde/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Akasurde/ansible/merges","archive_url":"https://api.github.com/repos/Akasurde/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Akasurde/ansible/downloads","issues_url":"https://api.github.com/repos/Akasurde/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/Akasurde/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/Akasurde/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/Akasurde/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Akasurde/ansible/labels{/name}","releases_url":"https://api.github.com/repos/Akasurde/ansible/releases{/id}","deployments_url":"https://api.github.com/repos/Akasurde/ansible/deployments","created_at":"2017-04-06T09:20:07Z","updated_at":"2017-09-14T20:16:19Z","pushed_at":"2018-02-27T04:54:21Z","git_url":"git://github.com/Akasurde/ansible.git","ssh_url":"git@github.com:Akasurde/ansible.git","clone_url":"https://github.com/Akasurde/ansible.git","svn_url":"https://github.com/Akasurde/ansible","homepage":"http://ansible.com/","size":119719,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":2,"open_issues":2,"watchers":1,"default_branch":"devel"}},"base":{"label":"ansible:devel","ref":"devel","sha":"d31d981aa55601860e3917812527d81663caef2e","user":{"login":"ansible","id":1507452,"avatar_url":"https://avatars2.githubusercontent.com/u/1507452?v=4","gravatar_id":"","url":"https://api.github.com/users/ansible","html_url":"https://github.com/ansible","followers_url":"https://api.github.com/users/ansible/followers","following_url":"https://api.github.com/users/ansible/following{/other_user}","gists_url":"https://api.github.com/users/ansible/gists{/gist_id}","starred_url":"https://api.github.com/users/ansible/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansible/subscriptions","organizations_url":"https://api.github.com/users/ansible/orgs","repos_url":"https://api.github.com/users/ansible/repos","events_url":"https://api.github.com/users/ansible/events{/privacy}","received_events_url":"https://api.github.com/users/ansible/received_events","type":"Organization","site_admin":false},"repo":{"id":3638964,"name":"ansible","full_name":"ansible/ansible","owner":{"login":"ansible","id":1507452,"avatar_url":"https://avatars2.githubusercontent.com/u/1507452?v=4","gravatar_id":"","url":"https://api.github.com/users/ansible","html_url":"https://github.com/ansible","followers_url":"https://api.github.com/users/ansible/followers","following_url":"https://api.github.com/users/ansible/following{/other_user}","gists_url":"https://api.github.com/users/ansible/gists{/gist_id}","starred_url":"https://api.github.com/users/ansible/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansible/subscriptions","organizations_url":"https://api.github.com/users/ansible/orgs","repos_url":"https://api.github.com/users/ansible/repos","events_url":"https://api.github.com/users/ansible/events{/privacy}","received_events_url":"https://api.github.com/users/ansible/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ansible/ansible","description":"Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.","fork":false,"url":"https://api.github.com/repos/ansible/ansible","forks_url":"https://api.github.com/repos/ansible/ansible/forks","keys_url":"https://api.github.com/repos/ansible/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ansible/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ansible/ansible/teams","hooks_url":"https://api.github.com/repos/ansible/ansible/hooks","issue_events_url":"https://api.github.com/repos/ansible/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/ansible/ansible/events","assignees_url":"https://api.github.com/repos/ansible/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/ansible/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/ansible/ansible/tags","blobs_url":"https://api.github.com/repos/ansible/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ansible/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ansible/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/ansible/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/ansible/ansible/languages","stargazers_url":"https://api.github.com/repos/ansible/ansible/stargazers","contributors_url":"https://api.github.com/repos/ansible/ansible/contributors","subscribers_url":"https://api.github.com/repos/ansible/ansible/subscribers","subscription_url":"https://api.github.com/repos/ansible/ansible/subscription","commits_url":"https://api.github.com/repos/ansible/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/ansible/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/ansible/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/ansible/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/ansible/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/ansible/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ansible/ansible/merges","archive_url":"https://api.github.com/repos/ansible/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ansible/ansible/downloads","issues_url":"https://api.github.com/repos/ansible/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/ansible/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/ansible/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/ansible/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ansible/ansible/labels{/name}","releases_url":"https://api.github.com/repos/ansible/ansible/releases{/id}","deployments_url":"https://api.github.com/repos/ansible/ansible/deployments","created_at":"2012-03-06T14:58:02Z","updated_at":"2018-02-27T05:41:35Z","pushed_at":"2018-02-27T05:21:27Z","git_url":"git://github.com/ansible/ansible.git","ssh_url":"git@github.com:ansible/ansible.git","clone_url":"https://github.com/ansible/ansible.git","svn_url":"https://github.com/ansible/ansible","homepage":"https://www.ansible.com/","size":120017,"stargazers_count":28653,"watchers_count":28653,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":10343,"mirror_url":null,"archived":false,"open_issues_count":4797,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0"},"forks":10343,"open_issues":4797,"watchers":28653,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/36577"},"html":{"href":"https://github.com/ansible/ansible/pull/36577"},"issue":{"href":"https://api.github.com/repos/ansible/ansible/issues/36577"},"comments":{"href":"https://api.github.com/repos/ansible/ansible/issues/36577/comments"},"review_comments":{"href":"https://api.github.com/repos/ansible/ansible/pulls/36577/comments"},"review_comment":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ansible/ansible/pulls/36577/commits"},"statuses":{"href":"https://api.github.com/repos/ansible/ansible/statuses/2e1b6f0b4bbd31bae9a2f62f431592a13c8c86d1"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"Akasurde"}}