google-api-client 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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