diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 133ec7ca81..90a7e1234e 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -77,7 +77,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -85,7 +85,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -93,7 +93,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -101,7 +101,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -203,7 +203,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -211,7 +211,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -219,7 +219,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -227,7 +227,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -270,7 +270,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -278,7 +278,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -286,7 +286,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -294,7 +294,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -390,7 +390,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -398,7 +398,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -406,7 +406,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -414,7 +414,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -677,7 +677,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -685,7 +685,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -693,7 +693,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -701,7 +701,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -760,7 +760,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -768,7 +768,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -776,7 +776,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -784,7 +784,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -827,7 +827,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -835,7 +835,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -843,7 +843,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -851,7 +851,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -894,7 +894,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -902,7 +902,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -910,7 +910,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -918,7 +918,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -1014,7 +1014,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1022,7 +1022,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1030,7 +1030,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1038,7 +1038,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -1301,7 +1301,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1309,7 +1309,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1317,7 +1317,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1325,7 +1325,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -1384,7 +1384,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1392,7 +1392,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1400,7 +1400,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1408,7 +1408,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -1451,7 +1451,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1459,7 +1459,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1467,7 +1467,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1475,7 +1475,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -1518,7 +1518,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1526,7 +1526,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1534,7 +1534,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1542,7 +1542,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -1638,7 +1638,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1646,7 +1646,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1654,7 +1654,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1662,7 +1662,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -1925,7 +1925,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1933,7 +1933,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -1941,7 +1941,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -1949,7 +1949,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -2008,7 +2008,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2016,7 +2016,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2024,7 +2024,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2032,7 +2032,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -2075,7 +2075,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2083,7 +2083,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2091,7 +2091,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2099,7 +2099,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -2142,7 +2142,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2150,7 +2150,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2158,7 +2158,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2166,7 +2166,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -2246,7 +2246,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2254,7 +2254,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2262,7 +2262,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2270,7 +2270,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -2493,7 +2493,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2501,7 +2501,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2509,7 +2509,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2517,7 +2517,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -2670,7 +2670,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2678,7 +2678,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2686,7 +2686,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2694,7 +2694,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -2774,7 +2774,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2782,7 +2782,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -2790,7 +2790,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -2798,7 +2798,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -3021,7 +3021,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3029,7 +3029,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3037,7 +3037,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -3045,7 +3045,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -3471,7 +3471,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3479,7 +3479,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3487,7 +3487,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -3495,7 +3495,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -3591,7 +3591,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3599,7 +3599,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3607,7 +3607,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -3615,7 +3615,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -3878,7 +3878,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3886,7 +3886,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3894,7 +3894,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -3902,7 +3902,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -3961,7 +3961,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3969,7 +3969,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -3977,7 +3977,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -3985,7 +3985,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -4028,7 +4028,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4036,7 +4036,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4044,7 +4044,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -4052,7 +4052,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -4154,7 +4154,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4162,7 +4162,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4170,7 +4170,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -4178,7 +4178,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -4258,7 +4258,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4266,7 +4266,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4274,7 +4274,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -4282,7 +4282,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -4505,7 +4505,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4513,7 +4513,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4521,7 +4521,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -4529,7 +4529,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -4631,7 +4631,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4639,7 +4639,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4647,7 +4647,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -4655,7 +4655,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -4751,7 +4751,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4759,7 +4759,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -4767,7 +4767,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -4775,7 +4775,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -5038,7 +5038,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -5046,7 +5046,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -5054,7 +5054,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -5062,7 +5062,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -5541,7 +5541,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -5549,7 +5549,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -5557,7 +5557,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -5565,7 +5565,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -5608,7 +5608,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -5616,7 +5616,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -5624,7 +5624,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -5632,7 +5632,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -5667,7 +5667,7 @@ "type": "boolean", "paramType": "query", "name": "stdin", - "description": "redirect the standard input stream of the pod for this call; defaults to false", + "description": "Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5675,7 +5675,7 @@ "type": "boolean", "paramType": "query", "name": "stdout", - "description": "redirect the standard output stream of the pod for this call; defaults to true", + "description": "Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5683,7 +5683,7 @@ "type": "boolean", "paramType": "query", "name": "stderr", - "description": "redirect the standard error stream of the pod for this call; defaults to true", + "description": "Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5691,7 +5691,7 @@ "type": "boolean", "paramType": "query", "name": "tty", - "description": "allocate a terminal for this attach call; defaults to false", + "description": "TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5699,7 +5699,7 @@ "type": "string", "paramType": "query", "name": "container", - "description": "the container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "description": "The container in which to execute the command. Defaults to only container if there is only one container in the pod.", "required": false, "allowMultiple": false }, @@ -5737,7 +5737,7 @@ "type": "boolean", "paramType": "query", "name": "stdin", - "description": "redirect the standard input stream of the pod for this call; defaults to false", + "description": "Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5745,7 +5745,7 @@ "type": "boolean", "paramType": "query", "name": "stdout", - "description": "redirect the standard output stream of the pod for this call; defaults to true", + "description": "Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5753,7 +5753,7 @@ "type": "boolean", "paramType": "query", "name": "stderr", - "description": "redirect the standard error stream of the pod for this call; defaults to true", + "description": "Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5761,7 +5761,7 @@ "type": "boolean", "paramType": "query", "name": "tty", - "description": "allocate a terminal for this attach call; defaults to false", + "description": "TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5769,7 +5769,7 @@ "type": "string", "paramType": "query", "name": "container", - "description": "the container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "description": "The container in which to execute the command. Defaults to only container if there is only one container in the pod.", "required": false, "allowMultiple": false }, @@ -5872,7 +5872,7 @@ "type": "boolean", "paramType": "query", "name": "stdin", - "description": "redirect the standard input stream of the pod for this call; defaults to false", + "description": "Redirect the standard input stream of the pod for this call. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5880,7 +5880,7 @@ "type": "boolean", "paramType": "query", "name": "stdout", - "description": "redirect the standard output stream of the pod for this call; defaults to true", + "description": "Redirect the standard output stream of the pod for this call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5888,7 +5888,7 @@ "type": "boolean", "paramType": "query", "name": "stderr", - "description": "redirect the standard error stream of the pod for this call; defaults to true", + "description": "Redirect the standard error stream of the pod for this call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5896,7 +5896,7 @@ "type": "boolean", "paramType": "query", "name": "tty", - "description": "allocate a terminal for this exec call; defaults to false", + "description": "TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5904,7 +5904,7 @@ "type": "string", "paramType": "query", "name": "container", - "description": "the container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "description": "Container in which to execute the command. Defaults to only container if there is only one container in the pod.", "required": false, "allowMultiple": false }, @@ -5912,7 +5912,7 @@ "type": "", "paramType": "query", "name": "command", - "description": "the command to execute; argv array; not executed within a shell", + "description": "Command is the remote command to execute. argv array. Not executed within a shell.", "required": false, "allowMultiple": false }, @@ -5950,7 +5950,7 @@ "type": "boolean", "paramType": "query", "name": "stdin", - "description": "redirect the standard input stream of the pod for this call; defaults to false", + "description": "Redirect the standard input stream of the pod for this call. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5958,7 +5958,7 @@ "type": "boolean", "paramType": "query", "name": "stdout", - "description": "redirect the standard output stream of the pod for this call; defaults to true", + "description": "Redirect the standard output stream of the pod for this call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5966,7 +5966,7 @@ "type": "boolean", "paramType": "query", "name": "stderr", - "description": "redirect the standard error stream of the pod for this call; defaults to true", + "description": "Redirect the standard error stream of the pod for this call. Defaults to true.", "required": false, "allowMultiple": false }, @@ -5974,7 +5974,7 @@ "type": "boolean", "paramType": "query", "name": "tty", - "description": "allocate a terminal for this exec call; defaults to false", + "description": "TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.", "required": false, "allowMultiple": false }, @@ -5982,7 +5982,7 @@ "type": "string", "paramType": "query", "name": "container", - "description": "the container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "description": "Container in which to execute the command. Defaults to only container if there is only one container in the pod.", "required": false, "allowMultiple": false }, @@ -5990,7 +5990,7 @@ "type": "", "paramType": "query", "name": "command", - "description": "the command to execute; argv array; not executed within a shell", + "description": "Command is the remote command to execute. argv array. Not executed within a shell.", "required": false, "allowMultiple": false }, @@ -6042,7 +6042,7 @@ "type": "string", "paramType": "query", "name": "container", - "description": "the container for which to stream logs; defaults to only container if there is one container in the pod", + "description": "The container for which to stream logs. Defaults to only container if there is one container in the pod.", "required": false, "allowMultiple": false }, @@ -6050,7 +6050,7 @@ "type": "boolean", "paramType": "query", "name": "follow", - "description": "follow the log stream of the pod; defaults to false", + "description": "Follow the log stream of the pod. Defaults to false.", "required": false, "allowMultiple": false }, @@ -6058,7 +6058,7 @@ "type": "boolean", "paramType": "query", "name": "previous", - "description": "return previous terminated container logs; defaults to false", + "description": "Return previous terminated container logs. Defaults to false.", "required": false, "allowMultiple": false }, @@ -6175,7 +6175,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6213,7 +6213,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6251,7 +6251,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6289,7 +6289,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6327,7 +6327,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6365,7 +6365,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6409,7 +6409,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6455,7 +6455,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6501,7 +6501,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6547,7 +6547,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6593,7 +6593,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6639,7 +6639,7 @@ "type": "string", "paramType": "query", "name": "path", - "description": "URL path to use in proxy request to pod", + "description": "Path is the URL path to use for the current proxy request to pod.", "required": false, "allowMultiple": false }, @@ -6758,7 +6758,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -6766,7 +6766,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -6774,7 +6774,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -6782,7 +6782,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -6878,7 +6878,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -6886,7 +6886,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -6894,7 +6894,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -6902,7 +6902,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -7165,7 +7165,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7173,7 +7173,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7181,7 +7181,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7189,7 +7189,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -7248,7 +7248,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7256,7 +7256,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7264,7 +7264,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7272,7 +7272,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -7315,7 +7315,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7323,7 +7323,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7331,7 +7331,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7339,7 +7339,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -7382,7 +7382,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7390,7 +7390,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7398,7 +7398,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7406,7 +7406,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -7502,7 +7502,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7510,7 +7510,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7518,7 +7518,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7526,7 +7526,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -7789,7 +7789,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7797,7 +7797,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7805,7 +7805,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7813,7 +7813,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -7872,7 +7872,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7880,7 +7880,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7888,7 +7888,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7896,7 +7896,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -7939,7 +7939,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7947,7 +7947,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -7955,7 +7955,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -7963,7 +7963,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -8006,7 +8006,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8014,7 +8014,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8022,7 +8022,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8030,7 +8030,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -8126,7 +8126,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8134,7 +8134,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8142,7 +8142,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8150,7 +8150,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -8413,7 +8413,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8421,7 +8421,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8429,7 +8429,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8437,7 +8437,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -8496,7 +8496,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8504,7 +8504,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8512,7 +8512,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8520,7 +8520,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -8563,7 +8563,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8571,7 +8571,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8579,7 +8579,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8587,7 +8587,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -8689,7 +8689,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8697,7 +8697,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8705,7 +8705,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8713,7 +8713,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -8809,7 +8809,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8817,7 +8817,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -8825,7 +8825,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -8833,7 +8833,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -9096,7 +9096,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9104,7 +9104,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9112,7 +9112,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9120,7 +9120,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -9179,7 +9179,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9187,7 +9187,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9195,7 +9195,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9203,7 +9203,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -9246,7 +9246,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9254,7 +9254,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9262,7 +9262,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9270,7 +9270,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -9313,7 +9313,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9321,7 +9321,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9329,7 +9329,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9337,7 +9337,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -9433,7 +9433,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9441,7 +9441,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9449,7 +9449,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9457,7 +9457,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -9720,7 +9720,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9728,7 +9728,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9736,7 +9736,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9744,7 +9744,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -9803,7 +9803,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9811,7 +9811,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9819,7 +9819,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9827,7 +9827,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -9870,7 +9870,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9878,7 +9878,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9886,7 +9886,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9894,7 +9894,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -9937,7 +9937,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9945,7 +9945,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -9953,7 +9953,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -9961,7 +9961,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -10057,7 +10057,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10065,7 +10065,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10073,7 +10073,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -10081,7 +10081,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -10336,7 +10336,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10344,7 +10344,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10352,7 +10352,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -10360,7 +10360,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false }, @@ -10839,7 +10839,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10847,7 +10847,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10855,7 +10855,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -10863,7 +10863,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -10906,7 +10906,7 @@ "type": "string", "paramType": "query", "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10914,7 +10914,7 @@ "type": "string", "paramType": "query", "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", "required": false, "allowMultiple": false }, @@ -10922,7 +10922,7 @@ "type": "boolean", "paramType": "query", "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "required": false, "allowMultiple": false }, @@ -10930,7 +10930,7 @@ "type": "string", "paramType": "query", "name": "resourceVersion", - "description": "when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", "required": false, "allowMultiple": false } @@ -10955,182 +10955,189 @@ "models": { "v1.Binding": { "id": "v1.Binding", + "description": "Binding ties one object to another. For example, a pod is bound to a node by a scheduler.", "required": [ "target" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "target": { "$ref": "v1.ObjectReference", - "description": "an object to bind to" + "description": "The target object that you want to bind to the standard object." } } }, "v1.ObjectMeta": { "id": "v1.ObjectMeta", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "properties": { "name": { "type": "string", - "description": "string that identifies an object. Must be unique within a namespace; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" }, "generateName": { "type": "string", - "description": "an optional prefix to use to generate a unique name; has the same validation rules as name; optional, and is applied only name if is not specified; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency" }, "namespace": { "type": "string", - "description": "namespace of the object; must be a DNS_LABEL; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md" + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md" }, "selfLink": { "type": "string", - "description": "URL for the object; populated by the system, read-only" + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." }, "uid": { "type": "string", - "description": "unique UUID across space and time; populated by the system; read-only; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids" + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids" }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" }, "generation": { "type": "integer", "format": "int64", - "description": "a sequence number representing a specific generation of the desired state; populated by the system; read-only" + "description": "A sequence number representing a specific generation of the desired state. Currently only implemented by replication controllers. Populated by the system. Read-only." }, "creationTimestamp": { "type": "string", - "description": "RFC 3339 date and time at which the object was created; populated by the system, read-only; null for lists; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "deletionTimestamp": { "type": "string", - "description": "RFC 3339 date and time at which the object will be deleted; populated by the system when a graceful deletion is requested, read-only; if not set, graceful deletion of the object has not been requested; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "deletionGracePeriodSeconds": { "type": "integer", "format": "int64", - "description": "number of seconds allowed for this object to gracefully terminate before it will be removed from the system; only set when deletionTimestamp is also set, read-only; may only be shortened" + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only." }, "labels": { "type": "any", - "description": "map of string keys and values that can be used to organize and categorize objects; may match selectors of replication controllers and services; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md" + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md" }, "annotations": { "type": "any", - "description": "map of string keys and values that can be used by external tooling to store and retrieve arbitrary metadata about objects; see http://releases.k8s.io/HEAD/docs/user-guide/annotations.md" + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/HEAD/docs/user-guide/annotations.md" } } }, "v1.ObjectReference": { "id": "v1.ObjectReference", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "properties": { "kind": { "type": "string", - "description": "kind of the referent; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "namespace": { "type": "string", - "description": "namespace of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md" + "description": "Namespace of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md" }, "name": { "type": "string", - "description": "name of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" + "description": "Name of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" }, "uid": { "type": "string", - "description": "uid of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids" + "description": "UID of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids" }, "apiVersion": { "type": "string", - "description": "API version of the referent" + "description": "API version of the referent." }, "resourceVersion": { "type": "string", - "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + "description": "Specific resourceVersion to which this reference is made, if any. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" }, "fieldPath": { "type": "string", - "description": "if referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]" + "description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object." } } }, "v1.ComponentStatusList": { "id": "v1.ComponentStatusList", + "description": "Status of all the conditions for the component as a list of ComponentStatus objects.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.ComponentStatus" }, - "description": "list of component status objects" + "description": "List of ComponentStatus objects." } } }, "v1.ListMeta": { "id": "v1.ListMeta", + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects.", "properties": { "selfLink": { "type": "string", - "description": "URL for the object; populated by the system, read-only" + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only." }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency" } } }, "v1.ComponentStatus": { "id": "v1.ComponentStatus", + "description": "ComponentStatus (and ComponentStatusList) holds the cluster validation info.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "conditions": { "type": "array", "items": { "$ref": "v1.ComponentCondition" }, - "description": "list of component conditions observed" + "description": "List of component conditions observed" } } }, "v1.ComponentCondition": { "id": "v1.ComponentCondition", + "description": "Information about the condition of a component.", "required": [ "type", "status" @@ -11138,129 +11145,134 @@ "properties": { "type": { "type": "string", - "description": "type of component condition, currently only Healthy" + "description": "Type of condition for a component. Valid value: \"Healthy\"" }, "status": { "type": "string", - "description": "current status of this component condition, one of True, False, Unknown" + "description": "Status of the condition for a component. Valid values for \"Healthy\": \"True\", \"False\", or \"Unknown\"." }, "message": { "type": "string", - "description": "health check message received from the component" + "description": "Message about the condition for a component. For example, information about a health check." }, "error": { "type": "string", - "description": "error code from health check attempt (if any)" + "description": "Condition error code for a component. For example, a health check error code." } } }, "v1.EndpointsList": { "id": "v1.EndpointsList", + "description": "EndpointsList is a list of endpoints.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Endpoints" }, - "description": "list of endpoints" + "description": "List of endpoints." } } }, "v1.Endpoints": { "id": "v1.Endpoints", + "description": "Endpoints is a collection of endpoints that implement the actual service. Example:\n Name: \"mysvc\",\n Subsets: [\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n },\n {\n Addresses: [{\"ip\": \"10.10.3.3\"}],\n Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n },\n ]", "required": [ "subsets" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "subsets": { "type": "array", "items": { "$ref": "v1.EndpointSubset" }, - "description": "sets of addresses and ports that comprise a service" + "description": "The set of all endpoints is the union of all subsets. Sets of addresses and ports that comprise a service." } } }, "v1.EndpointSubset": { "id": "v1.EndpointSubset", + "description": "EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n }\nThe resulting set of endpoints can be viewed as:\n a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],\n b: [ 10.10.1.1:309, 10.10.2.2:309 ]", "properties": { "addresses": { "type": "array", "items": { "$ref": "v1.EndpointAddress" }, - "description": "IP addresses which offer the related ports" + "description": "IP addresses which offer the related ports." }, "ports": { "type": "array", "items": { "$ref": "v1.EndpointPort" }, - "description": "port numbers available on the related IP addresses" + "description": "Port numbers available on the related IP addresses." } } }, "v1.EndpointAddress": { "id": "v1.EndpointAddress", + "description": "EndpointAddress is a tuple that describes single IP address.", "required": [ "ip" ], "properties": { "ip": { "type": "string", - "description": "IP address of the endpoint; may not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24)" + "description": "The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24)." }, "targetRef": { "$ref": "v1.ObjectReference", - "description": "reference to object providing the endpoint" + "description": "Reference to object providing the endpoint." } } }, "v1.EndpointPort": { "id": "v1.EndpointPort", + "description": "EndpointPort is a tuple that describes a single port.", "required": [ "port" ], "properties": { "name": { "type": "string", - "description": "name of this port" + "description": "The name of this port (corresponds to ServicePort.Name). Must be a DNS_LABEL. Optional only if one port is defined." }, "port": { "type": "integer", "format": "int32", - "description": "port number of the endpoint" + "description": "The port number of the endpoint." }, "protocol": { "type": "string", - "description": "protocol for this port; must be UDP or TCP; TCP if unspecified" + "description": "The IP protocol for this port. Must be UDP or TCP. Default is TCP." } } }, @@ -11283,134 +11295,140 @@ }, "v1.Status": { "id": "v1.Status", + "description": "Status is a return value for calls that don't return other objects.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "status": { "type": "string", - "description": "status of the operation; either Success, or Failure; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "message": { "type": "string", - "description": "human-readable description of the status of this operation" + "description": "A human-readable description of the status of this operation." }, "reason": { "type": "string", - "description": "machine-readable description of why this operation is in the 'Failure' status; if this value is empty there is no information available; a reason clarifies an HTTP status code but does not override it" + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it." }, "details": { "$ref": "v1.StatusDetails", - "description": "extended data associated with the reason; each reason may define its own extended details; this field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type" + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." }, "code": { "type": "integer", "format": "int32", - "description": "suggested HTTP return code for this status; 0 if not set" + "description": "Suggested HTTP return code for this status, 0 if not set." } } }, "v1.StatusDetails": { "id": "v1.StatusDetails", + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", "properties": { "name": { "type": "string", - "description": "the name attribute of the resource associated with the status StatusReason (when there is a single name which can be described)" + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described)." }, "kind": { "type": "string", - "description": "the kind attribute of the resource associated with the status StatusReason; on some operations may differ from the requested resource Kind; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "causes": { "type": "array", "items": { "$ref": "v1.StatusCause" }, - "description": "the Causes array includes more details associated with the StatusReason failure; not all StatusReasons may provide detailed causes" + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes." }, "retryAfterSeconds": { "type": "integer", "format": "int32", - "description": "the number of seconds before the client should attempt to retry this operation" + "description": "If specified, the time in seconds before the operation should be retried." } } }, "v1.StatusCause": { "id": "v1.StatusCause", + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", "properties": { "reason": { "type": "string", - "description": "machine-readable description of the cause of the error; if this value is empty there is no information available" + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available." }, "message": { "type": "string", - "description": "human-readable description of the cause of the error; this field may be presented as-is to a reader" + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader." }, "field": { "type": "string", - "description": "field of the resource that has caused this error, as named by its JSON serialization; may include dot and postfix notation for nested attributes; arrays are zero-indexed; fields may appear more than once in an array of causes due to fields having multiple errors" + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"" } } }, "v1.DeleteOptions": { "id": "v1.DeleteOptions", + "description": "DeleteOptions may be provided when deleting an API object", "required": [ "gracePeriodSeconds" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "gracePeriodSeconds": { "type": "integer", "format": "int64", - "description": "the duration in seconds to wait before deleting this object; defaults to a per object value if not specified; zero means delete immediately" + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately." } } }, "v1.EventList": { "id": "v1.EventList", + "description": "EventList is a list of events.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Event" }, - "description": "list of events" + "description": "List of events" } } }, "v1.Event": { "id": "v1.Event", + "description": "Event is a report of an event somewhere in the cluster.", "required": [ "metadata", "involvedObject" @@ -11418,110 +11436,114 @@ "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "involvedObject": { "$ref": "v1.ObjectReference", - "description": "object this event is about" + "description": "The object that this event is about." }, "reason": { "type": "string", - "description": "short, machine understandable string that gives the reason for the transition into the object's current status" + "description": "This should be a short, machine understandable string that gives the reason for the transition into the object's current status." }, "message": { "type": "string", - "description": "human-readable description of the status of this operation" + "description": "A human-readable description of the status of this operation." }, "source": { "$ref": "v1.EventSource", - "description": "component reporting this event" + "description": "The component reporting this event. Should be a short machine understandable string." }, "firstTimestamp": { "type": "string", - "description": "the time at which the event was first recorded" + "description": "The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)" }, "lastTimestamp": { "type": "string", - "description": "the time at which the most recent occurrence of this event was recorded" + "description": "The time at which the most recent occurrence of this event was recorded." }, "count": { "type": "integer", "format": "int32", - "description": "the number of times this event has occurred" + "description": "The number of times this event has occurred." } } }, "v1.EventSource": { "id": "v1.EventSource", + "description": "EventSource contains information for an event.", "properties": { "component": { "type": "string", - "description": "component that generated the event" + "description": "Component from which the event is generated." }, "host": { "type": "string", - "description": "name of the host where the event is generated" + "description": "Host name on which the event is generated." } } }, "v1.LimitRangeList": { "id": "v1.LimitRangeList", + "description": "LimitRangeList is a list of LimitRange items.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.LimitRange" }, - "description": "items is a list of LimitRange objects; see http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md" + "description": "Items is a list of LimitRange objects. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md" } } }, "v1.LimitRange": { "id": "v1.LimitRange", + "description": "LimitRange sets resource usage limits for each kind of resource in a Namespace.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.LimitRangeSpec", - "description": "spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Spec defines the limits enforced. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.LimitRangeSpec": { "id": "v1.LimitRangeSpec", + "description": "LimitRangeSpec defines a min/max usage limit for resources that match on kind.", "required": [ "limits" ], @@ -11531,92 +11553,96 @@ "items": { "$ref": "v1.LimitRangeItem" }, - "description": "limits is the list of LimitRangeItem objects that are enforced" + "description": "Limits is the list of LimitRangeItem objects that are enforced." } } }, "v1.LimitRangeItem": { "id": "v1.LimitRangeItem", + "description": "LimitRangeItem defines a min/max usage limit for any resource that matches on kind.", "properties": { "type": { "type": "string", - "description": "type of resource that this limit applies to" + "description": "Type of resource that this limit applies to." }, "max": { "type": "any", - "description": "max usage constraints on this kind by resource name" + "description": "Max usage constraints on this kind by resource name." }, "min": { "type": "any", - "description": "min usage constraints on this kind by resource name" + "description": "Min usage constraints on this kind by resource name." }, "default": { "type": "any", - "description": "default values on this kind by resource name if omitted" + "description": "Default usage constraints on this kind by resource name. Default values on this kind by resource name if omitted." } } }, "v1.NamespaceList": { "id": "v1.NamespaceList", + "description": "NamespaceList is a list of Namespaces.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Namespace" }, - "description": "items is the list of Namespace objects in the list; see http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md" + "description": "Items is the list of Namespace objects in the list. More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md" } } }, "v1.Namespace": { "id": "v1.Namespace", + "description": "Namespace provides a scope for Names. Use of multiple namespaces is optional.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.NamespaceSpec", - "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Spec defines the behavior of the Namespace. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.NamespaceStatus", - "description": "status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Status describes the current status of a Namespace. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.NamespaceSpec": { "id": "v1.NamespaceSpec", + "description": "NamespaceSpec describes the attributes on a Namespace.", "properties": { "finalizers": { "type": "array", "items": { "$ref": "v1.FinalizerName" }, - "description": "an opaque list of values that must be empty to permanently remove object from storage; see http://releases.k8s.io/HEAD/docs/design/namespaces.md#finalizers" + "description": "Finalizers is an opaque list of values that must be empty to permanently remove object from storage. More info: http://releases.k8s.io/HEAD/docs/design/namespaces.md#finalizers" } } }, @@ -11626,75 +11652,79 @@ }, "v1.NamespaceStatus": { "id": "v1.NamespaceStatus", + "description": "NamespaceStatus is information about the current status of a Namespace.", "properties": { "phase": { "type": "string", - "description": "phase is the current lifecycle phase of the namespace; see http://releases.k8s.io/HEAD/docs/design/namespaces.md#phases" + "description": "Phase is the current lifecycle phase of the namespace. More info: http://releases.k8s.io/HEAD/docs/design/namespaces.md#phases" } } }, "v1.NodeList": { "id": "v1.NodeList", + "description": "NodeList is the whole list of all Nodes which have been registered with master.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Node" }, - "description": "list of nodes" + "description": "List of nodes" } } }, "v1.Node": { "id": "v1.Node", + "description": "Node is a worker node in Kubernetes, formerly known as minion. Each node will have a unique identifier in the cache (i.e. in etcd).", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.NodeSpec", - "description": "specification of a node; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Spec defines the behavior of a node. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.NodeStatus", - "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Most recently observed status of the node. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.NodeSpec": { "id": "v1.NodeSpec", + "description": "NodeSpec describes the attributes that a node is created with.", "properties": { "podCIDR": { "type": "string", - "description": "pod IP range assigned to the node" + "description": "PodCIDR represents the pod IP range assigned to the node." }, "externalID": { "type": "string", - "description": "deprecated. External ID assigned to the node by some machine database (e.g. a cloud provider). Defaults to node name when empty." + "description": "External ID of the node assigned by some machine database (e.g. a cloud provider). Deprecated." }, "providerID": { "type": "string", @@ -11702,43 +11732,45 @@ }, "unschedulable": { "type": "boolean", - "description": "disable pod scheduling on the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration" + "description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration\"`" } } }, "v1.NodeStatus": { "id": "v1.NodeStatus", + "description": "NodeStatus is information about the current status of a node.", "properties": { "capacity": { "type": "any", - "description": "compute resource capacity of the node; see http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md" + "description": "Capacity represents the available resources of a node. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity for more details." }, "phase": { "type": "string", - "description": "most recently observed lifecycle phase of the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase" + "description": "NodePhase is the recently observed lifecycle phase of the node. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase" }, "conditions": { "type": "array", "items": { "$ref": "v1.NodeCondition" }, - "description": "list of node conditions observed; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition" + "description": "Conditions is an array of current observed node conditions. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition" }, "addresses": { "type": "array", "items": { "$ref": "v1.NodeAddress" }, - "description": "list of addresses reachable to the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses" + "description": "List of addresses reachable to the node. Queried from cloud provider, if available. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses" }, "nodeInfo": { "$ref": "v1.NodeSystemInfo", - "description": "set of ids/uuids to uniquely identify the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-info" + "description": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-info" } } }, "v1.NodeCondition": { "id": "v1.NodeCondition", + "description": "NodeCondition contains condition infromation for a node.", "required": [ "type", "status" @@ -11746,32 +11778,33 @@ "properties": { "type": { "type": "string", - "description": "type of node condition, currently only Ready" + "description": "Type of node condition, currently only Ready." }, "status": { "type": "string", - "description": "status of the condition, one of True, False, Unknown" + "description": "Status of the condition, one of True, False, Unknown." }, "lastHeartbeatTime": { "type": "string", - "description": "last time we got an update on a given condition" + "description": "Last time we got an update on a given condition." }, "lastTransitionTime": { "type": "string", - "description": "last time the condition transit from one status to another" + "description": "Last time the condition transit from one status to another." }, "reason": { "type": "string", - "description": "(brief) reason for the condition's last transition" + "description": "(brief) reason for the condition's last transition." }, "message": { "type": "string", - "description": "human readable message indicating details about last transition" + "description": "Human readable message indicating details about last transition." } } }, "v1.NodeAddress": { "id": "v1.NodeAddress", + "description": "NodeAddress contains information for the node's address.", "required": [ "type", "address" @@ -11779,16 +11812,17 @@ "properties": { "type": { "type": "string", - "description": "node address type, one of Hostname, ExternalIP or InternalIP" + "description": "Node address type, one of Hostname, ExternalIP or InternalIP." }, "address": { "type": "string", - "description": "the node address" + "description": "The node address." } } }, "v1.NodeSystemInfo": { "id": "v1.NodeSystemInfo", + "description": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node.", "required": [ "machineID", "systemUUID", @@ -11802,15 +11836,15 @@ "properties": { "machineID": { "type": "string", - "description": "machine-id reported by the node" + "description": "MachineID is the machine-id reported by the node." }, "systemUUID": { "type": "string", - "description": "system-uuid reported by the node" + "description": "SystemUUID is the system-uuid reported by the node." }, "bootID": { "type": "string", - "description": "boot id is the boot-id reported by the node" + "description": "BootID is the boot-id reported by the node." }, "kernelVersion": { "type": "string", @@ -11826,80 +11860,83 @@ }, "kubeletVersion": { "type": "string", - "description": "Kubelet version reported by the node" + "description": "Kubelet version reported by the node." }, "kubeProxyVersion": { "type": "string", - "description": "Kube-proxy version reported by the node" + "description": "Kube-proxy version reported by the node." } } }, "v1.PersistentVolumeClaimList": { "id": "v1.PersistentVolumeClaimList", + "description": "PersistentVolumeClaimList is a list of PersistentVolumeClaim items.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.PersistentVolumeClaim" }, - "description": "a list of persistent volume claims; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" + "description": "A list of persistent volume claims. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" } } }, "v1.PersistentVolumeClaim": { "id": "v1.PersistentVolumeClaim", + "description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PersistentVolumeClaimSpec", - "description": "the desired characteristics of a volume; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" + "description": "Spec defines the desired characteristics of a volume requested by a pod author. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" }, "status": { "$ref": "v1.PersistentVolumeClaimStatus", - "description": "the current status of a persistent volume claim; read-only; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" + "description": "Status represents the current information/status of a persistent volume claim. Read-only. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" } } }, "v1.PersistentVolumeClaimSpec": { "id": "v1.PersistentVolumeClaimSpec", + "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", "properties": { "accessModes": { "type": "array", "items": { "$ref": "v1.PersistentVolumeAccessMode" }, - "description": "the desired access modes the volume should have; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1" + "description": "AccessModes contains the desired access modes the volume should have. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1" }, "resources": { "$ref": "v1.ResourceRequirements", - "description": "the desired resources the volume should have; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources" + "description": "Resources represents the minimum resources the volume should have. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources" }, "volumeName": { "type": "string", - "description": "the binding reference to the persistent volume backing this claim" + "description": "VolumeName is the binding reference to the PersistentVolume backing this claim." } } }, @@ -11909,140 +11946,146 @@ }, "v1.ResourceRequirements": { "id": "v1.ResourceRequirements", + "description": "ResourceRequirements describes the compute resource requirements.", "properties": { "limits": { "type": "any", - "description": "Maximum amount of compute resources allowed; see http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications" + "description": "Limits describes the maximum amount of compute resources allowed. More info: http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications" }, "requests": { "type": "any", - "description": "Minimum amount of resources requested; if Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value; see http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications" + "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications" } } }, "v1.PersistentVolumeClaimStatus": { "id": "v1.PersistentVolumeClaimStatus", + "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", "properties": { "phase": { "type": "string", - "description": "the current phase of the claim" + "description": "Phase represents the current phase of PersistentVolumeClaim." }, "accessModes": { "type": "array", "items": { "$ref": "v1.PersistentVolumeAccessMode" }, - "description": "the actual access modes the volume has; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1" + "description": "AccessModes contains the actual access modes the volume backing the PVC has. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1" }, "capacity": { "type": "any", - "description": "the actual resources the volume has" + "description": "Represents the actual resources of the underlying volume." } } }, "v1.PersistentVolumeList": { "id": "v1.PersistentVolumeList", + "description": "PersistentVolumeList is a list of PersistentVolume items.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.PersistentVolume" }, - "description": "list of persistent volumes; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md" + "description": "List of persistent volumes. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md" } } }, "v1.PersistentVolume": { "id": "v1.PersistentVolume", + "description": "PersistentVolume (PV) is a storage resource provisioned by an administrator. It is analogous to a node. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PersistentVolumeSpec", - "description": "specification of a persistent volume as provisioned by an administrator; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes" + "description": "Spec defines a specification of a persistent volume owned by the cluster. Provisioned by an administrator. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes" }, "status": { "$ref": "v1.PersistentVolumeStatus", - "description": "current status of a persistent volume; populated by the system, read-only; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes" + "description": "Status represents the current information/status for the persistent volume. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes" } } }, "v1.PersistentVolumeSpec": { "id": "v1.PersistentVolumeSpec", + "description": "PersistentVolumeSpec is the specification of a persistent volume.", "properties": { "capacity": { "type": "any", - "description": "a description of the persistent volume's resources and capacityr; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity" + "description": "A description of the persistent volume's resources and capacity. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity" }, "gcePersistentDisk": { "$ref": "v1.GCEPersistentDiskVolumeSource", - "description": "GCE disk resource provisioned by an admin; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" + "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" }, "awsElasticBlockStore": { "$ref": "v1.AWSElasticBlockStoreVolumeSource", - "description": "AWS disk resource provisioned by an admin; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" + "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" }, "hostPath": { "$ref": "v1.HostPathVolumeSource", - "description": "a HostPath provisioned by a developer or tester; for development use only; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath" + "description": "HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for development and testing only. On-host storage is not supported in any way. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath" }, "glusterfs": { "$ref": "v1.GlusterfsVolumeSource", - "description": "Glusterfs volume resource provisioned by an admin; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md" + "description": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md" }, "nfs": { "$ref": "v1.NFSVolumeSource", - "description": "NFS volume resource provisioned by an admin; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" + "description": "NFS represents an NFS mount on the host. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" }, "rbd": { "$ref": "v1.RBDVolumeSource", - "description": "rados block volume that will be mounted on the host machine; see http://releases.k8s.io/HEAD/examples/rbd/README.md" + "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md" }, "iscsi": { "$ref": "v1.ISCSIVolumeSource", - "description": "an iSCSI disk resource provisioned by an admin" + "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin." }, "accessModes": { "type": "array", "items": { "$ref": "v1.PersistentVolumeAccessMode" }, - "description": "all ways the volume can be mounted; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes" + "description": "AccessModes contains all ways the volume can be mounted. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes" }, "claimRef": { "$ref": "v1.ObjectReference", - "description": "when bound, a reference to the bound claim; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#binding" + "description": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#binding" }, "persistentVolumeReclaimPolicy": { "type": "string", - "description": "what happens to a volume when released from its claim; Valid options are Retain (default) and Recycle. Recyling must be supported by the volume plugin underlying this persistent volume. See http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#recycling-policy" + "description": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recyling must be supported by the volume plugin underlying this persistent volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#recycling-policy" } } }, "v1.GCEPersistentDiskVolumeSource": { "id": "v1.GCEPersistentDiskVolumeSource", + "description": "GCEPersistentDiskVolumeSource represents a Persistent Disk resource in Google Compute Engine.\n\nA GCE PD must exist and be formatted before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once.", "required": [ "pdName", "fsType" @@ -12050,25 +12093,26 @@ "properties": { "pdName": { "type": "string", - "description": "unique name of the PD resource in GCE; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" + "description": "Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" }, "fsType": { "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" }, "partition": { "type": "integer", "format": "int32", - "description": "partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" + "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" }, "readOnly": { "type": "boolean", - "description": "read-only if true, read-write otherwise (false or unspecified); see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" } } }, "v1.AWSElasticBlockStoreVolumeSource": { "id": "v1.AWSElasticBlockStoreVolumeSource", + "description": "Represents a persistent disk resource in AWS.\n\nAn Amazon Elastic Block Store (EBS) must already be created, formatted, and reside in the same AWS zone as the kubelet before it can be mounted. Note: Amazon EBS volumes can be mounted to only one instance at a time.", "required": [ "volumeID", "fsType" @@ -12076,37 +12120,39 @@ "properties": { "volumeID": { "type": "string", - "description": "unique id of the PD resource in AWS; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" + "description": "Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" }, "fsType": { "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" }, "partition": { "type": "integer", "format": "int32", - "description": "partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" + "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty)." }, "readOnly": { "type": "boolean", - "description": "read-only if true, read-write otherwise (false or unspecified); see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" + "description": "Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" } } }, "v1.HostPathVolumeSource": { "id": "v1.HostPathVolumeSource", + "description": "HostPathVolumeSource represents bare host directory volume.", "required": [ "path" ], "properties": { "path": { "type": "string", - "description": "path of the directory on the host; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath" + "description": "Path of the directory on the host. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath" } } }, "v1.GlusterfsVolumeSource": { "id": "v1.GlusterfsVolumeSource", + "description": "GlusterfsVolumeSource represents a Glusterfs Mount that lasts the lifetime of a pod.", "required": [ "endpoints", "path" @@ -12114,20 +12160,21 @@ "properties": { "endpoints": { "type": "string", - "description": "gluster hosts endpoints name; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod" + "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod" }, "path": { "type": "string", - "description": "path to gluster volume; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod" + "description": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod" }, "readOnly": { "type": "boolean", - "description": "glusterfs volume to be mounted with read-only permissions; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod" + "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod" } } }, "v1.NFSVolumeSource": { "id": "v1.NFSVolumeSource", + "description": "NFSVolumeSource represents an NFS mount that lasts the lifetime of a pod", "required": [ "server", "path" @@ -12135,20 +12182,21 @@ "properties": { "server": { "type": "string", - "description": "the hostname or IP address of the NFS server; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" + "description": "Server is the hostname or IP address of the NFS server. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" }, "path": { "type": "string", - "description": "the path that is exported by the NFS server; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" + "description": "Path that is exported by the NFS server. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" }, "readOnly": { "type": "boolean", - "description": "forces the NFS export to be mounted with read-only permissions; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" + "description": "ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" } } }, "v1.RBDVolumeSource": { "id": "v1.RBDVolumeSource", + "description": "RBDVolumeSource represents a Rados Block Device Mount that lasts the lifetime of a pod", "required": [ "monitors", "image", @@ -12163,49 +12211,51 @@ "items": { "type": "string" }, - "description": "a collection of Ceph monitors; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" }, "image": { "type": "string", - "description": "rados image name; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" }, "fsType": { "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#rbd" }, "pool": { "type": "string", - "description": "rados pool name; default is rbd; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it." }, "user": { "type": "string", - "description": "rados user name; default is admin; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" }, "keyring": { "type": "string", - "description": "keyring is the path to key ring for rados user; default is /etc/ceph/keyring; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" }, "secretRef": { "$ref": "v1.LocalObjectReference", - "description": "name of a secret to authenticate the RBD user; if provided overrides keyring; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is empty. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" }, "readOnly": { "type": "boolean", - "description": "rbd volume to be mounted with read-only permissions; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it" } } }, "v1.LocalObjectReference": { "id": "v1.LocalObjectReference", + "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", "properties": { "name": { "type": "string", - "description": "name of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" + "description": "Name of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" } } }, "v1.ISCSIVolumeSource": { "id": "v1.ISCSIVolumeSource", + "description": "ISCSIVolumeSource describes an ISCSI Disk can only be mounted as read/write once.", "required": [ "targetPortal", "iqn", @@ -12215,98 +12265,102 @@ "properties": { "targetPortal": { "type": "string", - "description": "iSCSI target portal" + "description": "iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." }, "iqn": { "type": "string", - "description": "iSCSI Qualified Name" + "description": "Target iSCSI Qualified Name." }, "lun": { "type": "integer", "format": "int32", - "description": "iscsi target lun number" + "description": "iSCSI target lun number." }, "fsType": { "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs" + "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#iscsi" }, "readOnly": { "type": "boolean", - "description": "read-only if true, read-write otherwise (false or unspecified)" + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." } } }, "v1.PersistentVolumeStatus": { "id": "v1.PersistentVolumeStatus", + "description": "PersistentVolumeStatus is the current status of a persistent volume.", "properties": { "phase": { "type": "string", - "description": "the current phase of a persistent volume; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#phase" + "description": "Phase indicates if a volume is available, bound to a claim, or released by a claim. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#phase" }, "message": { "type": "string", - "description": "human-readable message indicating details about why the volume is in this state" + "description": "A human-readable message indicating details about why the volume is in this state." }, "reason": { "type": "string", - "description": "(brief) reason the volume is not is not available" + "description": "Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI." } } }, "v1.PodList": { "id": "v1.PodList", + "description": "PodList is a list of Pods.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Pod" }, - "description": "list of pods; see http://releases.k8s.io/HEAD/docs/user-guide/pods.md" + "description": "List of pods. More info: http://releases.k8s.io/HEAD/docs/user-guide/pods.md" } } }, "v1.Pod": { "id": "v1.Pod", + "description": "Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Specification of the desired behavior of the pod. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.PodStatus", - "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.PodSpec": { "id": "v1.PodSpec", + "description": "PodSpec is a description of a pod.", "required": [ "containers" ], @@ -12316,129 +12370,132 @@ "items": { "$ref": "v1.Volume" }, - "description": "list of volumes that can be mounted by containers belonging to the pod; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md" + "description": "List of volumes that can be mounted by containers belonging to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md" }, "containers": { "type": "array", "items": { "$ref": "v1.Container" }, - "description": "list of containers belonging to the pod; cannot be updated; containers cannot currently be added or removed; there must be at least one container in a Pod; see http://releases.k8s.io/HEAD/docs/user-guide/containers.md" + "description": "List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md" }, "restartPolicy": { "type": "string", - "description": "restart policy for all containers within the pod; one of Always, OnFailure, Never; defaults to Always; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#restartpolicy" + "description": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#restartpolicy" }, "terminationGracePeriodSeconds": { "type": "integer", "format": "int64", - "description": "optional duration in seconds the pod needs to terminate gracefully; may be decreased in delete request; value must be non-negative integer; the value zero indicates delete immediately; if this value is not set, the default grace period will be used instead; the grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal; set this value longer than the expected cleanup time for your process; defaults to 30 seconds" + "description": "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds." }, "activeDeadlineSeconds": { "type": "integer", "format": "int64", - "description": "optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers; value must be a positive integer" + "description": "Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer." }, "dnsPolicy": { "type": "string", - "description": "DNS policy for containers within the pod; one of 'ClusterFirst' or 'Default'" + "description": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\"." }, "nodeSelector": { "type": "any", - "description": "selector which must match a node's labels for the pod to be scheduled on that node; see http://releases.k8s.io/HEAD/docs/user-guide/node-selection/README.md" + "description": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: http://releases.k8s.io/HEAD/docs/user-guide/node-selection/README.md" }, "serviceAccountName": { "type": "string", - "description": "name of the ServiceAccount to use to run this pod; see http://releases.k8s.io/HEAD/docs/design/service_accounts.md" + "description": "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md" }, "serviceAccount": { "type": "string", - "description": "deprecated; use serviceAccountName instead" + "description": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead." }, "nodeName": { "type": "string", - "description": "node requested for this pod" + "description": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements." }, "hostNetwork": { "type": "boolean", - "description": "host networking requested for this pod" + "description": "Host networking requested for this pod. Uses the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false." }, "imagePullSecrets": { "type": "array", "items": { "$ref": "v1.LocalObjectReference" }, - "description": "list of references to secrets in the same namespace available for pulling the container images; see http://releases.k8s.io/HEAD/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod" + "description": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod" } } }, "v1.Volume": { "id": "v1.Volume", + "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", "required": [ "name" ], "properties": { "name": { "type": "string", - "description": "volume name; must be a DNS_LABEL and unique within the pod; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" + "description": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names" }, "hostPath": { "$ref": "v1.HostPathVolumeSource", - "description": "pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath" + "description": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath" }, "emptyDir": { "$ref": "v1.EmptyDirVolumeSource", - "description": "temporary directory that shares a pod's lifetime; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir" + "description": "EmptyDir represents a temporary directory that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir" }, "gcePersistentDisk": { "$ref": "v1.GCEPersistentDiskVolumeSource", - "description": "GCE disk resource attached to the host machine on demand; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" + "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk" }, "awsElasticBlockStore": { "$ref": "v1.AWSElasticBlockStoreVolumeSource", - "description": "AWS disk resource attached to the host machine on demand; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" + "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore" }, "gitRepo": { "$ref": "v1.GitRepoVolumeSource", - "description": "git repository at a particular revision" + "description": "GitRepo represents a git repository at a particular revision." }, "secret": { "$ref": "v1.SecretVolumeSource", - "description": "secret to populate volume; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets" + "description": "Secret represents a secret that should populate this volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets" }, "nfs": { "$ref": "v1.NFSVolumeSource", - "description": "NFS volume that will be mounted in the host machine; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" + "description": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs" }, "iscsi": { "$ref": "v1.ISCSIVolumeSource", - "description": "iSCSI disk attached to host machine on demand; see http://releases.k8s.io/HEAD/examples/iscsi/README.md" + "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md" }, "glusterfs": { "$ref": "v1.GlusterfsVolumeSource", - "description": "Glusterfs volume that will be mounted on the host machine; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md" + "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md" }, "persistentVolumeClaim": { "$ref": "v1.PersistentVolumeClaimVolumeSource", - "description": "a reference to a PersistentVolumeClaim in the same namespace; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" + "description": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" }, "rbd": { "$ref": "v1.RBDVolumeSource", - "description": "rados block volume that will be mounted on the host machine; see http://releases.k8s.io/HEAD/examples/rbd/README.md" + "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md" } } }, "v1.EmptyDirVolumeSource": { "id": "v1.EmptyDirVolumeSource", + "description": "EmptyDirVolumeSource is temporary directory that shares a pod's lifetime.", "properties": { "medium": { "type": "string", - "description": "type of storage used to back the volume; must be an empty string (default) or Memory; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir" + "description": "What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir" } } }, "v1.GitRepoVolumeSource": { "id": "v1.GitRepoVolumeSource", + "description": "GitRepoVolumeSource represents a volume that is pulled from git when the pod is created.", "required": [ "repository", "revision" @@ -12446,213 +12503,221 @@ "properties": { "repository": { "type": "string", - "description": "repository URL" + "description": "Repository URL" }, "revision": { "type": "string", - "description": "commit hash for the specified revision" + "description": "Commit hash for the specified revision." } } }, "v1.SecretVolumeSource": { "id": "v1.SecretVolumeSource", + "description": "SecretVolumeSource adapts a Secret into a VolumeSource. More info: http://releases.k8s.io/HEAD/docs/design/secrets.md", "required": [ "secretName" ], "properties": { "secretName": { "type": "string", - "description": "secretName is the name of a secret in the pod's namespace; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets" + "description": "SecretName is the name of a secret in the pod's namespace. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets" } } }, "v1.PersistentVolumeClaimVolumeSource": { "id": "v1.PersistentVolumeClaimVolumeSource", + "description": "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).", "required": [ "claimName" ], "properties": { "claimName": { "type": "string", - "description": "the name of the claim in the same namespace to be mounted as a volume; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" + "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims" }, "readOnly": { "type": "boolean", - "description": "mount volume as read-only when true; default false" + "description": "Will force the ReadOnly setting in VolumeMounts. Default false." } } }, "v1.Container": { "id": "v1.Container", + "description": "A single application container that you want to run within a pod.", "required": [ "name" ], "properties": { "name": { "type": "string", - "description": "name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated" + "description": "Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated." }, "image": { "type": "string", - "description": "Docker image name; see http://releases.k8s.io/HEAD/docs/user-guide/images.md" + "description": "Docker image name. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md" }, "command": { "type": "array", "items": { "type": "string" }, - "description": "entrypoint array; not executed within a shell; the docker image's entrypoint is used if this is not provided; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not; see http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands" + "description": "Entrypoint array. Not executed within a shell. The docker image's entrypoint is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands" }, "args": { "type": "array", "items": { "type": "string" }, - "description": "command array; the docker image's cmd is used if this is not provided; arguments to the entrypoint; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not; see http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands" + "description": "Arguments to the entrypoint. The docker image's cmd is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands" }, "workingDir": { "type": "string", - "description": "container's working directory; defaults to image's default; cannot be updated" + "description": "Container's working directory. Defaults to Docker's default. D efaults to image's default. Cannot be updated." }, "ports": { "type": "array", "items": { "$ref": "v1.ContainerPort" }, - "description": "list of ports to expose from the container; cannot be updated" + "description": "List of ports to expose from the container. Cannot be updated." }, "env": { "type": "array", "items": { "$ref": "v1.EnvVar" }, - "description": "list of environment variables to set in the container; cannot be updated" + "description": "List of environment variables to set in the container. Cannot be updated." }, "resources": { "$ref": "v1.ResourceRequirements", - "description": "Compute Resources required by this container; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md" + "description": "Compute Resources required by this container. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources" }, "volumeMounts": { "type": "array", "items": { "$ref": "v1.VolumeMount" }, - "description": "pod volumes to mount into the container's filesyste; cannot be updated" + "description": "Pod volumes to mount into the container's filesyste. Cannot be updated." }, "livenessProbe": { "$ref": "v1.Probe", - "description": "periodic probe of container liveness; container will be restarted if the probe fails; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" + "description": "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" }, "readinessProbe": { "$ref": "v1.Probe", - "description": "periodic probe of container service readiness; container will be removed from service endpoints if the probe fails; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" + "description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" }, "lifecycle": { "$ref": "v1.Lifecycle", - "description": "actions that the management system should take in response to container lifecycle events; cannot be updated" + "description": "Actions that the management system should take in response to container lifecycle events. Cannot be updated." }, "terminationMessagePath": { "type": "string", - "description": "path at which the file to which the container's termination message will be written is mounted into the container's filesystem; message written is intended to be brief final status, such as an assertion failure message; defaults to /dev/termination-log; cannot be updated" + "description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated." }, "imagePullPolicy": { "type": "string", - "description": "image pull policy; one of Always, Never, IfNotPresent; defaults to Always if :latest tag is specified, or IfNotPresent otherwise; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/images.md#updating-images" + "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md#updating-images" }, "securityContext": { "$ref": "v1.SecurityContext", - "description": "security options the pod should run with; see http://releases.k8s.io/HEAD/docs/design/security_context.md" + "description": "Security options the pod should run with. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md" }, "stdin": { "type": "boolean", - "description": "Whether this container should allocate a buffer for stdin in the container runtime; default is false" + "description": "Whether this container should allocate a buffer for stdin in the container runtime. Default is false." }, "tty": { "type": "boolean", - "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true; default is false" + "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false." } } }, "v1.ContainerPort": { "id": "v1.ContainerPort", + "description": "ContainerPort represents a network port in a single container.", "required": [ "containerPort" ], "properties": { "name": { "type": "string", - "description": "name for the port that can be referred to by services; must be an IANA_SVC_NAME and unique within the pod" + "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services." }, "hostPort": { "type": "integer", "format": "int32", - "description": "number of port to expose on the host; most containers do not need this" + "description": "Number of port to expose on the host. If specified, this must be a valid port number, 0 \u003c x \u003c 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this." }, "containerPort": { "type": "integer", "format": "int32", - "description": "number of port to expose on the pod's IP address" + "description": "Number of port to expose on the pod's IP address. This must be a valid port number, 0 \u003c x \u003c 65536." }, "protocol": { "type": "string", - "description": "protocol for port; must be UDP or TCP; TCP if unspecified" + "description": "Protocol for port. Must be UDP or TCP. Defaults to \"TCP\"." }, "hostIP": { "type": "string", - "description": "host IP to bind the port to" + "description": "What host IP to bind the external port to." } } }, "v1.EnvVar": { "id": "v1.EnvVar", + "description": "EnvVar represents an environment variable present in a Container.", "required": [ "name" ], "properties": { "name": { "type": "string", - "description": "name of the environment variable; must be a C_IDENTIFIER" + "description": "Name of the environment variable. Must be a C_IDENTIFIER." }, "value": { "type": "string", - "description": "value of the environment variable; defaults to empty string; variable references $(VAR_NAME) are expanded using the previously defined environment varibles in the container and any service environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not" + "description": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." }, "valueFrom": { "$ref": "v1.EnvVarSource", - "description": "source for the environment variable's value; cannot be used if value is not empty" + "description": "Source for the environment variable's value. Cannot be used if value is not empty." } } }, "v1.EnvVarSource": { "id": "v1.EnvVarSource", + "description": "EnvVarSource represents a source for the value of an EnvVar.", "required": [ "fieldRef" ], "properties": { "fieldRef": { "$ref": "v1.ObjectFieldSelector", - "description": "selects a field of the pod; only name and namespace are supported" + "description": "Selects a field of the pod. Only name and namespace are supported." } } }, "v1.ObjectFieldSelector": { "id": "v1.ObjectFieldSelector", + "description": "ObjectFieldSelector selects an APIVersioned field of an object.", "required": [ "fieldPath" ], "properties": { "apiVersion": { "type": "string", - "description": "version of the schema that fieldPath is written in terms of; defaults to v1" + "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." }, "fieldPath": { "type": "string", - "description": "path of the field to select in the specified API version" + "description": "Path of the field to select in the specified API version." } } }, "v1.VolumeMount": { "id": "v1.VolumeMount", + "description": "VolumeMount describes a mounting of a Volume within a container.", "required": [ "name", "mountPath" @@ -12660,165 +12725,173 @@ "properties": { "name": { "type": "string", - "description": "name of the volume to mount" + "description": "This must match the Name of a Volume." }, "readOnly": { "type": "boolean", - "description": "mounted read-only if true, read-write otherwise (false or unspecified)" + "description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." }, "mountPath": { "type": "string", - "description": "path within the container at which the volume should be mounted" + "description": "Path within the container at which the volume should be mounted." } } }, "v1.Probe": { "id": "v1.Probe", + "description": "Probe describes a liveness probe to be examined to the container.", "properties": { "exec": { "$ref": "v1.ExecAction", - "description": "exec-based handler" + "description": "One and only one of the following should be specified. Exec specifies the action to take." }, "httpGet": { "$ref": "v1.HTTPGetAction", - "description": "HTTP-based handler" + "description": "HTTPGet specifies the http request to perform." }, "tcpSocket": { "$ref": "v1.TCPSocketAction", - "description": "TCP-based handler; TCP hooks not yet supported" + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported" }, "initialDelaySeconds": { "type": "integer", "format": "int64", - "description": "number of seconds after the container has started before liveness probes are initiated; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" + "description": "Number of seconds after the container has started before liveness probes are initiated. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" }, "timeoutSeconds": { "type": "integer", "format": "int64", - "description": "number of seconds after which liveness probes timeout; defaults to 1 second; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" + "description": "Number of seconds after which liveness probes timeout. Defaults to 1 second. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes" } } }, "v1.ExecAction": { "id": "v1.ExecAction", + "description": "ExecAction describes a \"run in container\" action.", "properties": { "command": { "type": "array", "items": { "type": "string" }, - "description": "command line to execute inside the container; working directory for the command is root ('/') in the container's file system; the command is exec'd, not run inside a shell; exit status of 0 is treated as live/healthy and non-zero is unhealthy" + "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." } } }, "v1.HTTPGetAction": { "id": "v1.HTTPGetAction", + "description": "HTTPGetAction describes an action based on HTTP Get requests.", "required": [ "port" ], "properties": { "path": { "type": "string", - "description": "path to access on the HTTP server" + "description": "Path to access on the HTTP server." }, "port": { "type": "string", - "description": "number or name of the port to access on the container; number must be in the range 1 to 65535; name must be an IANA_SVC_NAME" + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." }, "host": { "type": "string", - "description": "hostname to connect to; defaults to pod IP" + "description": "Host name to connect to, defaults to the pod IP." }, "scheme": { "type": "string", - "description": "scheme to connect with, must be HTTP or HTTPS, defaults to HTTP" + "description": "Scheme to use for connecting to the host. Defaults to HTTP." } } }, "v1.TCPSocketAction": { "id": "v1.TCPSocketAction", + "description": "TCPSocketAction describes an action based on opening a socket", "required": [ "port" ], "properties": { "port": { "type": "string", - "description": "number or name of the port to access on the container; number must be in the range 1 to 65535; name must be an IANA_SVC_NAME" + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." } } }, "v1.Lifecycle": { "id": "v1.Lifecycle", + "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.", "properties": { "postStart": { "$ref": "v1.Handler", - "description": "called immediately after a container is started; if the handler fails, the container is terminated and restarted according to its restart policy; other management of the container blocks until the hook completes; see http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details" + "description": "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details" }, "preStop": { "$ref": "v1.Handler", - "description": "called before a container is terminated; the container is terminated after the handler completes; other management of the container blocks until the hook completes; see http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details" + "description": "PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details" } } }, "v1.Handler": { "id": "v1.Handler", + "description": "Handler defines a specific action that should be taken", "properties": { "exec": { "$ref": "v1.ExecAction", - "description": "exec-based handler" + "description": "One and only one of the following should be specified. Exec specifies the action to take." }, "httpGet": { "$ref": "v1.HTTPGetAction", - "description": "HTTP-based handler" + "description": "HTTPGet specifies the http request to perform." }, "tcpSocket": { "$ref": "v1.TCPSocketAction", - "description": "TCP-based handler; TCP hooks not yet supported" + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported" } } }, "v1.SecurityContext": { "id": "v1.SecurityContext", + "description": "SecurityContext holds security configuration that will be applied to a container.", "properties": { "capabilities": { "$ref": "v1.Capabilities", - "description": "the linux kernel capabilites that should be added or removed; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" + "description": "The linux kernel capabilites that should be added or removed. Default to Container.Capabilities if left unset. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" }, "privileged": { "type": "boolean", - "description": "run the container in privileged mode; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" + "description": "Run the container in privileged mode. Default to Container.Privileged if left unset. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" }, "seLinuxOptions": { "$ref": "v1.SELinuxOptions", - "description": "options that control the SELinux labels applied; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" + "description": "SELinuxOptions are the labels to be applied to the container and volumes. Options that control the SELinux labels applied. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" }, "runAsUser": { "type": "integer", "format": "int64", - "description": "the user id that runs the first process in the container; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" + "description": "RunAsUser is the UID to run the entrypoint of the container process. The user id that runs the first process in the container. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" }, "runAsNonRoot": { "type": "boolean", - "description": "indicates the container must be run as a non-root user either by specifying the runAsUser or in the image specification" + "description": "RunAsNonRoot indicates that the container should be run as a non-root user. If the RunAsUser field is not explicitly set then the kubelet may check the image for a specified user or perform defaulting to specify a user." } } }, "v1.Capabilities": { "id": "v1.Capabilities", + "description": "Adds and removes POSIX capabilities from running containers.", "properties": { "add": { "type": "array", "items": { "$ref": "v1.Capability" }, - "description": "added capabilities" + "description": "Added capabilities" }, "drop": { "type": "array", "items": { "$ref": "v1.Capability" }, - "description": "droped capabilities" + "description": "Removed capabilities" } } }, @@ -12828,70 +12901,73 @@ }, "v1.SELinuxOptions": { "id": "v1.SELinuxOptions", + "description": "SELinuxOptions are the labels to be applied to the container", "properties": { "user": { "type": "string", - "description": "the user label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md" + "description": "User is a SELinux user label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md" }, "role": { "type": "string", - "description": "the role label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md" + "description": "Role is a SELinux role label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md" }, "type": { "type": "string", - "description": "the type label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md" + "description": "Type is a SELinux type label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md" }, "level": { "type": "string", - "description": "the level label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md" + "description": "Level is SELinux level label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md" } } }, "v1.PodStatus": { "id": "v1.PodStatus", + "description": "PodStatus represents information about the status of a pod. Status may trail the actual state of a system.", "properties": { "phase": { "type": "string", - "description": "current condition of the pod; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-phase" + "description": "Current condition of the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-phase" }, "conditions": { "type": "array", "items": { "$ref": "v1.PodCondition" }, - "description": "current service state of pod; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" + "description": "Current service state of pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" }, "message": { "type": "string", - "description": "human readable message indicating details about why the pod is in this condition" + "description": "A human readable message indicating details about why the pod is in this condition." }, "reason": { "type": "string", - "description": "(brief-CamelCase) reason indicating details about why the pod is in this condition" + "description": "A brief CamelCase message indicating details about why the pod is in this state. e.g. 'OutOfDisk'" }, "hostIP": { "type": "string", - "description": "IP address of the host to which the pod is assigned; empty if not yet scheduled" + "description": "IP address of the host to which the pod is assigned. Empty if not yet scheduled." }, "podIP": { "type": "string", - "description": "IP address allocated to the pod; routable at least within the cluster; empty if not yet allocated" + "description": "IP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated." }, "startTime": { "type": "string", - "description": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod." + "description": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod." }, "containerStatuses": { "type": "array", "items": { "$ref": "v1.ContainerStatus" }, - "description": "list of container statuses; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-statuses" + "description": "The list has one entry per container in the manifest. Each entry is currently the output of `docker inspect`. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-statuses" } } }, "v1.PodCondition": { "id": "v1.PodCondition", + "description": "PodCondition contains details for the current condition of this pod.", "required": [ "type", "status" @@ -12899,16 +12975,17 @@ "properties": { "type": { "type": "string", - "description": "kind of the condition, currently only Ready; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" + "description": "Type is the type of the condition. Currently only Ready. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" }, "status": { "type": "string", - "description": "status of the condition, one of True, False, Unknown; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" + "description": "Status is the status of the condition. Can be True, False, Unknown. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" } } }, "v1.ContainerStatus": { "id": "v1.ContainerStatus", + "description": "ContainerStatus contains details for the current status of this container.", "required": [ "name", "ready", @@ -12919,76 +12996,80 @@ "properties": { "name": { "type": "string", - "description": "name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated" + "description": "This must be a DNS_LABEL. Each container in a pod must have a unique name. Cannot be updated." }, "state": { "$ref": "v1.ContainerState", - "description": "details about the container's current condition" + "description": "Details about the container's current condition." }, "lastState": { "$ref": "v1.ContainerState", - "description": "details about the container's last termination condition" + "description": "Details about the container's last termination condition." }, "ready": { "type": "boolean", - "description": "specifies whether the container has passed its readiness probe" + "description": "Specifies whether the container has passed its readiness probe." }, "restartCount": { "type": "integer", "format": "int32", - "description": "the number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed" + "description": "The number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed. Note that this is calculated from dead containers. But those containers are subject to garbage collection. This value will get capped at 5 by GC." }, "image": { "type": "string", - "description": "image of the container; see http://releases.k8s.io/HEAD/docs/user-guide/images.md" + "description": "The image the container is running. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md" }, "imageID": { "type": "string", - "description": "ID of the container's image" + "description": "ImageID of the container's image." }, "containerID": { "type": "string", - "description": "container's ID in the format 'docker://\u003ccontainer_id\u003e'; see http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#container-information" + "description": "Container's ID in the format 'docker://\u003ccontainer_id\u003e'. More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#container-information" } } }, "v1.ContainerState": { "id": "v1.ContainerState", + "description": "ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.", "properties": { "waiting": { "$ref": "v1.ContainerStateWaiting", - "description": "details about a waiting container" + "description": "Details about a waiting container" }, "running": { "$ref": "v1.ContainerStateRunning", - "description": "details about a running container" + "description": "Details about a running container" }, "terminated": { "$ref": "v1.ContainerStateTerminated", - "description": "details about a terminated container" + "description": "Details about a terminated container" } } }, "v1.ContainerStateWaiting": { "id": "v1.ContainerStateWaiting", + "description": "ContainerStateWaiting is a waiting state of a container.", "properties": { "reason": { "type": "string", - "description": "(brief) reason the container is not yet running, such as pulling its image" + "description": "(brief) reason the container is not yet running, such as pulling its image." } } }, "v1.ContainerStateRunning": { "id": "v1.ContainerStateRunning", + "description": "ContainerStateRunning is a running state of a container.", "properties": { "startedAt": { "type": "string", - "description": "time at which the container was last (re-)started" + "description": "Time at which the container was last (re-)started" } } }, "v1.ContainerStateTerminated": { "id": "v1.ContainerStateTerminated", + "description": "ContainerStateTerminated is a terminated state of a container.", "required": [ "exitCode" ], @@ -12996,12 +13077,12 @@ "exitCode": { "type": "integer", "format": "int32", - "description": "exit status from the last termination of the container" + "description": "Exit status from the last termination of the container" }, "signal": { "type": "integer", "format": "int32", - "description": "signal from the last termination of the container" + "description": "Signal from the last termination of the container" }, "reason": { "type": "string", @@ -13009,155 +13090,162 @@ }, "message": { "type": "string", - "description": "message regarding the last termination of the container" + "description": "Message regarding the last termination of the container" }, "startedAt": { "type": "string", - "description": "time at which previous execution of the container started" + "description": "Time at which previous execution of the container started" }, "finishedAt": { "type": "string", - "description": "time at which the container last terminated" + "description": "Time at which the container last terminated" }, "containerID": { "type": "string", - "description": "container's ID in the format 'docker://\u003ccontainer_id\u003e'" + "description": "Container's ID in the format 'docker://\u003ccontainer_id\u003e'" } } }, "v1.PodTemplateList": { "id": "v1.PodTemplateList", + "description": "PodTemplateList is a list of PodTemplates.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.PodTemplate" }, - "description": "list of pod templates" + "description": "List of pod templates" } } }, "v1.PodTemplate": { "id": "v1.PodTemplate", + "description": "PodTemplate describes a template for creating copies of a predefined pod.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "template": { "$ref": "v1.PodTemplateSpec", - "description": "the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Template defines the pods that will be created from this pod template. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.PodTemplateSpec": { "id": "v1.PodTemplateSpec", + "description": "PodTemplateSpec describes the data a pod should have when created from a template", "properties": { "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Specification of the desired behavior of the pod. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.ReplicationControllerList": { "id": "v1.ReplicationControllerList", + "description": "ReplicationControllerList is a collection of replication controllers.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.ReplicationController" }, - "description": "list of replication controllers; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md" + "description": "List of replication controllers. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md" } } }, "v1.ReplicationController": { "id": "v1.ReplicationController", + "description": "ReplicationController represents the configuration of a replication controller.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ReplicationControllerSpec", - "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Spec defines the specification of the desired behavior of the replication controller. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ReplicationControllerStatus", - "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Status is the most recently observed status of the replication controller. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.ReplicationControllerSpec": { "id": "v1.ReplicationControllerSpec", + "description": "ReplicationControllerSpec is the specification of a replication controller.", "properties": { "replicas": { "type": "integer", "format": "int32", - "description": "number of replicas desired; defaults to 1; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller" + "description": "Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller" }, "selector": { "type": "any", - "description": "label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors" + "description": "Selector is a label query over pods that should match the Replicas count. If Selector is empty, it is defaulted to the labels present on the Pod template. Label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors" }, "template": { "$ref": "v1.PodTemplateSpec", - "description": "object that describes the pod that will be created if insufficient replicas are detected; takes precendence over templateRef; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template" + "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. This takes precedence over a TemplateRef. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template" } } }, "v1.ReplicationControllerStatus": { "id": "v1.ReplicationControllerStatus", + "description": "ReplicationControllerStatus represents the current status of a replication controller.", "required": [ "replicas" ], @@ -13165,253 +13253,264 @@ "replicas": { "type": "integer", "format": "int32", - "description": "most recently oberved number of replicas; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller" + "description": "Replicas is the most recently oberved number of replicas. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller" }, "observedGeneration": { "type": "integer", "format": "int64", - "description": "reflects the generation of the most recently observed replication controller" + "description": "ObservedGeneration reflects the generation of the most recently observed replication controller." } } }, "v1.ResourceQuotaList": { "id": "v1.ResourceQuotaList", + "description": "ResourceQuotaList is a list of ResourceQuota items.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.ResourceQuota" }, - "description": "items is a list of ResourceQuota objects; see http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota" + "description": "Items is a list of ResourceQuota objects. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota" } } }, "v1.ResourceQuota": { "id": "v1.ResourceQuota", + "description": "ResourceQuota sets aggregate quota restrictions enforced per namespace", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ResourceQuotaSpec", - "description": "spec defines the desired quota; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Spec defines the desired quota. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ResourceQuotaStatus", - "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Status defines the actual enforced quota and its current usage. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.ResourceQuotaSpec": { "id": "v1.ResourceQuotaSpec", + "description": "ResourceQuotaSpec defines the desired hard limits to enforce for Quota.", "properties": { "hard": { "type": "any", - "description": "hard is the set of desired hard limits for each named resource; see http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota" + "description": "Hard is the set of desired hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota" } } }, "v1.ResourceQuotaStatus": { "id": "v1.ResourceQuotaStatus", + "description": "ResourceQuotaStatus defines the enforced hard limits and observed use.", "properties": { "hard": { "type": "any", - "description": "hard is the set of enforced hard limits for each named resource; see http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota" + "description": "Hard is the set of enforced hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota" }, "used": { "type": "any", - "description": "used is the current observed total usage of the resource in the namespace" + "description": "Used is the current observed total usage of the resource in the namespace." } } }, "v1.SecretList": { "id": "v1.SecretList", + "description": "SecretList is a list of Secret.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Secret" }, - "description": "items is a list of secret objects; see http://releases.k8s.io/HEAD/docs/user-guide/secrets.md" + "description": "Items is a list of secret objects. More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md" } } }, "v1.Secret": { "id": "v1.Secret", + "description": "Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "data": { "type": "any", - "description": "data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. Each value must be a base64 encoded string as described in https://tools.ietf.org/html/rfc4648#section-4" + "description": "Data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4" }, "type": { "type": "string", - "description": "type facilitates programmatic handling of secret data" + "description": "Used to facilitate programmatic handling of secret data." } } }, "v1.ServiceAccountList": { "id": "v1.ServiceAccountList", + "description": "ServiceAccountList is a list of ServiceAccount objects", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.ServiceAccount" }, - "description": "list of ServiceAccounts; see http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts" + "description": "List of ServiceAccounts. More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts" } } }, "v1.ServiceAccount": { "id": "v1.ServiceAccount", + "description": "ServiceAccount binds together: * a name, understood by users, and perhaps by peripheral systems, for an identity * a principal that can be authenticated and authorized * a set of secrets", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "secrets": { "type": "array", "items": { "$ref": "v1.ObjectReference" }, - "description": "list of secrets that can be used by pods running as this service account; see http://releases.k8s.io/HEAD/docs/user-guide/secrets.md" + "description": "Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md" }, "imagePullSecrets": { "type": "array", "items": { "$ref": "v1.LocalObjectReference" }, - "description": "list of references to secrets in the same namespace available for pulling container images; see http://releases.k8s.io/HEAD/docs/user-guide/secrets.md#manually-specifying-an-imagepullsecret" + "description": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md#manually-specifying-an-imagepullsecret" } } }, "v1.ServiceList": { "id": "v1.ServiceList", + "description": "ServiceList holds a list of services.", "required": [ "items" ], "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "items": { "type": "array", "items": { "$ref": "v1.Service" }, - "description": "list of services" + "description": "List of services" } } }, "v1.Service": { "id": "v1.Service", + "description": "Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.", "properties": { "kind": { "type": "string", - "description": "kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + "description": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" }, "apiVersion": { "type": "string", - "description": "version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + "description": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ServiceSpec", - "description": "specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Spec defines the behavior of a service. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ServiceStatus", - "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" + "description": "Most recently observed status of the service. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status" } } }, "v1.ServiceSpec": { "id": "v1.ServiceSpec", + "description": "ServiceSpec describes the attributes that a user creates on a service.", "required": [ "ports" ], @@ -13421,94 +13520,98 @@ "items": { "$ref": "v1.ServicePort" }, - "description": "ports exposed by the service; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies" + "description": "The list of ports that are exposed by this service. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies" }, "selector": { "type": "any", - "description": "label keys and values that must match in order to receive traffic for this service; if empty, all pods are selected, if not specified, endpoints must be manually specified; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview" + "description": "This service will route traffic to pods having labels matching this selector. Label keys and values that must match in order to receive traffic for this service. If empty, all pods are selected, if not specified, endpoints must be manually specified. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview" }, "clusterIP": { "type": "string", - "description": "IP address of the service; usually assigned by the system; if specified, it will be allocated to the service if unused or else creation of the service will fail; cannot be updated; 'None' can be specified for a headless service when proxying is not required; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies" + "description": "ClusterIP is usually assigned by the master and is the IP address of the service. If specified, it will be allocated to the service if it is unused or else creation of the service will fail. Valid values are None, empty string (\"\"), or a valid IP address. 'None' can be specified for a headless service when proxying is not required. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies" }, "type": { "type": "string", - "description": "type of this service; must be ClusterIP, NodePort, or LoadBalancer; defaults to ClusterIP; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services" + "description": "Type of exposed service. Must be ClusterIP, NodePort, or LoadBalancer. Defaults to ClusterIP. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services" }, "externalIPs": { "type": "array", "items": { "type": "string" }, - "description": "externally visible IPs (e.g. load balancers) that should be proxied to this service" + "description": "ExternalIPs are used by external load balancers, or can be set by users to handle external traffic that arrives at a node. Externally visible IPs (e.g. load balancers) that should be proxied to this service." }, "sessionAffinity": { "type": "string", - "description": "enable client IP based session affinity; must be ClientIP or None; defaults to None; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies" + "description": "Supports \"ClientIP\" and \"None\". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies" } } }, "v1.ServicePort": { "id": "v1.ServicePort", + "description": "ServicePort conatins information on service's port.", "required": [ "port" ], "properties": { "name": { "type": "string", - "description": "the name of this port; optional if only one port is defined" + "description": "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. This maps to the 'Name' field in EndpointPort objects. Optional if only one ServicePort is defined on this service." }, "protocol": { "type": "string", - "description": "the protocol used by this port; must be UDP or TCP; TCP if unspecified" + "description": "The IP protocol for this port. Supports \"TCP\" and \"UDP\". Default is TCP." }, "port": { "type": "integer", "format": "int32", - "description": "the port number that is exposed" + "description": "The port that will be exposed by this service." }, "targetPort": { "type": "string", - "description": "number or name of the port to access on the pods targeted by the service; defaults to the service port; number must be in the range 1 to 65535; name must be an IANA_SVC_NAME; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#defining-a-service" + "description": "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of Port is used (an identity map). Defaults to the service port. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#defining-a-service" }, "nodePort": { "type": "integer", "format": "int32", - "description": "the port on each node on which this service is exposed when type=NodePort or LoadBalancer; usually assigned by the system; if specified, it will be allocated to the service if unused or else creation of the service will fail; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#type--nodeport" + "description": "The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#type--nodeport" } } }, "v1.ServiceStatus": { "id": "v1.ServiceStatus", + "description": "ServiceStatus represents the current status of a service.", "properties": { "loadBalancer": { "$ref": "v1.LoadBalancerStatus", - "description": "status of load-balancer" + "description": "LoadBalancer contains the current status of the load-balancer, if one is present." } } }, "v1.LoadBalancerStatus": { "id": "v1.LoadBalancerStatus", + "description": "LoadBalancerStatus represents the status of a load-balancer.", "properties": { "ingress": { "type": "array", "items": { "$ref": "v1.LoadBalancerIngress" }, - "description": "load-balancer ingress points" + "description": "Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points." } } }, "v1.LoadBalancerIngress": { "id": "v1.LoadBalancerIngress", + "description": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.", "properties": { "ip": { "type": "string", - "description": "IP address of ingress point" + "description": "IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)" }, "hostname": { "type": "string", - "description": "hostname of ingress point" + "description": "Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)" } } } diff --git a/cmd/genswaggertypedocs/swagger_type_docs.go b/cmd/genswaggertypedocs/swagger_type_docs.go new file mode 100644 index 0000000000..afdbf78b68 --- /dev/null +++ b/cmd/genswaggertypedocs/swagger_type_docs.go @@ -0,0 +1,73 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package main + +import ( + "fmt" + "io" + "os" + "runtime" + + pkg_runtime "k8s.io/kubernetes/pkg/runtime" + + "github.com/golang/glog" + flag "github.com/spf13/pflag" +) + +var ( + functionDest = flag.StringP("func-dest", "f", "-", "Output for swagger functions; '-' means stdout (default)") + typeSrc = flag.StringP("type-src", "s", "", "From where we are going to read the types") + verify = flag.BoolP("verify", "v", false, "Verifies if the given type-src file has documentation for every type") +) + +func main() { + runtime.GOMAXPROCS(runtime.NumCPU()) + flag.Parse() + + if *typeSrc == "" { + glog.Fatalf("Please define -s flag as it is the source file") + } + + var funcOut io.Writer + if *functionDest == "-" { + funcOut = os.Stdout + } else { + file, err := os.Create(*functionDest) + if err != nil { + glog.Fatalf("Couldn't open %v: %v", *functionDest, err) + } + defer file.Close() + funcOut = file + } + + docsForTypes := pkg_runtime.ParseDocumentationFrom(*typeSrc) + + if *verify == true { + rc, err := pkg_runtime.VerifySwaggerDocsExist(docsForTypes, funcOut) + if err != nil { + fmt.Fprintf(os.Stderr, "Error in verification process: %s\n", err) + } + os.Exit(rc) + } + + if docsForTypes != nil && len(docsForTypes) > 0 { + if err := pkg_runtime.WriteSwaggerDocFunc(docsForTypes, funcOut); err != nil { + fmt.Fprintf(os.Stderr, "Error when writing swagger documentation functions: %s\n", err) + os.Exit(-1) + } + } +} diff --git a/hack/after-build/verify-description.sh b/hack/after-build/verify-description.sh new file mode 100755 index 0000000000..295bdd4bfd --- /dev/null +++ b/hack/after-build/verify-description.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +# Copyright 2014 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. +source "${KUBE_ROOT}/hack/lib/init.sh" + +kube::golang::setup_env + +# Find binary +genswaggertypedocs=$(kube::util::find-binary "genswaggertypedocs") + +result=0 + +find_files() { + find . -not \( \ + \( \ + -wholename './output' \ + -o -wholename './_output' \ + -o -wholename './release' \ + -o -wholename './target' \ + -o -wholename '*/third_party/*' \ + -o -wholename '*/Godeps/*' \ + \) -prune \ + \) -wholename '*pkg/api/v*/types.go' +} + +if [[ $# -eq 0 ]]; then + versioned_api_files=`find_files | egrep "pkg/api/v.[^/]*/types\.go"` +else + versioned_api_files=("${@}") +fi + +for file in $versioned_api_files; do + $genswaggertypedocs -v -s "${file}" -f - || result=$? + if [[ "${result}" -ne "0" ]]; then + echo "API file: ${file} is missing: ${result} descriptions" + fi + if grep json: "${file}" | grep -v // | grep description: ; then + echo "API file: ${file} should not contain descriptions in struct tags" + result=1 + fi +done + +internal_types_file="${KUBE_ROOT}/pkg/api/types.go" +if grep json: "${internal_types_file}" | grep -v // | grep description: ; then + echo "Internal API types should not contain descriptions" + result=1 +fi + +exit ${result} diff --git a/hack/after-build/verify-generated-swagger-docs.sh b/hack/after-build/verify-generated-swagger-docs.sh new file mode 100755 index 0000000000..873e808cac --- /dev/null +++ b/hack/after-build/verify-generated-swagger-docs.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +# Copyright 2014 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. +source "${KUBE_ROOT}/hack/lib/init.sh" + +kube::golang::setup_env + +# Find binary +genswaggertypedocs=$(kube::util::find-binary "genswaggertypedocs") + +if [[ ! -x "$genswaggertypedocs" ]]; then + { + echo "It looks as if you don't have a compiled genswaggertypedocs binary" + echo + echo "If you are running from a clone of the git repo, please run" + echo "'./hack/build-go.sh cmd/genswaggertypedocs'." + } >&2 + exit 1 +fi + +APIROOT="${KUBE_ROOT}/pkg/api" +TMP_APIROOT="${KUBE_ROOT}/_tmp/api" +_tmp="${KUBE_ROOT}/_tmp" + +mkdir -p "${_tmp}" +cp -a "${APIROOT}" "${TMP_APIROOT}" + +"${KUBE_ROOT}/hack/update-generated-swagger-docs.sh" +echo "diffing ${APIROOT} against freshly generated swagger type documentation" +ret=0 +diff -Naupr -I 'Auto generated by' "${APIROOT}" "${TMP_APIROOT}" || ret=$? +cp -a ${TMP_APIROOT} "${KUBE_ROOT}/pkg" +rm -rf "${_tmp}" +if [[ $ret -eq 0 ]] +then + echo "${APIROOT} up to date." +else + echo "${APIROOT} is out of date. Please run hack/update-generated-swagger-docs.sh" + exit 1 +fi diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh index 7addc1f809..c3daf257c5 100755 --- a/hack/lib/golang.sh +++ b/hack/lib/golang.sh @@ -68,6 +68,7 @@ kube::golang::test_targets() { cmd/genbashcomp cmd/genconversion cmd/gendeepcopy + cmd/genswaggertypedocs examples/k8petstore/web-server github.com/onsi/ginkgo/ginkgo test/e2e/e2e.test diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index 8884172ff2..3edf81d2de 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -807,8 +807,8 @@ __EOF__ file="${KUBE_TEMP}/schema-${version}.json" curl -s "http://127.0.0.1:${API_PORT}/swaggerapi/api/${version}" > "${file}" [[ "$(grep "list of returned" "${file}")" ]] - [[ "$(grep "list of pods" "${file}")" ]] - [[ "$(grep "watch for changes to the described resources" "${file}")" ]] + [[ "$(grep "List of pods" "${file}")" ]] + [[ "$(grep "Watch for changes to the described resources" "${file}")" ]] fi kube::test::clear_all diff --git a/hack/update-generated-swagger-docs.sh b/hack/update-generated-swagger-docs.sh new file mode 100755 index 0000000000..173f696131 --- /dev/null +++ b/hack/update-generated-swagger-docs.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# Copyright 2015 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. +source "${KUBE_ROOT}/hack/lib/init.sh" + +kube::golang::setup_env + +function generate_version() { + local version=$1 + local TMPFILE="/tmp/types_swagger_doc_generated.$(date +%s).go" + + echo "Generating swagger type docs for version ${version}" + + sed 's/YEAR/2015/' hack/boilerplate/boilerplate.go.txt > $TMPFILE + echo "package ${version}" >> $TMPFILE + cat >> $TMPFILE <> $TMPFILE + + echo "// AUTO-GENERATED FUNCTIONS END HERE" >> $TMPFILE + + gofmt -w -s $TMPFILE + mv $TMPFILE "pkg/api/${version}/types_swagger_doc_generated.go" +} + +VERSIONS="v1" +# To avoid compile errors, remove the currently existing files. +for ver in $VERSIONS; do + rm -f "pkg/api/${ver}/types_swagger_doc_generated.go" +done +for ver in $VERSIONS; do + generate_version "${ver}" +done + +"${KUBE_ROOT}/hack/update-swagger-spec.sh" diff --git a/hack/verify-description.sh b/hack/verify-description.sh index 2bb261305f..86a7bc269d 100755 --- a/hack/verify-description.sh +++ b/hack/verify-description.sh @@ -19,43 +19,11 @@ set -o nounset set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. +source "${KUBE_ROOT}/hack/lib/init.sh" -cd "${KUBE_ROOT}" +kube::golang::setup_env +"${KUBE_ROOT}/hack/build-go.sh" cmd/genswaggertypedocs -result=0 - -find_files() { - find . -not \( \ - \( \ - -wholename './output' \ - -o -wholename './_output' \ - -o -wholename './release' \ - -o -wholename './target' \ - -o -wholename '*/third_party/*' \ - -o -wholename '*/Godeps/*' \ - \) -prune \ - \) -wholename '*pkg/api/v*/types.go' -} - -if [[ $# -eq 0 ]]; then - versioned_api_files=`find_files | egrep "pkg/api/v.[^/]*/types\.go"` -else - versioned_api_files=("${@}") -fi - -for file in $versioned_api_files; do - if grep json: "${file}" | grep -v // | grep -v ,inline | grep -v -q description: ; then - echo "API file is missing the required field descriptions: ${file}" - result=1 - fi -done - -internal_types_file="${KUBE_ROOT}/pkg/api/types.go" -if grep json: "${internal_types_file}" | grep -v // | grep description: ; then - echo "Internal API types should not contain descriptions" - result=1 -fi - -exit ${result} +"${KUBE_ROOT}/hack/after-build/verify-description.sh" "$@" # ex: ts=2 sw=2 et filetype=sh diff --git a/hack/verify-flags/known-flags.txt b/hack/verify-flags/known-flags.txt index 99fa739ad2..7a3c37ae1e 100644 --- a/hack/verify-flags/known-flags.txt +++ b/hack/verify-flags/known-flags.txt @@ -242,6 +242,7 @@ tls-cert-file tls-private-key-file token-auth-file ttl-secs +type-src unix-socket update-period upgrade-target diff --git a/hack/verify-generated-swagger-docs.sh b/hack/verify-generated-swagger-docs.sh new file mode 100755 index 0000000000..2bd11f784a --- /dev/null +++ b/hack/verify-generated-swagger-docs.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Copyright 2015 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. +source "${KUBE_ROOT}/hack/lib/init.sh" + +kube::golang::setup_env + +"${KUBE_ROOT}/hack/build-go.sh" cmd/genswaggertypedocs + +"${KUBE_ROOT}/hack/after-build/verify-generated-swagger-docs.sh" "$@" diff --git a/hooks/pre-commit b/hooks/pre-commit index d7aa6f3e1f..51225a40c9 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -93,8 +93,8 @@ files_need_description=() # Check API schema definitions for field descriptions for file in $(git diff --cached --name-only --diff-filter ACM | egrep "pkg/api/v.[^/]*/types\.go" | grep -v "third_party"); do # Check for files with fields without description tags - descriptionless=$(hack/after-build/verify-description.sh "${file}") - if [[ "$descriptionless" != "" ]]; then + descriptionless=$(hack/after-build/verify-description.sh "${file}" > /dev/null; echo $?) + if [[ "$descriptionless" -ne "0" ]]; then files_need_description+=("${file}") fi done @@ -158,6 +158,18 @@ else fi echo "${reset}" +echo -ne "Checking for swagger type documentation that need updating... " +if ! hack/after-build/verify-generated-swagger-docs.sh > /dev/null; then + echo "${red}ERROR!" + echo "Swagger type documentation needs to be updated." + echo "To regenerate the spec, run:" + echo " hack/update-generated-swagger-docs.sh" + exit_code=1 +else + echo "${green}OK" +fi +echo "${reset}" + echo -ne "Checking for swagger spec that need updating... " if ! hack/after-build/verify-swagger-spec.sh > /dev/null; then echo "${red}ERROR!" diff --git a/pkg/api/types.go b/pkg/api/types.go index a84e86201d..9eee47f50c 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -197,6 +197,7 @@ type VolumeSource struct { // directly exposed to the container. This is generally used for system // agents or other privileged things that are allowed to see the host // machine. Most containers will NOT need this. + // --- // TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not // mount host directories as read/write. HostPath *HostPathVolumeSource `json:"hostPath,omitempty"` @@ -290,10 +291,12 @@ const ( // PersistentVolumeReclaimRecycle means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. // The volume plugin must support Recycling. PersistentVolumeReclaimRecycle PersistentVolumeReclaimPolicy = "Recycle" + // PersistentVolumeReclaimDelete means the volume will be deleted from Kubernetes on release from its claim. // The volume plugin must support Deletion. // TODO: implement w/ DeletableVolumePlugin // PersistentVolumeReclaimDelete PersistentVolumeReclaimPolicy = "Delete" + // PersistentVolumeReclaimRetain means the volume will left in its current phase (Released) for manual reclamation by the administrator. // The default policy is Retain. PersistentVolumeReclaimRetain PersistentVolumeReclaimPolicy = "Retain" @@ -805,9 +808,7 @@ type ContainerState struct { type ContainerStatus struct { // Each container in a pod must have a unique name. - Name string `json:"name"` - // TODO(dchen1107): Should we rename PodStatus to a more generic name or have a separate states - // defined for container? + Name string `json:"name"` State ContainerState `json:"state,omitempty"` LastTerminationState ContainerState `json:"lastState,omitempty"` // Ready specifies whether the conatiner has passed its readiness check. diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index ab874a97dc..45b100c87d 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -23,24 +23,34 @@ import ( "k8s.io/kubernetes/pkg/util" ) +// The comments for the structs and fields can be used from go-resful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser. (e.g. TODO(andronat):... || TODO:...) iff +// are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored and not exported to the SwaggerAPI. +// +// The aforementioned methods can be generated by hack/update-generated-swagger-docs.sh + // Common string formats // --------------------- -// Many fields in this API have formatting requirements. The commonly used +// Many fields in this API have formatting requirements. The commonly used // formats are defined here. // // C_IDENTIFIER: This is a string that conforms to the definition of an "identifier" -// in the C language. This is captured by the following regex: +// in the C language. This is captured by the following regex: // [A-Za-z_][A-Za-z0-9_]* // This defines the format, but not the length restriction, which should be // specified at the definition of any field of this type. // // DNS_LABEL: This is a string, no more than 63 characters long, that conforms -// to the definition of a "label" in RFCs 1035 and 1123. This is captured +// to the definition of a "label" in RFCs 1035 and 1123. This is captured // by the following regex: // [a-z0-9]([-a-z0-9]*[a-z0-9])? // // DNS_SUBDOMAIN: This is a string, no more than 253 characters long, that conforms -// to the definition of a "subdomain" in RFCs 1035 and 1123. This is captured +// to the definition of a "subdomain" in RFCs 1035 and 1123. This is captured // by the following regex: // [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* // or more simply: @@ -56,81 +66,118 @@ import ( // with strings representing the type of the object and its API schema version. // Structures that are versioned or persisted should inline TypeMeta. type TypeMeta struct { - // Kind is a string value representing the REST resource this object represents. + // A string value representing the REST resource this object represents. // Servers may infer this from the endpoint the client submits requests to. - Kind string `json:"kind,omitempty" description:"kind of object, in CamelCase; cannot be updated; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"` + // Cannot be updated. + // In CamelCase. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + Kind string `json:"kind,omitempty"` - // APIVersion defines the versioned schema of this representation of an object. + // APIVersion defines the version of the schema of an object. // Servers should convert recognized schemas to the latest internal value, and // may reject unrecognized values. - APIVersion string `json:"apiVersion,omitempty" description:"version of the schema the object should have; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources"` + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources + APIVersion string `json:"apiVersion,omitempty"` } // ListMeta describes metadata that synthetic resources must have, including lists and // various status objects. type ListMeta struct { // SelfLink is a URL representing this object. - SelfLink string `json:"selfLink,omitempty" description:"URL for the object; populated by the system, read-only"` + // Populated by the system. + // Read-only. + SelfLink string `json:"selfLink,omitempty"` - // An opaque value that represents the version of this response for use with optimistic - // concurrency and change monitoring endpoints. Clients must treat these values as opaque - // and values may only be valid for a particular resource or set of resources. Only servers - // will generate resource versions. - ResourceVersion string `json:"resourceVersion,omitempty" description:"string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency"` + // String that identifies the server's internal version of this object that + // can be used by clients to determine when objects have changed. + // Value must be treated as opaque by clients and passed unmodified back to the server. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency + ResourceVersion string `json:"resourceVersion,omitempty"` } // ObjectMeta is metadata that all persisted resources must have, which includes all objects // users must create. type ObjectMeta struct { - // Name is unique within a namespace. Name is required when creating resources, although + // Name must be unique within a namespace. Is required when creating resources, although // some resources may allow a client to request the generation of an appropriate name // automatically. Name is primarily intended for creation idempotence and configuration // definition. - Name string `json:"name,omitempty" description:"string that identifies an object. Must be unique within a namespace; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names"` + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names + Name string `json:"name,omitempty"` - // GenerateName indicates that the name should be made unique by the server prior to persisting - // it. A non-empty value for the field indicates the name will be made unique (and the name - // returned to the client will be different than the name passed). The value of this field will - // be combined with a unique suffix on the server if the Name field has not been provided. - // The provided value must be valid within the rules for Name, and may be truncated by the length - // of the suffix required to make the value unique on the server. + // GenerateName is an optional prefix, used by the server, to generate a unique + // name ONLY IF the Name field has not been provided. + // If this field is used, the name returned to the client will be different + // than the name passed. This value will also be combined with a unique suffix. + // The provided value has the same validation rules as the Name field, + // and may be truncated by the length of the suffix required to make the value + // unique on the server. // - // If this field is specified, and Name is not present, the server will NOT return a 409 if the - // generated name exists - instead, it will either return 201 Created or 500 with Reason + // If this field is specified and the generated name exists, the server will + // NOT return a 409 - instead, it will either return 201 Created or 500 with Reason // ServerTimeout indicating a unique name could not be found in the time allotted, and the client // should retry (optionally after the time indicated in the Retry-After header). - GenerateName string `json:"generateName,omitempty" description:"an optional prefix to use to generate a unique name; has the same validation rules as name; optional, and is applied only name if is not specified; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency"` + // + // Applied only if Name is not specified. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency + GenerateName string `json:"generateName,omitempty"` - // Namespace defines the space within which name must be unique. An empty namespace is + // Namespace defines the space within each name must be unique. An empty namespace is // equivalent to the "default" namespace, but "default" is the canonical representation. // Not all objects are required to be scoped to a namespace - the value of this field for // those objects will be empty. - Namespace string `json:"namespace,omitempty" description:"namespace of the object; must be a DNS_LABEL; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md"` + // + // Must be a DNS_LABEL. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md + Namespace string `json:"namespace,omitempty"` // SelfLink is a URL representing this object. - SelfLink string `json:"selfLink,omitempty" description:"URL for the object; populated by the system, read-only"` + // Populated by the system. + // Read-only. + SelfLink string `json:"selfLink,omitempty"` // UID is the unique in time and space value for this object. It is typically generated by // the server on successful creation of a resource and is not allowed to change on PUT // operations. - UID types.UID `json:"uid,omitempty" description:"unique UUID across space and time; populated by the system; read-only; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids"` + // + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids + UID types.UID `json:"uid,omitempty"` - // An opaque value that represents the version of this resource. May be used for optimistic + // An opaque value that represents the internal version of this object that can + // be used by clients to determine when objects have changed. May be used for optimistic // concurrency, change detection, and the watch operation on a resource or set of resources. - // Clients must treat these values as opaque and values may only be valid for a particular - // resource or set of resources. Only servers will generate resource versions. - ResourceVersion string `json:"resourceVersion,omitempty" description:"string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency"` + // Clients must treat these values as opaque and passed unmodified back to the server. + // They may only be valid for a particular resource or set of resources. + // + // Populated by the system. + // Read-only. + // Value must be treated as opaque by clients and . + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency + ResourceVersion string `json:"resourceVersion,omitempty"` // A sequence number representing a specific generation of the desired state. // Currently only implemented by replication controllers. - Generation int64 `json:"generation,omitempty" description:"a sequence number representing a specific generation of the desired state; populated by the system; read-only"` + // Populated by the system. + // Read-only. + Generation int64 `json:"generation,omitempty"` // CreationTimestamp is a timestamp representing the server time when this object was // created. It is not guaranteed to be set in happens-before order across separate operations. // Clients may not set this value. It is represented in RFC3339 form and is in UTC. - CreationTimestamp util.Time `json:"creationTimestamp,omitempty" description:"RFC 3339 date and time at which the object was created; populated by the system, read-only; null for lists; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // + // Populated by the system. + // Read-only. + // Null for lists. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + CreationTimestamp util.Time `json:"creationTimestamp,omitempty"` - // DeletionTimestamp is the time after which this resource will be deleted. This + // DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This // field is set by the server when a graceful deletion is requested by the user, and is not // directly settable by a client. The resource will be deleted (no longer visible from // resource lists, and not reachable by name) after the time in this field. Once set, this @@ -139,20 +186,31 @@ type ObjectMeta struct { // a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination // signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet // will send a hard termination signal to the container. - DeletionTimestamp *util.Time `json:"deletionTimestamp,omitempty" description:"RFC 3339 date and time at which the object will be deleted; populated by the system when a graceful deletion is requested, read-only; if not set, graceful deletion of the object has not been requested; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // If not set, graceful deletion of the object has not been requested. + // + // Populated by the system when a graceful deletion is requested. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + DeletionTimestamp *util.Time `json:"deletionTimestamp,omitempty"` - // DeletionGracePeriodSeconds records the graceful deletion value set when graceful deletion - // was requested. Represents the most recent grace period, and may only be shortened once set. - DeletionGracePeriodSeconds *int64 `json:"deletionGracePeriodSeconds,omitempty" description:"number of seconds allowed for this object to gracefully terminate before it will be removed from the system; only set when deletionTimestamp is also set, read-only; may only be shortened"` + // Number of seconds allowed for this object to gracefully terminate before + // it will be removed from the system. Only set when deletionTimestamp is also set. + // May only be shortened. + // Read-only. + DeletionGracePeriodSeconds *int64 `json:"deletionGracePeriodSeconds,omitempty"` - // Labels are key value pairs that may be used to scope and select individual resources. + // Map of string keys and values that can be used to organize and categorize + // (scope and select) objects. May match selectors of replication controllers + // and services. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md // TODO: replace map[string]string with labels.LabelSet type - Labels map[string]string `json:"labels,omitempty" description:"map of string keys and values that can be used to organize and categorize objects; may match selectors of replication controllers and services; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md"` + Labels map[string]string `json:"labels,omitempty"` - // Annotations are unstructured key value data stored with a resource that may be set by - // external tooling. They are not queryable and should be preserved when modifying - // objects. - Annotations map[string]string `json:"annotations,omitempty" description:"map of string keys and values that can be used by external tooling to store and retrieve arbitrary metadata about objects; see http://releases.k8s.io/HEAD/docs/user-guide/annotations.md"` + // Annotations is an unstructured key value map stored with a resource that may be + // set by external tools to store and retrieve arbitrary metadata. They are not + // queryable and should be preserved when modifying objects. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/annotations.md + Annotations map[string]string `json:"annotations,omitempty"` } const ( @@ -162,13 +220,14 @@ const ( NamespaceAll string = "" ) -// Volume represents a named volume in a pod that may be accessed by any containers in the pod. +// Volume represents a named volume in a pod that may be accessed by any container in the pod. type Volume struct { - // Required: This must be a DNS_LABEL. Each volume in a pod must have - // a unique name. - Name string `json:"name" description:"volume name; must be a DNS_LABEL and unique within the pod; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names"` - // Source represents the location and type of a volume to mount. - // This is optional for now. If not specified, the Volume is implied to be an EmptyDir. + // Volume's name. + // Must be a DNS_LABEL and unique within the pod. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names + Name string `json:"name"` + // VolumeSource represents the location and type of the mounted volume. + // If not specified, the Volume is implied to be an EmptyDir. // This implied behavior is deprecated and will be removed in a future version. VolumeSource `json:",inline"` } @@ -180,159 +239,225 @@ type VolumeSource struct { // machine that is directly exposed to the container. This is generally // used for system agents or other privileged things that are allowed // to see the host machine. Most containers will NOT need this. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath + // --- // TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not // mount host directories as read/write. - HostPath *HostPathVolumeSource `json:"hostPath,omitempty" description:"pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath"` + HostPath *HostPathVolumeSource `json:"hostPath,omitempty"` // EmptyDir represents a temporary directory that shares a pod's lifetime. - EmptyDir *EmptyDirVolumeSource `json:"emptyDir,omitempty" description:"temporary directory that shares a pod's lifetime; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir + EmptyDir *EmptyDirVolumeSource `json:"emptyDir,omitempty"` // GCEPersistentDisk represents a GCE Disk resource that is attached to a // kubelet's host machine and then exposed to the pod. - GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" description:"GCE disk resource attached to the host machine on demand; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk + GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty"` // AWSElasticBlockStore represents an AWS Disk resource that is attached to a // kubelet's host machine and then exposed to the pod. - AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" description:"AWS disk resource attached to the host machine on demand; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore + AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty"` // GitRepo represents a git repository at a particular revision. - GitRepo *GitRepoVolumeSource `json:"gitRepo,omitempty" description:"git repository at a particular revision"` + GitRepo *GitRepoVolumeSource `json:"gitRepo,omitempty"` // Secret represents a secret that should populate this volume. - Secret *SecretVolumeSource `json:"secret,omitempty" description:"secret to populate volume; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets + Secret *SecretVolumeSource `json:"secret,omitempty"` // NFS represents an NFS mount on the host that shares a pod's lifetime - NFS *NFSVolumeSource `json:"nfs,omitempty" description:"NFS volume that will be mounted in the host machine; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs + NFS *NFSVolumeSource `json:"nfs,omitempty"` // ISCSI represents an ISCSI Disk resource that is attached to a // kubelet's host machine and then exposed to the pod. - ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" description:"iSCSI disk attached to host machine on demand; see http://releases.k8s.io/HEAD/examples/iscsi/README.md"` - // Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime - Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" description:"Glusterfs volume that will be mounted on the host machine; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md"` - // PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace - PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" description:"a reference to a PersistentVolumeClaim in the same namespace; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims"` - // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime - RBD *RBDVolumeSource `json:"rbd,omitempty" description:"rados block volume that will be mounted on the host machine; see http://releases.k8s.io/HEAD/examples/rbd/README.md"` + // More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md + ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty"` + // Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. + // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md + Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty"` + // PersistentVolumeClaimVolumeSource represents a reference to a + // PersistentVolumeClaim in the same namespace. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims + PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` + // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md + RBD *RBDVolumeSource `json:"rbd,omitempty"` } +// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. +// This volume finds the bound PV and mounts that volume for the pod. A +// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another +// type of volume that is owned by someone else (the system). type PersistentVolumeClaimVolumeSource struct { - // ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume - ClaimName string `json:"claimName" description:"the name of the claim in the same namespace to be mounted as a volume; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims"` - // Optional: Defaults to false (read/write). ReadOnly here - // will force the ReadOnly setting in VolumeMounts - ReadOnly bool `json:"readOnly,omitempty" description:"mount volume as read-only when true; default false"` + // ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims + ClaimName string `json:"claimName"` + // Will force the ReadOnly setting in VolumeMounts. + // Default false. + ReadOnly bool `json:"readOnly,omitempty"` } -// Similar to VolumeSource but meant for the administrator who creates PVs. -// Exactly one of its members must be set. +// PersistentVolumeSource is similar to VolumeSource but meant for the +// administrator who creates PVs. Exactly one of its members must be set. type PersistentVolumeSource struct { // GCEPersistentDisk represents a GCE Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" description:"GCE disk resource provisioned by an admin; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk"` + // kubelet's host machine and then exposed to the pod. Provisioned by an admin. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk + GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty"` // AWSElasticBlockStore represents an AWS Disk resource that is attached to a // kubelet's host machine and then exposed to the pod. - AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" description:"AWS disk resource provisioned by an admin; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore + AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty"` // HostPath represents a directory on the host. + // Provisioned by a developer or tester. // This is useful for development and testing only. - // on-host storage is not supported in any way. - HostPath *HostPathVolumeSource `json:"hostPath,omitempty" description:"a HostPath provisioned by a developer or tester; for development use only; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath"` - // Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod - Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" description:"Glusterfs volume resource provisioned by an admin; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md"` - // NFS represents an NFS mount on the host - NFS *NFSVolumeSource `json:"nfs,omitempty" description:"NFS volume resource provisioned by an admin; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs"` - // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime - RBD *RBDVolumeSource `json:"rbd,omitempty" description:"rados block volume that will be mounted on the host machine; see http://releases.k8s.io/HEAD/examples/rbd/README.md"` + // On-host storage is not supported in any way. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath + HostPath *HostPathVolumeSource `json:"hostPath,omitempty"` + // Glusterfs represents a Glusterfs volume that is attached to a host and + // exposed to the pod. Provisioned by an admin. + // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md + Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty"` + // NFS represents an NFS mount on the host. Provisioned by an admin. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs + NFS *NFSVolumeSource `json:"nfs,omitempty"` + // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md + RBD *RBDVolumeSource `json:"rbd,omitempty"` // ISCSI represents an ISCSI Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" description:"an iSCSI disk resource provisioned by an admin"` + // kubelet's host machine and then exposed to the pod. Provisioned by an admin. + ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty"` } +// PersistentVolume (PV) is a storage resource provisioned by an administrator. +// It is analogous to a node. +// More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md type PersistentVolume struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines a persistent volume owned by the cluster - Spec PersistentVolumeSpec `json:"spec,omitempty" description:"specification of a persistent volume as provisioned by an administrator; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes"` + // Spec defines a specification of a persistent volume owned by the cluster. + // Provisioned by an administrator. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes + Spec PersistentVolumeSpec `json:"spec,omitempty"` - // Status represents the current information about persistent volume. - Status PersistentVolumeStatus `json:"status,omitempty" description:"current status of a persistent volume; populated by the system, read-only; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes"` + // Status represents the current information/status for the persistent volume. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes + Status PersistentVolumeStatus `json:"status,omitempty"` } +// PersistentVolumeSpec is the specification of a persistent volume. type PersistentVolumeSpec struct { - // Resources represents the actual resources of the volume - Capacity ResourceList `json:"capacity,omitempty" description:"a description of the persistent volume's resources and capacityr; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity"` - // Source represents the location and type of a volume to mount. - PersistentVolumeSource `json:",inline" description:"the actual volume backing the persistent volume"` - // AccessModes contains all ways the volume can be mounted - AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" description:"all ways the volume can be mounted; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes"` + // A description of the persistent volume's resources and capacity. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity + Capacity ResourceList `json:"capacity,omitempty"` + // The actual volume backing the persistent volume. + PersistentVolumeSource `json:",inline"` + // AccessModes contains all ways the volume can be mounted. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes + AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty"` // ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. - // ClaimRef is expected to be non-nil when bound. + // Expected to be non-nil when bound. // claim.VolumeName is the authoritative bind between PV and PVC. - ClaimRef *ObjectReference `json:"claimRef,omitempty" description:"when bound, a reference to the bound claim; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#binding"` - // Optional: what happens to a persistent volume when released from its claim. - PersistentVolumeReclaimPolicy PersistentVolumeReclaimPolicy `json:"persistentVolumeReclaimPolicy,omitempty" description:"what happens to a volume when released from its claim; Valid options are Retain (default) and Recycle. Recyling must be supported by the volume plugin underlying this persistent volume. See http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#recycling-policy"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#binding + ClaimRef *ObjectReference `json:"claimRef,omitempty"` + // What happens to a persistent volume when released from its claim. + // Valid options are Retain (default) and Recycle. + // Recyling must be supported by the volume plugin underlying this persistent volume. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#recycling-policy + PersistentVolumeReclaimPolicy PersistentVolumeReclaimPolicy `json:"persistentVolumeReclaimPolicy,omitempty"` } -// PersistentVolumeReclaimPolicy describes a policy for end-of-life maintenance of persistent volumes +// PersistentVolumeReclaimPolicy describes a policy for end-of-life maintenance of persistent volumes. type PersistentVolumeReclaimPolicy string const ( // PersistentVolumeReclaimRecycle means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. // The volume plugin must support Recycling. PersistentVolumeReclaimRecycle PersistentVolumeReclaimPolicy = "Recycle" + // PersistentVolumeReclaimDelete means the volume will be deleted from Kubernetes on release from its claim. // The volume plugin must support Deletion. // TODO: implement w/ DeletableVolumePlugin // PersistentVolumeReclaimDelete PersistentVolumeReclaimPolicy = "Delete" + // PersistentVolumeReclaimRetain means the volume will left in its current phase (Released) for manual reclamation by the administrator. // The default policy is Retain. PersistentVolumeReclaimRetain PersistentVolumeReclaimPolicy = "Retain" ) +// PersistentVolumeStatus is the current status of a persistent volume. type PersistentVolumeStatus struct { - // Phase indicates if a volume is available, bound to a claim, or released by a claim - Phase PersistentVolumePhase `json:"phase,omitempty" description:"the current phase of a persistent volume; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#phase"` + // Phase indicates if a volume is available, bound to a claim, or released by a claim. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#phase + Phase PersistentVolumePhase `json:"phase,omitempty"` // A human-readable message indicating details about why the volume is in this state. - Message string `json:"message,omitempty" description:"human-readable message indicating details about why the volume is in this state"` - // Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI - Reason string `json:"reason,omitempty" description:"(brief) reason the volume is not is not available"` + Message string `json:"message,omitempty"` + // Reason is a brief CamelCase string that describes any failure and is meant + // for machine parsing and tidy display in the CLI. + Reason string `json:"reason,omitempty"` } +// PersistentVolumeList is a list of PersistentVolume items. type PersistentVolumeList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"` - Items []PersistentVolume `json:"items,omitempty" description:"list of persistent volumes; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` + // List of persistent volumes. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md + Items []PersistentVolume `json:"items,omitempty"` } // PersistentVolumeClaim is a user's request for and claim to a persistent volume type PersistentVolumeClaim struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the volume requested by a pod author - Spec PersistentVolumeClaimSpec `json:"spec,omitempty" description:"the desired characteristics of a volume; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims"` + // Spec defines the desired characteristics of a volume requested by a pod author. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims + Spec PersistentVolumeClaimSpec `json:"spec,omitempty"` - // Status represents the current information about a claim - Status PersistentVolumeClaimStatus `json:"status,omitempty" description:"the current status of a persistent volume claim; read-only; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims"` + // Status represents the current information/status of a persistent volume claim. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims + Status PersistentVolumeClaimStatus `json:"status,omitempty"` } +// PersistentVolumeClaimList is a list of PersistentVolumeClaim items. type PersistentVolumeClaimList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"` - Items []PersistentVolumeClaim `json:"items,omitempty" description:"a list of persistent volume claims; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` + // A list of persistent volume claims. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims + Items []PersistentVolumeClaim `json:"items,omitempty"` } // PersistentVolumeClaimSpec describes the common attributes of storage devices // and allows a Source for provider-specific attributes type PersistentVolumeClaimSpec struct { - // Contains the types of access modes required - AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" description:"the desired access modes the volume should have; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1"` - // Resources represents the minimum resources required - Resources ResourceRequirements `json:"resources,omitempty" description:"the desired resources the volume should have; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources"` - // VolumeName is the binding reference to the PersistentVolume backing this claim - VolumeName string `json:"volumeName,omitempty" description:"the binding reference to the persistent volume backing this claim"` + // AccessModes contains the desired access modes the volume should have. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1 + AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty"` + // Resources represents the minimum resources the volume should have. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources + Resources ResourceRequirements `json:"resources,omitempty"` + // VolumeName is the binding reference to the PersistentVolume backing this claim. + VolumeName string `json:"volumeName,omitempty"` } +// PersistentVolumeClaimStatus is the current status of a persistent volume claim. type PersistentVolumeClaimStatus struct { - // Phase represents the current phase of PersistentVolumeClaim - Phase PersistentVolumeClaimPhase `json:"phase,omitempty" description:"the current phase of the claim"` - // AccessModes contains all ways the volume backing the PVC can be mounted - AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" description:"the actual access modes the volume has; see http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1"` - // Represents the actual resources of the underlying volume - Capacity ResourceList `json:"capacity,omitempty" description:"the actual resources the volume has"` + // Phase represents the current phase of PersistentVolumeClaim. + Phase PersistentVolumeClaimPhase `json:"phase,omitempty"` + // AccessModes contains the actual access modes the volume backing the PVC has. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1 + AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty"` + // Represents the actual resources of the underlying volume. + Capacity ResourceList `json:"capacity,omitempty"` } type PersistentVolumeAccessMode string @@ -375,26 +500,34 @@ const ( // HostPathVolumeSource represents bare host directory volume. type HostPathVolumeSource struct { - Path string `json:"path" description:"path of the directory on the host; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath"` + // Path of the directory on the host. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath + Path string `json:"path"` } +// EmptyDirVolumeSource is temporary directory that shares a pod's lifetime. type EmptyDirVolumeSource struct { - // Optional: what type of storage medium should back this directory. + // What type of storage medium should back this directory. // The default is "" which means to use the node's default medium. - Medium StorageMedium `json:"medium,omitempty" description:"type of storage used to back the volume; must be an empty string (default) or Memory; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir"` + // Must be an empty string (default) or Memory. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir + Medium StorageMedium `json:"medium,omitempty"` } -// GlusterfsVolumeSource represents a Glusterfs Mount that lasts the lifetime of a pod +// GlusterfsVolumeSource represents a Glusterfs Mount that lasts the lifetime of a pod. type GlusterfsVolumeSource struct { - // Required: EndpointsName is the endpoint name that details Glusterfs topology - EndpointsName string `json:"endpoints" description:"gluster hosts endpoints name; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"` + // EndpointsName is the endpoint name that details Glusterfs topology. + // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod + EndpointsName string `json:"endpoints"` - // Required: Path is the Glusterfs volume path - Path string `json:"path" description:"path to gluster volume; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"` + // Path is the Glusterfs volume path. + // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod + Path string `json:"path"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the Glusterfs volume to be mounted with read-only permissions - ReadOnly bool `json:"readOnly,omitempty" description:"glusterfs volume to be mounted with read-only permissions; see http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod"` + // ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. + // Defaults to false. + // More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod + ReadOnly bool `json:"readOnly,omitempty"` } // StorageMedium defines ways that storage can be allocated to a volume. @@ -402,26 +535,39 @@ type StorageMedium string // RBDVolumeSource represents a Rados Block Device Mount that lasts the lifetime of a pod type RBDVolumeSource struct { - // Required: CephMonitors is a collection of Ceph monitors - CephMonitors []string `json:"monitors" description:"a collection of Ceph monitors; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Required: RBDImage is the rados image name - RBDImage string `json:"image" description:"rados image name; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" + // A collection of Ceph monitors. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it + CephMonitors []string `json:"monitors"` + // The rados image name. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it + RBDImage string `json:"image"` + // Filesystem type of the volume that you want to mount. + // Tip: Ensure that the filesystem type is supported by the host operating system. + // Examples: "ext4", "xfs", "ntfs". + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#rbd // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType,omitempty" description:"file system type to mount, such as ext4, xfs, ntfs; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Optional: RadosPool is the rados pool name,default is rbd - RBDPool string `json:"pool" description:"rados pool name; default is rbd; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Optional: RBDUser is the rados user name, default is admin - RadosUser string `json:"user" description:"rados user name; default is admin; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Optional: Keyring is the path to key ring for RBDUser, default is /etc/ceph/keyring - Keyring string `json:"keyring" description:"keyring is the path to key ring for rados user; default is /etc/ceph/keyring; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Optional: SecretRef is name of the authentication secret for RBDUser, default is empty. - SecretRef *LocalObjectReference `json:"secretRef" description:"name of a secret to authenticate the RBD user; if provided overrides keyring; optional; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"rbd volume to be mounted with read-only permissions; see http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it"` + FSType string `json:"fsType,omitempty"` + // The rados pool name. + // Default is rbd. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it. + RBDPool string `json:"pool"` + // The rados user name. + // Default is admin. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it + RadosUser string `json:"user"` + // Keyring is the path to key ring for RBDUser. + // Default is /etc/ceph/keyring. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it + Keyring string `json:"keyring"` + // SecretRef is name of the authentication secret for RBDUser. If provided + // overrides keyring. + // Default is empty. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it + SecretRef *LocalObjectReference `json:"secretRef"` + // ReadOnly here will force the ReadOnly setting in VolumeMounts. + // Defaults to false. + // More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it + ReadOnly bool `json:"readOnly,omitempty"` } const ( @@ -445,159 +591,185 @@ const ( // The disk must also be in the same GCE project and zone as the kubelet. // A GCE PD can only be mounted as read/write once. type GCEPersistentDiskVolumeSource struct { - // Unique name of the PD resource. Used to identify the disk in GCE - PDName string `json:"pdName" description:"unique name of the PD resource in GCE; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" + // Unique name of the PD resource in GCE. Used to identify the disk in GCE. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk + PDName string `json:"pdName"` + // Filesystem type of the volume that you want to mount. + // Tip: Ensure that the filesystem type is supported by the host operating system. + // Examples: "ext4", "xfs", "ntfs". + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType" description:"file system type to mount, such as ext4, xfs, ntfs; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk"` - // Optional: Partition on the disk to mount. - // If omitted, kubelet will attempt to mount the device name. - // Ex. For /dev/sda1, this field is "1", for /dev/sda, this field is 0 or empty. - Partition int `json:"partition,omitempty" description:"partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"read-only if true, read-write otherwise (false or unspecified); see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk"` + FSType string `json:"fsType"` + // The partition in the volume that you want to mount. + // If omitted, the default is to mount by volume name. + // Examples: For volume /dev/sda1, you specify the partition as "1". + // Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk + Partition int `json:"partition,omitempty"` + // ReadOnly here will force the ReadOnly setting in VolumeMounts. + // Defaults to false. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk + ReadOnly bool `json:"readOnly,omitempty"` } -// AWSElasticBlockStoreVolumeSource represents a Persistent Disk resource in AWS. +// Represents a persistent disk resource in AWS. // -// An AWS PD must exist and be formatted before mounting to a container. -// The disk must also be in the same AWS zone as the kubelet. -// A AWS PD can only be mounted on a single machine. +// An Amazon Elastic Block Store (EBS) must already be created, formatted, +// and reside in the same AWS zone as the kubelet before it can be mounted. +// Note: Amazon EBS volumes can be mounted to only one instance at a time. type AWSElasticBlockStoreVolumeSource struct { - // Unique id of the PD resource. Used to identify the disk in AWS - VolumeID string `json:"volumeID" description:"unique id of the PD resource in AWS; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" + // Unique ID of the persistent disk resource in AWS (Amazon EBS volume). + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore + VolumeID string `json:"volumeID"` + // Filesystem type of the volume that you want to mount. + // Tip: Ensure that the filesystem type is supported by the host operating system. + // Examples: "ext4", "xfs", "ntfs". + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType" description:"file system type to mount, such as ext4, xfs, ntfs; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore"` - // Optional: Partition on the disk to mount. - // If omitted, kubelet will attempt to mount the device name. - // Ex. For /dev/sda1, this field is "1", for /dev/sda, this field 0 or empty. - Partition int `json:"partition,omitempty" description:"partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"read-only if true, read-write otherwise (false or unspecified); see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore"` + FSType string `json:"fsType"` + // The partition in the volume that you want to mount. + // If omitted, the default is to mount by volume name. + // Examples: For volume /dev/sda1, you specify the partition as "1". + // Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + Partition int `json:"partition,omitempty"` + // Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". + // If omitted, the default is "false". + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore + ReadOnly bool `json:"readOnly,omitempty"` } // GitRepoVolumeSource represents a volume that is pulled from git when the pod is created. type GitRepoVolumeSource struct { // Repository URL - Repository string `json:"repository" description:"repository URL"` - // Commit hash, this is optional - Revision string `json:"revision" description:"commit hash for the specified revision"` + Repository string `json:"repository"` + // Commit hash for the specified revision. + Revision string `json:"revision"` } -// SecretVolumeSource adapts a Secret into a VolumeSource -// -// http://releases.k8s.io/HEAD/docs/design//secrets.md +// SecretVolumeSource adapts a Secret into a VolumeSource. +// More info: http://releases.k8s.io/HEAD/docs/design/secrets.md type SecretVolumeSource struct { - // Name of the secret in the pod's namespace to use - SecretName string `json:"secretName" description:"secretName is the name of a secret in the pod's namespace; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets"` + // SecretName is the name of a secret in the pod's namespace. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets + SecretName string `json:"secretName"` } // NFSVolumeSource represents an NFS mount that lasts the lifetime of a pod type NFSVolumeSource struct { - // Server is the hostname or IP address of the NFS server - Server string `json:"server" description:"the hostname or IP address of the NFS server; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs"` + // Server is the hostname or IP address of the NFS server. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs + Server string `json:"server"` - // Path is the exported NFS share - Path string `json:"path" description:"the path that is exported by the NFS server; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs"` + // Path that is exported by the NFS server. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs + Path string `json:"path"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the NFS export to be mounted with read-only permissions - ReadOnly bool `json:"readOnly,omitempty" description:"forces the NFS export to be mounted with read-only permissions; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs"` + // ReadOnly here will force + // the NFS export to be mounted with read-only permissions. + // Defaults to false. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs + ReadOnly bool `json:"readOnly,omitempty"` } -// A ISCSI Disk can only be mounted as read/write once. +// ISCSIVolumeSource describes an ISCSI Disk can only be mounted as read/write once. type ISCSIVolumeSource struct { - // Required: iSCSI target portal - // the portal is either an IP or ip_addr:port if port is other than default (typically TCP ports 860 and 3260) - TargetPortal string `json:"targetPortal" description:"iSCSI target portal"` - // Required: target iSCSI Qualified Name - IQN string `json:"iqn" description:"iSCSI Qualified Name"` - // Required: iSCSI target lun number - Lun int `json:"lun" description:"iscsi target lun number"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" + // iSCSI target portal. The portal is either an IP or ip_addr:port if the port + // is other than default (typically TCP ports 860 and 3260). + TargetPortal string `json:"targetPortal"` + // Target iSCSI Qualified Name. + IQN string `json:"iqn"` + // iSCSI target lun number. + Lun int `json:"lun"` + // Filesystem type of the volume that you want to mount. + // Tip: Ensure that the filesystem type is supported by the host operating system. + // Examples: "ext4", "xfs", "ntfs". + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#iscsi // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType" description:"file system type to mount, such as ext4, xfs, ntfs"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"read-only if true, read-write otherwise (false or unspecified)"` + FSType string `json:"fsType"` + // ReadOnly here will force the ReadOnly setting in VolumeMounts. + // Defaults to false. + ReadOnly bool `json:"readOnly,omitempty"` } // ContainerPort represents a network port in a single container. type ContainerPort struct { - // Optional: If specified, this must be an IANA_SVC_NAME Each named port - // in a pod must have a unique name. - Name string `json:"name,omitempty" description:"name for the port that can be referred to by services; must be an IANA_SVC_NAME and unique within the pod"` - // Optional: If specified, this must be a valid port number, 0 < x < 65536. + // If specified, this must be an IANA_SVC_NAME and unique within the pod. Each + // named port in a pod must have a unique name. Name for the port that can be + // referred to by services. + Name string `json:"name,omitempty"` + // Number of port to expose on the host. + // If specified, this must be a valid port number, 0 < x < 65536. // If HostNetwork is specified, this must match ContainerPort. - HostPort int `json:"hostPort,omitempty" description:"number of port to expose on the host; most containers do not need this"` - // Required: This must be a valid port number, 0 < x < 65536. - ContainerPort int `json:"containerPort" description:"number of port to expose on the pod's IP address"` - // Optional: Defaults to "TCP". - Protocol Protocol `json:"protocol,omitempty" description:"protocol for port; must be UDP or TCP; TCP if unspecified"` - // Optional: What host IP to bind the external port to. - HostIP string `json:"hostIP,omitempty" description:"host IP to bind the port to"` + // Most containers do not need this. + HostPort int `json:"hostPort,omitempty"` + // Number of port to expose on the pod's IP address. + // This must be a valid port number, 0 < x < 65536. + ContainerPort int `json:"containerPort"` + // Protocol for port. Must be UDP or TCP. + // Defaults to "TCP". + Protocol Protocol `json:"protocol,omitempty"` + // What host IP to bind the external port to. + HostIP string `json:"hostIP,omitempty"` } // VolumeMount describes a mounting of a Volume within a container. type VolumeMount struct { - // Required: This must match the Name of a Volume [above]. - Name string `json:"name" description:"name of the volume to mount"` - // Optional: Defaults to false (read-write). - ReadOnly bool `json:"readOnly,omitempty" description:"mounted read-only if true, read-write otherwise (false or unspecified)"` - // Required. - MountPath string `json:"mountPath" description:"path within the container at which the volume should be mounted"` + // This must match the Name of a Volume. + Name string `json:"name"` + // Mounted read-only if true, read-write otherwise (false or unspecified). + // Defaults to false. + ReadOnly bool `json:"readOnly,omitempty"` + // Path within the container at which the volume should be mounted. + MountPath string `json:"mountPath"` } // EnvVar represents an environment variable present in a Container. type EnvVar struct { - // Required: This must be a C_IDENTIFIER. - Name string `json:"name" description:"name of the environment variable; must be a C_IDENTIFIER"` + // Name of the environment variable. Must be a C_IDENTIFIER. + Name string `json:"name"` + // Optional: no more than one of the following may be specified. - // Optional: Defaults to ""; variable references $(VAR_NAME) are expanded + + // Variable references $(VAR_NAME) are expanded // using the previous defined environment variables in the container and - // any service environment variables. If a variable cannot be resolved, - // the reference in the input string will be unchanged. The $(VAR_NAME) - // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + // any service environment variables. If a variable cannot be resolved, + // the reference in the input string will be unchanged. The $(VAR_NAME) + // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped // references will never be expanded, regardless of whether the variable // exists or not. - Value string `json:"value,omitempty" description:"value of the environment variable; defaults to empty string; variable references $(VAR_NAME) are expanded using the previously defined environment varibles in the container and any service environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not"` - // Optional: Specifies a source the value of this var should come from. - ValueFrom *EnvVarSource `json:"valueFrom,omitempty" description:"source for the environment variable's value; cannot be used if value is not empty"` + // Defaults to "". + Value string `json:"value,omitempty"` + // Source for the environment variable's value. Cannot be used if value is not empty. + ValueFrom *EnvVarSource `json:"valueFrom,omitempty"` } // EnvVarSource represents a source for the value of an EnvVar. type EnvVarSource struct { - // Required: Selects a field of the pod; only name and namespace are supported. - FieldRef *ObjectFieldSelector `json:"fieldRef" description:"selects a field of the pod; only name and namespace are supported"` + // Selects a field of the pod. Only name and namespace are supported. + FieldRef *ObjectFieldSelector `json:"fieldRef"` } // ObjectFieldSelector selects an APIVersioned field of an object. type ObjectFieldSelector struct { - // Optional: Version of the schema the FieldPath is written in terms of, defaults to "v1" - APIVersion string `json:"apiVersion,omitempty" description:"version of the schema that fieldPath is written in terms of; defaults to v1"` - // Required: Path of the field to select in the specified API version - FieldPath string `json:"fieldPath" description:"path of the field to select in the specified API version"` + // Version of the schema the FieldPath is written in terms of, defaults to "v1". + APIVersion string `json:"apiVersion,omitempty"` + // Path of the field to select in the specified API version. + FieldPath string `json:"fieldPath"` } // HTTPGetAction describes an action based on HTTP Get requests. type HTTPGetAction struct { - // Optional: Path to access on the HTTP server. - Path string `json:"path,omitempty" description:"path to access on the HTTP server"` - // Required: Name or number of the port to access on the container. - Port util.IntOrString `json:"port" description:"number or name of the port to access on the container; number must be in the range 1 to 65535; name must be an IANA_SVC_NAME"` - // Optional: Host name to connect to, defaults to the pod IP. - Host string `json:"host,omitempty" description:"hostname to connect to; defaults to pod IP"` - // Optional: Scheme to use for connecting to the host, defaults to HTTP. - Scheme URIScheme `json:"scheme,omitempty" description:"scheme to connect with, must be HTTP or HTTPS, defaults to HTTP"` + // Path to access on the HTTP server. + Path string `json:"path,omitempty"` + // Name or number of the port to access on the container. + // Number must be in the range 1 to 65535. + // Name must be an IANA_SVC_NAME. + Port util.IntOrString `json:"port"` + // Host name to connect to, defaults to the pod IP. + Host string `json:"host,omitempty"` + // Scheme to use for connecting to the host. + // Defaults to HTTP. + Scheme URIScheme `json:"scheme,omitempty"` } // URIScheme identifies the scheme used for connection to a host for Get actions @@ -612,36 +784,42 @@ const ( // TCPSocketAction describes an action based on opening a socket type TCPSocketAction struct { - // Required: Port to connect to. - Port util.IntOrString `json:"port" description:"number or name of the port to access on the container; number must be in the range 1 to 65535; name must be an IANA_SVC_NAME"` + // Number or name of the port to access on the container. + // Number must be in the range 1 to 65535. + // Name must be an IANA_SVC_NAME. + Port util.IntOrString `json:"port"` } // ExecAction describes a "run in container" action. type ExecAction struct { // Command is the command line to execute inside the container, the working directory for the - // command is root ('/') in the container's filesystem. The command is simply exec'd, it is - // not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + // command is root ('/') in the container's filesystem. The command is simply exec'd, it is + // not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use // a shell, you need to explicitly call out to that shell. - Command []string `json:"command,omitempty" description:"command line to execute inside the container; working directory for the command is root ('/') in the container's file system; the command is exec'd, not run inside a shell; exit status of 0 is treated as live/healthy and non-zero is unhealthy"` + // Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + Command []string `json:"command,omitempty"` } // Probe describes a liveness probe to be examined to the container. type Probe struct { // The action taken to determine the health of a container Handler `json:",inline"` - // Length of time before health checking is activated. In seconds. - InitialDelaySeconds int64 `json:"initialDelaySeconds,omitempty" description:"number of seconds after the container has started before liveness probes are initiated; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes"` - // Length of time before health checking times out. In seconds. - TimeoutSeconds int64 `json:"timeoutSeconds,omitempty" description:"number of seconds after which liveness probes timeout; defaults to 1 second; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes"` + // Number of seconds after the container has started before liveness probes are initiated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes + InitialDelaySeconds int64 `json:"initialDelaySeconds,omitempty"` + // Number of seconds after which liveness probes timeout. + // Defaults to 1 second. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes + TimeoutSeconds int64 `json:"timeoutSeconds,omitempty"` } // PullPolicy describes a policy for if/when to pull a container image type PullPolicy string const ( - // PullAlways means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. + // PullAlways means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. PullAlways PullPolicy = "Always" - // PullNever means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present + // PullNever means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present PullNever PullPolicy = "Never" // PullIfNotPresent means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. PullIfNotPresent PullPolicy = "IfNotPresent" @@ -650,22 +828,24 @@ const ( // Capability represent POSIX capabilities type type Capability string -// Capabilities represent POSIX capabilities that can be added or removed to a running container. +// Adds and removes POSIX capabilities from running containers. type Capabilities struct { // Added capabilities - Add []Capability `json:"add,omitempty" description:"added capabilities"` + Add []Capability `json:"add,omitempty"` // Removed capabilities - Drop []Capability `json:"drop,omitempty" description:"droped capabilities"` + Drop []Capability `json:"drop,omitempty"` } // ResourceRequirements describes the compute resource requirements. type ResourceRequirements struct { // Limits describes the maximum amount of compute resources allowed. - Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed; see http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications"` + // More info: http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications + Limits ResourceList `json:"limits,omitempty"` // Requests describes the minimum amount of compute resources required. // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, // otherwise to an implementation-defined value. - Requests ResourceList `json:"requests,omitempty" description:"Minimum amount of resources requested; if Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value; see http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications"` + // More info: http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications + Requests ResourceList `json:"requests,omitempty"` } const ( @@ -673,45 +853,89 @@ const ( TerminationMessagePathDefault string = "/dev/termination-log" ) -// Container represents a single container that is expected to be run on the host. +// A single application container that you want to run within a pod. type Container struct { - // Required: This must be a DNS_LABEL. Each container in a pod must - // have a unique name. - Name string `json:"name" description:"name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated"` - // Optional. - Image string `json:"image,omitempty" description:"Docker image name; see http://releases.k8s.io/HEAD/docs/user-guide/images.md"` - // Optional: The docker image's entrypoint is used if this is not provided; cannot be updated. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, + // Name of the container specified as a DNS_LABEL. + // Each container in a pod must have a unique name (DNS_LABEL). + // Cannot be updated. + Name string `json:"name"` + // Docker image name. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md + Image string `json:"image,omitempty"` + // Entrypoint array. Not executed within a shell. + // The docker image's entrypoint is used if this is not provided. + // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax + // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, // regardless of whether the variable exists or not. - Command []string `json:"command,omitempty" description:"entrypoint array; not executed within a shell; the docker image's entrypoint is used if this is not provided; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not; see http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands"` - // Optional: The docker image's cmd is used if this is not provided; cannot be updated. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands + Command []string `json:"command,omitempty"` + // Arguments to the entrypoint. + // The docker image's cmd is used if this is not provided. + // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax + // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, // regardless of whether the variable exists or not. - Args []string `json:"args,omitempty" description:"command array; the docker image's cmd is used if this is not provided; arguments to the entrypoint; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not; see http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands"` - // Optional: Defaults to Docker's default. - WorkingDir string `json:"workingDir,omitempty" description:"container's working directory; defaults to image's default; cannot be updated"` - Ports []ContainerPort `json:"ports,omitempty" description:"list of ports to expose from the container; cannot be updated" patchStrategy:"merge" patchMergeKey:"containerPort"` - Env []EnvVar `json:"env,omitempty" description:"list of environment variables to set in the container; cannot be updated" patchStrategy:"merge" patchMergeKey:"name"` - Resources ResourceRequirements `json:"resources,omitempty" description:"Compute Resources required by this container; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md"` - VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" description:"pod volumes to mount into the container's filesyste; cannot be updated" patchStrategy:"merge" patchMergeKey:"name"` - LivenessProbe *Probe `json:"livenessProbe,omitempty" description:"periodic probe of container liveness; container will be restarted if the probe fails; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes"` - ReadinessProbe *Probe `json:"readinessProbe,omitempty" description:"periodic probe of container service readiness; container will be removed from service endpoints if the probe fails; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes"` - Lifecycle *Lifecycle `json:"lifecycle,omitempty" description:"actions that the management system should take in response to container lifecycle events; cannot be updated"` - // Optional: Defaults to /dev/termination-log - TerminationMessagePath string `json:"terminationMessagePath,omitempty" description:"path at which the file to which the container's termination message will be written is mounted into the container's filesystem; message written is intended to be brief final status, such as an assertion failure message; defaults to /dev/termination-log; cannot be updated"` - // Optional: Policy for pulling images for this container - ImagePullPolicy PullPolicy `json:"imagePullPolicy,omitempty" description:"image pull policy; one of Always, Never, IfNotPresent; defaults to Always if :latest tag is specified, or IfNotPresent otherwise; cannot be updated; see http://releases.k8s.io/HEAD/docs/user-guide/images.md#updating-images"` - // Optional: SecurityContext defines the security options the pod should be run with - SecurityContext *SecurityContext `json:"securityContext,omitempty" description:"security options the pod should run with; see http://releases.k8s.io/HEAD/docs/design/security_context.md"` + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands + Args []string `json:"args,omitempty"` + // Container's working directory. + // Defaults to Docker's default. D + // efaults to image's default. + // Cannot be updated. + WorkingDir string `json:"workingDir,omitempty"` + // List of ports to expose from the container. + // Cannot be updated. + Ports []ContainerPort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"containerPort"` + // List of environment variables to set in the container. + // Cannot be updated. + Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name"` + // Compute Resources required by this container. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources + Resources ResourceRequirements `json:"resources,omitempty"` + // Pod volumes to mount into the container's filesyste. + // Cannot be updated. + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"name"` + // Periodic probe of container liveness. + // Container will be restarted if the probe fails. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes + LivenessProbe *Probe `json:"livenessProbe,omitempty"` + // Periodic probe of container service readiness. + // Container will be removed from service endpoints if the probe fails. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes + ReadinessProbe *Probe `json:"readinessProbe,omitempty"` + // Actions that the management system should take in response to container lifecycle events. + // Cannot be updated. + Lifecycle *Lifecycle `json:"lifecycle,omitempty"` + // Optional: Path at which the file to which the container's termination message + // will be written is mounted into the container's filesystem. + // Message written is intended to be brief final status, such as an assertion failure message. + // Defaults to /dev/termination-log. + // Cannot be updated. + TerminationMessagePath string `json:"terminationMessagePath,omitempty"` + // Image pull policy. + // One of Always, Never, IfNotPresent. + // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md#updating-images + ImagePullPolicy PullPolicy `json:"imagePullPolicy,omitempty"` + // Security options the pod should run with. + // More info: http://releases.k8s.io/HEAD/docs/design/security_context.md + SecurityContext *SecurityContext `json:"securityContext,omitempty"` // Variables for interactive containers, these have very specialized use-cases (e.g. debugging) // and shouldn't be used for general purpose containers. - Stdin bool `json:"stdin,omitempty" description:"Whether this container should allocate a buffer for stdin in the container runtime; default is false"` - TTY bool `json:"tty,omitempty" description:"Whether this container should allocate a TTY for itself, also requires 'stdin' to be true; default is false"` + + // Whether this container should allocate a buffer for stdin in the container runtime. + // Default is false. + Stdin bool `json:"stdin,omitempty"` + // Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + // Default is false. + TTY bool `json:"tty,omitempty"` } // Handler defines a specific action that should be taken @@ -719,30 +943,37 @@ type Container struct { type Handler struct { // One and only one of the following should be specified. // Exec specifies the action to take. - Exec *ExecAction `json:"exec,omitempty" description:"exec-based handler"` + Exec *ExecAction `json:"exec,omitempty"` // HTTPGet specifies the http request to perform. - HTTPGet *HTTPGetAction `json:"httpGet,omitempty" description:"HTTP-based handler"` + HTTPGet *HTTPGetAction `json:"httpGet,omitempty"` // TCPSocket specifies an action involving a TCP port. + // TCP hooks not yet supported // TODO: implement a realistic TCP lifecycle hook - TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty" description:"TCP-based handler; TCP hooks not yet supported"` + TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"` } // Lifecycle describes actions that the management system should take in response to container lifecycle -// events. For the PostStart and PreStop lifecycle handlers, management of the container blocks +// events. For the PostStart and PreStop lifecycle handlers, management of the container blocks // until the action is complete, unless the container process fails, in which case the handler is aborted. type Lifecycle struct { - // PostStart is called immediately after a container is created. If the handler fails, the container - // is terminated and restarted. - PostStart *Handler `json:"postStart,omitempty" description:"called immediately after a container is started; if the handler fails, the container is terminated and restarted according to its restart policy; other management of the container blocks until the hook completes; see http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details"` - // PreStop is called immediately before a container is terminated. The reason for termination is - // passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. - PreStop *Handler `json:"preStop,omitempty" description:"called before a container is terminated; the container is terminated after the handler completes; other management of the container blocks until the hook completes; see http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details"` + // PostStart is called immediately after a container is created. If the handler fails, + // the container is terminated and restarted according to its restart policy. + // Other management of the container blocks until the hook completes. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details + PostStart *Handler `json:"postStart,omitempty"` + // PreStop is called immediately before a container is terminated. + // The container is terminated after the handler completes. + // The reason for termination is passed to the handler. + // Regardless of the outcome of the handler, the container is eventually terminated. + // Other management of the container blocks until the hook completes. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details + PreStop *Handler `json:"preStop,omitempty"` } type ConditionStatus string -// These are valid condition statuses. "ConditionTrue" means a resource is in the condition; -// "ConditionFalse" means a resource is not in the condition; "ConditionUnknown" means kubernetes +// These are valid condition statuses. "ConditionTrue" means a resource is in the condition. +// "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes // can't decide if a resource is in the condition or not. In the future, we could add other // intermediate conditions, e.g. ConditionDegraded. const ( @@ -751,50 +982,73 @@ const ( ConditionUnknown ConditionStatus = "Unknown" ) +// ContainerStateWaiting is a waiting state of a container. type ContainerStateWaiting struct { - // Reason could be pulling image, - Reason string `json:"reason,omitempty" description:"(brief) reason the container is not yet running, such as pulling its image"` + // (brief) reason the container is not yet running, such as pulling its image. + Reason string `json:"reason,omitempty"` } +// ContainerStateRunning is a running state of a container. type ContainerStateRunning struct { - StartedAt util.Time `json:"startedAt,omitempty" description:"time at which the container was last (re-)started"` + // Time at which the container was last (re-)started + StartedAt util.Time `json:"startedAt,omitempty"` } +// ContainerStateTerminated is a terminated state of a container. type ContainerStateTerminated struct { - ExitCode int `json:"exitCode" description:"exit status from the last termination of the container"` - Signal int `json:"signal,omitempty" description:"signal from the last termination of the container"` - Reason string `json:"reason,omitempty" description:"(brief) reason from the last termination of the container"` - Message string `json:"message,omitempty" description:"message regarding the last termination of the container"` - StartedAt util.Time `json:"startedAt,omitempty" description:"time at which previous execution of the container started"` - FinishedAt util.Time `json:"finishedAt,omitempty" description:"time at which the container last terminated"` - ContainerID string `json:"containerID,omitempty" description:"container's ID in the format 'docker://'"` + // Exit status from the last termination of the container + ExitCode int `json:"exitCode"` + // Signal from the last termination of the container + Signal int `json:"signal,omitempty"` + // (brief) reason from the last termination of the container + Reason string `json:"reason,omitempty"` + // Message regarding the last termination of the container + Message string `json:"message,omitempty"` + // Time at which previous execution of the container started + StartedAt util.Time `json:"startedAt,omitempty"` + // Time at which the container last terminated + FinishedAt util.Time `json:"finishedAt,omitempty"` + // Container's ID in the format 'docker://' + ContainerID string `json:"containerID,omitempty"` } // ContainerState holds a possible state of container. // Only one of its members may be specified. // If none of them is specified, the default one is ContainerStateWaiting. type ContainerState struct { - Waiting *ContainerStateWaiting `json:"waiting,omitempty" description:"details about a waiting container"` - Running *ContainerStateRunning `json:"running,omitempty" description:"details about a running container"` - Terminated *ContainerStateTerminated `json:"terminated,omitempty" description:"details about a terminated container"` + // Details about a waiting container + Waiting *ContainerStateWaiting `json:"waiting,omitempty"` + // Details about a running container + Running *ContainerStateRunning `json:"running,omitempty"` + // Details about a terminated container + Terminated *ContainerStateTerminated `json:"terminated,omitempty"` } +// ContainerStatus contains details for the current status of this container. type ContainerStatus struct { - // Required: This must be a DNS_LABEL. Each container in a pod must have a unique name. - Name string `json:"name" description:"name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated"` - // TODO(dchen1107): Should we rename PodStatus to a more generic name or have a separate states - // defined for container? - State ContainerState `json:"state,omitempty" description:"details about the container's current condition"` - LastTerminationState ContainerState `json:"lastState,omitempty" description:"details about the container's last termination condition"` - Ready bool `json:"ready" description:"specifies whether the container has passed its readiness probe"` - // Note that this is calculated from dead containers. But those containers are subject to - // garbage collection. This value will get capped at 5 by GC. - RestartCount int `json:"restartCount" description:"the number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed"` + // This must be a DNS_LABEL. Each container in a pod must have a unique name. + // Cannot be updated. + Name string `json:"name"` + // Details about the container's current condition. + State ContainerState `json:"state,omitempty"` + // Details about the container's last termination condition. + LastTerminationState ContainerState `json:"lastState,omitempty"` + // Specifies whether the container has passed its readiness probe. + Ready bool `json:"ready"` + // The number of times the container has been restarted, currently based on + // the number of dead containers that have not yet been removed. + // Note that this is calculated from dead containers. But those containers are subject to + // garbage collection. This value will get capped at 5 by GC. + RestartCount int `json:"restartCount"` + // The image the container is running. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md // TODO(dchen1107): Which image the container is running with? - // The image the container is running - Image string `json:"image" description:"image of the container; see http://releases.k8s.io/HEAD/docs/user-guide/images.md"` - ImageID string `json:"imageID" description:"ID of the container's image"` - ContainerID string `json:"containerID,omitempty" description:"container's ID in the format 'docker://'; see http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#container-information"` + Image string `json:"image"` + // ImageID of the container's image. + ImageID string `json:"imageID"` + // Container's ID in the format 'docker://'. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#container-information + ContainerID string `json:"containerID,omitempty"` } // PodPhase is a label for the condition of a pod at the current time. @@ -830,12 +1084,17 @@ const ( PodReady PodConditionType = "Ready" ) +// PodCondition contains details for the current condition of this pod. // TODO: add LastTransitionTime, Reason, Message to match NodeCondition api. type PodCondition struct { - // Type is the type of the condition - Type PodConditionType `json:"type" description:"kind of the condition, currently only Ready; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions"` - // Status is the status of the condition - Status ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions"` + // Type is the type of the condition. + // Currently only Ready. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions + Type PodConditionType `json:"type"` + // Status is the status of the condition. + // Can be True, False, Unknown. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions + Status ConditionStatus `json:"status"` } // RestartPolicy describes how the container should be restarted. @@ -866,219 +1125,305 @@ const ( DefaultTerminationGracePeriodSeconds = 30 ) -// PodSpec is a description of a pod +// PodSpec is a description of a pod. type PodSpec struct { - Volumes []Volume `json:"volumes,omitempty" description:"list of volumes that can be mounted by containers belonging to the pod; see http://releases.k8s.io/HEAD/docs/user-guide/volumes.md" patchStrategy:"merge" patchMergeKey:"name"` - // Required: there must be at least one container in a pod. - Containers []Container `json:"containers" description:"list of containers belonging to the pod; cannot be updated; containers cannot currently be added or removed; there must be at least one container in a Pod; see http://releases.k8s.io/HEAD/docs/user-guide/containers.md" patchStrategy:"merge" patchMergeKey:"name"` - RestartPolicy RestartPolicy `json:"restartPolicy,omitempty" description:"restart policy for all containers within the pod; one of Always, OnFailure, Never; defaults to Always; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#restartpolicy"` + // List of volumes that can be mounted by containers belonging to the pod. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md + Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name"` + // List of containers belonging to the pod. + // Containers cannot currently be added or removed. + // There must be at least one container in a Pod. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md + Containers []Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name"` + // Restart policy for all containers within the pod. + // One of Always, OnFailure, Never. + // Default to Always. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#restartpolicy + RestartPolicy RestartPolicy `json:"restartPolicy,omitempty"` // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. // Value must be non-negative integer. The value zero indicates delete immediately. // If this value is nil, the default grace period will be used instead. // The grace period is the duration in seconds after the processes running in the pod are sent // a termination signal and the time when the processes are forcibly halted with a kill signal. // Set this value longer than the expected cleanup time for your process. - TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" description:"optional duration in seconds the pod needs to terminate gracefully; may be decreased in delete request; value must be non-negative integer; the value zero indicates delete immediately; if this value is not set, the default grace period will be used instead; the grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal; set this value longer than the expected cleanup time for your process; defaults to 30 seconds"` - ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" description:"optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers; value must be a positive integer"` - // Optional: Set DNS policy. Defaults to "ClusterFirst" - DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty" description:"DNS policy for containers within the pod; one of 'ClusterFirst' or 'Default'"` - // NodeSelector is a selector which must be true for the pod to fit on a node - NodeSelector map[string]string `json:"nodeSelector,omitempty" description:"selector which must match a node's labels for the pod to be scheduled on that node; see http://releases.k8s.io/HEAD/docs/user-guide/node-selection/README.md"` + // Defaults to 30 seconds. + TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` + // Optional duration in seconds the pod may be active on the node relative to + // StartTime before the system will actively try to mark it failed and kill associated containers. + // Value must be a positive integer. + ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"` + // Set DNS policy for containers within the pod. + // One of 'ClusterFirst' or 'Default'. + // Defaults to "ClusterFirst". + DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty"` + // NodeSelector is a selector which must be true for the pod to fit on a node. + // Selector which must match a node's labels for the pod to be scheduled on that node. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/node-selection/README.md + NodeSelector map[string]string `json:"nodeSelector,omitempty"` - // ServiceAccountName is the name of the ServiceAccount to use to run this pod - ServiceAccountName string `json:"serviceAccountName,omitempty" description:"name of the ServiceAccount to use to run this pod; see http://releases.k8s.io/HEAD/docs/design/service_accounts.md"` + // ServiceAccountName is the name of the ServiceAccount to use to run this pod. + // More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md + ServiceAccountName string `json:"serviceAccountName,omitempty"` // DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. - DeprecatedServiceAccount string `json:"serviceAccount,omitempty" description:"deprecated; use serviceAccountName instead"` + // Deprecated: Use serviceAccountName instead. + DeprecatedServiceAccount string `json:"serviceAccount,omitempty"` - // NodeName is a request to schedule this pod onto a specific node. If it is non-empty, + // NodeName is a request to schedule this pod onto a specific node. If it is non-empty, // the scheduler simply schedules this pod onto that node, assuming that it fits resource // requirements. - NodeName string `json:"nodeName,omitempty" description:"node requested for this pod"` - // Uses the host's network namespace. If this option is set, the ports that will be - // used must be specified. - // Optional: Default to false. - HostNetwork bool `json:"hostNetwork,omitempty" description:"host networking requested for this pod"` + NodeName string `json:"nodeName,omitempty"` + // Host networking requested for this pod. Uses the host's network namespace. + // If this option is set, the ports that will be used must be specified. + // Default to false. + HostNetwork bool `json:"hostNetwork,omitempty"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. - // If specified, these secrets will be passed to individual puller implementations for them to use. For example, + // If specified, these secrets will be passed to individual puller implementations for them to use. For example, // in the case of docker, only DockerConfig type secrets are honored. - ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" description:"list of references to secrets in the same namespace available for pulling the container images; see http://releases.k8s.io/HEAD/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod" patchStrategy:"merge" patchMergeKey:"name"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod + ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name"` } // PodStatus represents information about the status of a pod. Status may trail the actual // state of a system. type PodStatus struct { - Phase PodPhase `json:"phase,omitempty" description:"current condition of the pod; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-phase"` - Conditions []PodCondition `json:"conditions,omitempty" description:"current service state of pod; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions" patchStrategy:"merge" patchMergeKey:"type"` - // A human readable message indicating details about why the pod is in this state. - Message string `json:"message,omitempty" description:"human readable message indicating details about why the pod is in this condition"` - // A brief CamelCase message indicating details about why the pod is in this state. e.g. 'OutOfDisk' - Reason string `json:"reason,omitempty" description:"(brief-CamelCase) reason indicating details about why the pod is in this condition"` + // Current condition of the pod. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-phase + Phase PodPhase `json:"phase,omitempty"` + // Current service state of pod. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions + Conditions []PodCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + // A human readable message indicating details about why the pod is in this condition. + Message string `json:"message,omitempty"` + // A brief CamelCase message indicating details about why the pod is in this state. + // e.g. 'OutOfDisk' + Reason string `json:"reason,omitempty"` - HostIP string `json:"hostIP,omitempty" description:"IP address of the host to which the pod is assigned; empty if not yet scheduled"` - PodIP string `json:"podIP,omitempty" description:"IP address allocated to the pod; routable at least within the cluster; empty if not yet allocated"` + // IP address of the host to which the pod is assigned. Empty if not yet scheduled. + HostIP string `json:"hostIP,omitempty"` + // IP address allocated to the pod. Routable at least within the cluster. + // Empty if not yet allocated. + PodIP string `json:"podIP,omitempty"` - StartTime *util.Time `json:"startTime,omitempty" description:"RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod."` + // RFC 3339 date and time at which the object was acknowledged by the Kubelet. + // This is before the Kubelet pulled the container image(s) for the pod. + StartTime *util.Time `json:"startTime,omitempty"` // The list has one entry per container in the manifest. Each entry is currently the output // of `docker inspect`. - ContainerStatuses []ContainerStatus `json:"containerStatuses,omitempty" description:"list of container statuses; see http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-statuses"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-statuses + ContainerStatuses []ContainerStatus `json:"containerStatuses,omitempty"` } // PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded type PodStatusResult struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` - // Status represents the current information about a pod. This data may not be up - // to date. - Status PodStatus `json:"status,omitempty" description:"most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` + // Most recently observed status of the pod. + // This data may not be up to date. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status PodStatus `json:"status,omitempty"` } // Pod is a collection of containers that can run on a host. This resource is created // by clients and scheduled onto hosts. type Pod struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the behavior of a pod. - Spec PodSpec `json:"spec,omitempty" description:"specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Specification of the desired behavior of the pod. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec PodSpec `json:"spec,omitempty"` - // Status represents the current information about a pod. This data may not be up - // to date. - Status PodStatus `json:"status,omitempty" description:"most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Most recently observed status of the pod. + // This data may not be up to date. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status PodStatus `json:"status,omitempty"` } // PodList is a list of Pods. type PodList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []Pod `json:"items" description:"list of pods; see http://releases.k8s.io/HEAD/docs/user-guide/pods.md"` + // List of pods. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/pods.md + Items []Pod `json:"items"` } // PodTemplateSpec describes the data a pod should have when created from a template type PodTemplateSpec struct { - // Metadata of the pods created from this template. - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the behavior of a pod. - Spec PodSpec `json:"spec,omitempty" description:"specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Specification of the desired behavior of the pod. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec PodSpec `json:"spec,omitempty"` } // PodTemplate describes a template for creating copies of a predefined pod. type PodTemplate struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Template defines the pods that will be created from this pod template - Template PodTemplateSpec `json:"template,omitempty" description:"the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Template defines the pods that will be created from this pod template. + // http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Template PodTemplateSpec `json:"template,omitempty"` } // PodTemplateList is a list of PodTemplates. type PodTemplateList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []PodTemplate `json:"items" description:"list of pod templates"` + // List of pod templates + Items []PodTemplate `json:"items"` } // ReplicationControllerSpec is the specification of a replication controller. type ReplicationControllerSpec struct { - // Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. - Replicas *int `json:"replicas,omitempty" description:"number of replicas desired; defaults to 1; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller"` + // Replicas is the number of desired replicas. + // This is a pointer to distinguish between explicit zero and unspecified. + // Defaults to 1. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller + Replicas *int `json:"replicas,omitempty"` // Selector is a label query over pods that should match the Replicas count. // If Selector is empty, it is defaulted to the labels present on the Pod template. - Selector map[string]string `json:"selector,omitempty" description:"label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors"` + // Label keys and values that must match in order to be controlled by this replication + // controller, if empty defaulted to labels on Pod template. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors + Selector map[string]string `json:"selector,omitempty"` // TemplateRef is a reference to an object that describes the pod that will be created if // insufficient replicas are detected. - //TemplateRef *ObjectReference `json:"templateRef,omitempty" description:"reference to an object that describes the pod that will be created if insufficient replicas are detected"` + // Reference to an object that describes the pod that will be created if insufficient replicas are detected. + // TemplateRef *ObjectReference `json:"templateRef,omitempty"` // Template is the object that describes the pod that will be created if - // insufficient replicas are detected. This takes precedence over a - // TemplateRef. - Template *PodTemplateSpec `json:"template,omitempty" description:"object that describes the pod that will be created if insufficient replicas are detected; takes precendence over templateRef; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template"` + // insufficient replicas are detected. This takes precedence over a TemplateRef. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template + Template *PodTemplateSpec `json:"template,omitempty"` } // ReplicationControllerStatus represents the current status of a replication // controller. type ReplicationControllerStatus struct { - // Replicas is the number of actual replicas. - Replicas int `json:"replicas" description:"most recently oberved number of replicas; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller"` + // Replicas is the most recently oberved number of replicas. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller + Replicas int `json:"replicas"` - // ObservedGeneration is the most recent generation observed by the controller. - ObservedGeneration int64 `json:"observedGeneration,omitempty" description:"reflects the generation of the most recently observed replication controller"` + // ObservedGeneration reflects the generation of the most recently observed replication controller. + ObservedGeneration int64 `json:"observedGeneration,omitempty"` } // ReplicationController represents the configuration of a replication controller. type ReplicationController struct { TypeMeta `json:",inline"` - // If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // If the Labels of a ReplicationController are empty, they are defaulted to + // be the same as the Pod(s) that the replication controller manages. + // Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the desired behavior of this replication controller. - Spec ReplicationControllerSpec `json:"spec,omitempty" description:"specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Spec defines the specification of the desired behavior of the replication controller. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec ReplicationControllerSpec `json:"spec,omitempty"` - // Status is the current status of this replication controller. This data may be - // out of date by some window of time. - Status ReplicationControllerStatus `json:"status,omitempty" description:"most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Status is the most recently observed status of the replication controller. + // This data may be out of date by some window of time. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status ReplicationControllerStatus `json:"status,omitempty"` } // ReplicationControllerList is a collection of replication controllers. type ReplicationControllerList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []ReplicationController `json:"items" description:"list of replication controllers; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md"` + // List of replication controllers. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md + Items []ReplicationController `json:"items"` } // DaemonSpec is the specification of a daemon. type DaemonSpec struct { // Selector is a label query over pods that are managed by the daemon. - Selector map[string]string `json:"selector,omitempty" description:"label keys and values that must match in order to be controlled by this daemon, if empty defaulted to labels on Pod template; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors"` + // Must match in order to be controlled. + // If empty, defaulted to labels on Pod template. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors + Selector map[string]string `json:"selector,omitempty"` // Template is the object that describes the pod that will be created. // The Daemon will create exactly one copy of this pod on every node // that matches the template's node selector (or on every node if no node // selector is specified). - Template *PodTemplateSpec `json:"template,omitempty" description:"object that describes the pod that will be created by this daemon; see http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template + Template *PodTemplateSpec `json:"template,omitempty"` } // DaemonStatus represents the current status of a daemon. type DaemonStatus struct { // CurrentNumberScheduled is the number of nodes that are running exactly 1 copy of the // daemon and are supposed to run the daemon. - CurrentNumberScheduled int `json:"currentNumberScheduled" description:"number of nodes that are running exactly 1 copy of the daemon and are supposed to run the daemon"` + CurrentNumberScheduled int `json:"currentNumberScheduled"` // NumberMisscheduled is the number of nodes that are running the daemon, but are // not supposed to run the daemon. - NumberMisscheduled int `json:"numberMisscheduled" description:"number of nodes that are running the Daemon, but are not supposed to run the daemon"` + NumberMisscheduled int `json:"numberMisscheduled"` // DesiredNumberScheduled is the total number of nodes that should be running the daemon // (including nodes correctly running the daemon). - DesiredNumberScheduled int `json:"desiredNumberScheduled" description:"total number of nodes that should be running the Daemon (including nodes correctly running the daemon)"` + DesiredNumberScheduled int `json:"desiredNumberScheduled"` } // Daemon represents the configuration of a daemon. type Daemon struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the desired behavior of this daemon. - Spec DaemonSpec `json:"spec,omitempty" description:"specification of the desired behavior of the daemon; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Spec defines the specification of the desired behavior of this daemon. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec DaemonSpec `json:"spec,omitempty"` // Status is the current status of this daemon. This data may be // out of date by some window of time. - Status DaemonStatus `json:"status,omitempty" description:"most recently observed status of the daemon; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status DaemonStatus `json:"status,omitempty"` } // DaemonList is a collection of daemon. type DaemonList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ListMeta `json:"metadata,omitempty"` - Items []Daemon `json:"items" description:"list of daemons"` + // Items is a list of daemons. + Items []Daemon `json:"items"` } // Session Affinity Type string @@ -1110,18 +1455,18 @@ const ( ServiceTypeLoadBalancer ServiceType = "LoadBalancer" ) -// ServiceStatus represents the current status of a service +// ServiceStatus represents the current status of a service. type ServiceStatus struct { // LoadBalancer contains the current status of the load-balancer, // if one is present. - LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty" description:"status of load-balancer"` + LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty"` } -// LoadBalancerStatus represents the status of a load-balancer +// LoadBalancerStatus represents the status of a load-balancer. type LoadBalancerStatus struct { - // Ingress is a list containing ingress points for the load-balancer; - // traffic intended for the service should be sent to these ingress points. - Ingress []LoadBalancerIngress `json:"ingress,omitempty" description:"load-balancer ingress points"` + // Ingress is a list containing ingress points for the load-balancer. + // Traffic intended for the service should be sent to these ingress points. + Ingress []LoadBalancerIngress `json:"ingress,omitempty"` } // LoadBalancerIngress represents the status of a load-balancer ingress point: @@ -1129,76 +1474,102 @@ type LoadBalancerStatus struct { type LoadBalancerIngress struct { // IP is set for load-balancer ingress points that are IP based // (typically GCE or OpenStack load-balancers) - IP string `json:"ip,omitempty" description:"IP address of ingress point"` + IP string `json:"ip,omitempty"` // Hostname is set for load-balancer ingress points that are DNS based // (typically AWS load-balancers) - Hostname string `json:"hostname,omitempty" description:"hostname of ingress point"` + Hostname string `json:"hostname,omitempty"` } -// ServiceSpec describes the attributes that a user creates on a service +// ServiceSpec describes the attributes that a user creates on a service. type ServiceSpec struct { - // Required: The list of ports that are exposed by this service. - Ports []ServicePort `json:"ports" description:"ports exposed by the service; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies"` + // The list of ports that are exposed by this service. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies + Ports []ServicePort `json:"ports"` - // This service will route traffic to pods having labels matching this selector. If null, no endpoints will be automatically created. If empty, all pods will be selected. - Selector map[string]string `json:"selector,omitempty" description:"label keys and values that must match in order to receive traffic for this service; if empty, all pods are selected, if not specified, endpoints must be manually specified; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview"` + // This service will route traffic to pods having labels matching this selector. + // Label keys and values that must match in order to receive traffic for this service. + // If empty, all pods are selected, if not specified, endpoints must be manually specified. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview + Selector map[string]string `json:"selector,omitempty"` - // ClusterIP is usually assigned by the master. If specified by the user - // we will try to respect it or else fail the request. This field can - // not be changed by updates. - // Valid values are None, empty string (""), or a valid IP address - // None can be specified for headless services when proxying is not required - ClusterIP string `json:"clusterIP,omitempty" description:"IP address of the service; usually assigned by the system; if specified, it will be allocated to the service if unused or else creation of the service will fail; cannot be updated; 'None' can be specified for a headless service when proxying is not required; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies"` + // ClusterIP is usually assigned by the master and is the IP address of the service. + // If specified, it will be allocated to the service if it is unused + // or else creation of the service will fail. + // Valid values are None, empty string (""), or a valid IP address. + // 'None' can be specified for a headless service when proxying is not required. + // Cannot be updated. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies + ClusterIP string `json:"clusterIP,omitempty"` - // Type determines how the service will be exposed. Valid options: ClusterIP, NodePort, LoadBalancer - Type ServiceType `json:"type,omitempty" description:"type of this service; must be ClusterIP, NodePort, or LoadBalancer; defaults to ClusterIP; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services"` + // Type of exposed service. Must be ClusterIP, NodePort, or LoadBalancer. + // Defaults to ClusterIP. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services + Type ServiceType `json:"type,omitempty"` - // Deprecated. PublicIPs are used by external load balancers, or can be set by + // ExternalIPs are used by external load balancers, or can be set by // users to handle external traffic that arrives at a node. - ExternalIPs []string `json:"externalIPs,omitempty" description:"externally visible IPs (e.g. load balancers) that should be proxied to this service"` + // Externally visible IPs (e.g. load balancers) that should be proxied to this service. + ExternalIPs []string `json:"externalIPs,omitempty"` - // Optional: Supports "ClientIP" and "None". Used to maintain session affinity. - SessionAffinity ServiceAffinity `json:"sessionAffinity,omitempty" description:"enable client IP based session affinity; must be ClientIP or None; defaults to None; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies"` + // Supports "ClientIP" and "None". Used to maintain session affinity. + // Enable client IP based session affinity. + // Must be ClientIP or None. + // Defaults to None. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies + SessionAffinity ServiceAffinity `json:"sessionAffinity,omitempty"` } +// ServicePort conatins information on service's port. type ServicePort struct { - // Optional if only one ServicePort is defined on this service: The - // name of this port within the service. This must be a DNS_LABEL. - // All ports within a ServiceSpec must have unique names. This maps to + // The name of this port within the service. This must be a DNS_LABEL. + // All ports within a ServiceSpec must have unique names. This maps to // the 'Name' field in EndpointPort objects. - Name string `json:"name,omitempty" description:"the name of this port; optional if only one port is defined"` + // Optional if only one ServicePort is defined on this service. + Name string `json:"name,omitempty"` - // Optional: The IP protocol for this port. Supports "TCP" and "UDP", - // default is TCP. - Protocol Protocol `json:"protocol,omitempty" description:"the protocol used by this port; must be UDP or TCP; TCP if unspecified"` + // The IP protocol for this port. Supports "TCP" and "UDP". + // Default is TCP. + Protocol Protocol `json:"protocol,omitempty"` - // Required: The port that will be exposed by this service. - Port int `json:"port" description:"the port number that is exposed"` + // The port that will be exposed by this service. + Port int `json:"port"` - // Optional: The target port on pods selected by this service. + // Number or name of the port to access on the pods targeted by the service. + // Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. // If this is a string, it will be looked up as a named port in the - // target Pod's container ports. If this is not specified, the value + // target Pod's container ports. If this is not specified, the value // of Port is used (an identity map). - TargetPort util.IntOrString `json:"targetPort,omitempty" description:"number or name of the port to access on the pods targeted by the service; defaults to the service port; number must be in the range 1 to 65535; name must be an IANA_SVC_NAME; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#defining-a-service"` + // Defaults to the service port. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#defining-a-service + TargetPort util.IntOrString `json:"targetPort,omitempty"` - // The port on each node on which this service is exposed. + // The port on each node on which this service is exposed when type=NodePort or LoadBalancer. + // Usually assigned by the system. If specified, it will be allocated to the service + // if unused or else creation of the service will fail. // Default is to auto-allocate a port if the ServiceType of this Service requires one. - NodePort int `json:"nodePort,omitempty" description:"the port on each node on which this service is exposed when type=NodePort or LoadBalancer; usually assigned by the system; if specified, it will be allocated to the service if unused or else creation of the service will fail; see http://releases.k8s.io/HEAD/docs/user-guide/services.md#type--nodeport"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#type--nodeport + NodePort int `json:"nodePort,omitempty"` } // Service is a named abstraction of software service (for example, mysql) consisting of local port // (for example 3306) that the proxy listens on, and the selector that determines which pods // will answer requests sent through the proxy. type Service struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` // Spec defines the behavior of a service. - Spec ServiceSpec `json:"spec,omitempty" description:"specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec ServiceSpec `json:"spec,omitempty"` - // Status represents the current status of a service. - Status ServiceStatus `json:"status,omitempty" description:"most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Most recently observed status of the service. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status ServiceStatus `json:"status,omitempty"` } const ( @@ -1210,9 +1581,12 @@ const ( // ServiceList holds a list of services. type ServiceList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []Service `json:"items" description:"list of services"` + // List of services + Items []Service `json:"items"` } // ServiceAccount binds together: @@ -1220,27 +1594,35 @@ type ServiceList struct { // * a principal that can be authenticated and authorized // * a set of secrets type ServiceAccount struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount - Secrets []ObjectReference `json:"secrets,omitempty" description:"list of secrets that can be used by pods running as this service account; see http://releases.k8s.io/HEAD/docs/user-guide/secrets.md" patchStrategy:"merge" patchMergeKey:"name"` + // Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md + Secrets []ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images - // in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets + // in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets // can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. - ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" description:"list of references to secrets in the same namespace available for pulling container images; see http://releases.k8s.io/HEAD/docs/user-guide/secrets.md#manually-specifying-an-imagepullsecret"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md#manually-specifying-an-imagepullsecret + ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty"` } // ServiceAccountList is a list of ServiceAccount objects type ServiceAccountList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []ServiceAccount `json:"items" description:"list of ServiceAccounts; see http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts"` + // List of ServiceAccounts. + // More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts + Items []ServiceAccount `json:"items"` } -// Endpoints is a collection of endpoints that implement the actual service. Example: +// Endpoints is a collection of endpoints that implement the actual service. Example: // Name: "mysvc", // Subsets: [ // { @@ -1253,14 +1635,17 @@ type ServiceAccountList struct { // }, // ] type Endpoints struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` // The set of all endpoints is the union of all subsets. - Subsets []EndpointSubset `json:"subsets" description:"sets of addresses and ports that comprise a service"` + // Sets of addresses and ports that comprise a service. + Subsets []EndpointSubset `json:"subsets"` } -// EndpointSubset is a group of addresses with a common set of ports. The +// EndpointSubset is a group of addresses with a common set of ports. The // expanded set of endpoints is the Cartesian product of Addresses x Ports. // For example, given: // { @@ -1271,86 +1656,103 @@ type Endpoints struct { // a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], // b: [ 10.10.1.1:309, 10.10.2.2:309 ] type EndpointSubset struct { - Addresses []EndpointAddress `json:"addresses,omitempty" description:"IP addresses which offer the related ports"` - Ports []EndpointPort `json:"ports,omitempty" description:"port numbers available on the related IP addresses"` + // IP addresses which offer the related ports. + Addresses []EndpointAddress `json:"addresses,omitempty"` + // Port numbers available on the related IP addresses. + Ports []EndpointPort `json:"ports,omitempty"` } // EndpointAddress is a tuple that describes single IP address. type EndpointAddress struct { // The IP of this endpoint. - // TODO: This should allow hostname or IP, see #4447. - IP string `json:"ip" description:"IP address of the endpoint; may not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24)"` + // May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), + // or link-local multicast ((224.0.0.0/24). + // TODO: This should allow hostname or IP, See #4447. + IP string `json:"ip"` - // Optional: The kubernetes object related to the entry point. - TargetRef *ObjectReference `json:"targetRef,omitempty" description:"reference to object providing the endpoint"` + // Reference to object providing the endpoint. + TargetRef *ObjectReference `json:"targetRef,omitempty"` } // EndpointPort is a tuple that describes a single port. type EndpointPort struct { - // The name of this port (corresponds to ServicePort.Name). Optional - // if only one port is defined. Must be a DNS_LABEL. - Name string `json:"name,omitempty" description:"name of this port"` + // The name of this port (corresponds to ServicePort.Name). + // Must be a DNS_LABEL. + // Optional only if one port is defined. + Name string `json:"name,omitempty"` - // The port number. - Port int `json:"port" description:"port number of the endpoint"` + // The port number of the endpoint. + Port int `json:"port"` // The IP protocol for this port. - Protocol Protocol `json:"protocol,omitempty" description:"protocol for this port; must be UDP or TCP; TCP if unspecified"` + // Must be UDP or TCP. + // Default is TCP. + Protocol Protocol `json:"protocol,omitempty"` } // EndpointsList is a list of endpoints. type EndpointsList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []Endpoints `json:"items" description:"list of endpoints"` + // List of endpoints. + Items []Endpoints `json:"items"` } // NodeSpec describes the attributes that a node is created with. type NodeSpec struct { - // PodCIDR represents the pod IP range assigned to the node - PodCIDR string `json:"podCIDR,omitempty" description:"pod IP range assigned to the node"` - // External ID of the node assigned by some machine database (e.g. a cloud provider) - ExternalID string `json:"externalID,omitempty" description:"deprecated. External ID assigned to the node by some machine database (e.g. a cloud provider). Defaults to node name when empty."` - // ID of the node assigned by the cloud provider - ProviderID string `json:"providerID,omitempty" description:"ID of the node assigned by the cloud provider in the format: ://"` - // Unschedulable controls node schedulability of new pods. By default node is schedulable. - Unschedulable bool `json:"unschedulable,omitempty" description:"disable pod scheduling on the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration"` + // PodCIDR represents the pod IP range assigned to the node. + PodCIDR string `json:"podCIDR,omitempty"` + // External ID of the node assigned by some machine database (e.g. a cloud provider). + // Deprecated. + ExternalID string `json:"externalID,omitempty"` + // ID of the node assigned by the cloud provider in the format: :// + ProviderID string `json:"providerID,omitempty"` + // Unschedulable controls node schedulability of new pods. By default, node is schedulable. + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration"` + Unschedulable bool `json:"unschedulable,omitempty"` } // NodeSystemInfo is a set of ids/uuids to uniquely identify the node. type NodeSystemInfo struct { - // MachineID is the machine-id reported by the node - MachineID string `json:"machineID" description:"machine-id reported by the node"` - // SystemUUID is the system-uuid reported by the node - SystemUUID string `json:"systemUUID" description:"system-uuid reported by the node"` - // BootID is the boot-id reported by the node - BootID string `json:"bootID" description:"boot id is the boot-id reported by the node"` - // Kernel version reported by the node - KernelVersion string `json:"kernelVersion" description:"Kernel version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64)"` - // OS image used reported by the node - OsImage string `json:"osImage" description:"OS image used reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy))"` - // Container runtime version reported by the node - ContainerRuntimeVersion string `json:"containerRuntimeVersion" description:"Container runtime version reported by the node through runtime remote API (e.g. docker://1.5.0)"` - // Kubelet version reported by the node - KubeletVersion string `json:"kubeletVersion" description:"Kubelet version reported by the node"` - // Kube-proxy version reported by the node - KubeProxyVersion string `json:"kubeProxyVersion" description:"Kube-proxy version reported by the node"` + // MachineID is the machine-id reported by the node. + MachineID string `json:"machineID"` + // SystemUUID is the system-uuid reported by the node. + SystemUUID string `json:"systemUUID"` + // BootID is the boot-id reported by the node. + BootID string `json:"bootID"` + // Kernel version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64) + KernelVersion string `json:"kernelVersion"` + // OS image used reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)) + OsImage string `json:"osImage"` + // Container runtime version reported by the node through runtime remote API (e.g. docker://1.5.0) + ContainerRuntimeVersion string `json:"containerRuntimeVersion"` + // Kubelet version reported by the node. + KubeletVersion string `json:"kubeletVersion"` + // Kube-proxy version reported by the node. + KubeProxyVersion string `json:"kubeProxyVersion"` } // NodeStatus is information about the current status of a node. type NodeStatus struct { // Capacity represents the available resources of a node. - // see http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md for more details. - Capacity ResourceList `json:"capacity,omitempty" description:"compute resource capacity of the node; see http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md"` - // NodePhase is the current lifecycle phase of the node. - Phase NodePhase `json:"phase,omitempty" description:"most recently observed lifecycle phase of the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase"` - // Conditions is an array of current node conditions. - Conditions []NodeCondition `json:"conditions,omitempty" description:"list of node conditions observed; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition" patchStrategy:"merge" patchMergeKey:"type"` + // More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity for more details. + Capacity ResourceList `json:"capacity,omitempty"` + // NodePhase is the recently observed lifecycle phase of the node. + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase + Phase NodePhase `json:"phase,omitempty"` + // Conditions is an array of current observed node conditions. + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition + Conditions []NodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + // List of addresses reachable to the node. // Queried from cloud provider, if available. - Addresses []NodeAddress `json:"addresses,omitempty" description:"list of addresses reachable to the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses" patchStrategy:"merge" patchMergeKey:"type"` - // NodeSystemInfo is a set of ids/uuids to uniquely identify the node - NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" description:"set of ids/uuids to uniquely identify the node; see http://releases.k8s.io/HEAD/docs/admin/node.md#node-info"` + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses + Addresses []NodeAddress `json:"addresses,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + // NodeSystemInfo is a set of ids/uuids to uniquely identify the node. + // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-info + NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty"` } type NodePhase string @@ -1375,13 +1777,20 @@ const ( NodeReady NodeConditionType = "Ready" ) +// NodeCondition contains condition infromation for a node. type NodeCondition struct { - Type NodeConditionType `json:"type" description:"type of node condition, currently only Ready"` - Status ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` - LastHeartbeatTime util.Time `json:"lastHeartbeatTime,omitempty" description:"last time we got an update on a given condition"` - LastTransitionTime util.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another"` - Reason string `json:"reason,omitempty" description:"(brief) reason for the condition's last transition"` - Message string `json:"message,omitempty" description:"human readable message indicating details about last transition"` + // Type of node condition, currently only Ready. + Type NodeConditionType `json:"type"` + // Status of the condition, one of True, False, Unknown. + Status ConditionStatus `json:"status"` + // Last time we got an update on a given condition. + LastHeartbeatTime util.Time `json:"lastHeartbeatTime,omitempty"` + // Last time the condition transit from one status to another. + LastTransitionTime util.Time `json:"lastTransitionTime,omitempty"` + // (brief) reason for the condition's last transition. + Reason string `json:"reason,omitempty"` + // Human readable message indicating details about last transition. + Message string `json:"message,omitempty"` } type NodeAddressType string @@ -1393,9 +1802,12 @@ const ( NodeInternalIP NodeAddressType = "InternalIP" ) +// NodeAddress contains information for the node's address. type NodeAddress struct { - Type NodeAddressType `json:"type" description:"node address type, one of Hostname, ExternalIP or InternalIP"` - Address string `json:"address" description:"the node address"` + // Node address type, one of Hostname, ExternalIP or InternalIP. + Type NodeAddressType `json:"type"` + // The node address. + Address string `json:"address"` } // ResourceName is the name identifying various resources in a ResourceList. @@ -1416,22 +1828,31 @@ type ResourceList map[ResourceName]resource.Quantity // Node is a worker node in Kubernetes, formerly known as minion. // Each node will have a unique identifier in the cache (i.e. in etcd). type Node struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` // Spec defines the behavior of a node. - Spec NodeSpec `json:"spec,omitempty" description:"specification of a node; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec NodeSpec `json:"spec,omitempty"` - // Status describes the current status of a Node - Status NodeStatus `json:"status,omitempty" description:"most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Most recently observed status of the node. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status NodeStatus `json:"status,omitempty"` } // NodeList is the whole list of all Nodes which have been registered with master. type NodeList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []Node `json:"items" description:"list of nodes"` + // List of nodes + Items []Node `json:"items"` } type FinalizerName string @@ -1441,16 +1862,18 @@ const ( FinalizerKubernetes FinalizerName = "kubernetes" ) -// NamespaceSpec describes the attributes on a Namespace +// NamespaceSpec describes the attributes on a Namespace. type NamespaceSpec struct { - // Finalizers is an opaque list of values that must be empty to permanently remove object from storage - Finalizers []FinalizerName `json:"finalizers,omitempty" description:"an opaque list of values that must be empty to permanently remove object from storage; see http://releases.k8s.io/HEAD/docs/design/namespaces.md#finalizers"` + // Finalizers is an opaque list of values that must be empty to permanently remove object from storage. + // More info: http://releases.k8s.io/HEAD/docs/design/namespaces.md#finalizers + Finalizers []FinalizerName `json:"finalizers,omitempty"` } // NamespaceStatus is information about the current status of a Namespace. type NamespaceStatus struct { // Phase is the current lifecycle phase of the namespace. - Phase NamespacePhase `json:"phase,omitempty" description:"phase is the current lifecycle phase of the namespace; see http://releases.k8s.io/HEAD/docs/design/namespaces.md#phases"` + // More info: http://releases.k8s.io/HEAD/docs/design/namespaces.md#phases + Phase NamespacePhase `json:"phase,omitempty"` } type NamespacePhase string @@ -1463,153 +1886,186 @@ const ( NamespaceTerminating NamespacePhase = "Terminating" ) -// A namespace provides a scope for Names. -// Use of multiple namespaces is optional +// Namespace provides a scope for Names. +// Use of multiple namespaces is optional. type Namespace struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` // Spec defines the behavior of the Namespace. - Spec NamespaceSpec `json:"spec,omitempty" description:"spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec NamespaceSpec `json:"spec,omitempty"` - // Status describes the current status of a Namespace - Status NamespaceStatus `json:"status,omitempty" description:"status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Status describes the current status of a Namespace. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status NamespaceStatus `json:"status,omitempty"` } // NamespaceList is a list of Namespaces. type NamespaceList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - // Items is the list of Namespace objects in the list - Items []Namespace `json:"items" description:"items is the list of Namespace objects in the list; see http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md"` + // Items is the list of Namespace objects in the list. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md + Items []Namespace `json:"items"` } -// Binding ties one object to another - for example, a pod is bound to a node by a scheduler. +// Binding ties one object to another. +// For example, a pod is bound to a node by a scheduler. type Binding struct { TypeMeta `json:",inline"` - // ObjectMeta describes the object that is being bound. - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Target is the object to bind to. - Target ObjectReference `json:"target" description:"an object to bind to"` + // The target object that you want to bind to the standard object. + Target ObjectReference `json:"target"` } // DeleteOptions may be provided when deleting an API object type DeleteOptions struct { TypeMeta `json:",inline"` - // Optional duration in seconds before the object should be deleted. Value must be non-negative integer. + // The duration in seconds before the object should be deleted. Value must be non-negative integer. // The value zero indicates delete immediately. If this value is nil, the default grace period for the // specified type will be used. - GracePeriodSeconds *int64 `json:"gracePeriodSeconds" description:"the duration in seconds to wait before deleting this object; defaults to a per object value if not specified; zero means delete immediately"` + // Defaults to a per object value if not specified. zero means delete immediately. + GracePeriodSeconds *int64 `json:"gracePeriodSeconds"` } -// ListOptions is the query options to a standard REST list call +// ListOptions is the query options to a standard REST list call. type ListOptions struct { TypeMeta `json:",inline"` - // A selector based on labels - LabelSelector string `json:"labelSelector,omitempty" description:"a selector to restrict the list of returned objects by their labels; defaults to everything"` - // A selector based on fields - FieldSelector string `json:"fieldSelector,omitempty" description:"a selector to restrict the list of returned objects by their fields; defaults to everything"` - // If true, watch for changes to the selected resources - Watch bool `json:"watch,omitempty" description:"watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion"` - // The desired resource version to watch - ResourceVersion string `json:"resourceVersion,omitempty" description:"when specified with a watch call, shows changes that occur after that particular version of a resource; defaults to changes from the beginning of history"` + // A selector to restrict the list of returned objects by their labels. + // Defaults to everything. + LabelSelector string `json:"labelSelector,omitempty"` + // A selector to restrict the list of returned objects by their fields. + // Defaults to everything. + FieldSelector string `json:"fieldSelector,omitempty"` + // Watch for changes to the described resources and return them as a stream of + // add, update, and remove notifications. Specify resourceVersion. + Watch bool `json:"watch,omitempty"` + // When specified with a watch call, shows changes that occur after that particular version of a resource. + // Defaults to changes from the beginning of history. + ResourceVersion string `json:"resourceVersion,omitempty"` } -// PodLogOptions is the query options for a Pod's logs REST call +// PodLogOptions is the query options for a Pod's logs REST call. type PodLogOptions struct { TypeMeta `json:",inline"` - // Container for which to return logs - Container string `json:"container,omitempty" description:"the container for which to stream logs; defaults to only container if there is one container in the pod"` + // The container for which to stream logs. Defaults to only container if there is one container in the pod. + Container string `json:"container,omitempty"` - // If true, follow the logs for the pod - Follow bool `json:"follow,omitempty" description:"follow the log stream of the pod; defaults to false"` + // Follow the log stream of the pod. + // Defaults to false. + Follow bool `json:"follow,omitempty"` - // If true, return previous terminated container logs - Previous bool `json:"previous,omitempty" description:"return previous terminated container logs; defaults to false"` + // Return previous terminated container logs. + // Defaults to false. + Previous bool `json:"previous,omitempty"` } -// PodAttachOptions is the query options to a Pod's remote attach call +// PodAttachOptions is the query options to a Pod's remote attach call. +// --- // TODO: merge w/ PodExecOptions below for stdin, stdout, etc // and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY type PodAttachOptions struct { TypeMeta `json:",inline"` - // Stdin if true indicates that stdin is to be redirected for the attach call - Stdin bool `json:"stdin,omitempty" description:"redirect the standard input stream of the pod for this call; defaults to false"` + // Stdin if true, redirects the standard input stream of the pod for this call. + // Defaults to false. + Stdin bool `json:"stdin,omitempty"` - // Stdout if true indicates that stdout is to be redirected for the attach call - Stdout bool `json:"stdout,omitempty" description:"redirect the standard output stream of the pod for this call; defaults to true"` + // Stdout if true indicates that stdout is to be redirected for the attach call. + // Defaults to true. + Stdout bool `json:"stdout,omitempty"` - // Stderr if true indicates that stderr is to be redirected for the attach call - Stderr bool `json:"stderr,omitempty" description:"redirect the standard error stream of the pod for this call; defaults to true"` + // Stderr if true indicates that stderr is to be redirected for the attach call. + // Defaults to true. + Stderr bool `json:"stderr,omitempty"` - // TTY if true indicates that a tty will be allocated for the attach call, this is passed through to the container runtime so the tty + // TTY if true indicates that a tty will be allocated for the attach call. + // This is passed through the container runtime so the tty // is allocated on the worker node by the container runtime. - TTY bool `json:"tty,omitempty" description:"allocate a terminal for this attach call; defaults to false"` + // Defaults to false. + TTY bool `json:"tty,omitempty"` - // Container to attach to. - Container string `json:"container,omitempty" description:"the container in which to execute the command. Defaults to only container if there is only one container in the pod."` + // The container in which to execute the command. + // Defaults to only container if there is only one container in the pod. + Container string `json:"container,omitempty"` } -// PodExecOptions is the query options to a Pod's remote exec call +// PodExecOptions is the query options to a Pod's remote exec call. +// --- // TODO: This is largely identical to PodAttachOptions above, make sure they stay in sync and see about merging // and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY type PodExecOptions struct { TypeMeta `json:",inline"` - // Stdin if true indicates that stdin is to be redirected for the exec call - Stdin bool `json:"stdin,omitempty" description:"redirect the standard input stream of the pod for this call; defaults to false"` + // Redirect the standard input stream of the pod for this call. + // Defaults to false. + Stdin bool `json:"stdin,omitempty"` - // Stdout if true indicates that stdout is to be redirected for the exec call - Stdout bool `json:"stdout,omitempty" description:"redirect the standard output stream of the pod for this call; defaults to true"` + // Redirect the standard output stream of the pod for this call. + // Defaults to true. + Stdout bool `json:"stdout,omitempty"` - // Stderr if true indicates that stderr is to be redirected for the exec call - Stderr bool `json:"stderr,omitempty" description:"redirect the standard error stream of the pod for this call; defaults to true"` + // Redirect the standard error stream of the pod for this call. + // Defaults to true. + Stderr bool `json:"stderr,omitempty"` - // TTY if true indicates that a tty will be allocated for the exec call - TTY bool `json:"tty,omitempty" description:"allocate a terminal for this exec call; defaults to false"` + // TTY if true indicates that a tty will be allocated for the exec call. + // Defaults to false. + TTY bool `json:"tty,omitempty"` // Container in which to execute the command. - Container string `json:"container,omitempty" description:"the container in which to execute the command. Defaults to only container if there is only one container in the pod."` + // Defaults to only container if there is only one container in the pod. + Container string `json:"container,omitempty"` - // Command is the remote command to execute; argv array; not executed within a shell. - Command []string `json:"command" description:"the command to execute; argv array; not executed within a shell"` + // Command is the remote command to execute. argv array. Not executed within a shell. + Command []string `json:"command"` } -// PodProxyOptions is the query options to a Pod's proxy call +// PodProxyOptions is the query options to a Pod's proxy call. type PodProxyOptions struct { TypeMeta `json:",inline"` - // Path is the URL path to use for the current proxy request - Path string `json:"path,omitempty" description:"URL path to use in proxy request to pod"` + // Path is the URL path to use for the current proxy request to pod. + Path string `json:"path,omitempty"` } // Status is a return value for calls that don't return other objects. type Status struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - // One of: "Success" or "Failure" - Status string `json:"status,omitempty" description:"status of the operation; either Success, or Failure; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Status of the operation. + // One of: "Success" or "Failure". + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status string `json:"status,omitempty"` // A human-readable description of the status of this operation. - Message string `json:"message,omitempty" description:"human-readable description of the status of this operation"` + Message string `json:"message,omitempty"` // A machine-readable description of why this operation is in the // "Failure" status. If this value is empty there // is no information available. A Reason clarifies an HTTP status // code but does not override it. - Reason StatusReason `json:"reason,omitempty" description:"machine-readable description of why this operation is in the 'Failure' status; if this value is empty there is no information available; a reason clarifies an HTTP status code but does not override it"` - // Extended data associated with the reason. Each reason may define its + Reason StatusReason `json:"reason,omitempty"` + // Extended data associated with the reason. Each reason may define its // own extended details. This field is optional and the data returned // is not guaranteed to conform to any schema except that defined by // the reason type. - Details *StatusDetails `json:"details,omitempty" description:"extended data associated with the reason; each reason may define its own extended details; this field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type"` + Details *StatusDetails `json:"details,omitempty"` // Suggested HTTP return code for this status, 0 if not set. - Code int `json:"code,omitempty" description:"suggested HTTP return code for this status; 0 if not set"` + Code int `json:"code,omitempty"` } // StatusDetails is a set of additional properties that MAY be set by the @@ -1621,15 +2077,16 @@ type Status struct { type StatusDetails struct { // The name attribute of the resource associated with the status StatusReason // (when there is a single name which can be described). - Name string `json:"name,omitempty" description:"the name attribute of the resource associated with the status StatusReason (when there is a single name which can be described)"` + Name string `json:"name,omitempty"` // The kind attribute of the resource associated with the status StatusReason. // On some operations may differ from the requested resource Kind. - Kind string `json:"kind,omitempty" description:"the kind attribute of the resource associated with the status StatusReason; on some operations may differ from the requested resource Kind; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"` + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + Kind string `json:"kind,omitempty"` // The Causes array includes more details associated with the StatusReason // failure. Not all StatusReasons may provide detailed causes. - Causes []StatusCause `json:"causes,omitempty" description:"the Causes array includes more details associated with the StatusReason failure; not all StatusReasons may provide detailed causes"` + Causes []StatusCause `json:"causes,omitempty"` // If specified, the time in seconds before the operation should be retried. - RetryAfterSeconds int `json:"retryAfterSeconds,omitempty" description:"the number of seconds before the client should attempt to retry this operation"` + RetryAfterSeconds int `json:"retryAfterSeconds,omitempty"` } // Values of Status.Status @@ -1638,7 +2095,7 @@ const ( StatusFailure = "Failure" ) -// StatusReason is an enumeration of possible failure causes. Each StatusReason +// StatusReason is an enumeration of possible failure causes. Each StatusReason // must map to a single HTTP status code, but multiple reasons may map // to the same HTTP status code. // TODO: move to apiserver @@ -1682,7 +2139,7 @@ const ( // "kind" string - the kind attribute of the invalid resource // "id" string - the identifier of the invalid resource // "causes" - one or more StatusCause entries indicating the data in the - // provided resource that was invalid. The code, message, and + // provided resource that was invalid. The code, message, and // field attributes will be set. // Status code 422 StatusReasonInvalid StatusReason = "Invalid" @@ -1704,20 +2161,19 @@ const ( type StatusCause struct { // A machine-readable description of the cause of the error. If this value is // empty there is no information available. - Type CauseType `json:"reason,omitempty" description:"machine-readable description of the cause of the error; if this value is empty there is no information available"` - // A human-readable description of the cause of the error. This field may be + Type CauseType `json:"reason,omitempty"` + // A human-readable description of the cause of the error. This field may be // presented as-is to a reader. - Message string `json:"message,omitempty" description:"human-readable description of the cause of the error; this field may be presented as-is to a reader"` + Message string `json:"message,omitempty"` // The field of the resource that has caused this error, as named by its JSON // serialization. May include dot and postfix notation for nested attributes. - // Arrays are zero-indexed. Fields may appear more than once in an array of + // Arrays are zero-indexed. Fields may appear more than once in an array of // causes due to fields having multiple errors. - // Optional. // // Examples: // "name" - the field "name" on the current resource // "items[0].name" - the field "name" on the first array entry in "items" - Field string `json:"field,omitempty" description:"field of the resource that has caused this error, as named by its JSON serialization; may include dot and postfix notation for nested attributes; arrays are zero-indexed; fields may appear more than once in an array of causes due to fields having multiple errors"` + Field string `json:"field,omitempty"` } // CauseType is a machine readable value providing more detail about what @@ -1745,90 +2201,115 @@ const ( // ObjectReference contains enough information to let you inspect or modify the referred object. type ObjectReference struct { - Kind string `json:"kind,omitempty" description:"kind of the referent; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds"` - Namespace string `json:"namespace,omitempty" description:"namespace of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md"` - Name string `json:"name,omitempty" description:"name of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names"` - UID types.UID `json:"uid,omitempty" description:"uid of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids"` - APIVersion string `json:"apiVersion,omitempty" description:"API version of the referent"` - ResourceVersion string `json:"resourceVersion,omitempty" description:"specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency"` + // Kind of the referent. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + Kind string `json:"kind,omitempty"` + // Namespace of the referent. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md + Namespace string `json:"namespace,omitempty"` + // Name of the referent. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names + Name string `json:"name,omitempty"` + // UID of the referent. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids + UID types.UID `json:"uid,omitempty"` + // API version of the referent. + APIVersion string `json:"apiVersion,omitempty"` + // Specific resourceVersion to which this reference is made, if any. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency + ResourceVersion string `json:"resourceVersion,omitempty"` - // Optional. If referring to a piece of an object instead of an entire object, this string - // should contain information to identify the sub-object. For example, if the object - // reference is to a container within a pod, this would take on a value like: + // If referring to a piece of an object instead of an entire object, this string + // should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + // For example, if the object reference is to a container within a pod, this would take on a value like: // "spec.containers{name}" (where "name" refers to the name of the container that triggered // the event) or if no container name is specified "spec.containers[2]" (container with // index 2 in this pod). This syntax is chosen only to have some well-defined way of // referencing a part of an object. // TODO: this design is not final and this field is subject to change in the future. - FieldPath string `json:"fieldPath,omitempty" description:"if referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]"` + FieldPath string `json:"fieldPath,omitempty"` } -// LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. +// LocalObjectReference contains enough information to let you locate the +// referenced object inside the same namespace. type LocalObjectReference struct { - //TODO: Add other useful fields. apiVersion, kind, uid? - Name string `json:"name,omitempty" description:"name of the referent; see http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names"` + // Name of the referent. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names + // TODO: Add other useful fields. apiVersion, kind, uid? + Name string `json:"name,omitempty"` } +// SerializedReference is a reference to serialized object. type SerializedReference struct { - TypeMeta `json:",inline"` - Reference ObjectReference `json:"reference,omitempty" description:"the reference to an object in the system"` + TypeMeta `json:",inline"` + // The reference to an object in the system. + Reference ObjectReference `json:"reference,omitempty"` } +// EventSource contains information for an event. type EventSource struct { // Component from which the event is generated. - Component string `json:"component,omitempty" description:"component that generated the event"` + Component string `json:"component,omitempty"` // Host name on which the event is generated. - Host string `json:"host,omitempty" description:"name of the host where the event is generated"` + Host string `json:"host,omitempty"` } // Event is a report of an event somewhere in the cluster. // TODO: Decide whether to store these separately or with the object they apply to. type Event struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata"` - // Required. The object that this event is about. - InvolvedObject ObjectReference `json:"involvedObject" description:"object this event is about"` + // The object that this event is about. + InvolvedObject ObjectReference `json:"involvedObject"` - // Optional; this should be a short, machine understandable string that gives the reason - // for this event being generated. + // This should be a short, machine understandable string that gives the reason + // for the transition into the object's current status. // TODO: provide exact specification for format. - Reason string `json:"reason,omitempty" description:"short, machine understandable string that gives the reason for the transition into the object's current status"` + Reason string `json:"reason,omitempty"` - // Optional. A human-readable description of the status of this operation. + // A human-readable description of the status of this operation. // TODO: decide on maximum length. - Message string `json:"message,omitempty" description:"human-readable description of the status of this operation"` + Message string `json:"message,omitempty"` - // Optional. The component reporting this event. Should be a short machine understandable string. - Source EventSource `json:"source,omitempty" description:"component reporting this event"` + // The component reporting this event. Should be a short machine understandable string. + Source EventSource `json:"source,omitempty"` // The time at which the event was first recorded. (Time of server receipt is in TypeMeta.) - FirstTimestamp util.Time `json:"firstTimestamp,omitempty" description:"the time at which the event was first recorded"` + FirstTimestamp util.Time `json:"firstTimestamp,omitempty"` // The time at which the most recent occurrence of this event was recorded. - LastTimestamp util.Time `json:"lastTimestamp,omitempty" description:"the time at which the most recent occurrence of this event was recorded"` + LastTimestamp util.Time `json:"lastTimestamp,omitempty"` // The number of times this event has occurred. - Count int `json:"count,omitempty" description:"the number of times this event has occurred"` + Count int `json:"count,omitempty"` } // EventList is a list of events. type EventList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []Event `json:"items" description:"list of events"` + // List of events + Items []Event `json:"items"` } // List holds a list of objects, which may not be known by the server. type List struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []runtime.RawExtension `json:"items" description:"list of objects"` + // List of objects + Items []runtime.RawExtension `json:"items"` } -// A type of object that is limited +// LimitType is a type of object that is limited type LimitType string const ( @@ -1838,40 +2319,47 @@ const ( LimitTypeContainer LimitType = "Container" ) -// LimitRangeItem defines a min/max usage limit for any resource that matches on kind +// LimitRangeItem defines a min/max usage limit for any resource that matches on kind. type LimitRangeItem struct { - // Type of resource that this limit applies to - Type LimitType `json:"type,omitempty" description:"type of resource that this limit applies to"` - // Max usage constraints on this kind by resource name - Max ResourceList `json:"max,omitempty" description:"max usage constraints on this kind by resource name"` - // Min usage constraints on this kind by resource name - Min ResourceList `json:"min,omitempty" description:"min usage constraints on this kind by resource name"` - // Default usage constraints on this kind by resource name - Default ResourceList `json:"default,omitempty" description:"default values on this kind by resource name if omitted"` + // Type of resource that this limit applies to. + Type LimitType `json:"type,omitempty"` + // Max usage constraints on this kind by resource name. + Max ResourceList `json:"max,omitempty"` + // Min usage constraints on this kind by resource name. + Min ResourceList `json:"min,omitempty"` + // Default usage constraints on this kind by resource name. + // Default values on this kind by resource name if omitted. + Default ResourceList `json:"default,omitempty"` } -// LimitRangeSpec defines a min/max usage limit for resources that match on kind +// LimitRangeSpec defines a min/max usage limit for resources that match on kind. type LimitRangeSpec struct { - // Limits is the list of LimitRangeItem objects that are enforced - Limits []LimitRangeItem `json:"limits" description:"limits is the list of LimitRangeItem objects that are enforced"` + // Limits is the list of LimitRangeItem objects that are enforced. + Limits []LimitRangeItem `json:"limits"` } -// LimitRange sets resource usage limits for each kind of resource in a Namespace +// LimitRange sets resource usage limits for each kind of resource in a Namespace. type LimitRange struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the limits enforced - Spec LimitRangeSpec `json:"spec,omitempty" description:"spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Spec defines the limits enforced. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec LimitRangeSpec `json:"spec,omitempty"` } // LimitRangeList is a list of LimitRange items. type LimitRangeList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - // Items is a list of LimitRange objects - Items []LimitRange `json:"items" description:"items is a list of LimitRange objects; see http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md"` + // Items is a list of LimitRange objects. + // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md + Items []LimitRange `json:"items"` } // The following identify resource constants for Kubernetes object types @@ -1892,55 +2380,67 @@ const ( ResourcePersistentVolumeClaims ResourceName = "persistentvolumeclaims" ) -// ResourceQuotaSpec defines the desired hard limits to enforce for Quota +// ResourceQuotaSpec defines the desired hard limits to enforce for Quota. type ResourceQuotaSpec struct { - // Hard is the set of desired hard limits for each named resource - Hard ResourceList `json:"hard,omitempty" description:"hard is the set of desired hard limits for each named resource; see http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota"` + // Hard is the set of desired hard limits for each named resource. + // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota + Hard ResourceList `json:"hard,omitempty"` } -// ResourceQuotaStatus defines the enforced hard limits and observed use +// ResourceQuotaStatus defines the enforced hard limits and observed use. type ResourceQuotaStatus struct { - // Hard is the set of enforced hard limits for each named resource - Hard ResourceList `json:"hard,omitempty" description:"hard is the set of enforced hard limits for each named resource; see http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota"` - // Used is the current observed total usage of the resource in the namespace - Used ResourceList `json:"used,omitempty" description:"used is the current observed total usage of the resource in the namespace"` + // Hard is the set of enforced hard limits for each named resource. + // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota + Hard ResourceList `json:"hard,omitempty"` + // Used is the current observed total usage of the resource in the namespace. + Used ResourceList `json:"used,omitempty"` } // ResourceQuota sets aggregate quota restrictions enforced per namespace type ResourceQuota struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Spec defines the desired quota - Spec ResourceQuotaSpec `json:"spec,omitempty" description:"spec defines the desired quota; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Spec defines the desired quota. + // http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Spec ResourceQuotaSpec `json:"spec,omitempty"` - // Status defines the actual enforced quota and its current usage - Status ResourceQuotaStatus `json:"status,omitempty" description:"status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status"` + // Status defines the actual enforced quota and its current usage. + // http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + Status ResourceQuotaStatus `json:"status,omitempty"` } -// ResourceQuotaList is a list of ResourceQuota items +// ResourceQuotaList is a list of ResourceQuota items. type ResourceQuotaList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - // Items is a list of ResourceQuota objects - Items []ResourceQuota `json:"items" description:"items is a list of ResourceQuota objects; see http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota"` + // Items is a list of ResourceQuota objects. + // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota + Items []ResourceQuota `json:"items"` } -// Secret holds secret data of a certain type. The total bytes of the values in +// Secret holds secret data of a certain type. The total bytes of the values in // the Data field must be less than MaxSecretSize bytes. type Secret struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - // Data contains the secret data. Each key must be a valid DNS_SUBDOMAIN + // Data contains the secret data. Each key must be a valid DNS_SUBDOMAIN // or leading dot followed by valid DNS_SUBDOMAIN. // The serialized form of the secret data is a base64 encoded string, // representing the arbitrary (possibly non-string) data value here. - Data map[string][]byte `json:"data,omitempty" description:"data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. Each value must be a base64 encoded string as described in https://tools.ietf.org/html/rfc4648#section-4"` + // Described in https://tools.ietf.org/html/rfc4648#section-4 + Data map[string][]byte `json:"data,omitempty"` // Used to facilitate programmatic handling of secret data. - Type SecretType `json:"type,omitempty" description:"type facilitates programmatic handling of secret data"` + Type SecretType `json:"type,omitempty"` } const MaxSecretSize = 1 * 1024 * 1024 @@ -1948,7 +2448,7 @@ const MaxSecretSize = 1 * 1024 * 1024 type SecretType string const ( - // SecretTypeOpaque is the default; arbitrary user-defined data + // SecretTypeOpaque is the default. Arbitrary user-defined data SecretTypeOpaque SecretType = "Opaque" // SecretTypeServiceAccountToken contains a token that identifies a service account to the API @@ -1980,11 +2480,16 @@ const ( DockerConfigKey = ".dockercfg" ) +// SecretList is a list of Secret. type SecretList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []Secret `json:"items" description:"items is a list of secret objects; see http://releases.k8s.io/HEAD/docs/user-guide/secrets.md"` + // Items is a list of secret objects. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md + Items []Secret `json:"items"` } // Type and constants for component health validation. @@ -1995,101 +2500,147 @@ const ( ComponentHealthy ComponentConditionType = "Healthy" ) +// Information about the condition of a component. type ComponentCondition struct { - Type ComponentConditionType `json:"type" description:"type of component condition, currently only Healthy"` - Status ConditionStatus `json:"status" description:"current status of this component condition, one of True, False, Unknown"` - Message string `json:"message,omitempty" description:"health check message received from the component"` - Error string `json:"error,omitempty" description:"error code from health check attempt (if any)"` + // Type of condition for a component. + // Valid value: "Healthy" + Type ComponentConditionType `json:"type"` + // Status of the condition for a component. + // Valid values for "Healthy": "True", "False", or "Unknown". + Status ConditionStatus `json:"status"` + // Message about the condition for a component. + // For example, information about a health check. + Message string `json:"message,omitempty"` + // Condition error code for a component. + // For example, a health check error code. + Error string `json:"error,omitempty"` } // ComponentStatus (and ComponentStatusList) holds the cluster validation info. type ComponentStatus struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - Conditions []ComponentCondition `json:"conditions,omitempty" description:"list of component conditions observed" patchStrategy:"merge" patchMergeKey:"type"` + // List of component conditions observed + Conditions []ComponentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` } +// Status of all the conditions for the component as a list of ComponentStatus objects. type ComponentStatusList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + ListMeta `json:"metadata,omitempty"` - Items []ComponentStatus `json:"items" description:"list of component status objects"` + // List of ComponentStatus objects. + Items []ComponentStatus `json:"items"` } // SecurityContext holds security configuration that will be applied to a container. type SecurityContext struct { - // Capabilities are the capabilities to add/drop when running the container - Capabilities *Capabilities `json:"capabilities,omitempty" description:"the linux kernel capabilites that should be added or removed; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context"` + // The linux kernel capabilites that should be added or removed. + // Default to Container.Capabilities if left unset. + // More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context + Capabilities *Capabilities `json:"capabilities,omitempty"` - // Run the container in privileged mode - Privileged *bool `json:"privileged,omitempty" description:"run the container in privileged mode; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context"` + // Run the container in privileged mode. + // Default to Container.Privileged if left unset. + // More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context + Privileged *bool `json:"privileged,omitempty"` // SELinuxOptions are the labels to be applied to the container - // and volumes - SELinuxOptions *SELinuxOptions `json:"seLinuxOptions,omitempty" description:"options that control the SELinux labels applied; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context"` + // and volumes. + // Options that control the SELinux labels applied. + // More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context + SELinuxOptions *SELinuxOptions `json:"seLinuxOptions,omitempty"` // RunAsUser is the UID to run the entrypoint of the container process. - RunAsUser *int64 `json:"runAsUser,omitempty" description:"the user id that runs the first process in the container; see http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context"` + // The user id that runs the first process in the container. + // More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context + RunAsUser *int64 `json:"runAsUser,omitempty"` - // RunAsNonRoot indicates that the container should be run as a non-root user. If the RunAsUser + // RunAsNonRoot indicates that the container should be run as a non-root user. If the RunAsUser // field is not explicitly set then the kubelet may check the image for a specified user or // perform defaulting to specify a user. - RunAsNonRoot bool `json:"runAsNonRoot,omitempty" description:"indicates the container must be run as a non-root user either by specifying the runAsUser or in the image specification"` + RunAsNonRoot bool `json:"runAsNonRoot,omitempty"` } // SELinuxOptions are the labels to be applied to the container type SELinuxOptions struct { - // SELinux user label - User string `json:"user,omitempty" description:"the user label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md"` + // User is a SELinux user label that applies to the container. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md + User string `json:"user,omitempty"` - // SELinux role label - Role string `json:"role,omitempty" description:"the role label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md"` + // Role is a SELinux role label that applies to the container. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md + Role string `json:"role,omitempty"` - // SELinux type label - Type string `json:"type,omitempty" description:"the type label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md"` + // Type is a SELinux type label that applies to the container. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md + Type string `json:"type,omitempty"` - // SELinux level label. - Level string `json:"level,omitempty" description:"the level label to apply to the container; see http://releases.k8s.io/HEAD/docs/user-guide/labels.md"` + // Level is SELinux level label that applies to the container. + // More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md + Level string `json:"level,omitempty"` } -// RangeAllocation is not a public type +// RangeAllocation is not a public type. type RangeAllocation struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - Range string `json:"range" description:"a range string that identifies the range represented by 'data'; required"` - Data []byte `json:"data" description:"a bit array containing all allocated addresses in the previous segment"` + // Range is string that identifies the range represented by 'data'. + Range string `json:"range"` + // Data is a bit array containing all allocated addresses in the previous segment. + Data []byte `json:"data"` } // A ThirdPartyResource is a generic representation of a resource, it is used by add-ons and plugins to add new resource // types to the API. It consists of one or more Versions of the api. type ThirdPartyResource struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - Description string `json:"description,omitempty" description:"The description of this object"` + // The description of this object. + Description string `json:"description,omitempty"` - Versions []APIVersion `json:"versions,omitempty" description:"The versions for this third party object"` + // The versions for this third party object. + Versions []APIVersion `json:"versions,omitempty"` } +// ThirdPartyResourceList is a list of ThirdPartyResource. type ThirdPartyResourceList struct { TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://docs.k8s.io/api-conventions.md#metadata"` + // Standard list metadata. + // More info: http://docs.k8s.io/api-conventions.md#metadata + ListMeta `json:"metadata,omitempty"` - Items []ThirdPartyResource `json:"items" description:"items is a list of schema objects"` + // Items is a list of schema objects. + Items []ThirdPartyResource `json:"items"` } // An APIVersion represents a single concrete version of an object model. type APIVersion struct { - Name string `json:"name,omitempty" description:"name of this version (e.g. 'v1')"` - APIGroup string `json:"apiGroup,omitempty" description:"The API group to add this object into, default 'experimental'"` + // Name of this version (e.g. 'v1'). + Name string `json:"name,omitempty"` + // The API group to add this object into. + // Default 'experimental'. + APIGroup string `json:"apiGroup,omitempty"` } -// An internal object, used for versioned storage in etcd. Not exposed to the end user. +// An internal object, used for versioned storage in etcd. Not exposed to the end user. type ThirdPartyResourceData struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata"` + TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + ObjectMeta `json:"metadata,omitempty"` - Data []byte `json:"name,omitempty" description:"the raw JSON data for this data"` + // The raw JSON data for this data. + Data []byte `json:"name,omitempty"` } diff --git a/pkg/api/v1/types_swagger_doc_generated.go b/pkg/api/v1/types_swagger_doc_generated.go new file mode 100644 index 0000000000..73da4e60ff --- /dev/null +++ b/pkg/api/v1/types_swagger_doc_generated.go @@ -0,0 +1,1411 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1 + +// This file contains a collection of methods that can be used from go-resful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser. (e.g. TODO(andronat):... || TODO:...) iff +// are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-generated-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_APIVersion = map[string]string{ + "": "An APIVersion represents a single concrete version of an object model.", + "name": "Name of this version (e.g. 'v1').", + "apiGroup": "The API group to add this object into. Default 'experimental'.", +} + +func (APIVersion) SwaggerDoc() map[string]string { + return map_APIVersion +} + +var map_AWSElasticBlockStoreVolumeSource = map[string]string{ + "": "Represents a persistent disk resource in AWS.\n\nAn Amazon Elastic Block Store (EBS) must already be created, formatted, and reside in the same AWS zone as the kubelet before it can be mounted. Note: Amazon EBS volumes can be mounted to only one instance at a time.", + "volumeID": "Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore", + "fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore", + "partition": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).", + "readOnly": "Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore", +} + +func (AWSElasticBlockStoreVolumeSource) SwaggerDoc() map[string]string { + return map_AWSElasticBlockStoreVolumeSource +} + +var map_Binding = map[string]string{ + "": "Binding ties one object to another. For example, a pod is bound to a node by a scheduler.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "target": "The target object that you want to bind to the standard object.", +} + +func (Binding) SwaggerDoc() map[string]string { + return map_Binding +} + +var map_Capabilities = map[string]string{ + "": "Adds and removes POSIX capabilities from running containers.", + "add": "Added capabilities", + "drop": "Removed capabilities", +} + +func (Capabilities) SwaggerDoc() map[string]string { + return map_Capabilities +} + +var map_ComponentCondition = map[string]string{ + "": "Information about the condition of a component.", + "type": "Type of condition for a component. Valid value: \"Healthy\"", + "status": "Status of the condition for a component. Valid values for \"Healthy\": \"True\", \"False\", or \"Unknown\".", + "message": "Message about the condition for a component. For example, information about a health check.", + "error": "Condition error code for a component. For example, a health check error code.", +} + +func (ComponentCondition) SwaggerDoc() map[string]string { + return map_ComponentCondition +} + +var map_ComponentStatus = map[string]string{ + "": "ComponentStatus (and ComponentStatusList) holds the cluster validation info.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "conditions": "List of component conditions observed", +} + +func (ComponentStatus) SwaggerDoc() map[string]string { + return map_ComponentStatus +} + +var map_ComponentStatusList = map[string]string{ + "": "Status of all the conditions for the component as a list of ComponentStatus objects.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of ComponentStatus objects.", +} + +func (ComponentStatusList) SwaggerDoc() map[string]string { + return map_ComponentStatusList +} + +var map_Container = map[string]string{ + "": "A single application container that you want to run within a pod.", + "name": "Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.", + "image": "Docker image name. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md", + "command": "Entrypoint array. Not executed within a shell. The docker image's entrypoint is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands", + "args": "Arguments to the entrypoint. The docker image's cmd is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md#containers-and-commands", + "workingDir": "Container's working directory. Defaults to Docker's default. D efaults to image's default. Cannot be updated.", + "ports": "List of ports to expose from the container. Cannot be updated.", + "env": "List of environment variables to set in the container. Cannot be updated.", + "resources": "Compute Resources required by this container. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources", + "volumeMounts": "Pod volumes to mount into the container's filesyste. Cannot be updated.", + "livenessProbe": "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes", + "readinessProbe": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes", + "lifecycle": "Actions that the management system should take in response to container lifecycle events. Cannot be updated.", + "terminationMessagePath": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated.", + "imagePullPolicy": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md#updating-images", + "securityContext": "Security options the pod should run with. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md", + "stdin": "Whether this container should allocate a buffer for stdin in the container runtime. Default is false.", + "tty": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.", +} + +func (Container) SwaggerDoc() map[string]string { + return map_Container +} + +var map_ContainerPort = map[string]string{ + "": "ContainerPort represents a network port in a single container.", + "name": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.", + "hostPort": "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.", + "containerPort": "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.", + "protocol": "Protocol for port. Must be UDP or TCP. Defaults to \"TCP\".", + "hostIP": "What host IP to bind the external port to.", +} + +func (ContainerPort) SwaggerDoc() map[string]string { + return map_ContainerPort +} + +var map_ContainerState = map[string]string{ + "": "ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.", + "waiting": "Details about a waiting container", + "running": "Details about a running container", + "terminated": "Details about a terminated container", +} + +func (ContainerState) SwaggerDoc() map[string]string { + return map_ContainerState +} + +var map_ContainerStateRunning = map[string]string{ + "": "ContainerStateRunning is a running state of a container.", + "startedAt": "Time at which the container was last (re-)started", +} + +func (ContainerStateRunning) SwaggerDoc() map[string]string { + return map_ContainerStateRunning +} + +var map_ContainerStateTerminated = map[string]string{ + "": "ContainerStateTerminated is a terminated state of a container.", + "exitCode": "Exit status from the last termination of the container", + "signal": "Signal from the last termination of the container", + "reason": "(brief) reason from the last termination of the container", + "message": "Message regarding the last termination of the container", + "startedAt": "Time at which previous execution of the container started", + "finishedAt": "Time at which the container last terminated", + "containerID": "Container's ID in the format 'docker://'", +} + +func (ContainerStateTerminated) SwaggerDoc() map[string]string { + return map_ContainerStateTerminated +} + +var map_ContainerStateWaiting = map[string]string{ + "": "ContainerStateWaiting is a waiting state of a container.", + "reason": "(brief) reason the container is not yet running, such as pulling its image.", +} + +func (ContainerStateWaiting) SwaggerDoc() map[string]string { + return map_ContainerStateWaiting +} + +var map_ContainerStatus = map[string]string{ + "": "ContainerStatus contains details for the current status of this container.", + "name": "This must be a DNS_LABEL. Each container in a pod must have a unique name. Cannot be updated.", + "state": "Details about the container's current condition.", + "lastState": "Details about the container's last termination condition.", + "ready": "Specifies whether the container has passed its readiness probe.", + "restartCount": "The number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed. Note that this is calculated from dead containers. But those containers are subject to garbage collection. This value will get capped at 5 by GC.", + "image": "The image the container is running. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md", + "imageID": "ImageID of the container's image.", + "containerID": "Container's ID in the format 'docker://'. More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#container-information", +} + +func (ContainerStatus) SwaggerDoc() map[string]string { + return map_ContainerStatus +} + +var map_Daemon = map[string]string{ + "": "Daemon represents the configuration of a daemon.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the specification of the desired behavior of this daemon. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Status is the current status of this daemon. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (Daemon) SwaggerDoc() map[string]string { + return map_Daemon +} + +var map_DaemonList = map[string]string{ + "": "DaemonList is a collection of daemon.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "items": "Items is a list of daemons.", +} + +func (DaemonList) SwaggerDoc() map[string]string { + return map_DaemonList +} + +var map_DaemonSpec = map[string]string{ + "": "DaemonSpec is the specification of a daemon.", + "selector": "Selector is a label query over pods that are managed by the daemon. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors", + "template": "Template is the object that describes the pod that will be created. The Daemon will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template", +} + +func (DaemonSpec) SwaggerDoc() map[string]string { + return map_DaemonSpec +} + +var map_DaemonStatus = map[string]string{ + "": "DaemonStatus represents the current status of a daemon.", + "currentNumberScheduled": "CurrentNumberScheduled is the number of nodes that are running exactly 1 copy of the daemon and are supposed to run the daemon.", + "numberMisscheduled": "NumberMisscheduled is the number of nodes that are running the daemon, but are not supposed to run the daemon.", + "desiredNumberScheduled": "DesiredNumberScheduled is the total number of nodes that should be running the daemon (including nodes correctly running the daemon).", +} + +func (DaemonStatus) SwaggerDoc() map[string]string { + return map_DaemonStatus +} + +var map_DeleteOptions = map[string]string{ + "": "DeleteOptions may be provided when deleting an API object", + "gracePeriodSeconds": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", +} + +func (DeleteOptions) SwaggerDoc() map[string]string { + return map_DeleteOptions +} + +var map_EmptyDirVolumeSource = map[string]string{ + "": "EmptyDirVolumeSource is temporary directory that shares a pod's lifetime.", + "medium": "What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir", +} + +func (EmptyDirVolumeSource) SwaggerDoc() map[string]string { + return map_EmptyDirVolumeSource +} + +var map_EndpointAddress = map[string]string{ + "": "EndpointAddress is a tuple that describes single IP address.", + "ip": "The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24).", + "targetRef": "Reference to object providing the endpoint.", +} + +func (EndpointAddress) SwaggerDoc() map[string]string { + return map_EndpointAddress +} + +var map_EndpointPort = map[string]string{ + "": "EndpointPort is a tuple that describes a single port.", + "name": "The name of this port (corresponds to ServicePort.Name). Must be a DNS_LABEL. Optional only if one port is defined.", + "port": "The port number of the endpoint.", + "protocol": "The IP protocol for this port. Must be UDP or TCP. Default is TCP.", +} + +func (EndpointPort) SwaggerDoc() map[string]string { + return map_EndpointPort +} + +var map_EndpointSubset = map[string]string{ + "": "EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n }\nThe resulting set of endpoints can be viewed as:\n a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],\n b: [ 10.10.1.1:309, 10.10.2.2:309 ]", + "addresses": "IP addresses which offer the related ports.", + "ports": "Port numbers available on the related IP addresses.", +} + +func (EndpointSubset) SwaggerDoc() map[string]string { + return map_EndpointSubset +} + +var map_Endpoints = map[string]string{ + "": "Endpoints is a collection of endpoints that implement the actual service. Example:\n Name: \"mysvc\",\n Subsets: [\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n },\n {\n Addresses: [{\"ip\": \"10.10.3.3\"}],\n Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n },\n ]", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "subsets": "The set of all endpoints is the union of all subsets. Sets of addresses and ports that comprise a service.", +} + +func (Endpoints) SwaggerDoc() map[string]string { + return map_Endpoints +} + +var map_EndpointsList = map[string]string{ + "": "EndpointsList is a list of endpoints.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of endpoints.", +} + +func (EndpointsList) SwaggerDoc() map[string]string { + return map_EndpointsList +} + +var map_EnvVar = map[string]string{ + "": "EnvVar represents an environment variable present in a Container.", + "name": "Name of the environment variable. Must be a C_IDENTIFIER.", + "value": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\".", + "valueFrom": "Source for the environment variable's value. Cannot be used if value is not empty.", +} + +func (EnvVar) SwaggerDoc() map[string]string { + return map_EnvVar +} + +var map_EnvVarSource = map[string]string{ + "": "EnvVarSource represents a source for the value of an EnvVar.", + "fieldRef": "Selects a field of the pod. Only name and namespace are supported.", +} + +func (EnvVarSource) SwaggerDoc() map[string]string { + return map_EnvVarSource +} + +var map_Event = map[string]string{ + "": "Event is a report of an event somewhere in the cluster.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "involvedObject": "The object that this event is about.", + "reason": "This should be a short, machine understandable string that gives the reason for the transition into the object's current status.", + "message": "A human-readable description of the status of this operation.", + "source": "The component reporting this event. Should be a short machine understandable string.", + "firstTimestamp": "The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)", + "lastTimestamp": "The time at which the most recent occurrence of this event was recorded.", + "count": "The number of times this event has occurred.", +} + +func (Event) SwaggerDoc() map[string]string { + return map_Event +} + +var map_EventList = map[string]string{ + "": "EventList is a list of events.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of events", +} + +func (EventList) SwaggerDoc() map[string]string { + return map_EventList +} + +var map_EventSource = map[string]string{ + "": "EventSource contains information for an event.", + "component": "Component from which the event is generated.", + "host": "Host name on which the event is generated.", +} + +func (EventSource) SwaggerDoc() map[string]string { + return map_EventSource +} + +var map_ExecAction = map[string]string{ + "": "ExecAction describes a \"run in container\" action.", + "command": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", +} + +func (ExecAction) SwaggerDoc() map[string]string { + return map_ExecAction +} + +var map_GCEPersistentDiskVolumeSource = map[string]string{ + "": "GCEPersistentDiskVolumeSource represents a Persistent Disk resource in Google Compute Engine.\n\nA GCE PD must exist and be formatted before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once.", + "pdName": "Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk", + "fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk", + "partition": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk", + "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk", +} + +func (GCEPersistentDiskVolumeSource) SwaggerDoc() map[string]string { + return map_GCEPersistentDiskVolumeSource +} + +var map_GitRepoVolumeSource = map[string]string{ + "": "GitRepoVolumeSource represents a volume that is pulled from git when the pod is created.", + "repository": "Repository URL", + "revision": "Commit hash for the specified revision.", +} + +func (GitRepoVolumeSource) SwaggerDoc() map[string]string { + return map_GitRepoVolumeSource +} + +var map_GlusterfsVolumeSource = map[string]string{ + "": "GlusterfsVolumeSource represents a Glusterfs Mount that lasts the lifetime of a pod.", + "endpoints": "EndpointsName is the endpoint name that details Glusterfs topology. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod", + "path": "Path is the Glusterfs volume path. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod", + "readOnly": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md#create-a-pod", +} + +func (GlusterfsVolumeSource) SwaggerDoc() map[string]string { + return map_GlusterfsVolumeSource +} + +var map_HTTPGetAction = map[string]string{ + "": "HTTPGetAction describes an action based on HTTP Get requests.", + "path": "Path to access on the HTTP server.", + "port": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "host": "Host name to connect to, defaults to the pod IP.", + "scheme": "Scheme to use for connecting to the host. Defaults to HTTP.", +} + +func (HTTPGetAction) SwaggerDoc() map[string]string { + return map_HTTPGetAction +} + +var map_Handler = map[string]string{ + "": "Handler defines a specific action that should be taken", + "exec": "One and only one of the following should be specified. Exec specifies the action to take.", + "httpGet": "HTTPGet specifies the http request to perform.", + "tcpSocket": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported", +} + +func (Handler) SwaggerDoc() map[string]string { + return map_Handler +} + +var map_HostPathVolumeSource = map[string]string{ + "": "HostPathVolumeSource represents bare host directory volume.", + "path": "Path of the directory on the host. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath", +} + +func (HostPathVolumeSource) SwaggerDoc() map[string]string { + return map_HostPathVolumeSource +} + +var map_ISCSIVolumeSource = map[string]string{ + "": "ISCSIVolumeSource describes an ISCSI Disk can only be mounted as read/write once.", + "targetPortal": "iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).", + "iqn": "Target iSCSI Qualified Name.", + "lun": "iSCSI target lun number.", + "fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#iscsi", + "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", +} + +func (ISCSIVolumeSource) SwaggerDoc() map[string]string { + return map_ISCSIVolumeSource +} + +var map_Lifecycle = map[string]string{ + "": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.", + "postStart": "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details", + "preStop": "PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: http://releases.k8s.io/HEAD/docs/user-guide/container-environment.md#hook-details", +} + +func (Lifecycle) SwaggerDoc() map[string]string { + return map_Lifecycle +} + +var map_LimitRange = map[string]string{ + "": "LimitRange sets resource usage limits for each kind of resource in a Namespace.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the limits enforced. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (LimitRange) SwaggerDoc() map[string]string { + return map_LimitRange +} + +var map_LimitRangeItem = map[string]string{ + "": "LimitRangeItem defines a min/max usage limit for any resource that matches on kind.", + "type": "Type of resource that this limit applies to.", + "max": "Max usage constraints on this kind by resource name.", + "min": "Min usage constraints on this kind by resource name.", + "default": "Default usage constraints on this kind by resource name. Default values on this kind by resource name if omitted.", +} + +func (LimitRangeItem) SwaggerDoc() map[string]string { + return map_LimitRangeItem +} + +var map_LimitRangeList = map[string]string{ + "": "LimitRangeList is a list of LimitRange items.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "Items is a list of LimitRange objects. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md", +} + +func (LimitRangeList) SwaggerDoc() map[string]string { + return map_LimitRangeList +} + +var map_LimitRangeSpec = map[string]string{ + "": "LimitRangeSpec defines a min/max usage limit for resources that match on kind.", + "limits": "Limits is the list of LimitRangeItem objects that are enforced.", +} + +func (LimitRangeSpec) SwaggerDoc() map[string]string { + return map_LimitRangeSpec +} + +var map_List = map[string]string{ + "": "List holds a list of objects, which may not be known by the server.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of objects", +} + +func (List) SwaggerDoc() map[string]string { + return map_List +} + +var map_ListMeta = map[string]string{ + "": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects.", + "selfLink": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "resourceVersion": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", +} + +func (ListMeta) SwaggerDoc() map[string]string { + return map_ListMeta +} + +var map_ListOptions = map[string]string{ + "": "ListOptions is the query options to a standard REST list call.", + "labelSelector": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "fieldSelector": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "watch": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "resourceVersion": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", +} + +func (ListOptions) SwaggerDoc() map[string]string { + return map_ListOptions +} + +var map_LoadBalancerIngress = map[string]string{ + "": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.", + "ip": "IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)", + "hostname": "Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)", +} + +func (LoadBalancerIngress) SwaggerDoc() map[string]string { + return map_LoadBalancerIngress +} + +var map_LoadBalancerStatus = map[string]string{ + "": "LoadBalancerStatus represents the status of a load-balancer.", + "ingress": "Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points.", +} + +func (LoadBalancerStatus) SwaggerDoc() map[string]string { + return map_LoadBalancerStatus +} + +var map_LocalObjectReference = map[string]string{ + "": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "name": "Name of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names", +} + +func (LocalObjectReference) SwaggerDoc() map[string]string { + return map_LocalObjectReference +} + +var map_NFSVolumeSource = map[string]string{ + "": "NFSVolumeSource represents an NFS mount that lasts the lifetime of a pod", + "server": "Server is the hostname or IP address of the NFS server. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs", + "path": "Path that is exported by the NFS server. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs", + "readOnly": "ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs", +} + +func (NFSVolumeSource) SwaggerDoc() map[string]string { + return map_NFSVolumeSource +} + +var map_Namespace = map[string]string{ + "": "Namespace provides a scope for Names. Use of multiple namespaces is optional.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the behavior of the Namespace. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Status describes the current status of a Namespace. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (Namespace) SwaggerDoc() map[string]string { + return map_Namespace +} + +var map_NamespaceList = map[string]string{ + "": "NamespaceList is a list of Namespaces.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "Items is the list of Namespace objects in the list. More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md", +} + +func (NamespaceList) SwaggerDoc() map[string]string { + return map_NamespaceList +} + +var map_NamespaceSpec = map[string]string{ + "": "NamespaceSpec describes the attributes on a Namespace.", + "finalizers": "Finalizers is an opaque list of values that must be empty to permanently remove object from storage. More info: http://releases.k8s.io/HEAD/docs/design/namespaces.md#finalizers", +} + +func (NamespaceSpec) SwaggerDoc() map[string]string { + return map_NamespaceSpec +} + +var map_NamespaceStatus = map[string]string{ + "": "NamespaceStatus is information about the current status of a Namespace.", + "phase": "Phase is the current lifecycle phase of the namespace. More info: http://releases.k8s.io/HEAD/docs/design/namespaces.md#phases", +} + +func (NamespaceStatus) SwaggerDoc() map[string]string { + return map_NamespaceStatus +} + +var map_Node = map[string]string{ + "": "Node is a worker node in Kubernetes, formerly known as minion. Each node will have a unique identifier in the cache (i.e. in etcd).", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the behavior of a node. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Most recently observed status of the node. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (Node) SwaggerDoc() map[string]string { + return map_Node +} + +var map_NodeAddress = map[string]string{ + "": "NodeAddress contains information for the node's address.", + "type": "Node address type, one of Hostname, ExternalIP or InternalIP.", + "address": "The node address.", +} + +func (NodeAddress) SwaggerDoc() map[string]string { + return map_NodeAddress +} + +var map_NodeCondition = map[string]string{ + "": "NodeCondition contains condition infromation for a node.", + "type": "Type of node condition, currently only Ready.", + "status": "Status of the condition, one of True, False, Unknown.", + "lastHeartbeatTime": "Last time we got an update on a given condition.", + "lastTransitionTime": "Last time the condition transit from one status to another.", + "reason": "(brief) reason for the condition's last transition.", + "message": "Human readable message indicating details about last transition.", +} + +func (NodeCondition) SwaggerDoc() map[string]string { + return map_NodeCondition +} + +var map_NodeList = map[string]string{ + "": "NodeList is the whole list of all Nodes which have been registered with master.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of nodes", +} + +func (NodeList) SwaggerDoc() map[string]string { + return map_NodeList +} + +var map_NodeSpec = map[string]string{ + "": "NodeSpec describes the attributes that a node is created with.", + "podCIDR": "PodCIDR represents the pod IP range assigned to the node.", + "externalID": "External ID of the node assigned by some machine database (e.g. a cloud provider). Deprecated.", + "providerID": "ID of the node assigned by the cloud provider in the format: ://", + "unschedulable": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#manual-node-administration\"`", +} + +func (NodeSpec) SwaggerDoc() map[string]string { + return map_NodeSpec +} + +var map_NodeStatus = map[string]string{ + "": "NodeStatus is information about the current status of a node.", + "capacity": "Capacity represents the available resources of a node. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity for more details.", + "phase": "NodePhase is the recently observed lifecycle phase of the node. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase", + "conditions": "Conditions is an array of current observed node conditions. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition", + "addresses": "List of addresses reachable to the node. Queried from cloud provider, if available. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses", + "nodeInfo": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node. More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-info", +} + +func (NodeStatus) SwaggerDoc() map[string]string { + return map_NodeStatus +} + +var map_NodeSystemInfo = map[string]string{ + "": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node.", + "machineID": "MachineID is the machine-id reported by the node.", + "systemUUID": "SystemUUID is the system-uuid reported by the node.", + "bootID": "BootID is the boot-id reported by the node.", + "kernelVersion": "Kernel version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64)", + "osImage": "OS image used reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy))", + "containerRuntimeVersion": "Container runtime version reported by the node through runtime remote API (e.g. docker://1.5.0)", + "kubeletVersion": "Kubelet version reported by the node.", + "kubeProxyVersion": "Kube-proxy version reported by the node.", +} + +func (NodeSystemInfo) SwaggerDoc() map[string]string { + return map_NodeSystemInfo +} + +var map_ObjectFieldSelector = map[string]string{ + "": "ObjectFieldSelector selects an APIVersioned field of an object.", + "apiVersion": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".", + "fieldPath": "Path of the field to select in the specified API version.", +} + +func (ObjectFieldSelector) SwaggerDoc() map[string]string { + return map_ObjectFieldSelector +} + +var map_ObjectMeta = map[string]string{ + "": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "name": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names", + "generateName": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#idempotency", + "namespace": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md", + "selfLink": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "uid": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids", + "resourceVersion": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", + "generation": "A sequence number representing a specific generation of the desired state. Currently only implemented by replication controllers. Populated by the system. Read-only.", + "creationTimestamp": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "deletionTimestamp": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource will be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field. Once set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet will send a hard termination signal to the container. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "deletionGracePeriodSeconds": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", + "labels": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md", + "annotations": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://releases.k8s.io/HEAD/docs/user-guide/annotations.md", +} + +func (ObjectMeta) SwaggerDoc() map[string]string { + return map_ObjectMeta +} + +var map_ObjectReference = map[string]string{ + "": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "kind": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "namespace": "Namespace of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/namespaces.md", + "name": "Name of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names", + "uid": "UID of the referent. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#uids", + "apiVersion": "API version of the referent.", + "resourceVersion": "Specific resourceVersion to which this reference is made, if any. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", + "fieldPath": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.", +} + +func (ObjectReference) SwaggerDoc() map[string]string { + return map_ObjectReference +} + +var map_PersistentVolume = map[string]string{ + "": "PersistentVolume (PV) is a storage resource provisioned by an administrator. It is analogous to a node. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines a specification of a persistent volume owned by the cluster. Provisioned by an administrator. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes", + "status": "Status represents the current information/status for the persistent volume. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistent-volumes", +} + +func (PersistentVolume) SwaggerDoc() map[string]string { + return map_PersistentVolume +} + +var map_PersistentVolumeClaim = map[string]string{ + "": "PersistentVolumeClaim is a user's request for and claim to a persistent volume", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the desired characteristics of a volume requested by a pod author. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims", + "status": "Status represents the current information/status of a persistent volume claim. Read-only. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims", +} + +func (PersistentVolumeClaim) SwaggerDoc() map[string]string { + return map_PersistentVolumeClaim +} + +var map_PersistentVolumeClaimList = map[string]string{ + "": "PersistentVolumeClaimList is a list of PersistentVolumeClaim items.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "A list of persistent volume claims. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims", +} + +func (PersistentVolumeClaimList) SwaggerDoc() map[string]string { + return map_PersistentVolumeClaimList +} + +var map_PersistentVolumeClaimSpec = map[string]string{ + "": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "accessModes": "AccessModes contains the desired access modes the volume should have. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1", + "resources": "Resources represents the minimum resources the volume should have. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#resources", + "volumeName": "VolumeName is the binding reference to the PersistentVolume backing this claim.", +} + +func (PersistentVolumeClaimSpec) SwaggerDoc() map[string]string { + return map_PersistentVolumeClaimSpec +} + +var map_PersistentVolumeClaimStatus = map[string]string{ + "": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", + "phase": "Phase represents the current phase of PersistentVolumeClaim.", + "accessModes": "AccessModes contains the actual access modes the volume backing the PVC has. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes-1", + "capacity": "Represents the actual resources of the underlying volume.", +} + +func (PersistentVolumeClaimStatus) SwaggerDoc() map[string]string { + return map_PersistentVolumeClaimStatus +} + +var map_PersistentVolumeClaimVolumeSource = map[string]string{ + "": "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).", + "claimName": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims", + "readOnly": "Will force the ReadOnly setting in VolumeMounts. Default false.", +} + +func (PersistentVolumeClaimVolumeSource) SwaggerDoc() map[string]string { + return map_PersistentVolumeClaimVolumeSource +} + +var map_PersistentVolumeList = map[string]string{ + "": "PersistentVolumeList is a list of PersistentVolume items.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of persistent volumes. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md", +} + +func (PersistentVolumeList) SwaggerDoc() map[string]string { + return map_PersistentVolumeList +} + +var map_PersistentVolumeSource = map[string]string{ + "": "PersistentVolumeSource is similar to VolumeSource but meant for the administrator who creates PVs. Exactly one of its members must be set.", + "gcePersistentDisk": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk", + "awsElasticBlockStore": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore", + "hostPath": "HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for development and testing only. On-host storage is not supported in any way. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath", + "glusterfs": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md", + "nfs": "NFS represents an NFS mount on the host. Provisioned by an admin. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs", + "rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md", + "iscsi": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.", +} + +func (PersistentVolumeSource) SwaggerDoc() map[string]string { + return map_PersistentVolumeSource +} + +var map_PersistentVolumeSpec = map[string]string{ + "": "PersistentVolumeSpec is the specification of a persistent volume.", + "capacity": "A description of the persistent volume's resources and capacity. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#capacity", + "accessModes": "AccessModes contains all ways the volume can be mounted. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#access-modes", + "claimRef": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#binding", + "persistentVolumeReclaimPolicy": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recyling must be supported by the volume plugin underlying this persistent volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#recycling-policy", +} + +func (PersistentVolumeSpec) SwaggerDoc() map[string]string { + return map_PersistentVolumeSpec +} + +var map_PersistentVolumeStatus = map[string]string{ + "": "PersistentVolumeStatus is the current status of a persistent volume.", + "phase": "Phase indicates if a volume is available, bound to a claim, or released by a claim. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#phase", + "message": "A human-readable message indicating details about why the volume is in this state.", + "reason": "Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.", +} + +func (PersistentVolumeStatus) SwaggerDoc() map[string]string { + return map_PersistentVolumeStatus +} + +var map_Pod = map[string]string{ + "": "Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Specification of the desired behavior of the pod. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (Pod) SwaggerDoc() map[string]string { + return map_Pod +} + +var map_PodAttachOptions = map[string]string{ + "": "PodAttachOptions is the query options to a Pod's remote attach call.", + "stdin": "Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.", + "stdout": "Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.", + "stderr": "Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.", + "tty": "TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.", + "container": "The container in which to execute the command. Defaults to only container if there is only one container in the pod.", +} + +func (PodAttachOptions) SwaggerDoc() map[string]string { + return map_PodAttachOptions +} + +var map_PodCondition = map[string]string{ + "": "PodCondition contains details for the current condition of this pod.", + "type": "Type is the type of the condition. Currently only Ready. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions", + "status": "Status is the status of the condition. Can be True, False, Unknown. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions", +} + +func (PodCondition) SwaggerDoc() map[string]string { + return map_PodCondition +} + +var map_PodExecOptions = map[string]string{ + "": "PodExecOptions is the query options to a Pod's remote exec call.", + "stdin": "Redirect the standard input stream of the pod for this call. Defaults to false.", + "stdout": "Redirect the standard output stream of the pod for this call. Defaults to true.", + "stderr": "Redirect the standard error stream of the pod for this call. Defaults to true.", + "tty": "TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.", + "container": "Container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "command": "Command is the remote command to execute. argv array. Not executed within a shell.", +} + +func (PodExecOptions) SwaggerDoc() map[string]string { + return map_PodExecOptions +} + +var map_PodList = map[string]string{ + "": "PodList is a list of Pods.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of pods. More info: http://releases.k8s.io/HEAD/docs/user-guide/pods.md", +} + +func (PodList) SwaggerDoc() map[string]string { + return map_PodList +} + +var map_PodLogOptions = map[string]string{ + "": "PodLogOptions is the query options for a Pod's logs REST call.", + "container": "The container for which to stream logs. Defaults to only container if there is one container in the pod.", + "follow": "Follow the log stream of the pod. Defaults to false.", + "previous": "Return previous terminated container logs. Defaults to false.", +} + +func (PodLogOptions) SwaggerDoc() map[string]string { + return map_PodLogOptions +} + +var map_PodProxyOptions = map[string]string{ + "": "PodProxyOptions is the query options to a Pod's proxy call.", + "path": "Path is the URL path to use for the current proxy request to pod.", +} + +func (PodProxyOptions) SwaggerDoc() map[string]string { + return map_PodProxyOptions +} + +var map_PodSpec = map[string]string{ + "": "PodSpec is a description of a pod.", + "volumes": "List of volumes that can be mounted by containers belonging to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md", + "containers": "List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/containers.md", + "restartPolicy": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#restartpolicy", + "terminationGracePeriodSeconds": "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + "activeDeadlineSeconds": "Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.", + "dnsPolicy": "Set DNS policy for containers within the pod. One of 'ClusterFirst' or 'Default'. Defaults to \"ClusterFirst\".", + "nodeSelector": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: http://releases.k8s.io/HEAD/docs/user-guide/node-selection/README.md", + "serviceAccountName": "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md", + "serviceAccount": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.", + "nodeName": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.", + "hostNetwork": "Host networking requested for this pod. Uses the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.", + "imagePullSecrets": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: http://releases.k8s.io/HEAD/docs/user-guide/images.md#specifying-imagepullsecrets-on-a-pod", +} + +func (PodSpec) SwaggerDoc() map[string]string { + return map_PodSpec +} + +var map_PodStatus = map[string]string{ + "": "PodStatus represents information about the status of a pod. Status may trail the actual state of a system.", + "phase": "Current condition of the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-phase", + "conditions": "Current service state of pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#pod-conditions", + "message": "A human readable message indicating details about why the pod is in this condition.", + "reason": "A brief CamelCase message indicating details about why the pod is in this state. e.g. 'OutOfDisk'", + "hostIP": "IP address of the host to which the pod is assigned. Empty if not yet scheduled.", + "podIP": "IP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated.", + "startTime": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.", + "containerStatuses": "The list has one entry per container in the manifest. Each entry is currently the output of `docker inspect`. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-statuses", +} + +func (PodStatus) SwaggerDoc() map[string]string { + return map_PodStatus +} + +var map_PodStatusResult = map[string]string{ + "": "PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "status": "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (PodStatusResult) SwaggerDoc() map[string]string { + return map_PodStatusResult +} + +var map_PodTemplate = map[string]string{ + "": "PodTemplate describes a template for creating copies of a predefined pod.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "template": "Template defines the pods that will be created from this pod template. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (PodTemplate) SwaggerDoc() map[string]string { + return map_PodTemplate +} + +var map_PodTemplateList = map[string]string{ + "": "PodTemplateList is a list of PodTemplates.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of pod templates", +} + +func (PodTemplateList) SwaggerDoc() map[string]string { + return map_PodTemplateList +} + +var map_PodTemplateSpec = map[string]string{ + "": "PodTemplateSpec describes the data a pod should have when created from a template", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Specification of the desired behavior of the pod. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (PodTemplateSpec) SwaggerDoc() map[string]string { + return map_PodTemplateSpec +} + +var map_Probe = map[string]string{ + "": "Probe describes a liveness probe to be examined to the container.", + "initialDelaySeconds": "Number of seconds after the container has started before liveness probes are initiated. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes", + "timeoutSeconds": "Number of seconds after which liveness probes timeout. Defaults to 1 second. More info: http://releases.k8s.io/HEAD/docs/user-guide/pod-states.md#container-probes", +} + +func (Probe) SwaggerDoc() map[string]string { + return map_Probe +} + +var map_RBDVolumeSource = map[string]string{ + "": "RBDVolumeSource represents a Rados Block Device Mount that lasts the lifetime of a pod", + "monitors": "A collection of Ceph monitors. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it", + "image": "The rados image name. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it", + "fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#rbd", + "pool": "The rados pool name. Default is rbd. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it.", + "user": "The rados user name. Default is admin. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it", + "keyring": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it", + "secretRef": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is empty. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it", + "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md#how-to-use-it", +} + +func (RBDVolumeSource) SwaggerDoc() map[string]string { + return map_RBDVolumeSource +} + +var map_RangeAllocation = map[string]string{ + "": "RangeAllocation is not a public type.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "range": "Range is string that identifies the range represented by 'data'.", + "data": "Data is a bit array containing all allocated addresses in the previous segment.", +} + +func (RangeAllocation) SwaggerDoc() map[string]string { + return map_RangeAllocation +} + +var map_ReplicationController = map[string]string{ + "": "ReplicationController represents the configuration of a replication controller.", + "metadata": "If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the specification of the desired behavior of the replication controller. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Status is the most recently observed status of the replication controller. This data may be out of date by some window of time. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (ReplicationController) SwaggerDoc() map[string]string { + return map_ReplicationController +} + +var map_ReplicationControllerList = map[string]string{ + "": "ReplicationControllerList is a collection of replication controllers.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of replication controllers. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md", +} + +func (ReplicationControllerList) SwaggerDoc() map[string]string { + return map_ReplicationControllerList +} + +var map_ReplicationControllerSpec = map[string]string{ + "": "ReplicationControllerSpec is the specification of a replication controller.", + "replicas": "Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller", + "selector": "Selector is a label query over pods that should match the Replicas count. If Selector is empty, it is defaulted to the labels present on the Pod template. Label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md#label-selectors", + "template": "Template is the object that describes the pod that will be created if insufficient replicas are detected. This takes precedence over a TemplateRef. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#pod-template", +} + +func (ReplicationControllerSpec) SwaggerDoc() map[string]string { + return map_ReplicationControllerSpec +} + +var map_ReplicationControllerStatus = map[string]string{ + "": "ReplicationControllerStatus represents the current status of a replication controller.", + "replicas": "Replicas is the most recently oberved number of replicas. More info: http://releases.k8s.io/HEAD/docs/user-guide/replication-controller.md#what-is-a-replication-controller", + "observedGeneration": "ObservedGeneration reflects the generation of the most recently observed replication controller.", +} + +func (ReplicationControllerStatus) SwaggerDoc() map[string]string { + return map_ReplicationControllerStatus +} + +var map_ResourceQuota = map[string]string{ + "": "ResourceQuota sets aggregate quota restrictions enforced per namespace", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the desired quota. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Status defines the actual enforced quota and its current usage. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (ResourceQuota) SwaggerDoc() map[string]string { + return map_ResourceQuota +} + +var map_ResourceQuotaList = map[string]string{ + "": "ResourceQuotaList is a list of ResourceQuota items.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "Items is a list of ResourceQuota objects. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota", +} + +func (ResourceQuotaList) SwaggerDoc() map[string]string { + return map_ResourceQuotaList +} + +var map_ResourceQuotaSpec = map[string]string{ + "": "ResourceQuotaSpec defines the desired hard limits to enforce for Quota.", + "hard": "Hard is the set of desired hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota", +} + +func (ResourceQuotaSpec) SwaggerDoc() map[string]string { + return map_ResourceQuotaSpec +} + +var map_ResourceQuotaStatus = map[string]string{ + "": "ResourceQuotaStatus defines the enforced hard limits and observed use.", + "hard": "Hard is the set of enforced hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota", + "used": "Used is the current observed total usage of the resource in the namespace.", +} + +func (ResourceQuotaStatus) SwaggerDoc() map[string]string { + return map_ResourceQuotaStatus +} + +var map_ResourceRequirements = map[string]string{ + "": "ResourceRequirements describes the compute resource requirements.", + "limits": "Limits describes the maximum amount of compute resources allowed. More info: http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications", + "requests": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://releases.k8s.io/HEAD/docs/design/resources.md#resource-specifications", +} + +func (ResourceRequirements) SwaggerDoc() map[string]string { + return map_ResourceRequirements +} + +var map_SELinuxOptions = map[string]string{ + "": "SELinuxOptions are the labels to be applied to the container", + "user": "User is a SELinux user label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md", + "role": "Role is a SELinux role label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md", + "type": "Type is a SELinux type label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md", + "level": "Level is SELinux level label that applies to the container. More info: http://releases.k8s.io/HEAD/docs/user-guide/labels.md", +} + +func (SELinuxOptions) SwaggerDoc() map[string]string { + return map_SELinuxOptions +} + +var map_Secret = map[string]string{ + "": "Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "data": "Data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4", + "type": "Used to facilitate programmatic handling of secret data.", +} + +func (Secret) SwaggerDoc() map[string]string { + return map_Secret +} + +var map_SecretList = map[string]string{ + "": "SecretList is a list of Secret.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "Items is a list of secret objects. More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md", +} + +func (SecretList) SwaggerDoc() map[string]string { + return map_SecretList +} + +var map_SecretVolumeSource = map[string]string{ + "": "SecretVolumeSource adapts a Secret into a VolumeSource. More info: http://releases.k8s.io/HEAD/docs/design/secrets.md", + "secretName": "SecretName is the name of a secret in the pod's namespace. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets", +} + +func (SecretVolumeSource) SwaggerDoc() map[string]string { + return map_SecretVolumeSource +} + +var map_SecurityContext = map[string]string{ + "": "SecurityContext holds security configuration that will be applied to a container.", + "capabilities": "The linux kernel capabilites that should be added or removed. Default to Container.Capabilities if left unset. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context", + "privileged": "Run the container in privileged mode. Default to Container.Privileged if left unset. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context", + "seLinuxOptions": "SELinuxOptions are the labels to be applied to the container and volumes. Options that control the SELinux labels applied. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context", + "runAsUser": "RunAsUser is the UID to run the entrypoint of the container process. The user id that runs the first process in the container. More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context", + "runAsNonRoot": "RunAsNonRoot indicates that the container should be run as a non-root user. If the RunAsUser field is not explicitly set then the kubelet may check the image for a specified user or perform defaulting to specify a user.", +} + +func (SecurityContext) SwaggerDoc() map[string]string { + return map_SecurityContext +} + +var map_SerializedReference = map[string]string{ + "": "SerializedReference is a reference to serialized object.", + "reference": "The reference to an object in the system.", +} + +func (SerializedReference) SwaggerDoc() map[string]string { + return map_SerializedReference +} + +var map_Service = map[string]string{ + "": "Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "spec": "Spec defines the behavior of a service. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "status": "Most recently observed status of the service. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", +} + +func (Service) SwaggerDoc() map[string]string { + return map_Service +} + +var map_ServiceAccount = map[string]string{ + "": "ServiceAccount binds together: * a name, understood by users, and perhaps by peripheral systems, for an identity * a principal that can be authenticated and authorized * a set of secrets", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "secrets": "Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md", + "imagePullSecrets": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: http://releases.k8s.io/HEAD/docs/user-guide/secrets.md#manually-specifying-an-imagepullsecret", +} + +func (ServiceAccount) SwaggerDoc() map[string]string { + return map_ServiceAccount +} + +var map_ServiceAccountList = map[string]string{ + "": "ServiceAccountList is a list of ServiceAccount objects", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of ServiceAccounts. More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts", +} + +func (ServiceAccountList) SwaggerDoc() map[string]string { + return map_ServiceAccountList +} + +var map_ServiceList = map[string]string{ + "": "ServiceList holds a list of services.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "items": "List of services", +} + +func (ServiceList) SwaggerDoc() map[string]string { + return map_ServiceList +} + +var map_ServicePort = map[string]string{ + "": "ServicePort conatins information on service's port.", + "name": "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. This maps to the 'Name' field in EndpointPort objects. Optional if only one ServicePort is defined on this service.", + "protocol": "The IP protocol for this port. Supports \"TCP\" and \"UDP\". Default is TCP.", + "port": "The port that will be exposed by this service.", + "targetPort": "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of Port is used (an identity map). Defaults to the service port. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#defining-a-service", + "nodePort": "The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#type--nodeport", +} + +func (ServicePort) SwaggerDoc() map[string]string { + return map_ServicePort +} + +var map_ServiceSpec = map[string]string{ + "": "ServiceSpec describes the attributes that a user creates on a service.", + "ports": "The list of ports that are exposed by this service. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies", + "selector": "This service will route traffic to pods having labels matching this selector. Label keys and values that must match in order to receive traffic for this service. If empty, all pods are selected, if not specified, endpoints must be manually specified. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview", + "clusterIP": "ClusterIP is usually assigned by the master and is the IP address of the service. If specified, it will be allocated to the service if it is unused or else creation of the service will fail. Valid values are None, empty string (\"\"), or a valid IP address. 'None' can be specified for a headless service when proxying is not required. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies", + "type": "Type of exposed service. Must be ClusterIP, NodePort, or LoadBalancer. Defaults to ClusterIP. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services", + "externalIPs": "ExternalIPs are used by external load balancers, or can be set by users to handle external traffic that arrives at a node. Externally visible IPs (e.g. load balancers) that should be proxied to this service.", + "sessionAffinity": "Supports \"ClientIP\" and \"None\". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies", +} + +func (ServiceSpec) SwaggerDoc() map[string]string { + return map_ServiceSpec +} + +var map_ServiceStatus = map[string]string{ + "": "ServiceStatus represents the current status of a service.", + "loadBalancer": "LoadBalancer contains the current status of the load-balancer, if one is present.", +} + +func (ServiceStatus) SwaggerDoc() map[string]string { + return map_ServiceStatus +} + +var map_Status = map[string]string{ + "": "Status is a return value for calls that don't return other objects.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "status": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "message": "A human-readable description of the status of this operation.", + "reason": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", + "details": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", + "code": "Suggested HTTP return code for this status, 0 if not set.", +} + +func (Status) SwaggerDoc() map[string]string { + return map_Status +} + +var map_StatusCause = map[string]string{ + "": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "reason": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "message": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "field": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", +} + +func (StatusCause) SwaggerDoc() map[string]string { + return map_StatusCause +} + +var map_StatusDetails = map[string]string{ + "": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "name": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "kind": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "causes": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "retryAfterSeconds": "If specified, the time in seconds before the operation should be retried.", +} + +func (StatusDetails) SwaggerDoc() map[string]string { + return map_StatusDetails +} + +var map_TCPSocketAction = map[string]string{ + "": "TCPSocketAction describes an action based on opening a socket", + "port": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", +} + +func (TCPSocketAction) SwaggerDoc() map[string]string { + return map_TCPSocketAction +} + +var map_ThirdPartyResource = map[string]string{ + "": "A ThirdPartyResource is a generic representation of a resource, it is used by add-ons and plugins to add new resource types to the API. It consists of one or more Versions of the api.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "description": "The description of this object.", + "versions": "The versions for this third party object.", +} + +func (ThirdPartyResource) SwaggerDoc() map[string]string { + return map_ThirdPartyResource +} + +var map_ThirdPartyResourceData = map[string]string{ + "": "An internal object, used for versioned storage in etcd. Not exposed to the end user.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "name": "The raw JSON data for this data.", +} + +func (ThirdPartyResourceData) SwaggerDoc() map[string]string { + return map_ThirdPartyResourceData +} + +var map_ThirdPartyResourceList = map[string]string{ + "": "ThirdPartyResourceList is a list of ThirdPartyResource.", + "metadata": "Standard list metadata. More info: http://docs.k8s.io/api-conventions.md#metadata", + "items": "Items is a list of schema objects.", +} + +func (ThirdPartyResourceList) SwaggerDoc() map[string]string { + return map_ThirdPartyResourceList +} + +var map_TypeMeta = map[string]string{ + "": "TypeMeta describes an individual object in an API response or request with strings representing the type of the object and its API schema version. Structures that are versioned or persisted should inline TypeMeta.", + "kind": "A string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "apiVersion": "APIVersion defines the version of the schema of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", +} + +func (TypeMeta) SwaggerDoc() map[string]string { + return map_TypeMeta +} + +var map_Volume = map[string]string{ + "": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", + "name": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/identifiers.md#names", +} + +func (Volume) SwaggerDoc() map[string]string { + return map_Volume +} + +var map_VolumeMount = map[string]string{ + "": "VolumeMount describes a mounting of a Volume within a container.", + "name": "This must match the Name of a Volume.", + "readOnly": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.", + "mountPath": "Path within the container at which the volume should be mounted.", +} + +func (VolumeMount) SwaggerDoc() map[string]string { + return map_VolumeMount +} + +var map_VolumeSource = map[string]string{ + "": "VolumeSource represents the source location of a volume to mount. Only one of its members may be specified.", + "hostPath": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#hostpath", + "emptyDir": "EmptyDir represents a temporary directory that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#emptydir", + "gcePersistentDisk": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#gcepersistentdisk", + "awsElasticBlockStore": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#awselasticblockstore", + "gitRepo": "GitRepo represents a git repository at a particular revision.", + "secret": "Secret represents a secret that should populate this volume. More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#secrets", + "nfs": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: http://releases.k8s.io/HEAD/docs/user-guide/volumes.md#nfs", + "iscsi": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/iscsi/README.md", + "glusterfs": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/glusterfs/README.md", + "persistentVolumeClaim": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://releases.k8s.io/HEAD/docs/user-guide/persistent-volumes.md#persistentvolumeclaims", + "rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/rbd/README.md", +} + +func (VolumeSource) SwaggerDoc() map[string]string { + return map_VolumeSource +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/pkg/apiserver/api_installer.go b/pkg/apiserver/api_installer.go index c7e53f12bc..73a5c4ca06 100644 --- a/pkg/apiserver/api_installer.go +++ b/pkg/apiserver/api_installer.go @@ -52,6 +52,11 @@ type action struct { Namer ScopeNamer } +// An interface to see if an object supports swagger documentation as a method +type documentable interface { + SwaggerDoc() map[string]string +} + // errEmptyName is returned when API requests do not fill the name section of the path. var errEmptyName = errors.NewBadRequest("name must be provided") @@ -796,7 +801,11 @@ func addObjectParams(ws *restful.WebService, route *restful.RouteBuilder, obj in if len(jsonName) == 0 { continue } - desc := sf.Tag.Get("description") + + var desc string + if docable, ok := obj.(documentable); ok { + desc = docable.SwaggerDoc()[jsonName] + } route.Param(ws.QueryParameter(jsonName, desc).DataType(typeToJSON(sf.Type.Name()))) } } diff --git a/pkg/apiserver/apiserver_test.go b/pkg/apiserver/apiserver_test.go index ab2ccd484e..80b9dc218e 100644 --- a/pkg/apiserver/apiserver_test.go +++ b/pkg/apiserver/apiserver_test.go @@ -247,11 +247,18 @@ func (*SimpleRoot) IsAnAPIObject() {} type SimpleGetOptions struct { api.TypeMeta `json:",inline"` - Param1 string `json:"param1" description:"description for param1"` - Param2 string `json:"param2" description:"description for param2"` + Param1 string `json:"param1"` + Param2 string `json:"param2"` Path string `json:"atAPath"` } +func (SimpleGetOptions) SwaggerDoc() map[string]string { + return map[string]string{ + "param1": "description for param1", + "param2": "description for param2", + } +} + func (*SimpleGetOptions) IsAnAPIObject() {} type SimpleList struct { diff --git a/pkg/runtime/swagger_doc_generator.go b/pkg/runtime/swagger_doc_generator.go new file mode 100644 index 0000000000..829ce7b710 --- /dev/null +++ b/pkg/runtime/swagger_doc_generator.go @@ -0,0 +1,228 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package runtime + +import ( + "bytes" + "fmt" + "go/ast" + "go/doc" + "go/parser" + "go/token" + "io" + "reflect" + "strings" +) + +// Pair of strings. We keed the name of fields and the doc +type Pair struct { + Name, Doc string +} + +// KubeTypes is an array to represent all available types in a parsed file. [0] is for the type itself +type KubeTypes []Pair + +func astFrom(filePath string) *doc.Package { + fset := token.NewFileSet() + m := make(map[string]*ast.File) + + f, err := parser.ParseFile(fset, filePath, nil, parser.ParseComments) + if err != nil { + fmt.Println(err) + return nil + } + + m[filePath] = f + apkg, _ := ast.NewPackage(fset, m, nil, nil) + + return doc.New(apkg, "", 0) +} + +func fmtRawDoc(rawDoc string) string { + var buffer bytes.Buffer + delPrevChar := func() { + if buffer.Len() > 0 { + buffer.Truncate(buffer.Len() - 1) // Delete the last " " or "\n" + } + } + + // Ignore all lines after --- + rawDoc = strings.Split(rawDoc, "---")[0] + + for _, line := range strings.Split(rawDoc, "\n") { + line = strings.TrimRight(line, " ") + + if line == "" { // Keep paragraphs + delPrevChar() + buffer.WriteString("\n\n") + } else if !strings.HasPrefix(strings.TrimLeft(line, " "), "TODO") { // Ignore one line TODOs + if strings.HasPrefix(line, " ") || strings.HasPrefix(line, "\t") { + delPrevChar() + line = "\n" + line + "\n" // Replace it with newline. This is useful when we have a line with: "Example:\n\tJSON-someting..." + } else { + line += " " + } + buffer.WriteString(line) + } + } + + postDoc := strings.TrimRight(buffer.String(), "\n") + postDoc = strings.Replace(postDoc, "\\\"", "\"", -1) // replace user's \" to " + postDoc = strings.Replace(postDoc, "\"", "\\\"", -1) // Escape " + postDoc = strings.Replace(postDoc, "\n", "\\n", -1) + postDoc = strings.Replace(postDoc, "\t", "\\t", -1) + + return postDoc +} + +// fieldName returns the name of the field as it should appear in JSON format +// "-" indicates that this field is not part of the JSON representation +func fieldName(field *ast.Field) string { + jsonTag := "" + if field.Tag != nil { + jsonTag = reflect.StructTag(field.Tag.Value[1 : len(field.Tag.Value)-1]).Get("json") // Delete first and last quotation + if strings.Contains(jsonTag, "inline") { + return "-" + } + } + + jsonTag = strings.Split(jsonTag, ",")[0] // This can return "-" + if jsonTag == "" { + if field.Names != nil { + return field.Names[0].Name + } + return field.Type.(*ast.Ident).Name + } + return jsonTag +} + +func writeFuncHeader(b *buffer, structName string, indent int) { + s := fmt.Sprintf("var map_%s = map[string]string {\n", structName) + b.addLine(s, indent) +} + +func writeFuncFooter(b *buffer, structName string, indent int) { + b.addLine("}\n", indent) // Closes the map definition + + s := fmt.Sprintf("func (%s) SwaggerDoc() map[string]string {\n", structName) + b.addLine(s, indent) + s = fmt.Sprintf("return map_%s\n", structName) + b.addLine(s, indent+1) + b.addLine("}\n", indent) // Closes the function definition +} + +func writeMapBody(b *buffer, kubeType []Pair, indent int) { + format := "\"%s\": \"%s\",\n" + for _, pair := range kubeType { + s := fmt.Sprintf(format, pair.Name, pair.Doc) + b.addLine(s, indent+2) + } +} + +// ParseDocumentationFrom gets all types' documentation and returns them as an +// array. Each type is again represented as an array (we have to use arrays as we +// need to be sure for the order of the fields). This function returns fields and +// struct definitions that have no documentation as {name, ""}. +func ParseDocumentationFrom(src string) []KubeTypes { + var docForTypes []KubeTypes + + pkg := astFrom(src) + + for _, kubType := range pkg.Types { + if structType, ok := kubType.Decl.Specs[0].(*ast.TypeSpec).Type.(*ast.StructType); ok { + var ks KubeTypes + ks = append(ks, Pair{kubType.Name, fmtRawDoc(kubType.Doc)}) + + for _, field := range structType.Fields.List { + if n := fieldName(field); n != "-" { + fieldDoc := fmtRawDoc(field.Doc.Text()) + ks = append(ks, Pair{n, fieldDoc}) + } + } + docForTypes = append(docForTypes, ks) + } + } + + return docForTypes +} + +// WriteSwaggerDocFunc writes a declaration of a function as a string. This function is used in +// Swagger as a documentation source for structs and theirs fields +func WriteSwaggerDocFunc(kubeTypes []KubeTypes, w io.Writer) error { + for _, kubeType := range kubeTypes { + structName := kubeType[0].Name + kubeType[0].Name = "" + + // Ignore empty documentation + docfulTypes := make(KubeTypes, 0, len(kubeType)) + for _, pair := range kubeType { + if pair.Doc != "" { + docfulTypes = append(docfulTypes, pair) + } + } + + if len(docfulTypes) == 0 { + continue // If no fields and the struct have documentation, skip the function definition + } + + indent := 0 + buffer := newBuffer() + + writeFuncHeader(buffer, structName, indent) + writeMapBody(buffer, docfulTypes, indent) + writeFuncFooter(buffer, structName, indent) + buffer.addLine("\n", 0) + + if err := buffer.flushLines(w); err != nil { + return err + } + } + + return nil +} + +// VerifySwaggerDocsExist writes in a io.Writer a list of structs and fields that +// are missing of documentation. +func VerifySwaggerDocsExist(kubeTypes []KubeTypes, w io.Writer) (int, error) { + missingDocs := 0 + buffer := newBuffer() + + for _, kubeType := range kubeTypes { + structName := kubeType[0].Name + if kubeType[0].Doc == "" { + format := "Missing documentation for the struct itself: %s\n" + s := fmt.Sprintf(format, structName) + buffer.addLine(s, 0) + missingDocs++ + } + kubeType = kubeType[1:] // Skip struct definition + + for _, pair := range kubeType { // Iterate only the fields + if pair.Doc == "" { + format := "In struct: %s, field documentation is missing: %s\n" + s := fmt.Sprintf(format, structName, pair.Name) + buffer.addLine(s, 0) + missingDocs++ + } + } + } + + if err := buffer.flushLines(w); err != nil { + return -1, err + } + return missingDocs, nil +} diff --git a/pkg/runtime/swagger_doc_generator_test.go b/pkg/runtime/swagger_doc_generator_test.go new file mode 100644 index 0000000000..095dddff58 --- /dev/null +++ b/pkg/runtime/swagger_doc_generator_test.go @@ -0,0 +1,43 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package runtime + +import ( + "testing" +) + +func TestFmtRawDoc(t *testing.T) { + tests := []struct { + t, expected string + }{ + {"aaa\n --- asd\n TODO: tooooodo\n toooodoooooo\n", "aaa"}, + {"aaa\nasd\n TODO: tooooodo\nbbbb\n --- toooodoooooo\n", "aaa asd bbbb"}, + {" TODO: tooooodo\n", ""}, + {"Par1\n\nPar2\n\n", "Par1\\n\\nPar2"}, + {"", ""}, + {" ", ""}, + {" \n", ""}, + {" \n\n ", ""}, + {"Example:\n\tl1\n\t\tl2\n", "Example:\\n\\tl1\\n\\t\\tl2"}, + } + + for _, test := range tests { + if o := fmtRawDoc(test.t); o != test.expected { + t.Fatalf("Expected: %q, got %q", test.expected, o) + } + } +}