google-api-client 0.13.0 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +6 -2
  4. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +46 -46
  5. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +15 -15
  6. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +4 -4
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +404 -435
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +107 -121
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +657 -713
  11. data/generated/google/apis/admin_directory_v1.rb +1 -1
  12. data/generated/google/apis/admin_directory_v1/classes.rb +45 -5
  13. data/generated/google/apis/admin_directory_v1/representations.rb +16 -0
  14. data/generated/google/apis/admin_directory_v1/service.rb +4 -1
  15. data/generated/google/apis/admin_reports_v1.rb +1 -1
  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 +399 -399
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +101 -101
  21. data/generated/google/apis/analyticsreporting_v4/service.rb +10 -10
  22. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  23. data/generated/google/apis/appengine_v1.rb +4 -4
  24. data/generated/google/apis/appengine_v1/classes.rb +747 -747
  25. data/generated/google/apis/appengine_v1/representations.rb +158 -158
  26. data/generated/google/apis/appengine_v1/service.rb +214 -214
  27. data/generated/google/apis/appsactivity_v1.rb +1 -1
  28. data/generated/google/apis/appstate_v1.rb +1 -1
  29. data/generated/google/apis/bigquery_v2.rb +1 -1
  30. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  31. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  32. data/generated/google/apis/calendar_v3.rb +1 -1
  33. data/generated/google/apis/classroom_v1.rb +7 -7
  34. data/generated/google/apis/classroom_v1/classes.rb +517 -515
  35. data/generated/google/apis/classroom_v1/representations.rb +147 -147
  36. data/generated/google/apis/classroom_v1/service.rb +1144 -1143
  37. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  38. data/generated/google/apis/cloudbuild_v1/classes.rb +435 -386
  39. data/generated/google/apis/cloudbuild_v1/representations.rb +133 -115
  40. data/generated/google/apis/cloudbuild_v1/service.rb +148 -148
  41. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  42. data/generated/google/apis/clouddebugger_v2/classes.rb +708 -708
  43. data/generated/google/apis/clouddebugger_v2/representations.rb +146 -146
  44. data/generated/google/apis/clouddebugger_v2/service.rb +124 -124
  45. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  46. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +142 -142
  47. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +29 -29
  48. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +87 -87
  49. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  50. data/generated/google/apis/cloudfunctions_v1/service.rb +6 -6
  51. data/generated/google/apis/cloudkms_v1.rb +1 -1
  52. data/generated/google/apis/cloudkms_v1/classes.rb +692 -675
  53. data/generated/google/apis/cloudkms_v1/representations.rb +144 -144
  54. data/generated/google/apis/cloudkms_v1/service.rb +276 -276
  55. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1168 -1168
  57. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +190 -190
  58. data/generated/google/apis/cloudresourcemanager_v1/service.rb +311 -288
  59. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  60. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +406 -406
  61. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +95 -95
  62. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +242 -234
  63. data/generated/google/apis/cloudtrace_v1.rb +4 -4
  64. data/generated/google/apis/cloudtrace_v1/classes.rb +68 -68
  65. data/generated/google/apis/cloudtrace_v1/representations.rb +22 -22
  66. data/generated/google/apis/cloudtrace_v1/service.rb +48 -48
  67. data/generated/google/apis/compute_beta.rb +1 -1
  68. data/generated/google/apis/compute_beta/classes.rb +82 -6
  69. data/generated/google/apis/compute_beta/representations.rb +4 -0
  70. data/generated/google/apis/compute_beta/service.rb +1177 -834
  71. data/generated/google/apis/compute_v1.rb +1 -1
  72. data/generated/google/apis/compute_v1/classes.rb +371 -1
  73. data/generated/google/apis/compute_v1/representations.rb +139 -0
  74. data/generated/google/apis/compute_v1/service.rb +257 -9
  75. data/generated/google/apis/container_v1.rb +1 -1
  76. data/generated/google/apis/container_v1/classes.rb +1122 -826
  77. data/generated/google/apis/container_v1/representations.rb +279 -135
  78. data/generated/google/apis/container_v1/service.rb +440 -98
  79. data/generated/google/apis/content_v2.rb +1 -1
  80. data/generated/google/apis/content_v2/service.rb +3 -1
  81. data/generated/google/apis/customsearch_v1.rb +1 -1
  82. data/generated/google/apis/dataflow_v1b3.rb +4 -4
  83. data/generated/google/apis/dataflow_v1b3/classes.rb +3423 -3423
  84. data/generated/google/apis/dataflow_v1b3/representations.rb +813 -813
  85. data/generated/google/apis/dataflow_v1b3/service.rb +410 -410
  86. data/generated/google/apis/dataproc_v1.rb +1 -1
  87. data/generated/google/apis/dataproc_v1/classes.rb +450 -431
  88. data/generated/google/apis/dataproc_v1/representations.rb +92 -92
  89. data/generated/google/apis/dataproc_v1/service.rb +200 -200
  90. data/generated/google/apis/datastore_v1.rb +4 -4
  91. data/generated/google/apis/datastore_v1/classes.rb +397 -397
  92. data/generated/google/apis/datastore_v1/representations.rb +100 -100
  93. data/generated/google/apis/datastore_v1/service.rb +62 -62
  94. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  95. data/generated/google/apis/deploymentmanager_v2/classes.rb +79 -3
  96. data/generated/google/apis/deploymentmanager_v2/representations.rb +33 -0
  97. data/generated/google/apis/deploymentmanager_v2/service.rb +15 -20
  98. data/generated/google/apis/dns_v1.rb +1 -1
  99. data/generated/google/apis/dns_v2beta1.rb +1 -1
  100. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  101. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +2 -2
  102. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  103. data/generated/google/apis/drive_v2.rb +1 -1
  104. data/generated/google/apis/drive_v2/service.rb +1 -1
  105. data/generated/google/apis/drive_v3.rb +1 -1
  106. data/generated/google/apis/drive_v3/service.rb +1 -1
  107. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  108. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +87 -87
  109. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +27 -27
  110. data/generated/google/apis/firebaserules_v1/classes.rb +271 -271
  111. data/generated/google/apis/firebaserules_v1/representations.rb +82 -82
  112. data/generated/google/apis/firebaserules_v1/service.rb +151 -151
  113. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  114. data/generated/google/apis/games_management_v1management.rb +1 -1
  115. data/generated/google/apis/games_v1.rb +1 -1
  116. data/generated/google/apis/genomics_v1.rb +9 -9
  117. data/generated/google/apis/genomics_v1/classes.rb +2242 -2242
  118. data/generated/google/apis/genomics_v1/representations.rb +306 -306
  119. data/generated/google/apis/genomics_v1/service.rb +1172 -1172
  120. data/generated/google/apis/gmail_v1.rb +1 -1
  121. data/generated/google/apis/iam_v1.rb +1 -1
  122. data/generated/google/apis/iam_v1/classes.rb +243 -243
  123. data/generated/google/apis/iam_v1/representations.rb +79 -79
  124. data/generated/google/apis/iam_v1/service.rb +137 -137
  125. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  126. data/generated/google/apis/identitytoolkit_v3/classes.rb +18 -0
  127. data/generated/google/apis/identitytoolkit_v3/representations.rb +3 -0
  128. data/generated/google/apis/kgsearch_v1/classes.rb +9 -9
  129. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  130. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  131. data/generated/google/apis/language_v1.rb +1 -1
  132. data/generated/google/apis/language_v1/classes.rb +451 -451
  133. data/generated/google/apis/language_v1/representations.rb +103 -103
  134. data/generated/google/apis/language_v1/service.rb +49 -49
  135. data/generated/google/apis/language_v1beta1.rb +1 -1
  136. data/generated/google/apis/language_v1beta1/classes.rb +459 -459
  137. data/generated/google/apis/language_v1beta1/representations.rb +110 -110
  138. data/generated/google/apis/language_v1beta1/service.rb +43 -43
  139. data/generated/google/apis/logging_v2.rb +8 -8
  140. data/generated/google/apis/logging_v2/classes.rb +915 -915
  141. data/generated/google/apis/logging_v2/representations.rb +142 -142
  142. data/generated/google/apis/logging_v2/service.rb +415 -415
  143. data/generated/google/apis/logging_v2beta1.rb +8 -8
  144. data/generated/google/apis/logging_v2beta1/classes.rb +905 -905
  145. data/generated/google/apis/logging_v2beta1/representations.rb +150 -150
  146. data/generated/google/apis/logging_v2beta1/service.rb +221 -221
  147. data/generated/google/apis/manufacturers_v1.rb +1 -1
  148. data/generated/google/apis/manufacturers_v1/classes.rb +334 -315
  149. data/generated/google/apis/manufacturers_v1/representations.rb +99 -87
  150. data/generated/google/apis/manufacturers_v1/service.rb +101 -4
  151. data/generated/google/apis/ml_v1.rb +1 -1
  152. data/generated/google/apis/ml_v1/classes.rb +709 -673
  153. data/generated/google/apis/ml_v1/representations.rb +154 -151
  154. data/generated/google/apis/ml_v1/service.rb +341 -354
  155. data/generated/google/apis/monitoring_v3.rb +6 -6
  156. data/generated/google/apis/monitoring_v3/classes.rb +869 -869
  157. data/generated/google/apis/monitoring_v3/representations.rb +171 -171
  158. data/generated/google/apis/monitoring_v3/service.rb +340 -340
  159. data/generated/google/apis/partners_v2.rb +1 -1
  160. data/generated/google/apis/partners_v2/classes.rb +1569 -1569
  161. data/generated/google/apis/partners_v2/representations.rb +256 -256
  162. data/generated/google/apis/partners_v2/service.rb +530 -530
  163. data/generated/google/apis/people_v1.rb +7 -7
  164. data/generated/google/apis/people_v1/classes.rb +1287 -946
  165. data/generated/google/apis/people_v1/representations.rb +355 -203
  166. data/generated/google/apis/people_v1/service.rb +409 -32
  167. data/generated/google/apis/plus_domains_v1.rb +1 -1
  168. data/generated/google/apis/plus_v1.rb +1 -1
  169. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  170. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +445 -445
  171. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +104 -104
  172. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +241 -241
  173. data/generated/google/apis/pubsub_v1.rb +4 -4
  174. data/generated/google/apis/pubsub_v1/classes.rb +286 -287
  175. data/generated/google/apis/pubsub_v1/representations.rb +80 -80
  176. data/generated/google/apis/pubsub_v1/service.rb +178 -178
  177. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  178. data/generated/google/apis/runtimeconfig_v1/classes.rb +52 -52
  179. data/generated/google/apis/runtimeconfig_v1/representations.rb +15 -15
  180. data/generated/google/apis/runtimeconfig_v1/service.rb +21 -21
  181. data/generated/google/apis/script_v1.rb +4 -4
  182. data/generated/google/apis/script_v1/classes.rb +172 -172
  183. data/generated/google/apis/script_v1/representations.rb +41 -41
  184. data/generated/google/apis/script_v1/service.rb +6 -6
  185. data/generated/google/apis/searchconsole_v1.rb +1 -1
  186. data/generated/google/apis/searchconsole_v1/classes.rb +6 -6
  187. data/generated/google/apis/searchconsole_v1/representations.rb +1 -1
  188. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  189. data/generated/google/apis/servicecontrol_v1/classes.rb +1110 -1110
  190. data/generated/google/apis/servicecontrol_v1/representations.rb +215 -215
  191. data/generated/google/apis/servicecontrol_v1/service.rb +65 -65
  192. data/generated/google/apis/servicemanagement_v1.rb +6 -6
  193. data/generated/google/apis/servicemanagement_v1/classes.rb +3594 -3562
  194. data/generated/google/apis/servicemanagement_v1/representations.rb +564 -562
  195. data/generated/google/apis/servicemanagement_v1/service.rb +253 -253
  196. data/generated/google/apis/serviceuser_v1.rb +1 -1
  197. data/generated/google/apis/serviceuser_v1/classes.rb +2678 -2670
  198. data/generated/google/apis/serviceuser_v1/representations.rb +269 -268
  199. data/generated/google/apis/serviceuser_v1/service.rb +59 -59
  200. data/generated/google/apis/sheets_v4.rb +5 -5
  201. data/generated/google/apis/sheets_v4/classes.rb +5155 -5104
  202. data/generated/google/apis/sheets_v4/representations.rb +957 -940
  203. data/generated/google/apis/sheets_v4/service.rb +175 -175
  204. data/generated/google/apis/slides_v1.rb +1 -1
  205. data/generated/google/apis/slides_v1/classes.rb +2932 -2905
  206. data/generated/google/apis/slides_v1/representations.rb +709 -694
  207. data/generated/google/apis/slides_v1/service.rb +50 -50
  208. data/generated/google/apis/sourcerepo_v1/classes.rb +139 -139
  209. data/generated/google/apis/sourcerepo_v1/representations.rb +40 -40
  210. data/generated/google/apis/sourcerepo_v1/service.rb +61 -61
  211. data/generated/google/apis/spanner_v1.rb +7 -1
  212. data/generated/google/apis/spanner_v1/classes.rb +2362 -2299
  213. data/generated/google/apis/spanner_v1/representations.rb +342 -323
  214. data/generated/google/apis/spanner_v1/service.rb +502 -492
  215. data/generated/google/apis/speech_v1beta1.rb +1 -1
  216. data/generated/google/apis/speech_v1beta1/classes.rb +244 -244
  217. data/generated/google/apis/speech_v1beta1/representations.rb +52 -52
  218. data/generated/google/apis/speech_v1beta1/service.rb +91 -91
  219. data/generated/google/apis/storage_v1.rb +1 -1
  220. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  221. data/generated/google/apis/storagetransfer_v1/classes.rb +784 -781
  222. data/generated/google/apis/storagetransfer_v1/representations.rb +88 -88
  223. data/generated/google/apis/storagetransfer_v1/service.rb +154 -154
  224. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  225. data/generated/google/apis/toolresults_v1beta3/classes.rb +90 -1
  226. data/generated/google/apis/toolresults_v1beta3/representations.rb +18 -0
  227. data/generated/google/apis/translate_v2/classes.rb +107 -107
  228. data/generated/google/apis/translate_v2/representations.rb +49 -49
  229. data/generated/google/apis/translate_v2/service.rb +81 -81
  230. data/generated/google/apis/vision_v1.rb +4 -1
  231. data/generated/google/apis/vision_v1/classes.rb +527 -527
  232. data/generated/google/apis/vision_v1/representations.rb +115 -115
  233. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  234. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  235. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  236. data/generated/google/apis/youtubereporting_v1/classes.rb +124 -124
  237. data/generated/google/apis/youtubereporting_v1/representations.rb +30 -30
  238. data/generated/google/apis/youtubereporting_v1/service.rb +113 -113
  239. data/lib/google/apis/version.rb +1 -1
  240. data/samples/cli/lib/samples/analytics.rb +2 -2
  241. metadata +2 -2
@@ -810,7 +810,8 @@ module Google
810
810
  end
811
811
 
812
812
  # Updates an autoscaler in the specified project using the data included in the
813
- # request. This method supports patch semantics.
813
+ # request. This method supports PATCH semantics and uses the JSON merge patch
814
+ # format and processing rules.
814
815
  # @param [String] project
815
816
  # Project ID for this request.
816
817
  # @param [String] zone
@@ -1093,7 +1094,8 @@ module Google
1093
1094
  end
1094
1095
 
1095
1096
  # Updates the specified BackendBucket resource with the data included in the
1096
- # request. This method supports patch semantics.
1097
+ # request. This method supports PATCH semantics and uses the JSON merge patch
1098
+ # format and processing rules.
1097
1099
  # @param [String] project
1098
1100
  # Project ID for this request.
1099
1101
  # @param [String] backend_bucket
@@ -1491,7 +1493,8 @@ module Google
1491
1493
  # Patches the specified BackendService resource with the data included in the
1492
1494
  # request. There are several restrictions and guidelines to keep in mind when
1493
1495
  # updating a backend service. Read Restrictions and Guidelines for more
1494
- # information. This method supports patch semantics.
1496
+ # information. This method supports PATCH semantics and uses the JSON merge
1497
+ # patch format and processing rules.
1495
1498
  # @param [String] project
1496
1499
  # Project ID for this request.
1497
1500
  # @param [String] backend_service
@@ -3645,7 +3648,8 @@ module Google
3645
3648
  end
3646
3649
 
3647
3650
  # Updates a HealthCheck resource in the specified project using the data
3648
- # included in the request. This method supports patch semantics.
3651
+ # included in the request. This method supports PATCH semantics and uses the
3652
+ # JSON merge patch format and processing rules.
3649
3653
  # @param [String] project
3650
3654
  # Project ID for this request.
3651
3655
  # @param [String] health_check
@@ -3922,7 +3926,8 @@ module Google
3922
3926
  end
3923
3927
 
3924
3928
  # Updates a HttpHealthCheck resource in the specified project using the data
3925
- # included in the request. This method supports patch semantics.
3929
+ # included in the request. This method supports PATCH semantics and uses the
3930
+ # JSON merge patch format and processing rules.
3926
3931
  # @param [String] project
3927
3932
  # Project ID for this request.
3928
3933
  # @param [String] http_health_check
@@ -4199,7 +4204,8 @@ module Google
4199
4204
  end
4200
4205
 
4201
4206
  # Updates a HttpsHealthCheck resource in the specified project using the data
4202
- # included in the request. This method supports patch semantics.
4207
+ # included in the request. This method supports PATCH semantics and uses the
4208
+ # JSON merge patch format and processing rules.
4203
4209
  # @param [String] project
4204
4210
  # Project ID for this request.
4205
4211
  # @param [String] https_health_check
@@ -8226,7 +8232,8 @@ module Google
8226
8232
  end
8227
8233
 
8228
8234
  # Updates an autoscaler in the specified project using the data included in the
8229
- # request. This method supports patch semantics.
8235
+ # request. This method supports PATCH semantics and uses the JSON merge patch
8236
+ # format and processing rules.
8230
8237
  # @param [String] project
8231
8238
  # Project ID for this request.
8232
8239
  # @param [String] region
@@ -8567,7 +8574,8 @@ module Google
8567
8574
  # Updates the specified regional BackendService resource with the data included
8568
8575
  # in the request. There are several restrictions and guidelines to keep in mind
8569
8576
  # when updating a backend service. Read Restrictions and Guidelines for more
8570
- # information. This method supports patch semantics.
8577
+ # information. This method supports PATCH semantics and uses the JSON merge
8578
+ # patch format and processing rules.
8571
8579
  # @param [String] project
8572
8580
  # Project ID for this request.
8573
8581
  # @param [String] region
@@ -8658,6 +8666,245 @@ module Google
8658
8666
  execute_or_queue_command(command, &block)
8659
8667
  end
8660
8668
 
8669
+ # Retrieves an aggregated list of commitments.
8670
+ # @param [String] project
8671
+ # Project ID for this request.
8672
+ # @param [String] filter
8673
+ # Sets a filter `expression` for filtering listed resources. Your `expression`
8674
+ # must be in the format: field_name comparison_string literal_string.
8675
+ # The field_name is the name of the field you want to compare. Only atomic field
8676
+ # types are supported (string, number, boolean). The comparison_string must be
8677
+ # either eq (equals) or ne (not equals). The literal_string is the string value
8678
+ # to filter to. The literal value must be valid for the type of field you are
8679
+ # filtering by (string, number, boolean). For string fields, the literal value
8680
+ # is interpreted as a regular expression using RE2 syntax. The literal value
8681
+ # must match the entire field.
8682
+ # For example, to filter for instances that do not have a name of example-
8683
+ # instance, you would use name ne example-instance.
8684
+ # You can filter on nested fields. For example, you could filter on instances
8685
+ # that have set the scheduling.automaticRestart field to true. Use filtering on
8686
+ # nested fields to take advantage of labels to organize and search for results
8687
+ # based on label values.
8688
+ # To filter on multiple expressions, provide each separate expression within
8689
+ # parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-
8690
+ # central1-f). Multiple expressions are treated as AND expressions, meaning that
8691
+ # resources must match all expressions to pass the filters.
8692
+ # @param [Fixnum] max_results
8693
+ # The maximum number of results per page that should be returned. If the number
8694
+ # of available results is larger than maxResults, Compute Engine returns a
8695
+ # nextPageToken that can be used to get the next page of results in subsequent
8696
+ # list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
8697
+ # @param [String] order_by
8698
+ # Sorts list results by a certain order. By default, results are returned in
8699
+ # alphanumerical order based on the resource name.
8700
+ # You can also sort results in descending order based on the creation timestamp
8701
+ # using orderBy="creationTimestamp desc". This sorts results based on the
8702
+ # creationTimestamp field in reverse chronological order (newest result first).
8703
+ # Use this to sort resources like operations so that the newest operation is
8704
+ # returned first.
8705
+ # Currently, only sorting by name or creationTimestamp desc is supported.
8706
+ # @param [String] page_token
8707
+ # Specifies a page token to use. Set pageToken to the nextPageToken returned by
8708
+ # a previous list request to get the next page of results.
8709
+ # @param [String] fields
8710
+ # Selector specifying which fields to include in a partial response.
8711
+ # @param [String] quota_user
8712
+ # Available to use for quota purposes for server-side applications. Can be any
8713
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
8714
+ # Overrides userIp if both are provided.
8715
+ # @param [String] user_ip
8716
+ # IP address of the site where the request originates. Use this if you want to
8717
+ # enforce per-user limits.
8718
+ # @param [Google::Apis::RequestOptions] options
8719
+ # Request-specific options
8720
+ #
8721
+ # @yield [result, err] Result & error if block supplied
8722
+ # @yieldparam result [Google::Apis::ComputeV1::CommitmentAggregatedList] parsed result object
8723
+ # @yieldparam err [StandardError] error object if request failed
8724
+ #
8725
+ # @return [Google::Apis::ComputeV1::CommitmentAggregatedList]
8726
+ #
8727
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
8728
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
8729
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
8730
+ def aggregated_region_commitment_list(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
8731
+ command = make_simple_command(:get, '{project}/aggregated/commitments', options)
8732
+ command.response_representation = Google::Apis::ComputeV1::CommitmentAggregatedList::Representation
8733
+ command.response_class = Google::Apis::ComputeV1::CommitmentAggregatedList
8734
+ command.params['project'] = project unless project.nil?
8735
+ command.query['filter'] = filter unless filter.nil?
8736
+ command.query['maxResults'] = max_results unless max_results.nil?
8737
+ command.query['orderBy'] = order_by unless order_by.nil?
8738
+ command.query['pageToken'] = page_token unless page_token.nil?
8739
+ command.query['fields'] = fields unless fields.nil?
8740
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
8741
+ command.query['userIp'] = user_ip unless user_ip.nil?
8742
+ execute_or_queue_command(command, &block)
8743
+ end
8744
+
8745
+ # Returns the specified commitment resource. Get a list of available commitments
8746
+ # by making a list() request.
8747
+ # @param [String] project
8748
+ # Project ID for this request.
8749
+ # @param [String] region
8750
+ # Name of the region for this request.
8751
+ # @param [String] commitment
8752
+ # Name of the commitment to return.
8753
+ # @param [String] fields
8754
+ # Selector specifying which fields to include in a partial response.
8755
+ # @param [String] quota_user
8756
+ # Available to use for quota purposes for server-side applications. Can be any
8757
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
8758
+ # Overrides userIp if both are provided.
8759
+ # @param [String] user_ip
8760
+ # IP address of the site where the request originates. Use this if you want to
8761
+ # enforce per-user limits.
8762
+ # @param [Google::Apis::RequestOptions] options
8763
+ # Request-specific options
8764
+ #
8765
+ # @yield [result, err] Result & error if block supplied
8766
+ # @yieldparam result [Google::Apis::ComputeV1::Commitment] parsed result object
8767
+ # @yieldparam err [StandardError] error object if request failed
8768
+ #
8769
+ # @return [Google::Apis::ComputeV1::Commitment]
8770
+ #
8771
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
8772
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
8773
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
8774
+ def get_region_commitment(project, region, commitment, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
8775
+ command = make_simple_command(:get, '{project}/regions/{region}/commitments/{commitment}', options)
8776
+ command.response_representation = Google::Apis::ComputeV1::Commitment::Representation
8777
+ command.response_class = Google::Apis::ComputeV1::Commitment
8778
+ command.params['project'] = project unless project.nil?
8779
+ command.params['region'] = region unless region.nil?
8780
+ command.params['commitment'] = commitment unless commitment.nil?
8781
+ command.query['fields'] = fields unless fields.nil?
8782
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
8783
+ command.query['userIp'] = user_ip unless user_ip.nil?
8784
+ execute_or_queue_command(command, &block)
8785
+ end
8786
+
8787
+ # Creates a commitment in the specified project using the data included in the
8788
+ # request.
8789
+ # @param [String] project
8790
+ # Project ID for this request.
8791
+ # @param [String] region
8792
+ # Name of the region for this request.
8793
+ # @param [Google::Apis::ComputeV1::Commitment] commitment_object
8794
+ # @param [String] fields
8795
+ # Selector specifying which fields to include in a partial response.
8796
+ # @param [String] quota_user
8797
+ # Available to use for quota purposes for server-side applications. Can be any
8798
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
8799
+ # Overrides userIp if both are provided.
8800
+ # @param [String] user_ip
8801
+ # IP address of the site where the request originates. Use this if you want to
8802
+ # enforce per-user limits.
8803
+ # @param [Google::Apis::RequestOptions] options
8804
+ # Request-specific options
8805
+ #
8806
+ # @yield [result, err] Result & error if block supplied
8807
+ # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object
8808
+ # @yieldparam err [StandardError] error object if request failed
8809
+ #
8810
+ # @return [Google::Apis::ComputeV1::Operation]
8811
+ #
8812
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
8813
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
8814
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
8815
+ def insert_region_commitment(project, region, commitment_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
8816
+ command = make_simple_command(:post, '{project}/regions/{region}/commitments', options)
8817
+ command.request_representation = Google::Apis::ComputeV1::Commitment::Representation
8818
+ command.request_object = commitment_object
8819
+ command.response_representation = Google::Apis::ComputeV1::Operation::Representation
8820
+ command.response_class = Google::Apis::ComputeV1::Operation
8821
+ command.params['project'] = project unless project.nil?
8822
+ command.params['region'] = region unless region.nil?
8823
+ command.query['fields'] = fields unless fields.nil?
8824
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
8825
+ command.query['userIp'] = user_ip unless user_ip.nil?
8826
+ execute_or_queue_command(command, &block)
8827
+ end
8828
+
8829
+ # Retrieves a list of commitments contained within the specified region.
8830
+ # @param [String] project
8831
+ # Project ID for this request.
8832
+ # @param [String] region
8833
+ # Name of the region for this request.
8834
+ # @param [String] filter
8835
+ # Sets a filter `expression` for filtering listed resources. Your `expression`
8836
+ # must be in the format: field_name comparison_string literal_string.
8837
+ # The field_name is the name of the field you want to compare. Only atomic field
8838
+ # types are supported (string, number, boolean). The comparison_string must be
8839
+ # either eq (equals) or ne (not equals). The literal_string is the string value
8840
+ # to filter to. The literal value must be valid for the type of field you are
8841
+ # filtering by (string, number, boolean). For string fields, the literal value
8842
+ # is interpreted as a regular expression using RE2 syntax. The literal value
8843
+ # must match the entire field.
8844
+ # For example, to filter for instances that do not have a name of example-
8845
+ # instance, you would use name ne example-instance.
8846
+ # You can filter on nested fields. For example, you could filter on instances
8847
+ # that have set the scheduling.automaticRestart field to true. Use filtering on
8848
+ # nested fields to take advantage of labels to organize and search for results
8849
+ # based on label values.
8850
+ # To filter on multiple expressions, provide each separate expression within
8851
+ # parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-
8852
+ # central1-f). Multiple expressions are treated as AND expressions, meaning that
8853
+ # resources must match all expressions to pass the filters.
8854
+ # @param [Fixnum] max_results
8855
+ # The maximum number of results per page that should be returned. If the number
8856
+ # of available results is larger than maxResults, Compute Engine returns a
8857
+ # nextPageToken that can be used to get the next page of results in subsequent
8858
+ # list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
8859
+ # @param [String] order_by
8860
+ # Sorts list results by a certain order. By default, results are returned in
8861
+ # alphanumerical order based on the resource name.
8862
+ # You can also sort results in descending order based on the creation timestamp
8863
+ # using orderBy="creationTimestamp desc". This sorts results based on the
8864
+ # creationTimestamp field in reverse chronological order (newest result first).
8865
+ # Use this to sort resources like operations so that the newest operation is
8866
+ # returned first.
8867
+ # Currently, only sorting by name or creationTimestamp desc is supported.
8868
+ # @param [String] page_token
8869
+ # Specifies a page token to use. Set pageToken to the nextPageToken returned by
8870
+ # a previous list request to get the next page of results.
8871
+ # @param [String] fields
8872
+ # Selector specifying which fields to include in a partial response.
8873
+ # @param [String] quota_user
8874
+ # Available to use for quota purposes for server-side applications. Can be any
8875
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
8876
+ # Overrides userIp if both are provided.
8877
+ # @param [String] user_ip
8878
+ # IP address of the site where the request originates. Use this if you want to
8879
+ # enforce per-user limits.
8880
+ # @param [Google::Apis::RequestOptions] options
8881
+ # Request-specific options
8882
+ #
8883
+ # @yield [result, err] Result & error if block supplied
8884
+ # @yieldparam result [Google::Apis::ComputeV1::CommitmentList] parsed result object
8885
+ # @yieldparam err [StandardError] error object if request failed
8886
+ #
8887
+ # @return [Google::Apis::ComputeV1::CommitmentList]
8888
+ #
8889
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
8890
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
8891
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
8892
+ def list_region_commitments(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
8893
+ command = make_simple_command(:get, '{project}/regions/{region}/commitments', options)
8894
+ command.response_representation = Google::Apis::ComputeV1::CommitmentList::Representation
8895
+ command.response_class = Google::Apis::ComputeV1::CommitmentList
8896
+ command.params['project'] = project unless project.nil?
8897
+ command.params['region'] = region unless region.nil?
8898
+ command.query['filter'] = filter unless filter.nil?
8899
+ command.query['maxResults'] = max_results unless max_results.nil?
8900
+ command.query['orderBy'] = order_by unless order_by.nil?
8901
+ command.query['pageToken'] = page_token unless page_token.nil?
8902
+ command.query['fields'] = fields unless fields.nil?
8903
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
8904
+ command.query['userIp'] = user_ip unless user_ip.nil?
8905
+ execute_or_queue_command(command, &block)
8906
+ end
8907
+
8661
8908
  # Schedules a group action to remove the specified instances from the managed
8662
8909
  # instance group. Abandoning an instance does not delete the instance, but it
8663
8910
  # does remove the instance from any target pools that are applied by the managed
@@ -13604,7 +13851,8 @@ module Google
13604
13851
  end
13605
13852
 
13606
13853
  # Patches the specified UrlMap resource with the data included in the request.
13607
- # This method supports patch semantics.
13854
+ # This method supports PATCH semantics and uses the JSON merge patch format and
13855
+ # processing rules.
13608
13856
  # @param [String] project
13609
13857
  # Project ID for this request.
13610
13858
  # @param [String] url_map
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/container-engine/
27
27
  module ContainerV1
28
28
  VERSION = 'V1'
29
- REVISION = '20170609'
29
+ REVISION = '20170627'
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,49 +22,19 @@ module Google
22
22
  module Apis
23
23
  module ContainerV1
24
24
 
25
- # The authentication information for accessing the master endpoint.
26
- # Authentication can be done using HTTP basic auth or using client
27
- # certificates.
28
- class MasterAuth
25
+ # SetLocationsRequest sets the locations of the cluster.
26
+ class SetLocationsRequest
29
27
  include Google::Apis::Core::Hashable
30
28
 
31
- # The password to use for HTTP basic authentication to the master endpoint.
32
- # Because the master endpoint is open to the Internet, you should create a
33
- # strong password. If a password is provided for cluster creation, username
34
- # must be non-empty.
35
- # Corresponds to the JSON property `password`
36
- # @return [String]
37
- attr_accessor :password
38
-
39
- # Configuration for client certificates on the cluster.
40
- # Corresponds to the JSON property `clientCertificateConfig`
41
- # @return [Google::Apis::ContainerV1::ClientCertificateConfig]
42
- attr_accessor :client_certificate_config
43
-
44
- # [Output only] Base64-encoded private key used by clients to authenticate
45
- # to the cluster endpoint.
46
- # Corresponds to the JSON property `clientKey`
47
- # @return [String]
48
- attr_accessor :client_key
49
-
50
- # [Output only] Base64-encoded public certificate that is the root of
51
- # trust for the cluster.
52
- # Corresponds to the JSON property `clusterCaCertificate`
53
- # @return [String]
54
- attr_accessor :cluster_ca_certificate
55
-
56
- # [Output only] Base64-encoded public certificate used by clients to
57
- # authenticate to the cluster endpoint.
58
- # Corresponds to the JSON property `clientCertificate`
59
- # @return [String]
60
- attr_accessor :client_certificate
61
-
62
- # The username to use for HTTP basic authentication to the master endpoint.
63
- # For clusters v1.6.0 and later, you can disable basic authentication by
64
- # providing an empty username.
65
- # Corresponds to the JSON property `username`
66
- # @return [String]
67
- attr_accessor :username
29
+ # The desired list of Google Compute Engine
30
+ # [locations](/compute/docs/zones#available) in which the cluster's nodes
31
+ # should be located. Changing the locations a cluster is in will result
32
+ # in nodes being either created or removed from the cluster, depending on
33
+ # whether locations are being added or removed.
34
+ # This list must always include the cluster's primary zone.
35
+ # Corresponds to the JSON property `locations`
36
+ # @return [Array<String>]
37
+ attr_accessor :locations
68
38
 
69
39
  def initialize(**args)
70
40
  update!(**args)
@@ -72,149 +42,34 @@ module Google
72
42
 
73
43
  # Update properties of this object
74
44
  def update!(**args)
75
- @password = args[:password] if args.key?(:password)
76
- @client_certificate_config = args[:client_certificate_config] if args.key?(:client_certificate_config)
77
- @client_key = args[:client_key] if args.key?(:client_key)
78
- @cluster_ca_certificate = args[:cluster_ca_certificate] if args.key?(:cluster_ca_certificate)
79
- @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
80
- @username = args[:username] if args.key?(:username)
45
+ @locations = args[:locations] if args.key?(:locations)
81
46
  end
82
47
  end
83
48
 
84
- # Parameters that describe the nodes in a cluster.
85
- class NodeConfig
49
+ # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
50
+ # NodePool upgrade. This will be an no-op if the last upgrade successfully
51
+ # completed.
52
+ class RollbackNodePoolUpgradeRequest
86
53
  include Google::Apis::Core::Hashable
87
54
 
88
- # The map of Kubernetes labels (key/value pairs) to be applied to each node.
89
- # These will added in addition to any default label(s) that
90
- # Kubernetes may apply to the node.
91
- # In case of conflict in label keys, the applied set may differ depending on
92
- # the Kubernetes version -- it's best to assume the behavior is undefined
93
- # and conflicts should be avoided.
94
- # For more information, including usage and the valid values, see:
95
- # http://kubernetes.io/v1.1/docs/user-guide/labels.html
96
- # Corresponds to the JSON property `labels`
97
- # @return [Hash<String,String>]
98
- attr_accessor :labels
99
-
100
- # The number of local SSD disks to be attached to the node.
101
- # The limit for this value is dependant upon the maximum number of
102
- # disks available on a machine per zone. See:
103
- # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
104
- # for more information.
105
- # Corresponds to the JSON property `localSsdCount`
106
- # @return [Fixnum]
107
- attr_accessor :local_ssd_count
108
-
109
- # The metadata key/value pairs assigned to instances in the cluster.
110
- # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
111
- # in length. These are reflected as part of a URL in the metadata server.
112
- # Additionally, to avoid ambiguity, keys must not conflict with any other
113
- # metadata keys for the project or be one of the four reserved keys:
114
- # "instance-template", "kube-env", "startup-script", and "user-data"
115
- # Values are free-form strings, and only have meaning as interpreted by
116
- # the image running in the instance. The only restriction placed on them is
117
- # that each value's size must be less than or equal to 32 KB.
118
- # The total size of all keys and values must be less than 512 KB.
119
- # Corresponds to the JSON property `metadata`
120
- # @return [Hash<String,String>]
121
- attr_accessor :metadata
122
-
123
- # Size of the disk attached to each node, specified in GB.
124
- # The smallest allowed disk size is 10GB.
125
- # If unspecified, the default disk size is 100GB.
126
- # Corresponds to the JSON property `diskSizeGb`
127
- # @return [Fixnum]
128
- attr_accessor :disk_size_gb
129
-
130
- # The list of instance tags applied to all nodes. Tags are used to identify
131
- # valid sources or targets for network firewalls and are specified by
132
- # the client during cluster or node pool creation. Each tag within the list
133
- # must comply with RFC1035.
134
- # Corresponds to the JSON property `tags`
135
- # @return [Array<String>]
136
- attr_accessor :tags
137
-
138
- # The Google Cloud Platform Service Account to be used by the node VMs. If
139
- # no Service Account is specified, the "default" service account is used.
140
- # Corresponds to the JSON property `serviceAccount`
141
- # @return [String]
142
- attr_accessor :service_account
143
-
144
- # The name of a Google Compute Engine [machine
145
- # type](/compute/docs/machine-types) (e.g.
146
- # `n1-standard-1`).
147
- # If unspecified, the default machine type is
148
- # `n1-standard-1`.
149
- # Corresponds to the JSON property `machineType`
150
- # @return [String]
151
- attr_accessor :machine_type
152
-
153
- # The image type to use for this node. Note that for a given image type,
154
- # the latest version of it will be used.
155
- # Corresponds to the JSON property `imageType`
156
- # @return [String]
157
- attr_accessor :image_type
158
-
159
- # The set of Google API scopes to be made available on all of the
160
- # node VMs under the "default" service account.
161
- # The following scopes are recommended, but not required, and by default are
162
- # not included:
163
- # * `https://www.googleapis.com/auth/compute` is required for mounting
164
- # persistent storage on your nodes.
165
- # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
166
- # communicating with **gcr.io**
167
- # (the [Google Container Registry](/container-registry/)).
168
- # If unspecified, no scopes are added, unless Cloud Logging or Cloud
169
- # Monitoring are enabled, in which case their required scopes will be added.
170
- # Corresponds to the JSON property `oauthScopes`
171
- # @return [Array<String>]
172
- attr_accessor :oauth_scopes
173
-
174
- # Whether the nodes are created as preemptible VM instances. See:
175
- # https://cloud.google.com/compute/docs/instances/preemptible for more
176
- # information about preemptible VM instances.
177
- # Corresponds to the JSON property `preemptible`
178
- # @return [Boolean]
179
- attr_accessor :preemptible
180
- alias_method :preemptible?, :preemptible
181
-
182
55
  def initialize(**args)
183
56
  update!(**args)
184
57
  end
185
58
 
186
59
  # Update properties of this object
187
60
  def update!(**args)
188
- @labels = args[:labels] if args.key?(:labels)
189
- @local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
190
- @metadata = args[:metadata] if args.key?(:metadata)
191
- @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
192
- @tags = args[:tags] if args.key?(:tags)
193
- @service_account = args[:service_account] if args.key?(:service_account)
194
- @machine_type = args[:machine_type] if args.key?(:machine_type)
195
- @image_type = args[:image_type] if args.key?(:image_type)
196
- @oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
197
- @preemptible = args[:preemptible] if args.key?(:preemptible)
198
61
  end
199
62
  end
200
63
 
201
- # AutoUpgradeOptions defines the set of options for the user to control how
202
- # the Auto Upgrades will proceed.
203
- class AutoUpgradeOptions
64
+ # SetNodePoolSizeRequest sets the size a node
65
+ # pool.
66
+ class SetNodePoolSizeRequest
204
67
  include Google::Apis::Core::Hashable
205
68
 
206
- # [Output only] This field is set when upgrades are about to commence
207
- # with the description of the upgrade.
208
- # Corresponds to the JSON property `description`
209
- # @return [String]
210
- attr_accessor :description
211
-
212
- # [Output only] This field is set when upgrades are about to commence
213
- # with the approximate start time for the upgrades, in
214
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
215
- # Corresponds to the JSON property `autoUpgradeStartTime`
216
- # @return [String]
217
- attr_accessor :auto_upgrade_start_time
69
+ # The desired node count for the pool.
70
+ # Corresponds to the JSON property `nodeCount`
71
+ # @return [Fixnum]
72
+ attr_accessor :node_count
218
73
 
219
74
  def initialize(**args)
220
75
  update!(**args)
@@ -222,26 +77,20 @@ module Google
222
77
 
223
78
  # Update properties of this object
224
79
  def update!(**args)
225
- @description = args[:description] if args.key?(:description)
226
- @auto_upgrade_start_time = args[:auto_upgrade_start_time] if args.key?(:auto_upgrade_start_time)
80
+ @node_count = args[:node_count] if args.key?(:node_count)
227
81
  end
228
82
  end
229
83
 
230
- # ListClustersResponse is the result of ListClustersRequest.
231
- class ListClustersResponse
84
+ # UpdateClusterRequest updates the settings of a cluster.
85
+ class UpdateClusterRequest
232
86
  include Google::Apis::Core::Hashable
233
87
 
234
- # If any zones are listed here, the list of clusters returned
235
- # may be missing those zones.
236
- # Corresponds to the JSON property `missingZones`
237
- # @return [Array<String>]
238
- attr_accessor :missing_zones
239
-
240
- # A list of clusters in the project in the specified zone, or
241
- # across all ones.
242
- # Corresponds to the JSON property `clusters`
243
- # @return [Array<Google::Apis::ContainerV1::Cluster>]
244
- attr_accessor :clusters
88
+ # ClusterUpdate describes an update to the cluster. Exactly one update can
89
+ # be applied to a cluster with each request, so at most one field can be
90
+ # provided.
91
+ # Corresponds to the JSON property `update`
92
+ # @return [Google::Apis::ContainerV1::ClusterUpdate]
93
+ attr_accessor :update
245
94
 
246
95
  def initialize(**args)
247
96
  update!(**args)
@@ -249,23 +98,25 @@ module Google
249
98
 
250
99
  # Update properties of this object
251
100
  def update!(**args)
252
- @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
253
- @clusters = args[:clusters] if args.key?(:clusters)
101
+ @update = args[:update] if args.key?(:update)
254
102
  end
255
103
  end
256
104
 
257
- # Configuration options for the HTTP (L7) load balancing controller addon,
258
- # which makes it easy to set up HTTP load balancers for services in a cluster.
259
- class HttpLoadBalancing
105
+ # Configuration options for the NetworkPolicy feature.
106
+ # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
107
+ class NetworkPolicy
260
108
  include Google::Apis::Core::Hashable
261
109
 
262
- # Whether the HTTP Load Balancing controller is enabled in the cluster.
263
- # When enabled, it runs a small pod in the cluster that manages the load
264
- # balancers.
265
- # Corresponds to the JSON property `disabled`
110
+ # Whether network policy is enabled on the cluster.
111
+ # Corresponds to the JSON property `enabled`
266
112
  # @return [Boolean]
267
- attr_accessor :disabled
268
- alias_method :disabled?, :disabled
113
+ attr_accessor :enabled
114
+ alias_method :enabled?, :enabled
115
+
116
+ # The selected network policy provider.
117
+ # Corresponds to the JSON property `provider`
118
+ # @return [String]
119
+ attr_accessor :provider
269
120
 
270
121
  def initialize(**args)
271
122
  update!(**args)
@@ -273,32 +124,21 @@ module Google
273
124
 
274
125
  # Update properties of this object
275
126
  def update!(**args)
276
- @disabled = args[:disabled] if args.key?(:disabled)
127
+ @enabled = args[:enabled] if args.key?(:enabled)
128
+ @provider = args[:provider] if args.key?(:provider)
277
129
  end
278
130
  end
279
131
 
280
- # NodePoolAutoscaling contains information required by cluster autoscaler to
281
- # adjust the size of the node pool to the current cluster usage.
282
- class NodePoolAutoscaling
132
+ # UpdateMasterRequest updates the master of the cluster.
133
+ class UpdateMasterRequest
283
134
  include Google::Apis::Core::Hashable
284
135
 
285
- # Is autoscaling enabled for this node pool.
286
- # Corresponds to the JSON property `enabled`
287
- # @return [Boolean]
288
- attr_accessor :enabled
289
- alias_method :enabled?, :enabled
290
-
291
- # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
292
- # has to enough quota to scale up the cluster.
293
- # Corresponds to the JSON property `maxNodeCount`
294
- # @return [Fixnum]
295
- attr_accessor :max_node_count
296
-
297
- # Minimum number of nodes in the NodePool. Must be >= 1 and <=
298
- # max_node_count.
299
- # Corresponds to the JSON property `minNodeCount`
300
- # @return [Fixnum]
301
- attr_accessor :min_node_count
136
+ # The Kubernetes version to change the master to. The only valid value is the
137
+ # latest supported version. Use "-" to have the server automatically select
138
+ # the latest version.
139
+ # Corresponds to the JSON property `masterVersion`
140
+ # @return [String]
141
+ attr_accessor :master_version
302
142
 
303
143
  def initialize(**args)
304
144
  update!(**args)
@@ -306,21 +146,347 @@ module Google
306
146
 
307
147
  # Update properties of this object
308
148
  def update!(**args)
309
- @enabled = args[:enabled] if args.key?(:enabled)
310
- @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
311
- @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
149
+ @master_version = args[:master_version] if args.key?(:master_version)
150
+ end
151
+ end
152
+
153
+ # A Google Container Engine cluster.
154
+ class Cluster
155
+ include Google::Apis::Core::Hashable
156
+
157
+ # [Output only] The current software version of the master endpoint.
158
+ # Corresponds to the JSON property `currentMasterVersion`
159
+ # @return [String]
160
+ attr_accessor :current_master_version
161
+
162
+ # Parameters that describe the nodes in a cluster.
163
+ # Corresponds to the JSON property `nodeConfig`
164
+ # @return [Google::Apis::ContainerV1::NodeConfig]
165
+ attr_accessor :node_config
166
+
167
+ # Configuration for the addons that can be automatically spun up in the
168
+ # cluster, enabling additional functionality.
169
+ # Corresponds to the JSON property `addonsConfig`
170
+ # @return [Google::Apis::ContainerV1::AddonsConfig]
171
+ attr_accessor :addons_config
172
+
173
+ # [Output only] The current status of this cluster.
174
+ # Corresponds to the JSON property `status`
175
+ # @return [String]
176
+ attr_accessor :status
177
+
178
+ # [Output only] The current version of the node software components.
179
+ # If they are currently at multiple versions because they're in the process
180
+ # of being upgraded, this reflects the minimum version of all nodes.
181
+ # Corresponds to the JSON property `currentNodeVersion`
182
+ # @return [String]
183
+ attr_accessor :current_node_version
184
+
185
+ # The name of the Google Compute Engine
186
+ # [subnetwork](/compute/docs/subnetworks) to which the
187
+ # cluster is connected.
188
+ # Corresponds to the JSON property `subnetwork`
189
+ # @return [String]
190
+ attr_accessor :subnetwork
191
+
192
+ # The name of this cluster. The name must be unique within this project
193
+ # and zone, and can be up to 40 characters with the following restrictions:
194
+ # * Lowercase letters, numbers, and hyphens only.
195
+ # * Must start with a letter.
196
+ # * Must end with a number or a letter.
197
+ # Corresponds to the JSON property `name`
198
+ # @return [String]
199
+ attr_accessor :name
200
+
201
+ # The resource labels for the cluster to use to annotate any related
202
+ # Google Compute Engine resources.
203
+ # Corresponds to the JSON property `resourceLabels`
204
+ # @return [Hash<String,String>]
205
+ attr_accessor :resource_labels
206
+
207
+ # The initial Kubernetes version for this cluster. Valid versions are those
208
+ # found in validMasterVersions returned by getServerConfig. The version can
209
+ # be upgraded over time; such upgrades are reflected in
210
+ # currentMasterVersion and currentNodeVersion.
211
+ # Corresponds to the JSON property `initialClusterVersion`
212
+ # @return [String]
213
+ attr_accessor :initial_cluster_version
214
+
215
+ # Configuration for controlling how IPs are allocated in the cluster.
216
+ # Corresponds to the JSON property `ipAllocationPolicy`
217
+ # @return [Google::Apis::ContainerV1::IpAllocationPolicy]
218
+ attr_accessor :ip_allocation_policy
219
+
220
+ # Configuration for the legacy Attribute Based Access Control authorization
221
+ # mode.
222
+ # Corresponds to the JSON property `legacyAbac`
223
+ # @return [Google::Apis::ContainerV1::LegacyAbac]
224
+ attr_accessor :legacy_abac
225
+
226
+ # [Output only] The IP address of this cluster's master endpoint.
227
+ # The endpoint can be accessed from the internet at
228
+ # `https://username:password@endpoint/`.
229
+ # See the `masterAuth` property of this resource for username and
230
+ # password information.
231
+ # Corresponds to the JSON property `endpoint`
232
+ # @return [String]
233
+ attr_accessor :endpoint
234
+
235
+ # [Output only] The time the cluster was created, in
236
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
237
+ # Corresponds to the JSON property `createTime`
238
+ # @return [String]
239
+ attr_accessor :create_time
240
+
241
+ # The IP address range of the container pods in this cluster, in
242
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
243
+ # notation (e.g. `10.96.0.0/14`). Leave blank to have
244
+ # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
245
+ # Corresponds to the JSON property `clusterIpv4Cidr`
246
+ # @return [String]
247
+ attr_accessor :cluster_ipv4_cidr
248
+
249
+ # The number of nodes to create in this cluster. You must ensure that your
250
+ # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
251
+ # is sufficient for this number of instances. You must also have available
252
+ # firewall and routes quota.
253
+ # For requests, this field should only be used in lieu of a
254
+ # "node_pool" object, since this configuration (along with the
255
+ # "node_config") will be used to create a "NodePool" object with an
256
+ # auto-generated name. Do not use this and a node_pool at the same time.
257
+ # Corresponds to the JSON property `initialNodeCount`
258
+ # @return [Fixnum]
259
+ attr_accessor :initial_node_count
260
+
261
+ # The node pools associated with this cluster.
262
+ # This field should not be set if "node_config" or "initial_node_count" are
263
+ # specified.
264
+ # Corresponds to the JSON property `nodePools`
265
+ # @return [Array<Google::Apis::ContainerV1::NodePool>]
266
+ attr_accessor :node_pools
267
+
268
+ # The list of Google Compute Engine
269
+ # [locations](/compute/docs/zones#available) in which the cluster's nodes
270
+ # should be located.
271
+ # Corresponds to the JSON property `locations`
272
+ # @return [Array<String>]
273
+ attr_accessor :locations
274
+
275
+ # [Output only] Server-defined URL for the resource.
276
+ # Corresponds to the JSON property `selfLink`
277
+ # @return [String]
278
+ attr_accessor :self_link
279
+
280
+ # [Output only] The resource URLs of [instance
281
+ # groups](/compute/docs/instance-groups/) associated with this
282
+ # cluster.
283
+ # Corresponds to the JSON property `instanceGroupUrls`
284
+ # @return [Array<String>]
285
+ attr_accessor :instance_group_urls
286
+
287
+ # [Output only] The IP address range of the Kubernetes services in
288
+ # this cluster, in
289
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
290
+ # notation (e.g. `1.2.3.4/29`). Service addresses are
291
+ # typically put in the last `/16` from the container CIDR.
292
+ # Corresponds to the JSON property `servicesIpv4Cidr`
293
+ # @return [String]
294
+ attr_accessor :services_ipv4_cidr
295
+
296
+ # Configuration options for the NetworkPolicy feature.
297
+ # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
298
+ # Corresponds to the JSON property `networkPolicy`
299
+ # @return [Google::Apis::ContainerV1::NetworkPolicy]
300
+ attr_accessor :network_policy
301
+
302
+ # Kubernetes alpha features are enabled on this cluster. This includes alpha
303
+ # API groups (e.g. v1alpha1) and features that may not be production ready in
304
+ # the kubernetes version of the master and nodes.
305
+ # The cluster has no SLA for uptime and master/node upgrades are disabled.
306
+ # Alpha enabled clusters are automatically deleted thirty days after
307
+ # creation.
308
+ # Corresponds to the JSON property `enableKubernetesAlpha`
309
+ # @return [Boolean]
310
+ attr_accessor :enable_kubernetes_alpha
311
+ alias_method :enable_kubernetes_alpha?, :enable_kubernetes_alpha
312
+
313
+ # An optional description of this cluster.
314
+ # Corresponds to the JSON property `description`
315
+ # @return [String]
316
+ attr_accessor :description
317
+
318
+ # [Output only] The number of nodes currently in the cluster.
319
+ # Corresponds to the JSON property `currentNodeCount`
320
+ # @return [Fixnum]
321
+ attr_accessor :current_node_count
322
+
323
+ # The monitoring service the cluster should use to write metrics.
324
+ # Currently available options:
325
+ # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
326
+ # * `none` - no metrics will be exported from the cluster.
327
+ # * if left as an empty string, `monitoring.googleapis.com` will be used.
328
+ # Corresponds to the JSON property `monitoringService`
329
+ # @return [String]
330
+ attr_accessor :monitoring_service
331
+
332
+ # The name of the Google Compute Engine
333
+ # [network](/compute/docs/networks-and-firewalls#networks) to which the
334
+ # cluster is connected. If left unspecified, the `default` network
335
+ # will be used.
336
+ # Corresponds to the JSON property `network`
337
+ # @return [String]
338
+ attr_accessor :network
339
+
340
+ # The fingerprint of the set of labels for this cluster.
341
+ # Corresponds to the JSON property `labelFingerprint`
342
+ # @return [String]
343
+ attr_accessor :label_fingerprint
344
+
345
+ # [Output only] The name of the Google Compute Engine
346
+ # [zone](/compute/docs/zones#available) in which the cluster
347
+ # resides.
348
+ # Corresponds to the JSON property `zone`
349
+ # @return [String]
350
+ attr_accessor :zone
351
+
352
+ # [Output only] The size of the address space on each node for hosting
353
+ # containers. This is provisioned from within the `container_ipv4_cidr`
354
+ # range.
355
+ # Corresponds to the JSON property `nodeIpv4CidrSize`
356
+ # @return [Fixnum]
357
+ attr_accessor :node_ipv4_cidr_size
358
+
359
+ # The logging service the cluster should use to write logs.
360
+ # Currently available options:
361
+ # * `logging.googleapis.com` - the Google Cloud Logging service.
362
+ # * `none` - no logs will be exported from the cluster.
363
+ # * if left as an empty string,`logging.googleapis.com` will be used.
364
+ # Corresponds to the JSON property `loggingService`
365
+ # @return [String]
366
+ attr_accessor :logging_service
367
+
368
+ # [Output only] The time the cluster will be automatically
369
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
370
+ # Corresponds to the JSON property `expireTime`
371
+ # @return [String]
372
+ attr_accessor :expire_time
373
+
374
+ # [Output only] Additional information about the current status of this
375
+ # cluster, if available.
376
+ # Corresponds to the JSON property `statusMessage`
377
+ # @return [String]
378
+ attr_accessor :status_message
379
+
380
+ # The authentication information for accessing the master endpoint.
381
+ # Authentication can be done using HTTP basic auth or using client
382
+ # certificates.
383
+ # Corresponds to the JSON property `masterAuth`
384
+ # @return [Google::Apis::ContainerV1::MasterAuth]
385
+ attr_accessor :master_auth
386
+
387
+ def initialize(**args)
388
+ update!(**args)
389
+ end
390
+
391
+ # Update properties of this object
392
+ def update!(**args)
393
+ @current_master_version = args[:current_master_version] if args.key?(:current_master_version)
394
+ @node_config = args[:node_config] if args.key?(:node_config)
395
+ @addons_config = args[:addons_config] if args.key?(:addons_config)
396
+ @status = args[:status] if args.key?(:status)
397
+ @current_node_version = args[:current_node_version] if args.key?(:current_node_version)
398
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
399
+ @name = args[:name] if args.key?(:name)
400
+ @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
401
+ @initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
402
+ @ip_allocation_policy = args[:ip_allocation_policy] if args.key?(:ip_allocation_policy)
403
+ @legacy_abac = args[:legacy_abac] if args.key?(:legacy_abac)
404
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
405
+ @create_time = args[:create_time] if args.key?(:create_time)
406
+ @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
407
+ @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
408
+ @node_pools = args[:node_pools] if args.key?(:node_pools)
409
+ @locations = args[:locations] if args.key?(:locations)
410
+ @self_link = args[:self_link] if args.key?(:self_link)
411
+ @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
412
+ @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
413
+ @network_policy = args[:network_policy] if args.key?(:network_policy)
414
+ @enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
415
+ @description = args[:description] if args.key?(:description)
416
+ @current_node_count = args[:current_node_count] if args.key?(:current_node_count)
417
+ @monitoring_service = args[:monitoring_service] if args.key?(:monitoring_service)
418
+ @network = args[:network] if args.key?(:network)
419
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
420
+ @zone = args[:zone] if args.key?(:zone)
421
+ @node_ipv4_cidr_size = args[:node_ipv4_cidr_size] if args.key?(:node_ipv4_cidr_size)
422
+ @logging_service = args[:logging_service] if args.key?(:logging_service)
423
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
424
+ @status_message = args[:status_message] if args.key?(:status_message)
425
+ @master_auth = args[:master_auth] if args.key?(:master_auth)
426
+ end
427
+ end
428
+
429
+ # CreateNodePoolRequest creates a node pool for a cluster.
430
+ class CreateNodePoolRequest
431
+ include Google::Apis::Core::Hashable
432
+
433
+ # NodePool contains the name and configuration for a cluster's node pool.
434
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
435
+ # specification, under the control of the cluster master. They may have a set
436
+ # of Kubernetes labels applied to them, which may be used to reference them
437
+ # during pod scheduling. They may also be resized up or down, to accommodate
438
+ # the workload.
439
+ # Corresponds to the JSON property `nodePool`
440
+ # @return [Google::Apis::ContainerV1::NodePool]
441
+ attr_accessor :node_pool
442
+
443
+ def initialize(**args)
444
+ update!(**args)
445
+ end
446
+
447
+ # Update properties of this object
448
+ def update!(**args)
449
+ @node_pool = args[:node_pool] if args.key?(:node_pool)
450
+ end
451
+ end
452
+
453
+ # ListOperationsResponse is the result of ListOperationsRequest.
454
+ class ListOperationsResponse
455
+ include Google::Apis::Core::Hashable
456
+
457
+ # A list of operations in the project in the specified zone.
458
+ # Corresponds to the JSON property `operations`
459
+ # @return [Array<Google::Apis::ContainerV1::Operation>]
460
+ attr_accessor :operations
461
+
462
+ # If any zones are listed here, the list of operations returned
463
+ # may be missing the operations from those zones.
464
+ # Corresponds to the JSON property `missingZones`
465
+ # @return [Array<String>]
466
+ attr_accessor :missing_zones
467
+
468
+ def initialize(**args)
469
+ update!(**args)
470
+ end
471
+
472
+ # Update properties of this object
473
+ def update!(**args)
474
+ @operations = args[:operations] if args.key?(:operations)
475
+ @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
312
476
  end
313
477
  end
314
478
 
315
- # Configuration for client certificates on the cluster.
316
- class ClientCertificateConfig
479
+ # SetMonitoringServiceRequest sets the monitoring service of a cluster.
480
+ class SetMonitoringServiceRequest
317
481
  include Google::Apis::Core::Hashable
318
482
 
319
- # Issue a client certificate.
320
- # Corresponds to the JSON property `issueClientCertificate`
321
- # @return [Boolean]
322
- attr_accessor :issue_client_certificate
323
- alias_method :issue_client_certificate?, :issue_client_certificate
483
+ # The monitoring service the cluster should use to write metrics.
484
+ # Currently available options:
485
+ # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
486
+ # * "none" - no metrics will be exported from the cluster
487
+ # Corresponds to the JSON property `monitoringService`
488
+ # @return [String]
489
+ attr_accessor :monitoring_service
324
490
 
325
491
  def initialize(**args)
326
492
  update!(**args)
@@ -328,25 +494,38 @@ module Google
328
494
 
329
495
  # Update properties of this object
330
496
  def update!(**args)
331
- @issue_client_certificate = args[:issue_client_certificate] if args.key?(:issue_client_certificate)
497
+ @monitoring_service = args[:monitoring_service] if args.key?(:monitoring_service)
332
498
  end
333
499
  end
334
500
 
335
- # SetMasterAuthRequest updates the admin password of a cluster.
336
- class SetMasterAuthRequest
501
+ # Container Engine service configuration.
502
+ class ServerConfig
337
503
  include Google::Apis::Core::Hashable
338
504
 
339
- # The authentication information for accessing the master endpoint.
340
- # Authentication can be done using HTTP basic auth or using client
341
- # certificates.
342
- # Corresponds to the JSON property `update`
343
- # @return [Google::Apis::ContainerV1::MasterAuth]
344
- attr_accessor :update
505
+ # List of valid master versions.
506
+ # Corresponds to the JSON property `validMasterVersions`
507
+ # @return [Array<String>]
508
+ attr_accessor :valid_master_versions
345
509
 
346
- # The exact form of action to be taken on the master auth
347
- # Corresponds to the JSON property `action`
510
+ # Default image type.
511
+ # Corresponds to the JSON property `defaultImageType`
348
512
  # @return [String]
349
- attr_accessor :action
513
+ attr_accessor :default_image_type
514
+
515
+ # Version of Kubernetes the service deploys by default.
516
+ # Corresponds to the JSON property `defaultClusterVersion`
517
+ # @return [String]
518
+ attr_accessor :default_cluster_version
519
+
520
+ # List of valid image types.
521
+ # Corresponds to the JSON property `validImageTypes`
522
+ # @return [Array<String>]
523
+ attr_accessor :valid_image_types
524
+
525
+ # List of valid node upgrade target versions.
526
+ # Corresponds to the JSON property `validNodeVersions`
527
+ # @return [Array<String>]
528
+ attr_accessor :valid_node_versions
350
529
 
351
530
  def initialize(**args)
352
531
  update!(**args)
@@ -354,74 +533,57 @@ module Google
354
533
 
355
534
  # Update properties of this object
356
535
  def update!(**args)
357
- @update = args[:update] if args.key?(:update)
358
- @action = args[:action] if args.key?(:action)
536
+ @valid_master_versions = args[:valid_master_versions] if args.key?(:valid_master_versions)
537
+ @default_image_type = args[:default_image_type] if args.key?(:default_image_type)
538
+ @default_cluster_version = args[:default_cluster_version] if args.key?(:default_cluster_version)
539
+ @valid_image_types = args[:valid_image_types] if args.key?(:valid_image_types)
540
+ @valid_node_versions = args[:valid_node_versions] if args.key?(:valid_node_versions)
359
541
  end
360
542
  end
361
543
 
362
- # ClusterUpdate describes an update to the cluster. Exactly one update can
363
- # be applied to a cluster with each request, so at most one field can be
364
- # provided.
365
- class ClusterUpdate
544
+ # The authentication information for accessing the master endpoint.
545
+ # Authentication can be done using HTTP basic auth or using client
546
+ # certificates.
547
+ class MasterAuth
366
548
  include Google::Apis::Core::Hashable
367
549
 
368
- # The desired image type for the node pool.
369
- # NOTE: Set the "desired_node_pool" field as well.
370
- # Corresponds to the JSON property `desiredImageType`
371
- # @return [String]
372
- attr_accessor :desired_image_type
373
-
374
- # Configuration for the addons that can be automatically spun up in the
375
- # cluster, enabling additional functionality.
376
- # Corresponds to the JSON property `desiredAddonsConfig`
377
- # @return [Google::Apis::ContainerV1::AddonsConfig]
378
- attr_accessor :desired_addons_config
379
-
380
- # The node pool to be upgraded. This field is mandatory if
381
- # "desired_node_version", "desired_image_family" or
382
- # "desired_node_pool_autoscaling" is specified and there is more than one
383
- # node pool on the cluster.
384
- # Corresponds to the JSON property `desiredNodePoolId`
550
+ # [Output only] Base64-encoded public certificate used by clients to
551
+ # authenticate to the cluster endpoint.
552
+ # Corresponds to the JSON property `clientCertificate`
385
553
  # @return [String]
386
- attr_accessor :desired_node_pool_id
554
+ attr_accessor :client_certificate
387
555
 
388
- # The Kubernetes version to change the nodes to (typically an
389
- # upgrade). Use `-` to upgrade to the latest version supported by
390
- # the server.
391
- # Corresponds to the JSON property `desiredNodeVersion`
556
+ # The username to use for HTTP basic authentication to the master endpoint.
557
+ # For clusters v1.6.0 and later, you can disable basic authentication by
558
+ # providing an empty username.
559
+ # Corresponds to the JSON property `username`
392
560
  # @return [String]
393
- attr_accessor :desired_node_version
561
+ attr_accessor :username
394
562
 
395
- # The Kubernetes version to change the master to. The only valid value is the
396
- # latest supported version. Use "-" to have the server automatically select
397
- # the latest version.
398
- # Corresponds to the JSON property `desiredMasterVersion`
563
+ # The password to use for HTTP basic authentication to the master endpoint.
564
+ # Because the master endpoint is open to the Internet, you should create a
565
+ # strong password. If a password is provided for cluster creation, username
566
+ # must be non-empty.
567
+ # Corresponds to the JSON property `password`
399
568
  # @return [String]
400
- attr_accessor :desired_master_version
569
+ attr_accessor :password
401
570
 
402
- # NodePoolAutoscaling contains information required by cluster autoscaler to
403
- # adjust the size of the node pool to the current cluster usage.
404
- # Corresponds to the JSON property `desiredNodePoolAutoscaling`
405
- # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
406
- attr_accessor :desired_node_pool_autoscaling
571
+ # Configuration for client certificates on the cluster.
572
+ # Corresponds to the JSON property `clientCertificateConfig`
573
+ # @return [Google::Apis::ContainerV1::ClientCertificateConfig]
574
+ attr_accessor :client_certificate_config
407
575
 
408
- # The desired list of Google Compute Engine
409
- # [locations](/compute/docs/zones#available) in which the cluster's nodes
410
- # should be located. Changing the locations a cluster is in will result
411
- # in nodes being either created or removed from the cluster, depending on
412
- # whether locations are being added or removed.
413
- # This list must always include the cluster's primary zone.
414
- # Corresponds to the JSON property `desiredLocations`
415
- # @return [Array<String>]
416
- attr_accessor :desired_locations
576
+ # [Output only] Base64-encoded private key used by clients to authenticate
577
+ # to the cluster endpoint.
578
+ # Corresponds to the JSON property `clientKey`
579
+ # @return [String]
580
+ attr_accessor :client_key
417
581
 
418
- # The monitoring service the cluster should use to write metrics.
419
- # Currently available options:
420
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
421
- # * "none" - no metrics will be exported from the cluster
422
- # Corresponds to the JSON property `desiredMonitoringService`
582
+ # [Output only] Base64-encoded public certificate that is the root of
583
+ # trust for the cluster.
584
+ # Corresponds to the JSON property `clusterCaCertificate`
423
585
  # @return [String]
424
- attr_accessor :desired_monitoring_service
586
+ attr_accessor :cluster_ca_certificate
425
587
 
426
588
  def initialize(**args)
427
589
  update!(**args)
@@ -429,30 +591,112 @@ module Google
429
591
 
430
592
  # Update properties of this object
431
593
  def update!(**args)
432
- @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
433
- @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
434
- @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
435
- @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
436
- @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version)
437
- @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
438
- @desired_locations = args[:desired_locations] if args.key?(:desired_locations)
439
- @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
594
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
595
+ @username = args[:username] if args.key?(:username)
596
+ @password = args[:password] if args.key?(:password)
597
+ @client_certificate_config = args[:client_certificate_config] if args.key?(:client_certificate_config)
598
+ @client_key = args[:client_key] if args.key?(:client_key)
599
+ @cluster_ca_certificate = args[:cluster_ca_certificate] if args.key?(:cluster_ca_certificate)
440
600
  end
441
601
  end
442
602
 
443
- # Configuration options for the horizontal pod autoscaling feature, which
444
- # increases or decreases the number of replica pods a replication controller
445
- # has based on the resource usage of the existing pods.
446
- class HorizontalPodAutoscaling
603
+ # Parameters that describe the nodes in a cluster.
604
+ class NodeConfig
447
605
  include Google::Apis::Core::Hashable
448
606
 
449
- # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
450
- # When enabled, it ensures that a Heapster pod is running in the cluster,
451
- # which is also used by the Cloud Monitoring service.
452
- # Corresponds to the JSON property `disabled`
607
+ # Whether the nodes are created as preemptible VM instances. See:
608
+ # https://cloud.google.com/compute/docs/instances/preemptible for more
609
+ # information about preemptible VM instances.
610
+ # Corresponds to the JSON property `preemptible`
453
611
  # @return [Boolean]
454
- attr_accessor :disabled
455
- alias_method :disabled?, :disabled
612
+ attr_accessor :preemptible
613
+ alias_method :preemptible?, :preemptible
614
+
615
+ # The map of Kubernetes labels (key/value pairs) to be applied to each node.
616
+ # These will added in addition to any default label(s) that
617
+ # Kubernetes may apply to the node.
618
+ # In case of conflict in label keys, the applied set may differ depending on
619
+ # the Kubernetes version -- it's best to assume the behavior is undefined
620
+ # and conflicts should be avoided.
621
+ # For more information, including usage and the valid values, see:
622
+ # http://kubernetes.io/v1.1/docs/user-guide/labels.html
623
+ # Corresponds to the JSON property `labels`
624
+ # @return [Hash<String,String>]
625
+ attr_accessor :labels
626
+
627
+ # The number of local SSD disks to be attached to the node.
628
+ # The limit for this value is dependant upon the maximum number of
629
+ # disks available on a machine per zone. See:
630
+ # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
631
+ # for more information.
632
+ # Corresponds to the JSON property `localSsdCount`
633
+ # @return [Fixnum]
634
+ attr_accessor :local_ssd_count
635
+
636
+ # The metadata key/value pairs assigned to instances in the cluster.
637
+ # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
638
+ # in length. These are reflected as part of a URL in the metadata server.
639
+ # Additionally, to avoid ambiguity, keys must not conflict with any other
640
+ # metadata keys for the project or be one of the four reserved keys:
641
+ # "instance-template", "kube-env", "startup-script", and "user-data"
642
+ # Values are free-form strings, and only have meaning as interpreted by
643
+ # the image running in the instance. The only restriction placed on them is
644
+ # that each value's size must be less than or equal to 32 KB.
645
+ # The total size of all keys and values must be less than 512 KB.
646
+ # Corresponds to the JSON property `metadata`
647
+ # @return [Hash<String,String>]
648
+ attr_accessor :metadata
649
+
650
+ # Size of the disk attached to each node, specified in GB.
651
+ # The smallest allowed disk size is 10GB.
652
+ # If unspecified, the default disk size is 100GB.
653
+ # Corresponds to the JSON property `diskSizeGb`
654
+ # @return [Fixnum]
655
+ attr_accessor :disk_size_gb
656
+
657
+ # The list of instance tags applied to all nodes. Tags are used to identify
658
+ # valid sources or targets for network firewalls and are specified by
659
+ # the client during cluster or node pool creation. Each tag within the list
660
+ # must comply with RFC1035.
661
+ # Corresponds to the JSON property `tags`
662
+ # @return [Array<String>]
663
+ attr_accessor :tags
664
+
665
+ # The Google Cloud Platform Service Account to be used by the node VMs. If
666
+ # no Service Account is specified, the "default" service account is used.
667
+ # Corresponds to the JSON property `serviceAccount`
668
+ # @return [String]
669
+ attr_accessor :service_account
670
+
671
+ # The name of a Google Compute Engine [machine
672
+ # type](/compute/docs/machine-types) (e.g.
673
+ # `n1-standard-1`).
674
+ # If unspecified, the default machine type is
675
+ # `n1-standard-1`.
676
+ # Corresponds to the JSON property `machineType`
677
+ # @return [String]
678
+ attr_accessor :machine_type
679
+
680
+ # The image type to use for this node. Note that for a given image type,
681
+ # the latest version of it will be used.
682
+ # Corresponds to the JSON property `imageType`
683
+ # @return [String]
684
+ attr_accessor :image_type
685
+
686
+ # The set of Google API scopes to be made available on all of the
687
+ # node VMs under the "default" service account.
688
+ # The following scopes are recommended, but not required, and by default are
689
+ # not included:
690
+ # * `https://www.googleapis.com/auth/compute` is required for mounting
691
+ # persistent storage on your nodes.
692
+ # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
693
+ # communicating with **gcr.io**
694
+ # (the [Google Container Registry](/container-registry/)).
695
+ # If unspecified, no scopes are added, unless Cloud Logging or Cloud
696
+ # Monitoring are enabled, in which case their required scopes will be added.
697
+ # Corresponds to the JSON property `oauthScopes`
698
+ # @return [Array<String>]
699
+ attr_accessor :oauth_scopes
456
700
 
457
701
  def initialize(**args)
458
702
  update!(**args)
@@ -460,20 +704,36 @@ module Google
460
704
 
461
705
  # Update properties of this object
462
706
  def update!(**args)
463
- @disabled = args[:disabled] if args.key?(:disabled)
707
+ @preemptible = args[:preemptible] if args.key?(:preemptible)
708
+ @labels = args[:labels] if args.key?(:labels)
709
+ @local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
710
+ @metadata = args[:metadata] if args.key?(:metadata)
711
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
712
+ @tags = args[:tags] if args.key?(:tags)
713
+ @service_account = args[:service_account] if args.key?(:service_account)
714
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
715
+ @image_type = args[:image_type] if args.key?(:image_type)
716
+ @oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
464
717
  end
465
718
  end
466
719
 
467
- # SetNodePoolManagementRequest sets the node management properties of a node
468
- # pool.
469
- class SetNodePoolManagementRequest
720
+ # AutoUpgradeOptions defines the set of options for the user to control how
721
+ # the Auto Upgrades will proceed.
722
+ class AutoUpgradeOptions
470
723
  include Google::Apis::Core::Hashable
471
724
 
472
- # NodeManagement defines the set of node management services turned on for the
473
- # node pool.
474
- # Corresponds to the JSON property `management`
475
- # @return [Google::Apis::ContainerV1::NodeManagement]
476
- attr_accessor :management
725
+ # [Output only] This field is set when upgrades are about to commence
726
+ # with the description of the upgrade.
727
+ # Corresponds to the JSON property `description`
728
+ # @return [String]
729
+ attr_accessor :description
730
+
731
+ # [Output only] This field is set when upgrades are about to commence
732
+ # with the approximate start time for the upgrades, in
733
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
734
+ # Corresponds to the JSON property `autoUpgradeStartTime`
735
+ # @return [String]
736
+ attr_accessor :auto_upgrade_start_time
477
737
 
478
738
  def initialize(**args)
479
739
  update!(**args)
@@ -481,37 +741,50 @@ module Google
481
741
 
482
742
  # Update properties of this object
483
743
  def update!(**args)
484
- @management = args[:management] if args.key?(:management)
744
+ @description = args[:description] if args.key?(:description)
745
+ @auto_upgrade_start_time = args[:auto_upgrade_start_time] if args.key?(:auto_upgrade_start_time)
485
746
  end
486
747
  end
487
748
 
488
- # A generic empty message that you can re-use to avoid defining duplicated
489
- # empty messages in your APIs. A typical example is to use it as the request
490
- # or the response type of an API method. For instance:
491
- # service Foo `
492
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
493
- # `
494
- # The JSON representation for `Empty` is empty JSON object ````.
495
- class Empty
749
+ # ListClustersResponse is the result of ListClustersRequest.
750
+ class ListClustersResponse
496
751
  include Google::Apis::Core::Hashable
497
752
 
753
+ # A list of clusters in the project in the specified zone, or
754
+ # across all ones.
755
+ # Corresponds to the JSON property `clusters`
756
+ # @return [Array<Google::Apis::ContainerV1::Cluster>]
757
+ attr_accessor :clusters
758
+
759
+ # If any zones are listed here, the list of clusters returned
760
+ # may be missing those zones.
761
+ # Corresponds to the JSON property `missingZones`
762
+ # @return [Array<String>]
763
+ attr_accessor :missing_zones
764
+
498
765
  def initialize(**args)
499
766
  update!(**args)
500
767
  end
501
768
 
502
769
  # Update properties of this object
503
770
  def update!(**args)
771
+ @clusters = args[:clusters] if args.key?(:clusters)
772
+ @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
504
773
  end
505
774
  end
506
775
 
507
- # CreateClusterRequest creates a cluster.
508
- class CreateClusterRequest
776
+ # Configuration options for the HTTP (L7) load balancing controller addon,
777
+ # which makes it easy to set up HTTP load balancers for services in a cluster.
778
+ class HttpLoadBalancing
509
779
  include Google::Apis::Core::Hashable
510
780
 
511
- # A Google Container Engine cluster.
512
- # Corresponds to the JSON property `cluster`
513
- # @return [Google::Apis::ContainerV1::Cluster]
514
- attr_accessor :cluster
781
+ # Whether the HTTP Load Balancing controller is enabled in the cluster.
782
+ # When enabled, it runs a small pod in the cluster that manages the load
783
+ # balancers.
784
+ # Corresponds to the JSON property `disabled`
785
+ # @return [Boolean]
786
+ attr_accessor :disabled
787
+ alias_method :disabled?, :disabled
515
788
 
516
789
  def initialize(**args)
517
790
  update!(**args)
@@ -519,18 +792,19 @@ module Google
519
792
 
520
793
  # Update properties of this object
521
794
  def update!(**args)
522
- @cluster = args[:cluster] if args.key?(:cluster)
795
+ @disabled = args[:disabled] if args.key?(:disabled)
523
796
  end
524
797
  end
525
798
 
526
- # ListNodePoolsResponse is the result of ListNodePoolsRequest.
527
- class ListNodePoolsResponse
799
+ # Configuration for client certificates on the cluster.
800
+ class ClientCertificateConfig
528
801
  include Google::Apis::Core::Hashable
529
802
 
530
- # A list of node pools for a cluster.
531
- # Corresponds to the JSON property `nodePools`
532
- # @return [Array<Google::Apis::ContainerV1::NodePool>]
533
- attr_accessor :node_pools
803
+ # Issue a client certificate.
804
+ # Corresponds to the JSON property `issueClientCertificate`
805
+ # @return [Boolean]
806
+ attr_accessor :issue_client_certificate
807
+ alias_method :issue_client_certificate?, :issue_client_certificate
534
808
 
535
809
  def initialize(**args)
536
810
  update!(**args)
@@ -538,50 +812,81 @@ module Google
538
812
 
539
813
  # Update properties of this object
540
814
  def update!(**args)
541
- @node_pools = args[:node_pools] if args.key?(:node_pools)
815
+ @issue_client_certificate = args[:issue_client_certificate] if args.key?(:issue_client_certificate)
542
816
  end
543
817
  end
544
818
 
545
- # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
546
- class CompleteIpRotationRequest
819
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
820
+ # adjust the size of the node pool to the current cluster usage.
821
+ class NodePoolAutoscaling
547
822
  include Google::Apis::Core::Hashable
548
823
 
824
+ # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
825
+ # has to enough quota to scale up the cluster.
826
+ # Corresponds to the JSON property `maxNodeCount`
827
+ # @return [Fixnum]
828
+ attr_accessor :max_node_count
829
+
830
+ # Minimum number of nodes in the NodePool. Must be >= 1 and <=
831
+ # max_node_count.
832
+ # Corresponds to the JSON property `minNodeCount`
833
+ # @return [Fixnum]
834
+ attr_accessor :min_node_count
835
+
836
+ # Is autoscaling enabled for this node pool.
837
+ # Corresponds to the JSON property `enabled`
838
+ # @return [Boolean]
839
+ attr_accessor :enabled
840
+ alias_method :enabled?, :enabled
841
+
549
842
  def initialize(**args)
550
843
  update!(**args)
551
844
  end
552
845
 
553
846
  # Update properties of this object
554
847
  def update!(**args)
848
+ @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
849
+ @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
850
+ @enabled = args[:enabled] if args.key?(:enabled)
555
851
  end
556
852
  end
557
853
 
558
- # StartIPRotationRequest creates a new IP for the cluster and then performs
559
- # a node upgrade on each node pool to point to the new IP.
560
- class StartIpRotationRequest
854
+ # SetMasterAuthRequest updates the admin password of a cluster.
855
+ class SetMasterAuthRequest
561
856
  include Google::Apis::Core::Hashable
562
857
 
858
+ # The authentication information for accessing the master endpoint.
859
+ # Authentication can be done using HTTP basic auth or using client
860
+ # certificates.
861
+ # Corresponds to the JSON property `update`
862
+ # @return [Google::Apis::ContainerV1::MasterAuth]
863
+ attr_accessor :update
864
+
865
+ # The exact form of action to be taken on the master auth
866
+ # Corresponds to the JSON property `action`
867
+ # @return [String]
868
+ attr_accessor :action
869
+
563
870
  def initialize(**args)
564
871
  update!(**args)
565
872
  end
566
873
 
567
874
  # Update properties of this object
568
875
  def update!(**args)
876
+ @update = args[:update] if args.key?(:update)
877
+ @action = args[:action] if args.key?(:action)
569
878
  end
570
879
  end
571
880
 
572
- # Configuration for the legacy Attribute Based Access Control authorization
573
- # mode.
574
- class LegacyAbac
881
+ # SetNetworkPolicyRequest enables/disables network policy for a cluster.
882
+ class SetNetworkPolicyRequest
575
883
  include Google::Apis::Core::Hashable
576
884
 
577
- # Whether the ABAC authorizer is enabled for this cluster. When enabled,
578
- # identities in the system, including service accounts, nodes, and
579
- # controllers, will have statically granted permissions beyond those
580
- # provided by the RBAC configuration or IAM.
581
- # Corresponds to the JSON property `enabled`
582
- # @return [Boolean]
583
- attr_accessor :enabled
584
- alias_method :enabled?, :enabled
885
+ # Configuration options for the NetworkPolicy feature.
886
+ # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
887
+ # Corresponds to the JSON property `networkPolicy`
888
+ # @return [Google::Apis::ContainerV1::NetworkPolicy]
889
+ attr_accessor :network_policy
585
890
 
586
891
  def initialize(**args)
587
892
  update!(**args)
@@ -589,30 +894,73 @@ module Google
589
894
 
590
895
  # Update properties of this object
591
896
  def update!(**args)
592
- @enabled = args[:enabled] if args.key?(:enabled)
897
+ @network_policy = args[:network_policy] if args.key?(:network_policy)
593
898
  end
594
899
  end
595
900
 
596
- # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
597
- # Engine cluster, which will in turn set them for Google Compute Engine
598
- # resources used by that cluster
599
- class SetLabelsRequest
901
+ # ClusterUpdate describes an update to the cluster. Exactly one update can
902
+ # be applied to a cluster with each request, so at most one field can be
903
+ # provided.
904
+ class ClusterUpdate
600
905
  include Google::Apis::Core::Hashable
601
906
 
602
- # The labels to set for that cluster.
603
- # Corresponds to the JSON property `resourceLabels`
604
- # @return [Hash<String,String>]
605
- attr_accessor :resource_labels
907
+ # The desired list of Google Compute Engine
908
+ # [locations](/compute/docs/zones#available) in which the cluster's nodes
909
+ # should be located. Changing the locations a cluster is in will result
910
+ # in nodes being either created or removed from the cluster, depending on
911
+ # whether locations are being added or removed.
912
+ # This list must always include the cluster's primary zone.
913
+ # Corresponds to the JSON property `desiredLocations`
914
+ # @return [Array<String>]
915
+ attr_accessor :desired_locations
606
916
 
607
- # The fingerprint of the previous set of labels for this resource,
608
- # used to detect conflicts. The fingerprint is initially generated by
609
- # Container Engine and changes after every request to modify or update
610
- # labels. You must always provide an up-to-date fingerprint hash when
611
- # updating or changing labels. Make a <code>get()</code> request to the
612
- # resource to get the latest fingerprint.
613
- # Corresponds to the JSON property `labelFingerprint`
917
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
918
+ # adjust the size of the node pool to the current cluster usage.
919
+ # Corresponds to the JSON property `desiredNodePoolAutoscaling`
920
+ # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
921
+ attr_accessor :desired_node_pool_autoscaling
922
+
923
+ # The monitoring service the cluster should use to write metrics.
924
+ # Currently available options:
925
+ # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
926
+ # * "none" - no metrics will be exported from the cluster
927
+ # Corresponds to the JSON property `desiredMonitoringService`
614
928
  # @return [String]
615
- attr_accessor :label_fingerprint
929
+ attr_accessor :desired_monitoring_service
930
+
931
+ # The desired image type for the node pool.
932
+ # NOTE: Set the "desired_node_pool" field as well.
933
+ # Corresponds to the JSON property `desiredImageType`
934
+ # @return [String]
935
+ attr_accessor :desired_image_type
936
+
937
+ # Configuration for the addons that can be automatically spun up in the
938
+ # cluster, enabling additional functionality.
939
+ # Corresponds to the JSON property `desiredAddonsConfig`
940
+ # @return [Google::Apis::ContainerV1::AddonsConfig]
941
+ attr_accessor :desired_addons_config
942
+
943
+ # The node pool to be upgraded. This field is mandatory if
944
+ # "desired_node_version", "desired_image_family" or
945
+ # "desired_node_pool_autoscaling" is specified and there is more than one
946
+ # node pool on the cluster.
947
+ # Corresponds to the JSON property `desiredNodePoolId`
948
+ # @return [String]
949
+ attr_accessor :desired_node_pool_id
950
+
951
+ # The Kubernetes version to change the nodes to (typically an
952
+ # upgrade). Use `-` to upgrade to the latest version supported by
953
+ # the server.
954
+ # Corresponds to the JSON property `desiredNodeVersion`
955
+ # @return [String]
956
+ attr_accessor :desired_node_version
957
+
958
+ # The Kubernetes version to change the master to. The only valid value is the
959
+ # latest supported version. Use "-" to have the server automatically select
960
+ # the latest version.
961
+ # Corresponds to the JSON property `desiredMasterVersion`
962
+ # @return [String]
963
+ attr_accessor :desired_master_version
616
964
 
617
965
  def initialize(**args)
618
966
  update!(**args)
@@ -620,77 +968,108 @@ module Google
620
968
 
621
969
  # Update properties of this object
622
970
  def update!(**args)
623
- @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
624
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
971
+ @desired_locations = args[:desired_locations] if args.key?(:desired_locations)
972
+ @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
973
+ @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
974
+ @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
975
+ @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
976
+ @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
977
+ @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
978
+ @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version)
625
979
  end
626
980
  end
627
-
628
- # NodePool contains the name and configuration for a cluster's node pool.
629
- # Node pools are a set of nodes (i.e. VM's), with a common configuration and
630
- # specification, under the control of the cluster master. They may have a set
631
- # of Kubernetes labels applied to them, which may be used to reference them
632
- # during pod scheduling. They may also be resized up or down, to accommodate
633
- # the workload.
634
- class NodePool
981
+
982
+ # Configuration for controlling how IPs are allocated in the cluster.
983
+ class IpAllocationPolicy
635
984
  include Google::Apis::Core::Hashable
636
985
 
637
- # [Output only] The status of the nodes in this pool instance.
638
- # Corresponds to the JSON property `status`
639
- # @return [String]
640
- attr_accessor :status
986
+ # Whether a new subnetwork will be created automatically for the cluster.
987
+ # This field is only applicable when `use_ip_aliases` is true.
988
+ # Corresponds to the JSON property `createSubnetwork`
989
+ # @return [Boolean]
990
+ attr_accessor :create_subnetwork
991
+ alias_method :create_subnetwork?, :create_subnetwork
641
992
 
642
- # Parameters that describe the nodes in a cluster.
643
- # Corresponds to the JSON property `config`
644
- # @return [Google::Apis::ContainerV1::NodeConfig]
645
- attr_accessor :config
993
+ # Whether alias IPs will be used for pod IPs in the cluster.
994
+ # Corresponds to the JSON property `useIpAliases`
995
+ # @return [Boolean]
996
+ attr_accessor :use_ip_aliases
997
+ alias_method :use_ip_aliases?, :use_ip_aliases
646
998
 
647
- # The name of the node pool.
648
- # Corresponds to the JSON property `name`
999
+ # A custom subnetwork name to be used if `create_subnetwork` is true. If
1000
+ # this field is empty, then an automatic name will choosen for the new
1001
+ # subnetwork.
1002
+ # Corresponds to the JSON property `subnetworkName`
649
1003
  # @return [String]
650
- attr_accessor :name
651
-
652
- # [Output only] Additional information about the current status of this
653
- # node pool instance, if available.
654
- # Corresponds to the JSON property `statusMessage`
1004
+ attr_accessor :subnetwork_name
1005
+
1006
+ # The IP address range for the cluster pod IPs. If this field is set, then
1007
+ # `cluster.cluster_ipv4_cidr` must be left blank.
1008
+ # This field is only applicable when `use_ip_aliases` is true.
1009
+ # Set to blank to have a range will be chosen with the default size.
1010
+ # Set to /netmask (e.g. `/14`) to have a range be chosen with a specific
1011
+ # netmask.
1012
+ # Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1013
+ # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1014
+ # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1015
+ # to use.
1016
+ # Corresponds to the JSON property `clusterIpv4Cidr`
655
1017
  # @return [String]
656
- attr_accessor :status_message
1018
+ attr_accessor :cluster_ipv4_cidr
657
1019
 
658
- # NodePoolAutoscaling contains information required by cluster autoscaler to
659
- # adjust the size of the node pool to the current cluster usage.
660
- # Corresponds to the JSON property `autoscaling`
661
- # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
662
- attr_accessor :autoscaling
1020
+ # The IP address range of the instance IPs in this cluster.
1021
+ # This is applicable only if `create_subnetwork` is true.
1022
+ # Set to blank to have a range will be chosen with the default size.
1023
+ # Set to /netmask (e.g. `/14`) to have a range be chosen with a specific
1024
+ # netmask.
1025
+ # Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1026
+ # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1027
+ # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1028
+ # to use.
1029
+ # Corresponds to the JSON property `nodeIpv4Cidr`
1030
+ # @return [String]
1031
+ attr_accessor :node_ipv4_cidr
1032
+
1033
+ # The IP address range of the services IPs in this cluster. If blank, a range
1034
+ # will be automatically chosen with the default size.
1035
+ # This field is only applicable when `use_ip_aliases` is true.
1036
+ # Set to blank to have a range will be chosen with the default size.
1037
+ # Set to /netmask (e.g. `/14`) to have a range be chosen with a specific
1038
+ # netmask.
1039
+ # Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1040
+ # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1041
+ # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1042
+ # to use.
1043
+ # Corresponds to the JSON property `servicesIpv4Cidr`
1044
+ # @return [String]
1045
+ attr_accessor :services_ipv4_cidr
663
1046
 
664
- # NodeManagement defines the set of node management services turned on for the
665
- # node pool.
666
- # Corresponds to the JSON property `management`
667
- # @return [Google::Apis::ContainerV1::NodeManagement]
668
- attr_accessor :management
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
669
1050
 
670
- # The initial node count for the pool. You must ensure that your
671
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
672
- # is sufficient for this number of instances. You must also have available
673
- # firewall and routes quota.
674
- # Corresponds to the JSON property `initialNodeCount`
675
- # @return [Fixnum]
676
- attr_accessor :initial_node_count
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @create_subnetwork = args[:create_subnetwork] if args.key?(:create_subnetwork)
1054
+ @use_ip_aliases = args[:use_ip_aliases] if args.key?(:use_ip_aliases)
1055
+ @subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name)
1056
+ @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
1057
+ @node_ipv4_cidr = args[:node_ipv4_cidr] if args.key?(:node_ipv4_cidr)
1058
+ @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
1059
+ end
1060
+ end
677
1061
 
678
- # [Output only] Server-defined URL for the resource.
679
- # Corresponds to the JSON property `selfLink`
680
- # @return [String]
681
- attr_accessor :self_link
1062
+ # SetLoggingServiceRequest sets the logging service of a cluster.
1063
+ class SetLoggingServiceRequest
1064
+ include Google::Apis::Core::Hashable
682
1065
 
683
- # [Output only] The version of the Kubernetes of this node.
684
- # Corresponds to the JSON property `version`
1066
+ # The logging service the cluster should use to write metrics.
1067
+ # Currently available options:
1068
+ # * "logging.googleapis.com" - the Google Cloud Logging service
1069
+ # * "none" - no metrics will be exported from the cluster
1070
+ # Corresponds to the JSON property `loggingService`
685
1071
  # @return [String]
686
- attr_accessor :version
687
-
688
- # [Output only] The resource URLs of [instance
689
- # groups](/compute/docs/instance-groups/) associated with this
690
- # node pool.
691
- # Corresponds to the JSON property `instanceGroupUrls`
692
- # @return [Array<String>]
693
- attr_accessor :instance_group_urls
1072
+ attr_accessor :logging_service
694
1073
 
695
1074
  def initialize(**args)
696
1075
  update!(**args)
@@ -698,46 +1077,23 @@ module Google
698
1077
 
699
1078
  # Update properties of this object
700
1079
  def update!(**args)
701
- @status = args[:status] if args.key?(:status)
702
- @config = args[:config] if args.key?(:config)
703
- @name = args[:name] if args.key?(:name)
704
- @status_message = args[:status_message] if args.key?(:status_message)
705
- @autoscaling = args[:autoscaling] if args.key?(:autoscaling)
706
- @management = args[:management] if args.key?(:management)
707
- @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
708
- @self_link = args[:self_link] if args.key?(:self_link)
709
- @version = args[:version] if args.key?(:version)
710
- @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
1080
+ @logging_service = args[:logging_service] if args.key?(:logging_service)
711
1081
  end
712
1082
  end
713
1083
 
714
- # NodeManagement defines the set of node management services turned on for the
715
- # node pool.
716
- class NodeManagement
1084
+ # Configuration options for the horizontal pod autoscaling feature, which
1085
+ # increases or decreases the number of replica pods a replication controller
1086
+ # has based on the resource usage of the existing pods.
1087
+ class HorizontalPodAutoscaling
717
1088
  include Google::Apis::Core::Hashable
718
1089
 
719
- # A flag that specifies whether node auto-upgrade is enabled for the node
720
- # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
721
- # up to date with the latest release version of Kubernetes.
722
- # Corresponds to the JSON property `autoUpgrade`
723
- # @return [Boolean]
724
- attr_accessor :auto_upgrade
725
- alias_method :auto_upgrade?, :auto_upgrade
726
-
727
- # A flag that specifies whether the node auto-repair is enabled for the node
728
- # pool. If enabled, the nodes in this node pool will be monitored and, if
729
- # they fail health checks too many times, an automatic repair action will be
730
- # triggered.
731
- # Corresponds to the JSON property `autoRepair`
1090
+ # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1091
+ # When enabled, it ensures that a Heapster pod is running in the cluster,
1092
+ # which is also used by the Cloud Monitoring service.
1093
+ # Corresponds to the JSON property `disabled`
732
1094
  # @return [Boolean]
733
- attr_accessor :auto_repair
734
- alias_method :auto_repair?, :auto_repair
735
-
736
- # AutoUpgradeOptions defines the set of options for the user to control how
737
- # the Auto Upgrades will proceed.
738
- # Corresponds to the JSON property `upgradeOptions`
739
- # @return [Google::Apis::ContainerV1::AutoUpgradeOptions]
740
- attr_accessor :upgrade_options
1095
+ attr_accessor :disabled
1096
+ alias_method :disabled?, :disabled
741
1097
 
742
1098
  def initialize(**args)
743
1099
  update!(**args)
@@ -745,14 +1101,18 @@ module Google
745
1101
 
746
1102
  # Update properties of this object
747
1103
  def update!(**args)
748
- @auto_upgrade = args[:auto_upgrade] if args.key?(:auto_upgrade)
749
- @auto_repair = args[:auto_repair] if args.key?(:auto_repair)
750
- @upgrade_options = args[:upgrade_options] if args.key?(:upgrade_options)
1104
+ @disabled = args[:disabled] if args.key?(:disabled)
751
1105
  end
752
1106
  end
753
1107
 
754
- # CancelOperationRequest cancels a single operation.
755
- class CancelOperationRequest
1108
+ # A generic empty message that you can re-use to avoid defining duplicated
1109
+ # empty messages in your APIs. A typical example is to use it as the request
1110
+ # or the response type of an API method. For instance:
1111
+ # service Foo `
1112
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1113
+ # `
1114
+ # The JSON representation for `Empty` is empty JSON object ````.
1115
+ class Empty
756
1116
  include Google::Apis::Core::Hashable
757
1117
 
758
1118
  def initialize(**args)
@@ -764,16 +1124,16 @@ module Google
764
1124
  end
765
1125
  end
766
1126
 
767
- # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
768
- # a cluster.
769
- class SetLegacyAbacRequest
1127
+ # SetNodePoolManagementRequest sets the node management properties of a node
1128
+ # pool.
1129
+ class SetNodePoolManagementRequest
770
1130
  include Google::Apis::Core::Hashable
771
1131
 
772
- # Whether ABAC authorization will be enabled in the cluster.
773
- # Corresponds to the JSON property `enabled`
774
- # @return [Boolean]
775
- attr_accessor :enabled
776
- alias_method :enabled?, :enabled
1132
+ # NodeManagement defines the set of node management services turned on for the
1133
+ # node pool.
1134
+ # Corresponds to the JSON property `management`
1135
+ # @return [Google::Apis::ContainerV1::NodeManagement]
1136
+ attr_accessor :management
777
1137
 
778
1138
  def initialize(**args)
779
1139
  update!(**args)
@@ -781,56 +1141,57 @@ module Google
781
1141
 
782
1142
  # Update properties of this object
783
1143
  def update!(**args)
784
- @enabled = args[:enabled] if args.key?(:enabled)
1144
+ @management = args[:management] if args.key?(:management)
785
1145
  end
786
1146
  end
787
1147
 
788
- # This operation resource represents operations that may have happened or are
789
- # happening on the cluster. All fields are output only.
790
- class Operation
1148
+ # SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
1149
+ class SetNodePoolAutoscalingRequest
791
1150
  include Google::Apis::Core::Hashable
792
1151
 
793
- # The current status of the operation.
794
- # Corresponds to the JSON property `status`
795
- # @return [String]
796
- attr_accessor :status
1152
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
1153
+ # adjust the size of the node pool to the current cluster usage.
1154
+ # Corresponds to the JSON property `autoscaling`
1155
+ # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
1156
+ attr_accessor :autoscaling
797
1157
 
798
- # The server-assigned ID for the operation.
799
- # Corresponds to the JSON property `name`
800
- # @return [String]
801
- attr_accessor :name
1158
+ def initialize(**args)
1159
+ update!(**args)
1160
+ end
802
1161
 
803
- # If an error has occurred, a textual description of the error.
804
- # Corresponds to the JSON property `statusMessage`
805
- # @return [String]
806
- attr_accessor :status_message
1162
+ # Update properties of this object
1163
+ def update!(**args)
1164
+ @autoscaling = args[:autoscaling] if args.key?(:autoscaling)
1165
+ end
1166
+ end
807
1167
 
808
- # Server-defined URL for the resource.
809
- # Corresponds to the JSON property `selfLink`
810
- # @return [String]
811
- attr_accessor :self_link
1168
+ # CreateClusterRequest creates a cluster.
1169
+ class CreateClusterRequest
1170
+ include Google::Apis::Core::Hashable
812
1171
 
813
- # Server-defined URL for the target of the operation.
814
- # Corresponds to the JSON property `targetLink`
815
- # @return [String]
816
- attr_accessor :target_link
1172
+ # A Google Container Engine cluster.
1173
+ # Corresponds to the JSON property `cluster`
1174
+ # @return [Google::Apis::ContainerV1::Cluster]
1175
+ attr_accessor :cluster
817
1176
 
818
- # Detailed operation progress, if available.
819
- # Corresponds to the JSON property `detail`
820
- # @return [String]
821
- attr_accessor :detail
1177
+ def initialize(**args)
1178
+ update!(**args)
1179
+ end
822
1180
 
823
- # The operation type.
824
- # Corresponds to the JSON property `operationType`
825
- # @return [String]
826
- attr_accessor :operation_type
1181
+ # Update properties of this object
1182
+ def update!(**args)
1183
+ @cluster = args[:cluster] if args.key?(:cluster)
1184
+ end
1185
+ end
827
1186
 
828
- # The name of the Google Compute Engine
829
- # [zone](/compute/docs/zones#available) in which the operation
830
- # is taking place.
831
- # Corresponds to the JSON property `zone`
832
- # @return [String]
833
- attr_accessor :zone
1187
+ # ListNodePoolsResponse is the result of ListNodePoolsRequest.
1188
+ class ListNodePoolsResponse
1189
+ include Google::Apis::Core::Hashable
1190
+
1191
+ # A list of node pools for a cluster.
1192
+ # Corresponds to the JSON property `nodePools`
1193
+ # @return [Array<Google::Apis::ContainerV1::NodePool>]
1194
+ attr_accessor :node_pools
834
1195
 
835
1196
  def initialize(**args)
836
1197
  update!(**args)
@@ -838,50 +1199,26 @@ module Google
838
1199
 
839
1200
  # Update properties of this object
840
1201
  def update!(**args)
841
- @status = args[:status] if args.key?(:status)
842
- @name = args[:name] if args.key?(:name)
843
- @status_message = args[:status_message] if args.key?(:status_message)
844
- @self_link = args[:self_link] if args.key?(:self_link)
845
- @target_link = args[:target_link] if args.key?(:target_link)
846
- @detail = args[:detail] if args.key?(:detail)
847
- @operation_type = args[:operation_type] if args.key?(:operation_type)
848
- @zone = args[:zone] if args.key?(:zone)
1202
+ @node_pools = args[:node_pools] if args.key?(:node_pools)
849
1203
  end
850
1204
  end
851
1205
 
852
- # Configuration for the addons that can be automatically spun up in the
853
- # cluster, enabling additional functionality.
854
- class AddonsConfig
1206
+ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
1207
+ class CompleteIpRotationRequest
855
1208
  include Google::Apis::Core::Hashable
856
1209
 
857
- # Configuration options for the horizontal pod autoscaling feature, which
858
- # increases or decreases the number of replica pods a replication controller
859
- # has based on the resource usage of the existing pods.
860
- # Corresponds to the JSON property `horizontalPodAutoscaling`
861
- # @return [Google::Apis::ContainerV1::HorizontalPodAutoscaling]
862
- attr_accessor :horizontal_pod_autoscaling
863
-
864
- # Configuration options for the HTTP (L7) load balancing controller addon,
865
- # which makes it easy to set up HTTP load balancers for services in a cluster.
866
- # Corresponds to the JSON property `httpLoadBalancing`
867
- # @return [Google::Apis::ContainerV1::HttpLoadBalancing]
868
- attr_accessor :http_load_balancing
869
-
870
1210
  def initialize(**args)
871
1211
  update!(**args)
872
1212
  end
873
1213
 
874
1214
  # Update properties of this object
875
1215
  def update!(**args)
876
- @horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling)
877
- @http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing)
878
1216
  end
879
1217
  end
880
1218
 
881
- # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
882
- # NodePool upgrade. This will be an no-op if the last upgrade successfully
883
- # completed.
884
- class RollbackNodePoolUpgradeRequest
1219
+ # StartIPRotationRequest creates a new IP for the cluster and then performs
1220
+ # a node upgrade on each node pool to point to the new IP.
1221
+ class StartIpRotationRequest
885
1222
  include Google::Apis::Core::Hashable
886
1223
 
887
1224
  def initialize(**args)
@@ -893,15 +1230,21 @@ module Google
893
1230
  end
894
1231
  end
895
1232
 
896
- # SetNodePoolSizeRequest sets the size a node
897
- # pool.
898
- class SetNodePoolSizeRequest
1233
+ # UpdateNodePoolRequests update a node pool's image and/or version.
1234
+ class UpdateNodePoolRequest
899
1235
  include Google::Apis::Core::Hashable
900
1236
 
901
- # The desired node count for the pool.
902
- # Corresponds to the JSON property `nodeCount`
903
- # @return [Fixnum]
904
- attr_accessor :node_count
1237
+ # The desired image type for the node pool.
1238
+ # Corresponds to the JSON property `imageType`
1239
+ # @return [String]
1240
+ attr_accessor :image_type
1241
+
1242
+ # The Kubernetes version to change the nodes to (typically an
1243
+ # upgrade). Use `-` to upgrade to the latest version supported by
1244
+ # the server.
1245
+ # Corresponds to the JSON property `nodeVersion`
1246
+ # @return [String]
1247
+ attr_accessor :node_version
905
1248
 
906
1249
  def initialize(**args)
907
1250
  update!(**args)
@@ -909,20 +1252,24 @@ module Google
909
1252
 
910
1253
  # Update properties of this object
911
1254
  def update!(**args)
912
- @node_count = args[:node_count] if args.key?(:node_count)
1255
+ @image_type = args[:image_type] if args.key?(:image_type)
1256
+ @node_version = args[:node_version] if args.key?(:node_version)
913
1257
  end
914
1258
  end
915
1259
 
916
- # UpdateClusterRequest updates the settings of a cluster.
917
- class UpdateClusterRequest
1260
+ # Configuration for the legacy Attribute Based Access Control authorization
1261
+ # mode.
1262
+ class LegacyAbac
918
1263
  include Google::Apis::Core::Hashable
919
1264
 
920
- # ClusterUpdate describes an update to the cluster. Exactly one update can
921
- # be applied to a cluster with each request, so at most one field can be
922
- # provided.
923
- # Corresponds to the JSON property `update`
924
- # @return [Google::Apis::ContainerV1::ClusterUpdate]
925
- attr_accessor :update
1265
+ # Whether the ABAC authorizer is enabled for this cluster. When enabled,
1266
+ # identities in the system, including service accounts, nodes, and
1267
+ # controllers, will have statically granted permissions beyond those
1268
+ # provided by the RBAC configuration or IAM.
1269
+ # Corresponds to the JSON property `enabled`
1270
+ # @return [Boolean]
1271
+ attr_accessor :enabled
1272
+ alias_method :enabled?, :enabled
926
1273
 
927
1274
  def initialize(**args)
928
1275
  update!(**args)
@@ -930,232 +1277,96 @@ module Google
930
1277
 
931
1278
  # Update properties of this object
932
1279
  def update!(**args)
933
- @update = args[:update] if args.key?(:update)
1280
+ @enabled = args[:enabled] if args.key?(:enabled)
934
1281
  end
935
1282
  end
936
1283
 
937
- # A Google Container Engine cluster.
938
- class Cluster
1284
+ # SetAddonsConfigRequest sets the addons associated with the cluster.
1285
+ class SetAddonsConfigRequest
939
1286
  include Google::Apis::Core::Hashable
940
1287
 
941
- # The name of the Google Compute Engine
942
- # [network](/compute/docs/networks-and-firewalls#networks) to which the
943
- # cluster is connected. If left unspecified, the `default` network
944
- # will be used.
945
- # Corresponds to the JSON property `network`
946
- # @return [String]
947
- attr_accessor :network
948
-
949
- # The fingerprint of the set of labels for this cluster.
950
- # Corresponds to the JSON property `labelFingerprint`
951
- # @return [String]
952
- attr_accessor :label_fingerprint
953
-
954
- # [Output only] The name of the Google Compute Engine
955
- # [zone](/compute/docs/zones#available) in which the cluster
956
- # resides.
957
- # Corresponds to the JSON property `zone`
958
- # @return [String]
959
- attr_accessor :zone
960
-
961
- # [Output only] The size of the address space on each node for hosting
962
- # containers. This is provisioned from within the `container_ipv4_cidr`
963
- # range.
964
- # Corresponds to the JSON property `nodeIpv4CidrSize`
965
- # @return [Fixnum]
966
- attr_accessor :node_ipv4_cidr_size
967
-
968
- # [Output only] The time the cluster will be automatically
969
- # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
970
- # Corresponds to the JSON property `expireTime`
971
- # @return [String]
972
- attr_accessor :expire_time
973
-
974
- # The logging service the cluster should use to write logs.
975
- # Currently available options:
976
- # * `logging.googleapis.com` - the Google Cloud Logging service.
977
- # * `none` - no logs will be exported from the cluster.
978
- # * if left as an empty string,`logging.googleapis.com` will be used.
979
- # Corresponds to the JSON property `loggingService`
980
- # @return [String]
981
- attr_accessor :logging_service
982
-
983
- # [Output only] Additional information about the current status of this
984
- # cluster, if available.
985
- # Corresponds to the JSON property `statusMessage`
986
- # @return [String]
987
- attr_accessor :status_message
988
-
989
- # The authentication information for accessing the master endpoint.
990
- # Authentication can be done using HTTP basic auth or using client
991
- # certificates.
992
- # Corresponds to the JSON property `masterAuth`
993
- # @return [Google::Apis::ContainerV1::MasterAuth]
994
- attr_accessor :master_auth
995
-
996
- # [Output only] The current software version of the master endpoint.
997
- # Corresponds to the JSON property `currentMasterVersion`
998
- # @return [String]
999
- attr_accessor :current_master_version
1000
-
1001
- # Parameters that describe the nodes in a cluster.
1002
- # Corresponds to the JSON property `nodeConfig`
1003
- # @return [Google::Apis::ContainerV1::NodeConfig]
1004
- attr_accessor :node_config
1005
-
1006
1288
  # Configuration for the addons that can be automatically spun up in the
1007
1289
  # cluster, enabling additional functionality.
1008
1290
  # Corresponds to the JSON property `addonsConfig`
1009
1291
  # @return [Google::Apis::ContainerV1::AddonsConfig]
1010
1292
  attr_accessor :addons_config
1011
1293
 
1012
- # [Output only] The current status of this cluster.
1013
- # Corresponds to the JSON property `status`
1014
- # @return [String]
1015
- attr_accessor :status
1016
-
1017
- # [Output only] The current version of the node software components.
1018
- # If they are currently at multiple versions because they're in the process
1019
- # of being upgraded, this reflects the minimum version of all nodes.
1020
- # Corresponds to the JSON property `currentNodeVersion`
1021
- # @return [String]
1022
- attr_accessor :current_node_version
1294
+ def initialize(**args)
1295
+ update!(**args)
1296
+ end
1023
1297
 
1024
- # The name of the Google Compute Engine
1025
- # [subnetwork](/compute/docs/subnetworks) to which the
1026
- # cluster is connected.
1027
- # Corresponds to the JSON property `subnetwork`
1028
- # @return [String]
1029
- attr_accessor :subnetwork
1298
+ # Update properties of this object
1299
+ def update!(**args)
1300
+ @addons_config = args[:addons_config] if args.key?(:addons_config)
1301
+ end
1302
+ end
1030
1303
 
1031
- # The resource labels for the cluster to use to annotate any related
1032
- # Google Compute Engine resources.
1033
- # Corresponds to the JSON property `resourceLabels`
1034
- # @return [Hash<String,String>]
1035
- attr_accessor :resource_labels
1304
+ # NodePool contains the name and configuration for a cluster's node pool.
1305
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1306
+ # specification, under the control of the cluster master. They may have a set
1307
+ # of Kubernetes labels applied to them, which may be used to reference them
1308
+ # during pod scheduling. They may also be resized up or down, to accommodate
1309
+ # the workload.
1310
+ class NodePool
1311
+ include Google::Apis::Core::Hashable
1036
1312
 
1037
- # The name of this cluster. The name must be unique within this project
1038
- # and zone, and can be up to 40 characters with the following restrictions:
1039
- # * Lowercase letters, numbers, and hyphens only.
1040
- # * Must start with a letter.
1041
- # * Must end with a number or a letter.
1313
+ # The name of the node pool.
1042
1314
  # Corresponds to the JSON property `name`
1043
1315
  # @return [String]
1044
1316
  attr_accessor :name
1045
1317
 
1046
- # The initial Kubernetes version for this cluster. Valid versions are those
1047
- # found in validMasterVersions returned by getServerConfig. The version can
1048
- # be upgraded over time; such upgrades are reflected in
1049
- # currentMasterVersion and currentNodeVersion.
1050
- # Corresponds to the JSON property `initialClusterVersion`
1051
- # @return [String]
1052
- attr_accessor :initial_cluster_version
1053
-
1054
- # [Output only] The IP address of this cluster's master endpoint.
1055
- # The endpoint can be accessed from the internet at
1056
- # `https://username:password@endpoint/`.
1057
- # See the `masterAuth` property of this resource for username and
1058
- # password information.
1059
- # Corresponds to the JSON property `endpoint`
1318
+ # [Output only] Additional information about the current status of this
1319
+ # node pool instance, if available.
1320
+ # Corresponds to the JSON property `statusMessage`
1060
1321
  # @return [String]
1061
- attr_accessor :endpoint
1062
-
1063
- # Configuration for the legacy Attribute Based Access Control authorization
1064
- # mode.
1065
- # Corresponds to the JSON property `legacyAbac`
1066
- # @return [Google::Apis::ContainerV1::LegacyAbac]
1067
- attr_accessor :legacy_abac
1322
+ attr_accessor :status_message
1068
1323
 
1069
- # [Output only] The time the cluster was created, in
1070
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1071
- # Corresponds to the JSON property `createTime`
1072
- # @return [String]
1073
- attr_accessor :create_time
1324
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
1325
+ # adjust the size of the node pool to the current cluster usage.
1326
+ # Corresponds to the JSON property `autoscaling`
1327
+ # @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
1328
+ attr_accessor :autoscaling
1074
1329
 
1075
- # The IP address range of the container pods in this cluster, in
1076
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1077
- # notation (e.g. `10.96.0.0/14`). Leave blank to have
1078
- # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
1079
- # Corresponds to the JSON property `clusterIpv4Cidr`
1080
- # @return [String]
1081
- attr_accessor :cluster_ipv4_cidr
1330
+ # NodeManagement defines the set of node management services turned on for the
1331
+ # node pool.
1332
+ # Corresponds to the JSON property `management`
1333
+ # @return [Google::Apis::ContainerV1::NodeManagement]
1334
+ attr_accessor :management
1082
1335
 
1083
- # The number of nodes to create in this cluster. You must ensure that your
1336
+ # The initial node count for the pool. You must ensure that your
1084
1337
  # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1085
1338
  # is sufficient for this number of instances. You must also have available
1086
1339
  # firewall and routes quota.
1087
- # For requests, this field should only be used in lieu of a
1088
- # "node_pool" object, since this configuration (along with the
1089
- # "node_config") will be used to create a "NodePool" object with an
1090
- # auto-generated name. Do not use this and a node_pool at the same time.
1091
1340
  # Corresponds to the JSON property `initialNodeCount`
1092
1341
  # @return [Fixnum]
1093
1342
  attr_accessor :initial_node_count
1094
1343
 
1095
- # The node pools associated with this cluster.
1096
- # This field should not be set if "node_config" or "initial_node_count" are
1097
- # specified.
1098
- # Corresponds to the JSON property `nodePools`
1099
- # @return [Array<Google::Apis::ContainerV1::NodePool>]
1100
- attr_accessor :node_pools
1101
-
1102
- # The list of Google Compute Engine
1103
- # [locations](/compute/docs/zones#available) in which the cluster's nodes
1104
- # should be located.
1105
- # Corresponds to the JSON property `locations`
1106
- # @return [Array<String>]
1107
- attr_accessor :locations
1108
-
1109
1344
  # [Output only] Server-defined URL for the resource.
1110
1345
  # Corresponds to the JSON property `selfLink`
1111
1346
  # @return [String]
1112
1347
  attr_accessor :self_link
1113
1348
 
1349
+ # [Output only] The version of the Kubernetes of this node.
1350
+ # Corresponds to the JSON property `version`
1351
+ # @return [String]
1352
+ attr_accessor :version
1353
+
1114
1354
  # [Output only] The resource URLs of [instance
1115
1355
  # groups](/compute/docs/instance-groups/) associated with this
1116
- # cluster.
1356
+ # node pool.
1117
1357
  # Corresponds to the JSON property `instanceGroupUrls`
1118
- # @return [Array<String>]
1119
- attr_accessor :instance_group_urls
1120
-
1121
- # [Output only] The IP address range of the Kubernetes services in
1122
- # this cluster, in
1123
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1124
- # notation (e.g. `1.2.3.4/29`). Service addresses are
1125
- # typically put in the last `/16` from the container CIDR.
1126
- # Corresponds to the JSON property `servicesIpv4Cidr`
1127
- # @return [String]
1128
- attr_accessor :services_ipv4_cidr
1129
-
1130
- # Kubernetes alpha features are enabled on this cluster. This includes alpha
1131
- # API groups (e.g. v1alpha1) and features that may not be production ready in
1132
- # the kubernetes version of the master and nodes.
1133
- # The cluster has no SLA for uptime and master/node upgrades are disabled.
1134
- # Alpha enabled clusters are automatically deleted thirty days after
1135
- # creation.
1136
- # Corresponds to the JSON property `enableKubernetesAlpha`
1137
- # @return [Boolean]
1138
- attr_accessor :enable_kubernetes_alpha
1139
- alias_method :enable_kubernetes_alpha?, :enable_kubernetes_alpha
1140
-
1141
- # An optional description of this cluster.
1142
- # Corresponds to the JSON property `description`
1143
- # @return [String]
1144
- attr_accessor :description
1145
-
1146
- # [Output only] The number of nodes currently in the cluster.
1147
- # Corresponds to the JSON property `currentNodeCount`
1148
- # @return [Fixnum]
1149
- attr_accessor :current_node_count
1358
+ # @return [Array<String>]
1359
+ attr_accessor :instance_group_urls
1150
1360
 
1151
- # The monitoring service the cluster should use to write metrics.
1152
- # Currently available options:
1153
- # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
1154
- # * `none` - no metrics will be exported from the cluster.
1155
- # * if left as an empty string, `monitoring.googleapis.com` will be used.
1156
- # Corresponds to the JSON property `monitoringService`
1361
+ # [Output only] The status of the nodes in this pool instance.
1362
+ # Corresponds to the JSON property `status`
1157
1363
  # @return [String]
1158
- attr_accessor :monitoring_service
1364
+ attr_accessor :status
1365
+
1366
+ # Parameters that describe the nodes in a cluster.
1367
+ # Corresponds to the JSON property `config`
1368
+ # @return [Google::Apis::ContainerV1::NodeConfig]
1369
+ attr_accessor :config
1159
1370
 
1160
1371
  def initialize(**args)
1161
1372
  update!(**args)
@@ -1163,53 +1374,39 @@ module Google
1163
1374
 
1164
1375
  # Update properties of this object
1165
1376
  def update!(**args)
1166
- @network = args[:network] if args.key?(:network)
1167
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
1168
- @zone = args[:zone] if args.key?(:zone)
1169
- @node_ipv4_cidr_size = args[:node_ipv4_cidr_size] if args.key?(:node_ipv4_cidr_size)
1170
- @expire_time = args[:expire_time] if args.key?(:expire_time)
1171
- @logging_service = args[:logging_service] if args.key?(:logging_service)
1172
- @status_message = args[:status_message] if args.key?(:status_message)
1173
- @master_auth = args[:master_auth] if args.key?(:master_auth)
1174
- @current_master_version = args[:current_master_version] if args.key?(:current_master_version)
1175
- @node_config = args[:node_config] if args.key?(:node_config)
1176
- @addons_config = args[:addons_config] if args.key?(:addons_config)
1177
- @status = args[:status] if args.key?(:status)
1178
- @current_node_version = args[:current_node_version] if args.key?(:current_node_version)
1179
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
1180
- @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
1181
1377
  @name = args[:name] if args.key?(:name)
1182
- @initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
1183
- @endpoint = args[:endpoint] if args.key?(:endpoint)
1184
- @legacy_abac = args[:legacy_abac] if args.key?(:legacy_abac)
1185
- @create_time = args[:create_time] if args.key?(:create_time)
1186
- @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
1378
+ @status_message = args[:status_message] if args.key?(:status_message)
1379
+ @autoscaling = args[:autoscaling] if args.key?(:autoscaling)
1380
+ @management = args[:management] if args.key?(:management)
1187
1381
  @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
1188
- @node_pools = args[:node_pools] if args.key?(:node_pools)
1189
- @locations = args[:locations] if args.key?(:locations)
1190
1382
  @self_link = args[:self_link] if args.key?(:self_link)
1383
+ @version = args[:version] if args.key?(:version)
1191
1384
  @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
1192
- @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
1193
- @enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
1194
- @description = args[:description] if args.key?(:description)
1195
- @current_node_count = args[:current_node_count] if args.key?(:current_node_count)
1196
- @monitoring_service = args[:monitoring_service] if args.key?(:monitoring_service)
1385
+ @status = args[:status] if args.key?(:status)
1386
+ @config = args[:config] if args.key?(:config)
1197
1387
  end
1198
1388
  end
1199
1389
 
1200
- # CreateNodePoolRequest creates a node pool for a cluster.
1201
- class CreateNodePoolRequest
1390
+ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
1391
+ # Engine cluster, which will in turn set them for Google Compute Engine
1392
+ # resources used by that cluster
1393
+ class SetLabelsRequest
1202
1394
  include Google::Apis::Core::Hashable
1203
1395
 
1204
- # NodePool contains the name and configuration for a cluster's node pool.
1205
- # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1206
- # specification, under the control of the cluster master. They may have a set
1207
- # of Kubernetes labels applied to them, which may be used to reference them
1208
- # during pod scheduling. They may also be resized up or down, to accommodate
1209
- # the workload.
1210
- # Corresponds to the JSON property `nodePool`
1211
- # @return [Google::Apis::ContainerV1::NodePool]
1212
- attr_accessor :node_pool
1396
+ # The fingerprint of the previous set of labels for this resource,
1397
+ # used to detect conflicts. The fingerprint is initially generated by
1398
+ # Container Engine and changes after every request to modify or update
1399
+ # labels. You must always provide an up-to-date fingerprint hash when
1400
+ # updating or changing labels. Make a <code>get()</code> request to the
1401
+ # resource to get the latest fingerprint.
1402
+ # Corresponds to the JSON property `labelFingerprint`
1403
+ # @return [String]
1404
+ attr_accessor :label_fingerprint
1405
+
1406
+ # The labels to set for that cluster.
1407
+ # Corresponds to the JSON property `resourceLabels`
1408
+ # @return [Hash<String,String>]
1409
+ attr_accessor :resource_labels
1213
1410
 
1214
1411
  def initialize(**args)
1215
1412
  update!(**args)
@@ -1217,24 +1414,38 @@ module Google
1217
1414
 
1218
1415
  # Update properties of this object
1219
1416
  def update!(**args)
1220
- @node_pool = args[:node_pool] if args.key?(:node_pool)
1417
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
1418
+ @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
1221
1419
  end
1222
1420
  end
1223
1421
 
1224
- # ListOperationsResponse is the result of ListOperationsRequest.
1225
- class ListOperationsResponse
1422
+ # NodeManagement defines the set of node management services turned on for the
1423
+ # node pool.
1424
+ class NodeManagement
1226
1425
  include Google::Apis::Core::Hashable
1227
1426
 
1228
- # A list of operations in the project in the specified zone.
1229
- # Corresponds to the JSON property `operations`
1230
- # @return [Array<Google::Apis::ContainerV1::Operation>]
1231
- attr_accessor :operations
1427
+ # A flag that specifies whether the node auto-repair is enabled for the node
1428
+ # pool. If enabled, the nodes in this node pool will be monitored and, if
1429
+ # they fail health checks too many times, an automatic repair action will be
1430
+ # triggered.
1431
+ # Corresponds to the JSON property `autoRepair`
1432
+ # @return [Boolean]
1433
+ attr_accessor :auto_repair
1434
+ alias_method :auto_repair?, :auto_repair
1232
1435
 
1233
- # If any zones are listed here, the list of operations returned
1234
- # may be missing the operations from those zones.
1235
- # Corresponds to the JSON property `missingZones`
1236
- # @return [Array<String>]
1237
- attr_accessor :missing_zones
1436
+ # A flag that specifies whether node auto-upgrade is enabled for the node
1437
+ # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
1438
+ # up to date with the latest release version of Kubernetes.
1439
+ # Corresponds to the JSON property `autoUpgrade`
1440
+ # @return [Boolean]
1441
+ attr_accessor :auto_upgrade
1442
+ alias_method :auto_upgrade?, :auto_upgrade
1443
+
1444
+ # AutoUpgradeOptions defines the set of options for the user to control how
1445
+ # the Auto Upgrades will proceed.
1446
+ # Corresponds to the JSON property `upgradeOptions`
1447
+ # @return [Google::Apis::ContainerV1::AutoUpgradeOptions]
1448
+ attr_accessor :upgrade_options
1238
1449
 
1239
1450
  def initialize(**args)
1240
1451
  update!(**args)
@@ -1242,39 +1453,92 @@ module Google
1242
1453
 
1243
1454
  # Update properties of this object
1244
1455
  def update!(**args)
1245
- @operations = args[:operations] if args.key?(:operations)
1246
- @missing_zones = args[:missing_zones] if args.key?(:missing_zones)
1456
+ @auto_repair = args[:auto_repair] if args.key?(:auto_repair)
1457
+ @auto_upgrade = args[:auto_upgrade] if args.key?(:auto_upgrade)
1458
+ @upgrade_options = args[:upgrade_options] if args.key?(:upgrade_options)
1247
1459
  end
1248
1460
  end
1249
1461
 
1250
- # Container Engine service configuration.
1251
- class ServerConfig
1462
+ # CancelOperationRequest cancels a single operation.
1463
+ class CancelOperationRequest
1252
1464
  include Google::Apis::Core::Hashable
1253
1465
 
1254
- # List of valid master versions.
1255
- # Corresponds to the JSON property `validMasterVersions`
1256
- # @return [Array<String>]
1257
- attr_accessor :valid_master_versions
1466
+ def initialize(**args)
1467
+ update!(**args)
1468
+ end
1258
1469
 
1259
- # Version of Kubernetes the service deploys by default.
1260
- # Corresponds to the JSON property `defaultClusterVersion`
1470
+ # Update properties of this object
1471
+ def update!(**args)
1472
+ end
1473
+ end
1474
+
1475
+ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
1476
+ # a cluster.
1477
+ class SetLegacyAbacRequest
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # Whether ABAC authorization will be enabled in the cluster.
1481
+ # Corresponds to the JSON property `enabled`
1482
+ # @return [Boolean]
1483
+ attr_accessor :enabled
1484
+ alias_method :enabled?, :enabled
1485
+
1486
+ def initialize(**args)
1487
+ update!(**args)
1488
+ end
1489
+
1490
+ # Update properties of this object
1491
+ def update!(**args)
1492
+ @enabled = args[:enabled] if args.key?(:enabled)
1493
+ end
1494
+ end
1495
+
1496
+ # This operation resource represents operations that may have happened or are
1497
+ # happening on the cluster. All fields are output only.
1498
+ class Operation
1499
+ include Google::Apis::Core::Hashable
1500
+
1501
+ # The name of the Google Compute Engine
1502
+ # [zone](/compute/docs/zones#available) in which the operation
1503
+ # is taking place.
1504
+ # Corresponds to the JSON property `zone`
1261
1505
  # @return [String]
1262
- attr_accessor :default_cluster_version
1506
+ attr_accessor :zone
1263
1507
 
1264
- # Default image type.
1265
- # Corresponds to the JSON property `defaultImageType`
1508
+ # The current status of the operation.
1509
+ # Corresponds to the JSON property `status`
1266
1510
  # @return [String]
1267
- attr_accessor :default_image_type
1511
+ attr_accessor :status
1268
1512
 
1269
- # List of valid node upgrade target versions.
1270
- # Corresponds to the JSON property `validNodeVersions`
1271
- # @return [Array<String>]
1272
- attr_accessor :valid_node_versions
1513
+ # If an error has occurred, a textual description of the error.
1514
+ # Corresponds to the JSON property `statusMessage`
1515
+ # @return [String]
1516
+ attr_accessor :status_message
1273
1517
 
1274
- # List of valid image types.
1275
- # Corresponds to the JSON property `validImageTypes`
1276
- # @return [Array<String>]
1277
- attr_accessor :valid_image_types
1518
+ # The server-assigned ID for the operation.
1519
+ # Corresponds to the JSON property `name`
1520
+ # @return [String]
1521
+ attr_accessor :name
1522
+
1523
+ # Server-defined URL for the resource.
1524
+ # Corresponds to the JSON property `selfLink`
1525
+ # @return [String]
1526
+ attr_accessor :self_link
1527
+
1528
+ # Server-defined URL for the target of the operation.
1529
+ # Corresponds to the JSON property `targetLink`
1530
+ # @return [String]
1531
+ attr_accessor :target_link
1532
+
1533
+ # Detailed operation progress, if available.
1534
+ # Corresponds to the JSON property `detail`
1535
+ # @return [String]
1536
+ attr_accessor :detail
1537
+
1538
+ # The operation type.
1539
+ # Corresponds to the JSON property `operationType`
1540
+ # @return [String]
1541
+ attr_accessor :operation_type
1278
1542
 
1279
1543
  def initialize(**args)
1280
1544
  update!(**args)
@@ -1282,11 +1546,43 @@ module Google
1282
1546
 
1283
1547
  # Update properties of this object
1284
1548
  def update!(**args)
1285
- @valid_master_versions = args[:valid_master_versions] if args.key?(:valid_master_versions)
1286
- @default_cluster_version = args[:default_cluster_version] if args.key?(:default_cluster_version)
1287
- @default_image_type = args[:default_image_type] if args.key?(:default_image_type)
1288
- @valid_node_versions = args[:valid_node_versions] if args.key?(:valid_node_versions)
1289
- @valid_image_types = args[:valid_image_types] if args.key?(:valid_image_types)
1549
+ @zone = args[:zone] if args.key?(:zone)
1550
+ @status = args[:status] if args.key?(:status)
1551
+ @status_message = args[:status_message] if args.key?(:status_message)
1552
+ @name = args[:name] if args.key?(:name)
1553
+ @self_link = args[:self_link] if args.key?(:self_link)
1554
+ @target_link = args[:target_link] if args.key?(:target_link)
1555
+ @detail = args[:detail] if args.key?(:detail)
1556
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1557
+ end
1558
+ end
1559
+
1560
+ # Configuration for the addons that can be automatically spun up in the
1561
+ # cluster, enabling additional functionality.
1562
+ class AddonsConfig
1563
+ include Google::Apis::Core::Hashable
1564
+
1565
+ # Configuration options for the horizontal pod autoscaling feature, which
1566
+ # increases or decreases the number of replica pods a replication controller
1567
+ # has based on the resource usage of the existing pods.
1568
+ # Corresponds to the JSON property `horizontalPodAutoscaling`
1569
+ # @return [Google::Apis::ContainerV1::HorizontalPodAutoscaling]
1570
+ attr_accessor :horizontal_pod_autoscaling
1571
+
1572
+ # Configuration options for the HTTP (L7) load balancing controller addon,
1573
+ # which makes it easy to set up HTTP load balancers for services in a cluster.
1574
+ # Corresponds to the JSON property `httpLoadBalancing`
1575
+ # @return [Google::Apis::ContainerV1::HttpLoadBalancing]
1576
+ attr_accessor :http_load_balancing
1577
+
1578
+ def initialize(**args)
1579
+ update!(**args)
1580
+ end
1581
+
1582
+ # Update properties of this object
1583
+ def update!(**args)
1584
+ @horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling)
1585
+ @http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing)
1290
1586
  end
1291
1587
  end
1292
1588
  end