{"action":"closed","number":1046,"pull_request":{"url":"https://api.github.com/repos/boto/botocore/pulls/1046","id":88473211,"html_url":"https://github.com/boto/botocore/pull/1046","diff_url":"https://github.com/boto/botocore/pull/1046.diff","patch_url":"https://github.com/boto/botocore/pull/1046.patch","issue_url":"https://api.github.com/repos/boto/botocore/issues/1046","number":1046,"state":"closed","locked":false,"title":"Remove unnecessary terminal states from cloudformation waiters","user":{"login":"jamesls","id":368057,"avatar_url":"https://avatars.githubusercontent.com/u/368057?v=3","gravatar_id":"","url":"https://api.github.com/users/jamesls","html_url":"https://github.com/jamesls","followers_url":"https://api.github.com/users/jamesls/followers","following_url":"https://api.github.com/users/jamesls/following{/other_user}","gists_url":"https://api.github.com/users/jamesls/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesls/subscriptions","organizations_url":"https://api.github.com/users/jamesls/orgs","repos_url":"https://api.github.com/users/jamesls/repos","events_url":"https://api.github.com/users/jamesls/events{/privacy}","received_events_url":"https://api.github.com/users/jamesls/received_events","type":"User","site_admin":false},"body":"This removes two types of failure states from the cloudformation\r\nwaiters:\r\n\r\n* Transitional states, e.g. delete_in_progress->delete_completed\r\n* Any state which can still be transitioned to a success state\r\n\r\nThe first point aids in fast fails, but is otherwise unnecessary.\r\nThe latter point is the most interesting one.  Consider two operations:\r\n\r\n* cfn.DeleteStacks()\r\n* cfn.WaitDeleteStackComplete()\r\n\r\nWith the current approach, you *have* to call DeleteStacks before\r\nWaitDeleteStackComplete.  However, one should be able to call\r\nWaitDeleteStackComplete() in one process/thread, and then subsequently\r\ncall DeleteStacks().  This latter behavior is possible in other waiters.\r\nConsider:\r\n\r\n* Calling ec2.WaitInstanceTerminated, then terminating an instance\r\n* Calling dynamodb.WaitTableNotExists, then deleting the table\r\n\r\nThis update brings that same behavior to cloudformation waiters.\r\n\r\ncc @kyleknap @JordonPhillips ","created_at":"2016-10-07T16:59:12Z","updated_at":"2016-10-10T19:21:16Z","closed_at":"2016-10-10T19:21:16Z","merged_at":"2016-10-10T19:21:16Z","merge_commit_sha":"e5204119826271e2e6f34e3ca088184e77d2632b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/boto/botocore/pulls/1046/commits","review_comments_url":"https://api.github.com/repos/boto/botocore/pulls/1046/comments","review_comment_url":"https://api.github.com/repos/boto/botocore/pulls/comments{/number}","comments_url":"https://api.github.com/repos/boto/botocore/issues/1046/comments","statuses_url":"https://api.github.com/repos/boto/botocore/statuses/e5204119826271e2e6f34e3ca088184e77d2632b","head":{"label":"jamesls:update-cfn-waiters","ref":"update-cfn-waiters","sha":"e5204119826271e2e6f34e3ca088184e77d2632b","user":{"login":"jamesls","id":368057,"avatar_url":"https://avatars.githubusercontent.com/u/368057?v=3","gravatar_id":"","url":"https://api.github.com/users/jamesls","html_url":"https://github.com/jamesls","followers_url":"https://api.github.com/users/jamesls/followers","following_url":"https://api.github.com/users/jamesls/following{/other_user}","gists_url":"https://api.github.com/users/jamesls/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesls/subscriptions","organizations_url":"https://api.github.com/users/jamesls/orgs","repos_url":"https://api.github.com/users/jamesls/repos","events_url":"https://api.github.com/users/jamesls/events{/privacy}","received_events_url":"https://api.github.com/users/jamesls/received_events","type":"User","site_admin":false},"repo":{"id":7948111,"name":"botocore","full_name":"jamesls/botocore","owner":{"login":"jamesls","id":368057,"avatar_url":"https://avatars.githubusercontent.com/u/368057?v=3","gravatar_id":"","url":"https://api.github.com/users/jamesls","html_url":"https://github.com/jamesls","followers_url":"https://api.github.com/users/jamesls/followers","following_url":"https://api.github.com/users/jamesls/following{/other_user}","gists_url":"https://api.github.com/users/jamesls/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesls/subscriptions","organizations_url":"https://api.github.com/users/jamesls/orgs","repos_url":"https://api.github.com/users/jamesls/repos","events_url":"https://api.github.com/users/jamesls/events{/privacy}","received_events_url":"https://api.github.com/users/jamesls/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jamesls/botocore","description":"The low-level, core functionality of boto 3.","fork":true,"url":"https://api.github.com/repos/jamesls/botocore","forks_url":"https://api.github.com/repos/jamesls/botocore/forks","keys_url":"https://api.github.com/repos/jamesls/botocore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jamesls/botocore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jamesls/botocore/teams","hooks_url":"https://api.github.com/repos/jamesls/botocore/hooks","issue_events_url":"https://api.github.com/repos/jamesls/botocore/issues/events{/number}","events_url":"https://api.github.com/repos/jamesls/botocore/events","assignees_url":"https://api.github.com/repos/jamesls/botocore/assignees{/user}","branches_url":"https://api.github.com/repos/jamesls/botocore/branches{/branch}","tags_url":"https://api.github.com/repos/jamesls/botocore/tags","blobs_url":"https://api.github.com/repos/jamesls/botocore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jamesls/botocore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jamesls/botocore/git/refs{/sha}","trees_url":"https://api.github.com/repos/jamesls/botocore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jamesls/botocore/statuses/{sha}","languages_url":"https://api.github.com/repos/jamesls/botocore/languages","stargazers_url":"https://api.github.com/repos/jamesls/botocore/stargazers","contributors_url":"https://api.github.com/repos/jamesls/botocore/contributors","subscribers_url":"https://api.github.com/repos/jamesls/botocore/subscribers","subscription_url":"https://api.github.com/repos/jamesls/botocore/subscription","commits_url":"https://api.github.com/repos/jamesls/botocore/commits{/sha}","git_commits_url":"https://api.github.com/repos/jamesls/botocore/git/commits{/sha}","comments_url":"https://api.github.com/repos/jamesls/botocore/comments{/number}","issue_comment_url":"https://api.github.com/repos/jamesls/botocore/issues/comments{/number}","contents_url":"https://api.github.com/repos/jamesls/botocore/contents/{+path}","compare_url":"https://api.github.com/repos/jamesls/botocore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jamesls/botocore/merges","archive_url":"https://api.github.com/repos/jamesls/botocore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jamesls/botocore/downloads","issues_url":"https://api.github.com/repos/jamesls/botocore/issues{/number}","pulls_url":"https://api.github.com/repos/jamesls/botocore/pulls{/number}","milestones_url":"https://api.github.com/repos/jamesls/botocore/milestones{/number}","notifications_url":"https://api.github.com/repos/jamesls/botocore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jamesls/botocore/labels{/name}","releases_url":"https://api.github.com/repos/jamesls/botocore/releases{/id}","deployments_url":"https://api.github.com/repos/jamesls/botocore/deployments","created_at":"2013-01-31T23:36:26Z","updated_at":"2016-08-22T21:53:14Z","pushed_at":"2016-10-01T21:41:42Z","git_url":"git://github.com/jamesls/botocore.git","ssh_url":"git@github.com:jamesls/botocore.git","clone_url":"https://github.com/jamesls/botocore.git","svn_url":"https://github.com/jamesls/botocore","homepage":null,"size":22016,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"boto:develop","ref":"develop","sha":"7b751f8086bb5c77b1df8422c439d5155623722c","user":{"login":"boto","id":327752,"avatar_url":"https://avatars.githubusercontent.com/u/327752?v=3","gravatar_id":"","url":"https://api.github.com/users/boto","html_url":"https://github.com/boto","followers_url":"https://api.github.com/users/boto/followers","following_url":"https://api.github.com/users/boto/following{/other_user}","gists_url":"https://api.github.com/users/boto/gists{/gist_id}","starred_url":"https://api.github.com/users/boto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boto/subscriptions","organizations_url":"https://api.github.com/users/boto/orgs","repos_url":"https://api.github.com/users/boto/repos","events_url":"https://api.github.com/users/boto/events{/privacy}","received_events_url":"https://api.github.com/users/boto/received_events","type":"Organization","site_admin":false},"repo":{"id":6670942,"name":"botocore","full_name":"boto/botocore","owner":{"login":"boto","id":327752,"avatar_url":"https://avatars.githubusercontent.com/u/327752?v=3","gravatar_id":"","url":"https://api.github.com/users/boto","html_url":"https://github.com/boto","followers_url":"https://api.github.com/users/boto/followers","following_url":"https://api.github.com/users/boto/following{/other_user}","gists_url":"https://api.github.com/users/boto/gists{/gist_id}","starred_url":"https://api.github.com/users/boto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boto/subscriptions","organizations_url":"https://api.github.com/users/boto/orgs","repos_url":"https://api.github.com/users/boto/repos","events_url":"https://api.github.com/users/boto/events{/privacy}","received_events_url":"https://api.github.com/users/boto/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/boto/botocore","description":"The low-level, core functionality of boto 3.","fork":false,"url":"https://api.github.com/repos/boto/botocore","forks_url":"https://api.github.com/repos/boto/botocore/forks","keys_url":"https://api.github.com/repos/boto/botocore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/boto/botocore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/boto/botocore/teams","hooks_url":"https://api.github.com/repos/boto/botocore/hooks","issue_events_url":"https://api.github.com/repos/boto/botocore/issues/events{/number}","events_url":"https://api.github.com/repos/boto/botocore/events","assignees_url":"https://api.github.com/repos/boto/botocore/assignees{/user}","branches_url":"https://api.github.com/repos/boto/botocore/branches{/branch}","tags_url":"https://api.github.com/repos/boto/botocore/tags","blobs_url":"https://api.github.com/repos/boto/botocore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/boto/botocore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/boto/botocore/git/refs{/sha}","trees_url":"https://api.github.com/repos/boto/botocore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/boto/botocore/statuses/{sha}","languages_url":"https://api.github.com/repos/boto/botocore/languages","stargazers_url":"https://api.github.com/repos/boto/botocore/stargazers","contributors_url":"https://api.github.com/repos/boto/botocore/contributors","subscribers_url":"https://api.github.com/repos/boto/botocore/subscribers","subscription_url":"https://api.github.com/repos/boto/botocore/subscription","commits_url":"https://api.github.com/repos/boto/botocore/commits{/sha}","git_commits_url":"https://api.github.com/repos/boto/botocore/git/commits{/sha}","comments_url":"https://api.github.com/repos/boto/botocore/comments{/number}","issue_comment_url":"https://api.github.com/repos/boto/botocore/issues/comments{/number}","contents_url":"https://api.github.com/repos/boto/botocore/contents/{+path}","compare_url":"https://api.github.com/repos/boto/botocore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/boto/botocore/merges","archive_url":"https://api.github.com/repos/boto/botocore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/boto/botocore/downloads","issues_url":"https://api.github.com/repos/boto/botocore/issues{/number}","pulls_url":"https://api.github.com/repos/boto/botocore/pulls{/number}","milestones_url":"https://api.github.com/repos/boto/botocore/milestones{/number}","notifications_url":"https://api.github.com/repos/boto/botocore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/boto/botocore/labels{/name}","releases_url":"https://api.github.com/repos/boto/botocore/releases{/id}","deployments_url":"https://api.github.com/repos/boto/botocore/deployments","created_at":"2012-11-13T13:25:36Z","updated_at":"2016-10-10T09:36:27Z","pushed_at":"2016-10-10T19:21:13Z","git_url":"git://github.com/boto/botocore.git","ssh_url":"git@github.com:boto/botocore.git","clone_url":"https://github.com/boto/botocore.git","svn_url":"https://github.com/boto/botocore","homepage":null,"size":26744,"stargazers_count":281,"watchers_count":281,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":211,"mirror_url":null,"open_issues_count":56,"forks":211,"open_issues":56,"watchers":281,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/boto/botocore/pulls/1046"},"html":{"href":"https://github.com/boto/botocore/pull/1046"},"issue":{"href":"https://api.github.com/repos/boto/botocore/issues/1046"},"comments":{"href":"https://api.github.com/repos/boto/botocore/issues/1046/comments"},"review_comments":{"href":"https://api.github.com/repos/boto/botocore/pulls/1046/comments"},"review_comment":{"href":"https://api.github.com/repos/boto/botocore/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/boto/botocore/pulls/1046/commits"},"statuses":{"href":"https://api.github.com/repos/boto/botocore/statuses/e5204119826271e2e6f34e3ca088184e77d2632b"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"jamesls","id":368057,"avatar_url":"https://avatars.githubusercontent.com/u/368057?v=3","gravatar_id":"","url":"https://api.github.com/users/jamesls","html_url":"https://github.com/jamesls","followers_url":"https://api.github.com/users/jamesls/followers","following_url":"https://api.github.com/users/jamesls/following{/other_user}","gists_url":"https://api.github.com/users/jamesls/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesls/subscriptions","organizations_url":"https://api.github.com/users/jamesls/orgs","repos_url":"https://api.github.com/users/jamesls/repos","events_url":"https://api.github.com/users/jamesls/events{/privacy}","received_events_url":"https://api.github.com/users/jamesls/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":1,"additions":0,"deletions":90,"changed_files":1}}
{"actor":{"display_login":"jamesls"}}