{"action":"created","comment":{"url":"https://api.github.com/repos/ansible/ansible/pulls/comments/201738556","pull_request_review_id":136298890,"id":201738556,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTczODU1Ng==","diff_hunk":"@@ -0,0 +1,203 @@\n+#!/usr/bin/python\n+\n+# Copyright: (c) 2018, Aaron Smith <ajsmith10381@gmail.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+ANSIBLE_METADATA = {'metadata_version': '1.1',\n+                    'status': ['preview'],\n+                    'supported_by': 'community'}\n+\n+\n+DOCUMENTATION = r'''\n+---\n+module: aws_secret_facts\n+short_description: Access facts for secrets stored in AWS Secrets Manager.\n+description:\n+    - Access facts for secrets stored in AWS Secrets Manager.\n+author: \"Aaron Smith (@slapula)\"\n+version_added: \"2.7\"\n+requirements: [ 'botocore>=1.10.0', 'boto3' ]\n+options:\n+  name:\n+    description:\n+    - Friendly name of the secret you are looking up.\n+  prefix:\n+    description:\n+    - Common string identifier that has been added to the beginning of a secret name.\n+  suffix:\n+    description:\n+    - Common string identifier that has been added to the end of a secret name.\n+  regex:\n+    description:\n+    - Regex pattern that can be used to identify a specific secret or set of secrets.\n+notes:\n+  - Leaving all parameters empty will cause the module to look up the information of all secrets stored\n+    in Secrets Manager.\n+extends_documentation_fragment:\n+    - ec2\n+    - aws\n+'''\n+\n+\n+EXAMPLES = r'''\n+- name: Get facts for all secrets\n+  aws_secret_facts:\n+  register: all_secrets\n+\n+- name: Get facts for specific secret\n+  aws_secret_facts:\n+    name: 'example_secret'\n+  register: specific_secret\n+\n+- name: Get facts for specific prefix of secrets\n+  aws_secret_facts:\n+    prefix: 'example_'\n+  register: specific_prefix_set\n+'''\n+\n+\n+RETURN = r'''\n+arn:\n+    description: The Amazon Resource Name (ARN) of the secret.\n+    returned: always\n+    type: string\n+name:\n+    description: The friendly name of the secret.\n+    returned: always\n+    type: string\n+description:\n+    description: The user-provided description of the secret.\n+    returned: always\n+    type: string\n+kms_key_id:\n+    description:\n+      - The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString and SecretBinary fields in each\n+        version of the secret.  If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default\n+        KMS CMK (the one named awssecretsmanager ) for this account.\n+    returned: always\n+    type: string\n+rotation_enabled:\n+    description: Indicated whether automatic, scheduled rotation is enabled for this secret.\n+    returned: always\n+    type: boolean\n+rotation_lambda_arn:\n+    description:\n+      - The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate and expire the secret either automatically per\n+        the schedule or manually by a call to RotateSecret .\n+    returned: always\n+    type: string\n+rotation_rules:\n+    description: A structure that defines the rotation configuration for the secret.\n+    returned: always\n+    type: dict\n+automatically_after_days:\n+    description: Specifies the number of days between automatic scheduled rotations of the secret.\n+    returned: always\n+    type: int\n+last_rotate_date:\n+    description: The last date and time that the rotation process for this secret was invoked.\n+    returned: always\n+    type: string\n+last_changed_date:\n+    description: The last date and time that this secret was modified in any way.\n+    returned: always\n+    type: string\n+last_access_date:\n+    description: The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.\n+    returned: always\n+    type: string\n+deleted_date:\n+    description:\n+      - The date and time on which this secret was deleted. Not present on active secrets. The secret can be recovered until the number of days\n+        in the recovery window has passed, as specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.\n+    returned: always\n+    type: string\n+tags:\n+    description: The list of user-defined tags that are associated with the secret.\n+    returned: always\n+    type: list\n+secret_versions_to_stages:\n+    description: A list of all of the currently assigned SecretVersionStage staging labels and the SecretVersionId that each is attached to.\n+    returned: always\n+    type: dict\n+'''\n+\n+import os\n+import re\n+\n+from ansible.module_utils.aws.core import AnsibleAWSModule\n+from ansible.module_utils.ec2 import camel_dict_to_snake_dict\n+\n+try:\n+    from botocore.exceptions import BotoCoreError, ClientError\n+except ImportError:\n+    pass  # handled by AnsibleAWSModule\n+\n+\n+def camel_list_to_snake_list(list):\n+    conv_list = []\n+    for i in list:\n+        conv_list.append(camel_dict_to_snake_dict(i))\n+    return conv_list\n+\n+\n+def main():\n+    module = AnsibleAWSModule(\n+        argument_spec={\n+            'name': dict(type='str'),\n+            'prefix': dict(type='str'),\n+            'suffix': dict(type='str'),\n+            'regex': dict(type='str'),\n+        },\n+        supports_check_mode=True,\n+    )\n+\n+    result = {\n+        'changed': True,\n+        'desired_secrets': []\n+    }\n+\n+    client = module.client('secretsmanager')\n+\n+    kwargs = {}\n+    all_secrets = []\n+\n+    try:\n+        while True:\n+            response = client.list_secrets(**kwargs)\n+            for i in response['SecretList']:\n+                all_secrets.append(i)\n+            try:\n+                kwargs['nextToken'] = response['nextToken']","path":"lib/ansible/modules/cloud/amazon/aws_secret_facts.py","position":174,"original_position":174,"commit_id":"6ac65b90daf04c8bbd20c353b79e53c307af731b","original_commit_id":"6ac65b90daf04c8bbd20c353b79e53c307af731b","user":{"login":"ryansb","id":636610,"node_id":"MDQ6VXNlcjYzNjYxMA==","avatar_url":"https://avatars1.githubusercontent.com/u/636610?v=4","gravatar_id":"","url":"https://api.github.com/users/ryansb","html_url":"https://github.com/ryansb","followers_url":"https://api.github.com/users/ryansb/followers","following_url":"https://api.github.com/users/ryansb/following{/other_user}","gists_url":"https://api.github.com/users/ryansb/gists{/gist_id}","starred_url":"https://api.github.com/users/ryansb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryansb/subscriptions","organizations_url":"https://api.github.com/users/ryansb/orgs","repos_url":"https://api.github.com/users/ryansb/repos","events_url":"https://api.github.com/users/ryansb/events{/privacy}","received_events_url":"https://api.github.com/users/ryansb/received_events","type":"User","site_admin":false},"body":"I think this should also break if `nextToken` is None/False/empty to make sure this loop doesn't run a final query and duplicate secrets. ","created_at":"2018-07-11T15:34:17Z","updated_at":"2018-07-11T15:50:38Z","html_url":"https://github.com/ansible/ansible/pull/42159#discussion_r201738556","pull_request_url":"https://api.github.com/repos/ansible/ansible/pulls/42159","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments/201738556"},"html":{"href":"https://github.com/ansible/ansible/pull/42159#discussion_r201738556"},"pull_request":{"href":"https://api.github.com/repos/ansible/ansible/pulls/42159"}}},"pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/42159","id":198496414,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NDk2NDE0","html_url":"https://github.com/ansible/ansible/pull/42159","diff_url":"https://github.com/ansible/ansible/pull/42159.diff","patch_url":"https://github.com/ansible/ansible/pull/42159.patch","issue_url":"https://api.github.com/repos/ansible/ansible/issues/42159","number":42159,"state":"open","locked":false,"title":"Adding aws_secret_facts module for AWS Secrets Manager","user":{"login":"slapula","id":6226971,"node_id":"MDQ6VXNlcjYyMjY5NzE=","avatar_url":"https://avatars3.githubusercontent.com/u/6226971?v=4","gravatar_id":"","url":"https://api.github.com/users/slapula","html_url":"https://github.com/slapula","followers_url":"https://api.github.com/users/slapula/followers","following_url":"https://api.github.com/users/slapula/following{/other_user}","gists_url":"https://api.github.com/users/slapula/gists{/gist_id}","starred_url":"https://api.github.com/users/slapula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slapula/subscriptions","organizations_url":"https://api.github.com/users/slapula/orgs","repos_url":"https://api.github.com/users/slapula/repos","events_url":"https://api.github.com/users/slapula/events{/privacy}","received_events_url":"https://api.github.com/users/slapula/received_events","type":"User","site_admin":false},"body":"##### SUMMARY\r\nThis PR contains a facts module for secrets managed by AWS Secrets Manager. This work is related to the `aws_secret` module I submitted in #40093. The integration tests use the `aws_secret` module from that PR which means they will fail here until that PR is merged into this one.\r\n\r\n@wknapik I believe this is relevant to your interests.\r\n\r\n##### ISSUE TYPE\r\n - New Module Pull Request\r\n\r\n##### COMPONENT NAME\r\n`aws_secret_facts`\r\n\r\n##### ANSIBLE VERSION\r\n```\r\nansible 2.5.4\r\n  config file = None\r\n  configured module search path = [u'/home/ajsmith/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']\r\n  ansible python module location = /home/ajsmith/.local/lib/python2.7/site-packages/ansible\r\n  executable location = /home/ajsmith/.local/bin/ansible\r\n  python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]\r\n```","created_at":"2018-06-30T22:13:20Z","updated_at":"2018-07-11T15:50:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"de4c3972c1fff86b23ef8a57f9c8535d416ec432","assignee":null,"assignees":[],"requested_reviewers":[{"login":"s-hertel","id":19572925,"node_id":"MDQ6VXNlcjE5NTcyOTI1","avatar_url":"https://avatars2.githubusercontent.com/u/19572925?v=4","gravatar_id":"","url":"https://api.github.com/users/s-hertel","html_url":"https://github.com/s-hertel","followers_url":"https://api.github.com/users/s-hertel/followers","following_url":"https://api.github.com/users/s-hertel/following{/other_user}","gists_url":"https://api.github.com/users/s-hertel/gists{/gist_id}","starred_url":"https://api.github.com/users/s-hertel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s-hertel/subscriptions","organizations_url":"https://api.github.com/users/s-hertel/orgs","repos_url":"https://api.github.com/users/s-hertel/repos","events_url":"https://api.github.com/users/s-hertel/events{/privacy}","received_events_url":"https://api.github.com/users/s-hertel/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":947190508,"node_id":"MDU6TGFiZWw5NDcxOTA1MDg=","url":"https://api.github.com/repos/ansible/ansible/labels/affects_2.7","name":"affects_2.7","color":"ededed","default":false},{"id":379680333,"node_id":"MDU6TGFiZWwzNzk2ODAzMzM=","url":"https://api.github.com/repos/ansible/ansible/labels/aws","name":"aws","color":"c5def5","default":false},{"id":530145226,"node_id":"MDU6TGFiZWw1MzAxNDUyMjY=","url":"https://api.github.com/repos/ansible/ansible/labels/ci_verified","name":"ci_verified","color":"b60205","default":false},{"id":61528803,"node_id":"MDU6TGFiZWw2MTUyODgwMw==","url":"https://api.github.com/repos/ansible/ansible/labels/cloud","name":"cloud","color":"c7def8","default":false},{"id":496359346,"node_id":"MDU6TGFiZWw0OTYzNTkzNDY=","url":"https://api.github.com/repos/ansible/ansible/labels/module","name":"module","color":"1d76db","default":false},{"id":61436281,"node_id":"MDU6TGFiZWw2MTQzNjI4MQ==","url":"https://api.github.com/repos/ansible/ansible/labels/needs_revision","name":"needs_revision","color":"eb6450","default":false},{"id":723150340,"node_id":"MDU6TGFiZWw3MjMxNTAzNDA=","url":"https://api.github.com/repos/ansible/ansible/labels/new_contributor","name":"new_contributor","color":"c2e0c6","default":false},{"id":473225334,"node_id":"MDU6TGFiZWw0NzMyMjUzMzQ=","url":"https://api.github.com/repos/ansible/ansible/labels/new_module","name":"new_module","color":"c2e0c6","default":false},{"id":153577825,"node_id":"MDU6TGFiZWwxNTM1Nzc4MjU=","url":"https://api.github.com/repos/ansible/ansible/labels/new_plugin","name":"new_plugin","color":"bfe5bf","default":false},{"id":636327968,"node_id":"MDU6TGFiZWw2MzYzMjc5Njg=","url":"https://api.github.com/repos/ansible/ansible/labels/support:community","name":"support:community","color":"ededed","default":false},{"id":636352796,"node_id":"MDU6TGFiZWw2MzYzNTI3OTY=","url":"https://api.github.com/repos/ansible/ansible/labels/support:core","name":"support:core","color":"ededed","default":false},{"id":468273802,"node_id":"MDU6TGFiZWw0NjgyNzM4MDI=","url":"https://api.github.com/repos/ansible/ansible/labels/test","name":"test","color":"0e8a16","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/ansible/ansible/pulls/42159/commits","review_comments_url":"https://api.github.com/repos/ansible/ansible/pulls/42159/comments","review_comment_url":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/42159/comments","statuses_url":"https://api.github.com/repos/ansible/ansible/statuses/6ac65b90daf04c8bbd20c353b79e53c307af731b","head":{"label":"slapula:aws-secret-facts-module","ref":"aws-secret-facts-module","sha":"6ac65b90daf04c8bbd20c353b79e53c307af731b","user":{"login":"slapula","id":6226971,"node_id":"MDQ6VXNlcjYyMjY5NzE=","avatar_url":"https://avatars3.githubusercontent.com/u/6226971?v=4","gravatar_id":"","url":"https://api.github.com/users/slapula","html_url":"https://github.com/slapula","followers_url":"https://api.github.com/users/slapula/followers","following_url":"https://api.github.com/users/slapula/following{/other_user}","gists_url":"https://api.github.com/users/slapula/gists{/gist_id}","starred_url":"https://api.github.com/users/slapula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slapula/subscriptions","organizations_url":"https://api.github.com/users/slapula/orgs","repos_url":"https://api.github.com/users/slapula/repos","events_url":"https://api.github.com/users/slapula/events{/privacy}","received_events_url":"https://api.github.com/users/slapula/received_events","type":"User","site_admin":false},"repo":{"id":119729773,"node_id":"MDEwOlJlcG9zaXRvcnkxMTk3Mjk3NzM=","name":"ansible","full_name":"slapula/ansible","owner":{"login":"slapula","id":6226971,"node_id":"MDQ6VXNlcjYyMjY5NzE=","avatar_url":"https://avatars3.githubusercontent.com/u/6226971?v=4","gravatar_id":"","url":"https://api.github.com/users/slapula","html_url":"https://github.com/slapula","followers_url":"https://api.github.com/users/slapula/followers","following_url":"https://api.github.com/users/slapula/following{/other_user}","gists_url":"https://api.github.com/users/slapula/gists{/gist_id}","starred_url":"https://api.github.com/users/slapula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slapula/subscriptions","organizations_url":"https://api.github.com/users/slapula/orgs","repos_url":"https://api.github.com/users/slapula/repos","events_url":"https://api.github.com/users/slapula/events{/privacy}","received_events_url":"https://api.github.com/users/slapula/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/slapula/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/slapula/ansible","forks_url":"https://api.github.com/repos/slapula/ansible/forks","keys_url":"https://api.github.com/repos/slapula/ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/slapula/ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/slapula/ansible/teams","hooks_url":"https://api.github.com/repos/slapula/ansible/hooks","issue_events_url":"https://api.github.com/repos/slapula/ansible/issues/events{/number}","events_url":"https://api.github.com/repos/slapula/ansible/events","assignees_url":"https://api.github.com/repos/slapula/ansible/assignees{/user}","branches_url":"https://api.github.com/repos/slapula/ansible/branches{/branch}","tags_url":"https://api.github.com/repos/slapula/ansible/tags","blobs_url":"https://api.github.com/repos/slapula/ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/slapula/ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/slapula/ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/slapula/ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/slapula/ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/slapula/ansible/languages","stargazers_url":"https://api.github.com/repos/slapula/ansible/stargazers","contributors_url":"https://api.github.com/repos/slapula/ansible/contributors","subscribers_url":"https://api.github.com/repos/slapula/ansible/subscribers","subscription_url":"https://api.github.com/repos/slapula/ansible/subscription","commits_url":"https://api.github.com/repos/slapula/ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/slapula/ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/slapula/ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/slapula/ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/slapula/ansible/contents/{+path}","compare_url":"https://api.github.com/repos/slapula/ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/slapula/ansible/merges","archive_url":"https://api.github.com/repos/slapula/ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/slapula/ansible/downloads","issues_url":"https://api.github.com/repos/slapula/ansible/issues{/number}","pulls_url":"https://api.github.com/repos/slapula/ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/slapula/ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/slapula/ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/slapula/ansible/labels{/name}","releases_url":"https://api.github.com/repos/slapula/ansible/releases{/id}","deployments_url":"https://api.github.com/repos/slapula/ansible/deployments","created_at":"2018-01-31T18:59:24Z","updated_at":"2018-07-03T14:28:45Z","pushed_at":"2018-07-06T18:19:14Z","git_url":"git://github.com/slapula/ansible.git","ssh_url":"git@github.com:slapula/ansible.git","clone_url":"https://github.com/slapula/ansible.git","svn_url":"https://github.com/slapula/ansible","homepage":"https://www.ansible.com/","size":124708,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"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","node_id":"MDc6TGljZW5zZTk="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"devel"}},"base":{"label":"ansible:devel","ref":"devel","sha":"fc25d280be43540e1d7e9fdaac56902c4634a482","user":{"login":"ansible","id":1507452,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1MDc0NTI=","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,"node_id":"MDEwOlJlcG9zaXRvcnkzNjM4OTY0","name":"ansible","full_name":"ansible/ansible","owner":{"login":"ansible","id":1507452,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1MDc0NTI=","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. https://docs.ansible.com/ansible/","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-07-11T15:45:37Z","pushed_at":"2018-07-11T15:49:34Z","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":134435,"stargazers_count":31295,"watchers_count":31295,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":11958,"mirror_url":null,"archived":false,"open_issues_count":5232,"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","node_id":"MDc6TGljZW5zZTk="},"forks":11958,"open_issues":5232,"watchers":31295,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/ansible/ansible/pulls/42159"},"html":{"href":"https://github.com/ansible/ansible/pull/42159"},"issue":{"href":"https://api.github.com/repos/ansible/ansible/issues/42159"},"comments":{"href":"https://api.github.com/repos/ansible/ansible/issues/42159/comments"},"review_comments":{"href":"https://api.github.com/repos/ansible/ansible/pulls/42159/comments"},"review_comment":{"href":"https://api.github.com/repos/ansible/ansible/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ansible/ansible/pulls/42159/commits"},"statuses":{"href":"https://api.github.com/repos/ansible/ansible/statuses/6ac65b90daf04c8bbd20c353b79e53c307af731b"}},"author_association":"NONE"}}
{"actor":{"display_login":"ryansb"}}