{"action":"created","comment":{"url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/comments/198123278","pull_request_review_id":131994143,"id":198123278,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5ODEyMzI3OA==","diff_hunk":"@@ -173,30 +173,52 @@ To delete the lock:\n 1. **Make sure the lock is really orphaned!** This is especially important in shared environments like `stg` where CI or other developers could be making changes. The `Who` value in the error message gives you a clue about this.\n 1. Find the ID and Path from the error message (see above)\n 1. `rake \"force_unlock[c785778e-0b67-0bcf-88fd-8c03045a045b, gpii-terraform-state/dev-mrtyler/k8s/terraform.tfstate]\"`\n-1. You can also use the AWS web dashboard. Go to `DynamoDB -> Tables -> gpii-infra-lock-table -> Items`. Select the lock(s) for your environment `-> Actions -> Delete`.\n+1. You can also use the AWS web dashboard -- do this if you're recovering from a [messed up cluster](#my-cluster-is-messed-up-and-i-just-want-to-get-rid-of-it-so-i-can-start-over). Go to `DynamoDB -> Tables -> gpii-terraform-lock-table -> Items`. Select the lock(s) for your environment `-> Actions -> Delete`.\n \n ### My cluster is messed up and I just want to get rid of it so I can start over\n \n-1. `rake destroy` - the cleanest way to terminate a cluster. However, it may fail if the cluster never converged.\n+1. `rake destroy` - the cleanest way to terminate a cluster. However, it may fail if the cluster never converged. If `rake` is spending a lot of time trying to undeploy components from a cluster that doesn't exist, `Ctrl+c` and continue to the next step.\n 1. `rake _destroy` - destroys cloud resources but does not undeploy GPII components. This can cause `_destroy` to get stuck: Rake and Terraform don't know about resources created by Kubernetes, such as load balancers. These Kubernetes-managed resources will block Terraform from deleting, e.g. the network in which the load balancer resides.\n+   * If `rake _destroy` gets stuck, it's best to let it finish/time out (to avoid [orphaning a DynamoDB lock](#error-acquiring-the-state-lock)) and continue to the next step. We'll run `rake _destroy` again later.\n 1. The AWS dashboard - I'm sorry that you're here, but the last step is manually deleting orphaned resources.\n-   * One helpful trick is to make a Resource Group (top bar `->` Resource Groups `->` Create a Resource Group) and find resources Tagged with `KubernetesCluster: dev-mrtyler.gpii.net`. [Here is one I made for my dev environment](https://resources.console.aws.amazon.com/r/group#sharedgroup=%7B%22name%22%3A%22dev-mrtyler%22%2C%22regions%22%3A%22all%22%2C%22resourceTypes%22%3A%22all%22%2C%22tagFilters%22%3A%5B%7B%22key%22%3A%22KubernetesCluster%22%2C%22values%22%3A%5B%22dev-mrtyler.gpii.net%22%5D%7D%5D%7D).\n-   * Not all cloud resources care Taggable so you may need to explore a little, but the Resource Group report should give you an idea of what kinds of resources are getting stuck.\n-   * Eventually, I plan to add a `rake exterminate` to automate the destruction of wayward resources.\n+   * One helpful trick is to make a Classic Resource Group (top bar `->` Resource Groups `->` Create a Resource Group) and find resources Tagged with `KubernetesCluster: dev-mrtyler.gpii.net`. [Here is one I made for my dev environment](https://resources.console.aws.amazon.com/r/group#sharedgroup=%7B%22name%22%3A%22dev-mrtyler%22%2C%22regions%22%3A%22all%22%2C%22resourceTypes%22%3A%22all%22%2C%22tagFilters%22%3A%5B%7B%22key%22%3A%22KubernetesCluster%22%2C%22values%22%3A%5B%22dev-mrtyler.gpii.net%22%5D%7D%5D%7D).\n+   * Not all cloud resources are Taggable so you may need to explore a little, but the Resource Group report should give you an idea of what kinds of resources are getting stuck.\n+   * You can also use the new (non-Classic) Resource Group interface, though I find it more confusing than Classic Resource Groups:\n+      * Top bar `->` Resource Groups `->` Create a Resource Group.\n+      * Leave \"Select resource types\" dropdown alone.\n+      * \"Tag key\" is `KubernetesCluster`.\n+      * \"Optional tag value\" is `dev-mrtyler.gpii.net`.\n+      * Click \"View group resources\" above the filter fields.\n 1. The AWS dashboard, part 2 - various tools in the system store state in S3 and DynamoDB. If you encounter weird mismatch errors, you may need to perform more manual cleanup.\n-   * Check S3 Bucket `gpii-infra-state` for Keys named after your environment (`dev-mrtyler.gpii.net`) and delete only those keys. Remember to check non-environment subdirectories like `prereqs`.\n+   * Check S3 Bucket `gpii-terraform-state` for Keys named after your environment (`dev-mrtyler.gpii.net`) and delete only those keys.","path":"aws/README.md","position":155,"original_position":155,"commit_id":"7200f1b2bb2c85eb3ca75d2f4f08628e07126edf","original_commit_id":"7200f1b2bb2c85eb3ca75d2f4f08628e07126edf","user":{"login":"cindyli","id":572877,"node_id":"MDQ6VXNlcjU3Mjg3Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/572877?v=4","gravatar_id":"","url":"https://api.github.com/users/cindyli","html_url":"https://github.com/cindyli","followers_url":"https://api.github.com/users/cindyli/followers","following_url":"https://api.github.com/users/cindyli/following{/other_user}","gists_url":"https://api.github.com/users/cindyli/gists{/gist_id}","starred_url":"https://api.github.com/users/cindyli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cindyli/subscriptions","organizations_url":"https://api.github.com/users/cindyli/orgs","repos_url":"https://api.github.com/users/cindyli/repos","events_url":"https://api.github.com/users/cindyli/events{/privacy}","received_events_url":"https://api.github.com/users/cindyli/received_events","type":"User","site_admin":false},"body":"On my notes, before deleting S3 buckets, there's this step:\r\n```\r\nDelete records with “cindyli” in this order: Auto scaling groups -> instances -> volumes -> VPC -> Security group\r\n* \"Auto scaling groups, instances, volumes\" can be found on “EC2 dashboard”\r\n“Security group” and “VPC” can be found on: Top left menu “service” -> VPC -> left side menu “security group” -> delete all instances with “cindyli” (VPC will be auto deleted once all security groups are gone)\r\n```","created_at":"2018-06-26T12:28:30Z","updated_at":"2018-06-26T12:28:30Z","html_url":"https://github.com/gpii-ops/gpii-infra/pull/42#discussion_r198123278","pull_request_url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/comments/198123278"},"html":{"href":"https://github.com/gpii-ops/gpii-infra/pull/42#discussion_r198123278"},"pull_request":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42"}}},"pull_request":{"url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42","id":197303830,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3MzAzODMw","html_url":"https://github.com/gpii-ops/gpii-infra/pull/42","diff_url":"https://github.com/gpii-ops/gpii-infra/pull/42.diff","patch_url":"https://github.com/gpii-ops/gpii-infra/pull/42.patch","issue_url":"https://api.github.com/repos/gpii-ops/gpii-infra/issues/42","number":42,"state":"open","locked":false,"title":"GPII-3103 README improvements.","user":{"login":"mrtyler","id":1369918,"node_id":"MDQ6VXNlcjEzNjk5MTg=","avatar_url":"https://avatars2.githubusercontent.com/u/1369918?v=4","gravatar_id":"","url":"https://api.github.com/users/mrtyler","html_url":"https://github.com/mrtyler","followers_url":"https://api.github.com/users/mrtyler/followers","following_url":"https://api.github.com/users/mrtyler/following{/other_user}","gists_url":"https://api.github.com/users/mrtyler/gists{/gist_id}","starred_url":"https://api.github.com/users/mrtyler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrtyler/subscriptions","organizations_url":"https://api.github.com/users/mrtyler/orgs","repos_url":"https://api.github.com/users/mrtyler/repos","events_url":"https://api.github.com/users/mrtyler/events{/privacy}","received_events_url":"https://api.github.com/users/mrtyler/received_events","type":"User","site_admin":false},"body":"This work was motivated by https://issues.gpii.net/browse/GPII-3103 but includes a number of cleanups based on Cindy's feedback while working with gpii-infra, plus some other edits and updates.\r\n\r\nReading raw markdown is no fun, so here's the rendered version:\r\nhttps://github.com/mrtyler/gpii-infra/blob/GPII-3103-readme/aws/README.md","created_at":"2018-06-26T05:12:34Z","updated_at":"2018-06-26T12:28:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d84d10f5a48998f4b8de682be6156a42820bc77b","assignee":null,"assignees":[],"requested_reviewers":[{"login":"amatas","id":158641,"node_id":"MDQ6VXNlcjE1ODY0MQ==","avatar_url":"https://avatars3.githubusercontent.com/u/158641?v=4","gravatar_id":"","url":"https://api.github.com/users/amatas","html_url":"https://github.com/amatas","followers_url":"https://api.github.com/users/amatas/followers","following_url":"https://api.github.com/users/amatas/following{/other_user}","gists_url":"https://api.github.com/users/amatas/gists{/gist_id}","starred_url":"https://api.github.com/users/amatas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amatas/subscriptions","organizations_url":"https://api.github.com/users/amatas/orgs","repos_url":"https://api.github.com/users/amatas/repos","events_url":"https://api.github.com/users/amatas/events{/privacy}","received_events_url":"https://api.github.com/users/amatas/received_events","type":"User","site_admin":false},{"login":"natarajaya","id":917560,"node_id":"MDQ6VXNlcjkxNzU2MA==","avatar_url":"https://avatars1.githubusercontent.com/u/917560?v=4","gravatar_id":"","url":"https://api.github.com/users/natarajaya","html_url":"https://github.com/natarajaya","followers_url":"https://api.github.com/users/natarajaya/followers","following_url":"https://api.github.com/users/natarajaya/following{/other_user}","gists_url":"https://api.github.com/users/natarajaya/gists{/gist_id}","starred_url":"https://api.github.com/users/natarajaya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/natarajaya/subscriptions","organizations_url":"https://api.github.com/users/natarajaya/orgs","repos_url":"https://api.github.com/users/natarajaya/repos","events_url":"https://api.github.com/users/natarajaya/events{/privacy}","received_events_url":"https://api.github.com/users/natarajaya/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42/commits","review_comments_url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42/comments","review_comment_url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gpii-ops/gpii-infra/issues/42/comments","statuses_url":"https://api.github.com/repos/gpii-ops/gpii-infra/statuses/7200f1b2bb2c85eb3ca75d2f4f08628e07126edf","head":{"label":"mrtyler:GPII-3103-readme","ref":"GPII-3103-readme","sha":"7200f1b2bb2c85eb3ca75d2f4f08628e07126edf","user":{"login":"mrtyler","id":1369918,"node_id":"MDQ6VXNlcjEzNjk5MTg=","avatar_url":"https://avatars2.githubusercontent.com/u/1369918?v=4","gravatar_id":"","url":"https://api.github.com/users/mrtyler","html_url":"https://github.com/mrtyler","followers_url":"https://api.github.com/users/mrtyler/followers","following_url":"https://api.github.com/users/mrtyler/following{/other_user}","gists_url":"https://api.github.com/users/mrtyler/gists{/gist_id}","starred_url":"https://api.github.com/users/mrtyler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrtyler/subscriptions","organizations_url":"https://api.github.com/users/mrtyler/orgs","repos_url":"https://api.github.com/users/mrtyler/repos","events_url":"https://api.github.com/users/mrtyler/events{/privacy}","received_events_url":"https://api.github.com/users/mrtyler/received_events","type":"User","site_admin":false},"repo":{"id":97767258,"node_id":"MDEwOlJlcG9zaXRvcnk5Nzc2NzI1OA==","name":"gpii-infra","full_name":"mrtyler/gpii-infra","owner":{"login":"mrtyler","id":1369918,"node_id":"MDQ6VXNlcjEzNjk5MTg=","avatar_url":"https://avatars2.githubusercontent.com/u/1369918?v=4","gravatar_id":"","url":"https://api.github.com/users/mrtyler","html_url":"https://github.com/mrtyler","followers_url":"https://api.github.com/users/mrtyler/followers","following_url":"https://api.github.com/users/mrtyler/following{/other_user}","gists_url":"https://api.github.com/users/mrtyler/gists{/gist_id}","starred_url":"https://api.github.com/users/mrtyler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrtyler/subscriptions","organizations_url":"https://api.github.com/users/mrtyler/orgs","repos_url":"https://api.github.com/users/mrtyler/repos","events_url":"https://api.github.com/users/mrtyler/events{/privacy}","received_events_url":"https://api.github.com/users/mrtyler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mrtyler/gpii-infra","description":null,"fork":false,"url":"https://api.github.com/repos/mrtyler/gpii-infra","forks_url":"https://api.github.com/repos/mrtyler/gpii-infra/forks","keys_url":"https://api.github.com/repos/mrtyler/gpii-infra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mrtyler/gpii-infra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mrtyler/gpii-infra/teams","hooks_url":"https://api.github.com/repos/mrtyler/gpii-infra/hooks","issue_events_url":"https://api.github.com/repos/mrtyler/gpii-infra/issues/events{/number}","events_url":"https://api.github.com/repos/mrtyler/gpii-infra/events","assignees_url":"https://api.github.com/repos/mrtyler/gpii-infra/assignees{/user}","branches_url":"https://api.github.com/repos/mrtyler/gpii-infra/branches{/branch}","tags_url":"https://api.github.com/repos/mrtyler/gpii-infra/tags","blobs_url":"https://api.github.com/repos/mrtyler/gpii-infra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mrtyler/gpii-infra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mrtyler/gpii-infra/git/refs{/sha}","trees_url":"https://api.github.com/repos/mrtyler/gpii-infra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mrtyler/gpii-infra/statuses/{sha}","languages_url":"https://api.github.com/repos/mrtyler/gpii-infra/languages","stargazers_url":"https://api.github.com/repos/mrtyler/gpii-infra/stargazers","contributors_url":"https://api.github.com/repos/mrtyler/gpii-infra/contributors","subscribers_url":"https://api.github.com/repos/mrtyler/gpii-infra/subscribers","subscription_url":"https://api.github.com/repos/mrtyler/gpii-infra/subscription","commits_url":"https://api.github.com/repos/mrtyler/gpii-infra/commits{/sha}","git_commits_url":"https://api.github.com/repos/mrtyler/gpii-infra/git/commits{/sha}","comments_url":"https://api.github.com/repos/mrtyler/gpii-infra/comments{/number}","issue_comment_url":"https://api.github.com/repos/mrtyler/gpii-infra/issues/comments{/number}","contents_url":"https://api.github.com/repos/mrtyler/gpii-infra/contents/{+path}","compare_url":"https://api.github.com/repos/mrtyler/gpii-infra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mrtyler/gpii-infra/merges","archive_url":"https://api.github.com/repos/mrtyler/gpii-infra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mrtyler/gpii-infra/downloads","issues_url":"https://api.github.com/repos/mrtyler/gpii-infra/issues{/number}","pulls_url":"https://api.github.com/repos/mrtyler/gpii-infra/pulls{/number}","milestones_url":"https://api.github.com/repos/mrtyler/gpii-infra/milestones{/number}","notifications_url":"https://api.github.com/repos/mrtyler/gpii-infra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mrtyler/gpii-infra/labels{/name}","releases_url":"https://api.github.com/repos/mrtyler/gpii-infra/releases{/id}","deployments_url":"https://api.github.com/repos/mrtyler/gpii-infra/deployments","created_at":"2017-07-19T22:41:12Z","updated_at":"2018-06-26T00:40:32Z","pushed_at":"2018-06-26T04:38:25Z","git_url":"git://github.com/mrtyler/gpii-infra.git","ssh_url":"git@github.com:mrtyler/gpii-infra.git","clone_url":"https://github.com/mrtyler/gpii-infra.git","svn_url":"https://github.com/mrtyler/gpii-infra","homepage":null,"size":641,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":6,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"gpii-ops:master","ref":"master","sha":"cc752834e2ae289c3f7ec4ea93546de124de6abd","user":{"login":"gpii-ops","id":10503302,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNTAzMzAy","avatar_url":"https://avatars1.githubusercontent.com/u/10503302?v=4","gravatar_id":"","url":"https://api.github.com/users/gpii-ops","html_url":"https://github.com/gpii-ops","followers_url":"https://api.github.com/users/gpii-ops/followers","following_url":"https://api.github.com/users/gpii-ops/following{/other_user}","gists_url":"https://api.github.com/users/gpii-ops/gists{/gist_id}","starred_url":"https://api.github.com/users/gpii-ops/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpii-ops/subscriptions","organizations_url":"https://api.github.com/users/gpii-ops/orgs","repos_url":"https://api.github.com/users/gpii-ops/repos","events_url":"https://api.github.com/users/gpii-ops/events{/privacy}","received_events_url":"https://api.github.com/users/gpii-ops/received_events","type":"Organization","site_admin":false},"repo":{"id":97767979,"node_id":"MDEwOlJlcG9zaXRvcnk5Nzc2Nzk3OQ==","name":"gpii-infra","full_name":"gpii-ops/gpii-infra","owner":{"login":"gpii-ops","id":10503302,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNTAzMzAy","avatar_url":"https://avatars1.githubusercontent.com/u/10503302?v=4","gravatar_id":"","url":"https://api.github.com/users/gpii-ops","html_url":"https://github.com/gpii-ops","followers_url":"https://api.github.com/users/gpii-ops/followers","following_url":"https://api.github.com/users/gpii-ops/following{/other_user}","gists_url":"https://api.github.com/users/gpii-ops/gists{/gist_id}","starred_url":"https://api.github.com/users/gpii-ops/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpii-ops/subscriptions","organizations_url":"https://api.github.com/users/gpii-ops/orgs","repos_url":"https://api.github.com/users/gpii-ops/repos","events_url":"https://api.github.com/users/gpii-ops/events{/privacy}","received_events_url":"https://api.github.com/users/gpii-ops/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gpii-ops/gpii-infra","description":null,"fork":true,"url":"https://api.github.com/repos/gpii-ops/gpii-infra","forks_url":"https://api.github.com/repos/gpii-ops/gpii-infra/forks","keys_url":"https://api.github.com/repos/gpii-ops/gpii-infra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gpii-ops/gpii-infra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gpii-ops/gpii-infra/teams","hooks_url":"https://api.github.com/repos/gpii-ops/gpii-infra/hooks","issue_events_url":"https://api.github.com/repos/gpii-ops/gpii-infra/issues/events{/number}","events_url":"https://api.github.com/repos/gpii-ops/gpii-infra/events","assignees_url":"https://api.github.com/repos/gpii-ops/gpii-infra/assignees{/user}","branches_url":"https://api.github.com/repos/gpii-ops/gpii-infra/branches{/branch}","tags_url":"https://api.github.com/repos/gpii-ops/gpii-infra/tags","blobs_url":"https://api.github.com/repos/gpii-ops/gpii-infra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gpii-ops/gpii-infra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gpii-ops/gpii-infra/git/refs{/sha}","trees_url":"https://api.github.com/repos/gpii-ops/gpii-infra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gpii-ops/gpii-infra/statuses/{sha}","languages_url":"https://api.github.com/repos/gpii-ops/gpii-infra/languages","stargazers_url":"https://api.github.com/repos/gpii-ops/gpii-infra/stargazers","contributors_url":"https://api.github.com/repos/gpii-ops/gpii-infra/contributors","subscribers_url":"https://api.github.com/repos/gpii-ops/gpii-infra/subscribers","subscription_url":"https://api.github.com/repos/gpii-ops/gpii-infra/subscription","commits_url":"https://api.github.com/repos/gpii-ops/gpii-infra/commits{/sha}","git_commits_url":"https://api.github.com/repos/gpii-ops/gpii-infra/git/commits{/sha}","comments_url":"https://api.github.com/repos/gpii-ops/gpii-infra/comments{/number}","issue_comment_url":"https://api.github.com/repos/gpii-ops/gpii-infra/issues/comments{/number}","contents_url":"https://api.github.com/repos/gpii-ops/gpii-infra/contents/{+path}","compare_url":"https://api.github.com/repos/gpii-ops/gpii-infra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gpii-ops/gpii-infra/merges","archive_url":"https://api.github.com/repos/gpii-ops/gpii-infra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gpii-ops/gpii-infra/downloads","issues_url":"https://api.github.com/repos/gpii-ops/gpii-infra/issues{/number}","pulls_url":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls{/number}","milestones_url":"https://api.github.com/repos/gpii-ops/gpii-infra/milestones{/number}","notifications_url":"https://api.github.com/repos/gpii-ops/gpii-infra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gpii-ops/gpii-infra/labels{/name}","releases_url":"https://api.github.com/repos/gpii-ops/gpii-infra/releases{/id}","deployments_url":"https://api.github.com/repos/gpii-ops/gpii-infra/deployments","created_at":"2017-07-19T22:54:03Z","updated_at":"2018-06-22T00:43:59Z","pushed_at":"2018-06-26T05:49:10Z","git_url":"git://github.com/gpii-ops/gpii-infra.git","ssh_url":"git@github.com:gpii-ops/gpii-infra.git","clone_url":"https://github.com/gpii-ops/gpii-infra.git","svn_url":"https://github.com/gpii-ops/gpii-infra","homepage":null,"size":637,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"open_issues_count":3,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":5,"open_issues":3,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42"},"html":{"href":"https://github.com/gpii-ops/gpii-infra/pull/42"},"issue":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/issues/42"},"comments":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/issues/42/comments"},"review_comments":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42/comments"},"review_comment":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/pulls/42/commits"},"statuses":{"href":"https://api.github.com/repos/gpii-ops/gpii-infra/statuses/7200f1b2bb2c85eb3ca75d2f4f08628e07126edf"}},"author_association":"NONE"}}
{"actor":{"display_login":"cindyli"}}