google-api-client 0.32.1 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1140,7 +1140,7 @@ module Google
1140
1140
  # @return [Fixnum]
1141
1141
  attr_accessor :count
1142
1142
 
1143
- # [OutputOnly] Indicates how many instances are in use.
1143
+ # [Output Only] Indicates how many instances are in use.
1144
1144
  # Corresponds to the JSON property `inUseCount`
1145
1145
  # @return [Fixnum]
1146
1146
  attr_accessor :in_use_count
@@ -1567,6 +1567,15 @@ module Google
1567
1567
  # @return [String]
1568
1568
  attr_accessor :name
1569
1569
 
1570
+ # [Output Only] Target recommended MIG size (number of instances) computed by
1571
+ # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1572
+ # policy mode is different from ON. This field is empty when autoscaler is not
1573
+ # connected to the existing managed instance group or autoscaler did not
1574
+ # generate its prediction.
1575
+ # Corresponds to the JSON property `recommendedSize`
1576
+ # @return [Fixnum]
1577
+ attr_accessor :recommended_size
1578
+
1570
1579
  # [Output Only] URL of the region where the instance group resides (for
1571
1580
  # autoscalers living in regional scope).
1572
1581
  # Corresponds to the JSON property `region`
@@ -1578,7 +1587,13 @@ module Google
1578
1587
  # @return [String]
1579
1588
  attr_accessor :self_link
1580
1589
 
1581
- # [Output Only] The status of the autoscaler configuration.
1590
+ # [Output Only] The status of the autoscaler configuration. Current set of
1591
+ # possible values: PENDING: Autoscaler backend hasn't read new/updated
1592
+ # configuration DELETING: Configuration is being deleted ACTIVE: Configuration
1593
+ # is acknowledged to be effective. Some warnings might or might not be present
1594
+ # in the status_details field. ERROR: Configuration has errors. Actionable for
1595
+ # users. Details are present in the status_details field. New values might be
1596
+ # added in the future.
1582
1597
  # Corresponds to the JSON property `status`
1583
1598
  # @return [String]
1584
1599
  attr_accessor :status
@@ -1613,6 +1628,7 @@ module Google
1613
1628
  @id = args[:id] if args.key?(:id)
1614
1629
  @kind = args[:kind] if args.key?(:kind)
1615
1630
  @name = args[:name] if args.key?(:name)
1631
+ @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1616
1632
  @region = args[:region] if args.key?(:region)
1617
1633
  @self_link = args[:self_link] if args.key?(:self_link)
1618
1634
  @status = args[:status] if args.key?(:status)
@@ -1867,7 +1883,38 @@ module Google
1867
1883
  # @return [String]
1868
1884
  attr_accessor :message
1869
1885
 
1870
- # The type of error returned.
1886
+ # The type of error, warning or notice returned. Current set of possible values:
1887
+ # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
1888
+ # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR):
1889
+ # There is no backend service attached to the instance group.
1890
+ # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than
1891
+ # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom
1892
+ # metric samples are not exported often enough to be a credible base for
1893
+ # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was
1894
+ # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX
1895
+ # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the
1896
+ # autoscaler cannot add or remove instances from the instance group.
1897
+ # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
1898
+ # any data from the custom metric configured for autoscaling.
1899
+ # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to
1900
+ # scale based on a load balancing signal but the instance group has not received
1901
+ # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned
1902
+ # off. The number of instances in the group won't change automatically. The
1903
+ # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is
1904
+ # in the "Autoscale only up" mode. Instances in the group will be only added.
1905
+ # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled
1906
+ # because it has more than one backend service attached to it.
1907
+ # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources,
1908
+ # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR):
1909
+ # Showed only for regional autoscalers: there is a resource stockout in the
1910
+ # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled
1911
+ # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR):
1912
+ # Autoscaling does not work with an HTTP/S load balancer that has been
1913
+ # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers:
1914
+ # there is a resource stockout in the chosen zone. For regional autoscalers: in
1915
+ # at least one of the zones you're using there is a resource stockout. New
1916
+ # values might be added in the future. Some of the values might not be available
1917
+ # in all API versions.
1871
1918
  # Corresponds to the JSON property `type`
1872
1919
  # @return [String]
1873
1920
  attr_accessor :type
@@ -2019,6 +2066,11 @@ module Google
2019
2066
  # @return [Fixnum]
2020
2067
  attr_accessor :min_num_replicas
2021
2068
 
2069
+ # Defines operating mode for this policy.
2070
+ # Corresponds to the JSON property `mode`
2071
+ # @return [String]
2072
+ attr_accessor :mode
2073
+
2022
2074
  def initialize(**args)
2023
2075
  update!(**args)
2024
2076
  end
@@ -2031,6 +2083,7 @@ module Google
2031
2083
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
2032
2084
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
2033
2085
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2086
+ @mode = args[:mode] if args.key?(:mode)
2034
2087
  end
2035
2088
  end
2036
2089
 
@@ -2571,16 +2624,10 @@ module Google
2571
2624
  end
2572
2625
 
2573
2626
  # Represents a Backend Service resource.
2574
- # Backend services must have an associated health check. Backend services also
2575
- # store information about session affinity. For more information, read Backend
2576
- # Services.
2577
- # A backendServices resource represents a global backend service. Global backend
2578
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2579
- # Director.
2580
- # A regionBackendServices resource represents a regional backend service.
2581
- # Regional backend services are used for internal TCP/UDP load balancing. For
2582
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2583
- # backendService ==) (== resource_for beta.backendService ==)
2627
+ # A backend service contains configuration values for Google Cloud Platform load
2628
+ # balancing services.
2629
+ # For more information, read Backend Services.
2630
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2584
2631
  class BackendService
2585
2632
  include Google::Apis::Core::Hashable
2586
2633
 
@@ -2684,9 +2731,12 @@ module Google
2684
2731
  # @return [String]
2685
2732
  attr_accessor :kind
2686
2733
 
2687
- # Indicates whether the backend service will be used with internal or external
2688
- # load balancing. A backend service created for one type of load balancing
2689
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2734
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2735
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2736
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2737
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2738
+ # for one type of load balancing cannot be used with another. For more
2739
+ # information, refer to Choosing a load balancer.
2690
2740
  # Corresponds to the JSON property `loadBalancingScheme`
2691
2741
  # @return [String]
2692
2742
  attr_accessor :load_balancing_scheme
@@ -2740,7 +2790,8 @@ module Google
2740
2790
  # @return [String]
2741
2791
  attr_accessor :network
2742
2792
 
2743
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2793
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
2794
+ # pool for the backend service.
2744
2795
  # Corresponds to the JSON property `outlierDetection`
2745
2796
  # @return [Google::Apis::ComputeBeta::OutlierDetection]
2746
2797
  attr_accessor :outlier_detection
@@ -2765,9 +2816,10 @@ module Google
2765
2816
  attr_accessor :port_name
2766
2817
 
2767
2818
  # The protocol this BackendService uses to communicate with backends.
2768
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
2769
- # load balancer or Traffic Director configuration. Refer to the documentation
2770
- # for the load balancer or for Traffic director for more information.
2819
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2820
+ # chosen load balancer or Traffic Director configuration. Refer to the
2821
+ # documentation for the load balancer or for Traffic Director for more
2822
+ # information.
2771
2823
  # Corresponds to the JSON property `protocol`
2772
2824
  # @return [String]
2773
2825
  attr_accessor :protocol
@@ -3763,33 +3815,34 @@ module Google
3763
3815
  # @return [Google::Apis::ComputeBeta::Duration]
3764
3816
  attr_accessor :connect_timeout
3765
3817
 
3766
- # The maximum number of connections to the backend cluster. If not specified,
3767
- # the default is 1024.
3818
+ # The maximum number of connections to the backend service. If not specified,
3819
+ # there is no limit.
3768
3820
  # Corresponds to the JSON property `maxConnections`
3769
3821
  # @return [Fixnum]
3770
3822
  attr_accessor :max_connections
3771
3823
 
3772
- # The maximum number of pending requests allowed to the backend cluster. If not
3773
- # specified, the default is 1024.
3824
+ # The maximum number of pending requests allowed to the backend service. If not
3825
+ # specified, there is no limit.
3774
3826
  # Corresponds to the JSON property `maxPendingRequests`
3775
3827
  # @return [Fixnum]
3776
3828
  attr_accessor :max_pending_requests
3777
3829
 
3778
- # The maximum number of parallel requests that allowed to the backend cluster.
3779
- # If not specified, the default is 1024.
3830
+ # The maximum number of parallel requests that allowed to the backend service.
3831
+ # If not specified, there is no limit.
3780
3832
  # Corresponds to the JSON property `maxRequests`
3781
3833
  # @return [Fixnum]
3782
3834
  attr_accessor :max_requests
3783
3835
 
3784
- # Maximum requests for a single backend connection. This parameter is respected
3785
- # by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no
3786
- # limit. Setting this parameter to 1 will effectively disable keep alive.
3836
+ # Maximum requests for a single connection to the backend service. This
3837
+ # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
3838
+ # specified, there is no limit. Setting this parameter to 1 will effectively
3839
+ # disable keep alive.
3787
3840
  # Corresponds to the JSON property `maxRequestsPerConnection`
3788
3841
  # @return [Fixnum]
3789
3842
  attr_accessor :max_requests_per_connection
3790
3843
 
3791
3844
  # The maximum number of parallel retries allowed to the backend cluster. If not
3792
- # specified, the default is 3.
3845
+ # specified, the default is 1.
3793
3846
  # Corresponds to the JSON property `maxRetries`
3794
3847
  # @return [Fixnum]
3795
3848
  attr_accessor :max_retries
@@ -4476,6 +4529,12 @@ module Google
4476
4529
  # @return [String]
4477
4530
  attr_accessor :kms_key_name
4478
4531
 
4532
+ # The service account being used for the encryption request for the given KMS
4533
+ # key. If absent, default GCE compute robot account will be used
4534
+ # Corresponds to the JSON property `kmsKeyServiceAccount`
4535
+ # @return [String]
4536
+ attr_accessor :kms_key_service_account
4537
+
4479
4538
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
4480
4539
  # base64 to either encrypt or decrypt this resource.
4481
4540
  # Corresponds to the JSON property `rawKey`
@@ -4507,6 +4566,7 @@ module Google
4507
4566
  # Update properties of this object
4508
4567
  def update!(**args)
4509
4568
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
4569
+ @kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account)
4510
4570
  @raw_key = args[:raw_key] if args.key?(:raw_key)
4511
4571
  @rsa_encrypted_key = args[:rsa_encrypted_key] if args.key?(:rsa_encrypted_key)
4512
4572
  @sha256 = args[:sha256] if args.key?(:sha256)
@@ -5609,7 +5669,8 @@ module Google
5609
5669
  class DisksAddResourcePoliciesRequest
5610
5670
  include Google::Apis::Core::Hashable
5611
5671
 
5612
- # Resource policies to be added to this disk.
5672
+ # Resource policies to be added to this disk. Currently you can only specify one
5673
+ # policy here.
5613
5674
  # Corresponds to the JSON property `resourcePolicies`
5614
5675
  # @return [Array<String>]
5615
5676
  attr_accessor :resource_policies
@@ -6750,27 +6811,12 @@ module Google
6750
6811
  end
6751
6812
 
6752
6813
  # Represents a Forwarding Rule resource.
6753
- # A forwardingRules resource represents a regional forwarding rule.
6754
- # Regional external forwarding rules can reference any of the following
6755
- # resources:
6756
- #
6757
- # - A target instance
6758
- # - A Cloud VPN Classic gateway (targetVpnGateway),
6759
- # - A target pool for a Network Load Balancer
6760
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
6761
- # Tier
6762
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
6763
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
6764
- # Regional internal forwarding rules can reference the backend service of an
6765
- # internal TCP/UDP load balancer.
6766
- # For regional internal forwarding rules, the following applies:
6767
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
6768
- # forwarding rule references a regional internal backend service.
6769
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
6770
- # the forwarding rule must reference a regional target HTTP(S) proxy.
6771
- # For more information, read Using Forwarding rules.
6772
- # A globalForwardingRules resource represents a global forwarding rule.
6773
- # Global forwarding rules are only used by load balancers that use Premium Tier.
6814
+ # A forwarding rule and its corresponding IP address represent the frontend
6815
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6816
+ # also reference target instances and Cloud VPN Classic gateways (
6817
+ # targetVpnGateway).
6818
+ # For more information, read Forwarding rule concepts and Using protocol
6819
+ # forwarding.
6774
6820
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6775
6821
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6776
6822
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -6798,8 +6844,14 @@ module Google
6798
6844
 
6799
6845
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6800
6846
  # AH, SCTP or ICMP.
6801
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
6802
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
6847
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6848
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6849
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6850
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6851
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6852
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6853
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6854
+ # valid.
6803
6855
  # Corresponds to the JSON property `IPProtocol`
6804
6856
  # @return [String]
6805
6857
  attr_accessor :ip_protocol
@@ -6867,6 +6919,16 @@ module Google
6867
6919
  # @return [String]
6868
6920
  attr_accessor :ip_version
6869
6921
 
6922
+ # Indicates whether or not this load balancer can be used as a collector for
6923
+ # packet mirroring. To prevent mirroring loops, instances behind this load
6924
+ # balancer will not have their traffic mirrored even if a PacketMirroring rule
6925
+ # applies to them. This can only be set to true for load balancers that have
6926
+ # their loadBalancingScheme set to INTERNAL.
6927
+ # Corresponds to the JSON property `isMirroringCollector`
6928
+ # @return [Boolean]
6929
+ attr_accessor :is_mirroring_collector
6930
+ alias_method :is_mirroring_collector?, :is_mirroring_collector
6931
+
6870
6932
  # [Output Only] Type of the resource. Always compute#forwardingRule for
6871
6933
  # Forwarding Rule resources.
6872
6934
  # Corresponds to the JSON property `kind`
@@ -6893,12 +6955,14 @@ module Google
6893
6955
  # @return [Hash<String,String>]
6894
6956
  attr_accessor :labels
6895
6957
 
6896
- # This signifies what the ForwardingRule will be used for and can only take the
6897
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
6898
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
6899
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
6900
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
6901
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
6958
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6959
+ # gateways - Protocol forwarding to VMs from an external IP address - The
6960
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6961
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6962
+ # - Internal TCP/UDP load balancers
6963
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6964
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6965
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
6902
6966
  # Corresponds to the JSON property `loadBalancingScheme`
6903
6967
  # @return [String]
6904
6968
  attr_accessor :load_balancing_scheme
@@ -7054,6 +7118,7 @@ module Google
7054
7118
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7055
7119
  @id = args[:id] if args.key?(:id)
7056
7120
  @ip_version = args[:ip_version] if args.key?(:ip_version)
7121
+ @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
7057
7122
  @kind = args[:kind] if args.key?(:kind)
7058
7123
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
7059
7124
  @labels = args[:labels] if args.key?(:labels)
@@ -7474,19 +7539,28 @@ module Google
7474
7539
 
7475
7540
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
7476
7541
  # access control policies for Cloud Platform resources.
7477
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
7478
- # members` to a `role`, where the members can be user accounts, Google groups,
7479
- # Google domains, and service accounts. A `role` is a named list of permissions
7480
- # defined by IAM.
7542
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
7543
+ # members` to a single `role`. Members can be user accounts, service accounts,
7544
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
7545
+ # permissions (defined by IAM or configured by users). A `binding` can
7546
+ # optionally specify a `condition`, which is a logic expression that further
7547
+ # constrains the role binding based on attributes about the request and/or
7548
+ # target resource.
7481
7549
  # **JSON Example**
7482
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
7483
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
7484
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
7485
- # sean@example.com"] ` ] `
7550
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
7551
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
7552
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
7553
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
7554
+ # "condition": ` "title": "expirable access", "description": "Does not grant
7555
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
7556
+ # 00:00.000Z')", ` ` ] `
7486
7557
  # **YAML Example**
7487
7558
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
7488
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
7489
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
7559
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
7560
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
7561
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
7562
+ # access description: Does not grant access after Sep 2020 expression: request.
7563
+ # time < timestamp('2020-10-01T00:00:00.000Z')
7490
7564
  # For a description of IAM and its features, see the [IAM developer's guide](
7491
7565
  # https://cloud.google.com/iam/docs).
7492
7566
  # Corresponds to the JSON property `policy`
@@ -9058,7 +9132,8 @@ module Google
9058
9132
  class HttpRetryPolicy
9059
9133
  include Google::Apis::Core::Hashable
9060
9134
 
9061
- # Specifies the allowed number retries. This number must be > 0.
9135
+ # Specifies the allowed number retries. This number must be > 0. If not
9136
+ # specified, defaults to 1.
9062
9137
  # Corresponds to the JSON property `numRetries`
9063
9138
  # @return [Fixnum]
9064
9139
  attr_accessor :num_retries
@@ -9192,6 +9267,12 @@ module Google
9192
9267
  class HttpRouteRule
9193
9268
  include Google::Apis::Core::Hashable
9194
9269
 
9270
+ # The short description conveying the intent of this routeRule.
9271
+ # The description can have a maximum length of 1024 characters.
9272
+ # Corresponds to the JSON property `description`
9273
+ # @return [String]
9274
+ attr_accessor :description
9275
+
9195
9276
  # The request and response header transformations that take effect before the
9196
9277
  # request is passed along to the selected backendService.
9197
9278
  # Corresponds to the JSON property `headerAction`
@@ -9203,6 +9284,22 @@ module Google
9203
9284
  # @return [Array<Google::Apis::ComputeBeta::HttpRouteRuleMatch>]
9204
9285
  attr_accessor :match_rules
9205
9286
 
9287
+ # For routeRules within a given pathMatcher, priority determines the order in
9288
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
9289
+ # order of priority, from the lowest to highest number. The priority of a rule
9290
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
9291
+ # the request is applied.
9292
+ # You cannot configure two or more routeRules with the same priority. Priority
9293
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
9294
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
9295
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
9296
+ # 12, 16 is a valid series of priority numbers to which you could add rules
9297
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
9298
+ # on existing rules.
9299
+ # Corresponds to the JSON property `priority`
9300
+ # @return [Fixnum]
9301
+ attr_accessor :priority
9302
+
9206
9303
  # In response to a matching matchRule, the load balancer performs advanced
9207
9304
  # routing actions like URL rewrites, header transformations, etc. prior to
9208
9305
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -9236,8 +9333,10 @@ module Google
9236
9333
 
9237
9334
  # Update properties of this object
9238
9335
  def update!(**args)
9336
+ @description = args[:description] if args.key?(:description)
9239
9337
  @header_action = args[:header_action] if args.key?(:header_action)
9240
9338
  @match_rules = args[:match_rules] if args.key?(:match_rules)
9339
+ @priority = args[:priority] if args.key?(:priority)
9241
9340
  @route_action = args[:route_action] if args.key?(:route_action)
9242
9341
  @service = args[:service] if args.key?(:service)
9243
9342
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -14931,10 +15030,10 @@ module Google
14931
15030
  # a representation of IAMContext.principal even if a token or authority selector
14932
15031
  # is present; or - "" (empty string), resulting in a counter with no fields.
14933
15032
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
14934
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
14935
- # of IAMContext.principal]`
14936
- # At this time we do not support multiple field names (though this may be
14937
- # supported in the future).
15033
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
15034
+ # IAMContext.principal]`
15035
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
15036
+ # in the same counter.
14938
15037
  # Corresponds to the JSON property `counter`
14939
15038
  # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
14940
15039
  attr_accessor :counter
@@ -14993,13 +15092,18 @@ module Google
14993
15092
  # a representation of IAMContext.principal even if a token or authority selector
14994
15093
  # is present; or - "" (empty string), resulting in a counter with no fields.
14995
15094
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
14996
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
14997
- # of IAMContext.principal]`
14998
- # At this time we do not support multiple field names (though this may be
14999
- # supported in the future).
15095
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
15096
+ # IAMContext.principal]`
15097
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
15098
+ # in the same counter.
15000
15099
  class LogConfigCounterOptions
15001
15100
  include Google::Apis::Core::Hashable
15002
15101
 
15102
+ # Custom fields.
15103
+ # Corresponds to the JSON property `customFields`
15104
+ # @return [Array<Google::Apis::ComputeBeta::LogConfigCounterOptionsCustomField>]
15105
+ attr_accessor :custom_fields
15106
+
15003
15107
  # The field value to attribute.
15004
15108
  # Corresponds to the JSON property `field`
15005
15109
  # @return [String]
@@ -15016,11 +15120,40 @@ module Google
15016
15120
 
15017
15121
  # Update properties of this object
15018
15122
  def update!(**args)
15123
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
15019
15124
  @field = args[:field] if args.key?(:field)
15020
15125
  @metric = args[:metric] if args.key?(:metric)
15021
15126
  end
15022
15127
  end
15023
15128
 
15129
+ # Custom fields. These can be used to create a counter with arbitrary field/
15130
+ # value pairs. See: go/rpcsp-custom-fields.
15131
+ class LogConfigCounterOptionsCustomField
15132
+ include Google::Apis::Core::Hashable
15133
+
15134
+ # Name is the field name.
15135
+ # Corresponds to the JSON property `name`
15136
+ # @return [String]
15137
+ attr_accessor :name
15138
+
15139
+ # Value is the field value. It is important that in contrast to the
15140
+ # CounterOptions.field, the value here is a constant that is not derived from
15141
+ # the IAMContext.
15142
+ # Corresponds to the JSON property `value`
15143
+ # @return [String]
15144
+ attr_accessor :value
15145
+
15146
+ def initialize(**args)
15147
+ update!(**args)
15148
+ end
15149
+
15150
+ # Update properties of this object
15151
+ def update!(**args)
15152
+ @name = args[:name] if args.key?(:name)
15153
+ @value = args[:value] if args.key?(:value)
15154
+ end
15155
+ end
15156
+
15024
15157
  # Write a Data Access (Gin) log
15025
15158
  class LogConfigDataAccessOptions
15026
15159
  include Google::Apis::Core::Hashable
@@ -15988,6 +16121,9 @@ module Google
15988
16121
  end
15989
16122
 
15990
16123
  # Represents a collection of network endpoints.
16124
+ # For more information read Setting up network endpoint groups in load balancing.
16125
+ # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
16126
+ # networkEndpointGroups ==)
15991
16127
  class NetworkEndpointGroup
15992
16128
  include Google::Apis::Core::Hashable
15993
16129
 
@@ -17064,7 +17200,7 @@ module Google
17064
17200
  # instances physically separated from instances in other projects, or to group
17065
17201
  # your instances together on the same host hardware. For more information, read
17066
17202
  # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
17067
- # nodeGroups ==) NextID: 15
17203
+ # nodeGroups ==) NextID: 16
17068
17204
  class NodeGroup
17069
17205
  include Google::Apis::Core::Hashable
17070
17206
 
@@ -19214,7 +19350,8 @@ module Google
19214
19350
  end
19215
19351
  end
19216
19352
 
19217
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
19353
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
19354
+ # pool for the backend service.
19218
19355
  class OutlierDetection
19219
19356
  include Google::Apis::Core::Hashable
19220
19357
 
@@ -19235,21 +19372,21 @@ module Google
19235
19372
 
19236
19373
  # The number of consecutive gateway failures (502, 503, 504 status or connection
19237
19374
  # errors that are mapped to one of those status codes) before a consecutive
19238
- # gateway failure ejection occurs. Defaults to 5.
19375
+ # gateway failure ejection occurs. Defaults to 3.
19239
19376
  # Corresponds to the JSON property `consecutiveGatewayFailure`
19240
19377
  # @return [Fixnum]
19241
19378
  attr_accessor :consecutive_gateway_failure
19242
19379
 
19243
19380
  # The percentage chance that a host will be actually ejected when an outlier
19244
19381
  # status is detected through consecutive 5xx. This setting can be used to
19245
- # disable ejection or to ramp it up slowly. Defaults to 100.
19382
+ # disable ejection or to ramp it up slowly. Defaults to 0.
19246
19383
  # Corresponds to the JSON property `enforcingConsecutiveErrors`
19247
19384
  # @return [Fixnum]
19248
19385
  attr_accessor :enforcing_consecutive_errors
19249
19386
 
19250
19387
  # The percentage chance that a host will be actually ejected when an outlier
19251
19388
  # status is detected through consecutive gateway failures. This setting can be
19252
- # used to disable ejection or to ramp it up slowly. Defaults to 0.
19389
+ # used to disable ejection or to ramp it up slowly. Defaults to 100.
19253
19390
  # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
19254
19391
  # @return [Fixnum]
19255
19392
  attr_accessor :enforcing_consecutive_gateway_failure
@@ -19270,7 +19407,7 @@ module Google
19270
19407
  attr_accessor :interval
19271
19408
 
19272
19409
  # Maximum percentage of hosts in the load balancing pool for the backend service
19273
- # that can be ejected. Defaults to 10%.
19410
+ # that can be ejected. Defaults to 50%.
19274
19411
  # Corresponds to the JSON property `maxEjectionPercent`
19275
19412
  # @return [Fixnum]
19276
19413
  attr_accessor :max_ejection_percent
@@ -19371,49 +19508,21 @@ module Google
19371
19508
  end
19372
19509
  end
19373
19510
 
19374
- # A matcher for the path portion of the URL. The BackendService from the longest-
19375
- # matched rule will serve the URL. If no rule was matched, the default service
19376
- # will be used.
19377
- class PathMatcher
19511
+ # Represents a PacketMirroring resource.
19512
+ class PacketMirroring
19378
19513
  include Google::Apis::Core::Hashable
19379
19514
 
19380
- # defaultRouteAction takes effect when none of the pathRules or routeRules
19381
- # match. The load balancer performs advanced routing actions like URL rewrites,
19382
- # header transformations, etc. prior to forwarding the request to the selected
19383
- # backend. If defaultRouteAction specifies any weightedBackendServices,
19384
- # defaultService must not be set. Conversely if defaultService is set,
19385
- # defaultRouteAction cannot contain any weightedBackendServices.
19386
- # Only one of defaultRouteAction or defaultUrlRedirect must be set.
19387
- # Corresponds to the JSON property `defaultRouteAction`
19388
- # @return [Google::Apis::ComputeBeta::HttpRouteAction]
19389
- attr_accessor :default_route_action
19515
+ # The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be
19516
+ # used as collector for mirrored traffic. The specified forwarding rule must
19517
+ # have isMirroringCollector set to true.
19518
+ # Corresponds to the JSON property `collectorIlb`
19519
+ # @return [Google::Apis::ComputeBeta::PacketMirroringForwardingRuleInfo]
19520
+ attr_accessor :collector_ilb
19390
19521
 
19391
- # The full or partial URL to the BackendService resource. This will be used if
19392
- # none of the pathRules or routeRules defined by this PathMatcher are matched.
19393
- # For example, the following are all valid URLs to a BackendService resource:
19394
- # - https://www.googleapis.com/compute/v1/projects/project/global/
19395
- # backendServices/backendService
19396
- # - compute/v1/projects/project/global/backendServices/backendService
19397
- # - global/backendServices/backendService If defaultRouteAction is additionally
19398
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
19399
- # to sending the request to the backend. However, if defaultService is specified,
19400
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
19401
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
19402
- # not be specified.
19403
- # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
19404
- # weightedBackendService must be set.
19405
- # Authorization requires one or more of the following Google IAM permissions on
19406
- # the specified resource default_service:
19407
- # - compute.backendBuckets.use
19408
- # - compute.backendServices.use
19409
- # Corresponds to the JSON property `defaultService`
19522
+ # [Output Only] Creation timestamp in RFC3339 text format.
19523
+ # Corresponds to the JSON property `creationTimestamp`
19410
19524
  # @return [String]
19411
- attr_accessor :default_service
19412
-
19413
- # Specifies settings for an HTTP redirect.
19414
- # Corresponds to the JSON property `defaultUrlRedirect`
19415
- # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
19416
- attr_accessor :default_url_redirect
19525
+ attr_accessor :creation_timestamp
19417
19526
 
19418
19527
  # An optional description of this resource. Provide this property when you
19419
19528
  # create the resource.
@@ -19421,37 +19530,72 @@ module Google
19421
19530
  # @return [String]
19422
19531
  attr_accessor :description
19423
19532
 
19424
- # The request and response header transformations that take effect before the
19425
- # request is passed along to the selected backendService.
19426
- # Corresponds to the JSON property `headerAction`
19427
- # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
19428
- attr_accessor :header_action
19533
+ # Indicates whether or not this packet mirroring takes effect. If set to FALSE,
19534
+ # this packet mirroring policy will not be enforced on the network.
19535
+ # The default is TRUE.
19536
+ # Corresponds to the JSON property `enable`
19537
+ # @return [String]
19538
+ attr_accessor :enable
19429
19539
 
19430
- # The name to which this PathMatcher is referred by the HostRule.
19540
+ # Filter for mirrored traffic. If unspecified, all traffic is mirrored.
19541
+ # Corresponds to the JSON property `filter`
19542
+ # @return [Google::Apis::ComputeBeta::PacketMirroringFilter]
19543
+ attr_accessor :filter
19544
+
19545
+ # [Output Only] The unique identifier for the resource. This identifier is
19546
+ # defined by the server.
19547
+ # Corresponds to the JSON property `id`
19548
+ # @return [Fixnum]
19549
+ attr_accessor :id
19550
+
19551
+ # [Output Only] Type of the resource. Always compute#packetMirroring for packet
19552
+ # mirrorings.
19553
+ # Corresponds to the JSON property `kind`
19554
+ # @return [String]
19555
+ attr_accessor :kind
19556
+
19557
+ # PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of
19558
+ # mirrored VM instances, subnetworks and/or tags for which traffic from/to all
19559
+ # VM instances will be mirrored.
19560
+ # Corresponds to the JSON property `mirroredResources`
19561
+ # @return [Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfo]
19562
+ attr_accessor :mirrored_resources
19563
+
19564
+ # Name of the resource; provided by the client when the resource is created. The
19565
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19566
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19567
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
19568
+ # and all following characters must be a dash, lowercase letter, or digit,
19569
+ # except the last character, which cannot be a dash.
19431
19570
  # Corresponds to the JSON property `name`
19432
19571
  # @return [String]
19433
19572
  attr_accessor :name
19434
19573
 
19435
- # The list of path rules. Use this list instead of routeRules when routing based
19436
- # on simple path matching is all that's required. The order by which path rules
19437
- # are specified does not matter. Matches are always done on the longest-path-
19438
- # first basis.
19439
- # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
19440
- # irrespective of the order in which those paths appear in this list.
19441
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
19442
- # Corresponds to the JSON property `pathRules`
19443
- # @return [Array<Google::Apis::ComputeBeta::PathRule>]
19444
- attr_accessor :path_rules
19574
+ # Specifies the mirrored VPC network. Only packets in this network will be
19575
+ # mirrored. All mirrored VMs should have a NIC in the given network. All
19576
+ # mirrored subnetworks should belong to the given network.
19577
+ # Corresponds to the JSON property `network`
19578
+ # @return [Google::Apis::ComputeBeta::PacketMirroringNetworkInfo]
19579
+ attr_accessor :network
19445
19580
 
19446
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
19447
- # advanced route matching and routing actions are desired. The order of
19448
- # specifying routeRules matters: the first rule that matches will cause its
19449
- # specified routing action to take effect.
19450
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
19451
- # routeRules are not supported in UrlMaps intended for External Load balancers.
19452
- # Corresponds to the JSON property `routeRules`
19453
- # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
19454
- attr_accessor :route_rules
19581
+ # The priority of applying this configuration. Priority is used to break ties in
19582
+ # cases where there is more than one matching rule. In the case of two rules
19583
+ # that apply for a given Instance, the one with the lowest-numbered priority
19584
+ # value wins.
19585
+ # Default value is 1000. Valid range is 0 through 65535.
19586
+ # Corresponds to the JSON property `priority`
19587
+ # @return [Fixnum]
19588
+ attr_accessor :priority
19589
+
19590
+ # [Output Only] URI of the region where the packetMirroring resides.
19591
+ # Corresponds to the JSON property `region`
19592
+ # @return [String]
19593
+ attr_accessor :region
19594
+
19595
+ # [Output Only] Server-defined URL for the resource.
19596
+ # Corresponds to the JSON property `selfLink`
19597
+ # @return [String]
19598
+ attr_accessor :self_link
19455
19599
 
19456
19600
  def initialize(**args)
19457
19601
  update!(**args)
@@ -19459,92 +19603,59 @@ module Google
19459
19603
 
19460
19604
  # Update properties of this object
19461
19605
  def update!(**args)
19462
- @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
19463
- @default_service = args[:default_service] if args.key?(:default_service)
19464
- @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
19606
+ @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
19607
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19465
19608
  @description = args[:description] if args.key?(:description)
19466
- @header_action = args[:header_action] if args.key?(:header_action)
19609
+ @enable = args[:enable] if args.key?(:enable)
19610
+ @filter = args[:filter] if args.key?(:filter)
19611
+ @id = args[:id] if args.key?(:id)
19612
+ @kind = args[:kind] if args.key?(:kind)
19613
+ @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
19467
19614
  @name = args[:name] if args.key?(:name)
19468
- @path_rules = args[:path_rules] if args.key?(:path_rules)
19469
- @route_rules = args[:route_rules] if args.key?(:route_rules)
19615
+ @network = args[:network] if args.key?(:network)
19616
+ @priority = args[:priority] if args.key?(:priority)
19617
+ @region = args[:region] if args.key?(:region)
19618
+ @self_link = args[:self_link] if args.key?(:self_link)
19470
19619
  end
19471
19620
  end
19472
19621
 
19473
- # A path-matching rule for a URL. If matched, will use the specified
19474
- # BackendService to handle the traffic arriving at this URL.
19475
- class PathRule
19622
+ # Contains a list of packetMirrorings.
19623
+ class PacketMirroringAggregatedList
19476
19624
  include Google::Apis::Core::Hashable
19477
19625
 
19478
- # The list of path patterns to match. Each must start with / and the only place
19479
- # a * is allowed is at the end following a /. The string fed to the path matcher
19480
- # does not include any text after the first ? or #, and those chars are not
19481
- # allowed here.
19482
- # Corresponds to the JSON property `paths`
19483
- # @return [Array<String>]
19484
- attr_accessor :paths
19485
-
19486
- # In response to a matching path, the load balancer performs advanced routing
19487
- # actions like URL rewrites, header transformations, etc. prior to forwarding
19488
- # the request to the selected backend. If routeAction specifies any
19489
- # weightedBackendServices, service must not be set. Conversely if service is set,
19490
- # routeAction cannot contain any weightedBackendServices.
19491
- # Only one of routeAction or urlRedirect must be set.
19492
- # Corresponds to the JSON property `routeAction`
19493
- # @return [Google::Apis::ComputeBeta::HttpRouteAction]
19494
- attr_accessor :route_action
19495
-
19496
- # The full or partial URL of the backend service resource to which traffic is
19497
- # directed if this rule is matched. If routeAction is additionally specified,
19498
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
19499
- # the request to the backend. However, if service is specified, routeAction
19500
- # cannot contain any weightedBackendService s. Conversely, if routeAction
19501
- # specifies any weightedBackendServices, service must not be specified.
19502
- # Only one of urlRedirect, service or routeAction.weightedBackendService must be
19503
- # set.
19504
- # Corresponds to the JSON property `service`
19626
+ # [Output Only] Unique identifier for the resource; defined by the server.
19627
+ # Corresponds to the JSON property `id`
19505
19628
  # @return [String]
19506
- attr_accessor :service
19507
-
19508
- # Specifies settings for an HTTP redirect.
19509
- # Corresponds to the JSON property `urlRedirect`
19510
- # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
19511
- attr_accessor :url_redirect
19512
-
19513
- def initialize(**args)
19514
- update!(**args)
19515
- end
19629
+ attr_accessor :id
19516
19630
 
19517
- # Update properties of this object
19518
- def update!(**args)
19519
- @paths = args[:paths] if args.key?(:paths)
19520
- @route_action = args[:route_action] if args.key?(:route_action)
19521
- @service = args[:service] if args.key?(:service)
19522
- @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
19523
- end
19524
- end
19631
+ # A list of PacketMirroring resources.
19632
+ # Corresponds to the JSON property `items`
19633
+ # @return [Hash<String,Google::Apis::ComputeBeta::PacketMirroringsScopedList>]
19634
+ attr_accessor :items
19525
19635
 
19526
- #
19527
- class PerInstanceConfig
19528
- include Google::Apis::Core::Hashable
19636
+ # Type of resource.
19637
+ # Corresponds to the JSON property `kind`
19638
+ # @return [String]
19639
+ attr_accessor :kind
19529
19640
 
19530
- # Fingerprint of this per-instance config. This field may be used in optimistic
19531
- # locking. It will be ignored when inserting a per-instance config. An up-to-
19532
- # date fingerprint must be provided in order to update an existing per-instance
19533
- # config or the field needs to be unset.
19534
- # Corresponds to the JSON property `fingerprint`
19535
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
19641
+ # [Output Only] This token allows you to get the next page of results for list
19642
+ # requests. If the number of results is larger than maxResults, use the
19643
+ # nextPageToken as a value for the query parameter pageToken in the next list
19644
+ # request. Subsequent list requests will have their own nextPageToken to
19645
+ # continue paging through the results.
19646
+ # Corresponds to the JSON property `nextPageToken`
19536
19647
  # @return [String]
19537
- attr_accessor :fingerprint
19648
+ attr_accessor :next_page_token
19538
19649
 
19539
- # The name of the per-instance config and the corresponding instance. Serves as
19540
- # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
19541
- # config with the same name exists then it will be updated, otherwise a new one
19542
- # will be created for the VM instance with the same name. An attempt to create a
19543
- # per-instance config for a VM instance that either doesn't exist or is not part
19544
- # of the group will result in a failure.
19545
- # Corresponds to the JSON property `name`
19650
+ # [Output Only] Server-defined URL for this resource.
19651
+ # Corresponds to the JSON property `selfLink`
19546
19652
  # @return [String]
19547
- attr_accessor :name
19653
+ attr_accessor :self_link
19654
+
19655
+ # [Output Only] Informational warning message.
19656
+ # Corresponds to the JSON property `warning`
19657
+ # @return [Google::Apis::ComputeBeta::PacketMirroringAggregatedList::Warning]
19658
+ attr_accessor :warning
19548
19659
 
19549
19660
  def initialize(**args)
19550
19661
  update!(**args)
@@ -19552,26 +19663,668 @@ module Google
19552
19663
 
19553
19664
  # Update properties of this object
19554
19665
  def update!(**args)
19555
- @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19556
- @name = args[:name] if args.key?(:name)
19557
- end
19666
+ @id = args[:id] if args.key?(:id)
19667
+ @items = args[:items] if args.key?(:items)
19668
+ @kind = args[:kind] if args.key?(:kind)
19669
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19670
+ @self_link = args[:self_link] if args.key?(:self_link)
19671
+ @warning = args[:warning] if args.key?(:warning)
19672
+ end
19673
+
19674
+ # [Output Only] Informational warning message.
19675
+ class Warning
19676
+ include Google::Apis::Core::Hashable
19677
+
19678
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19679
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19680
+ # Corresponds to the JSON property `code`
19681
+ # @return [String]
19682
+ attr_accessor :code
19683
+
19684
+ # [Output Only] Metadata about this warning in key: value format. For example:
19685
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19686
+ # Corresponds to the JSON property `data`
19687
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringAggregatedList::Warning::Datum>]
19688
+ attr_accessor :data
19689
+
19690
+ # [Output Only] A human-readable description of the warning code.
19691
+ # Corresponds to the JSON property `message`
19692
+ # @return [String]
19693
+ attr_accessor :message
19694
+
19695
+ def initialize(**args)
19696
+ update!(**args)
19697
+ end
19698
+
19699
+ # Update properties of this object
19700
+ def update!(**args)
19701
+ @code = args[:code] if args.key?(:code)
19702
+ @data = args[:data] if args.key?(:data)
19703
+ @message = args[:message] if args.key?(:message)
19704
+ end
19705
+
19706
+ #
19707
+ class Datum
19708
+ include Google::Apis::Core::Hashable
19709
+
19710
+ # [Output Only] A key that provides more detail on the warning being returned.
19711
+ # For example, for warnings where there are no results in a list request for a
19712
+ # particular zone, this key might be scope and the key value might be the zone
19713
+ # name. Other examples might be a key indicating a deprecated resource and a
19714
+ # suggested replacement, or a warning about invalid network settings (for
19715
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19716
+ # for IP forwarding).
19717
+ # Corresponds to the JSON property `key`
19718
+ # @return [String]
19719
+ attr_accessor :key
19720
+
19721
+ # [Output Only] A warning data value corresponding to the key.
19722
+ # Corresponds to the JSON property `value`
19723
+ # @return [String]
19724
+ attr_accessor :value
19725
+
19726
+ def initialize(**args)
19727
+ update!(**args)
19728
+ end
19729
+
19730
+ # Update properties of this object
19731
+ def update!(**args)
19732
+ @key = args[:key] if args.key?(:key)
19733
+ @value = args[:value] if args.key?(:value)
19734
+ end
19735
+ end
19736
+ end
19737
+ end
19738
+
19739
+ #
19740
+ class PacketMirroringFilter
19741
+ include Google::Apis::Core::Hashable
19742
+
19743
+ # Protocols that apply as filter on mirrored traffic. If no protocols are
19744
+ # specified, all traffic that matches the specified CIDR ranges is mirrored. If
19745
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
19746
+ # Corresponds to the JSON property `IPProtocols`
19747
+ # @return [Array<String>]
19748
+ attr_accessor :ip_protocols
19749
+
19750
+ # IP CIDR ranges that apply as filter on the source (ingress) or destination (
19751
+ # egress) IP in the IP header. Only IPv4 is supported. If no ranges are
19752
+ # specified, all traffic that matches the specified IPProtocols is mirrored. If
19753
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
19754
+ # Corresponds to the JSON property `cidrRanges`
19755
+ # @return [Array<String>]
19756
+ attr_accessor :cidr_ranges
19757
+
19758
+ def initialize(**args)
19759
+ update!(**args)
19760
+ end
19761
+
19762
+ # Update properties of this object
19763
+ def update!(**args)
19764
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
19765
+ @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
19766
+ end
19767
+ end
19768
+
19769
+ #
19770
+ class PacketMirroringForwardingRuleInfo
19771
+ include Google::Apis::Core::Hashable
19772
+
19773
+ # [Output Only] Unique identifier for the forwarding rule; defined by the server.
19774
+ # Corresponds to the JSON property `canonicalUrl`
19775
+ # @return [String]
19776
+ attr_accessor :canonical_url
19777
+
19778
+ # Resource URL to the forwarding rule representing the ILB configured as
19779
+ # destination of the mirrored traffic.
19780
+ # Corresponds to the JSON property `url`
19781
+ # @return [String]
19782
+ attr_accessor :url
19783
+
19784
+ def initialize(**args)
19785
+ update!(**args)
19786
+ end
19787
+
19788
+ # Update properties of this object
19789
+ def update!(**args)
19790
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19791
+ @url = args[:url] if args.key?(:url)
19792
+ end
19793
+ end
19794
+
19795
+ # Contains a list of PacketMirroring resources.
19796
+ class PacketMirroringList
19797
+ include Google::Apis::Core::Hashable
19798
+
19799
+ # [Output Only] Unique identifier for the resource; defined by the server.
19800
+ # Corresponds to the JSON property `id`
19801
+ # @return [String]
19802
+ attr_accessor :id
19803
+
19804
+ # A list of PacketMirroring resources.
19805
+ # Corresponds to the JSON property `items`
19806
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroring>]
19807
+ attr_accessor :items
19808
+
19809
+ # [Output Only] Type of resource. Always compute#packetMirroring for
19810
+ # packetMirrorings.
19811
+ # Corresponds to the JSON property `kind`
19812
+ # @return [String]
19813
+ attr_accessor :kind
19814
+
19815
+ # [Output Only] This token allows you to get the next page of results for list
19816
+ # requests. If the number of results is larger than maxResults, use the
19817
+ # nextPageToken as a value for the query parameter pageToken in the next list
19818
+ # request. Subsequent list requests will have their own nextPageToken to
19819
+ # continue paging through the results.
19820
+ # Corresponds to the JSON property `nextPageToken`
19821
+ # @return [String]
19822
+ attr_accessor :next_page_token
19823
+
19824
+ # [Output Only] Server-defined URL for this resource.
19825
+ # Corresponds to the JSON property `selfLink`
19826
+ # @return [String]
19827
+ attr_accessor :self_link
19828
+
19829
+ # [Output Only] Informational warning message.
19830
+ # Corresponds to the JSON property `warning`
19831
+ # @return [Google::Apis::ComputeBeta::PacketMirroringList::Warning]
19832
+ attr_accessor :warning
19833
+
19834
+ def initialize(**args)
19835
+ update!(**args)
19836
+ end
19837
+
19838
+ # Update properties of this object
19839
+ def update!(**args)
19840
+ @id = args[:id] if args.key?(:id)
19841
+ @items = args[:items] if args.key?(:items)
19842
+ @kind = args[:kind] if args.key?(:kind)
19843
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19844
+ @self_link = args[:self_link] if args.key?(:self_link)
19845
+ @warning = args[:warning] if args.key?(:warning)
19846
+ end
19847
+
19848
+ # [Output Only] Informational warning message.
19849
+ class Warning
19850
+ include Google::Apis::Core::Hashable
19851
+
19852
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19853
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19854
+ # Corresponds to the JSON property `code`
19855
+ # @return [String]
19856
+ attr_accessor :code
19857
+
19858
+ # [Output Only] Metadata about this warning in key: value format. For example:
19859
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19860
+ # Corresponds to the JSON property `data`
19861
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringList::Warning::Datum>]
19862
+ attr_accessor :data
19863
+
19864
+ # [Output Only] A human-readable description of the warning code.
19865
+ # Corresponds to the JSON property `message`
19866
+ # @return [String]
19867
+ attr_accessor :message
19868
+
19869
+ def initialize(**args)
19870
+ update!(**args)
19871
+ end
19872
+
19873
+ # Update properties of this object
19874
+ def update!(**args)
19875
+ @code = args[:code] if args.key?(:code)
19876
+ @data = args[:data] if args.key?(:data)
19877
+ @message = args[:message] if args.key?(:message)
19878
+ end
19879
+
19880
+ #
19881
+ class Datum
19882
+ include Google::Apis::Core::Hashable
19883
+
19884
+ # [Output Only] A key that provides more detail on the warning being returned.
19885
+ # For example, for warnings where there are no results in a list request for a
19886
+ # particular zone, this key might be scope and the key value might be the zone
19887
+ # name. Other examples might be a key indicating a deprecated resource and a
19888
+ # suggested replacement, or a warning about invalid network settings (for
19889
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19890
+ # for IP forwarding).
19891
+ # Corresponds to the JSON property `key`
19892
+ # @return [String]
19893
+ attr_accessor :key
19894
+
19895
+ # [Output Only] A warning data value corresponding to the key.
19896
+ # Corresponds to the JSON property `value`
19897
+ # @return [String]
19898
+ attr_accessor :value
19899
+
19900
+ def initialize(**args)
19901
+ update!(**args)
19902
+ end
19903
+
19904
+ # Update properties of this object
19905
+ def update!(**args)
19906
+ @key = args[:key] if args.key?(:key)
19907
+ @value = args[:value] if args.key?(:value)
19908
+ end
19909
+ end
19910
+ end
19911
+ end
19912
+
19913
+ #
19914
+ class PacketMirroringMirroredResourceInfo
19915
+ include Google::Apis::Core::Hashable
19916
+
19917
+ # A set of virtual machine instances that are being mirrored. They must live in
19918
+ # zones contained in the same region as this packetMirroring.
19919
+ # Note that this config will apply only to those network interfaces of the
19920
+ # Instances that belong to the network specified in this packetMirroring.
19921
+ # You may specify a maximum of 50 Instances.
19922
+ # Corresponds to the JSON property `instances`
19923
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfoInstanceInfo>]
19924
+ attr_accessor :instances
19925
+
19926
+ # A set of subnetworks for which traffic from/to all VM instances will be
19927
+ # mirrored. They must live in the same region as this packetMirroring.
19928
+ # You may specify a maximum of 5 subnetworks.
19929
+ # Corresponds to the JSON property `subnetworks`
19930
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfoSubnetInfo>]
19931
+ attr_accessor :subnetworks
19932
+
19933
+ # A set of mirrored tags. Traffic from/to all VM instances that have one or more
19934
+ # of these tags will be mirrored.
19935
+ # Corresponds to the JSON property `tags`
19936
+ # @return [Array<String>]
19937
+ attr_accessor :tags
19938
+
19939
+ def initialize(**args)
19940
+ update!(**args)
19941
+ end
19942
+
19943
+ # Update properties of this object
19944
+ def update!(**args)
19945
+ @instances = args[:instances] if args.key?(:instances)
19946
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19947
+ @tags = args[:tags] if args.key?(:tags)
19948
+ end
19949
+ end
19950
+
19951
+ #
19952
+ class PacketMirroringMirroredResourceInfoInstanceInfo
19953
+ include Google::Apis::Core::Hashable
19954
+
19955
+ # [Output Only] Unique identifier for the instance; defined by the server.
19956
+ # Corresponds to the JSON property `canonicalUrl`
19957
+ # @return [String]
19958
+ attr_accessor :canonical_url
19959
+
19960
+ # Resource URL to the virtual machine instance which is being mirrored.
19961
+ # Corresponds to the JSON property `url`
19962
+ # @return [String]
19963
+ attr_accessor :url
19964
+
19965
+ def initialize(**args)
19966
+ update!(**args)
19967
+ end
19968
+
19969
+ # Update properties of this object
19970
+ def update!(**args)
19971
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19972
+ @url = args[:url] if args.key?(:url)
19973
+ end
19974
+ end
19975
+
19976
+ #
19977
+ class PacketMirroringMirroredResourceInfoSubnetInfo
19978
+ include Google::Apis::Core::Hashable
19979
+
19980
+ # [Output Only] Unique identifier for the subnetwork; defined by the server.
19981
+ # Corresponds to the JSON property `canonicalUrl`
19982
+ # @return [String]
19983
+ attr_accessor :canonical_url
19984
+
19985
+ # Resource URL to the subnetwork for which traffic from/to all VM instances will
19986
+ # be mirrored.
19987
+ # Corresponds to the JSON property `url`
19988
+ # @return [String]
19989
+ attr_accessor :url
19990
+
19991
+ def initialize(**args)
19992
+ update!(**args)
19993
+ end
19994
+
19995
+ # Update properties of this object
19996
+ def update!(**args)
19997
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19998
+ @url = args[:url] if args.key?(:url)
19999
+ end
20000
+ end
20001
+
20002
+ #
20003
+ class PacketMirroringNetworkInfo
20004
+ include Google::Apis::Core::Hashable
20005
+
20006
+ # [Output Only] Unique identifier for the network; defined by the server.
20007
+ # Corresponds to the JSON property `canonicalUrl`
20008
+ # @return [String]
20009
+ attr_accessor :canonical_url
20010
+
20011
+ # URL of the network resource.
20012
+ # Corresponds to the JSON property `url`
20013
+ # @return [String]
20014
+ attr_accessor :url
20015
+
20016
+ def initialize(**args)
20017
+ update!(**args)
20018
+ end
20019
+
20020
+ # Update properties of this object
20021
+ def update!(**args)
20022
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
20023
+ @url = args[:url] if args.key?(:url)
20024
+ end
20025
+ end
20026
+
20027
+ #
20028
+ class PacketMirroringsScopedList
20029
+ include Google::Apis::Core::Hashable
20030
+
20031
+ # A list of packetMirrorings contained in this scope.
20032
+ # Corresponds to the JSON property `packetMirrorings`
20033
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroring>]
20034
+ attr_accessor :packet_mirrorings
20035
+
20036
+ # Informational warning which replaces the list of packetMirrorings when the
20037
+ # list is empty.
20038
+ # Corresponds to the JSON property `warning`
20039
+ # @return [Google::Apis::ComputeBeta::PacketMirroringsScopedList::Warning]
20040
+ attr_accessor :warning
20041
+
20042
+ def initialize(**args)
20043
+ update!(**args)
20044
+ end
20045
+
20046
+ # Update properties of this object
20047
+ def update!(**args)
20048
+ @packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings)
20049
+ @warning = args[:warning] if args.key?(:warning)
20050
+ end
20051
+
20052
+ # Informational warning which replaces the list of packetMirrorings when the
20053
+ # list is empty.
20054
+ class Warning
20055
+ include Google::Apis::Core::Hashable
20056
+
20057
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20058
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20059
+ # Corresponds to the JSON property `code`
20060
+ # @return [String]
20061
+ attr_accessor :code
20062
+
20063
+ # [Output Only] Metadata about this warning in key: value format. For example:
20064
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20065
+ # Corresponds to the JSON property `data`
20066
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringsScopedList::Warning::Datum>]
20067
+ attr_accessor :data
20068
+
20069
+ # [Output Only] A human-readable description of the warning code.
20070
+ # Corresponds to the JSON property `message`
20071
+ # @return [String]
20072
+ attr_accessor :message
20073
+
20074
+ def initialize(**args)
20075
+ update!(**args)
20076
+ end
20077
+
20078
+ # Update properties of this object
20079
+ def update!(**args)
20080
+ @code = args[:code] if args.key?(:code)
20081
+ @data = args[:data] if args.key?(:data)
20082
+ @message = args[:message] if args.key?(:message)
20083
+ end
20084
+
20085
+ #
20086
+ class Datum
20087
+ include Google::Apis::Core::Hashable
20088
+
20089
+ # [Output Only] A key that provides more detail on the warning being returned.
20090
+ # For example, for warnings where there are no results in a list request for a
20091
+ # particular zone, this key might be scope and the key value might be the zone
20092
+ # name. Other examples might be a key indicating a deprecated resource and a
20093
+ # suggested replacement, or a warning about invalid network settings (for
20094
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20095
+ # for IP forwarding).
20096
+ # Corresponds to the JSON property `key`
20097
+ # @return [String]
20098
+ attr_accessor :key
20099
+
20100
+ # [Output Only] A warning data value corresponding to the key.
20101
+ # Corresponds to the JSON property `value`
20102
+ # @return [String]
20103
+ attr_accessor :value
20104
+
20105
+ def initialize(**args)
20106
+ update!(**args)
20107
+ end
20108
+
20109
+ # Update properties of this object
20110
+ def update!(**args)
20111
+ @key = args[:key] if args.key?(:key)
20112
+ @value = args[:value] if args.key?(:value)
20113
+ end
20114
+ end
20115
+ end
20116
+ end
20117
+
20118
+ # A matcher for the path portion of the URL. The BackendService from the longest-
20119
+ # matched rule will serve the URL. If no rule was matched, the default service
20120
+ # will be used.
20121
+ class PathMatcher
20122
+ include Google::Apis::Core::Hashable
20123
+
20124
+ # defaultRouteAction takes effect when none of the pathRules or routeRules
20125
+ # match. The load balancer performs advanced routing actions like URL rewrites,
20126
+ # header transformations, etc. prior to forwarding the request to the selected
20127
+ # backend. If defaultRouteAction specifies any weightedBackendServices,
20128
+ # defaultService must not be set. Conversely if defaultService is set,
20129
+ # defaultRouteAction cannot contain any weightedBackendServices.
20130
+ # Only one of defaultRouteAction or defaultUrlRedirect must be set.
20131
+ # Corresponds to the JSON property `defaultRouteAction`
20132
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
20133
+ attr_accessor :default_route_action
20134
+
20135
+ # The full or partial URL to the BackendService resource. This will be used if
20136
+ # none of the pathRules or routeRules defined by this PathMatcher are matched.
20137
+ # For example, the following are all valid URLs to a BackendService resource:
20138
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
20139
+ # backendServices/backendService
20140
+ # - compute/v1/projects/project/global/backendServices/backendService
20141
+ # - global/backendServices/backendService If defaultRouteAction is additionally
20142
+ # specified, advanced routing actions like URL Rewrites, etc. take effect prior
20143
+ # to sending the request to the backend. However, if defaultService is specified,
20144
+ # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
20145
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
20146
+ # not be specified.
20147
+ # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
20148
+ # weightedBackendService must be set.
20149
+ # Authorization requires one or more of the following Google IAM permissions on
20150
+ # the specified resource default_service:
20151
+ # - compute.backendBuckets.use
20152
+ # - compute.backendServices.use
20153
+ # Corresponds to the JSON property `defaultService`
20154
+ # @return [String]
20155
+ attr_accessor :default_service
20156
+
20157
+ # Specifies settings for an HTTP redirect.
20158
+ # Corresponds to the JSON property `defaultUrlRedirect`
20159
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
20160
+ attr_accessor :default_url_redirect
20161
+
20162
+ # An optional description of this resource. Provide this property when you
20163
+ # create the resource.
20164
+ # Corresponds to the JSON property `description`
20165
+ # @return [String]
20166
+ attr_accessor :description
20167
+
20168
+ # The request and response header transformations that take effect before the
20169
+ # request is passed along to the selected backendService.
20170
+ # Corresponds to the JSON property `headerAction`
20171
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
20172
+ attr_accessor :header_action
20173
+
20174
+ # The name to which this PathMatcher is referred by the HostRule.
20175
+ # Corresponds to the JSON property `name`
20176
+ # @return [String]
20177
+ attr_accessor :name
20178
+
20179
+ # The list of path rules. Use this list instead of routeRules when routing based
20180
+ # on simple path matching is all that's required. The order by which path rules
20181
+ # are specified does not matter. Matches are always done on the longest-path-
20182
+ # first basis.
20183
+ # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
20184
+ # irrespective of the order in which those paths appear in this list.
20185
+ # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20186
+ # Corresponds to the JSON property `pathRules`
20187
+ # @return [Array<Google::Apis::ComputeBeta::PathRule>]
20188
+ attr_accessor :path_rules
20189
+
20190
+ # The list of ordered HTTP route rules. Use this list instead of pathRules when
20191
+ # advanced route matching and routing actions are desired. The order of
20192
+ # specifying routeRules matters: the first rule that matches will cause its
20193
+ # specified routing action to take effect.
20194
+ # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20195
+ # routeRules are not supported in UrlMaps intended for External Load balancers.
20196
+ # Corresponds to the JSON property `routeRules`
20197
+ # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
20198
+ attr_accessor :route_rules
20199
+
20200
+ def initialize(**args)
20201
+ update!(**args)
20202
+ end
20203
+
20204
+ # Update properties of this object
20205
+ def update!(**args)
20206
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
20207
+ @default_service = args[:default_service] if args.key?(:default_service)
20208
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
20209
+ @description = args[:description] if args.key?(:description)
20210
+ @header_action = args[:header_action] if args.key?(:header_action)
20211
+ @name = args[:name] if args.key?(:name)
20212
+ @path_rules = args[:path_rules] if args.key?(:path_rules)
20213
+ @route_rules = args[:route_rules] if args.key?(:route_rules)
20214
+ end
20215
+ end
20216
+
20217
+ # A path-matching rule for a URL. If matched, will use the specified
20218
+ # BackendService to handle the traffic arriving at this URL.
20219
+ class PathRule
20220
+ include Google::Apis::Core::Hashable
20221
+
20222
+ # The list of path patterns to match. Each must start with / and the only place
20223
+ # a * is allowed is at the end following a /. The string fed to the path matcher
20224
+ # does not include any text after the first ? or #, and those chars are not
20225
+ # allowed here.
20226
+ # Corresponds to the JSON property `paths`
20227
+ # @return [Array<String>]
20228
+ attr_accessor :paths
20229
+
20230
+ # In response to a matching path, the load balancer performs advanced routing
20231
+ # actions like URL rewrites, header transformations, etc. prior to forwarding
20232
+ # the request to the selected backend. If routeAction specifies any
20233
+ # weightedBackendServices, service must not be set. Conversely if service is set,
20234
+ # routeAction cannot contain any weightedBackendServices.
20235
+ # Only one of routeAction or urlRedirect must be set.
20236
+ # Corresponds to the JSON property `routeAction`
20237
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
20238
+ attr_accessor :route_action
20239
+
20240
+ # The full or partial URL of the backend service resource to which traffic is
20241
+ # directed if this rule is matched. If routeAction is additionally specified,
20242
+ # advanced routing actions like URL Rewrites, etc. take effect prior to sending
20243
+ # the request to the backend. However, if service is specified, routeAction
20244
+ # cannot contain any weightedBackendService s. Conversely, if routeAction
20245
+ # specifies any weightedBackendServices, service must not be specified.
20246
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
20247
+ # set.
20248
+ # Corresponds to the JSON property `service`
20249
+ # @return [String]
20250
+ attr_accessor :service
20251
+
20252
+ # Specifies settings for an HTTP redirect.
20253
+ # Corresponds to the JSON property `urlRedirect`
20254
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
20255
+ attr_accessor :url_redirect
20256
+
20257
+ def initialize(**args)
20258
+ update!(**args)
20259
+ end
20260
+
20261
+ # Update properties of this object
20262
+ def update!(**args)
20263
+ @paths = args[:paths] if args.key?(:paths)
20264
+ @route_action = args[:route_action] if args.key?(:route_action)
20265
+ @service = args[:service] if args.key?(:service)
20266
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
20267
+ end
20268
+ end
20269
+
20270
+ #
20271
+ class PerInstanceConfig
20272
+ include Google::Apis::Core::Hashable
20273
+
20274
+ # Fingerprint of this per-instance config. This field may be used in optimistic
20275
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
20276
+ # date fingerprint must be provided in order to update an existing per-instance
20277
+ # config or the field needs to be unset.
20278
+ # Corresponds to the JSON property `fingerprint`
20279
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20280
+ # @return [String]
20281
+ attr_accessor :fingerprint
20282
+
20283
+ # The name of the per-instance config and the corresponding instance. Serves as
20284
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
20285
+ # config with the same name exists then it will be updated, otherwise a new one
20286
+ # will be created for the VM instance with the same name. An attempt to create a
20287
+ # per-instance config for a VM instance that either doesn't exist or is not part
20288
+ # of the group will result in a failure.
20289
+ # Corresponds to the JSON property `name`
20290
+ # @return [String]
20291
+ attr_accessor :name
20292
+
20293
+ def initialize(**args)
20294
+ update!(**args)
20295
+ end
20296
+
20297
+ # Update properties of this object
20298
+ def update!(**args)
20299
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20300
+ @name = args[:name] if args.key?(:name)
20301
+ end
19558
20302
  end
19559
20303
 
19560
20304
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
19561
20305
  # access control policies for Cloud Platform resources.
19562
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19563
- # members` to a `role`, where the members can be user accounts, Google groups,
19564
- # Google domains, and service accounts. A `role` is a named list of permissions
19565
- # defined by IAM.
20306
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
20307
+ # members` to a single `role`. Members can be user accounts, service accounts,
20308
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
20309
+ # permissions (defined by IAM or configured by users). A `binding` can
20310
+ # optionally specify a `condition`, which is a logic expression that further
20311
+ # constrains the role binding based on attributes about the request and/or
20312
+ # target resource.
19566
20313
  # **JSON Example**
19567
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19568
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19569
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19570
- # sean@example.com"] ` ] `
20314
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
20315
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
20316
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
20317
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
20318
+ # "condition": ` "title": "expirable access", "description": "Does not grant
20319
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
20320
+ # 00:00.000Z')", ` ` ] `
19571
20321
  # **YAML Example**
19572
20322
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19573
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19574
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
20323
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
20324
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
20325
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
20326
+ # access description: Does not grant access after Sep 2020 expression: request.
20327
+ # time < timestamp('2020-10-01T00:00:00.000Z')
19575
20328
  # For a description of IAM and its features, see the [IAM developer's guide](
19576
20329
  # https://cloud.google.com/iam/docs).
19577
20330
  class Policy
@@ -19582,8 +20335,9 @@ module Google
19582
20335
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
19583
20336
  attr_accessor :audit_configs
19584
20337
 
19585
- # Associates a list of `members` to a `role`. `bindings` with no members will
19586
- # result in an error.
20338
+ # Associates a list of `members` to a `role`. Optionally may specify a `
20339
+ # condition` that determines when binding is in effect. `bindings` with no
20340
+ # members will result in an error.
19587
20341
  # Corresponds to the JSON property `bindings`
19588
20342
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
19589
20343
  attr_accessor :bindings
@@ -19596,7 +20350,9 @@ module Google
19596
20350
  # that etag in the request to `setIamPolicy` to ensure that their change will be
19597
20351
  # applied to the same version of the policy.
19598
20352
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
19599
- # policy is overwritten.
20353
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
20354
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
20355
+ # not meet the version requirements.
19600
20356
  # Corresponds to the JSON property `etag`
19601
20357
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
19602
20358
  # @return [String]
@@ -19622,9 +20378,13 @@ module Google
19622
20378
  # Specifies the format of the policy.
19623
20379
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
19624
20380
  # rejected.
19625
- # Policies with any conditional bindings must specify version 3. Policies
19626
- # without any conditional bindings may specify any valid value or leave the
19627
- # field unset.
20381
+ # Operations affecting conditional bindings must specify version 3. This can be
20382
+ # either setting a conditional policy, modifying a conditional binding, or
20383
+ # removing a conditional binding from the stored conditional policy. Operations
20384
+ # on non-conditional policies may specify any valid value or leave the field
20385
+ # unset.
20386
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
20387
+ # checks on the incoming and/or stored policy is skipped.
19628
20388
  # Corresponds to the JSON property `version`
19629
20389
  # @return [Fixnum]
19630
20390
  attr_accessor :version
@@ -21147,19 +21907,28 @@ module Google
21147
21907
 
21148
21908
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
21149
21909
  # access control policies for Cloud Platform resources.
21150
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
21151
- # members` to a `role`, where the members can be user accounts, Google groups,
21152
- # Google domains, and service accounts. A `role` is a named list of permissions
21153
- # defined by IAM.
21910
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
21911
+ # members` to a single `role`. Members can be user accounts, service accounts,
21912
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
21913
+ # permissions (defined by IAM or configured by users). A `binding` can
21914
+ # optionally specify a `condition`, which is a logic expression that further
21915
+ # constrains the role binding based on attributes about the request and/or
21916
+ # target resource.
21154
21917
  # **JSON Example**
21155
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
21156
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
21157
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
21158
- # sean@example.com"] ` ] `
21918
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
21919
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
21920
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
21921
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
21922
+ # "condition": ` "title": "expirable access", "description": "Does not grant
21923
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
21924
+ # 00:00.000Z')", ` ` ] `
21159
21925
  # **YAML Example**
21160
21926
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
21161
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
21162
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
21927
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
21928
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
21929
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
21930
+ # access description: Does not grant access after Sep 2020 expression: request.
21931
+ # time < timestamp('2020-10-01T00:00:00.000Z')
21163
21932
  # For a description of IAM and its features, see the [IAM developer's guide](
21164
21933
  # https://cloud.google.com/iam/docs).
21165
21934
  # Corresponds to the JSON property `policy`
@@ -21252,7 +22021,7 @@ module Google
21252
22021
  class Reservation
21253
22022
  include Google::Apis::Core::Hashable
21254
22023
 
21255
- # [OutputOnly] Full or partial URL to a parent commitment. This field displays
22024
+ # [Output Only] Full or partial URL to a parent commitment. This field displays
21256
22025
  # for reservations that are tied to a commitment.
21257
22026
  # Corresponds to the JSON property `commitment`
21258
22027
  # @return [String]
@@ -22502,8 +23271,7 @@ module Google
22502
23271
  # or full URL. For example, the following are all valid URLs:
22503
23272
  # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
22504
23273
  # forwardingRules/forwardingRule
22505
- # - regions/region/forwardingRules/forwardingRule Note that this can only be
22506
- # used when the destination_range is a public (non-RFC 1918) IP CIDR range.
23274
+ # - regions/region/forwardingRules/forwardingRule
22507
23275
  # Corresponds to the JSON property `nextHopIlb`
22508
23276
  # @return [String]
22509
23277
  attr_accessor :next_hop_ilb
@@ -23545,8 +24313,12 @@ module Google
23545
24313
  attr_accessor :enable
23546
24314
  alias_method :enable?, :enable
23547
24315
 
23548
- # Specifies the desired filtering of logs on this NAT. If unspecified, logs are
23549
- # exported for all connections handled by this NAT.
24316
+ # Specify the desired filtering of logs on this NAT. If unspecified, logs are
24317
+ # exported for all connections handled by this NAT. This option can take one of
24318
+ # the following values:
24319
+ # - ERRORS_ONLY: Export logs only for connection failures.
24320
+ # - TRANSLATIONS_ONLY: Export logs only for successful connections.
24321
+ # - ALL: Export logs for all connections, successful and unsuccessful.
23550
24322
  # Corresponds to the JSON property `filter`
23551
24323
  # @return [String]
23552
24324
  attr_accessor :filter
@@ -23731,13 +24503,13 @@ module Google
23731
24503
  attr_accessor :auto_allocated_nat_ips
23732
24504
 
23733
24505
  # A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.
23734
- # 1", ?179.12.26.133?].
24506
+ # 1", "179.12.26.133"].
23735
24507
  # Corresponds to the JSON property `drainAutoAllocatedNatIps`
23736
24508
  # @return [Array<String>]
23737
24509
  attr_accessor :drain_auto_allocated_nat_ips
23738
24510
 
23739
24511
  # A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.
23740
- # 1", ?179.12.26.133?].
24512
+ # 1", "179.12.26.133"].
23741
24513
  # Corresponds to the JSON property `drainUserAllocatedNatIps`
23742
24514
  # @return [Array<String>]
23743
24515
  attr_accessor :drain_user_allocated_nat_ips
@@ -24902,7 +25674,7 @@ module Google
24902
25674
  # @return [String]
24903
25675
  attr_accessor :description
24904
25676
 
24905
- # [Output Only] Size of the snapshot, specified in GB.
25677
+ # [Output Only] Size of the source disk, specified in GB.
24906
25678
  # Corresponds to the JSON property `diskSizeGb`
24907
25679
  # @return [Fixnum]
24908
25680
  attr_accessor :disk_size_gb
@@ -27329,12 +28101,14 @@ module Google
27329
28101
  attr_accessor :name
27330
28102
 
27331
28103
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
27332
- # determines whether the load balancer will attempt to negotiate QUIC with
27333
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
27334
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
27335
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
27336
- # overrides, which is equivalent to DISABLE. Not specifying this field is
27337
- # equivalent to specifying NONE.
28104
+ # setting determines whether the load balancer attempts to negotiate QUIC with
28105
+ # clients. You can specify NONE, ENABLE, or DISABLE.
28106
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
28107
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
28108
+ # possible.
28109
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
28110
+ # - If the quic-override flag is not specified, NONE is implied.
28111
+ # -
27338
28112
  # Corresponds to the JSON property `quicOverride`
27339
28113
  # @return [String]
27340
28114
  attr_accessor :quic_override
@@ -27358,8 +28132,8 @@ module Google
27358
28132
  attr_accessor :ssl_certificates
27359
28133
 
27360
28134
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
27361
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
27362
- # policy configured.
28135
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
28136
+ # configured.
27363
28137
  # Corresponds to the JSON property `sslPolicy`
27364
28138
  # @return [String]
27365
28139
  attr_accessor :ssl_policy
@@ -31443,6 +32217,17 @@ module Google
31443
32217
  # - NEGOTIATION_FAILURE: Handshake failed.
31444
32218
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
31445
32219
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
32220
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
32221
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
32222
+ # blacklisted.
32223
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
32224
+ # resources.
32225
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
32226
+ # Classic VPN tunnels or the project is in frozen state.
32227
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
32228
+ # behind NAT.
32229
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
32230
+ # VPN tunnel.
31446
32231
  # Corresponds to the JSON property `status`
31447
32232
  # @return [String]
31448
32233
  attr_accessor :status
@@ -32312,19 +33097,28 @@ module Google
32312
33097
 
32313
33098
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
32314
33099
  # access control policies for Cloud Platform resources.
32315
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
32316
- # members` to a `role`, where the members can be user accounts, Google groups,
32317
- # Google domains, and service accounts. A `role` is a named list of permissions
32318
- # defined by IAM.
33100
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
33101
+ # members` to a single `role`. Members can be user accounts, service accounts,
33102
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
33103
+ # permissions (defined by IAM or configured by users). A `binding` can
33104
+ # optionally specify a `condition`, which is a logic expression that further
33105
+ # constrains the role binding based on attributes about the request and/or
33106
+ # target resource.
32319
33107
  # **JSON Example**
32320
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
32321
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
32322
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
32323
- # sean@example.com"] ` ] `
33108
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
33109
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
33110
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
33111
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
33112
+ # "condition": ` "title": "expirable access", "description": "Does not grant
33113
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
33114
+ # 00:00.000Z')", ` ` ] `
32324
33115
  # **YAML Example**
32325
33116
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
32326
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
32327
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
33117
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
33118
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
33119
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
33120
+ # access description: Does not grant access after Sep 2020 expression: request.
33121
+ # time < timestamp('2020-10-01T00:00:00.000Z')
32328
33122
  # For a description of IAM and its features, see the [IAM developer's guide](
32329
33123
  # https://cloud.google.com/iam/docs).
32330
33124
  # Corresponds to the JSON property `policy`