{"action":"created","comment":{"url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/comments/35258136","id":35258136,"diff_hunk":"@@ -0,0 +1,141 @@\n+Puppet::Type.newtype(:zfs_share) do\n+  @doc = \"Manage zfs shares\"\n+\n+  require 'puppet/parameter/boolean'\n+\n+  ensurable\n+\n+  newparam(:zfs_name) do\n+    desc \"Name of zfs file system\"\n+    isnamevar\n+\n+    validate do |value|\n+      unless value =~ /(?!\\/|\\d)^\\w.*/\n+        raise ArgumentError , \"%s is not a valid zfs path.\"\n+      end\n+    end\n+  end\n+\n+  newparam(:zpool) do\n+    desc \"Name of the zfs parent\"\n+\n+    validate do |value|\n+      unless value =~ /(?!\\/|\\d)^\\w.*/\n+        raise ArgumentError , \"%s is not a valid zpool.\"\n+      end\n+    end\n+  end\n+\n+  newparam(:share_title) do\n+    desc \"Override the title of the share\"\n+\n+    validate do |value|\n+      if value =~ /\\s/\n+        raise ArgumentError , \"#{value} is not a valid share title\"\n+      end\n+    end\n+  end\n+\n+  newparam(:allow_ip_read, :array_matching => :all) do","path":"lib/puppet/type/zfs_share.rb","position":29,"original_position":39,"commit_id":"fbe4cae1d77aaeb8d7bb7de91e73ffdbe7bbc494","original_commit_id":"b727a7e9cb7c26176b119b377fad05c746cb9e5c","user":{"login":"ody","id":193064,"avatar_url":"https://avatars.githubusercontent.com/u/193064?v=3","gravatar_id":"","url":"https://api.github.com/users/ody","html_url":"https://github.com/ody","followers_url":"https://api.github.com/users/ody/followers","following_url":"https://api.github.com/users/ody/following{/other_user}","gists_url":"https://api.github.com/users/ody/gists{/gist_id}","starred_url":"https://api.github.com/users/ody/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ody/subscriptions","organizations_url":"https://api.github.com/users/ody/orgs","repos_url":"https://api.github.com/users/ody/repos","events_url":"https://api.github.com/users/ody/events{/privacy}","received_events_url":"https://api.github.com/users/ody/received_events","type":"User","site_admin":false},"body":"Trying to avoid having a parameter for every type of ACL; hostname, network/ip, and netgroup.  A generic parameter that takes a hash may work.","created_at":"2015-07-22T20:15:18Z","updated_at":"2015-07-22T20:15:18Z","html_url":"https://github.com/puppetlabs-operations/puppet-zfs/pull/13#discussion_r35258136","pull_request_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13","_links":{"self":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/comments/35258136"},"html":{"href":"https://github.com/puppetlabs-operations/puppet-zfs/pull/13#discussion_r35258136"},"pull_request":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13"}}},"pull_request":{"url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13","id":40168253,"html_url":"https://github.com/puppetlabs-operations/puppet-zfs/pull/13","diff_url":"https://github.com/puppetlabs-operations/puppet-zfs/pull/13.diff","patch_url":"https://github.com/puppetlabs-operations/puppet-zfs/pull/13.patch","issue_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/13","number":13,"state":"open","locked":false,"title":"Add native type and provider for zfs_share","user":{"login":"mattkirby","id":3004602,"avatar_url":"https://avatars.githubusercontent.com/u/3004602?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkirby","html_url":"https://github.com/mattkirby","followers_url":"https://api.github.com/users/mattkirby/followers","following_url":"https://api.github.com/users/mattkirby/following{/other_user}","gists_url":"https://api.github.com/users/mattkirby/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkirby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkirby/subscriptions","organizations_url":"https://api.github.com/users/mattkirby/orgs","repos_url":"https://api.github.com/users/mattkirby/repos","events_url":"https://api.github.com/users/mattkirby/events{/privacy}","received_events_url":"https://api.github.com/users/mattkirby/received_events","type":"User","site_admin":false},"body":"This commit adds a zfs_share native type and provider to allow managing\r\nzfs shares. It achieves feature parity with zfs::share, but better\r\nhandles scenarios where the share being set differs from what is on\r\ndisk. This provider is configured for Solaris 11 only.","created_at":"2015-07-16T19:49:12Z","updated_at":"2015-07-22T20:15:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2d12a345d3cbd4524c8f1b845e023cf1ecdec397","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13/commits","review_comments_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13/comments","review_comment_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/13/comments","statuses_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/statuses/fbe4cae1d77aaeb8d7bb7de91e73ffdbe7bbc494","head":{"label":"puppetlabs-operations:kirby_share_type","ref":"kirby_share_type","sha":"fbe4cae1d77aaeb8d7bb7de91e73ffdbe7bbc494","user":{"login":"puppetlabs-operations","id":2043293,"avatar_url":"https://avatars.githubusercontent.com/u/2043293?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs-operations","html_url":"https://github.com/puppetlabs-operations","followers_url":"https://api.github.com/users/puppetlabs-operations/followers","following_url":"https://api.github.com/users/puppetlabs-operations/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs-operations/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs-operations/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs-operations/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs-operations/orgs","repos_url":"https://api.github.com/users/puppetlabs-operations/repos","events_url":"https://api.github.com/users/puppetlabs-operations/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs-operations/received_events","type":"Organization","site_admin":false},"repo":{"id":15260364,"name":"puppet-zfs","full_name":"puppetlabs-operations/puppet-zfs","owner":{"login":"puppetlabs-operations","id":2043293,"avatar_url":"https://avatars.githubusercontent.com/u/2043293?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs-operations","html_url":"https://github.com/puppetlabs-operations","followers_url":"https://api.github.com/users/puppetlabs-operations/followers","following_url":"https://api.github.com/users/puppetlabs-operations/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs-operations/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs-operations/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs-operations/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs-operations/orgs","repos_url":"https://api.github.com/users/puppetlabs-operations/repos","events_url":"https://api.github.com/users/puppetlabs-operations/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs-operations/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/puppetlabs-operations/puppet-zfs","description":"A module for managing ZFS","fork":false,"url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs","forks_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/forks","keys_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/teams","hooks_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/hooks","issue_events_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/events{/number}","events_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/events","assignees_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/assignees{/user}","branches_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/branches{/branch}","tags_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/tags","blobs_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/statuses/{sha}","languages_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/languages","stargazers_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/stargazers","contributors_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/contributors","subscribers_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/subscribers","subscription_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/subscription","commits_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/contents/{+path}","compare_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/merges","archive_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/downloads","issues_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues{/number}","pulls_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls{/number}","milestones_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/milestones{/number}","notifications_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/labels{/name}","releases_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/releases{/id}","created_at":"2013-12-17T16:54:53Z","updated_at":"2015-06-11T11:41:27Z","pushed_at":"2015-07-21T09:42:45Z","git_url":"git://github.com/puppetlabs-operations/puppet-zfs.git","ssh_url":"git@github.com:puppetlabs-operations/puppet-zfs.git","clone_url":"https://github.com/puppetlabs-operations/puppet-zfs.git","svn_url":"https://github.com/puppetlabs-operations/puppet-zfs","homepage":null,"size":456,"stargazers_count":1,"watchers_count":1,"language":"Perl","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":3,"forks":2,"open_issues":3,"watchers":1,"default_branch":"master"}},"base":{"label":"puppetlabs-operations:kirby_zfs","ref":"kirby_zfs","sha":"de21d2ccbf8ae14bb0637348bc93e22af1a56ecb","user":{"login":"puppetlabs-operations","id":2043293,"avatar_url":"https://avatars.githubusercontent.com/u/2043293?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs-operations","html_url":"https://github.com/puppetlabs-operations","followers_url":"https://api.github.com/users/puppetlabs-operations/followers","following_url":"https://api.github.com/users/puppetlabs-operations/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs-operations/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs-operations/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs-operations/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs-operations/orgs","repos_url":"https://api.github.com/users/puppetlabs-operations/repos","events_url":"https://api.github.com/users/puppetlabs-operations/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs-operations/received_events","type":"Organization","site_admin":false},"repo":{"id":15260364,"name":"puppet-zfs","full_name":"puppetlabs-operations/puppet-zfs","owner":{"login":"puppetlabs-operations","id":2043293,"avatar_url":"https://avatars.githubusercontent.com/u/2043293?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs-operations","html_url":"https://github.com/puppetlabs-operations","followers_url":"https://api.github.com/users/puppetlabs-operations/followers","following_url":"https://api.github.com/users/puppetlabs-operations/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs-operations/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs-operations/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs-operations/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs-operations/orgs","repos_url":"https://api.github.com/users/puppetlabs-operations/repos","events_url":"https://api.github.com/users/puppetlabs-operations/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs-operations/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/puppetlabs-operations/puppet-zfs","description":"A module for managing ZFS","fork":false,"url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs","forks_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/forks","keys_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/teams","hooks_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/hooks","issue_events_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/events{/number}","events_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/events","assignees_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/assignees{/user}","branches_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/branches{/branch}","tags_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/tags","blobs_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/statuses/{sha}","languages_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/languages","stargazers_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/stargazers","contributors_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/contributors","subscribers_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/subscribers","subscription_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/subscription","commits_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/contents/{+path}","compare_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/merges","archive_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/downloads","issues_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues{/number}","pulls_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls{/number}","milestones_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/milestones{/number}","notifications_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/labels{/name}","releases_url":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/releases{/id}","created_at":"2013-12-17T16:54:53Z","updated_at":"2015-06-11T11:41:27Z","pushed_at":"2015-07-21T09:42:45Z","git_url":"git://github.com/puppetlabs-operations/puppet-zfs.git","ssh_url":"git@github.com:puppetlabs-operations/puppet-zfs.git","clone_url":"https://github.com/puppetlabs-operations/puppet-zfs.git","svn_url":"https://github.com/puppetlabs-operations/puppet-zfs","homepage":null,"size":456,"stargazers_count":1,"watchers_count":1,"language":"Perl","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":3,"forks":2,"open_issues":3,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13"},"html":{"href":"https://github.com/puppetlabs-operations/puppet-zfs/pull/13"},"issue":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/13"},"comments":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/issues/13/comments"},"review_comments":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13/comments"},"review_comment":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/pulls/13/commits"},"statuses":{"href":"https://api.github.com/repos/puppetlabs-operations/puppet-zfs/statuses/fbe4cae1d77aaeb8d7bb7de91e73ffdbe7bbc494"}}}}