google-api-client 0.32.1 → 0.36.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 (491) hide show
  1. checksums.yaml +5 -5
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/.yardopts +16 -3
  9. data/CHANGELOG.md +327 -0
  10. data/Gemfile +1 -0
  11. data/OVERVIEW.md +36 -0
  12. data/README.md +50 -2
  13. data/Rakefile +71 -2
  14. data/docs/api-keys.md +20 -0
  15. data/docs/auth.md +53 -0
  16. data/docs/client-secrets.md +69 -0
  17. data/docs/getting-started.md +340 -0
  18. data/docs/installation.md +0 -0
  19. data/docs/logging.md +34 -0
  20. data/docs/media-upload.md +25 -0
  21. data/docs/oauth-installed.md +191 -0
  22. data/docs/oauth-server.md +135 -0
  23. data/docs/oauth-web.md +280 -0
  24. data/docs/oauth.md +268 -0
  25. data/docs/pagination.md +29 -0
  26. data/docs/performance.md +25 -0
  27. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  28. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  29. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  30. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  31. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  32. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  33. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  34. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  35. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  36. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  37. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +24 -2
  38. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  39. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  40. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -3
  41. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  42. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  43. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  44. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  45. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  46. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  47. data/generated/google/apis/admin_directory_v1.rb +4 -1
  48. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  49. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  50. data/generated/google/apis/admin_reports_v1.rb +2 -2
  51. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  52. data/generated/google/apis/androidpublisher_v3/classes.rb +105 -0
  53. data/generated/google/apis/androidpublisher_v3/representations.rb +51 -0
  54. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  55. data/generated/google/apis/appengine_v1/service.rb +10 -6
  56. data/generated/google/apis/appengine_v1.rb +1 -1
  57. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  58. data/generated/google/apis/appengine_v1beta.rb +1 -1
  59. data/generated/google/apis/appsmarket_v2.rb +1 -1
  60. data/generated/google/apis/bigquery_v2/classes.rb +104 -23
  61. data/generated/google/apis/bigquery_v2/representations.rb +37 -0
  62. data/generated/google/apis/bigquery_v2/service.rb +1 -5
  63. data/generated/google/apis/bigquery_v2.rb +1 -1
  64. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -5
  65. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  66. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  67. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -4
  68. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  69. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -21
  70. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  71. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  72. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +116 -1
  73. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +35 -0
  74. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  75. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  76. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +61 -77
  77. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +16 -17
  78. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +116 -78
  79. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  80. data/generated/google/apis/bigtableadmin_v1/classes.rb +1 -1
  81. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  82. data/generated/google/apis/bigtableadmin_v2/classes.rb +63 -30
  83. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  84. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  85. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +392 -0
  86. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +191 -0
  87. data/generated/google/apis/billingbudgets_v1beta1/service.rb +233 -0
  88. data/generated/google/apis/billingbudgets_v1beta1.rb +35 -0
  89. data/generated/google/apis/binaryauthorization_v1/classes.rb +6 -5
  90. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  91. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  92. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -5
  93. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  94. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  95. data/generated/google/apis/books_v1/classes.rb +20 -0
  96. data/generated/google/apis/books_v1/representations.rb +3 -0
  97. data/generated/google/apis/books_v1.rb +1 -1
  98. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  99. data/generated/google/apis/calendar_v3/service.rb +18 -30
  100. data/generated/google/apis/calendar_v3.rb +1 -1
  101. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  102. data/generated/google/apis/civicinfo_v2/representations.rb +2 -60
  103. data/generated/google/apis/civicinfo_v2.rb +1 -1
  104. data/generated/google/apis/cloudasset_v1/classes.rb +89 -55
  105. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  106. data/generated/google/apis/cloudasset_v1.rb +1 -1
  107. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -40
  108. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  109. data/generated/google/apis/cloudbilling_v1/classes.rb +82 -36
  110. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  111. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  112. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  113. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -2
  114. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  115. data/generated/google/apis/cloudbuild_v1/service.rb +18 -18
  116. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  117. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  118. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  119. data/generated/google/apis/cloudfunctions_v1/classes.rb +13 -5
  120. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  121. data/generated/google/apis/cloudfunctions_v1/service.rb +10 -4
  122. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  123. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  124. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  125. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  126. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  127. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  128. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  129. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  130. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  131. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  132. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  133. data/generated/google/apis/cloudiot_v1/classes.rb +6 -5
  134. data/generated/google/apis/cloudiot_v1.rb +1 -1
  135. data/generated/google/apis/cloudkms_v1/classes.rb +6 -5
  136. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  137. data/generated/google/apis/cloudkms_v1.rb +1 -1
  138. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -40
  139. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  140. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +18 -17
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  142. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  143. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  144. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +10 -13
  145. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  146. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  147. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +10 -13
  148. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  149. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  150. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  151. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  152. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  153. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  154. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -132
  155. data/generated/google/apis/cloudsearch_v1/representations.rb +0 -75
  156. data/generated/google/apis/cloudsearch_v1/service.rb +47 -9
  157. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  158. data/generated/google/apis/cloudshell_v1/classes.rb +24 -1
  159. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  160. data/generated/google/apis/cloudshell_v1.rb +1 -1
  161. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +24 -1
  162. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  163. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  164. data/generated/google/apis/cloudtasks_v2/classes.rb +212 -5
  165. data/generated/google/apis/cloudtasks_v2/representations.rb +50 -0
  166. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  167. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +6 -5
  168. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  169. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +6 -5
  170. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  171. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +14 -19
  172. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  173. data/generated/google/apis/compute_alpha/classes.rb +594 -164
  174. data/generated/google/apis/compute_alpha/representations.rb +110 -2
  175. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  176. data/generated/google/apis/compute_alpha.rb +1 -1
  177. data/generated/google/apis/compute_beta/classes.rb +1070 -276
  178. data/generated/google/apis/compute_beta/representations.rb +284 -0
  179. data/generated/google/apis/compute_beta/service.rb +1242 -532
  180. data/generated/google/apis/compute_beta.rb +1 -1
  181. data/generated/google/apis/compute_v1/classes.rb +335 -133
  182. data/generated/google/apis/compute_v1/representations.rb +24 -0
  183. data/generated/google/apis/compute_v1/service.rb +759 -473
  184. data/generated/google/apis/compute_v1.rb +1 -1
  185. data/generated/google/apis/container_v1/classes.rb +410 -83
  186. data/generated/google/apis/container_v1/representations.rb +134 -0
  187. data/generated/google/apis/container_v1/service.rb +119 -119
  188. data/generated/google/apis/container_v1.rb +1 -1
  189. data/generated/google/apis/container_v1beta1/classes.rb +157 -3
  190. data/generated/google/apis/container_v1beta1/representations.rb +38 -0
  191. data/generated/google/apis/container_v1beta1.rb +1 -1
  192. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +6 -5
  193. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  194. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +6 -5
  195. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  196. data/generated/google/apis/content_v2/classes.rb +35 -223
  197. data/generated/google/apis/content_v2/representations.rb +0 -115
  198. data/generated/google/apis/content_v2/service.rb +0 -160
  199. data/generated/google/apis/content_v2.rb +1 -1
  200. data/generated/google/apis/content_v2_1/classes.rb +69 -21
  201. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  202. data/generated/google/apis/content_v2_1.rb +1 -1
  203. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1646 -0
  204. data/generated/google/apis/datacatalog_v1beta1/representations.rb +700 -0
  205. data/generated/google/apis/datacatalog_v1beta1/service.rb +1982 -0
  206. data/generated/google/apis/{cloudbuild_v1alpha1.rb → datacatalog_v1beta1.rb} +10 -9
  207. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  208. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  209. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  210. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  211. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  212. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  213. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  214. data/generated/google/apis/dataproc_v1/classes.rb +119 -11
  215. data/generated/google/apis/dataproc_v1/representations.rb +39 -0
  216. data/generated/google/apis/dataproc_v1/service.rb +14 -7
  217. data/generated/google/apis/dataproc_v1.rb +1 -1
  218. data/generated/google/apis/dataproc_v1beta2/classes.rb +9 -11
  219. data/generated/google/apis/dataproc_v1beta2/service.rb +26 -19
  220. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  221. data/generated/google/apis/datastore_v1/service.rb +85 -1
  222. data/generated/google/apis/datastore_v1.rb +1 -1
  223. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  224. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  225. data/generated/google/apis/dfareporting_v3_3/classes.rb +21 -1
  226. data/generated/google/apis/dfareporting_v3_3/service.rb +6 -6
  227. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  228. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/classes.rb +1215 -797
  229. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/representations.rb +593 -395
  230. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/service.rb +966 -1074
  231. data/generated/google/apis/{dfareporting_v3_2.rb → dfareporting_v3_4.rb} +6 -6
  232. data/generated/google/apis/dialogflow_v2/classes.rb +509 -8
  233. data/generated/google/apis/dialogflow_v2/representations.rb +222 -0
  234. data/generated/google/apis/dialogflow_v2.rb +1 -1
  235. data/generated/google/apis/dialogflow_v2beta1/classes.rb +530 -8
  236. data/generated/google/apis/dialogflow_v2beta1/representations.rb +224 -0
  237. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  238. data/generated/google/apis/dlp_v2/classes.rb +109 -33
  239. data/generated/google/apis/dlp_v2/representations.rb +23 -3
  240. data/generated/google/apis/dlp_v2/service.rb +1996 -209
  241. data/generated/google/apis/dlp_v2.rb +1 -1
  242. data/generated/google/apis/dns_v1beta2/classes.rb +47 -0
  243. data/generated/google/apis/dns_v1beta2/representations.rb +17 -0
  244. data/generated/google/apis/dns_v1beta2.rb +1 -1
  245. data/generated/google/apis/docs_v1/classes.rb +175 -0
  246. data/generated/google/apis/docs_v1/representations.rb +77 -0
  247. data/generated/google/apis/docs_v1.rb +1 -1
  248. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  249. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +826 -0
  250. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +372 -0
  251. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +371 -0
  252. data/generated/google/apis/{urlshortener_v1.rb → doubleclickbidmanager_v1_1.rb} +11 -11
  253. data/generated/google/apis/drive_v2/classes.rb +2 -1
  254. data/generated/google/apis/drive_v2/service.rb +3 -3
  255. data/generated/google/apis/drive_v2.rb +1 -1
  256. data/generated/google/apis/drive_v3/classes.rb +12 -3
  257. data/generated/google/apis/drive_v3.rb +1 -1
  258. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  259. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  260. data/generated/google/apis/fcm_v1.rb +1 -1
  261. data/generated/google/apis/firebase_v1beta1/classes.rb +18 -4
  262. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  263. data/generated/google/apis/firebase_v1beta1/service.rb +6 -6
  264. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  265. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +62 -0
  266. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +31 -0
  267. data/generated/google/apis/firebasehosting_v1beta1/service.rb +47 -0
  268. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  269. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  270. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  271. data/generated/google/apis/firebaserules_v1.rb +1 -1
  272. data/generated/google/apis/firestore_v1.rb +1 -1
  273. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  274. data/generated/google/apis/fitness_v1/service.rb +1 -1
  275. data/generated/google/apis/fitness_v1.rb +1 -1
  276. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  277. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  278. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  279. data/generated/google/apis/games_management_v1management.rb +1 -1
  280. data/generated/google/apis/games_v1/classes.rb +6 -292
  281. data/generated/google/apis/games_v1/representations.rb +1 -98
  282. data/generated/google/apis/games_v1/service.rb +0 -123
  283. data/generated/google/apis/games_v1.rb +1 -1
  284. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  285. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  286. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  287. data/generated/google/apis/healthcare_v1beta1/classes.rb +213 -16
  288. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  289. data/generated/google/apis/healthcare_v1beta1/service.rb +207 -116
  290. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  291. data/generated/google/apis/homegraph_v1/classes.rb +15 -1
  292. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  293. data/generated/google/apis/homegraph_v1.rb +1 -1
  294. data/generated/google/apis/iam_v1/classes.rb +15 -7
  295. data/generated/google/apis/iam_v1/representations.rb +1 -0
  296. data/generated/google/apis/iam_v1.rb +1 -1
  297. data/generated/google/apis/iap_v1/classes.rb +187 -2
  298. data/generated/google/apis/iap_v1/representations.rb +102 -0
  299. data/generated/google/apis/iap_v1/service.rb +72 -0
  300. data/generated/google/apis/iap_v1.rb +1 -1
  301. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  302. data/generated/google/apis/iap_v1beta1.rb +1 -1
  303. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  304. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  305. data/generated/google/apis/jobs_v2.rb +1 -1
  306. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  307. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  308. data/generated/google/apis/jobs_v3.rb +1 -1
  309. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  310. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  311. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  312. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  313. data/generated/google/apis/licensing_v1/service.rb +81 -37
  314. data/generated/google/apis/licensing_v1.rb +4 -4
  315. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  316. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  317. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  318. data/generated/google/apis/lifesciences_v2beta.rb +35 -0
  319. data/generated/google/apis/logging_v2/classes.rb +30 -2
  320. data/generated/google/apis/logging_v2/representations.rb +4 -0
  321. data/generated/google/apis/logging_v2/service.rb +10 -5
  322. data/generated/google/apis/logging_v2.rb +1 -1
  323. data/generated/google/apis/ml_v1/classes.rb +308 -155
  324. data/generated/google/apis/ml_v1/representations.rb +59 -0
  325. data/generated/google/apis/ml_v1/service.rb +44 -3
  326. data/generated/google/apis/ml_v1.rb +2 -2
  327. data/generated/google/apis/monitoring_v1/classes.rb +1153 -0
  328. data/generated/google/apis/monitoring_v1/representations.rb +528 -0
  329. data/generated/google/apis/{cloudbuild_v1alpha1 → monitoring_v1}/service.rb +86 -63
  330. data/generated/google/apis/monitoring_v1.rb +48 -0
  331. data/generated/google/apis/monitoring_v3/classes.rb +836 -60
  332. data/generated/google/apis/monitoring_v3/representations.rb +348 -0
  333. data/generated/google/apis/monitoring_v3/service.rb +384 -2
  334. data/generated/google/apis/monitoring_v3.rb +1 -1
  335. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  336. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  337. data/generated/google/apis/oslogin_v1.rb +1 -1
  338. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  339. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  340. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  341. data/generated/google/apis/pagespeedonline_v5/classes.rb +8 -0
  342. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  343. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  344. data/generated/google/apis/people_v1/classes.rb +67 -63
  345. data/generated/google/apis/people_v1/service.rb +53 -44
  346. data/generated/google/apis/people_v1.rb +1 -1
  347. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -90
  348. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  349. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  350. data/generated/google/apis/pubsub_v1/classes.rb +8 -6
  351. data/generated/google/apis/pubsub_v1/service.rb +9 -7
  352. data/generated/google/apis/pubsub_v1.rb +1 -1
  353. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -5
  354. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  355. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  356. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  357. data/generated/google/apis/recommender_v1beta1/service.rb +10 -8
  358. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  359. data/generated/google/apis/redis_v1/classes.rb +11 -11
  360. data/generated/google/apis/redis_v1/service.rb +5 -5
  361. data/generated/google/apis/redis_v1.rb +1 -1
  362. data/generated/google/apis/redis_v1beta1/classes.rb +11 -11
  363. data/generated/google/apis/redis_v1beta1/service.rb +5 -5
  364. data/generated/google/apis/redis_v1beta1.rb +1 -1
  365. data/generated/google/apis/remotebuildexecution_v1/classes.rb +113 -0
  366. data/generated/google/apis/remotebuildexecution_v1/representations.rb +50 -0
  367. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  368. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +113 -0
  369. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +50 -0
  370. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  371. data/generated/google/apis/remotebuildexecution_v2/classes.rb +113 -0
  372. data/generated/google/apis/remotebuildexecution_v2/representations.rb +50 -0
  373. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  374. data/generated/google/apis/reseller_v1/service.rb +1 -1
  375. data/generated/google/apis/reseller_v1.rb +1 -1
  376. data/generated/google/apis/run_v1/classes.rb +8 -176
  377. data/generated/google/apis/run_v1/representations.rb +0 -71
  378. data/generated/google/apis/run_v1/service.rb +209 -1125
  379. data/generated/google/apis/run_v1.rb +1 -1
  380. data/generated/google/apis/run_v1alpha1/classes.rb +328 -9
  381. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  382. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  383. data/generated/google/apis/run_v1alpha1.rb +1 -1
  384. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -40
  385. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  386. data/generated/google/apis/securitycenter_v1/classes.rb +159 -66
  387. data/generated/google/apis/securitycenter_v1/representations.rb +19 -0
  388. data/generated/google/apis/securitycenter_v1/service.rb +14 -12
  389. data/generated/google/apis/securitycenter_v1.rb +1 -1
  390. data/generated/google/apis/securitycenter_v1beta1/classes.rb +95 -57
  391. data/generated/google/apis/securitycenter_v1beta1/service.rb +14 -12
  392. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  393. data/generated/google/apis/servicebroker_v1/classes.rb +75 -40
  394. data/generated/google/apis/servicebroker_v1.rb +1 -1
  395. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -40
  396. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  397. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -40
  398. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  399. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +95 -43
  400. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  401. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  402. data/generated/google/apis/servicecontrol_v1/classes.rb +8 -12
  403. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -1
  404. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  405. data/generated/google/apis/servicemanagement_v1/classes.rb +142 -91
  406. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  407. data/generated/google/apis/servicemanagement_v1/service.rb +32 -26
  408. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1/classes.rb +181 -54
  410. data/generated/google/apis/servicenetworking_v1/representations.rb +71 -0
  411. data/generated/google/apis/servicenetworking_v1/service.rb +77 -3
  412. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  413. data/generated/google/apis/servicenetworking_v1beta/classes.rb +32 -43
  414. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  415. data/generated/google/apis/serviceusage_v1/classes.rb +87 -43
  416. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  417. data/generated/google/apis/serviceusage_v1.rb +1 -1
  418. data/generated/google/apis/serviceusage_v1beta1/classes.rb +87 -43
  419. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  420. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  421. data/generated/google/apis/sheets_v4/classes.rb +1371 -232
  422. data/generated/google/apis/sheets_v4/representations.rb +180 -0
  423. data/generated/google/apis/sheets_v4.rb +1 -1
  424. data/generated/google/apis/spanner_v1/classes.rb +70 -30
  425. data/generated/google/apis/spanner_v1/service.rb +270 -0
  426. data/generated/google/apis/spanner_v1.rb +1 -1
  427. data/generated/google/apis/speech_v1/classes.rb +6 -0
  428. data/generated/google/apis/speech_v1/representations.rb +1 -0
  429. data/generated/google/apis/speech_v1.rb +1 -1
  430. data/generated/google/apis/speech_v1p1beta1/classes.rb +6 -0
  431. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  432. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  433. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  434. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  435. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  436. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  437. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/classes.rb +499 -380
  438. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/representations.rb +125 -104
  439. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/service.rb +637 -590
  440. data/generated/google/apis/{sqladmin_v1beta4.rb → sql_v1beta4.rb} +7 -8
  441. data/generated/google/apis/storage_v1.rb +1 -1
  442. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  443. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  444. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  445. data/generated/google/apis/testing_v1/classes.rb +142 -1
  446. data/generated/google/apis/testing_v1/representations.rb +76 -0
  447. data/generated/google/apis/testing_v1.rb +1 -1
  448. data/generated/google/apis/videointelligence_v1/classes.rb +147 -36
  449. data/generated/google/apis/videointelligence_v1/representations.rb +62 -0
  450. data/generated/google/apis/videointelligence_v1.rb +1 -1
  451. data/generated/google/apis/videointelligence_v1beta2/classes.rb +147 -36
  452. data/generated/google/apis/videointelligence_v1beta2/representations.rb +62 -0
  453. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  454. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +147 -36
  455. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +62 -0
  456. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  457. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +147 -36
  458. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +62 -0
  459. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  460. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +147 -36
  461. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +62 -0
  462. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  463. data/generated/google/apis/vision_v1/classes.rb +66 -0
  464. data/generated/google/apis/vision_v1/representations.rb +32 -0
  465. data/generated/google/apis/vision_v1.rb +1 -1
  466. data/generated/google/apis/vision_v1p1beta1/classes.rb +66 -0
  467. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  468. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  469. data/generated/google/apis/vision_v1p2beta1/classes.rb +66 -0
  470. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  471. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  472. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  473. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  474. data/google-api-client.gemspec +6 -3
  475. data/lib/google/apis/core/api_command.rb +3 -0
  476. data/lib/google/apis/core/http_command.rb +10 -8
  477. data/lib/google/apis/core/upload.rb +4 -0
  478. data/lib/google/apis/version.rb +1 -1
  479. data/rakelib/devsite/devsite_builder.rb +126 -0
  480. data/rakelib/devsite/link_checker.rb +64 -0
  481. data/rakelib/devsite/repo_metadata.rb +56 -0
  482. metadata +64 -42
  483. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1168
  484. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -434
  485. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  486. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  487. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
  488. data/generated/google/apis/storage_v1beta1.rb +0 -40
  489. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  490. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  491. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -1119,7 +1119,7 @@ module Google
1119
1119
  # @return [Fixnum]
1120
1120
  attr_accessor :count
1121
1121
 
1122
- # [OutputOnly] Indicates how many instances are in use.
1122
+ # [Output Only] Indicates how many instances are in use.
1123
1123
  # Corresponds to the JSON property `inUseCount`
1124
1124
  # @return [Fixnum]
1125
1125
  attr_accessor :in_use_count
@@ -1547,7 +1547,13 @@ module Google
1547
1547
  # @return [String]
1548
1548
  attr_accessor :self_link
1549
1549
 
1550
- # [Output Only] The status of the autoscaler configuration.
1550
+ # [Output Only] The status of the autoscaler configuration. Current set of
1551
+ # possible values: PENDING: Autoscaler backend hasn't read new/updated
1552
+ # configuration DELETING: Configuration is being deleted ACTIVE: Configuration
1553
+ # is acknowledged to be effective. Some warnings might or might not be present
1554
+ # in the status_details field. ERROR: Configuration has errors. Actionable for
1555
+ # users. Details are present in the status_details field. New values might be
1556
+ # added in the future.
1551
1557
  # Corresponds to the JSON property `status`
1552
1558
  # @return [String]
1553
1559
  attr_accessor :status
@@ -1836,7 +1842,38 @@ module Google
1836
1842
  # @return [String]
1837
1843
  attr_accessor :message
1838
1844
 
1839
- # The type of error returned.
1845
+ # The type of error, warning or notice returned. Current set of possible values:
1846
+ # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
1847
+ # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR):
1848
+ # There is no backend service attached to the instance group.
1849
+ # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than
1850
+ # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom
1851
+ # metric samples are not exported often enough to be a credible base for
1852
+ # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was
1853
+ # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX
1854
+ # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the
1855
+ # autoscaler cannot add or remove instances from the instance group.
1856
+ # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
1857
+ # any data from the custom metric configured for autoscaling.
1858
+ # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to
1859
+ # scale based on a load balancing signal but the instance group has not received
1860
+ # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned
1861
+ # off. The number of instances in the group won't change automatically. The
1862
+ # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is
1863
+ # in the "Autoscale only up" mode. Instances in the group will be only added.
1864
+ # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled
1865
+ # because it has more than one backend service attached to it.
1866
+ # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources,
1867
+ # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR):
1868
+ # Showed only for regional autoscalers: there is a resource stockout in the
1869
+ # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled
1870
+ # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR):
1871
+ # Autoscaling does not work with an HTTP/S load balancer that has been
1872
+ # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers:
1873
+ # there is a resource stockout in the chosen zone. For regional autoscalers: in
1874
+ # at least one of the zones you're using there is a resource stockout. New
1875
+ # values might be added in the future. Some of the values might not be available
1876
+ # in all API versions.
1840
1877
  # Corresponds to the JSON property `type`
1841
1878
  # @return [String]
1842
1879
  attr_accessor :type
@@ -2485,16 +2522,10 @@ module Google
2485
2522
  end
2486
2523
 
2487
2524
  # Represents a Backend Service resource.
2488
- # Backend services must have an associated health check. Backend services also
2489
- # store information about session affinity. For more information, read Backend
2490
- # Services.
2491
- # A backendServices resource represents a global backend service. Global backend
2492
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2493
- # Director.
2494
- # A regionBackendServices resource represents a regional backend service.
2495
- # Regional backend services are used for internal TCP/UDP load balancing. For
2496
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2497
- # backendService ==) (== resource_for beta.backendService ==)
2525
+ # A backend service contains configuration values for Google Cloud Platform load
2526
+ # balancing services.
2527
+ # For more information, read Backend Services.
2528
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2498
2529
  class BackendService
2499
2530
  include Google::Apis::Core::Hashable
2500
2531
 
@@ -2592,9 +2623,12 @@ module Google
2592
2623
  # @return [String]
2593
2624
  attr_accessor :kind
2594
2625
 
2595
- # Indicates whether the backend service will be used with internal or external
2596
- # load balancing. A backend service created for one type of load balancing
2597
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2626
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2627
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2628
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2629
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2630
+ # for one type of load balancing cannot be used with another. For more
2631
+ # information, refer to Choosing a load balancer.
2598
2632
  # Corresponds to the JSON property `loadBalancingScheme`
2599
2633
  # @return [String]
2600
2634
  attr_accessor :load_balancing_scheme
@@ -2636,7 +2670,8 @@ module Google
2636
2670
  # @return [String]
2637
2671
  attr_accessor :name
2638
2672
 
2639
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2673
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
2674
+ # pool for the backend service.
2640
2675
  # Corresponds to the JSON property `outlierDetection`
2641
2676
  # @return [Google::Apis::ComputeV1::OutlierDetection]
2642
2677
  attr_accessor :outlier_detection
@@ -2661,9 +2696,10 @@ module Google
2661
2696
  attr_accessor :port_name
2662
2697
 
2663
2698
  # The protocol this BackendService uses to communicate with backends.
2664
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
2665
- # load balancer or Traffic Director configuration. Refer to the documentation
2666
- # for the load balancer or for Traffic director for more information.
2699
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2700
+ # chosen load balancer or Traffic Director configuration. Refer to the
2701
+ # documentation for the load balancer or for Traffic Director for more
2702
+ # information.
2667
2703
  # Corresponds to the JSON property `protocol`
2668
2704
  # @return [String]
2669
2705
  attr_accessor :protocol
@@ -3324,33 +3360,34 @@ module Google
3324
3360
  class CircuitBreakers
3325
3361
  include Google::Apis::Core::Hashable
3326
3362
 
3327
- # The maximum number of connections to the backend cluster. If not specified,
3328
- # the default is 1024.
3363
+ # The maximum number of connections to the backend service. If not specified,
3364
+ # there is no limit.
3329
3365
  # Corresponds to the JSON property `maxConnections`
3330
3366
  # @return [Fixnum]
3331
3367
  attr_accessor :max_connections
3332
3368
 
3333
- # The maximum number of pending requests allowed to the backend cluster. If not
3334
- # specified, the default is 1024.
3369
+ # The maximum number of pending requests allowed to the backend service. If not
3370
+ # specified, there is no limit.
3335
3371
  # Corresponds to the JSON property `maxPendingRequests`
3336
3372
  # @return [Fixnum]
3337
3373
  attr_accessor :max_pending_requests
3338
3374
 
3339
- # The maximum number of parallel requests that allowed to the backend cluster.
3340
- # If not specified, the default is 1024.
3375
+ # The maximum number of parallel requests that allowed to the backend service.
3376
+ # If not specified, there is no limit.
3341
3377
  # Corresponds to the JSON property `maxRequests`
3342
3378
  # @return [Fixnum]
3343
3379
  attr_accessor :max_requests
3344
3380
 
3345
- # Maximum requests for a single backend connection. This parameter is respected
3346
- # by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no
3347
- # limit. Setting this parameter to 1 will effectively disable keep alive.
3381
+ # Maximum requests for a single connection to the backend service. This
3382
+ # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
3383
+ # specified, there is no limit. Setting this parameter to 1 will effectively
3384
+ # disable keep alive.
3348
3385
  # Corresponds to the JSON property `maxRequestsPerConnection`
3349
3386
  # @return [Fixnum]
3350
3387
  attr_accessor :max_requests_per_connection
3351
3388
 
3352
3389
  # The maximum number of parallel retries allowed to the backend cluster. If not
3353
- # specified, the default is 3.
3390
+ # specified, the default is 1.
3354
3391
  # Corresponds to the JSON property `maxRetries`
3355
3392
  # @return [Fixnum]
3356
3393
  attr_accessor :max_retries
@@ -5142,7 +5179,8 @@ module Google
5142
5179
  class DisksAddResourcePoliciesRequest
5143
5180
  include Google::Apis::Core::Hashable
5144
5181
 
5145
- # Resource policies to be added to this disk.
5182
+ # Resource policies to be added to this disk. Currently you can only specify one
5183
+ # policy here.
5146
5184
  # Corresponds to the JSON property `resourcePolicies`
5147
5185
  # @return [Array<String>]
5148
5186
  attr_accessor :resource_policies
@@ -6109,27 +6147,12 @@ module Google
6109
6147
  end
6110
6148
 
6111
6149
  # Represents a Forwarding Rule resource.
6112
- # A forwardingRules resource represents a regional forwarding rule.
6113
- # Regional external forwarding rules can reference any of the following
6114
- # resources:
6115
- #
6116
- # - A target instance
6117
- # - A Cloud VPN Classic gateway (targetVpnGateway),
6118
- # - A target pool for a Network Load Balancer
6119
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
6120
- # Tier
6121
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
6122
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
6123
- # Regional internal forwarding rules can reference the backend service of an
6124
- # internal TCP/UDP load balancer.
6125
- # For regional internal forwarding rules, the following applies:
6126
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
6127
- # forwarding rule references a regional internal backend service.
6128
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
6129
- # the forwarding rule must reference a regional target HTTP(S) proxy.
6130
- # For more information, read Using Forwarding rules.
6131
- # A globalForwardingRules resource represents a global forwarding rule.
6132
- # Global forwarding rules are only used by load balancers that use Premium Tier.
6150
+ # A forwarding rule and its corresponding IP address represent the frontend
6151
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6152
+ # also reference target instances and Cloud VPN Classic gateways (
6153
+ # targetVpnGateway).
6154
+ # For more information, read Forwarding rule concepts and Using protocol
6155
+ # forwarding.
6133
6156
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6134
6157
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6135
6158
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -6157,8 +6180,14 @@ module Google
6157
6180
 
6158
6181
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6159
6182
  # AH, SCTP or ICMP.
6160
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
6161
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
6183
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6184
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6185
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6186
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6187
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6188
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6189
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6190
+ # valid.
6162
6191
  # Corresponds to the JSON property `IPProtocol`
6163
6192
  # @return [String]
6164
6193
  attr_accessor :ip_protocol
@@ -6211,12 +6240,14 @@ module Google
6211
6240
  # @return [String]
6212
6241
  attr_accessor :kind
6213
6242
 
6214
- # This signifies what the ForwardingRule will be used for and can only take the
6215
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
6216
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
6217
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
6218
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
6219
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
6243
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6244
+ # gateways - Protocol forwarding to VMs from an external IP address - The
6245
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6246
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6247
+ # - Internal TCP/UDP load balancers
6248
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6249
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6250
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
6220
6251
  # Corresponds to the JSON property `loadBalancingScheme`
6221
6252
  # @return [String]
6222
6253
  attr_accessor :load_balancing_scheme
@@ -6788,19 +6819,28 @@ module Google
6788
6819
 
6789
6820
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
6790
6821
  # access control policies for Cloud Platform resources.
6791
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
6792
- # members` to a `role`, where the members can be user accounts, Google groups,
6793
- # Google domains, and service accounts. A `role` is a named list of permissions
6794
- # defined by IAM.
6822
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
6823
+ # members` to a single `role`. Members can be user accounts, service accounts,
6824
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
6825
+ # permissions (defined by IAM or configured by users). A `binding` can
6826
+ # optionally specify a `condition`, which is a logic expression that further
6827
+ # constrains the role binding based on attributes about the request and/or
6828
+ # target resource.
6795
6829
  # **JSON Example**
6796
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
6797
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
6798
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
6799
- # sean@example.com"] ` ] `
6830
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
6831
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
6832
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
6833
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
6834
+ # "condition": ` "title": "expirable access", "description": "Does not grant
6835
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
6836
+ # 00:00.000Z')", ` ` ] `
6800
6837
  # **YAML Example**
6801
6838
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
6802
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
6803
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
6839
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
6840
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
6841
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
6842
+ # access description: Does not grant access after Sep 2020 expression: request.
6843
+ # time < timestamp('2020-10-01T00:00:00.000Z')
6804
6844
  # For a description of IAM and its features, see the [IAM developer's guide](
6805
6845
  # https://cloud.google.com/iam/docs).
6806
6846
  # Corresponds to the JSON property `policy`
@@ -8372,7 +8412,8 @@ module Google
8372
8412
  class HttpRetryPolicy
8373
8413
  include Google::Apis::Core::Hashable
8374
8414
 
8375
- # Specifies the allowed number retries. This number must be > 0.
8415
+ # Specifies the allowed number retries. This number must be > 0. If not
8416
+ # specified, defaults to 1.
8376
8417
  # Corresponds to the JSON property `numRetries`
8377
8418
  # @return [Fixnum]
8378
8419
  attr_accessor :num_retries
@@ -8506,6 +8547,12 @@ module Google
8506
8547
  class HttpRouteRule
8507
8548
  include Google::Apis::Core::Hashable
8508
8549
 
8550
+ # The short description conveying the intent of this routeRule.
8551
+ # The description can have a maximum length of 1024 characters.
8552
+ # Corresponds to the JSON property `description`
8553
+ # @return [String]
8554
+ attr_accessor :description
8555
+
8509
8556
  # The request and response header transformations that take effect before the
8510
8557
  # request is passed along to the selected backendService.
8511
8558
  # Corresponds to the JSON property `headerAction`
@@ -8517,6 +8564,22 @@ module Google
8517
8564
  # @return [Array<Google::Apis::ComputeV1::HttpRouteRuleMatch>]
8518
8565
  attr_accessor :match_rules
8519
8566
 
8567
+ # For routeRules within a given pathMatcher, priority determines the order in
8568
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
8569
+ # order of priority, from the lowest to highest number. The priority of a rule
8570
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
8571
+ # the request is applied.
8572
+ # You cannot configure two or more routeRules with the same priority. Priority
8573
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
8574
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
8575
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
8576
+ # 12, 16 is a valid series of priority numbers to which you could add rules
8577
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
8578
+ # on existing rules.
8579
+ # Corresponds to the JSON property `priority`
8580
+ # @return [Fixnum]
8581
+ attr_accessor :priority
8582
+
8520
8583
  # In response to a matching matchRule, the load balancer performs advanced
8521
8584
  # routing actions like URL rewrites, header transformations, etc. prior to
8522
8585
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -8550,8 +8613,10 @@ module Google
8550
8613
 
8551
8614
  # Update properties of this object
8552
8615
  def update!(**args)
8616
+ @description = args[:description] if args.key?(:description)
8553
8617
  @header_action = args[:header_action] if args.key?(:header_action)
8554
8618
  @match_rules = args[:match_rules] if args.key?(:match_rules)
8619
+ @priority = args[:priority] if args.key?(:priority)
8555
8620
  @route_action = args[:route_action] if args.key?(:route_action)
8556
8621
  @service = args[:service] if args.key?(:service)
8557
8622
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -13879,10 +13944,10 @@ module Google
13879
13944
  # a representation of IAMContext.principal even if a token or authority selector
13880
13945
  # is present; or - "" (empty string), resulting in a counter with no fields.
13881
13946
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
13882
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
13883
- # of IAMContext.principal]`
13884
- # At this time we do not support multiple field names (though this may be
13885
- # supported in the future).
13947
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
13948
+ # IAMContext.principal]`
13949
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
13950
+ # in the same counter.
13886
13951
  # Corresponds to the JSON property `counter`
13887
13952
  # @return [Google::Apis::ComputeV1::LogConfigCounterOptions]
13888
13953
  attr_accessor :counter
@@ -13941,13 +14006,18 @@ module Google
13941
14006
  # a representation of IAMContext.principal even if a token or authority selector
13942
14007
  # is present; or - "" (empty string), resulting in a counter with no fields.
13943
14008
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
13944
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
13945
- # of IAMContext.principal]`
13946
- # At this time we do not support multiple field names (though this may be
13947
- # supported in the future).
14009
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
14010
+ # IAMContext.principal]`
14011
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
14012
+ # in the same counter.
13948
14013
  class LogConfigCounterOptions
13949
14014
  include Google::Apis::Core::Hashable
13950
14015
 
14016
+ # Custom fields.
14017
+ # Corresponds to the JSON property `customFields`
14018
+ # @return [Array<Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField>]
14019
+ attr_accessor :custom_fields
14020
+
13951
14021
  # The field value to attribute.
13952
14022
  # Corresponds to the JSON property `field`
13953
14023
  # @return [String]
@@ -13964,11 +14034,40 @@ module Google
13964
14034
 
13965
14035
  # Update properties of this object
13966
14036
  def update!(**args)
14037
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
13967
14038
  @field = args[:field] if args.key?(:field)
13968
14039
  @metric = args[:metric] if args.key?(:metric)
13969
14040
  end
13970
14041
  end
13971
14042
 
14043
+ # Custom fields. These can be used to create a counter with arbitrary field/
14044
+ # value pairs. See: go/rpcsp-custom-fields.
14045
+ class LogConfigCounterOptionsCustomField
14046
+ include Google::Apis::Core::Hashable
14047
+
14048
+ # Name is the field name.
14049
+ # Corresponds to the JSON property `name`
14050
+ # @return [String]
14051
+ attr_accessor :name
14052
+
14053
+ # Value is the field value. It is important that in contrast to the
14054
+ # CounterOptions.field, the value here is a constant that is not derived from
14055
+ # the IAMContext.
14056
+ # Corresponds to the JSON property `value`
14057
+ # @return [String]
14058
+ attr_accessor :value
14059
+
14060
+ def initialize(**args)
14061
+ update!(**args)
14062
+ end
14063
+
14064
+ # Update properties of this object
14065
+ def update!(**args)
14066
+ @name = args[:name] if args.key?(:name)
14067
+ @value = args[:value] if args.key?(:value)
14068
+ end
14069
+ end
14070
+
13972
14071
  # Write a Data Access (Gin) log
13973
14072
  class LogConfigDataAccessOptions
13974
14073
  include Google::Apis::Core::Hashable
@@ -14936,6 +15035,9 @@ module Google
14936
15035
  end
14937
15036
 
14938
15037
  # Represents a collection of network endpoints.
15038
+ # For more information read Setting up network endpoint groups in load balancing.
15039
+ # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
15040
+ # networkEndpointGroups ==)
14939
15041
  class NetworkEndpointGroup
14940
15042
  include Google::Apis::Core::Hashable
14941
15043
 
@@ -15965,7 +16067,7 @@ module Google
15965
16067
  # instances physically separated from instances in other projects, or to group
15966
16068
  # your instances together on the same host hardware. For more information, read
15967
16069
  # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
15968
- # nodeGroups ==) NextID: 15
16070
+ # nodeGroups ==) NextID: 16
15969
16071
  class NodeGroup
15970
16072
  include Google::Apis::Core::Hashable
15971
16073
 
@@ -18115,7 +18217,8 @@ module Google
18115
18217
  end
18116
18218
  end
18117
18219
 
18118
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
18220
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
18221
+ # pool for the backend service.
18119
18222
  class OutlierDetection
18120
18223
  include Google::Apis::Core::Hashable
18121
18224
 
@@ -18136,21 +18239,21 @@ module Google
18136
18239
 
18137
18240
  # The number of consecutive gateway failures (502, 503, 504 status or connection
18138
18241
  # errors that are mapped to one of those status codes) before a consecutive
18139
- # gateway failure ejection occurs. Defaults to 5.
18242
+ # gateway failure ejection occurs. Defaults to 3.
18140
18243
  # Corresponds to the JSON property `consecutiveGatewayFailure`
18141
18244
  # @return [Fixnum]
18142
18245
  attr_accessor :consecutive_gateway_failure
18143
18246
 
18144
18247
  # The percentage chance that a host will be actually ejected when an outlier
18145
18248
  # status is detected through consecutive 5xx. This setting can be used to
18146
- # disable ejection or to ramp it up slowly. Defaults to 100.
18249
+ # disable ejection or to ramp it up slowly. Defaults to 0.
18147
18250
  # Corresponds to the JSON property `enforcingConsecutiveErrors`
18148
18251
  # @return [Fixnum]
18149
18252
  attr_accessor :enforcing_consecutive_errors
18150
18253
 
18151
18254
  # The percentage chance that a host will be actually ejected when an outlier
18152
18255
  # status is detected through consecutive gateway failures. This setting can be
18153
- # used to disable ejection or to ramp it up slowly. Defaults to 0.
18256
+ # used to disable ejection or to ramp it up slowly. Defaults to 100.
18154
18257
  # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
18155
18258
  # @return [Fixnum]
18156
18259
  attr_accessor :enforcing_consecutive_gateway_failure
@@ -18171,7 +18274,7 @@ module Google
18171
18274
  attr_accessor :interval
18172
18275
 
18173
18276
  # Maximum percentage of hosts in the load balancing pool for the backend service
18174
- # that can be ejected. Defaults to 10%.
18277
+ # that can be ejected. Defaults to 50%.
18175
18278
  # Corresponds to the JSON property `maxEjectionPercent`
18176
18279
  # @return [Fixnum]
18177
18280
  attr_accessor :max_ejection_percent
@@ -18377,19 +18480,28 @@ module Google
18377
18480
 
18378
18481
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
18379
18482
  # access control policies for Cloud Platform resources.
18380
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
18381
- # members` to a `role`, where the members can be user accounts, Google groups,
18382
- # Google domains, and service accounts. A `role` is a named list of permissions
18383
- # defined by IAM.
18483
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
18484
+ # members` to a single `role`. Members can be user accounts, service accounts,
18485
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
18486
+ # permissions (defined by IAM or configured by users). A `binding` can
18487
+ # optionally specify a `condition`, which is a logic expression that further
18488
+ # constrains the role binding based on attributes about the request and/or
18489
+ # target resource.
18384
18490
  # **JSON Example**
18385
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
18386
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
18387
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
18388
- # sean@example.com"] ` ] `
18491
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
18492
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
18493
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
18494
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
18495
+ # "condition": ` "title": "expirable access", "description": "Does not grant
18496
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
18497
+ # 00:00.000Z')", ` ` ] `
18389
18498
  # **YAML Example**
18390
18499
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
18391
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
18392
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
18500
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
18501
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
18502
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
18503
+ # access description: Does not grant access after Sep 2020 expression: request.
18504
+ # time < timestamp('2020-10-01T00:00:00.000Z')
18393
18505
  # For a description of IAM and its features, see the [IAM developer's guide](
18394
18506
  # https://cloud.google.com/iam/docs).
18395
18507
  class Policy
@@ -18400,8 +18512,9 @@ module Google
18400
18512
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
18401
18513
  attr_accessor :audit_configs
18402
18514
 
18403
- # Associates a list of `members` to a `role`. `bindings` with no members will
18404
- # result in an error.
18515
+ # Associates a list of `members` to a `role`. Optionally may specify a `
18516
+ # condition` that determines when binding is in effect. `bindings` with no
18517
+ # members will result in an error.
18405
18518
  # Corresponds to the JSON property `bindings`
18406
18519
  # @return [Array<Google::Apis::ComputeV1::Binding>]
18407
18520
  attr_accessor :bindings
@@ -18414,7 +18527,9 @@ module Google
18414
18527
  # that etag in the request to `setIamPolicy` to ensure that their change will be
18415
18528
  # applied to the same version of the policy.
18416
18529
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
18417
- # policy is overwritten.
18530
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
18531
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
18532
+ # not meet the version requirements.
18418
18533
  # Corresponds to the JSON property `etag`
18419
18534
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18420
18535
  # @return [String]
@@ -18440,9 +18555,13 @@ module Google
18440
18555
  # Specifies the format of the policy.
18441
18556
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
18442
18557
  # rejected.
18443
- # Policies with any conditional bindings must specify version 3. Policies
18444
- # without any conditional bindings may specify any valid value or leave the
18445
- # field unset.
18558
+ # Operations affecting conditional bindings must specify version 3. This can be
18559
+ # either setting a conditional policy, modifying a conditional binding, or
18560
+ # removing a conditional binding from the stored conditional policy. Operations
18561
+ # on non-conditional policies may specify any valid value or leave the field
18562
+ # unset.
18563
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
18564
+ # checks on the incoming and/or stored policy is skipped.
18446
18565
  # Corresponds to the JSON property `version`
18447
18566
  # @return [Fixnum]
18448
18567
  attr_accessor :version
@@ -19832,19 +19951,28 @@ module Google
19832
19951
 
19833
19952
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
19834
19953
  # access control policies for Cloud Platform resources.
19835
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19836
- # members` to a `role`, where the members can be user accounts, Google groups,
19837
- # Google domains, and service accounts. A `role` is a named list of permissions
19838
- # defined by IAM.
19954
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
19955
+ # members` to a single `role`. Members can be user accounts, service accounts,
19956
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
19957
+ # permissions (defined by IAM or configured by users). A `binding` can
19958
+ # optionally specify a `condition`, which is a logic expression that further
19959
+ # constrains the role binding based on attributes about the request and/or
19960
+ # target resource.
19839
19961
  # **JSON Example**
19840
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19841
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19842
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19843
- # sean@example.com"] ` ] `
19962
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
19963
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
19964
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
19965
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
19966
+ # "condition": ` "title": "expirable access", "description": "Does not grant
19967
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
19968
+ # 00:00.000Z')", ` ` ] `
19844
19969
  # **YAML Example**
19845
19970
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19846
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19847
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
19971
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
19972
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
19973
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
19974
+ # access description: Does not grant access after Sep 2020 expression: request.
19975
+ # time < timestamp('2020-10-01T00:00:00.000Z')
19848
19976
  # For a description of IAM and its features, see the [IAM developer's guide](
19849
19977
  # https://cloud.google.com/iam/docs).
19850
19978
  # Corresponds to the JSON property `policy`
@@ -19937,7 +20065,7 @@ module Google
19937
20065
  class Reservation
19938
20066
  include Google::Apis::Core::Hashable
19939
20067
 
19940
- # [OutputOnly] Full or partial URL to a parent commitment. This field displays
20068
+ # [Output Only] Full or partial URL to a parent commitment. This field displays
19941
20069
  # for reservations that are tied to a commitment.
19942
20070
  # Corresponds to the JSON property `commitment`
19943
20071
  # @return [String]
@@ -21182,6 +21310,16 @@ module Google
21182
21310
  # @return [String]
21183
21311
  attr_accessor :next_hop_gateway
21184
21312
 
21313
+ # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should
21314
+ # handle matching packets. You can only specify the forwarding rule as a partial
21315
+ # or full URL. For example, the following are all valid URLs:
21316
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
21317
+ # forwardingRules/forwardingRule
21318
+ # - regions/region/forwardingRules/forwardingRule
21319
+ # Corresponds to the JSON property `nextHopIlb`
21320
+ # @return [String]
21321
+ attr_accessor :next_hop_ilb
21322
+
21185
21323
  # The URL to an instance that should handle matching packets. You can specify
21186
21324
  # this as a full or partial URL. For example:
21187
21325
  # https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/
@@ -21250,6 +21388,7 @@ module Google
21250
21388
  @name = args[:name] if args.key?(:name)
21251
21389
  @network = args[:network] if args.key?(:network)
21252
21390
  @next_hop_gateway = args[:next_hop_gateway] if args.key?(:next_hop_gateway)
21391
+ @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
21253
21392
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
21254
21393
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
21255
21394
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
@@ -22016,6 +22155,13 @@ module Google
22016
22155
  class RouterNat
22017
22156
  include Google::Apis::Core::Hashable
22018
22157
 
22158
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
22159
+ # static external IPs that have been assigned to the NAT. These IPs should be
22160
+ # used for updating/patching a NAT only.
22161
+ # Corresponds to the JSON property `drainNatIps`
22162
+ # @return [Array<String>]
22163
+ attr_accessor :drain_nat_ips
22164
+
22019
22165
  # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
22020
22166
  # Corresponds to the JSON property `icmpIdleTimeoutSec`
22021
22167
  # @return [Fixnum]
@@ -22100,6 +22246,7 @@ module Google
22100
22246
 
22101
22247
  # Update properties of this object
22102
22248
  def update!(**args)
22249
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
22103
22250
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
22104
22251
  @log_config = args[:log_config] if args.key?(:log_config)
22105
22252
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
@@ -22124,8 +22271,12 @@ module Google
22124
22271
  attr_accessor :enable
22125
22272
  alias_method :enable?, :enable
22126
22273
 
22127
- # Specifies the desired filtering of logs on this NAT. If unspecified, logs are
22128
- # exported for all connections handled by this NAT.
22274
+ # Specify the desired filtering of logs on this NAT. If unspecified, logs are
22275
+ # exported for all connections handled by this NAT. This option can take one of
22276
+ # the following values:
22277
+ # - ERRORS_ONLY: Export logs only for connection failures.
22278
+ # - TRANSLATIONS_ONLY: Export logs only for successful connections.
22279
+ # - ALL: Export logs for all connections, successful and unsuccessful.
22129
22280
  # Corresponds to the JSON property `filter`
22130
22281
  # @return [String]
22131
22282
  attr_accessor :filter
@@ -22303,6 +22454,18 @@ module Google
22303
22454
  # @return [Array<String>]
22304
22455
  attr_accessor :auto_allocated_nat_ips
22305
22456
 
22457
+ # A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.
22458
+ # 1", "179.12.26.133"].
22459
+ # Corresponds to the JSON property `drainAutoAllocatedNatIps`
22460
+ # @return [Array<String>]
22461
+ attr_accessor :drain_auto_allocated_nat_ips
22462
+
22463
+ # A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.
22464
+ # 1", "179.12.26.133"].
22465
+ # Corresponds to the JSON property `drainUserAllocatedNatIps`
22466
+ # @return [Array<String>]
22467
+ attr_accessor :drain_user_allocated_nat_ips
22468
+
22306
22469
  # The number of extra IPs to allocate. This will be greater than 0 only if user-
22307
22470
  # specified IPs are NOT enough to allow all configured VMs to use NAT. This
22308
22471
  # value is meaningful only when auto-allocation of NAT IPs is *not* used.
@@ -22338,6 +22501,8 @@ module Google
22338
22501
  # Update properties of this object
22339
22502
  def update!(**args)
22340
22503
  @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips)
22504
+ @drain_auto_allocated_nat_ips = args[:drain_auto_allocated_nat_ips] if args.key?(:drain_auto_allocated_nat_ips)
22505
+ @drain_user_allocated_nat_ips = args[:drain_user_allocated_nat_ips] if args.key?(:drain_user_allocated_nat_ips)
22341
22506
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
22342
22507
  @name = args[:name] if args.key?(:name)
22343
22508
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
@@ -23282,7 +23447,7 @@ module Google
23282
23447
  # @return [String]
23283
23448
  attr_accessor :description
23284
23449
 
23285
- # [Output Only] Size of the snapshot, specified in GB.
23450
+ # [Output Only] Size of the source disk, specified in GB.
23286
23451
  # Corresponds to the JSON property `diskSizeGb`
23287
23452
  # @return [Fixnum]
23288
23453
  attr_accessor :disk_size_gb
@@ -25528,12 +25693,14 @@ module Google
25528
25693
  attr_accessor :name
25529
25694
 
25530
25695
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
25531
- # determines whether the load balancer will attempt to negotiate QUIC with
25532
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
25533
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
25534
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
25535
- # overrides, which is equivalent to DISABLE. Not specifying this field is
25536
- # equivalent to specifying NONE.
25696
+ # setting determines whether the load balancer attempts to negotiate QUIC with
25697
+ # clients. You can specify NONE, ENABLE, or DISABLE.
25698
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
25699
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
25700
+ # possible.
25701
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
25702
+ # - If the quic-override flag is not specified, NONE is implied.
25703
+ # -
25537
25704
  # Corresponds to the JSON property `quicOverride`
25538
25705
  # @return [String]
25539
25706
  attr_accessor :quic_override
@@ -25557,8 +25724,8 @@ module Google
25557
25724
  attr_accessor :ssl_certificates
25558
25725
 
25559
25726
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
25560
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
25561
- # policy configured.
25727
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
25728
+ # configured.
25562
25729
  # Corresponds to the JSON property `sslPolicy`
25563
25730
  # @return [String]
25564
25731
  attr_accessor :ssl_policy
@@ -28710,6 +28877,13 @@ module Google
28710
28877
  class VmEndpointNatMappingsInterfaceNatMappings
28711
28878
  include Google::Apis::Core::Hashable
28712
28879
 
28880
+ # List of all drain IP:port-range mappings assigned to this interface. These
28881
+ # ranges are inclusive, that is, both the first and the last ports can be used
28882
+ # for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
28883
+ # Corresponds to the JSON property `drainNatIpPortRanges`
28884
+ # @return [Array<String>]
28885
+ attr_accessor :drain_nat_ip_port_ranges
28886
+
28713
28887
  # A list of all IP:port-range mappings assigned to this interface. These ranges
28714
28888
  # are inclusive, that is, both the first and the last ports can be used for NAT.
28715
28889
  # Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
@@ -28717,6 +28891,12 @@ module Google
28717
28891
  # @return [Array<String>]
28718
28892
  attr_accessor :nat_ip_port_ranges
28719
28893
 
28894
+ # Total number of drain ports across all NAT IPs allocated to this interface. It
28895
+ # equals to the aggregated port number in the field drain_nat_ip_port_ranges.
28896
+ # Corresponds to the JSON property `numTotalDrainNatPorts`
28897
+ # @return [Fixnum]
28898
+ attr_accessor :num_total_drain_nat_ports
28899
+
28720
28900
  # Total number of ports across all NAT IPs allocated to this interface. It
28721
28901
  # equals to the aggregated port number in the field nat_ip_port_ranges.
28722
28902
  # Corresponds to the JSON property `numTotalNatPorts`
@@ -28740,7 +28920,9 @@ module Google
28740
28920
 
28741
28921
  # Update properties of this object
28742
28922
  def update!(**args)
28923
+ @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
28743
28924
  @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
28925
+ @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
28744
28926
  @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
28745
28927
  @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
28746
28928
  @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)
@@ -29586,6 +29768,17 @@ module Google
29586
29768
  # - NEGOTIATION_FAILURE: Handshake failed.
29587
29769
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
29588
29770
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
29771
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
29772
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
29773
+ # blacklisted.
29774
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
29775
+ # resources.
29776
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
29777
+ # Classic VPN tunnels or the project is in frozen state.
29778
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
29779
+ # behind NAT.
29780
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
29781
+ # VPN tunnel.
29589
29782
  # Corresponds to the JSON property `status`
29590
29783
  # @return [String]
29591
29784
  attr_accessor :status
@@ -30396,19 +30589,28 @@ module Google
30396
30589
 
30397
30590
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
30398
30591
  # access control policies for Cloud Platform resources.
30399
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
30400
- # members` to a `role`, where the members can be user accounts, Google groups,
30401
- # Google domains, and service accounts. A `role` is a named list of permissions
30402
- # defined by IAM.
30592
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
30593
+ # members` to a single `role`. Members can be user accounts, service accounts,
30594
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
30595
+ # permissions (defined by IAM or configured by users). A `binding` can
30596
+ # optionally specify a `condition`, which is a logic expression that further
30597
+ # constrains the role binding based on attributes about the request and/or
30598
+ # target resource.
30403
30599
  # **JSON Example**
30404
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
30405
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
30406
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
30407
- # sean@example.com"] ` ] `
30600
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
30601
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
30602
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
30603
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
30604
+ # "condition": ` "title": "expirable access", "description": "Does not grant
30605
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
30606
+ # 00:00.000Z')", ` ` ] `
30408
30607
  # **YAML Example**
30409
30608
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
30410
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
30411
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
30609
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
30610
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
30611
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
30612
+ # access description: Does not grant access after Sep 2020 expression: request.
30613
+ # time < timestamp('2020-10-01T00:00:00.000Z')
30412
30614
  # For a description of IAM and its features, see the [IAM developer's guide](
30413
30615
  # https://cloud.google.com/iam/docs).
30414
30616
  # Corresponds to the JSON property `policy`