google-api-client 0.37.0 → 0.38.0

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 (570) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +401 -0
  3. data/api_list_config.yaml +2 -0
  4. data/api_names.yaml +2 -0
  5. data/bin/generate-api +9 -1
  6. data/generated/google/apis/accessapproval_v1.rb +1 -1
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +244 -56
  9. data/generated/google/apis/accesscontextmanager_v1/representations.rb +105 -6
  10. data/generated/google/apis/accesscontextmanager_v1/service.rb +143 -5
  11. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  12. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +26 -97
  13. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -22
  14. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +6 -5
  15. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +10 -3
  17. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  19. data/generated/google/apis/admin_directory_v1/classes.rb +0 -147
  20. data/generated/google/apis/admin_directory_v1/representations.rb +0 -54
  21. data/generated/google/apis/admin_directory_v1/service.rb +0 -60
  22. data/generated/google/apis/admin_directory_v1.rb +1 -1
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsensehost_v4_1/service.rb +5 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/alertcenter_v1beta1/classes.rb +8 -8
  27. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  28. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -2
  29. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  30. data/generated/google/apis/androidenterprise_v1/classes.rb +2 -2
  31. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  32. data/generated/google/apis/androidmanagement_v1/service.rb +2 -2
  33. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  34. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  35. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  36. data/generated/google/apis/androidpublisher_v3/classes.rb +195 -2
  37. data/generated/google/apis/androidpublisher_v3/representations.rb +89 -0
  38. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  39. data/generated/google/apis/appengine_v1.rb +1 -1
  40. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  41. data/generated/google/apis/appengine_v1beta.rb +1 -1
  42. data/generated/google/apis/bigquery_v2/classes.rb +224 -5
  43. data/generated/google/apis/bigquery_v2/representations.rb +65 -0
  44. data/generated/google/apis/bigquery_v2.rb +1 -1
  45. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  46. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  47. data/generated/google/apis/bigqueryreservation_v1/classes.rb +413 -0
  48. data/generated/google/apis/bigqueryreservation_v1/representations.rb +194 -0
  49. data/generated/google/apis/bigqueryreservation_v1/service.rb +745 -0
  50. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  51. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  52. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +160 -9
  53. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +72 -0
  54. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +131 -14
  55. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  56. data/generated/google/apis/bigtableadmin_v1/classes.rb +20 -17
  57. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  58. data/generated/google/apis/bigtableadmin_v2/classes.rb +26 -21
  59. data/generated/google/apis/bigtableadmin_v2/service.rb +93 -53
  60. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  61. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +2 -2
  62. data/generated/google/apis/billingbudgets_v1beta1/service.rb +11 -0
  63. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  64. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  65. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  66. data/generated/google/apis/blogger_v2/classes.rb +297 -45
  67. data/generated/google/apis/blogger_v2/representations.rb +105 -26
  68. data/generated/google/apis/blogger_v2/service.rb +79 -134
  69. data/generated/google/apis/blogger_v2.rb +5 -4
  70. data/generated/google/apis/blogger_v3/classes.rb +60 -53
  71. data/generated/google/apis/blogger_v3/representations.rb +10 -18
  72. data/generated/google/apis/blogger_v3/service.rb +183 -463
  73. data/generated/google/apis/blogger_v3.rb +4 -3
  74. data/generated/google/apis/books_v1/classes.rb +86 -0
  75. data/generated/google/apis/books_v1/representations.rb +37 -0
  76. data/generated/google/apis/books_v1.rb +1 -1
  77. data/generated/google/apis/calendar_v3/classes.rb +1 -14
  78. data/generated/google/apis/calendar_v3.rb +1 -1
  79. data/generated/google/apis/chat_v1/classes.rb +14 -3
  80. data/generated/google/apis/chat_v1/representations.rb +1 -0
  81. data/generated/google/apis/chat_v1.rb +1 -1
  82. data/generated/google/apis/classroom_v1.rb +1 -1
  83. data/generated/google/apis/cloudasset_v1/classes.rb +178 -123
  84. data/generated/google/apis/cloudasset_v1/representations.rb +20 -6
  85. data/generated/google/apis/cloudasset_v1/service.rb +2 -2
  86. data/generated/google/apis/cloudasset_v1.rb +1 -1
  87. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  88. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +669 -0
  89. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +199 -0
  90. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +187 -0
  91. data/generated/google/apis/cloudasset_v1p1beta1.rb +34 -0
  92. data/generated/google/apis/cloudbuild_v1/classes.rb +35 -1
  93. data/generated/google/apis/cloudbuild_v1/representations.rb +4 -0
  94. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  95. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +17 -0
  96. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +2 -0
  97. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -5
  98. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  99. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +17 -0
  100. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +2 -0
  101. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  102. data/generated/google/apis/clouddebugger_v2/classes.rb +8 -0
  103. data/generated/google/apis/clouddebugger_v2/service.rb +1 -1
  104. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  105. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +1 -1
  106. data/generated/google/apis/clouderrorreporting_v1beta1.rb +2 -2
  107. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  108. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  109. data/generated/google/apis/cloudidentity_v1/classes.rb +0 -560
  110. data/generated/google/apis/cloudidentity_v1/representations.rb +0 -226
  111. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  112. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +238 -148
  113. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +109 -63
  114. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -2
  115. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  116. data/generated/google/apis/cloudiot_v1.rb +1 -1
  117. data/generated/google/apis/cloudkms_v1.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -0
  119. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  120. data/generated/google/apis/cloudsearch_v1/classes.rb +52 -52
  121. data/generated/google/apis/cloudsearch_v1/service.rb +12 -0
  122. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  123. data/generated/google/apis/cloudshell_v1.rb +1 -1
  124. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  125. data/generated/google/apis/cloudtasks_v2/classes.rb +30 -0
  126. data/generated/google/apis/cloudtasks_v2/representations.rb +15 -0
  127. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  128. data/generated/google/apis/cloudtasks_v2beta2/service.rb +6 -1
  129. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  130. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  131. data/generated/google/apis/cloudtrace_v1/service.rb +4 -4
  132. data/generated/google/apis/cloudtrace_v1.rb +5 -5
  133. data/generated/google/apis/cloudtrace_v2/service.rb +4 -4
  134. data/generated/google/apis/cloudtrace_v2.rb +5 -5
  135. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +143 -0
  136. data/generated/google/apis/{oauth2_v1 → cloudtrace_v2beta1}/representations.rb +36 -27
  137. data/generated/google/apis/cloudtrace_v2beta1/service.rb +258 -0
  138. data/generated/google/apis/cloudtrace_v2beta1.rb +44 -0
  139. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +2 -2
  140. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  141. data/generated/google/apis/composer_v1/classes.rb +178 -0
  142. data/generated/google/apis/composer_v1/representations.rb +54 -0
  143. data/generated/google/apis/composer_v1.rb +1 -1
  144. data/generated/google/apis/composer_v1beta1/classes.rb +37 -6
  145. data/generated/google/apis/composer_v1beta1/representations.rb +4 -0
  146. data/generated/google/apis/composer_v1beta1.rb +1 -1
  147. data/generated/google/apis/compute_alpha/classes.rb +1510 -353
  148. data/generated/google/apis/compute_alpha/representations.rb +319 -32
  149. data/generated/google/apis/compute_alpha/service.rb +4471 -2784
  150. data/generated/google/apis/compute_alpha.rb +1 -1
  151. data/generated/google/apis/compute_beta/classes.rb +917 -260
  152. data/generated/google/apis/compute_beta/representations.rb +247 -16
  153. data/generated/google/apis/compute_beta/service.rb +3370 -2229
  154. data/generated/google/apis/compute_beta.rb +1 -1
  155. data/generated/google/apis/compute_v1/classes.rb +960 -152
  156. data/generated/google/apis/compute_v1/representations.rb +326 -0
  157. data/generated/google/apis/compute_v1/service.rb +3155 -2026
  158. data/generated/google/apis/compute_v1.rb +1 -1
  159. data/generated/google/apis/container_v1/classes.rb +268 -90
  160. data/generated/google/apis/container_v1/representations.rb +70 -0
  161. data/generated/google/apis/container_v1/service.rb +118 -118
  162. data/generated/google/apis/container_v1.rb +1 -1
  163. data/generated/google/apis/container_v1beta1/classes.rb +136 -142
  164. data/generated/google/apis/container_v1beta1/representations.rb +25 -51
  165. data/generated/google/apis/container_v1beta1/service.rb +2 -2
  166. data/generated/google/apis/container_v1beta1.rb +1 -1
  167. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  168. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  169. data/generated/google/apis/content_v2/classes.rb +1078 -141
  170. data/generated/google/apis/content_v2/service.rb +3 -1
  171. data/generated/google/apis/content_v2.rb +1 -1
  172. data/generated/google/apis/content_v2_1/classes.rb +1068 -164
  173. data/generated/google/apis/content_v2_1/representations.rb +102 -0
  174. data/generated/google/apis/content_v2_1/service.rb +146 -1
  175. data/generated/google/apis/content_v2_1.rb +1 -1
  176. data/generated/google/apis/customsearch_v1/classes.rb +1194 -353
  177. data/generated/google/apis/customsearch_v1/representations.rb +166 -95
  178. data/generated/google/apis/customsearch_v1/service.rb +373 -104
  179. data/generated/google/apis/customsearch_v1.rb +3 -3
  180. data/generated/google/apis/datacatalog_v1beta1/classes.rb +30 -14
  181. data/generated/google/apis/datacatalog_v1beta1/representations.rb +2 -0
  182. data/generated/google/apis/datacatalog_v1beta1/service.rb +206 -41
  183. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  184. data/generated/google/apis/dataflow_v1b3/classes.rb +260 -0
  185. data/generated/google/apis/dataflow_v1b3/representations.rb +115 -0
  186. data/generated/google/apis/dataflow_v1b3/service.rb +327 -0
  187. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  188. data/generated/google/apis/datafusion_v1beta1/classes.rb +27 -1
  189. data/generated/google/apis/datafusion_v1beta1/representations.rb +15 -0
  190. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  191. data/generated/google/apis/dataproc_v1/classes.rb +155 -4
  192. data/generated/google/apis/dataproc_v1/representations.rb +46 -0
  193. data/generated/google/apis/dataproc_v1/service.rb +72 -15
  194. data/generated/google/apis/dataproc_v1.rb +1 -1
  195. data/generated/google/apis/dataproc_v1beta2/classes.rb +205 -6
  196. data/generated/google/apis/dataproc_v1beta2/representations.rb +81 -0
  197. data/generated/google/apis/dataproc_v1beta2/service.rb +148 -15
  198. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  199. data/generated/google/apis/datastore_v1.rb +1 -1
  200. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  201. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  202. data/generated/google/apis/dfareporting_v3_3/classes.rb +19 -13
  203. data/generated/google/apis/dfareporting_v3_3/service.rb +5 -4
  204. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  205. data/generated/google/apis/dfareporting_v3_4/classes.rb +152 -22
  206. data/generated/google/apis/dfareporting_v3_4/representations.rb +46 -1
  207. data/generated/google/apis/dfareporting_v3_4/service.rb +5 -4
  208. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  209. data/generated/google/apis/dialogflow_v2/classes.rb +160 -360
  210. data/generated/google/apis/dialogflow_v2/representations.rb +1 -95
  211. data/generated/google/apis/dialogflow_v2/service.rb +478 -303
  212. data/generated/google/apis/dialogflow_v2.rb +1 -1
  213. data/generated/google/apis/dialogflow_v2beta1/classes.rb +162 -363
  214. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -95
  215. data/generated/google/apis/dialogflow_v2beta1/service.rb +172 -924
  216. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  217. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  218. data/generated/google/apis/displayvideo_v1/classes.rb +382 -0
  219. data/generated/google/apis/displayvideo_v1/representations.rb +167 -0
  220. data/generated/google/apis/displayvideo_v1/service.rb +176 -0
  221. data/generated/google/apis/displayvideo_v1.rb +38 -0
  222. data/generated/google/apis/dlp_v2/classes.rb +515 -2
  223. data/generated/google/apis/dlp_v2/representations.rb +212 -0
  224. data/generated/google/apis/dlp_v2/service.rb +119 -0
  225. data/generated/google/apis/dlp_v2.rb +1 -1
  226. data/generated/google/apis/docs_v1/classes.rb +22 -0
  227. data/generated/google/apis/docs_v1/representations.rb +3 -0
  228. data/generated/google/apis/docs_v1.rb +1 -1
  229. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  230. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  231. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  232. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -1
  233. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +9 -2
  234. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  235. data/generated/google/apis/doubleclicksearch_v2/service.rb +0 -55
  236. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  237. data/generated/google/apis/drive_v2/classes.rb +54 -2
  238. data/generated/google/apis/drive_v2/representations.rb +18 -0
  239. data/generated/google/apis/drive_v2/service.rb +81 -9
  240. data/generated/google/apis/drive_v2.rb +1 -1
  241. data/generated/google/apis/drive_v3/classes.rb +54 -2
  242. data/generated/google/apis/drive_v3/representations.rb +18 -0
  243. data/generated/google/apis/drive_v3/service.rb +37 -4
  244. data/generated/google/apis/drive_v3.rb +1 -1
  245. data/generated/google/apis/driveactivity_v2.rb +1 -1
  246. data/generated/google/apis/file_v1/classes.rb +4 -161
  247. data/generated/google/apis/file_v1/representations.rb +0 -34
  248. data/generated/google/apis/file_v1/service.rb +1 -1
  249. data/generated/google/apis/file_v1.rb +1 -1
  250. data/generated/google/apis/file_v1beta1/classes.rb +4 -161
  251. data/generated/google/apis/file_v1beta1/representations.rb +0 -34
  252. data/generated/google/apis/file_v1beta1.rb +1 -1
  253. data/generated/google/apis/firebase_v1beta1/service.rb +11 -8
  254. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  255. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  256. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +6 -6
  257. data/generated/google/apis/firebasehosting_v1beta1/service.rb +762 -3
  258. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  259. data/generated/google/apis/firebaserules_v1.rb +1 -1
  260. data/generated/google/apis/firestore_v1/classes.rb +11 -2
  261. data/generated/google/apis/firestore_v1/representations.rb +2 -0
  262. data/generated/google/apis/firestore_v1/service.rb +2 -2
  263. data/generated/google/apis/firestore_v1.rb +1 -1
  264. data/generated/google/apis/firestore_v1beta1/classes.rb +11 -2
  265. data/generated/google/apis/firestore_v1beta1/representations.rb +2 -0
  266. data/generated/google/apis/firestore_v1beta1/service.rb +2 -2
  267. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  268. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  269. data/generated/google/apis/fitness_v1/classes.rb +10 -5
  270. data/generated/google/apis/fitness_v1/service.rb +14 -10
  271. data/generated/google/apis/fitness_v1.rb +1 -1
  272. data/generated/google/apis/games_configuration_v1configuration/classes.rb +39 -53
  273. data/generated/google/apis/games_configuration_v1configuration/service.rb +58 -169
  274. data/generated/google/apis/games_configuration_v1configuration.rb +4 -3
  275. data/generated/google/apis/games_management_v1management/classes.rb +7 -0
  276. data/generated/google/apis/games_management_v1management/representations.rb +1 -0
  277. data/generated/google/apis/games_management_v1management.rb +1 -1
  278. data/generated/google/apis/games_v1/classes.rb +13 -0
  279. data/generated/google/apis/games_v1/representations.rb +2 -0
  280. data/generated/google/apis/games_v1.rb +1 -1
  281. data/generated/google/apis/gameservices_v1beta/classes.rb +2342 -0
  282. data/generated/google/apis/gameservices_v1beta/representations.rb +971 -0
  283. data/generated/google/apis/gameservices_v1beta/service.rb +1469 -0
  284. data/generated/google/apis/gameservices_v1beta.rb +34 -0
  285. data/generated/google/apis/genomics_v1.rb +1 -1
  286. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  287. data/generated/google/apis/genomics_v2alpha1/service.rb +34 -0
  288. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  289. data/generated/google/apis/gmail_v1/classes.rb +258 -199
  290. data/generated/google/apis/gmail_v1/service.rb +552 -744
  291. data/generated/google/apis/gmail_v1.rb +3 -2
  292. data/generated/google/apis/healthcare_v1/classes.rb +2639 -0
  293. data/generated/google/apis/healthcare_v1/representations.rb +1114 -0
  294. data/generated/google/apis/healthcare_v1/service.rb +3470 -0
  295. data/generated/google/apis/{toolresults_v1.rb → healthcare_v1.rb} +11 -8
  296. data/generated/google/apis/healthcare_v1beta1/classes.rb +576 -26
  297. data/generated/google/apis/healthcare_v1beta1/representations.rb +236 -1
  298. data/generated/google/apis/healthcare_v1beta1/service.rb +147 -18
  299. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  300. data/generated/google/apis/homegraph_v1/classes.rb +67 -63
  301. data/generated/google/apis/homegraph_v1/service.rb +43 -47
  302. data/generated/google/apis/homegraph_v1.rb +1 -1
  303. data/generated/google/apis/iam_v1.rb +1 -1
  304. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  305. data/generated/google/apis/iap_v1/classes.rb +190 -0
  306. data/generated/google/apis/iap_v1/representations.rb +66 -0
  307. data/generated/google/apis/iap_v1.rb +1 -1
  308. data/generated/google/apis/iap_v1beta1.rb +1 -1
  309. data/generated/google/apis/indexing_v3.rb +1 -1
  310. data/generated/google/apis/jobs_v2.rb +1 -1
  311. data/generated/google/apis/jobs_v3.rb +1 -1
  312. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  313. data/generated/google/apis/language_v1/classes.rb +6 -6
  314. data/generated/google/apis/language_v1.rb +1 -1
  315. data/generated/google/apis/language_v1beta1/classes.rb +5 -5
  316. data/generated/google/apis/language_v1beta1.rb +1 -1
  317. data/generated/google/apis/language_v1beta2/classes.rb +8 -7
  318. data/generated/google/apis/language_v1beta2.rb +1 -1
  319. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  320. data/generated/google/apis/logging_v2/classes.rb +108 -38
  321. data/generated/google/apis/logging_v2/representations.rb +33 -2
  322. data/generated/google/apis/logging_v2/service.rb +689 -10
  323. data/generated/google/apis/logging_v2.rb +6 -7
  324. data/generated/google/apis/managedidentities_v1/classes.rb +1571 -0
  325. data/generated/google/apis/managedidentities_v1/representations.rb +560 -0
  326. data/generated/google/apis/managedidentities_v1/service.rb +779 -0
  327. data/generated/google/apis/managedidentities_v1.rb +35 -0
  328. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +1570 -0
  329. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +560 -0
  330. data/generated/google/apis/managedidentities_v1alpha1/service.rb +782 -0
  331. data/generated/google/apis/managedidentities_v1alpha1.rb +35 -0
  332. data/generated/google/apis/managedidentities_v1beta1/classes.rb +1568 -0
  333. data/generated/google/apis/managedidentities_v1beta1/representations.rb +560 -0
  334. data/generated/google/apis/managedidentities_v1beta1/service.rb +778 -0
  335. data/generated/google/apis/managedidentities_v1beta1.rb +35 -0
  336. data/generated/google/apis/manufacturers_v1/classes.rb +7 -0
  337. data/generated/google/apis/manufacturers_v1/representations.rb +1 -0
  338. data/generated/google/apis/manufacturers_v1.rb +1 -1
  339. data/generated/google/apis/memcache_v1beta2/classes.rb +1575 -0
  340. data/generated/google/apis/memcache_v1beta2/representations.rb +557 -0
  341. data/generated/google/apis/memcache_v1beta2/service.rb +674 -0
  342. data/generated/google/apis/memcache_v1beta2.rb +35 -0
  343. data/generated/google/apis/ml_v1/classes.rb +1021 -56
  344. data/generated/google/apis/ml_v1/representations.rb +481 -0
  345. data/generated/google/apis/ml_v1/service.rb +491 -0
  346. data/generated/google/apis/ml_v1.rb +1 -1
  347. data/generated/google/apis/monitoring_v1/classes.rb +54 -15
  348. data/generated/google/apis/monitoring_v1/representations.rb +3 -0
  349. data/generated/google/apis/monitoring_v1/service.rb +7 -8
  350. data/generated/google/apis/monitoring_v1.rb +7 -8
  351. data/generated/google/apis/monitoring_v3/classes.rb +311 -35
  352. data/generated/google/apis/monitoring_v3/representations.rb +128 -0
  353. data/generated/google/apis/monitoring_v3/service.rb +79 -35
  354. data/generated/google/apis/monitoring_v3.rb +7 -8
  355. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +1856 -0
  356. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +661 -0
  357. data/generated/google/apis/networkmanagement_v1beta1/service.rb +664 -0
  358. data/generated/google/apis/{cloudprivatecatalog_v1beta1.rb → networkmanagement_v1beta1.rb} +9 -9
  359. data/generated/google/apis/oauth2_v2/classes.rb +1 -81
  360. data/generated/google/apis/oauth2_v2/representations.rb +2 -36
  361. data/generated/google/apis/oauth2_v2/service.rb +10 -42
  362. data/generated/google/apis/oauth2_v2.rb +5 -5
  363. data/generated/google/apis/osconfig_v1/classes.rb +1223 -0
  364. data/generated/google/apis/osconfig_v1/representations.rb +506 -0
  365. data/generated/google/apis/osconfig_v1/service.rb +386 -0
  366. data/generated/google/apis/{mirror_v1.rb → osconfig_v1.rb} +11 -13
  367. data/generated/google/apis/osconfig_v1beta/classes.rb +10 -2
  368. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  369. data/generated/google/apis/oslogin_v1.rb +1 -1
  370. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  371. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  372. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  373. data/generated/google/apis/people_v1/classes.rb +30 -12
  374. data/generated/google/apis/people_v1/representations.rb +1 -0
  375. data/generated/google/apis/people_v1/service.rb +12 -24
  376. data/generated/google/apis/people_v1.rb +1 -1
  377. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +4 -3
  378. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +282 -0
  379. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  380. data/generated/google/apis/pubsub_v1/classes.rb +25 -17
  381. data/generated/google/apis/pubsub_v1/service.rb +23 -22
  382. data/generated/google/apis/pubsub_v1.rb +1 -1
  383. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  384. data/generated/google/apis/pubsub_v1beta2/classes.rb +5 -2
  385. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  386. data/generated/google/apis/recommender_v1beta1/classes.rb +212 -1
  387. data/generated/google/apis/recommender_v1beta1/representations.rb +96 -0
  388. data/generated/google/apis/recommender_v1beta1/service.rb +123 -0
  389. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  390. data/generated/google/apis/redis_v1/classes.rb +30 -7
  391. data/generated/google/apis/redis_v1/representations.rb +13 -0
  392. data/generated/google/apis/redis_v1/service.rb +36 -0
  393. data/generated/google/apis/redis_v1.rb +1 -1
  394. data/generated/google/apis/redis_v1beta1/classes.rb +11 -7
  395. data/generated/google/apis/redis_v1beta1.rb +1 -1
  396. data/generated/google/apis/remotebuildexecution_v1/classes.rb +171 -37
  397. data/generated/google/apis/remotebuildexecution_v1/representations.rb +28 -0
  398. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  399. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +171 -37
  400. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +28 -0
  401. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  402. data/generated/google/apis/remotebuildexecution_v2/classes.rb +181 -45
  403. data/generated/google/apis/remotebuildexecution_v2/representations.rb +29 -0
  404. data/generated/google/apis/remotebuildexecution_v2/service.rb +5 -1
  405. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  406. data/generated/google/apis/run_v1/classes.rb +138 -13
  407. data/generated/google/apis/run_v1/representations.rb +61 -0
  408. data/generated/google/apis/run_v1/service.rb +346 -0
  409. data/generated/google/apis/run_v1.rb +1 -1
  410. data/generated/google/apis/run_v1alpha1/classes.rb +431 -280
  411. data/generated/google/apis/run_v1alpha1/representations.rb +156 -105
  412. data/generated/google/apis/run_v1alpha1/service.rb +874 -448
  413. data/generated/google/apis/run_v1alpha1.rb +1 -1
  414. data/generated/google/apis/run_v1beta1.rb +1 -1
  415. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  416. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  417. data/generated/google/apis/sasportal_v1alpha1/classes.rb +4 -3
  418. data/generated/google/apis/sasportal_v1alpha1/service.rb +282 -0
  419. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  420. data/generated/google/apis/script_v1.rb +1 -1
  421. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/classes.rb +478 -761
  422. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/representations.rb +105 -116
  423. data/generated/google/apis/secretmanager_v1/service.rb +678 -0
  424. data/generated/google/apis/secretmanager_v1.rb +35 -0
  425. data/generated/google/apis/secretmanager_v1beta1/service.rb +5 -2
  426. data/generated/google/apis/secretmanager_v1beta1.rb +3 -3
  427. data/generated/google/apis/securitycenter_v1/classes.rb +293 -117
  428. data/generated/google/apis/securitycenter_v1/representations.rb +61 -0
  429. data/generated/google/apis/securitycenter_v1/service.rb +205 -9
  430. data/generated/google/apis/securitycenter_v1.rb +4 -4
  431. data/generated/google/apis/securitycenter_v1beta1/classes.rb +292 -107
  432. data/generated/google/apis/securitycenter_v1beta1/representations.rb +54 -2
  433. data/generated/google/apis/securitycenter_v1beta1/service.rb +39 -39
  434. data/generated/google/apis/securitycenter_v1beta1.rb +4 -4
  435. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +237 -54
  436. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +52 -0
  437. data/generated/google/apis/securitycenter_v1p1alpha1/service.rb +3 -3
  438. data/generated/google/apis/securitycenter_v1p1alpha1.rb +4 -4
  439. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +279 -80
  440. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +52 -0
  441. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +23 -9
  442. data/generated/google/apis/securitycenter_v1p1beta1.rb +4 -4
  443. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +105 -13
  444. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +18 -0
  445. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  446. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +4170 -0
  447. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1308 -0
  448. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +428 -0
  449. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1.rb → serviceconsumermanagement_v1beta1.rb} +8 -9
  450. data/generated/google/apis/servicecontrol_v1/classes.rb +2 -2
  451. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  452. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +800 -0
  453. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +304 -0
  454. data/generated/google/apis/servicedirectory_v1beta1/service.rb +992 -0
  455. data/generated/google/apis/{proximitybeacon_v1beta1.rb → servicedirectory_v1beta1.rb} +11 -10
  456. data/generated/google/apis/servicemanagement_v1/classes.rb +135 -7
  457. data/generated/google/apis/servicemanagement_v1/representations.rb +19 -0
  458. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  459. data/generated/google/apis/servicenetworking_v1/classes.rb +254 -6
  460. data/generated/google/apis/servicenetworking_v1/representations.rb +91 -0
  461. data/generated/google/apis/servicenetworking_v1/service.rb +53 -21
  462. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  463. data/generated/google/apis/servicenetworking_v1beta/classes.rb +205 -6
  464. data/generated/google/apis/servicenetworking_v1beta/representations.rb +74 -0
  465. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  466. data/generated/google/apis/serviceusage_v1/classes.rb +180 -13
  467. data/generated/google/apis/serviceusage_v1/representations.rb +62 -0
  468. data/generated/google/apis/serviceusage_v1/service.rb +42 -0
  469. data/generated/google/apis/serviceusage_v1.rb +1 -1
  470. data/generated/google/apis/serviceusage_v1beta1/classes.rb +407 -13
  471. data/generated/google/apis/serviceusage_v1beta1/representations.rb +150 -0
  472. data/generated/google/apis/serviceusage_v1beta1/service.rb +472 -0
  473. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  474. data/generated/google/apis/sheets_v4/classes.rb +2 -2
  475. data/generated/google/apis/sheets_v4.rb +1 -1
  476. data/generated/google/apis/slides_v1.rb +1 -1
  477. data/generated/google/apis/spanner_v1/classes.rb +501 -12
  478. data/generated/google/apis/spanner_v1/representations.rb +193 -0
  479. data/generated/google/apis/spanner_v1/service.rb +498 -10
  480. data/generated/google/apis/spanner_v1.rb +1 -1
  481. data/generated/google/apis/speech_v1/classes.rb +7 -3
  482. data/generated/google/apis/speech_v1/representations.rb +1 -0
  483. data/generated/google/apis/speech_v1.rb +1 -1
  484. data/generated/google/apis/speech_v1p1beta1/classes.rb +7 -3
  485. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  486. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  487. data/generated/google/apis/speech_v2beta1/classes.rb +7 -0
  488. data/generated/google/apis/speech_v2beta1/representations.rb +1 -0
  489. data/generated/google/apis/speech_v2beta1.rb +1 -1
  490. data/generated/google/apis/sql_v1beta4/classes.rb +3 -3
  491. data/generated/google/apis/sql_v1beta4/service.rb +54 -384
  492. data/generated/google/apis/sql_v1beta4.rb +1 -1
  493. data/generated/google/apis/storage_v1/classes.rb +18 -0
  494. data/generated/google/apis/storage_v1/representations.rb +2 -0
  495. data/generated/google/apis/storage_v1/service.rb +28 -3
  496. data/generated/google/apis/storage_v1.rb +1 -1
  497. data/generated/google/apis/storagetransfer_v1/classes.rb +279 -87
  498. data/generated/google/apis/storagetransfer_v1/representations.rb +52 -0
  499. data/generated/google/apis/storagetransfer_v1/service.rb +17 -11
  500. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  501. data/generated/google/apis/streetviewpublish_v1/service.rb +1 -1
  502. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  503. data/generated/google/apis/tagmanager_v1.rb +1 -1
  504. data/generated/google/apis/tagmanager_v2.rb +1 -1
  505. data/generated/google/apis/testing_v1/classes.rb +36 -1
  506. data/generated/google/apis/testing_v1/representations.rb +16 -0
  507. data/generated/google/apis/testing_v1.rb +1 -1
  508. data/generated/google/apis/texttospeech_v1.rb +1 -1
  509. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  510. data/generated/google/apis/toolresults_v1beta3/classes.rb +217 -0
  511. data/generated/google/apis/toolresults_v1beta3/representations.rb +84 -0
  512. data/generated/google/apis/toolresults_v1beta3/service.rb +76 -29
  513. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  514. data/generated/google/apis/tpu_v1.rb +1 -1
  515. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  516. data/generated/google/apis/translate_v3/classes.rb +6 -3
  517. data/generated/google/apis/translate_v3.rb +1 -1
  518. data/generated/google/apis/translate_v3beta1.rb +1 -1
  519. data/generated/google/apis/vault_v1.rb +1 -1
  520. data/generated/google/apis/videointelligence_v1/classes.rb +757 -17
  521. data/generated/google/apis/videointelligence_v1/representations.rb +356 -0
  522. data/generated/google/apis/videointelligence_v1.rb +1 -1
  523. data/generated/google/apis/videointelligence_v1beta2/classes.rb +757 -17
  524. data/generated/google/apis/videointelligence_v1beta2/representations.rb +356 -0
  525. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  526. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +757 -17
  527. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +356 -0
  528. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  529. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +757 -17
  530. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +356 -0
  531. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  532. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +757 -17
  533. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +356 -0
  534. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  535. data/generated/google/apis/vision_v1/classes.rb +1 -1
  536. data/generated/google/apis/vision_v1.rb +1 -1
  537. data/generated/google/apis/vision_v1p1beta1/classes.rb +1 -1
  538. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  539. data/generated/google/apis/vision_v1p2beta1/classes.rb +1 -1
  540. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  541. data/generated/google/apis/websecurityscanner_v1/classes.rb +6 -0
  542. data/generated/google/apis/websecurityscanner_v1/representations.rb +1 -0
  543. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  544. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +6 -0
  545. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +1 -0
  546. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  547. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  548. data/generated/google/apis/youtube_v3/classes.rb +79 -33
  549. data/generated/google/apis/youtube_v3/representations.rb +33 -4
  550. data/generated/google/apis/youtube_v3.rb +4 -1
  551. data/lib/google/apis/core/api_command.rb +4 -0
  552. data/lib/google/apis/generator/annotator.rb +1 -1
  553. data/lib/google/apis/version.rb +1 -1
  554. metadata +60 -27
  555. data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +0 -358
  556. data/generated/google/apis/cloudprivatecatalog_v1beta1/representations.rb +0 -123
  557. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +0 -486
  558. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +0 -1081
  559. data/generated/google/apis/mirror_v1/classes.rb +0 -1072
  560. data/generated/google/apis/mirror_v1/representations.rb +0 -390
  561. data/generated/google/apis/mirror_v1/service.rb +0 -928
  562. data/generated/google/apis/oauth2_v1/classes.rb +0 -197
  563. data/generated/google/apis/oauth2_v1/service.rb +0 -160
  564. data/generated/google/apis/oauth2_v1.rb +0 -40
  565. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +0 -845
  566. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +0 -350
  567. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +0 -933
  568. data/generated/google/apis/toolresults_v1/classes.rb +0 -696
  569. data/generated/google/apis/toolresults_v1/representations.rb +0 -438
  570. data/generated/google/apis/toolresults_v1/service.rb +0 -59
@@ -1207,8 +1207,7 @@ module Google
1207
1207
  # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1208
1208
  # the request will fail if you attempt to attach a persistent disk in any other
1209
1209
  # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1210
- # characteristics of SCSI over NVMe, see Local SSD performance. TODO(b/131765817)
1211
- # : Update documentation when NVME is supported.
1210
+ # characteristics of SCSI over NVMe, see Local SSD performance.
1212
1211
  # Corresponds to the JSON property `interface`
1213
1212
  # @return [String]
1214
1213
  attr_accessor :interface
@@ -1230,6 +1229,12 @@ module Google
1230
1229
  # @return [String]
1231
1230
  attr_accessor :mode
1232
1231
 
1232
+ # Initial State for shielded instance, these are public keys which are safe to
1233
+ # store in public
1234
+ # Corresponds to the JSON property `shieldedInstanceInitialState`
1235
+ # @return [Google::Apis::ComputeV1::InitialStateConfig]
1236
+ attr_accessor :shielded_instance_initial_state
1237
+
1233
1238
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1234
1239
  # When creating a new instance, one of initializeParams.sourceImage or
1235
1240
  # initializeParams.sourceSnapshot or disks.source is required except for local
@@ -1266,6 +1271,7 @@ module Google
1266
1271
  @kind = args[:kind] if args.key?(:kind)
1267
1272
  @licenses = args[:licenses] if args.key?(:licenses)
1268
1273
  @mode = args[:mode] if args.key?(:mode)
1274
+ @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
1269
1275
  @source = args[:source] if args.key?(:source)
1270
1276
  @type = args[:type] if args.key?(:type)
1271
1277
  end
@@ -1285,8 +1291,9 @@ module Google
1285
1291
  attr_accessor :description
1286
1292
 
1287
1293
  # Specifies the disk name. If not specified, the default is to use the name of
1288
- # the instance. If the disk with the instance name exists already in the given
1289
- # zone/region, a new name will be automatically generated.
1294
+ # the instance. If a disk with the same name already exists in the given region,
1295
+ # the existing disk is attached to the new instance and the new disk is not
1296
+ # created.
1290
1297
  # Corresponds to the JSON property `diskName`
1291
1298
  # @return [String]
1292
1299
  attr_accessor :disk_name
@@ -1321,6 +1328,12 @@ module Google
1321
1328
  # @return [Hash<String,String>]
1322
1329
  attr_accessor :labels
1323
1330
 
1331
+ # Specifies which action to take on instance update with this disk. Default is
1332
+ # to use the existing disk.
1333
+ # Corresponds to the JSON property `onUpdateAction`
1334
+ # @return [String]
1335
+ attr_accessor :on_update_action
1336
+
1324
1337
  # Resource policies applied to this disk for automatic snapshot creations.
1325
1338
  # Specified using the full or partial URL. For instance template, specify only
1326
1339
  # the resource policy name.
@@ -1381,6 +1394,7 @@ module Google
1381
1394
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1382
1395
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1383
1396
  @labels = args[:labels] if args.key?(:labels)
1397
+ @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1384
1398
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1385
1399
  @source_image = args[:source_image] if args.key?(:source_image)
1386
1400
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
@@ -1496,8 +1510,8 @@ module Google
1496
1510
 
1497
1511
  # Represents an Autoscaler resource.
1498
1512
  # Google Compute Engine has two Autoscaler resources:
1499
- # * [Global](/compute/docs/reference/rest/latest/autoscalers) * [Regional](/
1500
- # compute/docs/reference/rest/latest/regionAutoscalers)
1513
+ # * [Global](/compute/docs/reference/rest/`$api_version`/autoscalers) * [
1514
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionAutoscalers)
1501
1515
  # Use autoscalers to automatically add or delete instances from a managed
1502
1516
  # instance group according to your defined autoscaling policy. For more
1503
1517
  # information, read Autoscaling Groups of Instances.
@@ -2175,8 +2189,8 @@ module Google
2175
2189
  # service is SSL, TCP, or UDP.
2176
2190
  # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and
2177
2191
  # TCP Proxy load balancers), you must also specify exactly one of the following
2178
- # parameters: maxConnections, maxConnectionsPerInstance, or
2179
- # maxConnectionsPerEndpoint.
2192
+ # parameters: maxConnections (except for regional managed instance groups),
2193
+ # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2180
2194
  # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2181
2195
  # UDP load balancers), you cannot specify any additional parameters.
2182
2196
  #
@@ -2184,10 +2198,11 @@ module Google
2184
2198
  # HTTP requests per second (RPS).
2185
2199
  # You can use the RATE balancing mode if the protocol for the backend service is
2186
2200
  # HTTP or HTTPS. You must specify exactly one of the following parameters:
2187
- # maxRate, maxRatePerInstance, or maxRatePerEndpoint.
2201
+ # maxRate (except for regional managed instance groups), maxRatePerInstance, or
2202
+ # maxRatePerEndpoint.
2188
2203
  #
2189
2204
  # - If the load balancing mode is UTILIZATION, the load is spread based on the
2190
- # CPU utilization of instances in an instance group.
2205
+ # backend utilization of instances in an instance group.
2191
2206
  # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2192
2207
  # backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and
2193
2208
  # the backends are instance groups. There are no restrictions on the backend
@@ -2212,6 +2227,13 @@ module Google
2212
2227
  # @return [String]
2213
2228
  attr_accessor :description
2214
2229
 
2230
+ # This field designates whether this is a failover backend. More than one
2231
+ # failover backend can be configured for a given BackendService.
2232
+ # Corresponds to the JSON property `failover`
2233
+ # @return [Boolean]
2234
+ attr_accessor :failover
2235
+ alias_method :failover?, :failover
2236
+
2215
2237
  # The fully-qualified URL of an instance group or network endpoint group (NEG)
2216
2238
  # resource. The type of backend that a backend service supports depends on the
2217
2239
  # backend service's loadBalancingScheme.
@@ -2230,12 +2252,13 @@ module Google
2230
2252
  # @return [String]
2231
2253
  attr_accessor :group
2232
2254
 
2233
- # Defines a maximum target for simultaneous connections for the entire backend (
2234
- # instance group or NEG). If the backend's balancingMode is UTILIZATION, this is
2235
- # an optional parameter. If the backend's balancingMode is CONNECTION, and
2236
- # backend is attached to a backend service whose loadBalancingScheme is EXTERNAL,
2237
- # you must specify either this parameter, maxConnectionsPerInstance, or
2238
- # maxConnectionsPerEndpoint.
2255
+ # Defines a target maximum number of simultaneous connections that the backend
2256
+ # can handle. Valid for network endpoint group and instance group backends (
2257
+ # except for regional managed instance groups). If the backend's balancingMode
2258
+ # is UTILIZATION, this is an optional parameter. If the backend's balancingMode
2259
+ # is CONNECTION, and backend is attached to a backend service whose
2260
+ # loadBalancingScheme is EXTERNAL, you must specify either this parameter,
2261
+ # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2239
2262
  # Not available if the backend's balancingMode is RATE. If the
2240
2263
  # loadBalancingScheme is INTERNAL, then maxConnections is not supported, even
2241
2264
  # though the backend requires a balancing mode of CONNECTION.
@@ -2243,8 +2266,8 @@ module Google
2243
2266
  # @return [Fixnum]
2244
2267
  attr_accessor :max_connections
2245
2268
 
2246
- # Defines a maximum target for simultaneous connections for an endpoint of a NEG.
2247
- # This is multiplied by the number of endpoints in the NEG to implicitly
2269
+ # Defines a target maximum number of simultaneous connections for an endpoint of
2270
+ # a NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2248
2271
  # calculate a maximum number of target maximum simultaneous connections for the
2249
2272
  # NEG. If the backend's balancingMode is CONNECTION, and the backend is attached
2250
2273
  # to a backend service whose loadBalancingScheme is EXTERNAL, you must specify
@@ -2256,8 +2279,8 @@ module Google
2256
2279
  # @return [Fixnum]
2257
2280
  attr_accessor :max_connections_per_endpoint
2258
2281
 
2259
- # Defines a maximum target for simultaneous connections for a single VM in a
2260
- # backend instance group. This is multiplied by the number of instances in the
2282
+ # Defines a target maximum number of simultaneous connections for a single VM in
2283
+ # a backend instance group. This is multiplied by the number of instances in the
2261
2284
  # instance group to implicitly calculate a target maximum number of simultaneous
2262
2285
  # connections for the whole instance group. If the backend's balancingMode is
2263
2286
  # UTILIZATION, this is an optional parameter. If the backend's balancingMode is
@@ -2271,10 +2294,15 @@ module Google
2271
2294
  # @return [Fixnum]
2272
2295
  attr_accessor :max_connections_per_instance
2273
2296
 
2274
- # The max requests per second (RPS) of the group. Can be used with either RATE
2275
- # or UTILIZATION balancing modes, but required if RATE mode. For RATE mode,
2276
- # either maxRate or maxRatePerInstance must be set.
2277
- # This cannot be used for internal load balancing.
2297
+ # Defines a maximum number of HTTP requests per second (RPS) that the backend
2298
+ # can handle. Valid for network endpoint group and instance group backends (
2299
+ # except for regional managed instance groups). Must not be defined if the
2300
+ # backend is a managed instance group that uses autoscaling based on load
2301
+ # balancing.
2302
+ # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2303
+ # If the backend's balancingMode is RATE, you must specify maxRate,
2304
+ # maxRatePerInstance, or maxRatePerEndpoint.
2305
+ # Not available if the backend's balancingMode is CONNECTION.
2278
2306
  # Corresponds to the JSON property `maxRate`
2279
2307
  # @return [Fixnum]
2280
2308
  attr_accessor :max_rate
@@ -2283,7 +2311,7 @@ module Google
2283
2311
  # NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2284
2312
  # calculate a target maximum rate for the NEG.
2285
2313
  # If the backend's balancingMode is RATE, you must specify either this parameter,
2286
- # maxRate, or maxRatePerInstance.
2314
+ # maxRate (except for regional managed instance groups), or maxRatePerInstance.
2287
2315
  # Not available if the backend's balancingMode is CONNECTION.
2288
2316
  # Corresponds to the JSON property `maxRatePerEndpoint`
2289
2317
  # @return [Float]
@@ -2295,17 +2323,18 @@ module Google
2295
2323
  # instance group.
2296
2324
  # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2297
2325
  # If the backend's balancingMode is RATE, you must specify either this parameter,
2298
- # maxRate, or maxRatePerEndpoint.
2326
+ # maxRate (except for regional managed instance groups), or maxRatePerEndpoint.
2299
2327
  # Not available if the backend's balancingMode is CONNECTION.
2300
2328
  # Corresponds to the JSON property `maxRatePerInstance`
2301
2329
  # @return [Float]
2302
2330
  attr_accessor :max_rate_per_instance
2303
2331
 
2304
- # Defines the maximum average CPU utilization of a backend VM in an instance
2332
+ # Defines the maximum average backend utilization of a backend VM in an instance
2305
2333
  # group. The valid range is [0.0, 1.0]. This is an optional parameter if the
2306
2334
  # backend's balancingMode is UTILIZATION.
2307
2335
  # This parameter can be used in conjunction with maxRate, maxRatePerInstance,
2308
- # maxConnections, or maxConnectionsPerInstance.
2336
+ # maxConnections (except for regional managed instance groups), or
2337
+ # maxConnectionsPerInstance.
2309
2338
  # Corresponds to the JSON property `maxUtilization`
2310
2339
  # @return [Float]
2311
2340
  attr_accessor :max_utilization
@@ -2319,6 +2348,7 @@ module Google
2319
2348
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2320
2349
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2321
2350
  @description = args[:description] if args.key?(:description)
2351
+ @failover = args[:failover] if args.key?(:failover)
2322
2352
  @group = args[:group] if args.key?(:group)
2323
2353
  @max_connections = args[:max_connections] if args.key?(:max_connections)
2324
2354
  @max_connections_per_endpoint = args[:max_connections_per_endpoint] if args.key?(:max_connections_per_endpoint)
@@ -2559,8 +2589,8 @@ module Google
2559
2589
  # balancing services.
2560
2590
  # Backend services in Google Compute Engine can be either regionally or globally
2561
2591
  # scoped.
2562
- # * [Global](/compute/docs/reference/rest/latest/backendServices) * [Regional](/
2563
- # compute/docs/reference/rest/latest/regionBackendServices)
2592
+ # * [Global](/compute/docs/reference/rest/`$api_version`/backendServices) * [
2593
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionBackendServices)
2564
2594
  # For more information, read Backend Services.
2565
2595
  # (== resource_for `$api_version`.backendService ==)
2566
2596
  class BackendService
@@ -2620,6 +2650,17 @@ module Google
2620
2650
  attr_accessor :enable_cdn
2621
2651
  alias_method :enable_cdn?, :enable_cdn
2622
2652
 
2653
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
2654
+ # or failback, this field indicates whether connection draining will be honored.
2655
+ # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
2656
+ # terminates existing TCP connections to the active pool during failover and
2657
+ # failback, immediately draining traffic. A setting of false allows existing TCP
2658
+ # connections to persist, even on VMs no longer in the active pool, for up to
2659
+ # the duration of the connection draining timeout (10 minutes).
2660
+ # Corresponds to the JSON property `failoverPolicy`
2661
+ # @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
2662
+ attr_accessor :failover_policy
2663
+
2623
2664
  # Fingerprint of this resource. A hash of the contents stored in this object.
2624
2665
  # This field is used in optimistic locking. This field will be ignored when
2625
2666
  # inserting a BackendService. An up-to-date fingerprint must be provided in
@@ -2632,15 +2673,13 @@ module Google
2632
2673
  # @return [String]
2633
2674
  attr_accessor :fingerprint
2634
2675
 
2635
- # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
2636
- # health checking this BackendService. Currently at most one health check can be
2637
- # specified. Health check is optional for Compute Engine backend services if
2638
- # there is no backend. A health check must not be specified when adding Internet
2639
- # Network Endpoint Group or Serverless Network Endpoint Group as backends. In
2640
- # all other cases, a health check is required for Compute Engine backend
2641
- # services.
2642
- # For internal load balancing, a URL to a HealthCheck resource must be specified
2643
- # instead.
2676
+ # The list of URLs to the healthChecks, httpHealthChecks (legacy), or
2677
+ # httpsHealthChecks (legacy) resource for health checking this backend service.
2678
+ # Not all backend services support legacy health checks. See Load balancer
2679
+ # guide. Currently at most one health check can be specified. Backend services
2680
+ # with instance group or zonal NEG backends must have a health check. Backend
2681
+ # services with internet NEG backends must not have a health check. A health
2682
+ # check must
2644
2683
  # Corresponds to the JSON property `healthChecks`
2645
2684
  # @return [Array<String>]
2646
2685
  attr_accessor :health_checks
@@ -2701,6 +2740,12 @@ module Google
2701
2740
  # @return [String]
2702
2741
  attr_accessor :locality_lb_policy
2703
2742
 
2743
+ # The available logging options for the load balancer traffic served by this
2744
+ # backend service.
2745
+ # Corresponds to the JSON property `logConfig`
2746
+ # @return [Google::Apis::ComputeV1::BackendServiceLogConfig]
2747
+ attr_accessor :log_config
2748
+
2704
2749
  # Name of the resource. Provided by the client when the resource is created. The
2705
2750
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2706
2751
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -2711,6 +2756,12 @@ module Google
2711
2756
  # @return [String]
2712
2757
  attr_accessor :name
2713
2758
 
2759
+ # The URL of the network to which this backend service belongs. This field can
2760
+ # only be spcified when the load balancing scheme is set to INTERNAL.
2761
+ # Corresponds to the JSON property `network`
2762
+ # @return [String]
2763
+ attr_accessor :network
2764
+
2714
2765
  # Settings controlling the eviction of unhealthy hosts from the load balancing
2715
2766
  # pool for the backend service.
2716
2767
  # Corresponds to the JSON property `outlierDetection`
@@ -2727,9 +2778,9 @@ module Google
2727
2778
 
2728
2779
  # A named port on a backend instance group representing the port for
2729
2780
  # communication to the backend VMs in that group. Required when the
2730
- # loadBalancingScheme is EXTERNAL and the backends are instance groups. The
2731
- # named port must be defined on each backend instance group. This parameter has
2732
- # no meaning if the backends are NEGs.
2781
+ # loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
2782
+ # and the backends are instance groups. The named port must be defined on each
2783
+ # backend instance group. This parameter has no meaning if the backends are NEGs.
2733
2784
  # Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP
2734
2785
  # Load Blaancing).
2735
2786
  # Corresponds to the JSON property `portName`
@@ -2737,7 +2788,7 @@ module Google
2737
2788
  attr_accessor :port_name
2738
2789
 
2739
2790
  # The protocol this BackendService uses to communicate with backends.
2740
- # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2791
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP. depending on the
2741
2792
  # chosen load balancer or Traffic Director configuration. Refer to the
2742
2793
  # documentation for the load balancer or for Traffic Director for more
2743
2794
  # information.
@@ -2801,6 +2852,7 @@ module Google
2801
2852
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
2802
2853
  @description = args[:description] if args.key?(:description)
2803
2854
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
2855
+ @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
2804
2856
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2805
2857
  @health_checks = args[:health_checks] if args.key?(:health_checks)
2806
2858
  @iap = args[:iap] if args.key?(:iap)
@@ -2808,7 +2860,9 @@ module Google
2808
2860
  @kind = args[:kind] if args.key?(:kind)
2809
2861
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
2810
2862
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
2863
+ @log_config = args[:log_config] if args.key?(:log_config)
2811
2864
  @name = args[:name] if args.key?(:name)
2865
+ @network = args[:network] if args.key?(:network)
2812
2866
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
2813
2867
  @port = args[:port] if args.key?(:port)
2814
2868
  @port_name = args[:port_name] if args.key?(:port_name)
@@ -2976,6 +3030,55 @@ module Google
2976
3030
  end
2977
3031
  end
2978
3032
 
3033
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
3034
+ # or failback, this field indicates whether connection draining will be honored.
3035
+ # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
3036
+ # terminates existing TCP connections to the active pool during failover and
3037
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3038
+ # connections to persist, even on VMs no longer in the active pool, for up to
3039
+ # the duration of the connection draining timeout (10 minutes).
3040
+ class BackendServiceFailoverPolicy
3041
+ include Google::Apis::Core::Hashable
3042
+
3043
+ # This can be set to true only if the protocol is TCP.
3044
+ # The default is false.
3045
+ # Corresponds to the JSON property `disableConnectionDrainOnFailover`
3046
+ # @return [Boolean]
3047
+ attr_accessor :disable_connection_drain_on_failover
3048
+ alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover
3049
+
3050
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to
3051
+ # true, connections to the load balancer are dropped when all primary and all
3052
+ # backup backend VMs are unhealthy. If set to false, connections are distributed
3053
+ # among all primary VMs when all primary and all backup backend VMs are
3054
+ # unhealthy.
3055
+ # The default is false.
3056
+ # Corresponds to the JSON property `dropTrafficIfUnhealthy`
3057
+ # @return [Boolean]
3058
+ attr_accessor :drop_traffic_if_unhealthy
3059
+ alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy
3060
+
3061
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of
3062
+ # the field must be in the range [0, 1]. If the value is 0, the load balancer
3063
+ # performs a failover when the number of healthy primary VMs equals zero. For
3064
+ # all other values, the load balancer performs a failover when the total number
3065
+ # of healthy primary VMs is less than this ratio.
3066
+ # Corresponds to the JSON property `failoverRatio`
3067
+ # @return [Float]
3068
+ attr_accessor :failover_ratio
3069
+
3070
+ def initialize(**args)
3071
+ update!(**args)
3072
+ end
3073
+
3074
+ # Update properties of this object
3075
+ def update!(**args)
3076
+ @disable_connection_drain_on_failover = args[:disable_connection_drain_on_failover] if args.key?(:disable_connection_drain_on_failover)
3077
+ @drop_traffic_if_unhealthy = args[:drop_traffic_if_unhealthy] if args.key?(:drop_traffic_if_unhealthy)
3078
+ @failover_ratio = args[:failover_ratio] if args.key?(:failover_ratio)
3079
+ end
3080
+ end
3081
+
2979
3082
  #
2980
3083
  class BackendServiceGroupHealth
2981
3084
  include Google::Apis::Core::Hashable
@@ -3159,6 +3262,38 @@ module Google
3159
3262
  end
3160
3263
  end
3161
3264
 
3265
+ # The available logging options for the load balancer traffic served by this
3266
+ # backend service.
3267
+ class BackendServiceLogConfig
3268
+ include Google::Apis::Core::Hashable
3269
+
3270
+ # This field denotes whether to enable logging for the load balancer traffic
3271
+ # served by this backend service.
3272
+ # Corresponds to the JSON property `enable`
3273
+ # @return [Boolean]
3274
+ attr_accessor :enable
3275
+ alias_method :enable?, :enable
3276
+
3277
+ # This field can only be specified if logging is enabled for this backend
3278
+ # service. The value of the field must be in [0, 1]. This configures the
3279
+ # sampling rate of requests to the load balancer where 1.0 means all logged
3280
+ # requests are reported and 0.0 means no logged requests are reported. The
3281
+ # default value is 1.0.
3282
+ # Corresponds to the JSON property `sampleRate`
3283
+ # @return [Float]
3284
+ attr_accessor :sample_rate
3285
+
3286
+ def initialize(**args)
3287
+ update!(**args)
3288
+ end
3289
+
3290
+ # Update properties of this object
3291
+ def update!(**args)
3292
+ @enable = args[:enable] if args.key?(:enable)
3293
+ @sample_rate = args[:sample_rate] if args.key?(:sample_rate)
3294
+ end
3295
+ end
3296
+
3162
3297
  #
3163
3298
  class BackendServiceReference
3164
3299
  include Google::Apis::Core::Hashable
@@ -3273,9 +3408,26 @@ module Google
3273
3408
  class Binding
3274
3409
  include Google::Apis::Core::Hashable
3275
3410
 
3276
- # Represents an expression text. Example:
3277
- # title: "User account presence" description: "Determines whether the request
3278
- # has a user account" expression: "size(request.user) > 0"
3411
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
3412
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
3413
+ # documented at https://github.com/google/cel-spec.
3414
+ # Example (Comparison):
3415
+ # title: "Summary size limit" description: "Determines if a summary is less than
3416
+ # 100 chars" expression: "document.summary.size() < 100"
3417
+ # Example (Equality):
3418
+ # title: "Requestor is owner" description: "Determines if requestor is the
3419
+ # document owner" expression: "document.owner == request.auth.claims.email"
3420
+ # Example (Logic):
3421
+ # title: "Public documents" description: "Determine whether the document should
3422
+ # be publicly visible" expression: "document.type != 'private' && document.type !
3423
+ # = 'internal'"
3424
+ # Example (Data Manipulation):
3425
+ # title: "Notification string" description: "Create a notification string with a
3426
+ # timestamp." expression: "'New message received at ' + string(document.
3427
+ # create_time)"
3428
+ # The exact variables and functions that may be referenced within an expression
3429
+ # are determined by the service that evaluates it. See the service documentation
3430
+ # for additional information.
3279
3431
  # Corresponds to the JSON property `condition`
3280
3432
  # @return [Google::Apis::ComputeV1::Expr]
3281
3433
  attr_accessor :condition
@@ -4123,6 +4275,12 @@ module Google
4123
4275
  # @return [String]
4124
4276
  attr_accessor :kms_key_name
4125
4277
 
4278
+ # The service account being used for the encryption request for the given KMS
4279
+ # key. If absent, the Compute Engine default service account is used.
4280
+ # Corresponds to the JSON property `kmsKeyServiceAccount`
4281
+ # @return [String]
4282
+ attr_accessor :kms_key_service_account
4283
+
4126
4284
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
4127
4285
  # base64 to either encrypt or decrypt this resource.
4128
4286
  # Corresponds to the JSON property `rawKey`
@@ -4142,6 +4300,7 @@ module Google
4142
4300
  # Update properties of this object
4143
4301
  def update!(**args)
4144
4302
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
4303
+ @kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account)
4145
4304
  @raw_key = args[:raw_key] if args.key?(:raw_key)
4146
4305
  @sha256 = args[:sha256] if args.key?(:sha256)
4147
4306
  end
@@ -4231,8 +4390,8 @@ module Google
4231
4390
 
4232
4391
  # Represents a Persistent Disk resource.
4233
4392
  # Google Compute Engine has two Disk resources:
4234
- # * [Global](/compute/docs/reference/rest/latest/disks) * [Regional](/compute/
4235
- # docs/reference/rest/latest/regionDisks)
4393
+ # * [Zonal](/compute/docs/reference/rest/`$api_version`/disks) * [Regional](/
4394
+ # compute/docs/reference/rest/`$api_version`/regionDisks)
4236
4395
  # Persistent disks are required for running your VM instances. Create both boot
4237
4396
  # and non-boot (data) persistent disks. For more information, read Persistent
4238
4397
  # Disks. For more storage options, read Storage options.
@@ -4819,8 +4978,8 @@ module Google
4819
4978
 
4820
4979
  # Represents a Disk Type resource.
4821
4980
  # Google Compute Engine has two Disk Type resources:
4822
- # * [Global](/compute/docs/reference/rest/latest/diskTypes) * [Regional](/
4823
- # compute/docs/reference/rest/latest/regionDiskTypes)
4981
+ # * [Regional](/compute/docs/reference/rest/`$api_version`/regionDiskTypes) * [
4982
+ # Zonal](/compute/docs/reference/rest/`$api_version`/diskTypes)
4824
4983
  # You can choose from a variety of disk types based on your needs. For more
4825
4984
  # information, read Storage options.
4826
4985
  # The diskTypes resource represents disk types for a zonal persistent disk. For
@@ -5643,33 +5802,48 @@ module Google
5643
5802
  end
5644
5803
  end
5645
5804
 
5646
- # Represents an expression text. Example:
5647
- # title: "User account presence" description: "Determines whether the request
5648
- # has a user account" expression: "size(request.user) > 0"
5805
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
5806
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
5807
+ # documented at https://github.com/google/cel-spec.
5808
+ # Example (Comparison):
5809
+ # title: "Summary size limit" description: "Determines if a summary is less than
5810
+ # 100 chars" expression: "document.summary.size() < 100"
5811
+ # Example (Equality):
5812
+ # title: "Requestor is owner" description: "Determines if requestor is the
5813
+ # document owner" expression: "document.owner == request.auth.claims.email"
5814
+ # Example (Logic):
5815
+ # title: "Public documents" description: "Determine whether the document should
5816
+ # be publicly visible" expression: "document.type != 'private' && document.type !
5817
+ # = 'internal'"
5818
+ # Example (Data Manipulation):
5819
+ # title: "Notification string" description: "Create a notification string with a
5820
+ # timestamp." expression: "'New message received at ' + string(document.
5821
+ # create_time)"
5822
+ # The exact variables and functions that may be referenced within an expression
5823
+ # are determined by the service that evaluates it. See the service documentation
5824
+ # for additional information.
5649
5825
  class Expr
5650
5826
  include Google::Apis::Core::Hashable
5651
5827
 
5652
- # An optional description of the expression. This is a longer text which
5653
- # describes the expression, e.g. when hovered over it in a UI.
5828
+ # Optional. Description of the expression. This is a longer text which describes
5829
+ # the expression, e.g. when hovered over it in a UI.
5654
5830
  # Corresponds to the JSON property `description`
5655
5831
  # @return [String]
5656
5832
  attr_accessor :description
5657
5833
 
5658
5834
  # Textual representation of an expression in Common Expression Language syntax.
5659
- # The application context of the containing message determines which well-known
5660
- # feature set of CEL is supported.
5661
5835
  # Corresponds to the JSON property `expression`
5662
5836
  # @return [String]
5663
5837
  attr_accessor :expression
5664
5838
 
5665
- # An optional string indicating the location of the expression for error
5666
- # reporting, e.g. a file name and a position in the file.
5839
+ # Optional. String indicating the location of the expression for error reporting,
5840
+ # e.g. a file name and a position in the file.
5667
5841
  # Corresponds to the JSON property `location`
5668
5842
  # @return [String]
5669
5843
  attr_accessor :location
5670
5844
 
5671
- # An optional title for the expression, i.e. a short string describing its
5672
- # purpose. This can be used e.g. in UIs which allow to enter the expression.
5845
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
5846
+ # This can be used e.g. in UIs which allow to enter the expression.
5673
5847
  # Corresponds to the JSON property `title`
5674
5848
  # @return [String]
5675
5849
  attr_accessor :title
@@ -5938,6 +6112,32 @@ module Google
5938
6112
  end
5939
6113
  end
5940
6114
 
6115
+ #
6116
+ class FileContentBuffer
6117
+ include Google::Apis::Core::Hashable
6118
+
6119
+ # The raw content in the secure keys file.
6120
+ # Corresponds to the JSON property `content`
6121
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
6122
+ # @return [String]
6123
+ attr_accessor :content
6124
+
6125
+ #
6126
+ # Corresponds to the JSON property `fileType`
6127
+ # @return [String]
6128
+ attr_accessor :file_type
6129
+
6130
+ def initialize(**args)
6131
+ update!(**args)
6132
+ end
6133
+
6134
+ # Update properties of this object
6135
+ def update!(**args)
6136
+ @content = args[:content] if args.key?(:content)
6137
+ @file_type = args[:file_type] if args.key?(:file_type)
6138
+ end
6139
+ end
6140
+
5941
6141
  # Represents a Firewall Rule resource.
5942
6142
  # Firewall rules allow or deny ingress traffic to, and egress traffic from your
5943
6143
  # instances. For more information, read Firewall rules.
@@ -6375,8 +6575,8 @@ module Google
6375
6575
 
6376
6576
  # Represents a Forwarding Rule resource.
6377
6577
  # Forwarding rule resources in GCP can be either regional or global in scope:
6378
- # * [Global](/compute/docs/reference/rest/latest/globalForwardingRules) * [
6379
- # Regional](/compute/docs/reference/rest/latest/forwardingRules)
6578
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalForwardingRules) *
6579
+ # [Regional](/compute/docs/reference/rest/`$api_version`/forwardingRules)
6380
6580
  # A forwarding rule and its corresponding IP address represent the frontend
6381
6581
  # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6382
6582
  # also reference target instances and Cloud VPN Classic gateways (
@@ -6512,7 +6712,7 @@ module Google
6512
6712
  # - Internal TCP/UDP load balancers
6513
6713
  # - INTERNAL_MANAGED is used for:
6514
6714
  # - Internal HTTP(S) load balancers
6515
- # - >INTERNAL_SELF_MANAGED is used for:
6715
+ # - INTERNAL_SELF_MANAGED is used for:
6516
6716
  # - Traffic Director
6517
6717
  # For more information about forwarding rules, refer to Forwarding rule concepts.
6518
6718
  # Corresponds to the JSON property `loadBalancingScheme`
@@ -6557,7 +6757,7 @@ module Google
6557
6757
  attr_accessor :network
6558
6758
 
6559
6759
  # This signifies the networking tier used for configuring this load balancer and
6560
- # can only take the following values: PREMIUM , STANDARD.
6760
+ # can only take the following values: PREMIUM, STANDARD.
6561
6761
  # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For
6562
6762
  # GlobalForwardingRule, the valid value is PREMIUM.
6563
6763
  # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is
@@ -7032,6 +7232,44 @@ module Google
7032
7232
  end
7033
7233
  end
7034
7234
 
7235
+ #
7236
+ class GlobalNetworkEndpointGroupsAttachEndpointsRequest
7237
+ include Google::Apis::Core::Hashable
7238
+
7239
+ # The list of network endpoints to be attached.
7240
+ # Corresponds to the JSON property `networkEndpoints`
7241
+ # @return [Array<Google::Apis::ComputeV1::NetworkEndpoint>]
7242
+ attr_accessor :network_endpoints
7243
+
7244
+ def initialize(**args)
7245
+ update!(**args)
7246
+ end
7247
+
7248
+ # Update properties of this object
7249
+ def update!(**args)
7250
+ @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
7251
+ end
7252
+ end
7253
+
7254
+ #
7255
+ class GlobalNetworkEndpointGroupsDetachEndpointsRequest
7256
+ include Google::Apis::Core::Hashable
7257
+
7258
+ # The list of network endpoints to be detached.
7259
+ # Corresponds to the JSON property `networkEndpoints`
7260
+ # @return [Array<Google::Apis::ComputeV1::NetworkEndpoint>]
7261
+ attr_accessor :network_endpoints
7262
+
7263
+ def initialize(**args)
7264
+ update!(**args)
7265
+ end
7266
+
7267
+ # Update properties of this object
7268
+ def update!(**args)
7269
+ @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
7270
+ end
7271
+ end
7272
+
7035
7273
  #
7036
7274
  class GlobalSetLabelsRequest
7037
7275
  include Google::Apis::Core::Hashable
@@ -7463,8 +7701,8 @@ module Google
7463
7701
 
7464
7702
  # Represents a Health Check resource.
7465
7703
  # Google Compute Engine has two Health Check resources:
7466
- # * [Global](/compute/docs/reference/rest/latest/healthChecks) * [Regional](/
7467
- # compute/docs/reference/rest/latest/regionHealthChecks)
7704
+ # * [Global](/compute/docs/reference/rest/`$api_version`/healthChecks) * [
7705
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionHealthChecks)
7468
7706
  # Internal HTTP(S) load balancers use regional health checks. All other types of
7469
7707
  # GCP load balancers and managed instance group auto-healing use global health
7470
7708
  # checks. For more information, read Health Check Concepts.
@@ -7961,12 +8199,13 @@ module Google
7961
8199
  # @return [String]
7962
8200
  attr_accessor :instance
7963
8201
 
7964
- # The IP address represented by this resource.
8202
+ # A forwarding rule IP address assigned to this instance.
7965
8203
  # Corresponds to the JSON property `ipAddress`
7966
8204
  # @return [String]
7967
8205
  attr_accessor :ip_address
7968
8206
 
7969
- # The port on the instance.
8207
+ # The named port of the instance group, not necessarily the port that is health-
8208
+ # checked.
7970
8209
  # Corresponds to the JSON property `port`
7971
8210
  # @return [Fixnum]
7972
8211
  attr_accessor :port
@@ -8040,9 +8279,10 @@ module Google
8040
8279
  # @return [String]
8041
8280
  attr_accessor :description
8042
8281
 
8043
- # The list of host patterns to match. They must be valid hostnames, except *
8044
- # will match any string of ([a-z0-9-.]*). In that case, * must be the first
8045
- # character and must be followed in the pattern by either - or ..
8282
+ # The list of host patterns to match. They must be valid hostnames with optional
8283
+ # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
8284
+ # In that case, * must be the first character and must be followed in the
8285
+ # pattern by either - or ..
8046
8286
  # Corresponds to the JSON property `hosts`
8047
8287
  # @return [Array<String>]
8048
8288
  attr_accessor :hosts
@@ -9309,6 +9549,12 @@ module Google
9309
9549
  # @return [String]
9310
9550
  attr_accessor :self_link
9311
9551
 
9552
+ # Initial State for shielded instance, these are public keys which are safe to
9553
+ # store in public
9554
+ # Corresponds to the JSON property `shieldedInstanceInitialState`
9555
+ # @return [Google::Apis::ComputeV1::InitialStateConfig]
9556
+ attr_accessor :shielded_instance_initial_state
9557
+
9312
9558
  # URL of the source disk used to create this image. This can be a full or valid
9313
9559
  # partial URL. You must provide either this property or the rawDisk.source
9314
9560
  # property but not both to create an image. For example, the following are valid
@@ -9418,6 +9664,7 @@ module Google
9418
9664
  @name = args[:name] if args.key?(:name)
9419
9665
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
9420
9666
  @self_link = args[:self_link] if args.key?(:self_link)
9667
+ @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
9421
9668
  @source_disk = args[:source_disk] if args.key?(:source_disk)
9422
9669
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
9423
9670
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
@@ -9585,6 +9832,44 @@ module Google
9585
9832
  end
9586
9833
  end
9587
9834
 
9835
+ # Initial State for shielded instance, these are public keys which are safe to
9836
+ # store in public
9837
+ class InitialStateConfig
9838
+ include Google::Apis::Core::Hashable
9839
+
9840
+ # The Key Database (db).
9841
+ # Corresponds to the JSON property `dbs`
9842
+ # @return [Array<Google::Apis::ComputeV1::FileContentBuffer>]
9843
+ attr_accessor :dbs
9844
+
9845
+ # The forbidden key database (dbx).
9846
+ # Corresponds to the JSON property `dbxs`
9847
+ # @return [Array<Google::Apis::ComputeV1::FileContentBuffer>]
9848
+ attr_accessor :dbxs
9849
+
9850
+ # The Key Exchange Key (KEK).
9851
+ # Corresponds to the JSON property `keks`
9852
+ # @return [Array<Google::Apis::ComputeV1::FileContentBuffer>]
9853
+ attr_accessor :keks
9854
+
9855
+ # The Platform Key (PK).
9856
+ # Corresponds to the JSON property `pk`
9857
+ # @return [Google::Apis::ComputeV1::FileContentBuffer]
9858
+ attr_accessor :pk
9859
+
9860
+ def initialize(**args)
9861
+ update!(**args)
9862
+ end
9863
+
9864
+ # Update properties of this object
9865
+ def update!(**args)
9866
+ @dbs = args[:dbs] if args.key?(:dbs)
9867
+ @dbxs = args[:dbxs] if args.key?(:dbxs)
9868
+ @keks = args[:keks] if args.key?(:keks)
9869
+ @pk = args[:pk] if args.key?(:pk)
9870
+ end
9871
+ end
9872
+
9588
9873
  # Represents an Instance resource.
9589
9874
  # An instance is a virtual machine that is hosted on Google Cloud Platform. For
9590
9875
  # more information, read Virtual Machine Instances. (== resource_for `$
@@ -9633,6 +9918,17 @@ module Google
9633
9918
  # @return [Google::Apis::ComputeV1::DisplayDevice]
9634
9919
  attr_accessor :display_device
9635
9920
 
9921
+ # Specifies a fingerprint for this resource, which is essentially a hash of the
9922
+ # instance's contents and used for optimistic locking. The fingerprint is
9923
+ # initially generated by Compute Engine and changes after every request to
9924
+ # modify or update the instance. You must always provide an up-to-date
9925
+ # fingerprint hash in order to update the instance.
9926
+ # To see the latest fingerprint, make get() request to the instance.
9927
+ # Corresponds to the JSON property `fingerprint`
9928
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9929
+ # @return [String]
9930
+ attr_accessor :fingerprint
9931
+
9636
9932
  # A list of the type and count of accelerator cards attached to the instance.
9637
9933
  # Corresponds to the JSON property `guestAccelerators`
9638
9934
  # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
@@ -9726,7 +10022,12 @@ module Google
9726
10022
  # @return [Google::Apis::ComputeV1::ReservationAffinity]
9727
10023
  attr_accessor :reservation_affinity
9728
10024
 
9729
- # Sets the scheduling options for an Instance. NextID: 9
10025
+ # Resource policies applied to this instance.
10026
+ # Corresponds to the JSON property `resourcePolicies`
10027
+ # @return [Array<String>]
10028
+ attr_accessor :resource_policies
10029
+
10030
+ # Sets the scheduling options for an Instance. NextID: 10
9730
10031
  # Corresponds to the JSON property `scheduling`
9731
10032
  # @return [Google::Apis::ComputeV1::Scheduling]
9732
10033
  attr_accessor :scheduling
@@ -9800,6 +10101,7 @@ module Google
9800
10101
  @description = args[:description] if args.key?(:description)
9801
10102
  @disks = args[:disks] if args.key?(:disks)
9802
10103
  @display_device = args[:display_device] if args.key?(:display_device)
10104
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
9803
10105
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
9804
10106
  @hostname = args[:hostname] if args.key?(:hostname)
9805
10107
  @id = args[:id] if args.key?(:id)
@@ -9812,6 +10114,7 @@ module Google
9812
10114
  @name = args[:name] if args.key?(:name)
9813
10115
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
9814
10116
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
10117
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
9815
10118
  @scheduling = args[:scheduling] if args.key?(:scheduling)
9816
10119
  @self_link = args[:self_link] if args.key?(:self_link)
9817
10120
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
@@ -10414,9 +10717,9 @@ module Google
10414
10717
  # @return [Array<String>]
10415
10718
  attr_accessor :target_pools
10416
10719
 
10417
- # The target number of running instances for this managed instance group.
10418
- # Deleting or abandoning instances reduces this number. Resizing the group
10419
- # changes this number.
10720
+ # The target number of running instances for this managed instance group. You
10721
+ # can reduce this number by using the instanceGroupManager deleteInstances or
10722
+ # abandonInstances methods. Resizing the group also changes this number.
10420
10723
  # Corresponds to the JSON property `targetSize`
10421
10724
  # @return [Fixnum]
10422
10725
  attr_accessor :target_size
@@ -10832,6 +11135,12 @@ module Google
10832
11135
  class InstanceGroupManagerStatus
10833
11136
  include Google::Apis::Core::Hashable
10834
11137
 
11138
+ # [Output Only] The URL of the Autoscaler that targets this instance group
11139
+ # manager.
11140
+ # Corresponds to the JSON property `autoscaler`
11141
+ # @return [String]
11142
+ attr_accessor :autoscaler
11143
+
10835
11144
  # [Output Only] A bit indicating whether the managed instance group is in a
10836
11145
  # stable state. A stable state means that: none of the instances in the managed
10837
11146
  # instance group is currently undergoing any type of change (for example,
@@ -10855,6 +11164,7 @@ module Google
10855
11164
 
10856
11165
  # Update properties of this object
10857
11166
  def update!(**args)
11167
+ @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
10858
11168
  @is_stable = args[:is_stable] if args.key?(:is_stable)
10859
11169
  @version_target = args[:version_target] if args.key?(:version_target)
10860
11170
  end
@@ -10916,6 +11226,11 @@ module Google
10916
11226
  # @return [String]
10917
11227
  attr_accessor :minimal_action
10918
11228
 
11229
+ # What action should be used to replace instances. See minimal_action.REPLACE
11230
+ # Corresponds to the JSON property `replacementMethod`
11231
+ # @return [String]
11232
+ attr_accessor :replacement_method
11233
+
10919
11234
  # The type of update process. You can specify either PROACTIVE so that the
10920
11235
  # instance group manager proactively executes actions in order to bring
10921
11236
  # instances to their target versions or OPPORTUNISTIC so that no action is
@@ -10935,6 +11250,7 @@ module Google
10935
11250
  @max_surge = args[:max_surge] if args.key?(:max_surge)
10936
11251
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
10937
11252
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
11253
+ @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
10938
11254
  @type = args[:type] if args.key?(:type)
10939
11255
  end
10940
11256
  end
@@ -11079,6 +11395,35 @@ module Google
11079
11395
  end
11080
11396
  end
11081
11397
 
11398
+ #
11399
+ class InstanceGroupManagersListErrorsResponse
11400
+ include Google::Apis::Core::Hashable
11401
+
11402
+ # [Output Only] The list of errors of the managed instance group.
11403
+ # Corresponds to the JSON property `items`
11404
+ # @return [Array<Google::Apis::ComputeV1::InstanceManagedByIgmError>]
11405
+ attr_accessor :items
11406
+
11407
+ # [Output Only] This token allows you to get the next page of results for list
11408
+ # requests. If the number of results is larger than maxResults, use the
11409
+ # nextPageToken as a value for the query parameter pageToken in the next list
11410
+ # request. Subsequent list requests will have their own nextPageToken to
11411
+ # continue paging through the results.
11412
+ # Corresponds to the JSON property `nextPageToken`
11413
+ # @return [String]
11414
+ attr_accessor :next_page_token
11415
+
11416
+ def initialize(**args)
11417
+ update!(**args)
11418
+ end
11419
+
11420
+ # Update properties of this object
11421
+ def update!(**args)
11422
+ @items = args[:items] if args.key?(:items)
11423
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11424
+ end
11425
+ end
11426
+
11082
11427
  #
11083
11428
  class InstanceGroupManagersListManagedInstancesResponse
11084
11429
  include Google::Apis::Core::Hashable
@@ -11088,6 +11433,15 @@ module Google
11088
11433
  # @return [Array<Google::Apis::ComputeV1::ManagedInstance>]
11089
11434
  attr_accessor :managed_instances
11090
11435
 
11436
+ # [Output Only] This token allows you to get the next page of results for list
11437
+ # requests. If the number of results is larger than maxResults, use the
11438
+ # nextPageToken as a value for the query parameter pageToken in the next list
11439
+ # request. Subsequent list requests will have their own nextPageToken to
11440
+ # continue paging through the results.
11441
+ # Corresponds to the JSON property `nextPageToken`
11442
+ # @return [String]
11443
+ attr_accessor :next_page_token
11444
+
11091
11445
  def initialize(**args)
11092
11446
  update!(**args)
11093
11447
  end
@@ -11095,6 +11449,7 @@ module Google
11095
11449
  # Update properties of this object
11096
11450
  def update!(**args)
11097
11451
  @managed_instances = args[:managed_instances] if args.key?(:managed_instances)
11452
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11098
11453
  end
11099
11454
  end
11100
11455
 
@@ -11801,6 +12156,101 @@ module Google
11801
12156
  end
11802
12157
  end
11803
12158
 
12159
+ #
12160
+ class InstanceManagedByIgmError
12161
+ include Google::Apis::Core::Hashable
12162
+
12163
+ # [Output Only] Contents of the error.
12164
+ # Corresponds to the JSON property `error`
12165
+ # @return [Google::Apis::ComputeV1::InstanceManagedByIgmErrorManagedInstanceError]
12166
+ attr_accessor :error
12167
+
12168
+ # [Output Only] Details of the instance action that triggered this error. May be
12169
+ # null, if the error was not caused by an action on an instance. This field is
12170
+ # optional.
12171
+ # Corresponds to the JSON property `instanceActionDetails`
12172
+ # @return [Google::Apis::ComputeV1::InstanceManagedByIgmErrorInstanceActionDetails]
12173
+ attr_accessor :instance_action_details
12174
+
12175
+ # [Output Only] The time that this error occurred. This value is in RFC3339 text
12176
+ # format.
12177
+ # Corresponds to the JSON property `timestamp`
12178
+ # @return [String]
12179
+ attr_accessor :timestamp
12180
+
12181
+ def initialize(**args)
12182
+ update!(**args)
12183
+ end
12184
+
12185
+ # Update properties of this object
12186
+ def update!(**args)
12187
+ @error = args[:error] if args.key?(:error)
12188
+ @instance_action_details = args[:instance_action_details] if args.key?(:instance_action_details)
12189
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
12190
+ end
12191
+ end
12192
+
12193
+ #
12194
+ class InstanceManagedByIgmErrorInstanceActionDetails
12195
+ include Google::Apis::Core::Hashable
12196
+
12197
+ # [Output Only] Action that managed instance group was executing on the instance
12198
+ # when the error occurred. Possible values:
12199
+ # Corresponds to the JSON property `action`
12200
+ # @return [String]
12201
+ attr_accessor :action
12202
+
12203
+ # [Output Only] The URL of the instance. The URL can be set even if the instance
12204
+ # has not yet been created.
12205
+ # Corresponds to the JSON property `instance`
12206
+ # @return [String]
12207
+ attr_accessor :instance
12208
+
12209
+ # [Output Only] Version this instance was created from, or was being created
12210
+ # from, but the creation failed. Corresponds to one of the versions that were
12211
+ # set on the Instance Group Manager resource at the time this instance was being
12212
+ # created.
12213
+ # Corresponds to the JSON property `version`
12214
+ # @return [Google::Apis::ComputeV1::ManagedInstanceVersion]
12215
+ attr_accessor :version
12216
+
12217
+ def initialize(**args)
12218
+ update!(**args)
12219
+ end
12220
+
12221
+ # Update properties of this object
12222
+ def update!(**args)
12223
+ @action = args[:action] if args.key?(:action)
12224
+ @instance = args[:instance] if args.key?(:instance)
12225
+ @version = args[:version] if args.key?(:version)
12226
+ end
12227
+ end
12228
+
12229
+ #
12230
+ class InstanceManagedByIgmErrorManagedInstanceError
12231
+ include Google::Apis::Core::Hashable
12232
+
12233
+ # [Output Only] Error code.
12234
+ # Corresponds to the JSON property `code`
12235
+ # @return [String]
12236
+ attr_accessor :code
12237
+
12238
+ # [Output Only] Error message.
12239
+ # Corresponds to the JSON property `message`
12240
+ # @return [String]
12241
+ attr_accessor :message
12242
+
12243
+ def initialize(**args)
12244
+ update!(**args)
12245
+ end
12246
+
12247
+ # Update properties of this object
12248
+ def update!(**args)
12249
+ @code = args[:code] if args.key?(:code)
12250
+ @message = args[:message] if args.key?(:message)
12251
+ end
12252
+ end
12253
+
11804
12254
  #
11805
12255
  class MoveInstanceRequest
11806
12256
  include Google::Apis::Core::Hashable
@@ -11902,7 +12352,13 @@ module Google
11902
12352
  # @return [Google::Apis::ComputeV1::ReservationAffinity]
11903
12353
  attr_accessor :reservation_affinity
11904
12354
 
11905
- # Sets the scheduling options for an Instance. NextID: 9
12355
+ # Resource policies (names, not ULRs) applied to instances created from this
12356
+ # template.
12357
+ # Corresponds to the JSON property `resourcePolicies`
12358
+ # @return [Array<String>]
12359
+ attr_accessor :resource_policies
12360
+
12361
+ # Sets the scheduling options for an Instance. NextID: 10
11906
12362
  # Corresponds to the JSON property `scheduling`
11907
12363
  # @return [Google::Apis::ComputeV1::Scheduling]
11908
12364
  attr_accessor :scheduling
@@ -11940,6 +12396,7 @@ module Google
11940
12396
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
11941
12397
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
11942
12398
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12399
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
11943
12400
  @scheduling = args[:scheduling] if args.key?(:scheduling)
11944
12401
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
11945
12402
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
@@ -12200,6 +12657,44 @@ module Google
12200
12657
  end
12201
12658
  end
12202
12659
 
12660
+ #
12661
+ class InstancesAddResourcePoliciesRequest
12662
+ include Google::Apis::Core::Hashable
12663
+
12664
+ # Resource policies to be added to this instance.
12665
+ # Corresponds to the JSON property `resourcePolicies`
12666
+ # @return [Array<String>]
12667
+ attr_accessor :resource_policies
12668
+
12669
+ def initialize(**args)
12670
+ update!(**args)
12671
+ end
12672
+
12673
+ # Update properties of this object
12674
+ def update!(**args)
12675
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
12676
+ end
12677
+ end
12678
+
12679
+ #
12680
+ class InstancesRemoveResourcePoliciesRequest
12681
+ include Google::Apis::Core::Hashable
12682
+
12683
+ # Resource policies to be removed from this instance.
12684
+ # Corresponds to the JSON property `resourcePolicies`
12685
+ # @return [Array<String>]
12686
+ attr_accessor :resource_policies
12687
+
12688
+ def initialize(**args)
12689
+ update!(**args)
12690
+ end
12691
+
12692
+ # Update properties of this object
12693
+ def update!(**args)
12694
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
12695
+ end
12696
+ end
12697
+
12203
12698
  #
12204
12699
  class InstancesScopedList
12205
12700
  include Google::Apis::Core::Hashable
@@ -13986,7 +14481,11 @@ module Google
13986
14481
  end
13987
14482
  end
13988
14483
 
13989
- # A license resource.
14484
+ # Represents a License resource.
14485
+ # A License represents billing and aggregate usage data for public and
14486
+ # marketplace images. Caution This resource is intended for use only by third-
14487
+ # party partners who are creating Cloud Marketplace images. (== resource_for `$
14488
+ # api_version`.licenses ==)
13990
14489
  class License
13991
14490
  include Google::Apis::Core::Hashable
13992
14491
 
@@ -14067,7 +14566,11 @@ module Google
14067
14566
  end
14068
14567
  end
14069
14568
 
14070
- #
14569
+ # Represents a License Code resource.
14570
+ # A License Code is a unique identifier used to represent a license resource.
14571
+ # Caution This resource is intended for use only by third-party partners who are
14572
+ # creating Cloud Marketplace images. (== resource_for `$api_version`.
14573
+ # licenseCodes ==)
14071
14574
  class LicenseCode
14072
14575
  include Google::Apis::Core::Hashable
14073
14576
 
@@ -14325,8 +14828,6 @@ module Google
14325
14828
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
14326
14829
  # increment counter /iam/policy/debug_access_count `iam_principal=[value of
14327
14830
  # IAMContext.principal]`
14328
- # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
14329
- # in the same counter.
14330
14831
  # Corresponds to the JSON property `counter`
14331
14832
  # @return [Google::Apis::ComputeV1::LogConfigCounterOptions]
14332
14833
  attr_accessor :counter
@@ -14387,8 +14888,6 @@ module Google
14387
14888
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
14388
14889
  # increment counter /iam/policy/debug_access_count `iam_principal=[value of
14389
14890
  # IAMContext.principal]`
14390
- # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
14391
- # in the same counter.
14392
14891
  class LogConfigCounterOptions
14393
14892
  include Google::Apis::Core::Hashable
14394
14893
 
@@ -14452,7 +14951,9 @@ module Google
14452
14951
  include Google::Apis::Core::Hashable
14453
14952
 
14454
14953
  # Whether Gin logging should happen in a fail-closed manner at the caller. This
14455
- # is relevant only in the LocalIAM implementation, for now.
14954
+ # is currently supported in the LocalIAM implementation, Stubby C++, and Stubby
14955
+ # Java. For Apps Framework, see go/af-audit-logging#failclosed. TODO(b/77591626):
14956
+ # Add support for Stubby Go. TODO(b/129671387): Add support for Scaffolding.
14456
14957
  # Corresponds to the JSON property `logMode`
14457
14958
  # @return [String]
14458
14959
  attr_accessor :log_mode
@@ -15409,6 +15910,12 @@ module Google
15409
15910
  class NetworkEndpoint
15410
15911
  include Google::Apis::Core::Hashable
15411
15912
 
15913
+ # Optional fully qualified domain name of network endpoint. This can only be
15914
+ # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
15915
+ # Corresponds to the JSON property `fqdn`
15916
+ # @return [String]
15917
+ attr_accessor :fqdn
15918
+
15412
15919
  # The name for a specific VM instance that the IP address belongs to. This is
15413
15920
  # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
15414
15921
  # the same zone of network endpoint group.
@@ -15439,6 +15946,7 @@ module Google
15439
15946
 
15440
15947
  # Update properties of this object
15441
15948
  def update!(**args)
15949
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
15442
15950
  @instance = args[:instance] if args.key?(:instance)
15443
15951
  @ip_address = args[:ip_address] if args.key?(:ip_address)
15444
15952
  @port = args[:port] if args.key?(:port)
@@ -15446,8 +15954,8 @@ module Google
15446
15954
  end
15447
15955
 
15448
15956
  # Represents a collection of network endpoints.
15449
- # For more information read Setting up network endpoint groups in load balancing.
15450
- # (== resource_for `$api_version`.networkEndpointGroups ==) Next ID: 21
15957
+ # For more information read Network endpoint groups overview. (== resource_for `$
15958
+ # api_version`.networkEndpointGroups ==) Next ID: 21
15451
15959
  class NetworkEndpointGroup
15452
15960
  include Google::Apis::Core::Hashable
15453
15961
 
@@ -15496,8 +16004,7 @@ module Google
15496
16004
  # @return [String]
15497
16005
  attr_accessor :network
15498
16006
 
15499
- # Type of network endpoints in this network endpoint group. Currently the only
15500
- # supported value is GCE_VM_IP_PORT.
16007
+ # Type of network endpoints in this network endpoint group.
15501
16008
  # Corresponds to the JSON property `networkEndpointType`
15502
16009
  # @return [String]
15503
16010
  attr_accessor :network_endpoint_type
@@ -16480,6 +16987,11 @@ module Google
16480
16987
  class NodeGroup
16481
16988
  include Google::Apis::Core::Hashable
16482
16989
 
16990
+ # Specifies how autoscaling should behave.
16991
+ # Corresponds to the JSON property `autoscalingPolicy`
16992
+ # @return [Google::Apis::ComputeV1::NodeGroupAutoscalingPolicy]
16993
+ attr_accessor :autoscaling_policy
16994
+
16483
16995
  # [Output Only] Creation timestamp in RFC3339 text format.
16484
16996
  # Corresponds to the JSON property `creationTimestamp`
16485
16997
  # @return [String]
@@ -16491,6 +17003,12 @@ module Google
16491
17003
  # @return [String]
16492
17004
  attr_accessor :description
16493
17005
 
17006
+ #
17007
+ # Corresponds to the JSON property `fingerprint`
17008
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17009
+ # @return [String]
17010
+ attr_accessor :fingerprint
17011
+
16494
17012
  # [Output Only] The unique identifier for the resource. This identifier is
16495
17013
  # defined by the server.
16496
17014
  # Corresponds to the JSON property `id`
@@ -16503,6 +17021,12 @@ module Google
16503
17021
  # @return [String]
16504
17022
  attr_accessor :kind
16505
17023
 
17024
+ # Specifies how to handle instances when a node in the group undergoes
17025
+ # maintenance.
17026
+ # Corresponds to the JSON property `maintenancePolicy`
17027
+ # @return [String]
17028
+ attr_accessor :maintenance_policy
17029
+
16506
17030
  # The name of the resource, provided by the client when initially creating the
16507
17031
  # resource. The resource name must be 1-63 characters long, and comply with
16508
17032
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -16546,10 +17070,13 @@ module Google
16546
17070
 
16547
17071
  # Update properties of this object
16548
17072
  def update!(**args)
17073
+ @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
16549
17074
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16550
17075
  @description = args[:description] if args.key?(:description)
17076
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
16551
17077
  @id = args[:id] if args.key?(:id)
16552
17078
  @kind = args[:kind] if args.key?(:kind)
17079
+ @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
16553
17080
  @name = args[:name] if args.key?(:name)
16554
17081
  @node_template = args[:node_template] if args.key?(:node_template)
16555
17082
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -16677,6 +17204,37 @@ module Google
16677
17204
  end
16678
17205
  end
16679
17206
 
17207
+ #
17208
+ class NodeGroupAutoscalingPolicy
17209
+ include Google::Apis::Core::Hashable
17210
+
17211
+ # The maximum number of nodes that the group should have.
17212
+ # Corresponds to the JSON property `maxNodes`
17213
+ # @return [Fixnum]
17214
+ attr_accessor :max_nodes
17215
+
17216
+ # The minimum number of nodes that the group should have.
17217
+ # Corresponds to the JSON property `minNodes`
17218
+ # @return [Fixnum]
17219
+ attr_accessor :min_nodes
17220
+
17221
+ # The autoscaling mode.
17222
+ # Corresponds to the JSON property `mode`
17223
+ # @return [String]
17224
+ attr_accessor :mode
17225
+
17226
+ def initialize(**args)
17227
+ update!(**args)
17228
+ end
17229
+
17230
+ # Update properties of this object
17231
+ def update!(**args)
17232
+ @max_nodes = args[:max_nodes] if args.key?(:max_nodes)
17233
+ @min_nodes = args[:min_nodes] if args.key?(:min_nodes)
17234
+ @mode = args[:mode] if args.key?(:mode)
17235
+ end
17236
+ end
17237
+
16680
17238
  # Contains a list of nodeGroups.
16681
17239
  class NodeGroupList
16682
17240
  include Google::Apis::Core::Hashable
@@ -16819,6 +17377,11 @@ module Google
16819
17377
  # @return [Google::Apis::ComputeV1::ServerBinding]
16820
17378
  attr_accessor :server_binding
16821
17379
 
17380
+ # Server ID associated with this node.
17381
+ # Corresponds to the JSON property `serverId`
17382
+ # @return [String]
17383
+ attr_accessor :server_id
17384
+
16822
17385
  #
16823
17386
  # Corresponds to the JSON property `status`
16824
17387
  # @return [String]
@@ -16834,6 +17397,7 @@ module Google
16834
17397
  @name = args[:name] if args.key?(:name)
16835
17398
  @node_type = args[:node_type] if args.key?(:node_type)
16836
17399
  @server_binding = args[:server_binding] if args.key?(:server_binding)
17400
+ @server_id = args[:server_id] if args.key?(:server_id)
16837
17401
  @status = args[:status] if args.key?(:status)
16838
17402
  end
16839
17403
  end
@@ -17108,7 +17672,7 @@ module Google
17108
17672
  # Represent a sole-tenant Node Template resource.
17109
17673
  # You can use a template to define properties for nodes in a node group. For
17110
17674
  # more information, read Creating node groups and instances. (== resource_for `$
17111
- # api_version`.nodeTemplates ==) (== NextID: 18 ==)
17675
+ # api_version`.nodeTemplates ==) (== NextID: 19 ==)
17112
17676
  class NodeTemplate
17113
17677
  include Google::Apis::Core::Hashable
17114
17678
 
@@ -17998,15 +18562,15 @@ module Google
17998
18562
 
17999
18563
  # Represents an Operation resource.
18000
18564
  # Google Compute Engine has three Operation resources:
18001
- # * [Global](/compute/docs/reference/rest/latest/globalOperations) * [Regional](/
18002
- # compute/docs/reference/rest/latest/regionOperations) * [Zonal](/compute/docs/
18003
- # reference/rest/latest/zoneOperations)
18565
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
18566
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionOperations) * [
18567
+ # Zonal](/compute/docs/reference/rest/`$api_version`/zoneOperations)
18004
18568
  # You can use an operation resource to manage asynchronous API requests. For
18005
18569
  # more information, read Handling API responses.
18006
18570
  # Operations can be global, regional or zonal.
18007
- # - For global operations, use the globalOperations resource.
18008
- # - For regional operations, use the regionOperations resource.
18009
- # - For zonal operations, use the zonalOperations resource.
18571
+ # - For global operations, use the `globalOperations` resource.
18572
+ # - For regional operations, use the `regionOperations` resource.
18573
+ # - For zonal operations, use the `zonalOperations` resource.
18010
18574
  # For more information, read Global, Regional, and Zonal Resources. (==
18011
18575
  # resource_for `$api_version`.globalOperations ==) (== resource_for `$
18012
18576
  # api_version`.regionOperations ==) (== resource_for `$api_version`.
@@ -18044,13 +18608,13 @@ module Google
18044
18608
  attr_accessor :error
18045
18609
 
18046
18610
  # [Output Only] If the operation fails, this field contains the HTTP error
18047
- # message that was returned, such as NOT FOUND.
18611
+ # message that was returned, such as `NOT FOUND`.
18048
18612
  # Corresponds to the JSON property `httpErrorMessage`
18049
18613
  # @return [String]
18050
18614
  attr_accessor :http_error_message
18051
18615
 
18052
18616
  # [Output Only] If the operation fails, this field contains the HTTP error
18053
- # status code that was returned. For example, a 404 means the resource was not
18617
+ # status code that was returned. For example, a `404` means the resource was not
18054
18618
  # found.
18055
18619
  # Corresponds to the JSON property `httpErrorStatusCode`
18056
18620
  # @return [Fixnum]
@@ -18068,7 +18632,7 @@ module Google
18068
18632
  # @return [String]
18069
18633
  attr_accessor :insert_time
18070
18634
 
18071
- # [Output Only] Type of the resource. Always compute#operation for Operation
18635
+ # [Output Only] Type of the resource. Always `compute#operation` for Operation
18072
18636
  # resources.
18073
18637
  # Corresponds to the JSON property `kind`
18074
18638
  # @return [String]
@@ -18079,8 +18643,8 @@ module Google
18079
18643
  # @return [String]
18080
18644
  attr_accessor :name
18081
18645
 
18082
- # [Output Only] The type of operation, such as insert, update, or delete, and so
18083
- # on.
18646
+ # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
18647
+ # and so on.
18084
18648
  # Corresponds to the JSON property `operationType`
18085
18649
  # @return [String]
18086
18650
  attr_accessor :operation_type
@@ -18110,8 +18674,8 @@ module Google
18110
18674
  # @return [String]
18111
18675
  attr_accessor :start_time
18112
18676
 
18113
- # [Output Only] The status of the operation, which can be one of the following:
18114
- # PENDING, RUNNING, or DONE.
18677
+ # [Output Only] The status of the operation, which can be one of the following: `
18678
+ # PENDING`, `RUNNING`, or `DONE`.
18115
18679
  # Corresponds to the JSON property `status`
18116
18680
  # @return [String]
18117
18681
  attr_accessor :status
@@ -18135,7 +18699,8 @@ module Google
18135
18699
  # @return [String]
18136
18700
  attr_accessor :target_link
18137
18701
 
18138
- # [Output Only] User who requested the operation, for example: user@example.com.
18702
+ # [Output Only] User who requested the operation, for example: `user@example.com`
18703
+ # .
18139
18704
  # Corresponds to the JSON property `user`
18140
18705
  # @return [String]
18141
18706
  attr_accessor :user
@@ -18315,16 +18880,16 @@ module Google
18315
18880
  # @return [Hash<String,Google::Apis::ComputeV1::OperationsScopedList>]
18316
18881
  attr_accessor :items
18317
18882
 
18318
- # [Output Only] Type of resource. Always compute#operationAggregatedList for
18883
+ # [Output Only] Type of resource. Always `compute#operationAggregatedList` for
18319
18884
  # aggregated lists of operations.
18320
18885
  # Corresponds to the JSON property `kind`
18321
18886
  # @return [String]
18322
18887
  attr_accessor :kind
18323
18888
 
18324
18889
  # [Output Only] This token allows you to get the next page of results for list
18325
- # requests. If the number of results is larger than maxResults, use the
18326
- # nextPageToken as a value for the query parameter pageToken in the next list
18327
- # request. Subsequent list requests will have their own nextPageToken to
18890
+ # requests. If the number of results is larger than `maxResults`, use the `
18891
+ # nextPageToken` as a value for the query parameter `pageToken` in the next list
18892
+ # request. Subsequent list requests will have their own `nextPageToken` to
18328
18893
  # continue paging through the results.
18329
18894
  # Corresponds to the JSON property `nextPageToken`
18330
18895
  # @return [String]
@@ -18434,16 +18999,16 @@ module Google
18434
18999
  # @return [Array<Google::Apis::ComputeV1::Operation>]
18435
19000
  attr_accessor :items
18436
19001
 
18437
- # [Output Only] Type of resource. Always compute#operations for Operations
19002
+ # [Output Only] Type of resource. Always `compute#operations` for Operations
18438
19003
  # resource.
18439
19004
  # Corresponds to the JSON property `kind`
18440
19005
  # @return [String]
18441
19006
  attr_accessor :kind
18442
19007
 
18443
19008
  # [Output Only] This token allows you to get the next page of results for list
18444
- # requests. If the number of results is larger than maxResults, use the
18445
- # nextPageToken as a value for the query parameter pageToken in the next list
18446
- # request. Subsequent list requests will have their own nextPageToken to
19009
+ # requests. If the number of results is larger than `maxResults`, use the `
19010
+ # nextPageToken` as a value for the query parameter `pageToken` in the next list
19011
+ # request. Subsequent list requests will have their own `nextPageToken` to
18447
19012
  # continue paging through the results.
18448
19013
  # Corresponds to the JSON property `nextPageToken`
18449
19014
  # @return [String]
@@ -19499,21 +20064,21 @@ module Google
19499
20064
  class PerInstanceConfig
19500
20065
  include Google::Apis::Core::Hashable
19501
20066
 
19502
- # Fingerprint of this per-instance config. This field may be used in optimistic
19503
- # locking. It will be ignored when inserting a per-instance config. An up-to-
19504
- # date fingerprint must be provided in order to update an existing per-instance
20067
+ # Fingerprint of this per-instance config. This field can be used in optimistic
20068
+ # locking. It is ignored when inserting a per-instance config. An up-to-date
20069
+ # fingerprint must be provided in order to update an existing per-instance
19505
20070
  # config or the field needs to be unset.
19506
20071
  # Corresponds to the JSON property `fingerprint`
19507
20072
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
19508
20073
  # @return [String]
19509
20074
  attr_accessor :fingerprint
19510
20075
 
19511
- # The name of the per-instance config and the corresponding instance. Serves as
19512
- # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
19513
- # config with the same name exists then it will be updated, otherwise a new one
19514
- # will be created for the VM instance with the same name. An attempt to create a
19515
- # per-instance config for a VM instance that either doesn't exist or is not part
19516
- # of the group will result in a failure.
20076
+ # The name of a per-instance config and its corresponding instance. Serves as a
20077
+ # merge key during UpdatePerInstanceConfigs operations, that is, if a per-
20078
+ # instance config with the same name exists then it will be updated, otherwise a
20079
+ # new one will be created for the VM instance with the same name. An attempt to
20080
+ # create a per-instance config for a VM instance that either doesn't exist or is
20081
+ # not part of the group will result in an error.
19517
20082
  # Corresponds to the JSON property `name`
19518
20083
  # @return [String]
19519
20084
  attr_accessor :name
@@ -19639,6 +20204,25 @@ module Google
19639
20204
  end
19640
20205
  end
19641
20206
 
20207
+ #
20208
+ class PreconfiguredWafSet
20209
+ include Google::Apis::Core::Hashable
20210
+
20211
+ # List of entities that are currently supported for WAF rules.
20212
+ # Corresponds to the JSON property `expressionSets`
20213
+ # @return [Array<Google::Apis::ComputeV1::WafExpressionSet>]
20214
+ attr_accessor :expression_sets
20215
+
20216
+ def initialize(**args)
20217
+ update!(**args)
20218
+ end
20219
+
20220
+ # Update properties of this object
20221
+ def update!(**args)
20222
+ @expression_sets = args[:expression_sets] if args.key?(:expression_sets)
20223
+ end
20224
+ end
20225
+
19642
20226
  # Represents a Project resource.
19643
20227
  # A project is used to organize resources in a Google Cloud Platform environment.
19644
20228
  # For more information, read about the Resource Hierarchy. (== resource_for `$
@@ -20644,6 +21228,35 @@ module Google
20644
21228
  end
20645
21229
  end
20646
21230
 
21231
+ #
21232
+ class RegionInstanceGroupManagersListErrorsResponse
21233
+ include Google::Apis::Core::Hashable
21234
+
21235
+ # [Output Only] The list of errors of the managed instance group.
21236
+ # Corresponds to the JSON property `items`
21237
+ # @return [Array<Google::Apis::ComputeV1::InstanceManagedByIgmError>]
21238
+ attr_accessor :items
21239
+
21240
+ # [Output Only] This token allows you to get the next page of results for list
21241
+ # requests. If the number of results is larger than maxResults, use the
21242
+ # nextPageToken as a value for the query parameter pageToken in the next list
21243
+ # request. Subsequent list requests will have their own nextPageToken to
21244
+ # continue paging through the results.
21245
+ # Corresponds to the JSON property `nextPageToken`
21246
+ # @return [String]
21247
+ attr_accessor :next_page_token
21248
+
21249
+ def initialize(**args)
21250
+ update!(**args)
21251
+ end
21252
+
21253
+ # Update properties of this object
21254
+ def update!(**args)
21255
+ @items = args[:items] if args.key?(:items)
21256
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
21257
+ end
21258
+ end
21259
+
20647
21260
  #
20648
21261
  class RegionInstanceGroupManagersListInstancesResponse
20649
21262
  include Google::Apis::Core::Hashable
@@ -20653,6 +21266,15 @@ module Google
20653
21266
  # @return [Array<Google::Apis::ComputeV1::ManagedInstance>]
20654
21267
  attr_accessor :managed_instances
20655
21268
 
21269
+ # [Output Only] This token allows you to get the next page of results for list
21270
+ # requests. If the number of results is larger than maxResults, use the
21271
+ # nextPageToken as a value for the query parameter pageToken in the next list
21272
+ # request. Subsequent list requests will have their own nextPageToken to
21273
+ # continue paging through the results.
21274
+ # Corresponds to the JSON property `nextPageToken`
21275
+ # @return [String]
21276
+ attr_accessor :next_page_token
21277
+
20656
21278
  def initialize(**args)
20657
21279
  update!(**args)
20658
21280
  end
@@ -20660,6 +21282,7 @@ module Google
20660
21282
  # Update properties of this object
20661
21283
  def update!(**args)
20662
21284
  @managed_instances = args[:managed_instances] if args.key?(:managed_instances)
21285
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
20663
21286
  end
20664
21287
  end
20665
21288
 
@@ -21143,8 +21766,8 @@ module Google
21143
21766
 
21144
21767
  # Represents a URL Map resource.
21145
21768
  # Google Compute Engine has two URL Map resources:
21146
- # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
21147
- # docs/reference/rest/latest/regionUrlMaps)
21769
+ # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
21770
+ # compute/docs/reference/rest/`$api_version`/regionUrlMaps)
21148
21771
  # A URL map resource is a component of certain types of GCP load balancers and
21149
21772
  # Traffic Director.
21150
21773
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
@@ -21817,7 +22440,10 @@ module Google
21817
22440
  end
21818
22441
  end
21819
22442
 
21820
- #
22443
+ # Represents a Resource Policy resource. You can use resource policies to
22444
+ # schedule actions for some Compute Engine resources. For example, you can use
22445
+ # them to schedule persistent disk snapshots.
22446
+ # (== resource_for `$api_version`.resourcePolicies ==)
21821
22447
  class ResourcePolicy
21822
22448
  include Google::Apis::Core::Hashable
21823
22449
 
@@ -21831,6 +22457,12 @@ module Google
21831
22457
  # @return [String]
21832
22458
  attr_accessor :description
21833
22459
 
22460
+ # A GroupPlacementPolicy specifies resource placement configuration. It
22461
+ # specifies the failure bucket separation as well as network locality
22462
+ # Corresponds to the JSON property `groupPlacementPolicy`
22463
+ # @return [Google::Apis::ComputeV1::ResourcePolicyGroupPlacementPolicy]
22464
+ attr_accessor :group_placement_policy
22465
+
21834
22466
  # [Output Only] The unique identifier for the resource. This identifier is
21835
22467
  # defined by the server.
21836
22468
  # Corresponds to the JSON property `id`
@@ -21884,6 +22516,7 @@ module Google
21884
22516
  def update!(**args)
21885
22517
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
21886
22518
  @description = args[:description] if args.key?(:description)
22519
+ @group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy)
21887
22520
  @id = args[:id] if args.key?(:id)
21888
22521
  @kind = args[:kind] if args.key?(:kind)
21889
22522
  @name = args[:name] if args.key?(:name)
@@ -22021,7 +22654,8 @@ module Google
22021
22654
  class ResourcePolicyDailyCycle
22022
22655
  include Google::Apis::Core::Hashable
22023
22656
 
22024
- # Defines a schedule that runs every nth day of the month.
22657
+ # Defines a schedule with units measured in months. The value determines how
22658
+ # many months pass between the start of each cycle.
22025
22659
  # Corresponds to the JSON property `daysInCycle`
22026
22660
  # @return [Fixnum]
22027
22661
  attr_accessor :days_in_cycle
@@ -22051,6 +22685,40 @@ module Google
22051
22685
  end
22052
22686
  end
22053
22687
 
22688
+ # A GroupPlacementPolicy specifies resource placement configuration. It
22689
+ # specifies the failure bucket separation as well as network locality
22690
+ class ResourcePolicyGroupPlacementPolicy
22691
+ include Google::Apis::Core::Hashable
22692
+
22693
+ # The number of availability domains instances will be spread across. If two
22694
+ # instances are in different availability domain, they will not be put in the
22695
+ # same low latency network
22696
+ # Corresponds to the JSON property `availabilityDomainCount`
22697
+ # @return [Fixnum]
22698
+ attr_accessor :availability_domain_count
22699
+
22700
+ # Specifies network collocation
22701
+ # Corresponds to the JSON property `collocation`
22702
+ # @return [String]
22703
+ attr_accessor :collocation
22704
+
22705
+ # Number of vms in this placement group
22706
+ # Corresponds to the JSON property `vmCount`
22707
+ # @return [Fixnum]
22708
+ attr_accessor :vm_count
22709
+
22710
+ def initialize(**args)
22711
+ update!(**args)
22712
+ end
22713
+
22714
+ # Update properties of this object
22715
+ def update!(**args)
22716
+ @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
22717
+ @collocation = args[:collocation] if args.key?(:collocation)
22718
+ @vm_count = args[:vm_count] if args.key?(:vm_count)
22719
+ end
22720
+ end
22721
+
22054
22722
  # Time window specified for hourly operations.
22055
22723
  class ResourcePolicyHourlyCycle
22056
22724
  include Google::Apis::Core::Hashable
@@ -22061,7 +22729,8 @@ module Google
22061
22729
  # @return [String]
22062
22730
  attr_accessor :duration
22063
22731
 
22064
- # Allows to define schedule that runs every nth hour.
22732
+ # Defines a schedule with units measured in hours. The value determines how many
22733
+ # hours pass between the start of each cycle.
22065
22734
  # Corresponds to the JSON property `hoursInCycle`
22066
22735
  # @return [Fixnum]
22067
22736
  attr_accessor :hours_in_cycle
@@ -22356,7 +23025,9 @@ module Google
22356
23025
  class ResourcePolicyWeeklyCycleDayOfWeek
22357
23026
  include Google::Apis::Core::Hashable
22358
23027
 
22359
- # Allows to define schedule that runs specified day of the week.
23028
+ # Defines a schedule that runs on specific days of the week. Specify one or more
23029
+ # days. The following options are available: MONDAY, TUESDAY, WEDNESDAY,
23030
+ # THURSDAY, FRIDAY, SATURDAY, SUNDAY.
22360
23031
  # Corresponds to the JSON property `day`
22361
23032
  # @return [String]
22362
23033
  attr_accessor :day
@@ -23116,15 +23787,15 @@ module Google
23116
23787
  attr_accessor :ip_range
23117
23788
 
23118
23789
  # URI of the linked Interconnect attachment. It must be in the same region as
23119
- # the router. Each interface can have one linked resource, which can be either
23120
- # be a VPN tunnel or an Interconnect attachment.
23790
+ # the router. Each interface can have one linked resource, which can be a VPN
23791
+ # tunnel, an Interconnect attachment, or a virtual machine instance.
23121
23792
  # Corresponds to the JSON property `linkedInterconnectAttachment`
23122
23793
  # @return [String]
23123
23794
  attr_accessor :linked_interconnect_attachment
23124
23795
 
23125
23796
  # URI of the linked VPN tunnel, which must be in the same region as the router.
23126
- # Each interface can have one linked resource, which can be either a VPN tunnel
23127
- # or an Interconnect attachment.
23797
+ # Each interface can have one linked resource, which can be a VPN tunnel, an
23798
+ # Interconnect attachment, or a virtual machine instance.
23128
23799
  # Corresponds to the JSON property `linkedVpnTunnel`
23129
23800
  # @return [String]
23130
23801
  attr_accessor :linked_vpn_tunnel
@@ -23906,7 +24577,7 @@ module Google
23906
24577
  end
23907
24578
  end
23908
24579
 
23909
- # Sets the scheduling options for an Instance. NextID: 9
24580
+ # Sets the scheduling options for an Instance. NextID: 10
23910
24581
  class Scheduling
23911
24582
  include Google::Apis::Core::Hashable
23912
24583
 
@@ -23922,7 +24593,7 @@ module Google
23922
24593
  alias_method :automatic_restart?, :automatic_restart
23923
24594
 
23924
24595
  # A set of node affinity and anti-affinity configurations. Refer to Configuring
23925
- # node affinity for more information.
24596
+ # node affinity for more information. Overrides reservationAffinity.
23926
24597
  # Corresponds to the JSON property `nodeAffinities`
23927
24598
  # @return [Array<Google::Apis::ComputeV1::SchedulingNodeAffinity>]
23928
24599
  attr_accessor :node_affinities
@@ -23989,6 +24660,44 @@ module Google
23989
24660
  end
23990
24661
  end
23991
24662
 
24663
+ #
24664
+ class SecurityPoliciesListPreconfiguredExpressionSetsResponse
24665
+ include Google::Apis::Core::Hashable
24666
+
24667
+ #
24668
+ # Corresponds to the JSON property `preconfiguredExpressionSets`
24669
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesWafConfig]
24670
+ attr_accessor :preconfigured_expression_sets
24671
+
24672
+ def initialize(**args)
24673
+ update!(**args)
24674
+ end
24675
+
24676
+ # Update properties of this object
24677
+ def update!(**args)
24678
+ @preconfigured_expression_sets = args[:preconfigured_expression_sets] if args.key?(:preconfigured_expression_sets)
24679
+ end
24680
+ end
24681
+
24682
+ #
24683
+ class SecurityPoliciesWafConfig
24684
+ include Google::Apis::Core::Hashable
24685
+
24686
+ #
24687
+ # Corresponds to the JSON property `wafRules`
24688
+ # @return [Google::Apis::ComputeV1::PreconfiguredWafSet]
24689
+ attr_accessor :waf_rules
24690
+
24691
+ def initialize(**args)
24692
+ update!(**args)
24693
+ end
24694
+
24695
+ # Update properties of this object
24696
+ def update!(**args)
24697
+ @waf_rules = args[:waf_rules] if args.key?(:waf_rules)
24698
+ end
24699
+ end
24700
+
23992
24701
  # Represents a Cloud Armor Security Policy resource.
23993
24702
  # Only external backend services that use load balancers can reference a
23994
24703
  # Security Policy. For more information, read Cloud Armor Security Policy
@@ -24273,6 +24982,30 @@ module Google
24273
24982
  # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig]
24274
24983
  attr_accessor :config
24275
24984
 
24985
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
24986
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
24987
+ # documented at https://github.com/google/cel-spec.
24988
+ # Example (Comparison):
24989
+ # title: "Summary size limit" description: "Determines if a summary is less than
24990
+ # 100 chars" expression: "document.summary.size() < 100"
24991
+ # Example (Equality):
24992
+ # title: "Requestor is owner" description: "Determines if requestor is the
24993
+ # document owner" expression: "document.owner == request.auth.claims.email"
24994
+ # Example (Logic):
24995
+ # title: "Public documents" description: "Determine whether the document should
24996
+ # be publicly visible" expression: "document.type != 'private' && document.type !
24997
+ # = 'internal'"
24998
+ # Example (Data Manipulation):
24999
+ # title: "Notification string" description: "Create a notification string with a
25000
+ # timestamp." expression: "'New message received at ' + string(document.
25001
+ # create_time)"
25002
+ # The exact variables and functions that may be referenced within an expression
25003
+ # are determined by the service that evaluates it. See the service documentation
25004
+ # for additional information.
25005
+ # Corresponds to the JSON property `expr`
25006
+ # @return [Google::Apis::ComputeV1::Expr]
25007
+ attr_accessor :expr
25008
+
24276
25009
  # Preconfigured versioned expression. If this field is specified, config must
24277
25010
  # also be specified. Available preconfigured expressions along with their
24278
25011
  # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
@@ -24288,6 +25021,7 @@ module Google
24288
25021
  # Update properties of this object
24289
25022
  def update!(**args)
24290
25023
  @config = args[:config] if args.key?(:config)
25024
+ @expr = args[:expr] if args.key?(:expr)
24291
25025
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
24292
25026
  end
24293
25027
  end
@@ -24860,16 +25594,19 @@ module Google
24860
25594
 
24861
25595
  # Represents an SSL Certificate resource.
24862
25596
  # Google Compute Engine has two SSL Certificate resources:
24863
- # * [Global](/compute/docs/reference/rest/latest/sslCertificates) * [Regional](/
24864
- # compute/docs/reference/rest/latest/regionSslCertificates)
24865
- # - sslCertificates are used by: - external HTTPS load balancers - SSL proxy
24866
- # load balancers
24867
- # - regionSslCertificates are used by: - internal HTTPS load balancers
24868
- # This SSL certificate resource also contains a private key. You can use SSL
24869
- # keys and certificates to secure connections to a load balancer. For more
24870
- # information, read Creating and Using SSL Certificates. (== resource_for `$
24871
- # api_version`.sslCertificates ==) (== resource_for `$api_version`.
24872
- # regionSslCertificates ==) Next ID: 17
25597
+ # * [Global](/compute/docs/reference/rest/`$api_version`/sslCertificates) * [
25598
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionSslCertificates)
25599
+ # The sslCertificates are used by:
25600
+ # - external HTTPS load balancers
25601
+ # - SSL proxy load balancers
25602
+ # The regionSslCertificates are used by internal HTTPS load balancers.
25603
+ # Optionally, certificate file contents that you upload can contain a set of up
25604
+ # to five PEM-encoded certificates. The API call creates an object (
25605
+ # sslCertificate) that holds this data. You can use SSL keys and certificates to
25606
+ # secure connections to a load balancer. For more information, read Creating
25607
+ # and using SSL certificates and SSL certificates quotas and limits. (==
25608
+ # resource_for `$api_version`.sslCertificates ==) (== resource_for `$api_version`
25609
+ # .regionSslCertificates ==)
24873
25610
  class SslCertificate
24874
25611
  include Google::Apis::Core::Hashable
24875
25612
 
@@ -25714,7 +26451,7 @@ module Google
25714
26451
  # @return [String]
25715
26452
  attr_accessor :region
25716
26453
 
25717
- # The role of subnetwork. Currenly, this field is only used when purpose =
26454
+ # The role of subnetwork. Currently, this field is only used when purpose =
25718
26455
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
25719
26456
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
25720
26457
  # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
@@ -26030,6 +26767,12 @@ module Google
26030
26767
  attr_accessor :enable
26031
26768
  alias_method :enable?, :enable
26032
26769
 
26770
+ # Can only be specified if VPC flow logs for this subnetwork is enabled. Export
26771
+ # filter used to define which VPC flow logs should be logged.
26772
+ # Corresponds to the JSON property `filterExpr`
26773
+ # @return [String]
26774
+ attr_accessor :filter_expr
26775
+
26033
26776
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
26034
26777
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
26035
26778
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
@@ -26046,6 +26789,12 @@ module Google
26046
26789
  # @return [String]
26047
26790
  attr_accessor :metadata
26048
26791
 
26792
+ # Can only be specified if VPC flow logs for this subnetwork is enabled and "
26793
+ # metadata" was set to CUSTOM_METADATA.
26794
+ # Corresponds to the JSON property `metadataFields`
26795
+ # @return [Array<String>]
26796
+ attr_accessor :metadata_fields
26797
+
26049
26798
  def initialize(**args)
26050
26799
  update!(**args)
26051
26800
  end
@@ -26054,8 +26803,10 @@ module Google
26054
26803
  def update!(**args)
26055
26804
  @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
26056
26805
  @enable = args[:enable] if args.key?(:enable)
26806
+ @filter_expr = args[:filter_expr] if args.key?(:filter_expr)
26057
26807
  @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
26058
26808
  @metadata = args[:metadata] if args.key?(:metadata)
26809
+ @metadata_fields = args[:metadata_fields] if args.key?(:metadata_fields)
26059
26810
  end
26060
26811
  end
26061
26812
 
@@ -26410,8 +27161,8 @@ module Google
26410
27161
 
26411
27162
  # Represents a Target HTTP Proxy resource.
26412
27163
  # Google Compute Engine has two Target HTTP Proxy resources:
26413
- # * [Global](/compute/docs/reference/rest/latest/targetHttpProxies) * [Regional](
26414
- # /compute/docs/reference/rest/latest/regionTargetHttpProxies)
27164
+ # * [Global](/compute/docs/reference/rest/`$api_version`/targetHttpProxies) * [
27165
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionTargetHttpProxies)
26415
27166
  # A target HTTP proxy is a component of GCP HTTP load balancers.
26416
27167
  # * targetHttpProxies are used by external HTTP load balancers and Traffic
26417
27168
  # Director. * regionTargetHttpProxies are used by internal HTTP load balancers.
@@ -26787,8 +27538,8 @@ module Google
26787
27538
 
26788
27539
  # Represents a Target HTTPS Proxy resource.
26789
27540
  # Google Compute Engine has two Target HTTPS Proxy resources:
26790
- # * [Global](/compute/docs/reference/rest/latest/targetHttpsProxies) * [Regional]
26791
- # (/compute/docs/reference/rest/latest/regionTargetHttpsProxies)
27541
+ # * [Global](/compute/docs/reference/rest/`$api_version`/targetHttpsProxies) * [
27542
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionTargetHttpsProxies)
26792
27543
  # A target HTTPS proxy is a component of GCP HTTPS load balancers.
26793
27544
  # * targetHttpsProxies are used by external HTTPS load balancers. *
26794
27545
  # regionTargetHttpsProxies are used by internal HTTPS load balancers.
@@ -28443,7 +29194,7 @@ module Google
28443
29194
  # A target TCP proxy is a component of a TCP Proxy load balancer. Global
28444
29195
  # forwarding rules reference target TCP proxy, and the target proxy then
28445
29196
  # references an external backend service. For more information, read TCP Proxy
28446
- # Load Balancing Concepts. (== resource_for `$api_version`.targetTcpProxies ==)
29197
+ # Load Balancing overview. (== resource_for `$api_version`.targetTcpProxies ==)
28447
29198
  class TargetTcpProxy
28448
29199
  include Google::Apis::Core::Hashable
28449
29200
 
@@ -29132,8 +29883,8 @@ module Google
29132
29883
 
29133
29884
  # Represents a URL Map resource.
29134
29885
  # Google Compute Engine has two URL Map resources:
29135
- # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
29136
- # docs/reference/rest/latest/regionUrlMaps)
29886
+ # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
29887
+ # compute/docs/reference/rest/`$api_version`/regionUrlMaps)
29137
29888
  # A URL map resource is a component of certain types of GCP load balancers and
29138
29889
  # Traffic Director.
29139
29890
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
@@ -29706,8 +30457,8 @@ module Google
29706
30457
 
29707
30458
  # Represents a URL Map resource.
29708
30459
  # Google Compute Engine has two URL Map resources:
29709
- # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
29710
- # docs/reference/rest/latest/regionUrlMaps)
30460
+ # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
30461
+ # compute/docs/reference/rest/`$api_version`/regionUrlMaps)
29711
30462
  # A URL map resource is a component of certain types of GCP load balancers and
29712
30463
  # Traffic Director.
29713
30464
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
@@ -31307,6 +32058,63 @@ module Google
31307
32058
  end
31308
32059
  end
31309
32060
 
32061
+ #
32062
+ class WafExpressionSet
32063
+ include Google::Apis::Core::Hashable
32064
+
32065
+ # A list of alternate IDs. The format should be: - E.g. XSS-stable Generic
32066
+ # suffix like "stable" is particularly useful if a policy likes to avail newer
32067
+ # set of expressions without having to change the policy. A given alias name can'
32068
+ # t be used for more than one entity set.
32069
+ # Corresponds to the JSON property `aliases`
32070
+ # @return [Array<String>]
32071
+ attr_accessor :aliases
32072
+
32073
+ # List of available expressions.
32074
+ # Corresponds to the JSON property `expressions`
32075
+ # @return [Array<Google::Apis::ComputeV1::WafExpressionSetExpression>]
32076
+ attr_accessor :expressions
32077
+
32078
+ # Google specified expression set ID. The format should be: - E.g. XSS-20170329
32079
+ # Corresponds to the JSON property `id`
32080
+ # @return [String]
32081
+ attr_accessor :id
32082
+
32083
+ def initialize(**args)
32084
+ update!(**args)
32085
+ end
32086
+
32087
+ # Update properties of this object
32088
+ def update!(**args)
32089
+ @aliases = args[:aliases] if args.key?(:aliases)
32090
+ @expressions = args[:expressions] if args.key?(:expressions)
32091
+ @id = args[:id] if args.key?(:id)
32092
+ end
32093
+ end
32094
+
32095
+ #
32096
+ class WafExpressionSetExpression
32097
+ include Google::Apis::Core::Hashable
32098
+
32099
+ # Expression ID should uniquely identify the origin of the expression. E.g.
32100
+ # owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule
32101
+ # id 973337. The ID could be used to determine the individual attack definition
32102
+ # that has been detected. It could also be used to exclude it from the policy in
32103
+ # case of false positive.
32104
+ # Corresponds to the JSON property `id`
32105
+ # @return [String]
32106
+ attr_accessor :id
32107
+
32108
+ def initialize(**args)
32109
+ update!(**args)
32110
+ end
32111
+
32112
+ # Update properties of this object
32113
+ def update!(**args)
32114
+ @id = args[:id] if args.key?(:id)
32115
+ end
32116
+ end
32117
+
31310
32118
  # In contrast to a single BackendService in HttpRouteAction to which all
31311
32119
  # matching traffic is directed to, WeightedBackendService allows traffic to be
31312
32120
  # split across multiple BackendServices. The volume of traffic for each