{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/36134745","id":36134745,"diff_hunk":"@@ -0,0 +1,278 @@\n+/*\n+Copyright 2014 The Kubernetes Authors All rights reserved.\n+\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+\n+    http://www.apache.org/licenses/LICENSE-2.0\n+\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+package cmd\n+\n+import (\n+\t\"bytes\"\n+\t\"fmt\"\n+\t\"io\"\n+\t\"strings\"\n+\n+\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/api\"\n+\tcmdutil \"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd/util\"\n+\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/resource\"\n+\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime\"\n+\t\"github.com/spf13/cobra\"\n+)\n+\n+// AnnotateOptions have the data required to perform the annotate operation\n+type AnnotateOptions struct {\n+\tout               io.Writer\n+\tresources         []string\n+\tnewAnnotations    map[string]string\n+\tremoveAnnotations []string\n+\tbuilder           *resource.Builder\n+\n+\toverwrite       bool\n+\tall             bool\n+\tresourceVersion string\n+}\n+\n+const (\n+\tannotate_long = `Update the annotations on one or more resources.\n+\n+An annotation is a key/value pair that can hold larger (compared to a label), and possibly not human-readable, data.\n+It is intended to store non-identifying auxiliary data, especially data manipulated by tools and system extensions.\n+If --overwrite is true, then existing annotations can be overwritten, otherwise attempting to overwrite an annotation will result in an error.\n+If --resource-version is specified, then updates will use this resource version, otherwise the existing resource-version will be used.\n+\n+Possible resources include (case insensitive): pods (po), services (svc),\n+replicationcontrollers (rc), nodes (no), events (ev), componentstatuses (cs),\n+limitranges (limits), persistentvolumes (pv), persistentvolumeclaims (pvc),\n+resourcequotas (quota) or secrets.`\n+\tannotate_example = `# Update pod 'foo' with the annotation 'description' and the value 'my frontend'.\n+$ kubectl annotate pods foo description='my frontend'\n+\n+# Update pod 'foo' with the annotation 'description' and the value 'my frontend running nginx', overwriting any existing value.\n+$ kubectl annotate --overwrite pods foo description='my frontend running nginx'\n+\n+# Update all pods in the namespace\n+$ kubectl annotate pods --all description='my frontend running nginx'\n+\n+# Update pod 'foo' only if the resource is unchanged from version 1.\n+$ kubectl annotate pods foo description='my frontend running nginx' --resource-version=1\n+\n+# Update pod 'foo' by removing an annotation named 'source_id' if it exists.\n+# Does not require the --overwrite flag.\n+$ kubectl annotate pods foo description-`\n+)\n+\n+func NewCmdAnnotate(f *cmdutil.Factory, out io.Writer) *cobra.Command {\n+\toptions := &AnnotateOptions{}\n+\n+\tcmd := &cobra.Command{\n+\t\tUse:     \"annotate [--overwrite] RESOURCE NAME KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]\",\n+\t\tShort:   \"Update the annotations on a resource\",\n+\t\tLong:    annotate_long,\n+\t\tExample: annotate_example,\n+\t\tRun: func(cmd *cobra.Command, args []string) {\n+\t\t\tif err := options.Complete(f, args, out); err != nil {\n+\t\t\t\tcmdutil.CheckErr(err)\n+\t\t\t}\n+\t\t\tif err := options.Validate(args); err != nil {\n+\t\t\t\tcmdutil.CheckErr(cmdutil.UsageError(cmd, err.Error()))\n+\t\t\t}\n+\t\t\tif err := options.RunAnnotate(); err != nil {\n+\t\t\t\tcmdutil.CheckErr(err)\n+\t\t\t}\n+\t\t},\n+\t}\n+\tcmdutil.AddPrinterFlags(cmd)\n+\tcmd.Flags().BoolVar(&options.overwrite, \"overwrite\", false, \"If true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations.\")\n+\tcmd.Flags().BoolVar(&options.all, \"all\", false, \"select all resources in the namespace of the specified resource types\")\n+\tcmd.Flags().StringVar(&options.resourceVersion, \"resource-version\", \"\", \"If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource.\")\n+\treturn cmd\n+}\n+\n+// Complete adapts from the command line args and factory to the data required.\n+func (o *AnnotateOptions) Complete(f *cmdutil.Factory, args []string, out io.Writer) (err error) {\n+\tnamespace, _, err := f.DefaultNamespace()\n+\tif err != nil {\n+\t\treturn err\n+\t}\n+\n+\t// retrieves resource and annotation args from args\n+\t// also checks args to verify that all resources are specified before annotations\n+\tannotationArgs := []string{}\n+\tmetAnnotaionArg := false\n+\tfor _, s := range args {\n+\t\tisAnnotation := strings.Contains(s, \"=\") || strings.HasSuffix(s, \"-\")\n+\t\tswitch {\n+\t\tcase !metAnnotaionArg && isAnnotation:\n+\t\t\tmetAnnotaionArg = true\n+\t\t\tfallthrough\n+\t\tcase metAnnotaionArg && isAnnotation:\n+\t\t\tannotationArgs = append(annotationArgs, s)\n+\t\tcase !metAnnotaionArg && !isAnnotation:\n+\t\t\to.resources = append(o.resources, s)\n+\t\tcase metAnnotaionArg && !isAnnotation:\n+\t\t\treturn fmt.Errorf(\"all resources must be specified before annotation changes: %s\", s)\n+\t\t}\n+\t}\n+\tif len(o.resources) < 1 {\n+\t\treturn fmt.Errorf(\"one or more resources must be specified as <resource> <name> or <resource>/<name>\")\n+\t}\n+\tif len(annotationArgs) < 1 {\n+\t\treturn fmt.Errorf(\"at least one annotation update is required\")\n+\t}\n+\n+\tif o.newAnnotations, o.removeAnnotations, err = parseAnnotations(annotationArgs); err != nil {\n+\t\treturn err\n+\t}\n+\n+\tmapper, typer := f.Object()\n+\to.builder = resource.NewBuilder(mapper, typer, f.ClientMapperForCommand()).\n+\t\tContinueOnError().\n+\t\tNamespaceParam(namespace).DefaultNamespace().\n+\t\tResourceTypeOrNameArgs(o.all, o.resources...).\n+\t\tFlatten().\n+\t\tLatest()\n+\n+\treturn nil\n+}\n+\n+// Validate checks to the AnnotateOptions to see if there is sufficient information run the command.\n+func (o AnnotateOptions) Validate(args []string) error {\n+\tif err := validateAnnotations(o.removeAnnotations, o.newAnnotations); err != nil {\n+\t\treturn err\n+\t}\n+\n+\t// only apply resource version locking on a single resource\n+\tif len(o.resources) > 1 && len(o.resourceVersion) > 0 {\n+\t\treturn fmt.Errorf(\"--resource-version may only be used with a single resource\")\n+\t}\n+\n+\treturn nil\n+}\n+\n+// RunAnnotate does the work\n+func (o AnnotateOptions) RunAnnotate() error {\n+\tsingle := false\n+\tr := o.builder.Do().IntoSingular(&single)","path":"pkg/kubectl/cmd/annotation.go","position":null,"original_position":165,"commit_id":"7e6321347841176d29684b808577e2964906cbf0","original_commit_id":"f3bf8edc4a893a8fb5575baff048b990e1ccacc4","user":{"login":"JanetKuo","id":4876867,"avatar_url":"https://avatars.githubusercontent.com/u/4876867?v=3","gravatar_id":"","url":"https://api.github.com/users/JanetKuo","html_url":"https://github.com/JanetKuo","followers_url":"https://api.github.com/users/JanetKuo/followers","following_url":"https://api.github.com/users/JanetKuo/following{/other_user}","gists_url":"https://api.github.com/users/JanetKuo/gists{/gist_id}","starred_url":"https://api.github.com/users/JanetKuo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanetKuo/subscriptions","organizations_url":"https://api.github.com/users/JanetKuo/orgs","repos_url":"https://api.github.com/users/JanetKuo/repos","events_url":"https://api.github.com/users/JanetKuo/events{/privacy}","received_events_url":"https://api.github.com/users/JanetKuo/received_events","type":"User","site_admin":false},"body":"Fixed","created_at":"2015-08-03T21:37:11Z","updated_at":"2015-08-03T21:37:11Z","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/11779#discussion_r36134745","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/36134745"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/11779#discussion_r36134745"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779","id":40727172,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/11779","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/11779.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/11779.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/11779","number":11779,"state":"open","locked":false,"title":"Implement kubectl annotation update command","user":{"login":"JanetKuo","id":4876867,"avatar_url":"https://avatars.githubusercontent.com/u/4876867?v=3","gravatar_id":"","url":"https://api.github.com/users/JanetKuo","html_url":"https://github.com/JanetKuo","followers_url":"https://api.github.com/users/JanetKuo/followers","following_url":"https://api.github.com/users/JanetKuo/following{/other_user}","gists_url":"https://api.github.com/users/JanetKuo/gists{/gist_id}","starred_url":"https://api.github.com/users/JanetKuo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanetKuo/subscriptions","organizations_url":"https://api.github.com/users/JanetKuo/orgs","repos_url":"https://api.github.com/users/JanetKuo/repos","events_url":"https://api.github.com/users/JanetKuo/events{/privacy}","received_events_url":"https://api.github.com/users/JanetKuo/received_events","type":"User","site_admin":false},"body":"Fixes #11486 \r\n```sh\r\n# Update pod 'foo' with the annotation 'description' and the value 'my frontend'.\r\n$ kubectl annotate pods foo description='my frontend'\r\n\r\n# Update pod 'foo' with the annotation 'description' and the value 'my frontend running nginx', overwriting any existing value.\r\n$ kubectl annotate --overwrite pods foo description='my frontend running nginx'\r\n\r\n# Update all pods in the namespace\r\n$ kubectl annotate pods --all description='my frontend running nginx'\r\n\r\n# Update pod 'foo' only if the resource is unchanged from version 1.\r\n$ kubectl annotate pods foo description='my frontend running nginx' --resource-version=1\r\n\r\n# Update pod 'foo' by removing an annotation named 'source_id' if it exists.\r\n# Does not require the --overwrite flag.\r\n$ kubectl annotate pods foo description-\r\n```\r\ncc @bgrant0607 ","created_at":"2015-07-23T22:51:05Z","updated_at":"2015-08-03T21:37:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"286c6a499f0bb6a897d403bc66ce5f3aa18b14f3","assignee":{"login":"caesarxuchao","id":2823529,"avatar_url":"https://avatars.githubusercontent.com/u/2823529?v=3","gravatar_id":"","url":"https://api.github.com/users/caesarxuchao","html_url":"https://github.com/caesarxuchao","followers_url":"https://api.github.com/users/caesarxuchao/followers","following_url":"https://api.github.com/users/caesarxuchao/following{/other_user}","gists_url":"https://api.github.com/users/caesarxuchao/gists{/gist_id}","starred_url":"https://api.github.com/users/caesarxuchao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caesarxuchao/subscriptions","organizations_url":"https://api.github.com/users/caesarxuchao/orgs","repos_url":"https://api.github.com/users/caesarxuchao/repos","events_url":"https://api.github.com/users/caesarxuchao/events{/privacy}","received_events_url":"https://api.github.com/users/caesarxuchao/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/11779/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/7e6321347841176d29684b808577e2964906cbf0","head":{"label":"JanetKuo:add-kubectl-annotation","ref":"add-kubectl-annotation","sha":"7e6321347841176d29684b808577e2964906cbf0","user":{"login":"JanetKuo","id":4876867,"avatar_url":"https://avatars.githubusercontent.com/u/4876867?v=3","gravatar_id":"","url":"https://api.github.com/users/JanetKuo","html_url":"https://github.com/JanetKuo","followers_url":"https://api.github.com/users/JanetKuo/followers","following_url":"https://api.github.com/users/JanetKuo/following{/other_user}","gists_url":"https://api.github.com/users/JanetKuo/gists{/gist_id}","starred_url":"https://api.github.com/users/JanetKuo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanetKuo/subscriptions","organizations_url":"https://api.github.com/users/JanetKuo/orgs","repos_url":"https://api.github.com/users/JanetKuo/repos","events_url":"https://api.github.com/users/JanetKuo/events{/privacy}","received_events_url":"https://api.github.com/users/JanetKuo/received_events","type":"User","site_admin":false},"repo":{"id":37748937,"name":"kubernetes","full_name":"JanetKuo/kubernetes","owner":{"login":"JanetKuo","id":4876867,"avatar_url":"https://avatars.githubusercontent.com/u/4876867?v=3","gravatar_id":"","url":"https://api.github.com/users/JanetKuo","html_url":"https://github.com/JanetKuo","followers_url":"https://api.github.com/users/JanetKuo/followers","following_url":"https://api.github.com/users/JanetKuo/following{/other_user}","gists_url":"https://api.github.com/users/JanetKuo/gists{/gist_id}","starred_url":"https://api.github.com/users/JanetKuo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanetKuo/subscriptions","organizations_url":"https://api.github.com/users/JanetKuo/orgs","repos_url":"https://api.github.com/users/JanetKuo/repos","events_url":"https://api.github.com/users/JanetKuo/events{/privacy}","received_events_url":"https://api.github.com/users/JanetKuo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JanetKuo/kubernetes","description":"Container Cluster Manager from Google","fork":true,"url":"https://api.github.com/repos/JanetKuo/kubernetes","forks_url":"https://api.github.com/repos/JanetKuo/kubernetes/forks","keys_url":"https://api.github.com/repos/JanetKuo/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JanetKuo/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JanetKuo/kubernetes/teams","hooks_url":"https://api.github.com/repos/JanetKuo/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/JanetKuo/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/JanetKuo/kubernetes/events","assignees_url":"https://api.github.com/repos/JanetKuo/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/JanetKuo/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/JanetKuo/kubernetes/tags","blobs_url":"https://api.github.com/repos/JanetKuo/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JanetKuo/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JanetKuo/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/JanetKuo/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JanetKuo/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/JanetKuo/kubernetes/languages","stargazers_url":"https://api.github.com/repos/JanetKuo/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/JanetKuo/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/JanetKuo/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/JanetKuo/kubernetes/subscription","commits_url":"https://api.github.com/repos/JanetKuo/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/JanetKuo/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/JanetKuo/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/JanetKuo/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/JanetKuo/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/JanetKuo/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JanetKuo/kubernetes/merges","archive_url":"https://api.github.com/repos/JanetKuo/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JanetKuo/kubernetes/downloads","issues_url":"https://api.github.com/repos/JanetKuo/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/JanetKuo/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/JanetKuo/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/JanetKuo/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JanetKuo/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/JanetKuo/kubernetes/releases{/id}","created_at":"2015-06-19T22:29:18Z","updated_at":"2015-06-19T22:29:25Z","pushed_at":"2015-08-03T21:36:19Z","git_url":"git://github.com/JanetKuo/kubernetes.git","ssh_url":"git@github.com:JanetKuo/kubernetes.git","clone_url":"https://github.com/JanetKuo/kubernetes.git","svn_url":"https://github.com/JanetKuo/kubernetes","homepage":"http://kubernetes.io","size":96140,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"6df4d6703b6f03df5966a3963b0ad9eb937434e2","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"GoogleCloudPlatform/kubernetes","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes","description":"Container Cluster Manager from Google","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/releases{/id}","created_at":"2014-06-06T22:56:04Z","updated_at":"2015-08-03T20:50:59Z","pushed_at":"2015-08-03T21:36:21Z","git_url":"git://github.com/GoogleCloudPlatform/kubernetes.git","ssh_url":"git@github.com:GoogleCloudPlatform/kubernetes.git","clone_url":"https://github.com/GoogleCloudPlatform/kubernetes.git","svn_url":"https://github.com/GoogleCloudPlatform/kubernetes","homepage":"http://kubernetes.io","size":337915,"stargazers_count":9508,"watchers_count":9508,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2226,"mirror_url":null,"open_issues_count":1682,"forks":2226,"open_issues":1682,"watchers":9508,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/11779"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/11779"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/11779/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/11779/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/7e6321347841176d29684b808577e2964906cbf0"}}}}