{"action":"created","issue":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/issues/196","labels_url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/issues/196/labels{/name}","comments_url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/issues/196/comments","events_url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/issues/196/events","html_url":"https://github.com/puppetlabs/puppetlabs-haproxy/pull/196","id":109214631,"number":196,"title":"Deep merge global and default options with user-supplied options","user":{"login":"antaflos","id":1441852,"avatar_url":"https://avatars.githubusercontent.com/u/1441852?v=3","gravatar_id":"","url":"https://api.github.com/users/antaflos","html_url":"https://github.com/antaflos","followers_url":"https://api.github.com/users/antaflos/followers","following_url":"https://api.github.com/users/antaflos/following{/other_user}","gists_url":"https://api.github.com/users/antaflos/gists{/gist_id}","starred_url":"https://api.github.com/users/antaflos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antaflos/subscriptions","organizations_url":"https://api.github.com/users/antaflos/orgs","repos_url":"https://api.github.com/users/antaflos/repos","events_url":"https://api.github.com/users/antaflos/events{/privacy}","received_events_url":"https://api.github.com/users/antaflos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-10-01T02:01:57Z","updated_at":"2015-10-21T22:32:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/pulls/196","html_url":"https://github.com/puppetlabs/puppetlabs-haproxy/pull/196","diff_url":"https://github.com/puppetlabs/puppetlabs-haproxy/pull/196.diff","patch_url":"https://github.com/puppetlabs/puppetlabs-haproxy/pull/196.patch"},"body":"This way one can override or add arbitrary keys and values to the\r\n`global_options` and `defaults_options` hashes without having to reproduce\r\nthe whole hash.\r\n\r\nThis is done by deep merging the default hashes for `global_options` and\r\n`defaults_options` specified in `haproxy::params` with their pendants\r\nspecified as the class parameters. For array values that are present in\r\nboth a default hash and a user-supplied hash the arrays are concatenated\r\nand duplicates removed.\r\n\r\nBecause of the need for deep merging the `deep_merge()` function from\r\npuppetlabs-stdlib 4.2.0 is copied here, renamed `haproxy_deep_merge()`\r\nand extended to support merging array values\r\n\r\nContains updated spec tests and documentation.\r\n\r\nDiscussed in PR #121."},"comment":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/issues/comments/150042978","html_url":"https://github.com/puppetlabs/puppetlabs-haproxy/pull/196#issuecomment-150042978","issue_url":"https://api.github.com/repos/puppetlabs/puppetlabs-haproxy/issues/196","id":150042978,"user":{"login":"antaflos","id":1441852,"avatar_url":"https://avatars.githubusercontent.com/u/1441852?v=3","gravatar_id":"","url":"https://api.github.com/users/antaflos","html_url":"https://github.com/antaflos","followers_url":"https://api.github.com/users/antaflos/followers","following_url":"https://api.github.com/users/antaflos/following{/other_user}","gists_url":"https://api.github.com/users/antaflos/gists{/gist_id}","starred_url":"https://api.github.com/users/antaflos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antaflos/subscriptions","organizations_url":"https://api.github.com/users/antaflos/orgs","repos_url":"https://api.github.com/users/antaflos/repos","events_url":"https://api.github.com/users/antaflos/events{/privacy}","received_events_url":"https://api.github.com/users/antaflos/received_events","type":"User","site_admin":false},"created_at":"2015-10-21T22:32:18Z","updated_at":"2015-10-21T22:32:18Z","body":"@DavidS I have created PR #202, please have a look (and probably close this one)."}}