{"action":"created","issue":{"url":"https://api.github.com/repos/hashicorp/terraform/issues/2162","labels_url":"https://api.github.com/repos/hashicorp/terraform/issues/2162/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/terraform/issues/2162/comments","events_url":"https://api.github.com/repos/hashicorp/terraform/issues/2162/events","html_url":"https://github.com/hashicorp/terraform/pull/2162","id":83322185,"number":2162,"title":"provider/aws: Opsworks Stacks and Layers","user":{"login":"apparentlymart","id":20180,"avatar_url":"https://avatars.githubusercontent.com/u/20180?v=3","gravatar_id":"","url":"https://api.github.com/users/apparentlymart","html_url":"https://github.com/apparentlymart","followers_url":"https://api.github.com/users/apparentlymart/followers","following_url":"https://api.github.com/users/apparentlymart/following{/other_user}","gists_url":"https://api.github.com/users/apparentlymart/gists{/gist_id}","starred_url":"https://api.github.com/users/apparentlymart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apparentlymart/subscriptions","organizations_url":"https://api.github.com/users/apparentlymart/orgs","repos_url":"https://api.github.com/users/apparentlymart/repos","events_url":"https://api.github.com/users/apparentlymart/events{/privacy}","received_events_url":"https://api.github.com/users/apparentlymart/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/aws","name":"provider/aws","color":"bfdadc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-06-01T05:24:21Z","updated_at":"2015-09-24T20:03:04Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hashicorp/terraform/pulls/2162","html_url":"https://github.com/hashicorp/terraform/pull/2162","diff_url":"https://github.com/hashicorp/terraform/pull/2162.diff","patch_url":"https://github.com/hashicorp/terraform/pull/2162.patch"},"body":"These changes represent intiial support for AWS OpsWorks, starting with the Stack and Layer objects.\r\n\r\nOpsWorks is fundamentally a tool for managing the deployment of applications using Chef.\r\n\r\n*Stack* is the root concept for AWS opsworks, acting as a container for the other concepts. A stack usually represents one product running in a particular region.\r\n\r\nA *layer* represents a particular product component, such as an application server, a database server, a cache server, etc. Users can either use predefined layer types, for which AWS provides an initial set of Chef recipes, or \"custom\" layers where all Chef configuration is provided by the user.\r\n\r\n- [x] Stacks\r\n- [x] Layers\r\n- [x] Acceptance Tests\r\n- [x] Docs\r\n- [ ] Layer EBS volumes\r\n\r\nThis change includes a separate resource type for each OpsWorks layer type. Although the layer types all share a base set of properties, most of them have extra properties and unique validation rules that make them awkward to represent as a single resource type. In the interests of usability, the layer resource types follow (as closely as possible) the structures used in the OpsWorks UI.\r\n\r\nThis is a combination of my own work and the work of @nabeken. In particular, @nabeken wrote the acceptance tests and noticed some cases where workarounds are needed for asynchronous work done by OpsWorks that isn't visible in the API. There are notes about these cases in comments in the stack code.\r\n\r\nThe total diff of this merge request is pretty large, but it's split into a logical sequence of commits to permit step-by-step review, in case that makes things easier.\r\n"},"comment":{"url":"https://api.github.com/repos/hashicorp/terraform/issues/comments/143034274","html_url":"https://github.com/hashicorp/terraform/pull/2162#issuecomment-143034274","issue_url":"https://api.github.com/repos/hashicorp/terraform/issues/2162","id":143034274,"user":{"login":"apparentlymart","id":20180,"avatar_url":"https://avatars.githubusercontent.com/u/20180?v=3","gravatar_id":"","url":"https://api.github.com/users/apparentlymart","html_url":"https://github.com/apparentlymart","followers_url":"https://api.github.com/users/apparentlymart/followers","following_url":"https://api.github.com/users/apparentlymart/following{/other_user}","gists_url":"https://api.github.com/users/apparentlymart/gists{/gist_id}","starred_url":"https://api.github.com/users/apparentlymart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apparentlymart/subscriptions","organizations_url":"https://api.github.com/users/apparentlymart/orgs","repos_url":"https://api.github.com/users/apparentlymart/repos","events_url":"https://api.github.com/users/apparentlymart/events{/privacy}","received_events_url":"https://api.github.com/users/apparentlymart/received_events","type":"User","site_admin":false},"created_at":"2015-09-24T20:03:04Z","updated_at":"2015-09-24T20:03:04Z","body":"Actually it looks to me like this needs updating for the various breaking changes in the AWS go library... an expected danger of having such a long-running branch, I guess.\r\n\r\nI'll see about fixing this up when I get some time, but it's unlikely to be this week so @josephholsten if you want to finish this up then go right ahead!\r\n"}}