{"action":"created","comment":{"url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/comments/38217950","id":38217950,"diff_hunk":"@@ -161,4 +161,13 @@ private ModelDescriptions() {\n         public static final String PROTOCOL = \"protocol of the rule\";\n         public static final String MODIFIABLE = \"flag for making the rule modifiable\";\n     }\n+\n+    public static class AccountPreferencesModelDescription {\n+        public static final String MAX_NO_CLUSTERS = \"max number of clusters in the account (0 when unlimited)\";\n+        public static final String MAX_NO_NODES_PER_CLUSTER = \"max number of vms in a cluster of account (0 when unlimited)\";\n+        public static final String MAX_NO_CLUSTERS_PER_USER = \"max number of clusters for user within the account (0 when unlimited)\";\n+        public static final String ALLOWED_INSTANCE_TYPES = \"allowed instance types in the account (empty list for no restriction)\";\n+        public static final String CLUSTER_TIME_TO_LIVE = \"lifecycle of the cluster in ms (0 for immortal clusters)\";","path":"core/src/main/java/com/sequenceiq/cloudbreak/controller/doc/ModelDescriptions.java","position":10,"original_position":10,"commit_id":"264f5550cc359da1ced060a0ec0c61424d0e6710","original_commit_id":"264f5550cc359da1ced060a0ec0c61424d0e6710","user":{"login":"keyki","id":2330520,"avatar_url":"https://avatars.githubusercontent.com/u/2330520?v=3","gravatar_id":"","url":"https://api.github.com/users/keyki","html_url":"https://github.com/keyki","followers_url":"https://api.github.com/users/keyki/followers","following_url":"https://api.github.com/users/keyki/following{/other_user}","gists_url":"https://api.github.com/users/keyki/gists{/gist_id}","starred_url":"https://api.github.com/users/keyki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keyki/subscriptions","organizations_url":"https://api.github.com/users/keyki/orgs","repos_url":"https://api.github.com/users/keyki/repos","events_url":"https://api.github.com/users/keyki/events{/privacy}","received_events_url":"https://api.github.com/users/keyki/received_events","type":"User","site_admin":false},"body":"miliseconds?","created_at":"2015-08-28T16:31:16Z","updated_at":"2015-08-28T16:31:16Z","html_url":"https://github.com/sequenceiq/cloudbreak/pull/900#discussion_r38217950","pull_request_url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900","_links":{"self":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/comments/38217950"},"html":{"href":"https://github.com/sequenceiq/cloudbreak/pull/900#discussion_r38217950"},"pull_request":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900"}}},"pull_request":{"url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900","id":43640779,"html_url":"https://github.com/sequenceiq/cloudbreak/pull/900","diff_url":"https://github.com/sequenceiq/cloudbreak/pull/900.diff","patch_url":"https://github.com/sequenceiq/cloudbreak/pull/900.patch","issue_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/900","number":900,"state":"open","locked":false,"title":"Configurable account preferences","user":{"login":"biharitomi","id":2011396,"avatar_url":"https://avatars.githubusercontent.com/u/2011396?v=3","gravatar_id":"","url":"https://api.github.com/users/biharitomi","html_url":"https://github.com/biharitomi","followers_url":"https://api.github.com/users/biharitomi/followers","following_url":"https://api.github.com/users/biharitomi/following{/other_user}","gists_url":"https://api.github.com/users/biharitomi/gists{/gist_id}","starred_url":"https://api.github.com/users/biharitomi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/biharitomi/subscriptions","organizations_url":"https://api.github.com/users/biharitomi/orgs","repos_url":"https://api.github.com/users/biharitomi/repos","events_url":"https://api.github.com/users/biharitomi/events{/privacy}","received_events_url":"https://api.github.com/users/biharitomi/received_events","type":"User","site_admin":false},"body":"Please review it @akanto, @matyix or @keyki !\r\n\r\nAbility to account admins could configure the following restrictions to their accounts:\r\n - max number of clusters\r\n - max number of nodes per cluster\r\n - max number of clusters per user\r\n - instance types\r\n - max running time of clusters\r\n - time period for user to be able to create clusters\r\n\r\n@matyix please check the error messages in [AccountPreferencesValidator.java](https://github.com/sequenceiq/cloudbreak/blob/account-config/core/src/main/java/com/sequenceiq/cloudbreak/service/account/AccountPreferencesValidator.java)","created_at":"2015-08-28T15:34:31Z","updated_at":"2015-08-28T16:31:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e784f2cf3ccfef1cac78ba783e971813d6a2e11d","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900/commits","review_comments_url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900/comments","review_comment_url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/900/comments","statuses_url":"https://api.github.com/repos/sequenceiq/cloudbreak/statuses/264f5550cc359da1ced060a0ec0c61424d0e6710","head":{"label":"sequenceiq:account-config","ref":"account-config","sha":"264f5550cc359da1ced060a0ec0c61424d0e6710","user":{"login":"sequenceiq","id":6003133,"avatar_url":"https://avatars.githubusercontent.com/u/6003133?v=3","gravatar_id":"","url":"https://api.github.com/users/sequenceiq","html_url":"https://github.com/sequenceiq","followers_url":"https://api.github.com/users/sequenceiq/followers","following_url":"https://api.github.com/users/sequenceiq/following{/other_user}","gists_url":"https://api.github.com/users/sequenceiq/gists{/gist_id}","starred_url":"https://api.github.com/users/sequenceiq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sequenceiq/subscriptions","organizations_url":"https://api.github.com/users/sequenceiq/orgs","repos_url":"https://api.github.com/users/sequenceiq/repos","events_url":"https://api.github.com/users/sequenceiq/events{/privacy}","received_events_url":"https://api.github.com/users/sequenceiq/received_events","type":"Organization","site_admin":false},"repo":{"id":19638422,"name":"cloudbreak","full_name":"sequenceiq/cloudbreak","owner":{"login":"sequenceiq","id":6003133,"avatar_url":"https://avatars.githubusercontent.com/u/6003133?v=3","gravatar_id":"","url":"https://api.github.com/users/sequenceiq","html_url":"https://github.com/sequenceiq","followers_url":"https://api.github.com/users/sequenceiq/followers","following_url":"https://api.github.com/users/sequenceiq/following{/other_user}","gists_url":"https://api.github.com/users/sequenceiq/gists{/gist_id}","starred_url":"https://api.github.com/users/sequenceiq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sequenceiq/subscriptions","organizations_url":"https://api.github.com/users/sequenceiq/orgs","repos_url":"https://api.github.com/users/sequenceiq/repos","events_url":"https://api.github.com/users/sequenceiq/events{/privacy}","received_events_url":"https://api.github.com/users/sequenceiq/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sequenceiq/cloudbreak","description":"Cloudbreak is a cloud agnostic Hadoop as a Service API.","fork":false,"url":"https://api.github.com/repos/sequenceiq/cloudbreak","forks_url":"https://api.github.com/repos/sequenceiq/cloudbreak/forks","keys_url":"https://api.github.com/repos/sequenceiq/cloudbreak/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sequenceiq/cloudbreak/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sequenceiq/cloudbreak/teams","hooks_url":"https://api.github.com/repos/sequenceiq/cloudbreak/hooks","issue_events_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/events{/number}","events_url":"https://api.github.com/repos/sequenceiq/cloudbreak/events","assignees_url":"https://api.github.com/repos/sequenceiq/cloudbreak/assignees{/user}","branches_url":"https://api.github.com/repos/sequenceiq/cloudbreak/branches{/branch}","tags_url":"https://api.github.com/repos/sequenceiq/cloudbreak/tags","blobs_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/refs{/sha}","trees_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sequenceiq/cloudbreak/statuses/{sha}","languages_url":"https://api.github.com/repos/sequenceiq/cloudbreak/languages","stargazers_url":"https://api.github.com/repos/sequenceiq/cloudbreak/stargazers","contributors_url":"https://api.github.com/repos/sequenceiq/cloudbreak/contributors","subscribers_url":"https://api.github.com/repos/sequenceiq/cloudbreak/subscribers","subscription_url":"https://api.github.com/repos/sequenceiq/cloudbreak/subscription","commits_url":"https://api.github.com/repos/sequenceiq/cloudbreak/commits{/sha}","git_commits_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/commits{/sha}","comments_url":"https://api.github.com/repos/sequenceiq/cloudbreak/comments{/number}","issue_comment_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/comments{/number}","contents_url":"https://api.github.com/repos/sequenceiq/cloudbreak/contents/{+path}","compare_url":"https://api.github.com/repos/sequenceiq/cloudbreak/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sequenceiq/cloudbreak/merges","archive_url":"https://api.github.com/repos/sequenceiq/cloudbreak/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sequenceiq/cloudbreak/downloads","issues_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues{/number}","pulls_url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls{/number}","milestones_url":"https://api.github.com/repos/sequenceiq/cloudbreak/milestones{/number}","notifications_url":"https://api.github.com/repos/sequenceiq/cloudbreak/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sequenceiq/cloudbreak/labels{/name}","releases_url":"https://api.github.com/repos/sequenceiq/cloudbreak/releases{/id}","created_at":"2014-05-10T10:03:07Z","updated_at":"2015-08-27T07:35:12Z","pushed_at":"2015-08-28T16:09:32Z","git_url":"git://github.com/sequenceiq/cloudbreak.git","ssh_url":"git@github.com:sequenceiq/cloudbreak.git","clone_url":"https://github.com/sequenceiq/cloudbreak.git","svn_url":"https://github.com/sequenceiq/cloudbreak","homepage":"https://cloudbreak.sequenceiq.com/","size":24195,"stargazers_count":108,"watchers_count":108,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":20,"mirror_url":null,"open_issues_count":10,"forks":20,"open_issues":10,"watchers":108,"default_branch":"master"}},"base":{"label":"sequenceiq:master","ref":"master","sha":"3bd726d6d4338df15e35947cec0e2be3dcfda08e","user":{"login":"sequenceiq","id":6003133,"avatar_url":"https://avatars.githubusercontent.com/u/6003133?v=3","gravatar_id":"","url":"https://api.github.com/users/sequenceiq","html_url":"https://github.com/sequenceiq","followers_url":"https://api.github.com/users/sequenceiq/followers","following_url":"https://api.github.com/users/sequenceiq/following{/other_user}","gists_url":"https://api.github.com/users/sequenceiq/gists{/gist_id}","starred_url":"https://api.github.com/users/sequenceiq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sequenceiq/subscriptions","organizations_url":"https://api.github.com/users/sequenceiq/orgs","repos_url":"https://api.github.com/users/sequenceiq/repos","events_url":"https://api.github.com/users/sequenceiq/events{/privacy}","received_events_url":"https://api.github.com/users/sequenceiq/received_events","type":"Organization","site_admin":false},"repo":{"id":19638422,"name":"cloudbreak","full_name":"sequenceiq/cloudbreak","owner":{"login":"sequenceiq","id":6003133,"avatar_url":"https://avatars.githubusercontent.com/u/6003133?v=3","gravatar_id":"","url":"https://api.github.com/users/sequenceiq","html_url":"https://github.com/sequenceiq","followers_url":"https://api.github.com/users/sequenceiq/followers","following_url":"https://api.github.com/users/sequenceiq/following{/other_user}","gists_url":"https://api.github.com/users/sequenceiq/gists{/gist_id}","starred_url":"https://api.github.com/users/sequenceiq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sequenceiq/subscriptions","organizations_url":"https://api.github.com/users/sequenceiq/orgs","repos_url":"https://api.github.com/users/sequenceiq/repos","events_url":"https://api.github.com/users/sequenceiq/events{/privacy}","received_events_url":"https://api.github.com/users/sequenceiq/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sequenceiq/cloudbreak","description":"Cloudbreak is a cloud agnostic Hadoop as a Service API.","fork":false,"url":"https://api.github.com/repos/sequenceiq/cloudbreak","forks_url":"https://api.github.com/repos/sequenceiq/cloudbreak/forks","keys_url":"https://api.github.com/repos/sequenceiq/cloudbreak/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sequenceiq/cloudbreak/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sequenceiq/cloudbreak/teams","hooks_url":"https://api.github.com/repos/sequenceiq/cloudbreak/hooks","issue_events_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/events{/number}","events_url":"https://api.github.com/repos/sequenceiq/cloudbreak/events","assignees_url":"https://api.github.com/repos/sequenceiq/cloudbreak/assignees{/user}","branches_url":"https://api.github.com/repos/sequenceiq/cloudbreak/branches{/branch}","tags_url":"https://api.github.com/repos/sequenceiq/cloudbreak/tags","blobs_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/refs{/sha}","trees_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sequenceiq/cloudbreak/statuses/{sha}","languages_url":"https://api.github.com/repos/sequenceiq/cloudbreak/languages","stargazers_url":"https://api.github.com/repos/sequenceiq/cloudbreak/stargazers","contributors_url":"https://api.github.com/repos/sequenceiq/cloudbreak/contributors","subscribers_url":"https://api.github.com/repos/sequenceiq/cloudbreak/subscribers","subscription_url":"https://api.github.com/repos/sequenceiq/cloudbreak/subscription","commits_url":"https://api.github.com/repos/sequenceiq/cloudbreak/commits{/sha}","git_commits_url":"https://api.github.com/repos/sequenceiq/cloudbreak/git/commits{/sha}","comments_url":"https://api.github.com/repos/sequenceiq/cloudbreak/comments{/number}","issue_comment_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/comments{/number}","contents_url":"https://api.github.com/repos/sequenceiq/cloudbreak/contents/{+path}","compare_url":"https://api.github.com/repos/sequenceiq/cloudbreak/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sequenceiq/cloudbreak/merges","archive_url":"https://api.github.com/repos/sequenceiq/cloudbreak/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sequenceiq/cloudbreak/downloads","issues_url":"https://api.github.com/repos/sequenceiq/cloudbreak/issues{/number}","pulls_url":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls{/number}","milestones_url":"https://api.github.com/repos/sequenceiq/cloudbreak/milestones{/number}","notifications_url":"https://api.github.com/repos/sequenceiq/cloudbreak/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sequenceiq/cloudbreak/labels{/name}","releases_url":"https://api.github.com/repos/sequenceiq/cloudbreak/releases{/id}","created_at":"2014-05-10T10:03:07Z","updated_at":"2015-08-27T07:35:12Z","pushed_at":"2015-08-28T16:09:32Z","git_url":"git://github.com/sequenceiq/cloudbreak.git","ssh_url":"git@github.com:sequenceiq/cloudbreak.git","clone_url":"https://github.com/sequenceiq/cloudbreak.git","svn_url":"https://github.com/sequenceiq/cloudbreak","homepage":"https://cloudbreak.sequenceiq.com/","size":24195,"stargazers_count":108,"watchers_count":108,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":20,"mirror_url":null,"open_issues_count":10,"forks":20,"open_issues":10,"watchers":108,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900"},"html":{"href":"https://github.com/sequenceiq/cloudbreak/pull/900"},"issue":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/900"},"comments":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/issues/900/comments"},"review_comments":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900/comments"},"review_comment":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/pulls/900/commits"},"statuses":{"href":"https://api.github.com/repos/sequenceiq/cloudbreak/statuses/264f5550cc359da1ced060a0ec0c61424d0e6710"}}}}