google-api-client 0.32.1 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. checksums.yaml +5 -5
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/.yardopts +16 -3
  9. data/CHANGELOG.md +327 -0
  10. data/Gemfile +1 -0
  11. data/OVERVIEW.md +36 -0
  12. data/README.md +50 -2
  13. data/Rakefile +71 -2
  14. data/docs/api-keys.md +20 -0
  15. data/docs/auth.md +53 -0
  16. data/docs/client-secrets.md +69 -0
  17. data/docs/getting-started.md +340 -0
  18. data/docs/installation.md +0 -0
  19. data/docs/logging.md +34 -0
  20. data/docs/media-upload.md +25 -0
  21. data/docs/oauth-installed.md +191 -0
  22. data/docs/oauth-server.md +135 -0
  23. data/docs/oauth-web.md +280 -0
  24. data/docs/oauth.md +268 -0
  25. data/docs/pagination.md +29 -0
  26. data/docs/performance.md +25 -0
  27. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  28. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  29. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  30. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  31. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  32. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  33. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  34. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  35. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  36. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  37. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +24 -2
  38. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  39. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  40. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -3
  41. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  42. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  43. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  44. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  45. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  46. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  47. data/generated/google/apis/admin_directory_v1.rb +4 -1
  48. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  49. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  50. data/generated/google/apis/admin_reports_v1.rb +2 -2
  51. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  52. data/generated/google/apis/androidpublisher_v3/classes.rb +105 -0
  53. data/generated/google/apis/androidpublisher_v3/representations.rb +51 -0
  54. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  55. data/generated/google/apis/appengine_v1/service.rb +10 -6
  56. data/generated/google/apis/appengine_v1.rb +1 -1
  57. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  58. data/generated/google/apis/appengine_v1beta.rb +1 -1
  59. data/generated/google/apis/appsmarket_v2.rb +1 -1
  60. data/generated/google/apis/bigquery_v2/classes.rb +104 -23
  61. data/generated/google/apis/bigquery_v2/representations.rb +37 -0
  62. data/generated/google/apis/bigquery_v2/service.rb +1 -5
  63. data/generated/google/apis/bigquery_v2.rb +1 -1
  64. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -5
  65. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  66. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  67. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -4
  68. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  69. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -21
  70. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  71. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  72. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +116 -1
  73. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +35 -0
  74. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  75. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  76. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +61 -77
  77. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +16 -17
  78. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +116 -78
  79. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  80. data/generated/google/apis/bigtableadmin_v1/classes.rb +1 -1
  81. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  82. data/generated/google/apis/bigtableadmin_v2/classes.rb +63 -30
  83. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  84. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  85. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +392 -0
  86. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +191 -0
  87. data/generated/google/apis/billingbudgets_v1beta1/service.rb +233 -0
  88. data/generated/google/apis/billingbudgets_v1beta1.rb +35 -0
  89. data/generated/google/apis/binaryauthorization_v1/classes.rb +6 -5
  90. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  91. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  92. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -5
  93. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  94. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  95. data/generated/google/apis/books_v1/classes.rb +20 -0
  96. data/generated/google/apis/books_v1/representations.rb +3 -0
  97. data/generated/google/apis/books_v1.rb +1 -1
  98. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  99. data/generated/google/apis/calendar_v3/service.rb +18 -30
  100. data/generated/google/apis/calendar_v3.rb +1 -1
  101. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  102. data/generated/google/apis/civicinfo_v2/representations.rb +2 -60
  103. data/generated/google/apis/civicinfo_v2.rb +1 -1
  104. data/generated/google/apis/cloudasset_v1/classes.rb +89 -55
  105. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  106. data/generated/google/apis/cloudasset_v1.rb +1 -1
  107. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -40
  108. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  109. data/generated/google/apis/cloudbilling_v1/classes.rb +82 -36
  110. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  111. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  112. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  113. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -2
  114. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  115. data/generated/google/apis/cloudbuild_v1/service.rb +18 -18
  116. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  117. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  118. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  119. data/generated/google/apis/cloudfunctions_v1/classes.rb +13 -5
  120. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  121. data/generated/google/apis/cloudfunctions_v1/service.rb +10 -4
  122. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  123. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  124. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  125. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  126. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  127. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  128. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  129. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  130. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  131. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  132. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  133. data/generated/google/apis/cloudiot_v1/classes.rb +6 -5
  134. data/generated/google/apis/cloudiot_v1.rb +1 -1
  135. data/generated/google/apis/cloudkms_v1/classes.rb +6 -5
  136. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  137. data/generated/google/apis/cloudkms_v1.rb +1 -1
  138. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -40
  139. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  140. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +18 -17
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  142. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  143. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  144. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +10 -13
  145. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  146. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  147. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +10 -13
  148. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  149. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  150. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  151. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  152. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  153. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  154. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -132
  155. data/generated/google/apis/cloudsearch_v1/representations.rb +0 -75
  156. data/generated/google/apis/cloudsearch_v1/service.rb +47 -9
  157. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  158. data/generated/google/apis/cloudshell_v1/classes.rb +24 -1
  159. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  160. data/generated/google/apis/cloudshell_v1.rb +1 -1
  161. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +24 -1
  162. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  163. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  164. data/generated/google/apis/cloudtasks_v2/classes.rb +212 -5
  165. data/generated/google/apis/cloudtasks_v2/representations.rb +50 -0
  166. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  167. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +6 -5
  168. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  169. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +6 -5
  170. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  171. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +14 -19
  172. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  173. data/generated/google/apis/compute_alpha/classes.rb +594 -164
  174. data/generated/google/apis/compute_alpha/representations.rb +110 -2
  175. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  176. data/generated/google/apis/compute_alpha.rb +1 -1
  177. data/generated/google/apis/compute_beta/classes.rb +1070 -276
  178. data/generated/google/apis/compute_beta/representations.rb +284 -0
  179. data/generated/google/apis/compute_beta/service.rb +1242 -532
  180. data/generated/google/apis/compute_beta.rb +1 -1
  181. data/generated/google/apis/compute_v1/classes.rb +335 -133
  182. data/generated/google/apis/compute_v1/representations.rb +24 -0
  183. data/generated/google/apis/compute_v1/service.rb +759 -473
  184. data/generated/google/apis/compute_v1.rb +1 -1
  185. data/generated/google/apis/container_v1/classes.rb +410 -83
  186. data/generated/google/apis/container_v1/representations.rb +134 -0
  187. data/generated/google/apis/container_v1/service.rb +119 -119
  188. data/generated/google/apis/container_v1.rb +1 -1
  189. data/generated/google/apis/container_v1beta1/classes.rb +157 -3
  190. data/generated/google/apis/container_v1beta1/representations.rb +38 -0
  191. data/generated/google/apis/container_v1beta1.rb +1 -1
  192. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +6 -5
  193. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  194. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +6 -5
  195. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  196. data/generated/google/apis/content_v2/classes.rb +35 -223
  197. data/generated/google/apis/content_v2/representations.rb +0 -115
  198. data/generated/google/apis/content_v2/service.rb +0 -160
  199. data/generated/google/apis/content_v2.rb +1 -1
  200. data/generated/google/apis/content_v2_1/classes.rb +69 -21
  201. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  202. data/generated/google/apis/content_v2_1.rb +1 -1
  203. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1646 -0
  204. data/generated/google/apis/datacatalog_v1beta1/representations.rb +700 -0
  205. data/generated/google/apis/datacatalog_v1beta1/service.rb +1982 -0
  206. data/generated/google/apis/{cloudbuild_v1alpha1.rb → datacatalog_v1beta1.rb} +10 -9
  207. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  208. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  209. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  210. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  211. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  212. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  213. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  214. data/generated/google/apis/dataproc_v1/classes.rb +119 -11
  215. data/generated/google/apis/dataproc_v1/representations.rb +39 -0
  216. data/generated/google/apis/dataproc_v1/service.rb +14 -7
  217. data/generated/google/apis/dataproc_v1.rb +1 -1
  218. data/generated/google/apis/dataproc_v1beta2/classes.rb +9 -11
  219. data/generated/google/apis/dataproc_v1beta2/service.rb +26 -19
  220. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  221. data/generated/google/apis/datastore_v1/service.rb +85 -1
  222. data/generated/google/apis/datastore_v1.rb +1 -1
  223. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  224. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  225. data/generated/google/apis/dfareporting_v3_3/classes.rb +21 -1
  226. data/generated/google/apis/dfareporting_v3_3/service.rb +6 -6
  227. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  228. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/classes.rb +1215 -797
  229. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/representations.rb +593 -395
  230. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/service.rb +966 -1074
  231. data/generated/google/apis/{dfareporting_v3_2.rb → dfareporting_v3_4.rb} +6 -6
  232. data/generated/google/apis/dialogflow_v2/classes.rb +509 -8
  233. data/generated/google/apis/dialogflow_v2/representations.rb +222 -0
  234. data/generated/google/apis/dialogflow_v2.rb +1 -1
  235. data/generated/google/apis/dialogflow_v2beta1/classes.rb +530 -8
  236. data/generated/google/apis/dialogflow_v2beta1/representations.rb +224 -0
  237. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  238. data/generated/google/apis/dlp_v2/classes.rb +109 -33
  239. data/generated/google/apis/dlp_v2/representations.rb +23 -3
  240. data/generated/google/apis/dlp_v2/service.rb +1996 -209
  241. data/generated/google/apis/dlp_v2.rb +1 -1
  242. data/generated/google/apis/dns_v1beta2/classes.rb +47 -0
  243. data/generated/google/apis/dns_v1beta2/representations.rb +17 -0
  244. data/generated/google/apis/dns_v1beta2.rb +1 -1
  245. data/generated/google/apis/docs_v1/classes.rb +175 -0
  246. data/generated/google/apis/docs_v1/representations.rb +77 -0
  247. data/generated/google/apis/docs_v1.rb +1 -1
  248. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  249. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +826 -0
  250. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +372 -0
  251. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +371 -0
  252. data/generated/google/apis/{urlshortener_v1.rb → doubleclickbidmanager_v1_1.rb} +11 -11
  253. data/generated/google/apis/drive_v2/classes.rb +2 -1
  254. data/generated/google/apis/drive_v2/service.rb +3 -3
  255. data/generated/google/apis/drive_v2.rb +1 -1
  256. data/generated/google/apis/drive_v3/classes.rb +12 -3
  257. data/generated/google/apis/drive_v3.rb +1 -1
  258. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  259. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  260. data/generated/google/apis/fcm_v1.rb +1 -1
  261. data/generated/google/apis/firebase_v1beta1/classes.rb +18 -4
  262. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  263. data/generated/google/apis/firebase_v1beta1/service.rb +6 -6
  264. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  265. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +62 -0
  266. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +31 -0
  267. data/generated/google/apis/firebasehosting_v1beta1/service.rb +47 -0
  268. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  269. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  270. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  271. data/generated/google/apis/firebaserules_v1.rb +1 -1
  272. data/generated/google/apis/firestore_v1.rb +1 -1
  273. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  274. data/generated/google/apis/fitness_v1/service.rb +1 -1
  275. data/generated/google/apis/fitness_v1.rb +1 -1
  276. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  277. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  278. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  279. data/generated/google/apis/games_management_v1management.rb +1 -1
  280. data/generated/google/apis/games_v1/classes.rb +6 -292
  281. data/generated/google/apis/games_v1/representations.rb +1 -98
  282. data/generated/google/apis/games_v1/service.rb +0 -123
  283. data/generated/google/apis/games_v1.rb +1 -1
  284. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  285. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  286. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  287. data/generated/google/apis/healthcare_v1beta1/classes.rb +213 -16
  288. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  289. data/generated/google/apis/healthcare_v1beta1/service.rb +207 -116
  290. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  291. data/generated/google/apis/homegraph_v1/classes.rb +15 -1
  292. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  293. data/generated/google/apis/homegraph_v1.rb +1 -1
  294. data/generated/google/apis/iam_v1/classes.rb +15 -7
  295. data/generated/google/apis/iam_v1/representations.rb +1 -0
  296. data/generated/google/apis/iam_v1.rb +1 -1
  297. data/generated/google/apis/iap_v1/classes.rb +187 -2
  298. data/generated/google/apis/iap_v1/representations.rb +102 -0
  299. data/generated/google/apis/iap_v1/service.rb +72 -0
  300. data/generated/google/apis/iap_v1.rb +1 -1
  301. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  302. data/generated/google/apis/iap_v1beta1.rb +1 -1
  303. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  304. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  305. data/generated/google/apis/jobs_v2.rb +1 -1
  306. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  307. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  308. data/generated/google/apis/jobs_v3.rb +1 -1
  309. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  310. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  311. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  312. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  313. data/generated/google/apis/licensing_v1/service.rb +81 -37
  314. data/generated/google/apis/licensing_v1.rb +4 -4
  315. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  316. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  317. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  318. data/generated/google/apis/lifesciences_v2beta.rb +35 -0
  319. data/generated/google/apis/logging_v2/classes.rb +30 -2
  320. data/generated/google/apis/logging_v2/representations.rb +4 -0
  321. data/generated/google/apis/logging_v2/service.rb +10 -5
  322. data/generated/google/apis/logging_v2.rb +1 -1
  323. data/generated/google/apis/ml_v1/classes.rb +308 -155
  324. data/generated/google/apis/ml_v1/representations.rb +59 -0
  325. data/generated/google/apis/ml_v1/service.rb +44 -3
  326. data/generated/google/apis/ml_v1.rb +2 -2
  327. data/generated/google/apis/monitoring_v1/classes.rb +1153 -0
  328. data/generated/google/apis/monitoring_v1/representations.rb +528 -0
  329. data/generated/google/apis/{cloudbuild_v1alpha1 → monitoring_v1}/service.rb +86 -63
  330. data/generated/google/apis/monitoring_v1.rb +48 -0
  331. data/generated/google/apis/monitoring_v3/classes.rb +836 -60
  332. data/generated/google/apis/monitoring_v3/representations.rb +348 -0
  333. data/generated/google/apis/monitoring_v3/service.rb +384 -2
  334. data/generated/google/apis/monitoring_v3.rb +1 -1
  335. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  336. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  337. data/generated/google/apis/oslogin_v1.rb +1 -1
  338. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  339. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  340. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  341. data/generated/google/apis/pagespeedonline_v5/classes.rb +8 -0
  342. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  343. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  344. data/generated/google/apis/people_v1/classes.rb +67 -63
  345. data/generated/google/apis/people_v1/service.rb +53 -44
  346. data/generated/google/apis/people_v1.rb +1 -1
  347. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -90
  348. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  349. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  350. data/generated/google/apis/pubsub_v1/classes.rb +8 -6
  351. data/generated/google/apis/pubsub_v1/service.rb +9 -7
  352. data/generated/google/apis/pubsub_v1.rb +1 -1
  353. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -5
  354. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  355. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  356. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  357. data/generated/google/apis/recommender_v1beta1/service.rb +10 -8
  358. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  359. data/generated/google/apis/redis_v1/classes.rb +11 -11
  360. data/generated/google/apis/redis_v1/service.rb +5 -5
  361. data/generated/google/apis/redis_v1.rb +1 -1
  362. data/generated/google/apis/redis_v1beta1/classes.rb +11 -11
  363. data/generated/google/apis/redis_v1beta1/service.rb +5 -5
  364. data/generated/google/apis/redis_v1beta1.rb +1 -1
  365. data/generated/google/apis/remotebuildexecution_v1/classes.rb +113 -0
  366. data/generated/google/apis/remotebuildexecution_v1/representations.rb +50 -0
  367. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  368. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +113 -0
  369. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +50 -0
  370. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  371. data/generated/google/apis/remotebuildexecution_v2/classes.rb +113 -0
  372. data/generated/google/apis/remotebuildexecution_v2/representations.rb +50 -0
  373. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  374. data/generated/google/apis/reseller_v1/service.rb +1 -1
  375. data/generated/google/apis/reseller_v1.rb +1 -1
  376. data/generated/google/apis/run_v1/classes.rb +8 -176
  377. data/generated/google/apis/run_v1/representations.rb +0 -71
  378. data/generated/google/apis/run_v1/service.rb +209 -1125
  379. data/generated/google/apis/run_v1.rb +1 -1
  380. data/generated/google/apis/run_v1alpha1/classes.rb +328 -9
  381. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  382. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  383. data/generated/google/apis/run_v1alpha1.rb +1 -1
  384. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -40
  385. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  386. data/generated/google/apis/securitycenter_v1/classes.rb +159 -66
  387. data/generated/google/apis/securitycenter_v1/representations.rb +19 -0
  388. data/generated/google/apis/securitycenter_v1/service.rb +14 -12
  389. data/generated/google/apis/securitycenter_v1.rb +1 -1
  390. data/generated/google/apis/securitycenter_v1beta1/classes.rb +95 -57
  391. data/generated/google/apis/securitycenter_v1beta1/service.rb +14 -12
  392. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  393. data/generated/google/apis/servicebroker_v1/classes.rb +75 -40
  394. data/generated/google/apis/servicebroker_v1.rb +1 -1
  395. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -40
  396. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  397. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -40
  398. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  399. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +95 -43
  400. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  401. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  402. data/generated/google/apis/servicecontrol_v1/classes.rb +8 -12
  403. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -1
  404. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  405. data/generated/google/apis/servicemanagement_v1/classes.rb +142 -91
  406. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  407. data/generated/google/apis/servicemanagement_v1/service.rb +32 -26
  408. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1/classes.rb +181 -54
  410. data/generated/google/apis/servicenetworking_v1/representations.rb +71 -0
  411. data/generated/google/apis/servicenetworking_v1/service.rb +77 -3
  412. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  413. data/generated/google/apis/servicenetworking_v1beta/classes.rb +32 -43
  414. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  415. data/generated/google/apis/serviceusage_v1/classes.rb +87 -43
  416. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  417. data/generated/google/apis/serviceusage_v1.rb +1 -1
  418. data/generated/google/apis/serviceusage_v1beta1/classes.rb +87 -43
  419. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  420. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  421. data/generated/google/apis/sheets_v4/classes.rb +1371 -232
  422. data/generated/google/apis/sheets_v4/representations.rb +180 -0
  423. data/generated/google/apis/sheets_v4.rb +1 -1
  424. data/generated/google/apis/spanner_v1/classes.rb +70 -30
  425. data/generated/google/apis/spanner_v1/service.rb +270 -0
  426. data/generated/google/apis/spanner_v1.rb +1 -1
  427. data/generated/google/apis/speech_v1/classes.rb +6 -0
  428. data/generated/google/apis/speech_v1/representations.rb +1 -0
  429. data/generated/google/apis/speech_v1.rb +1 -1
  430. data/generated/google/apis/speech_v1p1beta1/classes.rb +6 -0
  431. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  432. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  433. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  434. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  435. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  436. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  437. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/classes.rb +499 -380
  438. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/representations.rb +125 -104
  439. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/service.rb +637 -590
  440. data/generated/google/apis/{sqladmin_v1beta4.rb → sql_v1beta4.rb} +7 -8
  441. data/generated/google/apis/storage_v1.rb +1 -1
  442. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  443. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  444. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  445. data/generated/google/apis/testing_v1/classes.rb +142 -1
  446. data/generated/google/apis/testing_v1/representations.rb +76 -0
  447. data/generated/google/apis/testing_v1.rb +1 -1
  448. data/generated/google/apis/videointelligence_v1/classes.rb +147 -36
  449. data/generated/google/apis/videointelligence_v1/representations.rb +62 -0
  450. data/generated/google/apis/videointelligence_v1.rb +1 -1
  451. data/generated/google/apis/videointelligence_v1beta2/classes.rb +147 -36
  452. data/generated/google/apis/videointelligence_v1beta2/representations.rb +62 -0
  453. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  454. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +147 -36
  455. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +62 -0
  456. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  457. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +147 -36
  458. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +62 -0
  459. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  460. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +147 -36
  461. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +62 -0
  462. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  463. data/generated/google/apis/vision_v1/classes.rb +66 -0
  464. data/generated/google/apis/vision_v1/representations.rb +32 -0
  465. data/generated/google/apis/vision_v1.rb +1 -1
  466. data/generated/google/apis/vision_v1p1beta1/classes.rb +66 -0
  467. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  468. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  469. data/generated/google/apis/vision_v1p2beta1/classes.rb +66 -0
  470. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  471. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  472. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  473. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  474. data/google-api-client.gemspec +6 -3
  475. data/lib/google/apis/core/api_command.rb +3 -0
  476. data/lib/google/apis/core/http_command.rb +10 -8
  477. data/lib/google/apis/core/upload.rb +4 -0
  478. data/lib/google/apis/version.rb +1 -1
  479. data/rakelib/devsite/devsite_builder.rb +126 -0
  480. data/rakelib/devsite/link_checker.rb +64 -0
  481. data/rakelib/devsite/repo_metadata.rb +56 -0
  482. metadata +64 -42
  483. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1168
  484. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -434
  485. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  486. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  487. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
  488. data/generated/google/apis/storage_v1beta1.rb +0 -40
  489. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  490. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  491. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -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`