GitHub PullRequestReviewCommentEvent at 2014-08-19 05:27:16
Repository: azure-sdk-tools
Actor: muktaa
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/comments/16397639","id":16397639,"diff_hunk":"@@ -0,0 +1,227 @@\n+﻿// ----------------------------------------------------------------------------------\n+//\n+// Copyright Microsoft Corporation\n+// Licensed under the Apache License, Version 2.0 (the \"License\");\n+// you may not use this file except in compliance with the License.\n+// You may obtain a copy of the License at\n+// http://www.apache.org/licenses/LICENSE-2.0\n+// Unless required by applicable law or agreed to in writing, software\n+// distributed under the License is distributed on an \"AS IS\" BASIS,\n+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+// See the License for the specific language governing permissions and\n+// limitations under the License.\n+// ----------------------------------------------------------------------------------\n+\n+namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions\n+{\n+    using System.Management.Automation;\n+    using System.Linq;\n+    using System;\n+    using System.IO;\n+    using System.Text.RegularExpressions;\n+    using Model;\n+    using Helpers;\n+\n+    [Cmdlet(\n+        VerbsCommon.Set,\n+        VirtualMachineChefExtensionNoun,\n+        DefaultParameterSetName = WindowsParameterSetName),\n+    OutputType(\n+        typeof(IPersistentVM))]\n+    public class SetAzureVMChefExtensionCommand : VirtualMachineChefExtensionCmdletBase\n+    {\n+        protected const string LinuxParameterSetName = OS.Linux;\n+        protected const string WindowsParameterSetName = OS.Windows;\n+\n+        [Parameter(\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Extension Version. Default is the latest available version\")]\n+        [ValidateNotNullOrEmpty]\n+        public override string Version { get; set; }\n+\n+        [Parameter(\n+            Mandatory = true,\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Chef Server Validation Key File Path.\")]\n+        [ValidateNotNullOrEmpty]\n+        public string ValidationPem { get; set; }\n+\n+        [Parameter(\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Chef Server Client Config (ClientRb)File Path.\")]\n+        [ValidateNotNullOrEmpty]\n+        public string ClientRb { get; set; }\n+\n+        [Parameter(\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Chef Server Node Runlist.\")]\n+        [ValidateNotNullOrEmpty]\n+        public string RunList { get; set; }\n+\n+        [Parameter(\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Chef Server Url.\")]\n+        [ValidateNotNullOrEmpty]\n+        public string ChefServerUrl { get; set; }\n+\n+        [Parameter(\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Chef ValidationClientName,\" +\n+                          \" used to determine whether a chef-client may register with a Chef server.\")]\n+        [ValidateNotNullOrEmpty]\n+        public string ValidationClientName { get; set; }\n+\n+        [Parameter(\n+            ValueFromPipelineByPropertyName = true,\n+            HelpMessage = \"The Chef Organization name, used to form Validation Client Name.\")]\n+        [ValidateNotNullOrEmpty]\n+        public string OrganizationName { get; set; }\n+\n+        [Parameter(\n+            Mandatory = true,\n+            ParameterSetName = LinuxParameterSetName,\n+            HelpMessage = \"Set extension for Linux.\")]\n+        public SwitchParameter Linux { get; set; }\n+\n+        [Parameter(\n+            Mandatory = true,\n+            ParameterSetName = WindowsParameterSetName,\n+            HelpMessage = \"Set extension for Windows.\")]\n+        public SwitchParameter Windows { get; set; }\n+\n+        internal void ExecuteCommand()\n+        {\n+            SetDefault();\n+            ValidateParameters();\n+            SetPrivateConfig();\n+            SetPublicConfig();\n+            RemovePredicateExtensions();\n+            AddResourceExtension();\n+            WriteObject(VM);\n+        }\n+\n+        private string GetLatestChefExtensionVersion()\n+        {\n+            var extensionList = this.ComputeClient.VirtualMachineExtensions.List();\n+            return extensionList.ResourceExtensions.Where(\n+                extension => extension.Publisher == ExtensionDefaultPublisher\n+                && extension.Name == base.extensionName).Max(extension => extension.Version);\n+        }\n+\n+        private void SetDefault()\n+        {\n+            bool IsOrganizationNameEmpty = string.IsNullOrEmpty(this.OrganizationName);\n+\n+            // form validation client name using organization name.\n+            if (!IsOrganizationNameEmpty)\n+            {\n+                this.ValidationClientName = this.OrganizationName + \"-validator\";\n+            }\n+\n+            if (this.Linux.IsPresent)\n+            {\n+                base.extensionName = LinuxExtensionName;\n+            }\n+            else if (this.Windows.IsPresent)\n+            {\n+                base.extensionName = ExtensionDefaultName;\n+            }\n+            this.Version = this.Version ?? GetLatestChefExtensionVersion();\n+        }\n+\n+        private void SetPrivateConfig()\n+        {\n+            this.PrivateConfiguration = string.Format(PrivateConfigurationTemplate,\n+                File.ReadAllText(this.ValidationPem).TrimEnd('\\r', '\\n'));\n+        }\n+\n+        private void SetPublicConfig()\n+        {\n+            string ClientConfig = string.Empty;\n+            bool IsClientRbEmpty = string.IsNullOrEmpty(this.ClientRb);\n+            bool IsChefServerUrlEmpty = string.IsNullOrEmpty(this.ChefServerUrl);\n+            bool IsValidationClientNameEmpty = string.IsNullOrEmpty(this.ValidationClientName);\n+            bool IsRunListEmpty = string.IsNullOrEmpty(this.RunList);\n+\n+            //Cases handled:\n+            // 1. When clientRb given by user and:\n+            //    1.1 if ChefServerUrl and ValidationClientName given then append it to end of ClientRb\n+            //    1.2 if ChefServerUrl given then append it to end of ClientRb\n+            //    1.3 if ValidationClientName given then append it to end of ClientRb\n+            // 2. When ClientRb not given but ChefServerUrl and ValidationClientName given by user then\n+            //    create ClientRb config using these values.\n+\n+            if (!IsClientRbEmpty)\n+            {\n+                ClientConfig = Regex.Replace(File.ReadAllText(this.ClientRb),\n+                    \"\\\"|'\", \"\\\\\\\"\").TrimEnd('\\r', '\\n');\n+                // Append ChefServerUrl and ValidationClientName to end of ClientRb\n+                if (!IsChefServerUrlEmpty && !IsValidationClientNameEmpty)\n+                {\n+                    string UserConfig = @\"\n+chef_server_url  \\\"\"{0}\\\"\"","path":"src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/Chef/SetAzureVMChefExtension.cs","position":162,"original_position":162,"commit_id":"2bf5a87c6c681af91c2c6b28dd6d04b4b4f161a0","original_commit_id":"5fc473d73e68371008e018b2f37a899b89334817","user":{"login":"muktaa","id":3928036,"avatar_url":"https://avatars.githubusercontent.com/u/3928036?v=2","gravatar_id":"bdd338b41758899e1b60ee55c6b8a2b7","url":"https://api.github.com/users/muktaa","html_url":"https://github.com/muktaa","followers_url":"https://api.github.com/users/muktaa/followers","following_url":"https://api.github.com/users/muktaa/following{/other_user}","gists_url":"https://api.github.com/users/muktaa/gists{/gist_id}","starred_url":"https://api.github.com/users/muktaa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muktaa/subscriptions","organizations_url":"https://api.github.com/users/muktaa/orgs","repos_url":"https://api.github.com/users/muktaa/repos","events_url":"https://api.github.com/users/muktaa/events{/privacy}","received_events_url":"https://api.github.com/users/muktaa/received_events","type":"User","site_admin":false},"body":"@ogail - The code is generating a file that is used by the chef extension. We do not want tabs in that file & hence the alignment looks as above.","created_at":"2014-08-19T05:27:16Z","updated_at":"2014-08-19T05:27:16Z","html_url":"https://github.com/Azure/azure-sdk-tools/pull/2833#discussion_r16397639","pull_request_url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833","_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/comments/16397639"},"html":{"href":"https://github.com/Azure/azure-sdk-tools/pull/2833#discussion_r16397639"},"pull_request":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833"}}},"pull_request":{"url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833","id":19913008,"html_url":"https://github.com/Azure/azure-sdk-tools/pull/2833","diff_url":"https://github.com/Azure/azure-sdk-tools/pull/2833.diff","patch_url":"https://github.com/Azure/azure-sdk-tools/pull/2833.patch","issue_url":"https://api.github.com/repos/Azure/azure-sdk-tools/issues/2833","number":2833,"state":"open","locked":false,"title":"Adding support for Azure Chef Extension","user":{"login":"muktaa","id":3928036,"avatar_url":"https://avatars.githubusercontent.com/u/3928036?v=2","gravatar_id":"bdd338b41758899e1b60ee55c6b8a2b7","url":"https://api.github.com/users/muktaa","html_url":"https://github.com/muktaa","followers_url":"https://api.github.com/users/muktaa/followers","following_url":"https://api.github.com/users/muktaa/following{/other_user}","gists_url":"https://api.github.com/users/muktaa/gists{/gist_id}","starred_url":"https://api.github.com/users/muktaa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muktaa/subscriptions","organizations_url":"https://api.github.com/users/muktaa/orgs","repos_url":"https://api.github.com/users/muktaa/repos","events_url":"https://api.github.com/users/muktaa/events{/privacy}","received_events_url":"https://api.github.com/users/muktaa/received_events","type":"User","site_admin":false},"body":"","created_at":"2014-08-18T11:50:52Z","updated_at":"2014-08-19T05:27:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"272fe431ff80e4934533304229bf0fe40aed3da6","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833/commits","review_comments_url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833/comments","review_comment_url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/comments/{number}","comments_url":"https://api.github.com/repos/Azure/azure-sdk-tools/issues/2833/comments","statuses_url":"https://api.github.com/repos/Azure/azure-sdk-tools/statuses/2bf5a87c6c681af91c2c6b28dd6d04b4b4f161a0","head":{"label":"ClogenyTechnologies:clogeny-dev","ref":"clogeny-dev","sha":"2bf5a87c6c681af91c2c6b28dd6d04b4b4f161a0","user":{"login":"ClogenyTechnologies","id":2493241,"avatar_url":"https://avatars.githubusercontent.com/u/2493241?v=2","gravatar_id":"54e4482a723fa18b79eeff0dff88a8b5","url":"https://api.github.com/users/ClogenyTechnologies","html_url":"https://github.com/ClogenyTechnologies","followers_url":"https://api.github.com/users/ClogenyTechnologies/followers","following_url":"https://api.github.com/users/ClogenyTechnologies/following{/other_user}","gists_url":"https://api.github.com/users/ClogenyTechnologies/gists{/gist_id}","starred_url":"https://api.github.com/users/ClogenyTechnologies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ClogenyTechnologies/subscriptions","organizations_url":"https://api.github.com/users/ClogenyTechnologies/orgs","repos_url":"https://api.github.com/users/ClogenyTechnologies/repos","events_url":"https://api.github.com/users/ClogenyTechnologies/events{/privacy}","received_events_url":"https://api.github.com/users/ClogenyTechnologies/received_events","type":"Organization","site_admin":false},"repo":{"id":19301229,"name":"azure-sdk-tools","full_name":"ClogenyTechnologies/azure-sdk-tools","owner":{"login":"ClogenyTechnologies","id":2493241,"avatar_url":"https://avatars.githubusercontent.com/u/2493241?v=2","gravatar_id":"54e4482a723fa18b79eeff0dff88a8b5","url":"https://api.github.com/users/ClogenyTechnologies","html_url":"https://github.com/ClogenyTechnologies","followers_url":"https://api.github.com/users/ClogenyTechnologies/followers","following_url":"https://api.github.com/users/ClogenyTechnologies/following{/other_user}","gists_url":"https://api.github.com/users/ClogenyTechnologies/gists{/gist_id}","starred_url":"https://api.github.com/users/ClogenyTechnologies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ClogenyTechnologies/subscriptions","organizations_url":"https://api.github.com/users/ClogenyTechnologies/orgs","repos_url":"https://api.github.com/users/ClogenyTechnologies/repos","events_url":"https://api.github.com/users/ClogenyTechnologies/events{/privacy}","received_events_url":"https://api.github.com/users/ClogenyTechnologies/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ClogenyTechnologies/azure-sdk-tools","description":"Microsoft Azure PowerShell","fork":true,"url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools","forks_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/forks","keys_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/teams","hooks_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/hooks","issue_events_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/issues/events{/number}","events_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/events","assignees_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/assignees{/user}","branches_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/branches{/branch}","tags_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/tags","blobs_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/languages","stargazers_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/stargazers","contributors_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/contributors","subscribers_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/subscribers","subscription_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/subscription","commits_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/issues/comments/{number}","contents_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/contents/{+path}","compare_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/merges","archive_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/downloads","issues_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/issues{/number}","pulls_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/labels{/name}","releases_url":"https://api.github.com/repos/ClogenyTechnologies/azure-sdk-tools/releases{/id}","created_at":"2014-04-30T04:53:02Z","updated_at":"2014-08-18T07:57:58Z","pushed_at":"2014-08-18T17:07:33Z","git_url":"git://github.com/ClogenyTechnologies/azure-sdk-tools.git","ssh_url":"git@github.com:ClogenyTechnologies/azure-sdk-tools.git","clone_url":"https://github.com/ClogenyTechnologies/azure-sdk-tools.git","svn_url":"https://github.com/ClogenyTechnologies/azure-sdk-tools","homepage":"http://azure.microsoft.com/en-us/documentation/","size":261199,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Azure:dev","ref":"dev","sha":"0ed7085bf1f34bbb415aac846c39249602f94e2f","user":{"login":"Azure","id":6844498,"avatar_url":"https://avatars.githubusercontent.com/u/6844498?v=2","gravatar_id":"c629ed394d19b8acdf3947f4c1079bbb","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":2942160,"name":"azure-sdk-tools","full_name":"Azure/azure-sdk-tools","owner":{"login":"Azure","id":6844498,"avatar_url":"https://avatars.githubusercontent.com/u/6844498?v=2","gravatar_id":"c629ed394d19b8acdf3947f4c1079bbb","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Azure/azure-sdk-tools","description":"Microsoft Azure PowerShell","fork":false,"url":"https://api.github.com/repos/Azure/azure-sdk-tools","forks_url":"https://api.github.com/repos/Azure/azure-sdk-tools/forks","keys_url":"https://api.github.com/repos/Azure/azure-sdk-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-sdk-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-sdk-tools/teams","hooks_url":"https://api.github.com/repos/Azure/azure-sdk-tools/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-sdk-tools/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-sdk-tools/events","assignees_url":"https://api.github.com/repos/Azure/azure-sdk-tools/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-sdk-tools/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-sdk-tools/tags","blobs_url":"https://api.github.com/repos/Azure/azure-sdk-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-sdk-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-sdk-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-sdk-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-sdk-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-sdk-tools/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-sdk-tools/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-sdk-tools/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-sdk-tools/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-sdk-tools/subscription","commits_url":"https://api.github.com/repos/Azure/azure-sdk-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-sdk-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-sdk-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-sdk-tools/issues/comments/{number}","contents_url":"https://api.github.com/repos/Azure/azure-sdk-tools/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-sdk-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-sdk-tools/merges","archive_url":"https://api.github.com/repos/Azure/azure-sdk-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-sdk-tools/downloads","issues_url":"https://api.github.com/repos/Azure/azure-sdk-tools/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-sdk-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-sdk-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-sdk-tools/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-sdk-tools/releases{/id}","created_at":"2011-12-08T18:36:46Z","updated_at":"2014-08-14T19:11:43Z","pushed_at":"2014-08-19T01:29:41Z","git_url":"git://github.com/Azure/azure-sdk-tools.git","ssh_url":"git@github.com:Azure/azure-sdk-tools.git","clone_url":"https://github.com/Azure/azure-sdk-tools.git","svn_url":"https://github.com/Azure/azure-sdk-tools","homepage":"http://azure.microsoft.com/en-us/documentation/","size":292679,"stargazers_count":316,"watchers_count":316,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":266,"mirror_url":null,"open_issues_count":546,"forks":266,"open_issues":546,"watchers":316,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833"},"html":{"href":"https://github.com/Azure/azure-sdk-tools/pull/2833"},"issue":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/issues/2833"},"comments":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/issues/2833/comments"},"review_comments":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833/comments"},"review_comment":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/pulls/2833/commits"},"statuses":{"href":"https://api.github.com/repos/Azure/azure-sdk-tools/statuses/2bf5a87c6c681af91c2c6b28dd6d04b4b4f161a0"}}}}