google-api-client 0.11.1 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/api_names.yaml +42335 -1
  4. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +3 -3
  5. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +28 -28
  6. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +12 -12
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +2 -2
  8. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +757 -757
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +162 -162
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +48 -48
  12. data/generated/google/apis/admin_directory_v1.rb +1 -1
  13. data/generated/google/apis/admin_directory_v1/classes.rb +75 -7
  14. data/generated/google/apis/admin_directory_v1/representations.rb +20 -0
  15. data/generated/google/apis/admin_directory_v1/service.rb +61 -61
  16. data/generated/google/apis/adsense_v1_4.rb +1 -1
  17. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  18. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  19. data/generated/google/apis/analyticsreporting_v4/classes.rb +403 -403
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +108 -108
  21. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  22. data/generated/google/apis/androidenterprise_v1/classes.rb +36 -11
  23. data/generated/google/apis/androidenterprise_v1/representations.rb +2 -0
  24. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  25. data/generated/google/apis/appengine_v1.rb +6 -5
  26. data/generated/google/apis/appengine_v1/classes.rb +1429 -1421
  27. data/generated/google/apis/appengine_v1/representations.rb +331 -331
  28. data/generated/google/apis/appengine_v1/service.rb +173 -168
  29. data/generated/google/apis/appstate_v1.rb +1 -1
  30. data/generated/google/apis/bigquery_v2.rb +1 -1
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/classroom_v1.rb +1 -1
  33. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  35. data/generated/google/apis/cloudbuild_v1/classes.rb +624 -618
  36. data/generated/google/apis/cloudbuild_v1/representations.rb +126 -125
  37. data/generated/google/apis/cloudbuild_v1/service.rb +87 -87
  38. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  39. data/generated/google/apis/clouddebugger_v2/classes.rb +267 -267
  40. data/generated/google/apis/clouddebugger_v2/representations.rb +83 -83
  41. data/generated/google/apis/clouddebugger_v2/service.rb +137 -137
  42. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  43. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +131 -131
  44. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +28 -28
  45. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +17 -17
  46. data/generated/google/apis/cloudfunctions_v1.rb +1 -4
  47. data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -47
  48. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -17
  49. data/generated/google/apis/cloudfunctions_v1/service.rb +0 -30
  50. data/generated/google/apis/cloudkms_v1.rb +1 -1
  51. data/generated/google/apis/cloudkms_v1/classes.rb +625 -625
  52. data/generated/google/apis/cloudkms_v1/representations.rb +132 -132
  53. data/generated/google/apis/cloudkms_v1/service.rb +272 -272
  54. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  55. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  56. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +242 -242
  57. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +43 -43
  58. data/generated/google/apis/cloudresourcemanager_v1/service.rb +505 -505
  59. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  60. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +172 -172
  61. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +39 -39
  62. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +310 -310
  63. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  64. data/generated/google/apis/cloudtrace_v1/classes.rb +96 -69
  65. data/generated/google/apis/cloudtrace_v1/representations.rb +16 -16
  66. data/generated/google/apis/cloudtrace_v1/service.rb +42 -15
  67. data/generated/google/apis/compute_beta.rb +1 -1
  68. data/generated/google/apis/compute_beta/classes.rb +194 -25
  69. data/generated/google/apis/compute_beta/representations.rb +42 -0
  70. data/generated/google/apis/compute_beta/service.rb +196 -100
  71. data/generated/google/apis/compute_v1.rb +1 -1
  72. data/generated/google/apis/compute_v1/classes.rb +69 -18
  73. data/generated/google/apis/compute_v1/representations.rb +16 -0
  74. data/generated/google/apis/compute_v1/service.rb +84 -26
  75. data/generated/google/apis/container_v1.rb +3 -3
  76. data/generated/google/apis/container_v1/classes.rb +794 -586
  77. data/generated/google/apis/container_v1/representations.rb +202 -118
  78. data/generated/google/apis/container_v1/service.rb +396 -167
  79. data/generated/google/apis/content_v2.rb +1 -1
  80. data/generated/google/apis/content_v2/service.rb +4 -4
  81. data/generated/google/apis/dataproc_v1.rb +1 -1
  82. data/generated/google/apis/dataproc_v1/classes.rb +487 -484
  83. data/generated/google/apis/dataproc_v1/representations.rb +83 -83
  84. data/generated/google/apis/dataproc_v1/service.rb +299 -297
  85. data/generated/google/apis/datastore_v1.rb +1 -1
  86. data/generated/google/apis/datastore_v1/classes.rb +703 -703
  87. data/generated/google/apis/datastore_v1/representations.rb +148 -148
  88. data/generated/google/apis/datastore_v1/service.rb +62 -62
  89. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  90. data/generated/google/apis/deploymentmanager_v2/classes.rb +7 -5
  91. data/generated/google/apis/dfareporting_v2_6.rb +1 -1
  92. data/generated/google/apis/dfareporting_v2_6/classes.rb +66 -53
  93. data/generated/google/apis/dfareporting_v2_6/service.rb +30 -30
  94. data/generated/google/apis/dfareporting_v2_7.rb +1 -1
  95. data/generated/google/apis/dfareporting_v2_7/classes.rb +69 -55
  96. data/generated/google/apis/dfareporting_v2_7/service.rb +38 -37
  97. data/generated/google/apis/dfareporting_v2_8.rb +40 -0
  98. data/generated/google/apis/dfareporting_v2_8/classes.rb +12046 -0
  99. data/generated/google/apis/dfareporting_v2_8/representations.rb +4310 -0
  100. data/generated/google/apis/dfareporting_v2_8/service.rb +9135 -0
  101. data/generated/google/apis/dns_v1.rb +1 -1
  102. data/generated/google/apis/dns_v2beta1.rb +1 -1
  103. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  104. data/generated/google/apis/drive_v2.rb +1 -1
  105. data/generated/google/apis/drive_v2/classes.rb +15 -0
  106. data/generated/google/apis/drive_v2/representations.rb +2 -0
  107. data/generated/google/apis/drive_v2/service.rb +2 -1
  108. data/generated/google/apis/drive_v3.rb +1 -1
  109. data/generated/google/apis/drive_v3/classes.rb +16 -0
  110. data/generated/google/apis/drive_v3/representations.rb +2 -0
  111. data/generated/google/apis/drive_v3/service.rb +2 -1
  112. data/generated/google/apis/firebasedynamiclinks_v1.rb +2 -3
  113. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +159 -159
  114. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +55 -55
  115. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +5 -6
  116. data/generated/google/apis/firebaserules_v1.rb +1 -1
  117. data/generated/google/apis/firebaserules_v1/classes.rb +73 -73
  118. data/generated/google/apis/firebaserules_v1/representations.rb +25 -25
  119. data/generated/google/apis/firebaserules_v1/service.rb +118 -118
  120. data/generated/google/apis/fusiontables_v2.rb +1 -1
  121. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  122. data/generated/google/apis/games_management_v1management.rb +1 -1
  123. data/generated/google/apis/games_v1.rb +1 -1
  124. data/generated/google/apis/genomics_v1.rb +1 -1
  125. data/generated/google/apis/genomics_v1/classes.rb +920 -920
  126. data/generated/google/apis/genomics_v1/representations.rb +202 -202
  127. data/generated/google/apis/genomics_v1/service.rb +1092 -1092
  128. data/generated/google/apis/gmail_v1.rb +1 -1
  129. data/generated/google/apis/iam_v1.rb +1 -1
  130. data/generated/google/apis/iam_v1/classes.rb +455 -435
  131. data/generated/google/apis/iam_v1/representations.rb +96 -93
  132. data/generated/google/apis/iam_v1/service.rb +157 -157
  133. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  134. data/generated/google/apis/identitytoolkit_v3/classes.rb +12 -0
  135. data/generated/google/apis/identitytoolkit_v3/representations.rb +2 -0
  136. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  137. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  138. data/generated/google/apis/kgsearch_v1/service.rb +9 -9
  139. data/generated/google/apis/language_v1.rb +1 -1
  140. data/generated/google/apis/language_v1/classes.rb +455 -455
  141. data/generated/google/apis/language_v1/representations.rb +102 -102
  142. data/generated/google/apis/language_v1/service.rb +42 -42
  143. data/generated/google/apis/language_v1beta1.rb +1 -1
  144. data/generated/google/apis/language_v1beta1/classes.rb +216 -215
  145. data/generated/google/apis/language_v1beta1/representations.rb +75 -75
  146. data/generated/google/apis/language_v1beta1/service.rb +45 -45
  147. data/generated/google/apis/logging_v2.rb +1 -1
  148. data/generated/google/apis/logging_v2/classes.rb +908 -895
  149. data/generated/google/apis/logging_v2/representations.rb +121 -120
  150. data/generated/google/apis/logging_v2/service.rb +489 -489
  151. data/generated/google/apis/logging_v2beta1.rb +4 -4
  152. data/generated/google/apis/logging_v2beta1/classes.rb +928 -915
  153. data/generated/google/apis/logging_v2beta1/representations.rb +121 -120
  154. data/generated/google/apis/logging_v2beta1/service.rb +249 -249
  155. data/generated/google/apis/manufacturers_v1.rb +1 -1
  156. data/generated/google/apis/manufacturers_v1/classes.rb +294 -294
  157. data/generated/google/apis/manufacturers_v1/representations.rb +84 -84
  158. data/generated/google/apis/manufacturers_v1/service.rb +8 -8
  159. data/generated/google/apis/mirror_v1.rb +1 -1
  160. data/generated/google/apis/ml_v1.rb +1 -1
  161. data/generated/google/apis/ml_v1/classes.rb +1186 -1183
  162. data/generated/google/apis/ml_v1/representations.rb +177 -177
  163. data/generated/google/apis/ml_v1/service.rb +244 -244
  164. data/generated/google/apis/monitoring_v3.rb +1 -1
  165. data/generated/google/apis/monitoring_v3/classes.rb +866 -866
  166. data/generated/google/apis/monitoring_v3/representations.rb +163 -163
  167. data/generated/google/apis/monitoring_v3/service.rb +355 -316
  168. data/generated/google/apis/oauth2_v2.rb +1 -1
  169. data/generated/google/apis/partners_v2.rb +1 -1
  170. data/generated/google/apis/partners_v2/classes.rb +1499 -1499
  171. data/generated/google/apis/partners_v2/representations.rb +368 -368
  172. data/generated/google/apis/partners_v2/service.rb +512 -512
  173. data/generated/google/apis/people_v1.rb +10 -10
  174. data/generated/google/apis/people_v1/classes.rb +544 -423
  175. data/generated/google/apis/people_v1/representations.rb +127 -109
  176. data/generated/google/apis/people_v1/service.rb +8 -8
  177. data/generated/google/apis/plus_domains_v1.rb +1 -1
  178. data/generated/google/apis/plus_v1.rb +1 -1
  179. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  180. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +200 -200
  181. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +41 -41
  182. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +80 -80
  183. data/generated/google/apis/pubsub_v1.rb +1 -1
  184. data/generated/google/apis/pubsub_v1/classes.rb +377 -377
  185. data/generated/google/apis/pubsub_v1/representations.rb +82 -82
  186. data/generated/google/apis/pubsub_v1/service.rb +93 -93
  187. data/generated/google/apis/runtimeconfig_v1.rb +6 -4
  188. data/generated/google/apis/runtimeconfig_v1/classes.rb +22 -22
  189. data/generated/google/apis/runtimeconfig_v1/representations.rb +2 -2
  190. data/generated/google/apis/runtimeconfig_v1/service.rb +57 -55
  191. data/generated/google/apis/script_v1.rb +14 -14
  192. data/generated/google/apis/script_v1/classes.rb +113 -58
  193. data/generated/google/apis/script_v1/representations.rb +43 -14
  194. data/generated/google/apis/script_v1/service.rb +6 -6
  195. data/generated/google/apis/searchconsole_v1.rb +1 -1
  196. data/generated/google/apis/searchconsole_v1/classes.rb +67 -67
  197. data/generated/google/apis/searchconsole_v1/representations.rb +29 -29
  198. data/generated/google/apis/searchconsole_v1/service.rb +6 -6
  199. data/generated/google/apis/servicecontrol_v1.rb +4 -4
  200. data/generated/google/apis/servicecontrol_v1/classes.rb +1125 -1125
  201. data/generated/google/apis/servicecontrol_v1/representations.rb +213 -213
  202. data/generated/google/apis/servicecontrol_v1/service.rb +92 -92
  203. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  204. data/generated/google/apis/servicemanagement_v1/classes.rb +3364 -3622
  205. data/generated/google/apis/servicemanagement_v1/representations.rb +546 -530
  206. data/generated/google/apis/servicemanagement_v1/service.rb +262 -152
  207. data/generated/google/apis/serviceuser_v1.rb +4 -4
  208. data/generated/google/apis/serviceuser_v1/classes.rb +2616 -2874
  209. data/generated/google/apis/serviceuser_v1/representations.rb +294 -278
  210. data/generated/google/apis/serviceuser_v1/service.rb +19 -19
  211. data/generated/google/apis/sheets_v4.rb +4 -1
  212. data/generated/google/apis/sheets_v4/classes.rb +4315 -4313
  213. data/generated/google/apis/sheets_v4/representations.rb +858 -858
  214. data/generated/google/apis/sheets_v4/service.rb +115 -115
  215. data/generated/google/apis/slides_v1.rb +1 -1
  216. data/generated/google/apis/slides_v1/classes.rb +2890 -2890
  217. data/generated/google/apis/slides_v1/representations.rb +638 -638
  218. data/generated/google/apis/slides_v1/service.rb +36 -36
  219. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  220. data/generated/google/apis/sourcerepo_v1/classes.rb +283 -283
  221. data/generated/google/apis/sourcerepo_v1/representations.rb +67 -67
  222. data/generated/google/apis/sourcerepo_v1/service.rb +88 -88
  223. data/generated/google/apis/spanner_v1.rb +1 -1
  224. data/generated/google/apis/spanner_v1/classes.rb +2258 -2233
  225. data/generated/google/apis/spanner_v1/representations.rb +325 -325
  226. data/generated/google/apis/spanner_v1/service.rb +466 -466
  227. data/generated/google/apis/speech_v1beta1.rb +2 -2
  228. data/generated/google/apis/speech_v1beta1/classes.rb +97 -97
  229. data/generated/google/apis/speech_v1beta1/representations.rb +29 -29
  230. data/generated/google/apis/speech_v1beta1/service.rb +49 -49
  231. data/generated/google/apis/storage_v1.rb +1 -1
  232. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  233. data/generated/google/apis/storagetransfer_v1/classes.rb +786 -786
  234. data/generated/google/apis/storagetransfer_v1/representations.rb +133 -133
  235. data/generated/google/apis/storagetransfer_v1/service.rb +30 -30
  236. data/generated/google/apis/surveys_v2.rb +1 -1
  237. data/generated/google/apis/surveys_v2/classes.rb +0 -12
  238. data/generated/google/apis/surveys_v2/representations.rb +0 -4
  239. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  240. data/generated/google/apis/vision_v1.rb +1 -1
  241. data/generated/google/apis/vision_v1/classes.rb +1301 -1302
  242. data/generated/google/apis/vision_v1/representations.rb +183 -183
  243. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  244. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  245. data/generated/google/apis/youtube_partner_v1/classes.rb +10 -0
  246. data/generated/google/apis/youtube_partner_v1/representations.rb +1 -0
  247. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  248. data/generated/google/apis/youtubereporting_v1/classes.rb +64 -64
  249. data/generated/google/apis/youtubereporting_v1/representations.rb +12 -12
  250. data/generated/google/apis/youtubereporting_v1/service.rb +94 -94
  251. data/lib/google/apis/version.rb +1 -1
  252. metadata +7 -3
@@ -20,13 +20,13 @@ module Google
20
20
  module Apis
21
21
  # Google Container Engine API
22
22
  #
23
- # Builds and manages clusters that run container-based applications, powered by
24
- # open source Kubernetes technology.
23
+ # The Google Container Engine API is used for building and managing container
24
+ # based applications, powered by the open source Kubernetes technology.
25
25
  #
26
26
  # @see https://cloud.google.com/container-engine/
27
27
  module ContainerV1
28
28
  VERSION = 'V1'
29
- REVISION = '20161024'
29
+ REVISION = '20170424'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,20 +22,16 @@ module Google
22
22
  module Apis
23
23
  module ContainerV1
24
24
 
25
- # ListClustersResponse is the result of ListClustersRequest.
26
- class ListClustersResponse
25
+ # UpdateClusterRequest updates the settings of a cluster.
26
+ class UpdateClusterRequest
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # A list of clusters in the project in the specified zone, or across all ones.
30
- # Corresponds to the JSON property `clusters`
31
- # @return [Array<Google::Apis::ContainerV1::Cluster>]
32
- attr_accessor :clusters
33
-
34
- # If any zones are listed here, the list of clusters returned may be missing
35
- # those zones.
36
- # Corresponds to the JSON property `missingZones`
37
- # @return [Array<String>]
38
- attr_accessor :missing_zones
29
+ # ClusterUpdate describes an update to the cluster. Exactly one update can
30
+ # be applied to a cluster with each request, so at most one field can be
31
+ # provided.
32
+ # Corresponds to the JSON property `update`
33
+ # @return [Google::Apis::ContainerV1::ClusterUpdate]
34
+ attr_accessor :update
39
35
 
40
36
  def initialize(**args)
41
37
  update!(**args)
@@ -43,8 +39,7 @@ module Google
43
39
 
44
40
  # Update properties of this object
45
41
  def update!(**args)
46
- @clusters = args[:clusters] if args.key?(:clusters)
47
- @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
42
+ @update = args[:update] if args.key?(:update)
48
43
  end
49
44
  end
50
45
 
@@ -52,189 +47,224 @@ module Google
52
47
  class Cluster
53
48
  include Google::Apis::Core::Hashable
54
49
 
55
- # The name of this cluster. The name must be unique within this project and zone,
56
- # and can be up to 40 characters with the following restrictions: * Lowercase
57
- # letters, numbers, and hyphens only. * Must start with a letter. * Must end
58
- # with a number or a letter.
59
- # Corresponds to the JSON property `name`
50
+ # Parameters that describe the nodes in a cluster.
51
+ # Corresponds to the JSON property `nodeConfig`
52
+ # @return [Google::Apis::ContainerV1::NodeConfig]
53
+ attr_accessor :node_config
54
+
55
+ # Configuration for the addons that can be automatically spun up in the
56
+ # cluster, enabling additional functionality.
57
+ # Corresponds to the JSON property `addonsConfig`
58
+ # @return [Google::Apis::ContainerV1::AddonsConfig]
59
+ attr_accessor :addons_config
60
+
61
+ # [Output only] The current status of this cluster.
62
+ # Corresponds to the JSON property `status`
60
63
  # @return [String]
61
- attr_accessor :name
64
+ attr_accessor :status
62
65
 
63
- # An optional description of this cluster.
64
- # Corresponds to the JSON property `description`
66
+ # The name of the Google Compute Engine
67
+ # [subnetwork](/compute/docs/subnetworks) to which the
68
+ # cluster is connected.
69
+ # Corresponds to the JSON property `subnetwork`
65
70
  # @return [String]
66
- attr_accessor :description
71
+ attr_accessor :subnetwork
67
72
 
68
- # The number of nodes to create in this cluster. You must ensure that your
69
- # Compute Engine resource quota is sufficient for this number of instances. You
70
- # must also have available firewall and routes quota. For requests, this field
71
- # should only be used in lieu of a "node_pool" object, since this configuration (
72
- # along with the "node_config") will be used to create a "NodePool" object with
73
- # an auto-generated name. Do not use this and a node_pool at the same time.
74
- # Corresponds to the JSON property `initialNodeCount`
75
- # @return [Fixnum]
76
- attr_accessor :initial_node_count
73
+ # [Output only] The current version of the node software components.
74
+ # If they are currently at multiple versions because they're in the process
75
+ # of being upgraded, this reflects the minimum version of all nodes.
76
+ # Corresponds to the JSON property `currentNodeVersion`
77
+ # @return [String]
78
+ attr_accessor :current_node_version
77
79
 
78
- # Parameters that describe the nodes in a cluster.
79
- # Corresponds to the JSON property `nodeConfig`
80
- # @return [Google::Apis::ContainerV1::NodeConfig]
81
- attr_accessor :node_config
80
+ # The resource labels for the cluster to use to annotate any related GCE
81
+ # resources.
82
+ # Corresponds to the JSON property `resourceLabels`
83
+ # @return [Hash<String,String>]
84
+ attr_accessor :resource_labels
82
85
 
83
- # The authentication information for accessing the master endpoint.
84
- # Authentication can be done using HTTP basic auth or using client certificates.
85
- # Corresponds to the JSON property `masterAuth`
86
- # @return [Google::Apis::ContainerV1::MasterAuth]
87
- attr_accessor :master_auth
86
+ # The name of this cluster. The name must be unique within this project
87
+ # and zone, and can be up to 40 characters with the following restrictions:
88
+ # * Lowercase letters, numbers, and hyphens only.
89
+ # * Must start with a letter.
90
+ # * Must end with a number or a letter.
91
+ # Corresponds to the JSON property `name`
92
+ # @return [String]
93
+ attr_accessor :name
88
94
 
89
- # The logging service the cluster should use to write logs. Currently available
90
- # options: * `logging.googleapis.com` - the Google Cloud Logging service. * `
91
- # none` - no logs will be exported from the cluster. * if left as an empty
92
- # string,`logging.googleapis.com` will be used.
93
- # Corresponds to the JSON property `loggingService`
95
+ # The initial Kubernetes version for this cluster. Valid versions are those
96
+ # found in validMasterVersions returned by getServerConfig. The version can
97
+ # be upgraded over time; such upgrades are reflected in
98
+ # currentMasterVersion and currentNodeVersion.
99
+ # Corresponds to the JSON property `initialClusterVersion`
94
100
  # @return [String]
95
- attr_accessor :logging_service
101
+ attr_accessor :initial_cluster_version
96
102
 
97
- # The monitoring service the cluster should use to write metrics. Currently
98
- # available options: * `monitoring.googleapis.com` - the Google Cloud Monitoring
99
- # service. * `none` - no metrics will be exported from the cluster. * if left as
100
- # an empty string, `monitoring.googleapis.com` will be used.
101
- # Corresponds to the JSON property `monitoringService`
103
+ # [Output only] The IP address of this cluster's master endpoint.
104
+ # The endpoint can be accessed from the internet at
105
+ # `https://username:password@endpoint/`.
106
+ # See the `masterAuth` property of this resource for username and
107
+ # password information.
108
+ # Corresponds to the JSON property `endpoint`
102
109
  # @return [String]
103
- attr_accessor :monitoring_service
110
+ attr_accessor :endpoint
104
111
 
105
- # The name of the Google Compute Engine [network](/compute/docs/networks-and-
106
- # firewalls#networks) to which the cluster is connected. If left unspecified,
107
- # the `default` network will be used.
108
- # Corresponds to the JSON property `network`
112
+ # Configuration for the legacy Attribute Based Access Control authorization
113
+ # mode.
114
+ # Corresponds to the JSON property `legacyAbac`
115
+ # @return [Google::Apis::ContainerV1::LegacyAbac]
116
+ attr_accessor :legacy_abac
117
+
118
+ # [Output only] The time the cluster was created, in
119
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
120
+ # Corresponds to the JSON property `createTime`
109
121
  # @return [String]
110
- attr_accessor :network
122
+ attr_accessor :create_time
111
123
 
112
- # The IP address range of the container pods in this cluster, in [CIDR](http://
113
- # en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.
114
- # 0/14`). Leave blank to have one automatically chosen or specify a `/14` block
115
- # in `10.0.0.0/8`.
124
+ # The IP address range of the container pods in this cluster, in
125
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
126
+ # notation (e.g. `10.96.0.0/14`). Leave blank to have
127
+ # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
116
128
  # Corresponds to the JSON property `clusterIpv4Cidr`
117
129
  # @return [String]
118
130
  attr_accessor :cluster_ipv4_cidr
119
131
 
120
- # Configuration for the addons that can be automatically spun up in the cluster,
121
- # enabling additional functionality.
122
- # Corresponds to the JSON property `addonsConfig`
123
- # @return [Google::Apis::ContainerV1::AddonsConfig]
124
- attr_accessor :addons_config
125
-
126
- # The name of the Google Compute Engine [subnetwork](/compute/docs/subnetworks)
127
- # to which the cluster is connected.
128
- # Corresponds to the JSON property `subnetwork`
129
- # @return [String]
130
- attr_accessor :subnetwork
132
+ # The number of nodes to create in this cluster. You must ensure that your
133
+ # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
134
+ # is sufficient for this number of instances. You must also have available
135
+ # firewall and routes quota.
136
+ # For requests, this field should only be used in lieu of a
137
+ # "node_pool" object, since this configuration (along with the
138
+ # "node_config") will be used to create a "NodePool" object with an
139
+ # auto-generated name. Do not use this and a node_pool at the same time.
140
+ # Corresponds to the JSON property `initialNodeCount`
141
+ # @return [Fixnum]
142
+ attr_accessor :initial_node_count
131
143
 
132
- # The node pools associated with this cluster. This field should not be set if "
133
- # node_config" or "initial_node_count" are specified.
144
+ # The node pools associated with this cluster.
145
+ # This field should not be set if "node_config" or "initial_node_count" are
146
+ # specified.
134
147
  # Corresponds to the JSON property `nodePools`
135
148
  # @return [Array<Google::Apis::ContainerV1::NodePool>]
136
149
  attr_accessor :node_pools
137
150
 
138
- # The list of Google Compute Engine [locations](/compute/docs/zones#available)
139
- # in which the cluster's nodes should be located.
151
+ # The list of Google Compute Engine
152
+ # [locations](/compute/docs/zones#available) in which the cluster's nodes
153
+ # should be located.
140
154
  # Corresponds to the JSON property `locations`
141
155
  # @return [Array<String>]
142
156
  attr_accessor :locations
143
157
 
144
- # Kubernetes alpha features are enabled on this cluster. This includes alpha API
145
- # groups (e.g. v1alpha1) and features that may not be production ready in the
146
- # kubernetes version of the master and nodes. The cluster has no SLA for uptime
147
- # and master/node upgrades are disabled. Alpha enabled clusters are
148
- # automatically deleted thirty days after creation.
149
- # Corresponds to the JSON property `enableKubernetesAlpha`
150
- # @return [Boolean]
151
- attr_accessor :enable_kubernetes_alpha
152
- alias_method :enable_kubernetes_alpha?, :enable_kubernetes_alpha
153
-
154
158
  # [Output only] Server-defined URL for the resource.
155
159
  # Corresponds to the JSON property `selfLink`
156
160
  # @return [String]
157
161
  attr_accessor :self_link
158
162
 
159
- # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#
160
- # available) in which the cluster resides.
161
- # Corresponds to the JSON property `zone`
162
- # @return [String]
163
- attr_accessor :zone
163
+ # [Output only] The resource URLs of [instance
164
+ # groups](/compute/docs/instance-groups/) associated with this
165
+ # cluster.
166
+ # Corresponds to the JSON property `instanceGroupUrls`
167
+ # @return [Array<String>]
168
+ attr_accessor :instance_group_urls
164
169
 
165
- # [Output only] The IP address of this cluster's master endpoint. The endpoint
166
- # can be accessed from the internet at `https://username:password@endpoint/`.
167
- # See the `masterAuth` property of this resource for username and password
168
- # information.
169
- # Corresponds to the JSON property `endpoint`
170
+ # [Output only] The IP address range of the Kubernetes services in
171
+ # this cluster, in
172
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
173
+ # notation (e.g. `1.2.3.4/29`). Service addresses are
174
+ # typically put in the last `/16` from the container CIDR.
175
+ # Corresponds to the JSON property `servicesIpv4Cidr`
170
176
  # @return [String]
171
- attr_accessor :endpoint
177
+ attr_accessor :services_ipv4_cidr
172
178
 
173
- # [Output only] The software version of the master endpoint and kubelets used in
174
- # the cluster when it was first created. The version can be upgraded over time.
175
- # Corresponds to the JSON property `initialClusterVersion`
179
+ # Kubernetes alpha features are enabled on this cluster. This includes alpha
180
+ # API groups (e.g. v1alpha1) and features that may not be production ready in
181
+ # the kubernetes version of the master and nodes.
182
+ # The cluster has no SLA for uptime and master/node upgrades are disabled.
183
+ # Alpha enabled clusters are automatically deleted thirty days after
184
+ # creation.
185
+ # Corresponds to the JSON property `enableKubernetesAlpha`
186
+ # @return [Boolean]
187
+ attr_accessor :enable_kubernetes_alpha
188
+ alias_method :enable_kubernetes_alpha?, :enable_kubernetes_alpha
189
+
190
+ # An optional description of this cluster.
191
+ # Corresponds to the JSON property `description`
176
192
  # @return [String]
177
- attr_accessor :initial_cluster_version
193
+ attr_accessor :description
178
194
 
179
- # [Output only] The current software version of the master endpoint.
180
- # Corresponds to the JSON property `currentMasterVersion`
195
+ # [Output only] The number of nodes currently in the cluster.
196
+ # Corresponds to the JSON property `currentNodeCount`
197
+ # @return [Fixnum]
198
+ attr_accessor :current_node_count
199
+
200
+ # The monitoring service the cluster should use to write metrics.
201
+ # Currently available options:
202
+ # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
203
+ # * `none` - no metrics will be exported from the cluster.
204
+ # * if left as an empty string, `monitoring.googleapis.com` will be used.
205
+ # Corresponds to the JSON property `monitoringService`
181
206
  # @return [String]
182
- attr_accessor :current_master_version
207
+ attr_accessor :monitoring_service
183
208
 
184
- # [Output only] The current version of the node software components. If they are
185
- # currently at multiple versions because they're in the process of being
186
- # upgraded, this reflects the minimum version of all nodes.
187
- # Corresponds to the JSON property `currentNodeVersion`
209
+ # The name of the Google Compute Engine
210
+ # [network](/compute/docs/networks-and-firewalls#networks) to which the
211
+ # cluster is connected. If left unspecified, the `default` network
212
+ # will be used.
213
+ # Corresponds to the JSON property `network`
188
214
  # @return [String]
189
- attr_accessor :current_node_version
215
+ attr_accessor :network
190
216
 
191
- # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.
192
- # org/rfc/rfc3339.txt) text format.
193
- # Corresponds to the JSON property `createTime`
217
+ # The fingerprint of the set of labels for this cluster.
218
+ # Corresponds to the JSON property `labelFingerprint`
194
219
  # @return [String]
195
- attr_accessor :create_time
220
+ attr_accessor :label_fingerprint
196
221
 
197
- # [Output only] The current status of this cluster.
198
- # Corresponds to the JSON property `status`
222
+ # [Output only] The name of the Google Compute Engine
223
+ # [zone](/compute/docs/zones#available) in which the cluster
224
+ # resides.
225
+ # Corresponds to the JSON property `zone`
199
226
  # @return [String]
200
- attr_accessor :status
227
+ attr_accessor :zone
201
228
 
202
- # [Output only] Additional information about the current status of this cluster,
203
- # if available.
204
- # Corresponds to the JSON property `statusMessage`
229
+ # The logging service the cluster should use to write logs.
230
+ # Currently available options:
231
+ # * `logging.googleapis.com` - the Google Cloud Logging service.
232
+ # * `none` - no logs will be exported from the cluster.
233
+ # * if left as an empty string,`logging.googleapis.com` will be used.
234
+ # Corresponds to the JSON property `loggingService`
205
235
  # @return [String]
206
- attr_accessor :status_message
236
+ attr_accessor :logging_service
207
237
 
208
238
  # [Output only] The size of the address space on each node for hosting
209
- # containers. This is provisioned from within the `container_ipv4_cidr` range.
239
+ # containers. This is provisioned from within the `container_ipv4_cidr`
240
+ # range.
210
241
  # Corresponds to the JSON property `nodeIpv4CidrSize`
211
242
  # @return [Fixnum]
212
243
  attr_accessor :node_ipv4_cidr_size
213
244
 
214
- # [Output only] The IP address range of the Kubernetes services in this cluster,
215
- # in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
216
- # notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `
217
- # /16` from the container CIDR.
218
- # Corresponds to the JSON property `servicesIpv4Cidr`
245
+ # [Output only] The time the cluster will be automatically
246
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
247
+ # Corresponds to the JSON property `expireTime`
219
248
  # @return [String]
220
- attr_accessor :services_ipv4_cidr
249
+ attr_accessor :expire_time
221
250
 
222
- # [Output only] The resource URLs of [instance groups](/compute/docs/instance-
223
- # groups/) associated with this cluster.
224
- # Corresponds to the JSON property `instanceGroupUrls`
225
- # @return [Array<String>]
226
- attr_accessor :instance_group_urls
251
+ # [Output only] Additional information about the current status of this
252
+ # cluster, if available.
253
+ # Corresponds to the JSON property `statusMessage`
254
+ # @return [String]
255
+ attr_accessor :status_message
227
256
 
228
- # [Output only] The number of nodes currently in the cluster.
229
- # Corresponds to the JSON property `currentNodeCount`
230
- # @return [Fixnum]
231
- attr_accessor :current_node_count
257
+ # The authentication information for accessing the master endpoint.
258
+ # Authentication can be done using HTTP basic auth or using client
259
+ # certificates.
260
+ # Corresponds to the JSON property `masterAuth`
261
+ # @return [Google::Apis::ContainerV1::MasterAuth]
262
+ attr_accessor :master_auth
232
263
 
233
- # [Output only] The time the cluster will be automatically deleted in [RFC3339](
234
- # https://www.ietf.org/rfc/rfc3339.txt) text format.
235
- # Corresponds to the JSON property `expireTime`
264
+ # [Output only] The current software version of the master endpoint.
265
+ # Corresponds to the JSON property `currentMasterVersion`
236
266
  # @return [String]
237
- attr_accessor :expire_time
267
+ attr_accessor :current_master_version
238
268
 
239
269
  def initialize(**args)
240
270
  update!(**args)
@@ -242,125 +272,230 @@ module Google
242
272
 
243
273
  # Update properties of this object
244
274
  def update!(**args)
245
- @name = args[:name] if args.key?(:name)
246
- @description = args[:description] if args.key?(:description)
247
- @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
248
275
  @node_config = args[:node_config] if args.key?(:node_config)
249
- @master_auth = args[:master_auth] if args.key?(:master_auth)
250
- @logging_service = args[:logging_service] if args.key?(:logging_service)
251
- @monitoring_service = args[:monitoring_service] if args.key?(:monitoring_service)
252
- @network = args[:network] if args.key?(:network)
253
- @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
254
276
  @addons_config = args[:addons_config] if args.key?(:addons_config)
277
+ @status = args[:status] if args.key?(:status)
255
278
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
279
+ @current_node_version = args[:current_node_version] if args.key?(:current_node_version)
280
+ @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
281
+ @name = args[:name] if args.key?(:name)
282
+ @initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
283
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
284
+ @legacy_abac = args[:legacy_abac] if args.key?(:legacy_abac)
285
+ @create_time = args[:create_time] if args.key?(:create_time)
286
+ @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
287
+ @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
256
288
  @node_pools = args[:node_pools] if args.key?(:node_pools)
257
289
  @locations = args[:locations] if args.key?(:locations)
258
- @enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
259
290
  @self_link = args[:self_link] if args.key?(:self_link)
260
- @zone = args[:zone] if args.key?(:zone)
261
- @endpoint = args[:endpoint] if args.key?(:endpoint)
262
- @initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
263
- @current_master_version = args[:current_master_version] if args.key?(:current_master_version)
264
- @current_node_version = args[:current_node_version] if args.key?(:current_node_version)
265
- @create_time = args[:create_time] if args.key?(:create_time)
266
- @status = args[:status] if args.key?(:status)
267
- @status_message = args[:status_message] if args.key?(:status_message)
268
- @node_ipv4_cidr_size = args[:node_ipv4_cidr_size] if args.key?(:node_ipv4_cidr_size)
269
- @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
270
291
  @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
292
+ @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
293
+ @enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
294
+ @description = args[:description] if args.key?(:description)
271
295
  @current_node_count = args[:current_node_count] if args.key?(:current_node_count)
296
+ @monitoring_service = args[:monitoring_service] if args.key?(:monitoring_service)
297
+ @network = args[:network] if args.key?(:network)
298
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
299
+ @zone = args[:zone] if args.key?(:zone)
300
+ @logging_service = args[:logging_service] if args.key?(:logging_service)
301
+ @node_ipv4_cidr_size = args[:node_ipv4_cidr_size] if args.key?(:node_ipv4_cidr_size)
272
302
  @expire_time = args[:expire_time] if args.key?(:expire_time)
303
+ @status_message = args[:status_message] if args.key?(:status_message)
304
+ @master_auth = args[:master_auth] if args.key?(:master_auth)
305
+ @current_master_version = args[:current_master_version] if args.key?(:current_master_version)
273
306
  end
274
307
  end
275
308
 
276
- # Parameters that describe the nodes in a cluster.
277
- class NodeConfig
309
+ # CreateNodePoolRequest creates a node pool for a cluster.
310
+ class CreateNodePoolRequest
278
311
  include Google::Apis::Core::Hashable
279
312
 
280
- # The name of a Google Compute Engine [machine type](/compute/docs/machine-types)
281
- # (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-
282
- # standard-1`.
283
- # Corresponds to the JSON property `machineType`
284
- # @return [String]
285
- attr_accessor :machine_type
313
+ # NodePool contains the name and configuration for a cluster's node pool.
314
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
315
+ # specification, under the control of the cluster master. They may have a set
316
+ # of Kubernetes labels applied to them, which may be used to reference them
317
+ # during pod scheduling. They may also be resized up or down, to accommodate
318
+ # the workload.
319
+ # Corresponds to the JSON property `nodePool`
320
+ # @return [Google::Apis::ContainerV1::NodePool]
321
+ attr_accessor :node_pool
286
322
 
287
- # Size of the disk attached to each node, specified in GB. The smallest allowed
288
- # disk size is 10GB. If unspecified, the default disk size is 100GB.
289
- # Corresponds to the JSON property `diskSizeGb`
290
- # @return [Fixnum]
291
- attr_accessor :disk_size_gb
323
+ def initialize(**args)
324
+ update!(**args)
325
+ end
292
326
 
293
- # The set of Google API scopes to be made available on all of the node VMs under
294
- # the "default" service account. The following scopes are recommended, but not
295
- # required, and by default are not included: * `https://www.googleapis.com/auth/
296
- # compute` is required for mounting persistent storage on your nodes. * `https://
297
- # www.googleapis.com/auth/devstorage.read_only` is required for communicating
298
- # with **gcr.io** (the [Google Container Registry](/container-registry/)). If
299
- # unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are
300
- # enabled, in which case their required scopes will be added.
301
- # Corresponds to the JSON property `oauthScopes`
327
+ # Update properties of this object
328
+ def update!(**args)
329
+ @node_pool = args[:node_pool] if args.key?(:node_pool)
330
+ end
331
+ end
332
+
333
+ # ListOperationsResponse is the result of ListOperationsRequest.
334
+ class ListOperationsResponse
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # A list of operations in the project in the specified zone.
338
+ # Corresponds to the JSON property `operations`
339
+ # @return [Array<Google::Apis::ContainerV1::Operation>]
340
+ attr_accessor :operations
341
+
342
+ # If any zones are listed here, the list of operations returned
343
+ # may be missing the operations from those zones.
344
+ # Corresponds to the JSON property `missingZones`
302
345
  # @return [Array<String>]
303
- attr_accessor :oauth_scopes
346
+ attr_accessor :missing_zones
304
347
 
305
- # The Google Cloud Platform Service Account to be used by the node VMs. If no
306
- # Service Account is specified, the "default" service account is used.
307
- # Corresponds to the JSON property `serviceAccount`
308
- # @return [String]
309
- attr_accessor :service_account
348
+ def initialize(**args)
349
+ update!(**args)
350
+ end
310
351
 
311
- # The metadata key/value pairs assigned to instances in the cluster. Keys must
312
- # conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length.
313
- # These are reflected as part of a URL in the metadata server. Additionally, to
314
- # avoid ambiguity, keys must not conflict with any other metadata keys for the
315
- # project or be one of the four reserved keys: "instance-template", "kube-env", "
316
- # startup-script", and "user-data" Values are free-form strings, and only have
317
- # meaning as interpreted by the image running in the instance. The only
318
- # restriction placed on them is that each value's size must be less than or
319
- # equal to 32 KB. The total size of all keys and values must be less than 512 KB.
320
- # Corresponds to the JSON property `metadata`
321
- # @return [Hash<String,String>]
322
- attr_accessor :metadata
352
+ # Update properties of this object
353
+ def update!(**args)
354
+ @operations = args[:operations] if args.key?(:operations)
355
+ @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
356
+ end
357
+ end
323
358
 
324
- # The image type to use for this node. Note that for a given image type, the
325
- # latest version of it will be used.
326
- # Corresponds to the JSON property `imageType`
359
+ # Container Engine service configuration.
360
+ class ServerConfig
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # List of valid master versions.
364
+ # Corresponds to the JSON property `validMasterVersions`
365
+ # @return [Array<String>]
366
+ attr_accessor :valid_master_versions
367
+
368
+ # Version of Kubernetes the service deploys by default.
369
+ # Corresponds to the JSON property `defaultClusterVersion`
327
370
  # @return [String]
328
- attr_accessor :image_type
371
+ attr_accessor :default_cluster_version
372
+
373
+ # Default image type.
374
+ # Corresponds to the JSON property `defaultImageType`
375
+ # @return [String]
376
+ attr_accessor :default_image_type
377
+
378
+ # List of valid node upgrade target versions.
379
+ # Corresponds to the JSON property `validNodeVersions`
380
+ # @return [Array<String>]
381
+ attr_accessor :valid_node_versions
382
+
383
+ # List of valid image types.
384
+ # Corresponds to the JSON property `validImageTypes`
385
+ # @return [Array<String>]
386
+ attr_accessor :valid_image_types
387
+
388
+ def initialize(**args)
389
+ update!(**args)
390
+ end
391
+
392
+ # Update properties of this object
393
+ def update!(**args)
394
+ @valid_master_versions = args[:valid_master_versions] if args.key?(:valid_master_versions)
395
+ @default_cluster_version = args[:default_cluster_version] if args.key?(:default_cluster_version)
396
+ @default_image_type = args[:default_image_type] if args.key?(:default_image_type)
397
+ @valid_node_versions = args[:valid_node_versions] if args.key?(:valid_node_versions)
398
+ @valid_image_types = args[:valid_image_types] if args.key?(:valid_image_types)
399
+ end
400
+ end
401
+
402
+ # Parameters that describe the nodes in a cluster.
403
+ class NodeConfig
404
+ include Google::Apis::Core::Hashable
405
+
406
+ # The set of Google API scopes to be made available on all of the
407
+ # node VMs under the "default" service account.
408
+ # The following scopes are recommended, but not required, and by default are
409
+ # not included:
410
+ # * `https://www.googleapis.com/auth/compute` is required for mounting
411
+ # persistent storage on your nodes.
412
+ # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
413
+ # communicating with **gcr.io**
414
+ # (the [Google Container Registry](/container-registry/)).
415
+ # If unspecified, no scopes are added, unless Cloud Logging or Cloud
416
+ # Monitoring are enabled, in which case their required scopes will be added.
417
+ # Corresponds to the JSON property `oauthScopes`
418
+ # @return [Array<String>]
419
+ attr_accessor :oauth_scopes
420
+
421
+ # Whether the nodes are created as preemptible VM instances. See:
422
+ # https://cloud.google.com/compute/docs/instances/preemptible for more
423
+ # inforamtion about preemptible VM instances.
424
+ # Corresponds to the JSON property `preemptible`
425
+ # @return [Boolean]
426
+ attr_accessor :preemptible
427
+ alias_method :preemptible?, :preemptible
329
428
 
330
429
  # The map of Kubernetes labels (key/value pairs) to be applied to each node.
331
- # These will added in addition to any default label(s) that Kubernetes may apply
332
- # to the node. In case of conflict in label keys, the applied set may differ
333
- # depending on the Kubernetes version -- it's best to assume the behavior is
334
- # undefined and conflicts should be avoided. For more information, including
335
- # usage and the valid values, see: http://kubernetes.io/v1.1/docs/user-guide/
336
- # labels.html
430
+ # These will added in addition to any default label(s) that
431
+ # Kubernetes may apply to the node.
432
+ # In case of conflict in label keys, the applied set may differ depending on
433
+ # the Kubernetes version -- it's best to assume the behavior is undefined
434
+ # and conflicts should be avoided.
435
+ # For more information, including usage and the valid values, see:
436
+ # http://kubernetes.io/v1.1/docs/user-guide/labels.html
337
437
  # Corresponds to the JSON property `labels`
338
438
  # @return [Hash<String,String>]
339
439
  attr_accessor :labels
340
440
 
341
- # The number of local SSD disks to be attached to the node. The limit for this
342
- # value is dependant upon the maximum number of disks available on a machine per
343
- # zone. See: https://cloud.google.com/compute/docs/disks/local-ssd#
344
- # local_ssd_limits for more information.
441
+ # The number of local SSD disks to be attached to the node.
442
+ # The limit for this value is dependant upon the maximum number of
443
+ # disks available on a machine per zone. See:
444
+ # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
445
+ # for more information.
345
446
  # Corresponds to the JSON property `localSsdCount`
346
447
  # @return [Fixnum]
347
448
  attr_accessor :local_ssd_count
348
449
 
450
+ # The metadata key/value pairs assigned to instances in the cluster.
451
+ # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
452
+ # in length. These are reflected as part of a URL in the metadata server.
453
+ # Additionally, to avoid ambiguity, keys must not conflict with any other
454
+ # metadata keys for the project or be one of the four reserved keys:
455
+ # "instance-template", "kube-env", "startup-script", and "user-data"
456
+ # Values are free-form strings, and only have meaning as interpreted by
457
+ # the image running in the instance. The only restriction placed on them is
458
+ # that each value's size must be less than or equal to 32 KB.
459
+ # The total size of all keys and values must be less than 512 KB.
460
+ # Corresponds to the JSON property `metadata`
461
+ # @return [Hash<String,String>]
462
+ attr_accessor :metadata
463
+
464
+ # Size of the disk attached to each node, specified in GB.
465
+ # The smallest allowed disk size is 10GB.
466
+ # If unspecified, the default disk size is 100GB.
467
+ # Corresponds to the JSON property `diskSizeGb`
468
+ # @return [Fixnum]
469
+ attr_accessor :disk_size_gb
470
+
349
471
  # The list of instance tags applied to all nodes. Tags are used to identify
350
- # valid sources or targets for network firewalls and are specified by the client
351
- # during cluster or node pool creation. Each tag within the list must comply
352
- # with RFC1035.
472
+ # valid sources or targets for network firewalls and are specified by
473
+ # the client during cluster or node pool creation. Each tag within the list
474
+ # must comply with RFC1035.
353
475
  # Corresponds to the JSON property `tags`
354
476
  # @return [Array<String>]
355
477
  attr_accessor :tags
356
478
 
357
- # Whether the nodes are created as preemptible VM instances. See: https://cloud.
358
- # google.com/compute/docs/instances/preemptible for more inforamtion about
359
- # preemptible VM instances.
360
- # Corresponds to the JSON property `preemptible`
361
- # @return [Boolean]
362
- attr_accessor :preemptible
363
- alias_method :preemptible?, :preemptible
479
+ # The Google Cloud Platform Service Account to be used by the node VMs. If
480
+ # no Service Account is specified, the "default" service account is used.
481
+ # Corresponds to the JSON property `serviceAccount`
482
+ # @return [String]
483
+ attr_accessor :service_account
484
+
485
+ # The name of a Google Compute Engine [machine
486
+ # type](/compute/docs/machine-types) (e.g.
487
+ # `n1-standard-1`).
488
+ # If unspecified, the default machine type is
489
+ # `n1-standard-1`.
490
+ # Corresponds to the JSON property `machineType`
491
+ # @return [String]
492
+ attr_accessor :machine_type
493
+
494
+ # The image type to use for this node. Note that for a given image type,
495
+ # the latest version of it will be used.
496
+ # Corresponds to the JSON property `imageType`
497
+ # @return [String]
498
+ attr_accessor :image_type
364
499
 
365
500
  def initialize(**args)
366
501
  update!(**args)
@@ -368,50 +503,54 @@ module Google
368
503
 
369
504
  # Update properties of this object
370
505
  def update!(**args)
371
- @machine_type = args[:machine_type] if args.key?(:machine_type)
372
- @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
373
506
  @oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
374
- @service_account = args[:service_account] if args.key?(:service_account)
375
- @metadata = args[:metadata] if args.key?(:metadata)
376
- @image_type = args[:image_type] if args.key?(:image_type)
507
+ @preemptible = args[:preemptible] if args.key?(:preemptible)
377
508
  @labels = args[:labels] if args.key?(:labels)
378
509
  @local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
510
+ @metadata = args[:metadata] if args.key?(:metadata)
511
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
379
512
  @tags = args[:tags] if args.key?(:tags)
380
- @preemptible = args[:preemptible] if args.key?(:preemptible)
513
+ @service_account = args[:service_account] if args.key?(:service_account)
514
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
515
+ @image_type = args[:image_type] if args.key?(:image_type)
381
516
  end
382
517
  end
383
518
 
384
519
  # The authentication information for accessing the master endpoint.
385
- # Authentication can be done using HTTP basic auth or using client certificates.
520
+ # Authentication can be done using HTTP basic auth or using client
521
+ # certificates.
386
522
  class MasterAuth
387
523
  include Google::Apis::Core::Hashable
388
524
 
389
- # The username to use for HTTP basic authentication to the master endpoint.
390
- # Corresponds to the JSON property `username`
525
+ # [Output only] Base64-encoded public certificate that is the root of
526
+ # trust for the cluster.
527
+ # Corresponds to the JSON property `clusterCaCertificate`
391
528
  # @return [String]
392
- attr_accessor :username
529
+ attr_accessor :cluster_ca_certificate
393
530
 
394
531
  # The password to use for HTTP basic authentication to the master endpoint.
395
532
  # Because the master endpoint is open to the Internet, you should create a
396
- # strong password.
533
+ # strong password. If a password is provided for cluster creation, username
534
+ # must be non-empty.
397
535
  # Corresponds to the JSON property `password`
398
536
  # @return [String]
399
537
  attr_accessor :password
400
538
 
401
- # [Output only] Base64-encoded public certificate that is the root of trust for
402
- # the cluster.
403
- # Corresponds to the JSON property `clusterCaCertificate`
404
- # @return [String]
405
- attr_accessor :cluster_ca_certificate
406
-
407
539
  # [Output only] Base64-encoded public certificate used by clients to
408
540
  # authenticate to the cluster endpoint.
409
541
  # Corresponds to the JSON property `clientCertificate`
410
542
  # @return [String]
411
543
  attr_accessor :client_certificate
412
544
 
413
- # [Output only] Base64-encoded private key used by clients to authenticate to
414
- # the cluster endpoint.
545
+ # The username to use for HTTP basic authentication to the master endpoint.
546
+ # For clusters v1.6.0 and later, you can disable basic authentication by
547
+ # providing an empty username.
548
+ # Corresponds to the JSON property `username`
549
+ # @return [String]
550
+ attr_accessor :username
551
+
552
+ # [Output only] Base64-encoded private key used by clients to authenticate
553
+ # to the cluster endpoint.
415
554
  # Corresponds to the JSON property `clientKey`
416
555
  # @return [String]
417
556
  attr_accessor :client_key
@@ -422,31 +561,58 @@ module Google
422
561
 
423
562
  # Update properties of this object
424
563
  def update!(**args)
425
- @username = args[:username] if args.key?(:username)
426
- @password = args[:password] if args.key?(:password)
427
564
  @cluster_ca_certificate = args[:cluster_ca_certificate] if args.key?(:cluster_ca_certificate)
565
+ @password = args[:password] if args.key?(:password)
428
566
  @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
567
+ @username = args[:username] if args.key?(:username)
429
568
  @client_key = args[:client_key] if args.key?(:client_key)
430
569
  end
431
570
  end
432
571
 
433
- # Configuration for the addons that can be automatically spun up in the cluster,
434
- # enabling additional functionality.
435
- class AddonsConfig
572
+ # AutoUpgradeOptions defines the set of options for the user to control how
573
+ # the Auto Upgrades will proceed.
574
+ class AutoUpgradeOptions
436
575
  include Google::Apis::Core::Hashable
437
576
 
438
- # Configuration options for the HTTP (L7) load balancing controller addon, which
439
- # makes it easy to set up HTTP load balancers for services in a cluster.
440
- # Corresponds to the JSON property `httpLoadBalancing`
441
- # @return [Google::Apis::ContainerV1::HttpLoadBalancing]
442
- attr_accessor :http_load_balancing
577
+ # [Output only] This field is set when upgrades are about to commence
578
+ # with the description of the upgrade.
579
+ # Corresponds to the JSON property `description`
580
+ # @return [String]
581
+ attr_accessor :description
582
+
583
+ # [Output only] This field is set when upgrades are about to commence
584
+ # with the approximate start time for the upgrades, in
585
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
586
+ # Corresponds to the JSON property `autoUpgradeStartTime`
587
+ # @return [String]
588
+ attr_accessor :auto_upgrade_start_time
589
+
590
+ def initialize(**args)
591
+ update!(**args)
592
+ end
593
+
594
+ # Update properties of this object
595
+ def update!(**args)
596
+ @description = args[:description] if args.key?(:description)
597
+ @auto_upgrade_start_time = args[:auto_upgrade_start_time] if args.key?(:auto_upgrade_start_time)
598
+ end
599
+ end
600
+
601
+ # ListClustersResponse is the result of ListClustersRequest.
602
+ class ListClustersResponse
603
+ include Google::Apis::Core::Hashable
443
604
 
444
- # Configuration options for the horizontal pod autoscaling feature, which
445
- # increases or decreases the number of replica pods a replication controller has
446
- # based on the resource usage of the existing pods.
447
- # Corresponds to the JSON property `horizontalPodAutoscaling`
448
- # @return [Google::Apis::ContainerV1::HorizontalPodAutoscaling]
449
- attr_accessor :horizontal_pod_autoscaling
605
+ # If any zones are listed here, the list of clusters returned
606
+ # may be missing those zones.
607
+ # Corresponds to the JSON property `missingZones`
608
+ # @return [Array<String>]
609
+ attr_accessor :missing_zones
610
+
611
+ # A list of clusters in the project in the specified zone, or
612
+ # across all ones.
613
+ # Corresponds to the JSON property `clusters`
614
+ # @return [Array<Google::Apis::ContainerV1::Cluster>]
615
+ attr_accessor :clusters
450
616
 
451
617
  def initialize(**args)
452
618
  update!(**args)
@@ -454,18 +620,19 @@ module Google
454
620
 
455
621
  # Update properties of this object
456
622
  def update!(**args)
457
- @http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing)
458
- @horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling)
623
+ @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
624
+ @clusters = args[:clusters] if args.key?(:clusters)
459
625
  end
460
626
  end
461
627
 
462
- # Configuration options for the HTTP (L7) load balancing controller addon, which
463
- # makes it easy to set up HTTP load balancers for services in a cluster.
628
+ # Configuration options for the HTTP (L7) load balancing controller addon,
629
+ # which makes it easy to set up HTTP load balancers for services in a cluster.
464
630
  class HttpLoadBalancing
465
631
  include Google::Apis::Core::Hashable
466
632
 
467
- # Whether the HTTP Load Balancing controller is enabled in the cluster. When
468
- # enabled, it runs a small pod in the cluster that manages the load balancers.
633
+ # Whether the HTTP Load Balancing controller is enabled in the cluster.
634
+ # When enabled, it runs a small pod in the cluster that manages the load
635
+ # balancers.
469
636
  # Corresponds to the JSON property `disabled`
470
637
  # @return [Boolean]
471
638
  attr_accessor :disabled
@@ -481,19 +648,21 @@ module Google
481
648
  end
482
649
  end
483
650
 
484
- # Configuration options for the horizontal pod autoscaling feature, which
485
- # increases or decreases the number of replica pods a replication controller has
486
- # based on the resource usage of the existing pods.
487
- class HorizontalPodAutoscaling
651
+ # SetMasterAuthRequest updates the admin password of a cluster.
652
+ class SetMasterAuthRequest
488
653
  include Google::Apis::Core::Hashable
489
654
 
490
- # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When
491
- # enabled, it ensures that a Heapster pod is running in the cluster, which is
492
- # also used by the Cloud Monitoring service.
493
- # Corresponds to the JSON property `disabled`
494
- # @return [Boolean]
495
- attr_accessor :disabled
496
- alias_method :disabled?, :disabled
655
+ # The authentication information for accessing the master endpoint.
656
+ # Authentication can be done using HTTP basic auth or using client
657
+ # certificates.
658
+ # Corresponds to the JSON property `update`
659
+ # @return [Google::Apis::ContainerV1::MasterAuth]
660
+ attr_accessor :update
661
+
662
+ # The exact form of action to be taken on the master auth
663
+ # Corresponds to the JSON property `action`
664
+ # @return [String]
665
+ attr_accessor :action
497
666
 
498
667
  def initialize(**args)
499
668
  update!(**args)
@@ -501,74 +670,109 @@ module Google
501
670
 
502
671
  # Update properties of this object
503
672
  def update!(**args)
504
- @disabled = args[:disabled] if args.key?(:disabled)
673
+ @update = args[:update] if args.key?(:update)
674
+ @action = args[:action] if args.key?(:action)
505
675
  end
506
676
  end
507
677
 
508
- # NodePool contains the name and configuration for a cluster's node pool. Node
509
- # pools are a set of nodes (i.e. VM's), with a common configuration and
510
- # specification, under the control of the cluster master. They may have a set of
511
- # Kubernetes labels applied to them, which may be used to reference them during
512
- # pod scheduling. They may also be resized up or down, to accommodate the
513
- # workload.
514
- class NodePool
678
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
679
+ # adjust the size of the node pool to the current cluster usage.
680
+ class NodePoolAutoscaling
515
681
  include Google::Apis::Core::Hashable
516
682
 
517
- # The name of the node pool.
518
- # Corresponds to the JSON property `name`
519
- # @return [String]
520
- attr_accessor :name
683
+ # Is autoscaling enabled for this node pool.
684
+ # Corresponds to the JSON property `enabled`
685
+ # @return [Boolean]
686
+ attr_accessor :enabled
687
+ alias_method :enabled?, :enabled
521
688
 
522
- # Parameters that describe the nodes in a cluster.
523
- # Corresponds to the JSON property `config`
524
- # @return [Google::Apis::ContainerV1::NodeConfig]
525
- attr_accessor :config
689
+ # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
690
+ # has to enough quota to scale up the cluster.
691
+ # Corresponds to the JSON property `maxNodeCount`
692
+ # @return [Fixnum]
693
+ attr_accessor :max_node_count
526
694
 
527
- # The initial node count for the pool. You must ensure that your Compute Engine
528
- # resource quota is sufficient for this number of instances. You must also have
529
- # available firewall and routes quota.
530
- # Corresponds to the JSON property `initialNodeCount`
695
+ # Minimum number of nodes in the NodePool. Must be >= 1 and <=
696
+ # max_node_count.
697
+ # Corresponds to the JSON property `minNodeCount`
531
698
  # @return [Fixnum]
532
- attr_accessor :initial_node_count
699
+ attr_accessor :min_node_count
533
700
 
534
- # [Output only] Server-defined URL for the resource.
535
- # Corresponds to the JSON property `selfLink`
701
+ def initialize(**args)
702
+ update!(**args)
703
+ end
704
+
705
+ # Update properties of this object
706
+ def update!(**args)
707
+ @enabled = args[:enabled] if args.key?(:enabled)
708
+ @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
709
+ @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
710
+ end
711
+ end
712
+
713
+ # ClusterUpdate describes an update to the cluster. Exactly one update can
714
+ # be applied to a cluster with each request, so at most one field can be
715
+ # provided.
716
+ class ClusterUpdate
717
+ include Google::Apis::Core::Hashable
718
+
719
+ # The monitoring service the cluster should use to write metrics.
720
+ # Currently available options:
721
+ # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
722
+ # * "none" - no metrics will be exported from the cluster
723
+ # Corresponds to the JSON property `desiredMonitoringService`
536
724
  # @return [String]
537
- attr_accessor :self_link
725
+ attr_accessor :desired_monitoring_service
538
726
 
539
- # [Output only] The version of the Kubernetes of this node.
540
- # Corresponds to the JSON property `version`
727
+ # The desired image type for the node pool.
728
+ # NOTE: Set the "desired_node_pool" field as well.
729
+ # Corresponds to the JSON property `desiredImageType`
541
730
  # @return [String]
542
- attr_accessor :version
731
+ attr_accessor :desired_image_type
543
732
 
544
- # [Output only] The resource URLs of [instance groups](/compute/docs/instance-
545
- # groups/) associated with this node pool.
546
- # Corresponds to the JSON property `instanceGroupUrls`
547
- # @return [Array<String>]
548
- attr_accessor :instance_group_urls
733
+ # Configuration for the addons that can be automatically spun up in the
734
+ # cluster, enabling additional functionality.
735
+ # Corresponds to the JSON property `desiredAddonsConfig`
736
+ # @return [Google::Apis::ContainerV1::AddonsConfig]
737
+ attr_accessor :desired_addons_config
549
738
 
550
- # [Output only] The status of the nodes in this pool instance.
551
- # Corresponds to the JSON property `status`
739
+ # The node pool to be upgraded. This field is mandatory if
740
+ # "desired_node_version", "desired_image_family" or
741
+ # "desired_node_pool_autoscaling" is specified and there is more than one
742
+ # node pool on the cluster.
743
+ # Corresponds to the JSON property `desiredNodePoolId`
552
744
  # @return [String]
553
- attr_accessor :status
745
+ attr_accessor :desired_node_pool_id
554
746
 
555
- # [Output only] Additional information about the current status of this node
556
- # pool instance, if available.
557
- # Corresponds to the JSON property `statusMessage`
747
+ # The Kubernetes version to change the nodes to (typically an
748
+ # upgrade). Use `-` to upgrade to the latest version supported by
749
+ # the server.
750
+ # Corresponds to the JSON property `desiredNodeVersion`
558
751
  # @return [String]
559
- attr_accessor :status_message
752
+ attr_accessor :desired_node_version
753
+
754
+ # The Kubernetes version to change the master to. The only valid value is the
755
+ # latest supported version. Use "-" to have the server automatically select
756
+ # the latest version.
757
+ # Corresponds to the JSON property `desiredMasterVersion`
758
+ # @return [String]
759
+ attr_accessor :desired_master_version
760
+
761
+ # The desired list of Google Compute Engine
762
+ # [locations](/compute/docs/zones#available) in which the cluster's nodes
763
+ # should be located. Changing the locations a cluster is in will result
764
+ # in nodes being either created or removed from the cluster, depending on
765
+ # whether locations are being added or removed.
766
+ # This list must always include the cluster's primary zone.
767
+ # Corresponds to the JSON property `desiredLocations`
768
+ # @return [Array<String>]
769
+ attr_accessor :desired_locations
560
770
 
561
771
  # NodePoolAutoscaling contains information required by cluster autoscaler to
562
772
  # adjust the size of the node pool to the current cluster usage.
563
- # Corresponds to the JSON property `autoscaling`
773
+ # Corresponds to the JSON property `desiredNodePoolAutoscaling`
564
774
  # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
565
- attr_accessor :autoscaling
566
-
567
- # NodeManagement defines the set of node management services turned on for the
568
- # node pool.
569
- # Corresponds to the JSON property `management`
570
- # @return [Google::Apis::ContainerV1::NodeManagement]
571
- attr_accessor :management
775
+ attr_accessor :desired_node_pool_autoscaling
572
776
 
573
777
  def initialize(**args)
574
778
  update!(**args)
@@ -576,40 +780,30 @@ module Google
576
780
 
577
781
  # Update properties of this object
578
782
  def update!(**args)
579
- @name = args[:name] if args.key?(:name)
580
- @config = args[:config] if args.key?(:config)
581
- @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
582
- @self_link = args[:self_link] if args.key?(:self_link)
583
- @version = args[:version] if args.key?(:version)
584
- @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
585
- @status = args[:status] if args.key?(:status)
586
- @status_message = args[:status_message] if args.key?(:status_message)
587
- @autoscaling = args[:autoscaling] if args.key?(:autoscaling)
588
- @management = args[:management] if args.key?(:management)
783
+ @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
784
+ @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
785
+ @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
786
+ @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
787
+ @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
788
+ @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version)
789
+ @desired_locations = args[:desired_locations] if args.key?(:desired_locations)
790
+ @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
589
791
  end
590
792
  end
591
793
 
592
- # NodePoolAutoscaling contains information required by cluster autoscaler to
593
- # adjust the size of the node pool to the current cluster usage.
594
- class NodePoolAutoscaling
794
+ # Configuration options for the horizontal pod autoscaling feature, which
795
+ # increases or decreases the number of replica pods a replication controller
796
+ # has based on the resource usage of the existing pods.
797
+ class HorizontalPodAutoscaling
595
798
  include Google::Apis::Core::Hashable
596
799
 
597
- # Is autoscaling enabled for this node pool.
598
- # Corresponds to the JSON property `enabled`
800
+ # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
801
+ # When enabled, it ensures that a Heapster pod is running in the cluster,
802
+ # which is also used by the Cloud Monitoring service.
803
+ # Corresponds to the JSON property `disabled`
599
804
  # @return [Boolean]
600
- attr_accessor :enabled
601
- alias_method :enabled?, :enabled
602
-
603
- # Minimum number of nodes in the NodePool. Must be >= 1 and <= max_node_count.
604
- # Corresponds to the JSON property `minNodeCount`
605
- # @return [Fixnum]
606
- attr_accessor :min_node_count
607
-
608
- # Maximum number of nodes in the NodePool. Must be >= min_node_count. There has
609
- # to enough quota to scale up the cluster.
610
- # Corresponds to the JSON property `maxNodeCount`
611
- # @return [Fixnum]
612
- attr_accessor :max_node_count
805
+ attr_accessor :disabled
806
+ alias_method :disabled?, :disabled
613
807
 
614
808
  def initialize(**args)
615
809
  update!(**args)
@@ -617,28 +811,20 @@ module Google
617
811
 
618
812
  # Update properties of this object
619
813
  def update!(**args)
620
- @enabled = args[:enabled] if args.key?(:enabled)
621
- @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
622
- @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
814
+ @disabled = args[:disabled] if args.key?(:disabled)
623
815
  end
624
816
  end
625
817
 
626
- # NodeManagement defines the set of node management services turned on for the
627
- # node pool.
628
- class NodeManagement
818
+ # SetNodePoolManagementRequest sets the node management properties of a node
819
+ # pool.
820
+ class SetNodePoolManagementRequest
629
821
  include Google::Apis::Core::Hashable
630
822
 
631
- # Whether the nodes will be automatically upgraded.
632
- # Corresponds to the JSON property `autoUpgrade`
633
- # @return [Boolean]
634
- attr_accessor :auto_upgrade
635
- alias_method :auto_upgrade?, :auto_upgrade
636
-
637
- # AutoUpgradeOptions defines the set of options for the user to control how the
638
- # Auto Upgrades will proceed.
639
- # Corresponds to the JSON property `upgradeOptions`
640
- # @return [Google::Apis::ContainerV1::AutoUpgradeOptions]
641
- attr_accessor :upgrade_options
823
+ # NodeManagement defines the set of node management services turned on for the
824
+ # node pool.
825
+ # Corresponds to the JSON property `management`
826
+ # @return [Google::Apis::ContainerV1::NodeManagement]
827
+ attr_accessor :management
642
828
 
643
829
  def initialize(**args)
644
830
  update!(**args)
@@ -646,37 +832,26 @@ module Google
646
832
 
647
833
  # Update properties of this object
648
834
  def update!(**args)
649
- @auto_upgrade = args[:auto_upgrade] if args.key?(:auto_upgrade)
650
- @upgrade_options = args[:upgrade_options] if args.key?(:upgrade_options)
835
+ @management = args[:management] if args.key?(:management)
651
836
  end
652
837
  end
653
838
 
654
- # AutoUpgradeOptions defines the set of options for the user to control how the
655
- # Auto Upgrades will proceed.
656
- class AutoUpgradeOptions
839
+ # A generic empty message that you can re-use to avoid defining duplicated
840
+ # empty messages in your APIs. A typical example is to use it as the request
841
+ # or the response type of an API method. For instance:
842
+ # service Foo `
843
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
844
+ # `
845
+ # The JSON representation for `Empty` is empty JSON object ````.
846
+ class Empty
657
847
  include Google::Apis::Core::Hashable
658
848
 
659
- # [Output only] This field is set when upgrades are about to commence with the
660
- # approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/
661
- # rfc3339.txt) text format.
662
- # Corresponds to the JSON property `autoUpgradeStartTime`
663
- # @return [String]
664
- attr_accessor :auto_upgrade_start_time
665
-
666
- # [Output only] This field is set when upgrades are about to commence with the
667
- # description of the upgrade.
668
- # Corresponds to the JSON property `description`
669
- # @return [String]
670
- attr_accessor :description
671
-
672
849
  def initialize(**args)
673
850
  update!(**args)
674
851
  end
675
852
 
676
853
  # Update properties of this object
677
854
  def update!(**args)
678
- @auto_upgrade_start_time = args[:auto_upgrade_start_time] if args.key?(:auto_upgrade_start_time)
679
- @description = args[:description] if args.key?(:description)
680
855
  end
681
856
  end
682
857
 
@@ -699,51 +874,42 @@ module Google
699
874
  end
700
875
  end
701
876
 
702
- # This operation resource represents operations that may have happened or are
703
- # happening on the cluster. All fields are output only.
704
- class Operation
877
+ # ListNodePoolsResponse is the result of ListNodePoolsRequest.
878
+ class ListNodePoolsResponse
705
879
  include Google::Apis::Core::Hashable
706
880
 
707
- # The server-assigned ID for the operation.
708
- # Corresponds to the JSON property `name`
709
- # @return [String]
710
- attr_accessor :name
711
-
712
- # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in
713
- # which the operation is taking place.
714
- # Corresponds to the JSON property `zone`
715
- # @return [String]
716
- attr_accessor :zone
881
+ # A list of node pools for a cluster.
882
+ # Corresponds to the JSON property `nodePools`
883
+ # @return [Array<Google::Apis::ContainerV1::NodePool>]
884
+ attr_accessor :node_pools
717
885
 
718
- # The operation type.
719
- # Corresponds to the JSON property `operationType`
720
- # @return [String]
721
- attr_accessor :operation_type
886
+ def initialize(**args)
887
+ update!(**args)
888
+ end
722
889
 
723
- # The current status of the operation.
724
- # Corresponds to the JSON property `status`
725
- # @return [String]
726
- attr_accessor :status
890
+ # Update properties of this object
891
+ def update!(**args)
892
+ @node_pools = args[:node_pools] if args.key?(:node_pools)
893
+ end
894
+ end
727
895
 
728
- # Detailed operation progress, if available.
729
- # Corresponds to the JSON property `detail`
730
- # @return [String]
731
- attr_accessor :detail
896
+ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
897
+ class CompleteIpRotationRequest
898
+ include Google::Apis::Core::Hashable
732
899
 
733
- # If an error has occurred, a textual description of the error.
734
- # Corresponds to the JSON property `statusMessage`
735
- # @return [String]
736
- attr_accessor :status_message
900
+ def initialize(**args)
901
+ update!(**args)
902
+ end
737
903
 
738
- # Server-defined URL for the resource.
739
- # Corresponds to the JSON property `selfLink`
740
- # @return [String]
741
- attr_accessor :self_link
904
+ # Update properties of this object
905
+ def update!(**args)
906
+ end
907
+ end
742
908
 
743
- # Server-defined URL for the target of the operation.
744
- # Corresponds to the JSON property `targetLink`
745
- # @return [String]
746
- attr_accessor :target_link
909
+ # StartIPRotationRequest creates a new IP for the cluster and then performs
910
+ # a node upgrade on each node pool to point to the new IP.
911
+ class StartIpRotationRequest
912
+ include Google::Apis::Core::Hashable
747
913
 
748
914
  def initialize(**args)
749
915
  update!(**args)
@@ -751,26 +917,22 @@ module Google
751
917
 
752
918
  # Update properties of this object
753
919
  def update!(**args)
754
- @name = args[:name] if args.key?(:name)
755
- @zone = args[:zone] if args.key?(:zone)
756
- @operation_type = args[:operation_type] if args.key?(:operation_type)
757
- @status = args[:status] if args.key?(:status)
758
- @detail = args[:detail] if args.key?(:detail)
759
- @status_message = args[:status_message] if args.key?(:status_message)
760
- @self_link = args[:self_link] if args.key?(:self_link)
761
- @target_link = args[:target_link] if args.key?(:target_link)
762
920
  end
763
921
  end
764
922
 
765
- # UpdateClusterRequest updates the settings of a cluster.
766
- class UpdateClusterRequest
923
+ # Configuration for the legacy Attribute Based Access Control authorization
924
+ # mode.
925
+ class LegacyAbac
767
926
  include Google::Apis::Core::Hashable
768
927
 
769
- # ClusterUpdate describes an update to the cluster. Exactly one update can be
770
- # applied to a cluster with each request, so at most one field can be provided.
771
- # Corresponds to the JSON property `update`
772
- # @return [Google::Apis::ContainerV1::ClusterUpdate]
773
- attr_accessor :update
928
+ # Whether the ABAC authorizer is enabled for this cluster. When enabled,
929
+ # identities in the system, including service accounts, nodes, and
930
+ # controllers, will have statically granted permissions beyond those
931
+ # provided by the RBAC configuration or IAM.
932
+ # Corresponds to the JSON property `enabled`
933
+ # @return [Boolean]
934
+ attr_accessor :enabled
935
+ alias_method :enabled?, :enabled
774
936
 
775
937
  def initialize(**args)
776
938
  update!(**args)
@@ -778,68 +940,116 @@ module Google
778
940
 
779
941
  # Update properties of this object
780
942
  def update!(**args)
781
- @update = args[:update] if args.key?(:update)
943
+ @enabled = args[:enabled] if args.key?(:enabled)
782
944
  end
783
945
  end
784
946
 
785
- # ClusterUpdate describes an update to the cluster. Exactly one update can be
786
- # applied to a cluster with each request, so at most one field can be provided.
787
- class ClusterUpdate
947
+ # NodePool contains the name and configuration for a cluster's node pool.
948
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
949
+ # specification, under the control of the cluster master. They may have a set
950
+ # of Kubernetes labels applied to them, which may be used to reference them
951
+ # during pod scheduling. They may also be resized up or down, to accommodate
952
+ # the workload.
953
+ class NodePool
788
954
  include Google::Apis::Core::Hashable
789
955
 
790
- # The Kubernetes version to change the nodes to (typically an upgrade). Use `-`
791
- # to upgrade to the latest version supported by the server.
792
- # Corresponds to the JSON property `desiredNodeVersion`
956
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
957
+ # adjust the size of the node pool to the current cluster usage.
958
+ # Corresponds to the JSON property `autoscaling`
959
+ # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
960
+ attr_accessor :autoscaling
961
+
962
+ # The initial node count for the pool. You must ensure that your
963
+ # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
964
+ # is sufficient for this number of instances. You must also have available
965
+ # firewall and routes quota.
966
+ # Corresponds to the JSON property `initialNodeCount`
967
+ # @return [Fixnum]
968
+ attr_accessor :initial_node_count
969
+
970
+ # NodeManagement defines the set of node management services turned on for the
971
+ # node pool.
972
+ # Corresponds to the JSON property `management`
973
+ # @return [Google::Apis::ContainerV1::NodeManagement]
974
+ attr_accessor :management
975
+
976
+ # [Output only] Server-defined URL for the resource.
977
+ # Corresponds to the JSON property `selfLink`
793
978
  # @return [String]
794
- attr_accessor :desired_node_version
979
+ attr_accessor :self_link
795
980
 
796
- # The monitoring service the cluster should use to write metrics. Currently
797
- # available options: * "monitoring.googleapis.com" - the Google Cloud Monitoring
798
- # service * "none" - no metrics will be exported from the cluster
799
- # Corresponds to the JSON property `desiredMonitoringService`
981
+ # [Output only] The version of the Kubernetes of this node.
982
+ # Corresponds to the JSON property `version`
800
983
  # @return [String]
801
- attr_accessor :desired_monitoring_service
984
+ attr_accessor :version
802
985
 
803
- # Configuration for the addons that can be automatically spun up in the cluster,
804
- # enabling additional functionality.
805
- # Corresponds to the JSON property `desiredAddonsConfig`
806
- # @return [Google::Apis::ContainerV1::AddonsConfig]
807
- attr_accessor :desired_addons_config
986
+ # [Output only] The resource URLs of [instance
987
+ # groups](/compute/docs/instance-groups/) associated with this
988
+ # node pool.
989
+ # Corresponds to the JSON property `instanceGroupUrls`
990
+ # @return [Array<String>]
991
+ attr_accessor :instance_group_urls
808
992
 
809
- # The node pool to be upgraded. This field is mandatory if "desired_node_version"
810
- # , "desired_image_family" or "desired_node_pool_autoscaling" is specified and
811
- # there is more than one node pool on the cluster.
812
- # Corresponds to the JSON property `desiredNodePoolId`
993
+ # [Output only] The status of the nodes in this pool instance.
994
+ # Corresponds to the JSON property `status`
813
995
  # @return [String]
814
- attr_accessor :desired_node_pool_id
996
+ attr_accessor :status
815
997
 
816
- # The desired image type for the node pool. NOTE: Set the "desired_node_pool"
817
- # field as well.
818
- # Corresponds to the JSON property `desiredImageType`
998
+ # Parameters that describe the nodes in a cluster.
999
+ # Corresponds to the JSON property `config`
1000
+ # @return [Google::Apis::ContainerV1::NodeConfig]
1001
+ attr_accessor :config
1002
+
1003
+ # [Output only] Additional information about the current status of this
1004
+ # node pool instance, if available.
1005
+ # Corresponds to the JSON property `statusMessage`
819
1006
  # @return [String]
820
- attr_accessor :desired_image_type
1007
+ attr_accessor :status_message
821
1008
 
822
- # NodePoolAutoscaling contains information required by cluster autoscaler to
823
- # adjust the size of the node pool to the current cluster usage.
824
- # Corresponds to the JSON property `desiredNodePoolAutoscaling`
825
- # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
826
- attr_accessor :desired_node_pool_autoscaling
1009
+ # The name of the node pool.
1010
+ # Corresponds to the JSON property `name`
1011
+ # @return [String]
1012
+ attr_accessor :name
827
1013
 
828
- # The desired list of Google Compute Engine [locations](/compute/docs/zones#
829
- # available) in which the cluster's nodes should be located. Changing the
830
- # locations a cluster is in will result in nodes being either created or removed
831
- # from the cluster, depending on whether locations are being added or removed.
832
- # This list must always include the cluster's primary zone.
833
- # Corresponds to the JSON property `desiredLocations`
834
- # @return [Array<String>]
835
- attr_accessor :desired_locations
1014
+ def initialize(**args)
1015
+ update!(**args)
1016
+ end
836
1017
 
837
- # The Kubernetes version to change the master to. The only valid value is the
838
- # latest supported version. Use "-" to have the server automatically select the
839
- # latest version.
840
- # Corresponds to the JSON property `desiredMasterVersion`
1018
+ # Update properties of this object
1019
+ def update!(**args)
1020
+ @autoscaling = args[:autoscaling] if args.key?(:autoscaling)
1021
+ @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
1022
+ @management = args[:management] if args.key?(:management)
1023
+ @self_link = args[:self_link] if args.key?(:self_link)
1024
+ @version = args[:version] if args.key?(:version)
1025
+ @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
1026
+ @status = args[:status] if args.key?(:status)
1027
+ @config = args[:config] if args.key?(:config)
1028
+ @status_message = args[:status_message] if args.key?(:status_message)
1029
+ @name = args[:name] if args.key?(:name)
1030
+ end
1031
+ end
1032
+
1033
+ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
1034
+ # Engine cluster, which will in turn set them for Google Compute Engine
1035
+ # resources used by that cluster
1036
+ class SetLabelsRequest
1037
+ include Google::Apis::Core::Hashable
1038
+
1039
+ # The labels to set for that cluster.
1040
+ # Corresponds to the JSON property `resourceLabels`
1041
+ # @return [Hash<String,String>]
1042
+ attr_accessor :resource_labels
1043
+
1044
+ # The fingerprint of the previous set of labels for this resource,
1045
+ # used to detect conflicts. The fingerprint is initially generated by
1046
+ # Container Engine and changes after every request to modify or update
1047
+ # labels. You must always provide an up-to-date fingerprint hash when
1048
+ # updating or changing labels. Make a <code>get()</code> request to the
1049
+ # resource to get the latest fingerprint.
1050
+ # Corresponds to the JSON property `labelFingerprint`
841
1051
  # @return [String]
842
- attr_accessor :desired_master_version
1052
+ attr_accessor :label_fingerprint
843
1053
 
844
1054
  def initialize(**args)
845
1055
  update!(**args)
@@ -847,31 +1057,38 @@ module Google
847
1057
 
848
1058
  # Update properties of this object
849
1059
  def update!(**args)
850
- @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
851
- @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
852
- @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
853
- @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
854
- @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
855
- @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
856
- @desired_locations = args[:desired_locations] if args.key?(:desired_locations)
857
- @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version)
1060
+ @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
1061
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
858
1062
  end
859
1063
  end
860
1064
 
861
- # ListOperationsResponse is the result of ListOperationsRequest.
862
- class ListOperationsResponse
1065
+ # NodeManagement defines the set of node management services turned on for the
1066
+ # node pool.
1067
+ class NodeManagement
863
1068
  include Google::Apis::Core::Hashable
864
1069
 
865
- # A list of operations in the project in the specified zone.
866
- # Corresponds to the JSON property `operations`
867
- # @return [Array<Google::Apis::ContainerV1::Operation>]
868
- attr_accessor :operations
1070
+ # A flag that specifies whether node auto-upgrade is enabled for the node
1071
+ # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
1072
+ # up to date with the latest release version of Kubernetes.
1073
+ # Corresponds to the JSON property `autoUpgrade`
1074
+ # @return [Boolean]
1075
+ attr_accessor :auto_upgrade
1076
+ alias_method :auto_upgrade?, :auto_upgrade
869
1077
 
870
- # If any zones are listed here, the list of operations returned may be missing
871
- # the operations from those zones.
872
- # Corresponds to the JSON property `missingZones`
873
- # @return [Array<String>]
874
- attr_accessor :missing_zones
1078
+ # A flag that specifies whether the node auto-repair is enabled for the node
1079
+ # pool. If enabled, the nodes in this node pool will be monitored and, if
1080
+ # they fail health checks too many times, an automatic repair action will be
1081
+ # triggered.
1082
+ # Corresponds to the JSON property `autoRepair`
1083
+ # @return [Boolean]
1084
+ attr_accessor :auto_repair
1085
+ alias_method :auto_repair?, :auto_repair
1086
+
1087
+ # AutoUpgradeOptions defines the set of options for the user to control how
1088
+ # the Auto Upgrades will proceed.
1089
+ # Corresponds to the JSON property `upgradeOptions`
1090
+ # @return [Google::Apis::ContainerV1::AutoUpgradeOptions]
1091
+ attr_accessor :upgrade_options
875
1092
 
876
1093
  def initialize(**args)
877
1094
  update!(**args)
@@ -879,8 +1096,9 @@ module Google
879
1096
 
880
1097
  # Update properties of this object
881
1098
  def update!(**args)
882
- @operations = args[:operations] if args.key?(:operations)
883
- @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
1099
+ @auto_upgrade = args[:auto_upgrade] if args.key?(:auto_upgrade)
1100
+ @auto_repair = args[:auto_repair] if args.key?(:auto_repair)
1101
+ @upgrade_options = args[:upgrade_options] if args.key?(:upgrade_options)
884
1102
  end
885
1103
  end
886
1104
 
@@ -897,74 +1115,73 @@ module Google
897
1115
  end
898
1116
  end
899
1117
 
900
- # A generic empty message that you can re-use to avoid defining duplicated empty
901
- # messages in your APIs. A typical example is to use it as the request or the
902
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
903
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
904
- # `Empty` is empty JSON object ````.
905
- class Empty
1118
+ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
1119
+ # a cluster.
1120
+ class SetLegacyAbacRequest
906
1121
  include Google::Apis::Core::Hashable
907
1122
 
1123
+ # Whether ABAC authorization will be enabled in the cluster.
1124
+ # Corresponds to the JSON property `enabled`
1125
+ # @return [Boolean]
1126
+ attr_accessor :enabled
1127
+ alias_method :enabled?, :enabled
1128
+
908
1129
  def initialize(**args)
909
1130
  update!(**args)
910
1131
  end
911
1132
 
912
1133
  # Update properties of this object
913
1134
  def update!(**args)
1135
+ @enabled = args[:enabled] if args.key?(:enabled)
914
1136
  end
915
1137
  end
916
1138
 
917
- # Container Engine service configuration.
918
- class ServerConfig
1139
+ # This operation resource represents operations that may have happened or are
1140
+ # happening on the cluster. All fields are output only.
1141
+ class Operation
919
1142
  include Google::Apis::Core::Hashable
920
1143
 
921
- # Version of Kubernetes the service deploys by default.
922
- # Corresponds to the JSON property `defaultClusterVersion`
1144
+ # If an error has occurred, a textual description of the error.
1145
+ # Corresponds to the JSON property `statusMessage`
923
1146
  # @return [String]
924
- attr_accessor :default_cluster_version
925
-
926
- # List of valid node upgrade target versions.
927
- # Corresponds to the JSON property `validNodeVersions`
928
- # @return [Array<String>]
929
- attr_accessor :valid_node_versions
1147
+ attr_accessor :status_message
930
1148
 
931
- # Default image type.
932
- # Corresponds to the JSON property `defaultImageType`
1149
+ # The server-assigned ID for the operation.
1150
+ # Corresponds to the JSON property `name`
933
1151
  # @return [String]
934
- attr_accessor :default_image_type
1152
+ attr_accessor :name
935
1153
 
936
- # List of valid image types.
937
- # Corresponds to the JSON property `validImageTypes`
938
- # @return [Array<String>]
939
- attr_accessor :valid_image_types
1154
+ # Server-defined URL for the resource.
1155
+ # Corresponds to the JSON property `selfLink`
1156
+ # @return [String]
1157
+ attr_accessor :self_link
940
1158
 
941
- # List of valid master versions.
942
- # Corresponds to the JSON property `validMasterVersions`
943
- # @return [Array<String>]
944
- attr_accessor :valid_master_versions
1159
+ # Server-defined URL for the target of the operation.
1160
+ # Corresponds to the JSON property `targetLink`
1161
+ # @return [String]
1162
+ attr_accessor :target_link
945
1163
 
946
- def initialize(**args)
947
- update!(**args)
948
- end
1164
+ # Detailed operation progress, if available.
1165
+ # Corresponds to the JSON property `detail`
1166
+ # @return [String]
1167
+ attr_accessor :detail
949
1168
 
950
- # Update properties of this object
951
- def update!(**args)
952
- @default_cluster_version = args[:default_cluster_version] if args.key?(:default_cluster_version)
953
- @valid_node_versions = args[:valid_node_versions] if args.key?(:valid_node_versions)
954
- @default_image_type = args[:default_image_type] if args.key?(:default_image_type)
955
- @valid_image_types = args[:valid_image_types] if args.key?(:valid_image_types)
956
- @valid_master_versions = args[:valid_master_versions] if args.key?(:valid_master_versions)
957
- end
958
- end
1169
+ # The operation type.
1170
+ # Corresponds to the JSON property `operationType`
1171
+ # @return [String]
1172
+ attr_accessor :operation_type
959
1173
 
960
- # ListNodePoolsResponse is the result of ListNodePoolsRequest.
961
- class ListNodePoolsResponse
962
- include Google::Apis::Core::Hashable
1174
+ # The name of the Google Compute Engine
1175
+ # [zone](/compute/docs/zones#available) in which the operation
1176
+ # is taking place.
1177
+ # Corresponds to the JSON property `zone`
1178
+ # @return [String]
1179
+ attr_accessor :zone
963
1180
 
964
- # A list of node pools for a cluster.
965
- # Corresponds to the JSON property `nodePools`
966
- # @return [Array<Google::Apis::ContainerV1::NodePool>]
967
- attr_accessor :node_pools
1181
+ # The current status of the operation.
1182
+ # Corresponds to the JSON property `status`
1183
+ # @return [String]
1184
+ attr_accessor :status
968
1185
 
969
1186
  def initialize(**args)
970
1187
  update!(**args)
@@ -972,23 +1189,34 @@ module Google
972
1189
 
973
1190
  # Update properties of this object
974
1191
  def update!(**args)
975
- @node_pools = args[:node_pools] if args.key?(:node_pools)
1192
+ @status_message = args[:status_message] if args.key?(:status_message)
1193
+ @name = args[:name] if args.key?(:name)
1194
+ @self_link = args[:self_link] if args.key?(:self_link)
1195
+ @target_link = args[:target_link] if args.key?(:target_link)
1196
+ @detail = args[:detail] if args.key?(:detail)
1197
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1198
+ @zone = args[:zone] if args.key?(:zone)
1199
+ @status = args[:status] if args.key?(:status)
976
1200
  end
977
1201
  end
978
1202
 
979
- # CreateNodePoolRequest creates a node pool for a cluster.
980
- class CreateNodePoolRequest
1203
+ # Configuration for the addons that can be automatically spun up in the
1204
+ # cluster, enabling additional functionality.
1205
+ class AddonsConfig
981
1206
  include Google::Apis::Core::Hashable
982
1207
 
983
- # NodePool contains the name and configuration for a cluster's node pool. Node
984
- # pools are a set of nodes (i.e. VM's), with a common configuration and
985
- # specification, under the control of the cluster master. They may have a set of
986
- # Kubernetes labels applied to them, which may be used to reference them during
987
- # pod scheduling. They may also be resized up or down, to accommodate the
988
- # workload.
989
- # Corresponds to the JSON property `nodePool`
990
- # @return [Google::Apis::ContainerV1::NodePool]
991
- attr_accessor :node_pool
1208
+ # Configuration options for the horizontal pod autoscaling feature, which
1209
+ # increases or decreases the number of replica pods a replication controller
1210
+ # has based on the resource usage of the existing pods.
1211
+ # Corresponds to the JSON property `horizontalPodAutoscaling`
1212
+ # @return [Google::Apis::ContainerV1::HorizontalPodAutoscaling]
1213
+ attr_accessor :horizontal_pod_autoscaling
1214
+
1215
+ # Configuration options for the HTTP (L7) load balancing controller addon,
1216
+ # which makes it easy to set up HTTP load balancers for services in a cluster.
1217
+ # Corresponds to the JSON property `httpLoadBalancing`
1218
+ # @return [Google::Apis::ContainerV1::HttpLoadBalancing]
1219
+ attr_accessor :http_load_balancing
992
1220
 
993
1221
  def initialize(**args)
994
1222
  update!(**args)
@@ -996,7 +1224,8 @@ module Google
996
1224
 
997
1225
  # Update properties of this object
998
1226
  def update!(**args)
999
- @node_pool = args[:node_pool] if args.key?(:node_pool)
1227
+ @horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling)
1228
+ @http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing)
1000
1229
  end
1001
1230
  end
1002
1231
 
@@ -1014,27 +1243,6 @@ module Google
1014
1243
  def update!(**args)
1015
1244
  end
1016
1245
  end
1017
-
1018
- # SetNodePoolManagementRequest sets the node management properties of a node
1019
- # pool.
1020
- class SetNodePoolManagementRequest
1021
- include Google::Apis::Core::Hashable
1022
-
1023
- # NodeManagement defines the set of node management services turned on for the
1024
- # node pool.
1025
- # Corresponds to the JSON property `management`
1026
- # @return [Google::Apis::ContainerV1::NodeManagement]
1027
- attr_accessor :management
1028
-
1029
- def initialize(**args)
1030
- update!(**args)
1031
- end
1032
-
1033
- # Update properties of this object
1034
- def update!(**args)
1035
- @management = args[:management] if args.key?(:management)
1036
- end
1037
- end
1038
1246
  end
1039
1247
  end
1040
1248
  end