google-api-client 0.13.0 → 0.13.1

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