{"action":"created","issue":{"url":"https://api.github.com/repos/puppetlabs/puppet/issues/5829","repository_url":"https://api.github.com/repos/puppetlabs/puppet","labels_url":"https://api.github.com/repos/puppetlabs/puppet/issues/5829/labels{/name}","comments_url":"https://api.github.com/repos/puppetlabs/puppet/issues/5829/comments","events_url":"https://api.github.com/repos/puppetlabs/puppet/issues/5829/events","html_url":"https://github.com/puppetlabs/puppet/pull/5829","id":224836953,"number":5829,"title":"(PUP-6994) Limit Pcore Data type to native JSON and introduce RichData type.","user":{"login":"thallgren","id":209495,"avatar_url":"https://avatars1.githubusercontent.com/u/209495?v=3","gravatar_id":"","url":"https://api.github.com/users/thallgren","html_url":"https://github.com/thallgren","followers_url":"https://api.github.com/users/thallgren/followers","following_url":"https://api.github.com/users/thallgren/following{/other_user}","gists_url":"https://api.github.com/users/thallgren/gists{/gist_id}","starred_url":"https://api.github.com/users/thallgren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thallgren/subscriptions","organizations_url":"https://api.github.com/users/thallgren/orgs","repos_url":"https://api.github.com/users/thallgren/repos","events_url":"https://api.github.com/users/thallgren/events{/privacy}","received_events_url":"https://api.github.com/users/thallgren/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-04-27T16:12:17Z","updated_at":"2017-04-27T20:00:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/puppetlabs/puppet/pulls/5829","html_url":"https://github.com/puppetlabs/puppet/pull/5829","diff_url":"https://github.com/puppetlabs/puppet/pull/5829.diff","patch_url":"https://github.com/puppetlabs/puppet/pull/5829.patch"},"body":"This PR changes the Pcore `Data` type so that it is limited to the types that can be expressed in native JSON. This is done by first introducing a `ScalarData`, a subset of `Scalar` that is limited to the JSON scalars `String`, `Integer`, `Float`, and `Boolean`, and then having `Data` use that instead of `Scalar`. A `Hash` must have keys of `String` type to be assignable to `Data`.\r\n\r\nAn unparameterized `Hash` or `Array` will now use `Any` for the contained key and value types.\r\n\r\nThe PR also introduces a `RichData` type as a variant of all types except `Runtime`. The contained `Hash` is keyed by a `RichDataKey` which is a variant of `String` and `Numeric`\r\n\r\nThe `Puppet::LookupKey` is changed into an alias for `RichDataKey` and the `Puppet::LookupValue` is changed into an alias for `RichData`."},"comment":{"url":"https://api.github.com/repos/puppetlabs/puppet/issues/comments/297822947","html_url":"https://github.com/puppetlabs/puppet/pull/5829#issuecomment-297822947","issue_url":"https://api.github.com/repos/puppetlabs/puppet/issues/5829","id":297822947,"user":{"login":"puppetcla","id":3835957,"avatar_url":"https://avatars0.githubusercontent.com/u/3835957?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetcla","html_url":"https://github.com/puppetcla","followers_url":"https://api.github.com/users/puppetcla/followers","following_url":"https://api.github.com/users/puppetcla/following{/other_user}","gists_url":"https://api.github.com/users/puppetcla/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetcla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetcla/subscriptions","organizations_url":"https://api.github.com/users/puppetcla/orgs","repos_url":"https://api.github.com/users/puppetcla/repos","events_url":"https://api.github.com/users/puppetcla/events{/privacy}","received_events_url":"https://api.github.com/users/puppetcla/received_events","type":"User","site_admin":false},"created_at":"2017-04-27T20:00:26Z","updated_at":"2017-04-27T20:00:26Z","body":"CLA signed by all contributors."}}
{"actor":{"display_login":"puppetcla"}}