{"action":"created","issue":{"url":"https://api.github.com/repos/hashicorp/terraform/issues/2243","labels_url":"https://api.github.com/repos/hashicorp/terraform/issues/2243/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/terraform/issues/2243/comments","events_url":"https://api.github.com/repos/hashicorp/terraform/issues/2243/events","html_url":"https://github.com/hashicorp/terraform/pull/2243","id":85412841,"number":2243,"title":"Adds support for heroku formation management","user":{"login":"dalehamel","id":618615,"avatar_url":"https://avatars.githubusercontent.com/u/618615?v=3","gravatar_id":"","url":"https://api.github.com/users/dalehamel","html_url":"https://github.com/dalehamel","followers_url":"https://api.github.com/users/dalehamel/followers","following_url":"https://api.github.com/users/dalehamel/following{/other_user}","gists_url":"https://api.github.com/users/dalehamel/gists{/gist_id}","starred_url":"https://api.github.com/users/dalehamel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dalehamel/subscriptions","organizations_url":"https://api.github.com/users/dalehamel/orgs","repos_url":"https://api.github.com/users/dalehamel/repos","events_url":"https://api.github.com/users/dalehamel/events{/privacy}","received_events_url":"https://api.github.com/users/dalehamel/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hashicorp/terraform/labels/enhancement","name":"enhancement","color":"d4c5f9"},{"url":"https://api.github.com/repos/hashicorp/terraform/labels/provider/heroku","name":"provider/heroku","color":"bfdadc"},{"url":"https://api.github.com/repos/hashicorp/terraform/labels/waiting-response","name":"waiting-response","color":"5319e7"},{"url":"https://api.github.com/repos/hashicorp/terraform/labels/wip","name":"wip","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2015-06-05T04:09:40Z","updated_at":"2015-08-31T14:18:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hashicorp/terraform/pulls/2243","html_url":"https://github.com/hashicorp/terraform/pull/2243","diff_url":"https://github.com/hashicorp/terraform/pull/2243.diff","patch_url":"https://github.com/hashicorp/terraform/pull/2243.patch"},"body":"This adds support for managing heroku formations (dynos and sizes). It might make more sense to call this 'heroku dynos', but formations the more correct term.\r\n\r\nNotably, this somewhat violates the CRUD promise, as there is actually no way to actually create dynos for apps that have not yet been deployed. Once an app is deployed however, this will allow for its dyno formations to be managed in terraform. This need to deploy an app makes this tricky to test, however, the code is really quite simple - just a few calls and comparisons.\r\n\r\nThe workflow I hope to support here is to manage heroku dynos via git. This would allow us to code review dyno changes, and have a history of who changed them and why. The use case here is that rather than giving every developer access to every heroku account, and trying to somehow track who changed what, we just have a single account that can manage all dynos - elegantly tracked in Git.\r\n\r\nSince dynos are a pretty key part of heroku, and I cannot see any other way to manage them with terraform, I feel there is a fundamental need for this support - that's why I've made this patch.\r\n\r\nIn my tests, I can confirm:\r\n\r\n* The app is successfully created without the any formations specified\r\n* Future plans / applies will continue to show that the formations are outstanding\r\n* Once the app is deployed, and dynos exist for the given formation, the formation is successfully created.\r\n* The formation can successfully manage the size and quantity of dynos for a given type of the app\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/hashicorp/terraform/issues/comments/136383793","html_url":"https://github.com/hashicorp/terraform/pull/2243#issuecomment-136383793","issue_url":"https://api.github.com/repos/hashicorp/terraform/issues/2243","id":136383793,"user":{"login":"catsby","id":61721,"avatar_url":"https://avatars.githubusercontent.com/u/61721?v=3","gravatar_id":"","url":"https://api.github.com/users/catsby","html_url":"https://github.com/catsby","followers_url":"https://api.github.com/users/catsby/followers","following_url":"https://api.github.com/users/catsby/following{/other_user}","gists_url":"https://api.github.com/users/catsby/gists{/gist_id}","starred_url":"https://api.github.com/users/catsby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/catsby/subscriptions","organizations_url":"https://api.github.com/users/catsby/orgs","repos_url":"https://api.github.com/users/catsby/repos","events_url":"https://api.github.com/users/catsby/events{/privacy}","received_events_url":"https://api.github.com/users/catsby/received_events","type":"User","site_admin":false},"created_at":"2015-08-31T14:18:22Z","updated_at":"2015-08-31T14:18:22Z","body":"Hey @dalehamel – any idea on my last question there? I took this for a spin but it didn't quite work the way I was expecting. "}}