{"action":"created","issue":{"url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/issues/1","labels_url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/issues/1/comments","events_url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/issues/1/events","html_url":"https://github.com/chef-cookbooks/chef-ingredient/issues/1","id":89406348,"number":1,"title":"Use product keys as the name attribute","user":{"login":"schisamo","id":6164,"avatar_url":"https://avatars.githubusercontent.com/u/6164?v=3","gravatar_id":"","url":"https://api.github.com/users/schisamo","html_url":"https://github.com/schisamo","followers_url":"https://api.github.com/users/schisamo/followers","following_url":"https://api.github.com/users/schisamo/following{/other_user}","gists_url":"https://api.github.com/users/schisamo/gists{/gist_id}","starred_url":"https://api.github.com/users/schisamo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schisamo/subscriptions","organizations_url":"https://api.github.com/users/schisamo/orgs","repos_url":"https://api.github.com/users/schisamo/repos","events_url":"https://api.github.com/users/schisamo/events{/privacy}","received_events_url":"https://api.github.com/users/schisamo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-06-18T21:49:10Z","updated_at":"2015-06-18T23:14:41Z","closed_at":null,"body":"Chef end-users don't care about our history of naming things poorly. We should rename the `chef_ingredient` resource's `package_name` attribute to `product` and perform mappings for them.\r\n\r\nHere is a canonical list of products and associated keys/packages.\r\n\r\n| Product | Product Key  | Package Name |\r\n| ---------- | ------------------ | -------------------- |\r\n| Chef Client | chef | chef |\r\n| Chef Development Kit | chefdk| chefdk |\r\n| Enterprise Chef (legacy) | private-chef | private-chef |\r\n| Chef Server | chef-server | chef-server (versions < 12.0.0) <br/> chef-server-core (versions >= 12.0.0) |\r\n| Chef Server High Availability addon | chef-ha | chef-ha |\r\n| Chef Server Replication addon | chef-sync | chef-sync |\r\n| Chef Server Reporting addon | reporting | opscode-reporting |\r\n| Management Console | manage | opscode-manage (versions < 2.0.0) <br/> chef-manage (versions >= 2.0.0) |\r\n| Push Jobs Server | push-jobs-server | opscode-push-jobs-server |\r\n| Push Jobs Client | push-jobs-client | opscode-push-jobs-client (versions < 2.0.0) <br/> push-jobs-client (versions >= 2.0.0)  |\r\n| Analytics Platform | analytics | opscode-analytics |\r\n| Delivery | delivery | delivery |\r\n| Delivery CLI | delivery-cli | delivery-cli |\r\n| Supermarket | supermarket | supermarket |\r\n\r\nAdditionally the `chef_ingredient` resource should validate the `product` attribute and raise a friendly error if an invalid product key is provided."},"comment":{"url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/issues/comments/113315206","html_url":"https://github.com/chef-cookbooks/chef-ingredient/issues/1#issuecomment-113315206","issue_url":"https://api.github.com/repos/chef-cookbooks/chef-ingredient/issues/1","id":113315206,"user":{"login":"jtimberman","id":12483,"avatar_url":"https://avatars.githubusercontent.com/u/12483?v=3","gravatar_id":"","url":"https://api.github.com/users/jtimberman","html_url":"https://github.com/jtimberman","followers_url":"https://api.github.com/users/jtimberman/followers","following_url":"https://api.github.com/users/jtimberman/following{/other_user}","gists_url":"https://api.github.com/users/jtimberman/gists{/gist_id}","starred_url":"https://api.github.com/users/jtimberman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtimberman/subscriptions","organizations_url":"https://api.github.com/users/jtimberman/orgs","repos_url":"https://api.github.com/users/jtimberman/repos","events_url":"https://api.github.com/users/jtimberman/events{/privacy}","received_events_url":"https://api.github.com/users/jtimberman/received_events","type":"User","site_admin":false},"created_at":"2015-06-18T23:14:41Z","updated_at":"2015-06-18T23:14:41Z","body":"Not accounting for versions, other than chef-server11 is a separate entry. A product hash dump:\r\n\r\n```ruby\r\n{\r\n  'chef' => {\r\n    'package-name' => 'chef',\r\n    'ctl-command' => nil\r\n  },\r\n  'chefdk' => {\r\n    'package-name' => 'chefdk',\r\n    'ctl-command' => nil\r\n  },\r\n  'private-chef' => {\r\n    'package-name' => 'private-chef',\r\n    'ctl-command' => 'private-chef-ctl'\r\n  },\r\n  'chef-server11' => {\r\n    'package-name' => 'chef-server',\r\n    'ctl-command' => 'chef-server-ctl'\r\n  },\r\n  'chef-server' => {\r\n    'package-name' => 'chef-server-core',\r\n    'ctl-command' => 'chef-server-ctl'\r\n  },\r\n  'chef-ha' => {\r\n    'package-name' => 'chef-ha',\r\n    'ctl-command' => nil\r\n  },\r\n  'chef-sync' => {\r\n    'package-name' => 'chef-sync',\r\n    'ctl-command' => 'chef-sync-ctl'\r\n  },\r\n  'reporting' => {\r\n    'package-name' => 'opscode-reporting',\r\n    'ctl-command' => 'opscode-reporting-ctl'\r\n  },\r\n  'manage' => {\r\n    'package-name' => 'opscode-manage',\r\n    'ctl-command' => 'opscode-manage-ctl'\r\n  },\r\n  'push-jobs-server' => {\r\n    'package-name' => 'opscode-push-jobs-server',\r\n    'ctl-command' => 'opscode-push-jobs-ctl'\r\n  },\r\n  'push-jobs-client' => {\r\n    'package-name' => 'opscode-push-jobs-client',\r\n    'ctl-command' => nil\r\n  },\r\n  'analytics' => {\r\n    'package-name' => 'opscode-analytics',\r\n    'ctl-command' => 'opscode-analytics-ctl'\r\n  },\r\n  'delivery' => {\r\n    'package-name' => 'delivery',\r\n    'ctl-command' => 'delivery-ctl'\r\n  },\r\n  'delivery-cli' => {\r\n    'package-name' => 'delivery-cli',\r\n    'ctl-command' => nil\r\n  },\r\n  'supermarket' => {\r\n    'package-name' => 'supermarket',\r\n    'ctl-command' => 'supermarket-ctl'\r\n  }\r\n}\r\n```"}}