google-api-client 0.42.2 → 0.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (959) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +535 -0
  3. data/api_names.yaml +1 -0
  4. data/docs/oauth-server.md +4 -6
  5. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -1
  6. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +8 -13
  7. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +2 -3
  8. data/generated/google/apis/accessapproval_v1.rb +1 -1
  9. data/generated/google/apis/accessapproval_v1/classes.rb +59 -83
  10. data/generated/google/apis/accessapproval_v1/representations.rb +1 -0
  11. data/generated/google/apis/accessapproval_v1/service.rb +93 -132
  12. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  13. data/generated/google/apis/accesscontextmanager_v1/classes.rb +198 -236
  14. data/generated/google/apis/accesscontextmanager_v1/service.rb +128 -171
  15. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  16. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +153 -184
  17. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +82 -111
  18. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +532 -651
  20. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  21. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +467 -631
  22. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  23. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +47 -2
  24. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +18 -0
  25. data/generated/google/apis/adexperiencereport_v1.rb +1 -1
  26. data/generated/google/apis/adexperiencereport_v1/classes.rb +11 -18
  27. data/generated/google/apis/adexperiencereport_v1/service.rb +2 -3
  28. data/generated/google/apis/admin_datatransfer_v1.rb +6 -4
  29. data/generated/google/apis/admin_datatransfer_v1/classes.rb +16 -4
  30. data/generated/google/apis/admin_datatransfer_v1/service.rb +30 -48
  31. data/generated/google/apis/admin_directory_v1.rb +6 -8
  32. data/generated/google/apis/admin_directory_v1/classes.rb +209 -242
  33. data/generated/google/apis/admin_directory_v1/representations.rb +0 -39
  34. data/generated/google/apis/admin_directory_v1/service.rb +535 -998
  35. data/generated/google/apis/admin_reports_v1.rb +6 -5
  36. data/generated/google/apis/admin_reports_v1/classes.rb +31 -33
  37. data/generated/google/apis/admin_reports_v1/service.rb +131 -187
  38. data/generated/google/apis/admob_v1.rb +4 -1
  39. data/generated/google/apis/admob_v1/classes.rb +139 -270
  40. data/generated/google/apis/admob_v1/service.rb +11 -13
  41. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  42. data/generated/google/apis/alertcenter_v1beta1/classes.rb +107 -138
  43. data/generated/google/apis/alertcenter_v1beta1/service.rb +50 -55
  44. data/generated/google/apis/analyticsdata_v1alpha.rb +37 -0
  45. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +1610 -0
  46. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +789 -0
  47. data/generated/google/apis/analyticsdata_v1alpha/service.rb +220 -0
  48. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  49. data/generated/google/apis/analyticsreporting_v4/classes.rb +315 -399
  50. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  51. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +193 -220
  52. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +55 -61
  53. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  54. data/generated/google/apis/androidenterprise_v1/classes.rb +452 -557
  55. data/generated/google/apis/androidenterprise_v1/service.rb +183 -242
  56. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  57. data/generated/google/apis/androidmanagement_v1/classes.rb +98 -61
  58. data/generated/google/apis/androidmanagement_v1/representations.rb +17 -0
  59. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  60. data/generated/google/apis/androidpublisher_v3/classes.rb +281 -342
  61. data/generated/google/apis/androidpublisher_v3/service.rb +127 -155
  62. data/generated/google/apis/apigateway_v1alpha1.rb +34 -0
  63. data/generated/google/apis/apigateway_v1alpha1/classes.rb +633 -0
  64. data/generated/google/apis/apigateway_v1alpha1/representations.rb +250 -0
  65. data/generated/google/apis/apigateway_v1alpha1/service.rb +623 -0
  66. data/generated/google/apis/apigateway_v1beta.rb +34 -0
  67. data/generated/google/apis/apigateway_v1beta/classes.rb +1162 -0
  68. data/generated/google/apis/apigateway_v1beta/representations.rb +470 -0
  69. data/generated/google/apis/apigateway_v1beta/service.rb +1172 -0
  70. data/generated/google/apis/apigee_v1.rb +6 -8
  71. data/generated/google/apis/apigee_v1/classes.rb +1123 -1214
  72. data/generated/google/apis/apigee_v1/representations.rb +139 -0
  73. data/generated/google/apis/apigee_v1/service.rb +1018 -1151
  74. data/generated/google/apis/appengine_v1.rb +1 -1
  75. data/generated/google/apis/appengine_v1/classes.rb +96 -59
  76. data/generated/google/apis/appengine_v1/representations.rb +17 -0
  77. data/generated/google/apis/appengine_v1/service.rb +38 -47
  78. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  79. data/generated/google/apis/appengine_v1alpha/classes.rb +9 -11
  80. data/generated/google/apis/appengine_v1beta.rb +1 -1
  81. data/generated/google/apis/appengine_v1beta/classes.rb +103 -59
  82. data/generated/google/apis/appengine_v1beta/representations.rb +18 -0
  83. data/generated/google/apis/appengine_v1beta/service.rb +37 -47
  84. data/generated/google/apis/appsmarket_v2.rb +1 -1
  85. data/generated/google/apis/appsmarket_v2/classes.rb +14 -16
  86. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  87. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +242 -337
  88. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  89. data/generated/google/apis/artifactregistry_v1beta1/service.rb +44 -57
  90. data/generated/google/apis/{accessapproval_v1beta1.rb → assuredworkloads_v1beta1.rb} +8 -8
  91. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +458 -0
  92. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +230 -0
  93. data/generated/google/apis/assuredworkloads_v1beta1/service.rb +328 -0
  94. data/generated/google/apis/bigquery_v2.rb +1 -1
  95. data/generated/google/apis/bigquery_v2/classes.rb +381 -553
  96. data/generated/google/apis/bigquery_v2/representations.rb +16 -0
  97. data/generated/google/apis/bigquery_v2/service.rb +32 -40
  98. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  99. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +192 -337
  100. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +29 -32
  101. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  102. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +132 -158
  103. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +232 -282
  104. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  105. data/generated/google/apis/bigqueryreservation_v1/classes.rb +116 -123
  106. data/generated/google/apis/bigqueryreservation_v1/representations.rb +2 -0
  107. data/generated/google/apis/bigqueryreservation_v1/service.rb +137 -183
  108. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  109. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +88 -100
  110. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +77 -100
  111. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  112. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +93 -98
  113. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +2 -0
  114. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +114 -151
  115. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  116. data/generated/google/apis/bigtableadmin_v1/classes.rb +137 -119
  117. data/generated/google/apis/bigtableadmin_v1/representations.rb +29 -0
  118. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  119. data/generated/google/apis/bigtableadmin_v2/classes.rb +455 -607
  120. data/generated/google/apis/bigtableadmin_v2/representations.rb +29 -0
  121. data/generated/google/apis/bigtableadmin_v2/service.rb +194 -247
  122. data/generated/google/apis/billingbudgets_v1beta1.rb +4 -1
  123. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +107 -118
  124. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  125. data/generated/google/apis/billingbudgets_v1beta1/service.rb +30 -33
  126. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  127. data/generated/google/apis/binaryauthorization_v1/classes.rb +246 -354
  128. data/generated/google/apis/binaryauthorization_v1/representations.rb +1 -0
  129. data/generated/google/apis/binaryauthorization_v1/service.rb +74 -89
  130. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  131. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +246 -354
  132. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +1 -0
  133. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +74 -89
  134. data/generated/google/apis/blogger_v2.rb +2 -3
  135. data/generated/google/apis/blogger_v2/classes.rb +1 -2
  136. data/generated/google/apis/blogger_v2/service.rb +1 -2
  137. data/generated/google/apis/blogger_v3.rb +2 -3
  138. data/generated/google/apis/blogger_v3/classes.rb +1 -2
  139. data/generated/google/apis/blogger_v3/service.rb +1 -2
  140. data/generated/google/apis/calendar_v3.rb +1 -1
  141. data/generated/google/apis/calendar_v3/classes.rb +11 -9
  142. data/generated/google/apis/chat_v1.rb +1 -1
  143. data/generated/google/apis/chat_v1/classes.rb +91 -116
  144. data/generated/google/apis/chat_v1/service.rb +30 -42
  145. data/generated/google/apis/chromeuxreport_v1.rb +1 -1
  146. data/generated/google/apis/chromeuxreport_v1/classes.rb +55 -66
  147. data/generated/google/apis/civicinfo_v2.rb +1 -1
  148. data/generated/google/apis/civicinfo_v2/classes.rb +18 -8
  149. data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
  150. data/generated/google/apis/classroom_v1.rb +7 -1
  151. data/generated/google/apis/classroom_v1/classes.rb +382 -365
  152. data/generated/google/apis/classroom_v1/representations.rb +43 -0
  153. data/generated/google/apis/classroom_v1/service.rb +883 -902
  154. data/generated/google/apis/cloudasset_v1.rb +1 -1
  155. data/generated/google/apis/cloudasset_v1/classes.rb +765 -1036
  156. data/generated/google/apis/cloudasset_v1/representations.rb +16 -0
  157. data/generated/google/apis/cloudasset_v1/service.rb +131 -156
  158. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  159. data/generated/google/apis/cloudasset_v1beta1/classes.rb +531 -775
  160. data/generated/google/apis/cloudasset_v1beta1/service.rb +59 -75
  161. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  162. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +204 -349
  163. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +35 -47
  164. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  165. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +222 -276
  166. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +75 -93
  167. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  168. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +481 -718
  169. data/generated/google/apis/cloudasset_v1p5beta1/service.rb +25 -28
  170. data/generated/google/apis/cloudbilling_v1.rb +7 -1
  171. data/generated/google/apis/cloudbilling_v1/classes.rb +284 -445
  172. data/generated/google/apis/cloudbilling_v1/service.rb +104 -124
  173. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  174. data/generated/google/apis/cloudbuild_v1/classes.rb +371 -343
  175. data/generated/google/apis/cloudbuild_v1/representations.rb +23 -0
  176. data/generated/google/apis/cloudbuild_v1/service.rb +265 -66
  177. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  178. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +291 -329
  179. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +2 -0
  180. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +15 -18
  181. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  182. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +277 -313
  183. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +2 -0
  184. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +22 -28
  185. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  186. data/generated/google/apis/clouddebugger_v2/classes.rb +185 -252
  187. data/generated/google/apis/clouddebugger_v2/service.rb +53 -59
  188. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  189. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +132 -154
  190. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +1 -0
  191. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +53 -69
  192. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  193. data/generated/google/apis/cloudfunctions_v1/classes.rb +323 -493
  194. data/generated/google/apis/cloudfunctions_v1/service.rb +79 -93
  195. data/generated/google/apis/cloudidentity_v1.rb +4 -1
  196. data/generated/google/apis/cloudidentity_v1/classes.rb +977 -75
  197. data/generated/google/apis/cloudidentity_v1/representations.rb +388 -0
  198. data/generated/google/apis/cloudidentity_v1/service.rb +841 -62
  199. data/generated/google/apis/cloudidentity_v1beta1.rb +4 -1
  200. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1059 -318
  201. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +331 -22
  202. data/generated/google/apis/cloudidentity_v1beta1/service.rb +742 -96
  203. data/generated/google/apis/cloudiot_v1.rb +1 -1
  204. data/generated/google/apis/cloudiot_v1/classes.rb +270 -373
  205. data/generated/google/apis/cloudiot_v1/representations.rb +1 -0
  206. data/generated/google/apis/cloudiot_v1/service.rb +147 -154
  207. data/generated/google/apis/cloudkms_v1.rb +1 -1
  208. data/generated/google/apis/cloudkms_v1/classes.rb +509 -692
  209. data/generated/google/apis/cloudkms_v1/representations.rb +18 -0
  210. data/generated/google/apis/cloudkms_v1/service.rb +170 -216
  211. data/generated/google/apis/cloudprofiler_v2.rb +1 -1
  212. data/generated/google/apis/cloudprofiler_v2/classes.rb +28 -33
  213. data/generated/google/apis/cloudprofiler_v2/service.rb +17 -19
  214. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  215. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +14 -7
  216. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +1 -0
  217. data/generated/google/apis/cloudresourcemanager_v1/service.rb +60 -58
  218. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  219. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +11 -4
  220. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +1 -0
  221. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +24 -23
  222. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  223. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +7 -0
  224. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +1 -0
  225. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  226. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +7 -0
  227. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +1 -0
  228. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  229. data/generated/google/apis/cloudscheduler_v1/classes.rb +272 -383
  230. data/generated/google/apis/cloudscheduler_v1/service.rb +45 -62
  231. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  232. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +273 -384
  233. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +45 -62
  234. data/generated/google/apis/cloudsearch_v1.rb +2 -2
  235. data/generated/google/apis/cloudsearch_v1/classes.rb +650 -782
  236. data/generated/google/apis/cloudsearch_v1/representations.rb +15 -0
  237. data/generated/google/apis/cloudsearch_v1/service.rb +286 -326
  238. data/generated/google/apis/cloudshell_v1.rb +1 -1
  239. data/generated/google/apis/cloudshell_v1/classes.rb +36 -227
  240. data/generated/google/apis/cloudshell_v1/representations.rb +0 -67
  241. data/generated/google/apis/cloudshell_v1/service.rb +21 -25
  242. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  243. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +69 -78
  244. data/generated/google/apis/cloudshell_v1alpha1/service.rb +20 -24
  245. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  246. data/generated/google/apis/cloudtasks_v2/classes.rb +612 -933
  247. data/generated/google/apis/cloudtasks_v2/representations.rb +1 -0
  248. data/generated/google/apis/cloudtasks_v2/service.rb +146 -217
  249. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  250. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +608 -964
  251. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +1 -0
  252. data/generated/google/apis/cloudtasks_v2beta2/service.rb +178 -270
  253. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  254. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +616 -938
  255. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +1 -0
  256. data/generated/google/apis/cloudtasks_v2beta3/service.rb +146 -217
  257. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  258. data/generated/google/apis/cloudtrace_v1/classes.rb +39 -61
  259. data/generated/google/apis/cloudtrace_v1/service.rb +37 -51
  260. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  261. data/generated/google/apis/cloudtrace_v2/classes.rb +92 -107
  262. data/generated/google/apis/cloudtrace_v2/service.rb +8 -11
  263. data/generated/google/apis/cloudtrace_v2beta1.rb +1 -1
  264. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +23 -33
  265. data/generated/google/apis/cloudtrace_v2beta1/service.rb +30 -37
  266. data/generated/google/apis/composer_v1.rb +1 -1
  267. data/generated/google/apis/composer_v1/classes.rb +190 -242
  268. data/generated/google/apis/composer_v1/service.rb +79 -150
  269. data/generated/google/apis/composer_v1beta1.rb +1 -1
  270. data/generated/google/apis/composer_v1beta1/classes.rb +203 -262
  271. data/generated/google/apis/composer_v1beta1/service.rb +92 -179
  272. data/generated/google/apis/compute_alpha.rb +1 -1
  273. data/generated/google/apis/compute_alpha/classes.rb +1021 -137
  274. data/generated/google/apis/compute_alpha/representations.rb +208 -4
  275. data/generated/google/apis/compute_alpha/service.rb +710 -699
  276. data/generated/google/apis/compute_beta.rb +1 -1
  277. data/generated/google/apis/compute_beta/classes.rb +607 -82
  278. data/generated/google/apis/compute_beta/representations.rb +114 -1
  279. data/generated/google/apis/compute_beta/service.rb +623 -612
  280. data/generated/google/apis/compute_v1.rb +1 -1
  281. data/generated/google/apis/compute_v1/classes.rb +1014 -99
  282. data/generated/google/apis/compute_v1/representations.rb +390 -15
  283. data/generated/google/apis/compute_v1/service.rb +809 -33
  284. data/generated/google/apis/container_v1.rb +1 -1
  285. data/generated/google/apis/container_v1/classes.rb +996 -965
  286. data/generated/google/apis/container_v1/representations.rb +75 -0
  287. data/generated/google/apis/container_v1/service.rb +435 -502
  288. data/generated/google/apis/container_v1beta1.rb +1 -1
  289. data/generated/google/apis/container_v1beta1/classes.rb +1094 -1044
  290. data/generated/google/apis/container_v1beta1/representations.rb +91 -0
  291. data/generated/google/apis/container_v1beta1/service.rb +403 -466
  292. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  293. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +463 -596
  294. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1 -0
  295. data/generated/google/apis/containeranalysis_v1alpha1/service.rb +149 -169
  296. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  297. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +461 -613
  298. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +1 -0
  299. data/generated/google/apis/containeranalysis_v1beta1/service.rb +75 -90
  300. data/generated/google/apis/content_v2.rb +1 -1
  301. data/generated/google/apis/content_v2/classes.rb +14 -2
  302. data/generated/google/apis/content_v2_1.rb +1 -1
  303. data/generated/google/apis/content_v2_1/classes.rb +116 -5
  304. data/generated/google/apis/content_v2_1/representations.rb +35 -0
  305. data/generated/google/apis/content_v2_1/service.rb +53 -2
  306. data/generated/google/apis/customsearch_v1.rb +1 -1
  307. data/generated/google/apis/customsearch_v1/classes.rb +303 -492
  308. data/generated/google/apis/customsearch_v1/service.rb +186 -343
  309. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  310. data/generated/google/apis/datacatalog_v1beta1/classes.rb +9 -1
  311. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  312. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  313. data/generated/google/apis/dataflow_v1b3/classes.rb +1150 -973
  314. data/generated/google/apis/dataflow_v1b3/representations.rb +145 -0
  315. data/generated/google/apis/dataflow_v1b3/service.rb +308 -257
  316. data/generated/google/apis/datafusion_v1.rb +40 -0
  317. data/generated/google/apis/datafusion_v1/classes.rb +1040 -0
  318. data/generated/google/apis/datafusion_v1/representations.rb +395 -0
  319. data/generated/google/apis/datafusion_v1/service.rb +667 -0
  320. data/generated/google/apis/datafusion_v1beta1.rb +5 -8
  321. data/generated/google/apis/datafusion_v1beta1/classes.rb +283 -397
  322. data/generated/google/apis/datafusion_v1beta1/representations.rb +5 -0
  323. data/generated/google/apis/datafusion_v1beta1/service.rb +81 -95
  324. data/generated/google/apis/dataproc_v1.rb +1 -1
  325. data/generated/google/apis/dataproc_v1/classes.rb +250 -328
  326. data/generated/google/apis/dataproc_v1/representations.rb +18 -0
  327. data/generated/google/apis/dataproc_v1/service.rb +134 -168
  328. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  329. data/generated/google/apis/dataproc_v1beta2/classes.rb +274 -323
  330. data/generated/google/apis/dataproc_v1beta2/representations.rb +33 -0
  331. data/generated/google/apis/dataproc_v1beta2/service.rb +137 -192
  332. data/generated/google/apis/datastore_v1.rb +1 -1
  333. data/generated/google/apis/datastore_v1/classes.rb +330 -472
  334. data/generated/google/apis/datastore_v1/service.rb +52 -63
  335. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  336. data/generated/google/apis/datastore_v1beta1/classes.rb +150 -217
  337. data/generated/google/apis/datastore_v1beta1/service.rb +11 -12
  338. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  339. data/generated/google/apis/datastore_v1beta3/classes.rb +255 -371
  340. data/generated/google/apis/datastore_v1beta3/service.rb +1 -2
  341. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  342. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  343. data/generated/google/apis/dfareporting_v3_3.rb +2 -2
  344. data/generated/google/apis/dfareporting_v3_3/classes.rb +326 -339
  345. data/generated/google/apis/dfareporting_v3_3/representations.rb +42 -0
  346. data/generated/google/apis/dfareporting_v3_3/service.rb +646 -1262
  347. data/generated/google/apis/dfareporting_v3_4.rb +2 -2
  348. data/generated/google/apis/dfareporting_v3_4/classes.rb +348 -350
  349. data/generated/google/apis/dfareporting_v3_4/representations.rb +43 -0
  350. data/generated/google/apis/dfareporting_v3_4/service.rb +681 -1261
  351. data/generated/google/apis/dialogflow_v2.rb +1 -1
  352. data/generated/google/apis/dialogflow_v2/classes.rb +1318 -1613
  353. data/generated/google/apis/dialogflow_v2/representations.rb +53 -15
  354. data/generated/google/apis/dialogflow_v2/service.rb +324 -448
  355. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  356. data/generated/google/apis/dialogflow_v2beta1/classes.rb +1396 -1705
  357. data/generated/google/apis/dialogflow_v2beta1/representations.rb +53 -15
  358. data/generated/google/apis/dialogflow_v2beta1/service.rb +915 -996
  359. data/generated/google/apis/dialogflow_v3beta1.rb +38 -0
  360. data/generated/google/apis/dialogflow_v3beta1/classes.rb +8210 -0
  361. data/generated/google/apis/dialogflow_v3beta1/representations.rb +3461 -0
  362. data/generated/google/apis/dialogflow_v3beta1/service.rb +2812 -0
  363. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  364. data/generated/google/apis/digitalassetlinks_v1/classes.rb +66 -92
  365. data/generated/google/apis/digitalassetlinks_v1/service.rb +131 -188
  366. data/generated/google/apis/displayvideo_v1.rb +1 -1
  367. data/generated/google/apis/displayvideo_v1/classes.rb +158 -7
  368. data/generated/google/apis/displayvideo_v1/representations.rb +41 -0
  369. data/generated/google/apis/displayvideo_v1/service.rb +147 -31
  370. data/generated/google/apis/displayvideo_v1beta.rb +38 -0
  371. data/generated/google/apis/displayvideo_v1beta/classes.rb +146 -0
  372. data/generated/google/apis/displayvideo_v1beta/representations.rb +72 -0
  373. data/generated/google/apis/displayvideo_v1beta/service.rb +161 -0
  374. data/generated/google/apis/displayvideo_v1beta2.rb +38 -0
  375. data/generated/google/apis/displayvideo_v1beta2/classes.rb +146 -0
  376. data/generated/google/apis/displayvideo_v1beta2/representations.rb +72 -0
  377. data/generated/google/apis/displayvideo_v1beta2/service.rb +130 -0
  378. data/generated/google/apis/displayvideo_v1dev.rb +38 -0
  379. data/generated/google/apis/displayvideo_v1dev/classes.rb +146 -0
  380. data/generated/google/apis/displayvideo_v1dev/representations.rb +72 -0
  381. data/generated/google/apis/displayvideo_v1dev/service.rb +130 -0
  382. data/generated/google/apis/dlp_v2.rb +1 -1
  383. data/generated/google/apis/dlp_v2/classes.rb +1076 -1301
  384. data/generated/google/apis/dlp_v2/service.rb +962 -905
  385. data/generated/google/apis/dns_v1.rb +1 -1
  386. data/generated/google/apis/dns_v1/classes.rb +175 -198
  387. data/generated/google/apis/dns_v1/service.rb +82 -97
  388. data/generated/google/apis/dns_v1beta2.rb +1 -1
  389. data/generated/google/apis/dns_v1beta2/classes.rb +180 -205
  390. data/generated/google/apis/dns_v1beta2/service.rb +82 -97
  391. data/generated/google/apis/docs_v1.rb +1 -1
  392. data/generated/google/apis/docs_v1/classes.rb +894 -1229
  393. data/generated/google/apis/docs_v1/service.rb +17 -22
  394. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  395. data/generated/google/apis/documentai_v1beta2/classes.rb +2253 -824
  396. data/generated/google/apis/documentai_v1beta2/representations.rb +701 -0
  397. data/generated/google/apis/documentai_v1beta2/service.rb +22 -24
  398. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  399. data/generated/google/apis/domainsrdap_v1/classes.rb +42 -69
  400. data/generated/google/apis/domainsrdap_v1/service.rb +16 -16
  401. data/generated/google/apis/doubleclickbidmanager_v1.rb +3 -2
  402. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +8 -15
  403. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +37 -66
  404. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +3 -2
  405. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +202 -15
  406. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +107 -0
  407. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +37 -66
  408. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  409. data/generated/google/apis/doubleclicksearch_v2/service.rb +2 -2
  410. data/generated/google/apis/drive_v2.rb +1 -1
  411. data/generated/google/apis/drive_v2/classes.rb +17 -7
  412. data/generated/google/apis/drive_v2/representations.rb +1 -0
  413. data/generated/google/apis/drive_v2/service.rb +79 -15
  414. data/generated/google/apis/drive_v3.rb +1 -1
  415. data/generated/google/apis/drive_v3/classes.rb +23 -7
  416. data/generated/google/apis/drive_v3/representations.rb +2 -0
  417. data/generated/google/apis/drive_v3/service.rb +59 -11
  418. data/generated/google/apis/driveactivity_v2.rb +1 -1
  419. data/generated/google/apis/driveactivity_v2/classes.rb +55 -68
  420. data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
  421. data/generated/google/apis/factchecktools_v1alpha1/classes.rb +46 -56
  422. data/generated/google/apis/factchecktools_v1alpha1/service.rb +30 -33
  423. data/generated/google/apis/file_v1.rb +1 -1
  424. data/generated/google/apis/file_v1/classes.rb +154 -173
  425. data/generated/google/apis/file_v1/service.rb +43 -52
  426. data/generated/google/apis/file_v1beta1.rb +1 -1
  427. data/generated/google/apis/file_v1beta1/classes.rb +334 -193
  428. data/generated/google/apis/file_v1beta1/representations.rb +55 -0
  429. data/generated/google/apis/file_v1beta1/service.rb +267 -55
  430. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  431. data/generated/google/apis/firebase_v1beta1/classes.rb +325 -375
  432. data/generated/google/apis/firebase_v1beta1/representations.rb +3 -16
  433. data/generated/google/apis/firebase_v1beta1/service.rb +364 -421
  434. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  435. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +89 -112
  436. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +18 -21
  437. data/generated/google/apis/firebasehosting_v1.rb +1 -1
  438. data/generated/google/apis/firebasehosting_v1/classes.rb +36 -40
  439. data/generated/google/apis/firebasehosting_v1/service.rb +19 -22
  440. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  441. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +334 -177
  442. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +83 -0
  443. data/generated/google/apis/firebasehosting_v1beta1/service.rb +530 -149
  444. data/generated/google/apis/firebaseml_v1.rb +1 -1
  445. data/generated/google/apis/firebaseml_v1/classes.rb +39 -44
  446. data/generated/google/apis/firebaseml_v1/service.rb +19 -22
  447. data/generated/google/apis/firebaseml_v1beta2.rb +1 -1
  448. data/generated/google/apis/firebaseml_v1beta2/classes.rb +67 -77
  449. data/generated/google/apis/firebaseml_v1beta2/representations.rb +1 -1
  450. data/generated/google/apis/firebaseml_v1beta2/service.rb +16 -18
  451. data/generated/google/apis/firebaserules_v1.rb +1 -1
  452. data/generated/google/apis/firebaserules_v1/classes.rb +102 -137
  453. data/generated/google/apis/firebaserules_v1/service.rb +87 -110
  454. data/generated/google/apis/firestore_v1.rb +1 -1
  455. data/generated/google/apis/firestore_v1/classes.rb +402 -498
  456. data/generated/google/apis/firestore_v1/service.rb +165 -201
  457. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  458. data/generated/google/apis/firestore_v1beta1/classes.rb +334 -409
  459. data/generated/google/apis/firestore_v1beta1/service.rb +106 -122
  460. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  461. data/generated/google/apis/firestore_v1beta2/classes.rb +135 -165
  462. data/generated/google/apis/firestore_v1beta2/service.rb +65 -86
  463. data/generated/google/apis/fitness_v1.rb +3 -3
  464. data/generated/google/apis/fitness_v1/classes.rb +172 -210
  465. data/generated/google/apis/fitness_v1/service.rb +125 -146
  466. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  467. data/generated/google/apis/games_configuration_v1configuration/classes.rb +2 -3
  468. data/generated/google/apis/games_configuration_v1configuration/service.rb +6 -6
  469. data/generated/google/apis/games_management_v1management.rb +2 -3
  470. data/generated/google/apis/games_management_v1management/classes.rb +14 -20
  471. data/generated/google/apis/games_management_v1management/service.rb +35 -36
  472. data/generated/google/apis/games_v1.rb +2 -3
  473. data/generated/google/apis/games_v1/classes.rb +76 -83
  474. data/generated/google/apis/games_v1/representations.rb +2 -0
  475. data/generated/google/apis/games_v1/service.rb +84 -90
  476. data/generated/google/apis/gameservices_v1.rb +1 -1
  477. data/generated/google/apis/gameservices_v1/classes.rb +351 -523
  478. data/generated/google/apis/gameservices_v1/representations.rb +1 -0
  479. data/generated/google/apis/gameservices_v1/service.rb +167 -207
  480. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  481. data/generated/google/apis/gameservices_v1beta/classes.rb +351 -523
  482. data/generated/google/apis/gameservices_v1beta/representations.rb +1 -0
  483. data/generated/google/apis/gameservices_v1beta/service.rb +167 -207
  484. data/generated/google/apis/genomics_v1.rb +1 -1
  485. data/generated/google/apis/genomics_v1/classes.rb +70 -76
  486. data/generated/google/apis/genomics_v1/service.rb +28 -43
  487. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  488. data/generated/google/apis/genomics_v1alpha2/classes.rb +223 -290
  489. data/generated/google/apis/genomics_v1alpha2/service.rb +54 -76
  490. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  491. data/generated/google/apis/genomics_v2alpha1/classes.rb +252 -347
  492. data/generated/google/apis/genomics_v2alpha1/representations.rb +1 -27
  493. data/generated/google/apis/genomics_v2alpha1/service.rb +47 -100
  494. data/generated/google/apis/gmail_v1.rb +3 -3
  495. data/generated/google/apis/gmail_v1/classes.rb +207 -266
  496. data/generated/google/apis/gmail_v1/service.rb +260 -288
  497. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +2 -2
  498. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +37 -42
  499. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +35 -41
  500. data/generated/google/apis/groupsmigration_v1.rb +35 -0
  501. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  502. data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
  503. data/generated/google/apis/groupsmigration_v1/service.rb +100 -0
  504. data/generated/google/apis/healthcare_v1.rb +1 -1
  505. data/generated/google/apis/healthcare_v1/classes.rb +635 -826
  506. data/generated/google/apis/healthcare_v1/representations.rb +32 -0
  507. data/generated/google/apis/healthcare_v1/service.rb +842 -844
  508. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  509. data/generated/google/apis/healthcare_v1beta1/classes.rb +887 -1086
  510. data/generated/google/apis/healthcare_v1beta1/representations.rb +60 -0
  511. data/generated/google/apis/healthcare_v1beta1/service.rb +1149 -1109
  512. data/generated/google/apis/homegraph_v1.rb +4 -1
  513. data/generated/google/apis/homegraph_v1/classes.rb +76 -164
  514. data/generated/google/apis/homegraph_v1/service.rb +23 -35
  515. data/generated/google/apis/iam_v1.rb +5 -2
  516. data/generated/google/apis/iam_v1/classes.rb +395 -592
  517. data/generated/google/apis/iam_v1/representations.rb +1 -0
  518. data/generated/google/apis/iam_v1/service.rb +431 -556
  519. data/generated/google/apis/iamcredentials_v1.rb +4 -2
  520. data/generated/google/apis/iamcredentials_v1/classes.rb +75 -85
  521. data/generated/google/apis/iamcredentials_v1/service.rb +15 -13
  522. data/generated/google/apis/iap_v1.rb +1 -1
  523. data/generated/google/apis/iap_v1/classes.rb +253 -355
  524. data/generated/google/apis/iap_v1/representations.rb +1 -0
  525. data/generated/google/apis/iap_v1/service.rb +61 -71
  526. data/generated/google/apis/iap_v1beta1.rb +1 -1
  527. data/generated/google/apis/iap_v1beta1/classes.rb +164 -254
  528. data/generated/google/apis/iap_v1beta1/representations.rb +1 -0
  529. data/generated/google/apis/iap_v1beta1/service.rb +17 -19
  530. data/generated/google/apis/indexing_v3.rb +1 -1
  531. data/generated/google/apis/indexing_v3/classes.rb +11 -11
  532. data/generated/google/apis/jobs_v2.rb +1 -1
  533. data/generated/google/apis/jobs_v2/classes.rb +786 -1086
  534. data/generated/google/apis/jobs_v2/service.rb +85 -126
  535. data/generated/google/apis/jobs_v3.rb +1 -1
  536. data/generated/google/apis/jobs_v3/classes.rb +637 -856
  537. data/generated/google/apis/jobs_v3/service.rb +101 -139
  538. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  539. data/generated/google/apis/jobs_v3p1beta1/classes.rb +762 -1023
  540. data/generated/google/apis/jobs_v3p1beta1/service.rb +103 -142
  541. data/generated/google/apis/kgsearch_v1.rb +1 -1
  542. data/generated/google/apis/kgsearch_v1/classes.rb +4 -4
  543. data/generated/google/apis/kgsearch_v1/service.rb +11 -11
  544. data/generated/google/apis/language_v1.rb +1 -1
  545. data/generated/google/apis/language_v1/classes.rb +93 -111
  546. data/generated/google/apis/language_v1/service.rb +4 -4
  547. data/generated/google/apis/language_v1beta1.rb +1 -1
  548. data/generated/google/apis/language_v1beta1/classes.rb +78 -90
  549. data/generated/google/apis/language_v1beta1/service.rb +2 -2
  550. data/generated/google/apis/language_v1beta2.rb +1 -1
  551. data/generated/google/apis/language_v1beta2/classes.rb +95 -112
  552. data/generated/google/apis/language_v1beta2/service.rb +4 -4
  553. data/generated/google/apis/libraryagent_v1.rb +1 -1
  554. data/generated/google/apis/libraryagent_v1/classes.rb +10 -16
  555. data/generated/google/apis/libraryagent_v1/service.rb +13 -16
  556. data/generated/google/apis/licensing_v1.rb +4 -3
  557. data/generated/google/apis/licensing_v1/classes.rb +1 -1
  558. data/generated/google/apis/licensing_v1/service.rb +55 -85
  559. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  560. data/generated/google/apis/lifesciences_v2beta/classes.rb +262 -290
  561. data/generated/google/apis/lifesciences_v2beta/service.rb +30 -42
  562. data/generated/google/apis/localservices_v1.rb +31 -0
  563. data/generated/google/apis/localservices_v1/classes.rb +419 -0
  564. data/generated/google/apis/localservices_v1/representations.rb +172 -0
  565. data/generated/google/apis/localservices_v1/service.rb +199 -0
  566. data/generated/google/apis/logging_v2.rb +1 -1
  567. data/generated/google/apis/logging_v2/classes.rb +174 -214
  568. data/generated/google/apis/logging_v2/representations.rb +15 -0
  569. data/generated/google/apis/logging_v2/service.rb +1017 -584
  570. data/generated/google/apis/managedidentities_v1.rb +1 -1
  571. data/generated/google/apis/managedidentities_v1/classes.rb +326 -452
  572. data/generated/google/apis/managedidentities_v1/service.rb +78 -99
  573. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  574. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +344 -457
  575. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +1 -0
  576. data/generated/google/apis/managedidentities_v1alpha1/service.rb +88 -112
  577. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  578. data/generated/google/apis/managedidentities_v1beta1/classes.rb +340 -456
  579. data/generated/google/apis/managedidentities_v1beta1/representations.rb +1 -0
  580. data/generated/google/apis/managedidentities_v1beta1/service.rb +76 -96
  581. data/generated/google/apis/manufacturers_v1.rb +1 -1
  582. data/generated/google/apis/manufacturers_v1/classes.rb +99 -109
  583. data/generated/google/apis/manufacturers_v1/service.rb +44 -55
  584. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  585. data/generated/google/apis/memcache_v1beta2/classes.rb +170 -710
  586. data/generated/google/apis/memcache_v1beta2/representations.rb +0 -120
  587. data/generated/google/apis/memcache_v1beta2/service.rb +58 -190
  588. data/generated/google/apis/ml_v1.rb +1 -1
  589. data/generated/google/apis/ml_v1/classes.rb +956 -1144
  590. data/generated/google/apis/ml_v1/representations.rb +65 -0
  591. data/generated/google/apis/ml_v1/service.rb +194 -253
  592. data/generated/google/apis/monitoring_v1.rb +1 -1
  593. data/generated/google/apis/monitoring_v1/classes.rb +119 -37
  594. data/generated/google/apis/monitoring_v1/representations.rb +35 -0
  595. data/generated/google/apis/monitoring_v1/service.rb +10 -11
  596. data/generated/google/apis/monitoring_v3.rb +1 -1
  597. data/generated/google/apis/monitoring_v3/classes.rb +260 -339
  598. data/generated/google/apis/monitoring_v3/representations.rb +2 -0
  599. data/generated/google/apis/monitoring_v3/service.rb +121 -140
  600. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  601. data/generated/google/apis/networkmanagement_v1/classes.rb +273 -429
  602. data/generated/google/apis/networkmanagement_v1/service.rb +97 -120
  603. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  604. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +456 -429
  605. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +63 -0
  606. data/generated/google/apis/networkmanagement_v1beta1/service.rb +97 -120
  607. data/generated/google/apis/osconfig_v1.rb +1 -1
  608. data/generated/google/apis/osconfig_v1/classes.rb +154 -181
  609. data/generated/google/apis/osconfig_v1/service.rb +22 -27
  610. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  611. data/generated/google/apis/osconfig_v1beta/classes.rb +327 -411
  612. data/generated/google/apis/osconfig_v1beta/service.rb +39 -52
  613. data/generated/google/apis/oslogin_v1.rb +1 -1
  614. data/generated/google/apis/oslogin_v1/classes.rb +14 -12
  615. data/generated/google/apis/oslogin_v1/representations.rb +1 -0
  616. data/generated/google/apis/oslogin_v1/service.rb +12 -16
  617. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  618. data/generated/google/apis/oslogin_v1alpha/classes.rb +14 -12
  619. data/generated/google/apis/oslogin_v1alpha/representations.rb +1 -0
  620. data/generated/google/apis/oslogin_v1alpha/service.rb +14 -14
  621. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  622. data/generated/google/apis/oslogin_v1beta/classes.rb +14 -12
  623. data/generated/google/apis/oslogin_v1beta/representations.rb +1 -0
  624. data/generated/google/apis/oslogin_v1beta/service.rb +12 -16
  625. data/generated/google/apis/pagespeedonline_v5.rb +2 -2
  626. data/generated/google/apis/pagespeedonline_v5/classes.rb +18 -24
  627. data/generated/google/apis/pagespeedonline_v5/service.rb +3 -4
  628. data/generated/google/apis/people_v1.rb +1 -1
  629. data/generated/google/apis/people_v1/classes.rb +258 -14
  630. data/generated/google/apis/people_v1/representations.rb +98 -0
  631. data/generated/google/apis/people_v1/service.rb +59 -47
  632. data/generated/google/apis/playablelocations_v3.rb +1 -1
  633. data/generated/google/apis/playablelocations_v3/classes.rb +108 -155
  634. data/generated/google/apis/playablelocations_v3/service.rb +10 -10
  635. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  636. data/generated/google/apis/playcustomapp_v1/classes.rb +2 -2
  637. data/generated/google/apis/playcustomapp_v1/service.rb +2 -2
  638. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  639. data/generated/google/apis/policytroubleshooter_v1/classes.rb +232 -394
  640. data/generated/google/apis/policytroubleshooter_v1/service.rb +2 -2
  641. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  642. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +232 -393
  643. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -2
  644. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  645. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +148 -146
  646. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +14 -0
  647. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +517 -49
  648. data/generated/google/apis/pubsub_v1.rb +1 -1
  649. data/generated/google/apis/pubsub_v1/classes.rb +399 -518
  650. data/generated/google/apis/pubsub_v1/representations.rb +2 -0
  651. data/generated/google/apis/pubsub_v1/service.rb +220 -246
  652. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  653. data/generated/google/apis/pubsub_v1beta1a/classes.rb +71 -86
  654. data/generated/google/apis/pubsub_v1beta1a/service.rb +31 -38
  655. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  656. data/generated/google/apis/pubsub_v1beta2/classes.rb +251 -354
  657. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -0
  658. data/generated/google/apis/pubsub_v1beta2/service.rb +96 -108
  659. data/generated/google/apis/pubsublite_v1.rb +34 -0
  660. data/generated/google/apis/pubsublite_v1/classes.rb +461 -0
  661. data/generated/google/apis/pubsublite_v1/representations.rb +261 -0
  662. data/generated/google/apis/pubsublite_v1/service.rb +558 -0
  663. data/generated/google/apis/realtimebidding_v1.rb +1 -4
  664. data/generated/google/apis/realtimebidding_v1/classes.rb +198 -291
  665. data/generated/google/apis/realtimebidding_v1/service.rb +98 -135
  666. data/generated/google/apis/recommendationengine_v1beta1.rb +2 -2
  667. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +337 -456
  668. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +0 -16
  669. data/generated/google/apis/recommendationengine_v1beta1/service.rb +141 -207
  670. data/generated/google/apis/recommender_v1.rb +1 -1
  671. data/generated/google/apis/recommender_v1/classes.rb +76 -100
  672. data/generated/google/apis/recommender_v1/service.rb +43 -58
  673. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  674. data/generated/google/apis/recommender_v1beta1/classes.rb +75 -99
  675. data/generated/google/apis/recommender_v1beta1/service.rb +43 -58
  676. data/generated/google/apis/redis_v1.rb +1 -1
  677. data/generated/google/apis/redis_v1/classes.rb +91 -513
  678. data/generated/google/apis/redis_v1/representations.rb +0 -139
  679. data/generated/google/apis/redis_v1/service.rb +93 -110
  680. data/generated/google/apis/redis_v1beta1.rb +1 -1
  681. data/generated/google/apis/redis_v1beta1/classes.rb +95 -517
  682. data/generated/google/apis/redis_v1beta1/representations.rb +0 -139
  683. data/generated/google/apis/redis_v1beta1/service.rb +93 -110
  684. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  685. data/generated/google/apis/remotebuildexecution_v1/classes.rb +951 -1078
  686. data/generated/google/apis/remotebuildexecution_v1/representations.rb +61 -0
  687. data/generated/google/apis/remotebuildexecution_v1/service.rb +26 -33
  688. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  689. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +946 -1071
  690. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +61 -0
  691. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +103 -65
  692. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  693. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1099 -1250
  694. data/generated/google/apis/remotebuildexecution_v2/representations.rb +61 -0
  695. data/generated/google/apis/remotebuildexecution_v2/service.rb +147 -206
  696. data/generated/google/apis/reseller_v1.rb +2 -2
  697. data/generated/google/apis/reseller_v1/classes.rb +151 -219
  698. data/generated/google/apis/reseller_v1/service.rb +122 -173
  699. data/generated/google/apis/run_v1.rb +1 -1
  700. data/generated/google/apis/run_v1/classes.rb +14 -13
  701. data/generated/google/apis/run_v1/representations.rb +1 -1
  702. data/generated/google/apis/run_v1/service.rb +38 -2
  703. data/generated/google/apis/run_v1alpha1.rb +1 -1
  704. data/generated/google/apis/run_v1alpha1/classes.rb +1 -1
  705. data/generated/google/apis/run_v1alpha1/representations.rb +1 -1
  706. data/generated/google/apis/run_v1beta1.rb +1 -1
  707. data/generated/google/apis/run_v1beta1/classes.rb +3 -2
  708. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  709. data/generated/google/apis/runtimeconfig_v1/classes.rb +36 -40
  710. data/generated/google/apis/runtimeconfig_v1/service.rb +19 -22
  711. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  712. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +302 -412
  713. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +1 -0
  714. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +135 -159
  715. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  716. data/generated/google/apis/safebrowsing_v4/classes.rb +55 -64
  717. data/generated/google/apis/safebrowsing_v4/service.rb +4 -4
  718. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  719. data/generated/google/apis/sasportal_v1alpha1/classes.rb +148 -146
  720. data/generated/google/apis/sasportal_v1alpha1/representations.rb +14 -0
  721. data/generated/google/apis/sasportal_v1alpha1/service.rb +517 -49
  722. data/generated/google/apis/script_v1.rb +1 -1
  723. data/generated/google/apis/script_v1/classes.rb +88 -111
  724. data/generated/google/apis/script_v1/service.rb +63 -69
  725. data/generated/google/apis/searchconsole_v1.rb +1 -1
  726. data/generated/google/apis/searchconsole_v1/classes.rb +2 -2
  727. data/generated/google/apis/secretmanager_v1.rb +1 -1
  728. data/generated/google/apis/secretmanager_v1/classes.rb +379 -365
  729. data/generated/google/apis/secretmanager_v1/representations.rb +92 -0
  730. data/generated/google/apis/secretmanager_v1/service.rb +66 -82
  731. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  732. data/generated/google/apis/secretmanager_v1beta1/classes.rb +218 -363
  733. data/generated/google/apis/secretmanager_v1beta1/representations.rb +1 -0
  734. data/generated/google/apis/secretmanager_v1beta1/service.rb +66 -82
  735. data/generated/google/apis/securitycenter_v1.rb +1 -1
  736. data/generated/google/apis/securitycenter_v1/classes.rb +584 -826
  737. data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
  738. data/generated/google/apis/securitycenter_v1/service.rb +250 -332
  739. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  740. data/generated/google/apis/securitycenter_v1beta1/classes.rb +533 -746
  741. data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
  742. data/generated/google/apis/securitycenter_v1beta1/service.rb +160 -202
  743. data/generated/google/apis/{securitycenter_v1p1beta1.rb → securitycenter_v1beta2.rb} +6 -6
  744. data/generated/google/apis/{securitycenter_v1p1alpha1 → securitycenter_v1beta2}/classes.rb +415 -269
  745. data/generated/google/apis/{securitycenter_v1p1alpha1 → securitycenter_v1beta2}/representations.rb +101 -30
  746. data/generated/google/apis/securitycenter_v1beta2/service.rb +1494 -0
  747. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  748. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1124 -1788
  749. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +116 -141
  750. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  751. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +1107 -1774
  752. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +52 -66
  753. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  754. data/generated/google/apis/servicecontrol_v1/classes.rb +526 -641
  755. data/generated/google/apis/servicecontrol_v1/service.rb +36 -46
  756. data/generated/google/apis/servicecontrol_v2.rb +38 -0
  757. data/generated/google/apis/servicecontrol_v2/classes.rb +1078 -0
  758. data/generated/google/apis/servicecontrol_v2/representations.rb +405 -0
  759. data/generated/google/apis/servicecontrol_v2/service.rb +155 -0
  760. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  761. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +221 -333
  762. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +1 -0
  763. data/generated/google/apis/servicedirectory_v1beta1/service.rb +94 -129
  764. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  765. data/generated/google/apis/servicemanagement_v1/classes.rb +1288 -2090
  766. data/generated/google/apis/servicemanagement_v1/representations.rb +14 -0
  767. data/generated/google/apis/servicemanagement_v1/service.rb +144 -195
  768. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  769. data/generated/google/apis/servicenetworking_v1/classes.rb +1160 -1763
  770. data/generated/google/apis/servicenetworking_v1/representations.rb +52 -1
  771. data/generated/google/apis/servicenetworking_v1/service.rb +210 -114
  772. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  773. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1091 -1684
  774. data/generated/google/apis/servicenetworking_v1beta/representations.rb +38 -0
  775. data/generated/google/apis/servicenetworking_v1beta/service.rb +52 -63
  776. data/generated/google/apis/serviceusage_v1.rb +1 -1
  777. data/generated/google/apis/serviceusage_v1/classes.rb +1144 -1823
  778. data/generated/google/apis/serviceusage_v1/representations.rb +4 -0
  779. data/generated/google/apis/serviceusage_v1/service.rb +67 -80
  780. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  781. data/generated/google/apis/serviceusage_v1beta1/classes.rb +1273 -1986
  782. data/generated/google/apis/serviceusage_v1beta1/representations.rb +8 -0
  783. data/generated/google/apis/serviceusage_v1beta1/service.rb +130 -162
  784. data/generated/google/apis/sheets_v4.rb +1 -1
  785. data/generated/google/apis/sheets_v4/classes.rb +3933 -5008
  786. data/generated/google/apis/sheets_v4/representations.rb +625 -0
  787. data/generated/google/apis/sheets_v4/service.rb +113 -149
  788. data/generated/google/apis/site_verification_v1.rb +1 -1
  789. data/generated/google/apis/slides_v1.rb +1 -1
  790. data/generated/google/apis/slides_v1/classes.rb +841 -1114
  791. data/generated/google/apis/slides_v1/service.rb +23 -30
  792. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  793. data/generated/google/apis/sourcerepo_v1/classes.rb +6 -6
  794. data/generated/google/apis/spanner_v1.rb +1 -1
  795. data/generated/google/apis/spanner_v1/classes.rb +1553 -2156
  796. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  797. data/generated/google/apis/spanner_v1/service.rb +443 -618
  798. data/generated/google/apis/speech_v1.rb +1 -1
  799. data/generated/google/apis/speech_v1/classes.rb +174 -220
  800. data/generated/google/apis/speech_v1/service.rb +27 -32
  801. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  802. data/generated/google/apis/speech_v1p1beta1/classes.rb +253 -306
  803. data/generated/google/apis/speech_v1p1beta1/service.rb +27 -32
  804. data/generated/google/apis/speech_v2beta1.rb +1 -1
  805. data/generated/google/apis/speech_v2beta1/classes.rb +66 -76
  806. data/generated/google/apis/speech_v2beta1/service.rb +10 -12
  807. data/generated/google/apis/{sql_v1beta4.rb → sqladmin_v1beta4.rb} +5 -5
  808. data/generated/google/apis/{sql_v1beta4 → sqladmin_v1beta4}/classes.rb +438 -452
  809. data/generated/google/apis/{sql_v1beta4 → sqladmin_v1beta4}/representations.rb +106 -87
  810. data/generated/google/apis/{sql_v1beta4 → sqladmin_v1beta4}/service.rb +295 -300
  811. data/generated/google/apis/storage_v1.rb +1 -1
  812. data/generated/google/apis/storage_v1/classes.rb +8 -7
  813. data/generated/google/apis/storage_v1/representations.rb +2 -2
  814. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  815. data/generated/google/apis/storagetransfer_v1/classes.rb +263 -343
  816. data/generated/google/apis/storagetransfer_v1/service.rb +43 -40
  817. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  818. data/generated/google/apis/streetviewpublish_v1/classes.rb +106 -148
  819. data/generated/google/apis/streetviewpublish_v1/service.rb +94 -177
  820. data/generated/google/apis/sts_v1.rb +32 -0
  821. data/generated/google/apis/sts_v1/classes.rb +120 -0
  822. data/generated/google/apis/sts_v1/representations.rb +59 -0
  823. data/generated/google/apis/sts_v1/service.rb +90 -0
  824. data/generated/google/apis/sts_v1beta.rb +32 -0
  825. data/generated/google/apis/sts_v1beta/classes.rb +191 -0
  826. data/generated/google/apis/{oauth2_v2 → sts_v1beta}/representations.rb +14 -21
  827. data/generated/google/apis/sts_v1beta/service.rb +92 -0
  828. data/generated/google/apis/tagmanager_v1.rb +2 -3
  829. data/generated/google/apis/tagmanager_v1/classes.rb +225 -288
  830. data/generated/google/apis/tagmanager_v1/service.rb +22 -23
  831. data/generated/google/apis/tagmanager_v2.rb +2 -3
  832. data/generated/google/apis/tagmanager_v2/classes.rb +240 -280
  833. data/generated/google/apis/tagmanager_v2/representations.rb +1 -0
  834. data/generated/google/apis/tagmanager_v2/service.rb +189 -285
  835. data/generated/google/apis/tasks_v1.rb +1 -1
  836. data/generated/google/apis/tasks_v1/classes.rb +21 -22
  837. data/generated/google/apis/tasks_v1/service.rb +19 -19
  838. data/generated/google/apis/testing_v1.rb +1 -1
  839. data/generated/google/apis/testing_v1/classes.rb +317 -382
  840. data/generated/google/apis/testing_v1/representations.rb +2 -0
  841. data/generated/google/apis/testing_v1/service.rb +22 -28
  842. data/generated/google/apis/texttospeech_v1.rb +1 -1
  843. data/generated/google/apis/texttospeech_v1/classes.rb +51 -57
  844. data/generated/google/apis/texttospeech_v1/service.rb +9 -10
  845. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  846. data/generated/google/apis/texttospeech_v1beta1/classes.rb +96 -57
  847. data/generated/google/apis/texttospeech_v1beta1/representations.rb +19 -0
  848. data/generated/google/apis/texttospeech_v1beta1/service.rb +9 -10
  849. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  850. data/generated/google/apis/toolresults_v1beta3/classes.rb +672 -931
  851. data/generated/google/apis/toolresults_v1beta3/representations.rb +1 -0
  852. data/generated/google/apis/toolresults_v1beta3/service.rb +231 -349
  853. data/generated/google/apis/tpu_v1.rb +1 -1
  854. data/generated/google/apis/tpu_v1/classes.rb +122 -78
  855. data/generated/google/apis/tpu_v1/representations.rb +19 -0
  856. data/generated/google/apis/tpu_v1/service.rb +21 -25
  857. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  858. data/generated/google/apis/tpu_v1alpha1/classes.rb +122 -78
  859. data/generated/google/apis/tpu_v1alpha1/representations.rb +19 -0
  860. data/generated/google/apis/tpu_v1alpha1/service.rb +21 -25
  861. data/generated/google/apis/trafficdirector_v2.rb +34 -0
  862. data/generated/google/apis/trafficdirector_v2/classes.rb +1347 -0
  863. data/generated/google/apis/trafficdirector_v2/representations.rb +620 -0
  864. data/generated/google/apis/trafficdirector_v2/service.rb +89 -0
  865. data/generated/google/apis/translate_v3.rb +1 -1
  866. data/generated/google/apis/translate_v3/classes.rb +148 -175
  867. data/generated/google/apis/translate_v3/service.rb +122 -138
  868. data/generated/google/apis/translate_v3beta1.rb +1 -1
  869. data/generated/google/apis/translate_v3beta1/classes.rb +149 -170
  870. data/generated/google/apis/translate_v3beta1/service.rb +122 -138
  871. data/generated/google/apis/vault_v1.rb +1 -1
  872. data/generated/google/apis/vault_v1/classes.rb +80 -103
  873. data/generated/google/apis/vault_v1/service.rb +31 -37
  874. data/generated/google/apis/vectortile_v1.rb +1 -1
  875. data/generated/google/apis/vectortile_v1/classes.rb +185 -267
  876. data/generated/google/apis/vectortile_v1/service.rb +75 -88
  877. data/generated/google/apis/verifiedaccess_v1.rb +1 -1
  878. data/generated/google/apis/verifiedaccess_v1/classes.rb +20 -27
  879. data/generated/google/apis/videointelligence_v1.rb +1 -1
  880. data/generated/google/apis/videointelligence_v1/classes.rb +753 -918
  881. data/generated/google/apis/videointelligence_v1/service.rb +71 -48
  882. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  883. data/generated/google/apis/videointelligence_v1beta2/classes.rb +748 -911
  884. data/generated/google/apis/videointelligence_v1beta2/service.rb +4 -4
  885. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  886. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +748 -911
  887. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +4 -4
  888. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  889. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +748 -911
  890. data/generated/google/apis/videointelligence_v1p2beta1/service.rb +4 -4
  891. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  892. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +754 -920
  893. data/generated/google/apis/videointelligence_v1p3beta1/service.rb +4 -4
  894. data/generated/google/apis/vision_v1.rb +1 -1
  895. data/generated/google/apis/vision_v1/classes.rb +1304 -1870
  896. data/generated/google/apis/vision_v1/service.rb +254 -340
  897. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  898. data/generated/google/apis/vision_v1p1beta1/classes.rb +1246 -1790
  899. data/generated/google/apis/vision_v1p1beta1/service.rb +91 -121
  900. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  901. data/generated/google/apis/vision_v1p2beta1/classes.rb +1246 -1790
  902. data/generated/google/apis/vision_v1p2beta1/service.rb +91 -121
  903. data/generated/google/apis/webfonts_v1.rb +2 -3
  904. data/generated/google/apis/webfonts_v1/classes.rb +1 -2
  905. data/generated/google/apis/webfonts_v1/service.rb +2 -4
  906. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  907. data/generated/google/apis/websecurityscanner_v1/classes.rb +71 -95
  908. data/generated/google/apis/websecurityscanner_v1/service.rb +46 -65
  909. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  910. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +55 -63
  911. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +46 -65
  912. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  913. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +77 -92
  914. data/generated/google/apis/websecurityscanner_v1beta/service.rb +46 -65
  915. data/generated/google/apis/{securitycenter_v1p1alpha1.rb → workflowexecutions_v1beta.rb} +9 -10
  916. data/generated/google/apis/workflowexecutions_v1beta/classes.rb +155 -0
  917. data/generated/google/apis/workflowexecutions_v1beta/representations.rb +88 -0
  918. data/generated/google/apis/{securitycenter_v1p1alpha1 → workflowexecutions_v1beta}/service.rb +73 -73
  919. data/generated/google/apis/workflows_v1beta.rb +34 -0
  920. data/generated/google/apis/workflows_v1beta/classes.rb +406 -0
  921. data/generated/google/apis/workflows_v1beta/representations.rb +173 -0
  922. data/generated/google/apis/workflows_v1beta/service.rb +437 -0
  923. data/generated/google/apis/youtube_analytics_v2.rb +1 -1
  924. data/generated/google/apis/youtube_analytics_v2/classes.rb +77 -104
  925. data/generated/google/apis/youtube_analytics_v2/service.rb +106 -126
  926. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  927. data/generated/google/apis/youtube_partner_v1/service.rb +19 -19
  928. data/generated/google/apis/youtube_v3.rb +1 -1
  929. data/generated/google/apis/youtube_v3/classes.rb +904 -1594
  930. data/generated/google/apis/youtube_v3/representations.rb +0 -214
  931. data/generated/google/apis/youtube_v3/service.rb +971 -1397
  932. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  933. data/generated/google/apis/youtubereporting_v1/classes.rb +20 -29
  934. data/generated/google/apis/youtubereporting_v1/service.rb +40 -43
  935. data/google-api-client.gemspec +2 -1
  936. data/lib/google/apis/core/base_service.rb +7 -1
  937. data/lib/google/apis/version.rb +1 -1
  938. metadata +98 -36
  939. data/generated/google/apis/accessapproval_v1beta1/classes.rb +0 -417
  940. data/generated/google/apis/accessapproval_v1beta1/representations.rb +0 -203
  941. data/generated/google/apis/accessapproval_v1beta1/service.rb +0 -857
  942. data/generated/google/apis/dns_v2beta1.rb +0 -43
  943. data/generated/google/apis/dns_v2beta1/classes.rb +0 -1447
  944. data/generated/google/apis/dns_v2beta1/representations.rb +0 -588
  945. data/generated/google/apis/dns_v2beta1/service.rb +0 -928
  946. data/generated/google/apis/oauth2_v2.rb +0 -40
  947. data/generated/google/apis/oauth2_v2/classes.rb +0 -165
  948. data/generated/google/apis/oauth2_v2/service.rb +0 -158
  949. data/generated/google/apis/plus_v1.rb +0 -43
  950. data/generated/google/apis/plus_v1/classes.rb +0 -2094
  951. data/generated/google/apis/plus_v1/representations.rb +0 -907
  952. data/generated/google/apis/plus_v1/service.rb +0 -451
  953. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +0 -2305
  954. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +0 -789
  955. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +0 -1326
  956. data/generated/google/apis/storage_v1beta2.rb +0 -40
  957. data/generated/google/apis/storage_v1beta2/classes.rb +0 -1047
  958. data/generated/google/apis/storage_v1beta2/representations.rb +0 -425
  959. data/generated/google/apis/storage_v1beta2/service.rb +0 -1667
@@ -49,8 +49,7 @@ module Google
49
49
 
50
50
  # Create a new environment.
51
51
  # @param [String] parent
52
- # The parent must be of the form
53
- # "projects/`projectId`/locations/`locationId`".
52
+ # The parent must be of the form "projects/`projectId`/locations/`locationId`".
54
53
  # @param [Google::Apis::ComposerV1beta1::Environment] environment_object
55
54
  # @param [String] fields
56
55
  # Selector specifying which fields to include in a partial response.
@@ -83,8 +82,8 @@ module Google
83
82
 
84
83
  # Delete an environment.
85
84
  # @param [String] name
86
- # The environment to delete, in the form:
87
- # "projects/`projectId`/locations/`locationId`/environments/`environmentId`"
85
+ # The environment to delete, in the form: "projects/`projectId`/locations/`
86
+ # locationId`/environments/`environmentId`"
88
87
  # @param [String] fields
89
88
  # Selector specifying which fields to include in a partial response.
90
89
  # @param [String] quota_user
@@ -114,8 +113,8 @@ module Google
114
113
 
115
114
  # Get an existing environment.
116
115
  # @param [String] name
117
- # The resource name of the environment to get, in the form:
118
- # "projects/`projectId`/locations/`locationId`/environments/`environmentId`"
116
+ # The resource name of the environment to get, in the form: "projects/`projectId`
117
+ # /locations/`locationId`/environments/`environmentId`"
119
118
  # @param [String] fields
120
119
  # Selector specifying which fields to include in a partial response.
121
120
  # @param [String] quota_user
@@ -145,8 +144,8 @@ module Google
145
144
 
146
145
  # List environments.
147
146
  # @param [String] parent
148
- # List environments in the given project and location, in the form:
149
- # "projects/`projectId`/locations/`locationId`"
147
+ # List environments in the given project and location, in the form: "projects/`
148
+ # projectId`/locations/`locationId`"
150
149
  # @param [Fixnum] page_size
151
150
  # The maximum number of environments to return.
152
151
  # @param [String] page_token
@@ -182,162 +181,78 @@ module Google
182
181
 
183
182
  # Update an environment.
184
183
  # @param [String] name
185
- # The relative resource name of the environment to update, in the form:
186
- # "projects/`projectId`/locations/`locationId`/environments/`environmentId`"
184
+ # The relative resource name of the environment to update, in the form: "
185
+ # projects/`projectId`/locations/`locationId`/environments/`environmentId`"
187
186
  # @param [Google::Apis::ComposerV1beta1::Environment] environment_object
188
187
  # @param [String] update_mask
189
188
  # Required. A comma-separated list of paths, relative to `Environment`, of
190
- # fields to update.
191
- # For example, to set the version of scikit-learn to install in the
192
- # environment to 0.19.0 and to remove an existing installation of
193
- # argparse, the `updateMask` parameter would include the following two
194
- # `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and
195
- # "config.softwareConfig.pypiPackages.argparse". The included patch
196
- # environment would specify the scikit-learn version as follows:
197
- # `
198
- # "config":`
199
- # "softwareConfig":`
200
- # "pypiPackages":`
201
- # "scikit-learn":"==0.19.0"
202
- # `
203
- # `
204
- # `
205
- # `
206
- # Note that in the above example, any existing PyPI packages
207
- # other than scikit-learn and argparse will be unaffected.
208
- # Only one update type may be included in a single request's `updateMask`.
209
- # For example, one cannot update both the PyPI packages and
210
- # labels in the same request. However, it is possible to update multiple
211
- # members of a map field simultaneously in the same request. For example,
212
- # to set the labels "label1" and "label2" while clearing "label3" (assuming
213
- # it already exists), one can
214
- # provide the paths "labels.label1", "labels.label2", and "labels.label3"
215
- # and populate the patch environment as follows:
216
- # `
217
- # "labels":`
218
- # "label1":"new-label1-value"
219
- # "label2":"new-label2-value"
220
- # `
221
- # `
222
- # Note that in the above example, any existing labels that are not
223
- # included in the `updateMask` will be unaffected.
224
- # It is also possible to replace an entire map field by providing the
225
- # map field's path in the `updateMask`. The new value of the field will
226
- # be that which is provided in the patch environment. For example, to
227
- # delete all pre-existing user-specified PyPI packages and
228
- # install botocore at version 1.7.14, the `updateMask` would contain
229
- # the path "config.softwareConfig.pypiPackages", and
230
- # the patch environment would be the following:
231
- # `
232
- # "config":`
233
- # "softwareConfig":`
234
- # "pypiPackages":`
235
- # "botocore":"==1.7.14"
236
- # `
237
- # `
238
- # `
239
- # `
240
- # <strong>Note:</strong> Only the following fields can be updated:
241
- # <table>
242
- # <tbody>
243
- # <tr>
244
- # <td><strong>Mask</strong></td>
245
- # <td><strong>Purpose</strong></td>
246
- # </tr>
247
- # <tr>
248
- # <td>config.softwareConfig.pypiPackages
249
- # </td>
250
- # <td>Replace all custom custom PyPI packages. If a replacement
251
- # package map is not included in `environment`, all custom
252
- # PyPI packages are cleared. It is an error to provide both this mask and a
253
- # mask specifying an individual package.</td>
254
- # </tr>
255
- # <tr>
256
- # <td>config.softwareConfig.pypiPackages.<var>packagename</var></td>
257
- # <td>Update the custom PyPI package <var>packagename</var>,
258
- # preserving other packages. To delete the package, include it in
259
- # `updateMask`, and omit the mapping for it in
260
- # `environment.config.softwareConfig.pypiPackages`. It is an error
261
- # to provide both a mask of this form and the
262
- # "config.softwareConfig.pypiPackages" mask.</td>
263
- # </tr>
264
- # <tr>
265
- # <td>labels</td>
266
- # <td>Replace all environment labels. If a replacement labels map is not
267
- # included in `environment`, all labels are cleared. It is an error to
268
- # provide both this mask and a mask specifying one or more individual
269
- # labels.</td>
270
- # </tr>
271
- # <tr>
272
- # <td>labels.<var>labelName</var></td>
273
- # <td>Set the label named <var>labelName</var>, while preserving other
274
- # labels. To delete the label, include it in `updateMask` and omit its
275
- # mapping in `environment.labels`. It is an error to provide both a
276
- # mask of this form and the "labels" mask.</td>
277
- # </tr>
278
- # <tr>
279
- # <td>config.nodeCount</td>
280
- # <td>Horizontally scale the number of nodes in the environment. An integer
281
- # greater than or equal to 3 must be provided in the `config.nodeCount`
282
- # field.
283
- # </td>
284
- # </tr>
285
- # <tr>
286
- # <td>config.webServerNetworkAccessControl</td>
287
- # <td>Replace the environment's current WebServerNetworkAccessControl.
288
- # </td>
289
- # </tr>
290
- # <tr>
291
- # <td>config.softwareConfig.airflowConfigOverrides</td>
292
- # <td>Replace all Apache Airflow config overrides. If a replacement config
293
- # overrides map is not included in `environment`, all config overrides
294
- # are cleared.
295
- # It is an error to provide both this mask and a mask specifying one or
296
- # more individual config overrides.</td>
297
- # </tr>
298
- # <tr>
299
- # <td>config.softwareConfig.airflowConfigOverrides.<var>section</var>-<var>name
300
- # </var></td>
301
- # <td>Override the Apache Airflow config property <var>name</var> in the
302
- # section named <var>section</var>, preserving other properties. To delete
303
- # the property override, include it in `updateMask` and omit its mapping
304
- # in `environment.config.softwareConfig.airflowConfigOverrides`.
305
- # It is an error to provide both a mask of this form and the
306
- # "config.softwareConfig.airflowConfigOverrides" mask.</td>
307
- # </tr>
308
- # <tr>
309
- # <td>config.softwareConfig.envVariables</td>
310
- # <td>Replace all environment variables. If a replacement environment
311
- # variable map is not included in `environment`, all custom environment
312
- # variables are cleared.
313
- # It is an error to provide both this mask and a mask specifying one or
314
- # more individual environment variables.</td>
315
- # </tr>
316
- # <tr>
317
- # <td>config.softwareConfig.imageVersion</td>
318
- # <td>Upgrade the version of the environment in-place. Refer to
319
- # `SoftwareConfig.image_version` for information on how to format the new
320
- # image version. Additionally, the new image version cannot effect a version
321
- # downgrade and must match the current image version's Composer major
322
- # version and Airflow major and minor versions. Consult the
323
- # <a href="/composer/docs/concepts/versioning/composer-versions">Cloud
324
- # Composer Version List</a> for valid values.</td>
325
- # </tr>
326
- # <tr>
327
- # <td>config.databaseConfig.machineType</td>
328
- # <td>Cloud SQL machine type used by Airflow database.
329
- # It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8
330
- # or db-n1-standard-16.</td>
331
- # </tr>
332
- # <tr>
333
- # <td>config.webServerConfig.machineType</td>
334
- # <td>Machine type on which Airflow web server is running.
335
- # It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or
336
- # composer-n1-webserver-8.
337
- # </td>
338
- # </tr>
339
- # </tbody>
340
- # </table>
189
+ # fields to update. For example, to set the version of scikit-learn to install
190
+ # in the environment to 0.19.0 and to remove an existing installation of
191
+ # argparse, the `updateMask` parameter would include the following two `paths`
192
+ # values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.
193
+ # softwareConfig.pypiPackages.argparse". The included patch environment would
194
+ # specify the scikit-learn version as follows: ` "config":` "softwareConfig":` "
195
+ # pypiPackages":` "scikit-learn":"==0.19.0" ` ` ` ` Note that in the above
196
+ # example, any existing PyPI packages other than scikit-learn and argparse will
197
+ # be unaffected. Only one update type may be included in a single request's `
198
+ # updateMask`. For example, one cannot update both the PyPI packages and labels
199
+ # in the same request. However, it is possible to update multiple members of a
200
+ # map field simultaneously in the same request. For example, to set the labels "
201
+ # label1" and "label2" while clearing "label3" (assuming it already exists), one
202
+ # can provide the paths "labels.label1", "labels.label2", and "labels.label3"
203
+ # and populate the patch environment as follows: ` "labels":` "label1":"new-
204
+ # label1-value" "label2":"new-label2-value" ` ` Note that in the above example,
205
+ # any existing labels that are not included in the `updateMask` will be
206
+ # unaffected. It is also possible to replace an entire map field by providing
207
+ # the map field's path in the `updateMask`. The new value of the field will be
208
+ # that which is provided in the patch environment. For example, to delete all
209
+ # pre-existing user-specified PyPI packages and install botocore at version 1.7.
210
+ # 14, the `updateMask` would contain the path "config.softwareConfig.
211
+ # pypiPackages", and the patch environment would be the following: ` "config":` "
212
+ # softwareConfig":` "pypiPackages":` "botocore":"==1.7.14" ` ` ` ` *Note:* Only
213
+ # the following fields can be updated: *Mask* *Purpose* config.softwareConfig.
214
+ # pypiPackages Replace all custom custom PyPI packages. If a replacement package
215
+ # map is not included in `environment`, all custom PyPI packages are cleared. It
216
+ # is an error to provide both this mask and a mask specifying an individual
217
+ # package. config.softwareConfig.pypiPackages.packagename Update the custom PyPI
218
+ # package packagename, preserving other packages. To delete the package, include
219
+ # it in `updateMask`, and omit the mapping for it in `environment.config.
220
+ # softwareConfig.pypiPackages`. It is an error to provide both a mask of this
221
+ # form and the "config.softwareConfig.pypiPackages" mask. labels Replace all
222
+ # environment labels. If a replacement labels map is not included in `
223
+ # environment`, all labels are cleared. It is an error to provide both this mask
224
+ # and a mask specifying one or more individual labels. labels.labelName Set the
225
+ # label named labelName, while preserving other labels. To delete the label,
226
+ # include it in `updateMask` and omit its mapping in `environment.labels`. It is
227
+ # an error to provide both a mask of this form and the "labels" mask. config.
228
+ # nodeCount Horizontally scale the number of nodes in the environment. An
229
+ # integer greater than or equal to 3 must be provided in the `config.nodeCount`
230
+ # field. config.webServerNetworkAccessControl Replace the environment's current
231
+ # WebServerNetworkAccessControl. config.softwareConfig.airflowConfigOverrides
232
+ # Replace all Apache Airflow config overrides. If a replacement config overrides
233
+ # map is not included in `environment`, all config overrides are cleared. It is
234
+ # an error to provide both this mask and a mask specifying one or more
235
+ # individual config overrides. config.softwareConfig.airflowConfigOverrides.
236
+ # section-name Override the Apache Airflow config property name in the section
237
+ # named section, preserving other properties. To delete the property override,
238
+ # include it in `updateMask` and omit its mapping in `environment.config.
239
+ # softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask
240
+ # of this form and the "config.softwareConfig.airflowConfigOverrides" mask.
241
+ # config.softwareConfig.envVariables Replace all environment variables. If a
242
+ # replacement environment variable map is not included in `environment`, all
243
+ # custom environment variables are cleared. It is an error to provide both this
244
+ # mask and a mask specifying one or more individual environment variables.
245
+ # config.softwareConfig.imageVersion Upgrade the version of the environment in-
246
+ # place. Refer to `SoftwareConfig.image_version` for information on how to
247
+ # format the new image version. Additionally, the new image version cannot
248
+ # effect a version downgrade and must match the current image version's Composer
249
+ # major version and Airflow major and minor versions. Consult the Cloud Composer
250
+ # Version List for valid values. config.databaseConfig.machineType Cloud SQL
251
+ # machine type used by Airflow database. It has to be one of: db-n1-standard-2,
252
+ # db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. config.
253
+ # webServerConfig.machineType Machine type on which Airflow web server is
254
+ # running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4
255
+ # or composer-n1-webserver-8.
341
256
  # @param [String] fields
342
257
  # Selector specifying which fields to include in a partial response.
343
258
  # @param [String] quota_user
@@ -370,8 +285,8 @@ module Google
370
285
 
371
286
  # List ImageVersions for provided location.
372
287
  # @param [String] parent
373
- # List ImageVersions in the given project and location, in the form:
374
- # "projects/`projectId`/locations/`locationId`"
288
+ # List ImageVersions in the given project and location, in the form: "projects/`
289
+ # projectId`/locations/`locationId`"
375
290
  # @param [Fixnum] page_size
376
291
  # The maximum number of image_versions to return.
377
292
  # @param [String] page_token
@@ -405,10 +320,10 @@ module Google
405
320
  execute_or_queue_command(command, &block)
406
321
  end
407
322
 
408
- # Deletes a long-running operation. This method indicates that the client is
409
- # no longer interested in the operation result. It does not cancel the
410
- # operation. If the server doesn't support this method, it returns
411
- # `google.rpc.Code.UNIMPLEMENTED`.
323
+ # Deletes a long-running operation. This method indicates that the client is no
324
+ # longer interested in the operation result. It does not cancel the operation.
325
+ # If the server doesn't support this method, it returns `google.rpc.Code.
326
+ # UNIMPLEMENTED`.
412
327
  # @param [String] name
413
328
  # The name of the operation resource to be deleted.
414
329
  # @param [String] fields
@@ -438,9 +353,8 @@ module Google
438
353
  execute_or_queue_command(command, &block)
439
354
  end
440
355
 
441
- # Gets the latest state of a long-running operation. Clients can use this
442
- # method to poll the operation result at intervals as recommended by the API
443
- # service.
356
+ # Gets the latest state of a long-running operation. Clients can use this method
357
+ # to poll the operation result at intervals as recommended by the API service.
444
358
  # @param [String] name
445
359
  # The name of the operation resource.
446
360
  # @param [String] fields
@@ -470,15 +384,14 @@ module Google
470
384
  execute_or_queue_command(command, &block)
471
385
  end
472
386
 
473
- # Lists operations that match the specified filter in the request. If the
474
- # server doesn't support this method, it returns `UNIMPLEMENTED`.
475
- # NOTE: the `name` binding allows API services to override the binding
476
- # to use different resource name schemes, such as `users/*/operations`. To
477
- # override the binding, API services can add a binding such as
478
- # `"/v1/`name=users/*`/operations"` to their service configuration.
479
- # For backwards compatibility, the default name includes the operations
480
- # collection id, however overriding users must ensure the name binding
481
- # is the parent resource, without the operations collection id.
387
+ # Lists operations that match the specified filter in the request. If the server
388
+ # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name`
389
+ # binding allows API services to override the binding to use different resource
390
+ # name schemes, such as `users/*/operations`. To override the binding, API
391
+ # services can add a binding such as `"/v1/`name=users/*`/operations"` to their
392
+ # service configuration. For backwards compatibility, the default name includes
393
+ # the operations collection id, however overriding users must ensure the name
394
+ # binding is the parent resource, without the operations collection id.
482
395
  # @param [String] name
483
396
  # The name of the operation's parent resource.
484
397
  # @param [String] filter
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeAlpha
27
27
  VERSION = 'Alpha'
28
- REVISION = '20200612'
28
+ REVISION = '20200811'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -1072,6 +1072,38 @@ module Google
1072
1072
  end
1073
1073
  end
1074
1074
 
1075
+ # Specifies options for controlling advanced machine features. Options that
1076
+ # would traditionally be configured in a BIOS belong here. Features that require
1077
+ # operating system support may have corresponding entries in the GuestOsFeatures
1078
+ # of an Image (e.g., whether or not the OS in the Image supports nested
1079
+ # virtualization being enabled or disabled).
1080
+ class AdvancedMachineFeatures
1081
+ include Google::Apis::Core::Hashable
1082
+
1083
+ # Whether to enable nested virtualization or not (default is false).
1084
+ # Corresponds to the JSON property `enableNestedVirtualization`
1085
+ # @return [Boolean]
1086
+ attr_accessor :enable_nested_virtualization
1087
+ alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1088
+
1089
+ # The number of threads per physical core. To disable simultaneous
1090
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1091
+ # supported per core by the underlying processor is assumed.
1092
+ # Corresponds to the JSON property `threadsPerCore`
1093
+ # @return [Fixnum]
1094
+ attr_accessor :threads_per_core
1095
+
1096
+ def initialize(**args)
1097
+ update!(**args)
1098
+ end
1099
+
1100
+ # Update properties of this object
1101
+ def update!(**args)
1102
+ @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1103
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1104
+ end
1105
+ end
1106
+
1075
1107
  # An alias IP range attached to an instance's network interface.
1076
1108
  class AliasIpRange
1077
1109
  include Google::Apis::Core::Hashable
@@ -1150,18 +1182,6 @@ module Google
1150
1182
  # @return [String]
1151
1183
  attr_accessor :location_hint
1152
1184
 
1153
- # DEPRECATED, please use maintenance_freeze_duration_hours. TODO(b/154158138):
1154
- # Remove this field. Compute Engine Long Term Release. When specified, VMs that
1155
- # have this policy become long term release (internal: stable fleet) VMs.
1156
- # For all VM shapes, this should result in fewer disruptions due to software
1157
- # updates and greater predictability via 1 week extended notifications.
1158
- # For GPU VMs, this should also result in an 2 week uptime guarantee. See go/
1159
- # stable-fleet-gpus-design for more details.
1160
- # Corresponds to the JSON property `longTermRelease`
1161
- # @return [Boolean]
1162
- attr_accessor :long_term_release
1163
- alias_method :long_term_release?, :long_term_release
1164
-
1165
1185
  # Specifies type of machine (name only) which has fixed number of vCPUs and
1166
1186
  # fixed amount of memory. This also includes specifying custom machine type
1167
1187
  # following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
@@ -1196,7 +1216,6 @@ module Google
1196
1216
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
1197
1217
  @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1198
1218
  @location_hint = args[:location_hint] if args.key?(:location_hint)
1199
- @long_term_release = args[:long_term_release] if args.key?(:long_term_release)
1200
1219
  @machine_type = args[:machine_type] if args.key?(:machine_type)
1201
1220
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
1202
1221
  @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
@@ -1264,7 +1283,20 @@ module Google
1264
1283
  # @return [String]
1265
1284
  attr_accessor :device_name
1266
1285
 
1267
- # Represents a customer-supplied encryption key
1286
+ # Encrypts or decrypts a disk using a customer-supplied encryption key.
1287
+ # If you are creating a new disk, this field encrypts the new disk using an
1288
+ # encryption key that you provide. If you are attaching an existing disk that is
1289
+ # already encrypted, this field decrypts the disk using the customer-supplied
1290
+ # encryption key.
1291
+ # If you encrypt a disk using a customer-supplied key, you must provide the same
1292
+ # key again when you attempt to use this resource at a later time. For example,
1293
+ # you must provide the key when you create a snapshot or an image from the disk
1294
+ # or when you attach the disk to a virtual machine instance.
1295
+ # If you do not provide an encryption key, then the disk will be encrypted using
1296
+ # an automatically generated key and you do not need to provide a key to use the
1297
+ # disk later.
1298
+ # Instance templates do not store customer-supplied encryption keys, so you
1299
+ # cannot use your own keys to encrypt disks in a managed instance group.
1268
1300
  # Corresponds to the JSON property `diskEncryptionKey`
1269
1301
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
1270
1302
  attr_accessor :disk_encryption_key
@@ -1453,6 +1485,11 @@ module Google
1453
1485
  # @return [String]
1454
1486
  attr_accessor :on_update_action
1455
1487
 
1488
+ # Indicates how many IOPS must be provisioned for the disk.
1489
+ # Corresponds to the JSON property `provisionedIops`
1490
+ # @return [Fixnum]
1491
+ attr_accessor :provisioned_iops
1492
+
1456
1493
  # URLs of the zones where the disk should be replicated to. Only applicable for
1457
1494
  # regional resources.
1458
1495
  # Corresponds to the JSON property `replicaZones`
@@ -1487,7 +1524,11 @@ module Google
1487
1524
  # @return [String]
1488
1525
  attr_accessor :source_image
1489
1526
 
1490
- # Represents a customer-supplied encryption key
1527
+ # The customer-supplied encryption key of the source image. Required if the
1528
+ # source image is protected by a customer-supplied encryption key.
1529
+ # Instance templates do not store customer-supplied encryption keys, so you
1530
+ # cannot create disks for instances in a managed instance group if the source
1531
+ # images are encrypted with your own keys.
1491
1532
  # Corresponds to the JSON property `sourceImageEncryptionKey`
1492
1533
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
1493
1534
  attr_accessor :source_image_encryption_key
@@ -1503,7 +1544,7 @@ module Google
1503
1544
  # @return [String]
1504
1545
  attr_accessor :source_snapshot
1505
1546
 
1506
- # Represents a customer-supplied encryption key
1547
+ # The customer-supplied encryption key of the source snapshot.
1507
1548
  # Corresponds to the JSON property `sourceSnapshotEncryptionKey`
1508
1549
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
1509
1550
  attr_accessor :source_snapshot_encryption_key
@@ -1522,6 +1563,7 @@ module Google
1522
1563
  @labels = args[:labels] if args.key?(:labels)
1523
1564
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
1524
1565
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1566
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
1525
1567
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
1526
1568
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1527
1569
  @source_image = args[:source_image] if args.key?(:source_image)
@@ -1775,6 +1817,11 @@ module Google
1775
1817
  # @return [String]
1776
1818
  attr_accessor :region
1777
1819
 
1820
+ # [Output Only] Status information of existing scaling schedules.
1821
+ # Corresponds to the JSON property `scalingScheduleStatus`
1822
+ # @return [Hash<String,Google::Apis::ComputeAlpha::ScalingScheduleStatus>]
1823
+ attr_accessor :scaling_schedule_status
1824
+
1778
1825
  # [Output Only] Server-defined URL for the resource.
1779
1826
  # Corresponds to the JSON property `selfLink`
1780
1827
  # @return [String]
@@ -1829,6 +1876,7 @@ module Google
1829
1876
  @name = args[:name] if args.key?(:name)
1830
1877
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1831
1878
  @region = args[:region] if args.key?(:region)
1879
+ @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
1832
1880
  @self_link = args[:self_link] if args.key?(:self_link)
1833
1881
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
1834
1882
  @status = args[:status] if args.key?(:status)
@@ -2298,6 +2346,14 @@ module Google
2298
2346
  # @return [Google::Apis::ComputeAlpha::AutoscalingPolicyScaleInControl]
2299
2347
  attr_accessor :scale_in_control
2300
2348
 
2349
+ # Scaling schedules defined for an autoscaler. Multiple schedules can be set on
2350
+ # an autoscaler and they can overlap. During overlapping periods the greatest
2351
+ # min_required_replicas of all scaling schedules will be applied. Up to 128
2352
+ # scaling schedules are allowed.
2353
+ # Corresponds to the JSON property `scalingSchedules`
2354
+ # @return [Hash<String,Google::Apis::ComputeAlpha::AutoscalingPolicyScalingSchedule>]
2355
+ attr_accessor :scaling_schedules
2356
+
2301
2357
  def initialize(**args)
2302
2358
  update!(**args)
2303
2359
  end
@@ -2313,6 +2369,7 @@ module Google
2313
2369
  @mode = args[:mode] if args.key?(:mode)
2314
2370
  @scale_down_control = args[:scale_down_control] if args.key?(:scale_down_control)
2315
2371
  @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
2372
+ @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
2316
2373
  end
2317
2374
  end
2318
2375
 
@@ -2518,6 +2575,71 @@ module Google
2518
2575
  end
2519
2576
  end
2520
2577
 
2578
+ # Scaling based on user-defined schedule. The message describes a single scaling
2579
+ # schedule. A scaling schedule changes the minimum number of VM instances an
2580
+ # autoscaler can recommend, which can trigger scaling out.
2581
+ class AutoscalingPolicyScalingSchedule
2582
+ include Google::Apis::Core::Hashable
2583
+
2584
+ # A description of a scaling schedule.
2585
+ # Corresponds to the JSON property `description`
2586
+ # @return [String]
2587
+ attr_accessor :description
2588
+
2589
+ # A boolean value that specifies if a scaling schedule can influence autoscaler
2590
+ # recommendations. If set to true, then a scaling schedule has no effect. This
2591
+ # field is optional and its value is false by default.
2592
+ # Corresponds to the JSON property `disabled`
2593
+ # @return [Boolean]
2594
+ attr_accessor :disabled
2595
+ alias_method :disabled?, :disabled
2596
+
2597
+ # The duration of time intervals (in seconds) for which this scaling schedule
2598
+ # will be running. The minimum allowed value is 300. This field is required.
2599
+ # Corresponds to the JSON property `durationSec`
2600
+ # @return [Fixnum]
2601
+ attr_accessor :duration_sec
2602
+
2603
+ # Minimum number of VM instances that autoscaler will recommend in time
2604
+ # intervals starting according to schedule. This field is required.
2605
+ # Corresponds to the JSON property `minRequiredReplicas`
2606
+ # @return [Fixnum]
2607
+ attr_accessor :min_required_replicas
2608
+
2609
+ # The start timestamps of time intervals when this scaling schedule should
2610
+ # provide a scaling signal. This field uses the extended cron format (with an
2611
+ # optional year field). The expression may describe a single timestamp if the
2612
+ # optional year is set, in which case a scaling schedule will run once. schedule
2613
+ # is interpreted with respect to time_zone. This field is required. NOTE: these
2614
+ # timestamps only describe when autoscaler will start providing the scaling
2615
+ # signal. The VMs will need additional time to become serving.
2616
+ # Corresponds to the JSON property `schedule`
2617
+ # @return [String]
2618
+ attr_accessor :schedule
2619
+
2620
+ # The time zone to be used when interpreting the schedule. The value of this
2621
+ # field must be a time zone name from the tz database: http://en.wikipedia.org/
2622
+ # wiki/Tz_database. This field will be assigned a default value of ?UTC? if left
2623
+ # empty.
2624
+ # Corresponds to the JSON property `timeZone`
2625
+ # @return [String]
2626
+ attr_accessor :time_zone
2627
+
2628
+ def initialize(**args)
2629
+ update!(**args)
2630
+ end
2631
+
2632
+ # Update properties of this object
2633
+ def update!(**args)
2634
+ @description = args[:description] if args.key?(:description)
2635
+ @disabled = args[:disabled] if args.key?(:disabled)
2636
+ @duration_sec = args[:duration_sec] if args.key?(:duration_sec)
2637
+ @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
2638
+ @schedule = args[:schedule] if args.key?(:schedule)
2639
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2640
+ end
2641
+ end
2642
+
2521
2643
  # Message containing information of one individual backend.
2522
2644
  class Backend
2523
2645
  include Google::Apis::Core::Hashable
@@ -2727,6 +2849,11 @@ module Google
2727
2849
  # @return [String]
2728
2850
  attr_accessor :creation_timestamp
2729
2851
 
2852
+ # Headers that the HTTP/S load balancer should add to proxied responses.
2853
+ # Corresponds to the JSON property `customResponseHeaders`
2854
+ # @return [Array<String>]
2855
+ attr_accessor :custom_response_headers
2856
+
2730
2857
  # An optional textual description of the resource; provided by the client when
2731
2858
  # the resource is created.
2732
2859
  # Corresponds to the JSON property `description`
@@ -2778,6 +2905,7 @@ module Google
2778
2905
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2779
2906
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2780
2907
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2908
+ @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2781
2909
  @description = args[:description] if args.key?(:description)
2782
2910
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
2783
2911
  @id = args[:id] if args.key?(:id)
@@ -2792,6 +2920,92 @@ module Google
2792
2920
  class BackendBucketCdnPolicy
2793
2921
  include Google::Apis::Core::Hashable
2794
2922
 
2923
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
2924
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
2925
+ # bypassed for all cdnPolicy.cacheMode settings.
2926
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
2927
+ # @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2928
+ attr_accessor :bypass_cache_on_request_headers
2929
+
2930
+ #
2931
+ # Corresponds to the JSON property `cacheMode`
2932
+ # @return [String]
2933
+ attr_accessor :cache_mode
2934
+
2935
+ # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
2936
+ # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
2937
+ # for both Cloud CDN and the client-facing response. The maximum allowed value
2938
+ # is 86400s (1 day).
2939
+ # Corresponds to the JSON property `clientTtl`
2940
+ # @return [Fixnum]
2941
+ attr_accessor :client_ttl
2942
+
2943
+ # Specifies the default TTL for cached content served by this origin for
2944
+ # responses that do not have an existing valid TTL (max-age or s-max-age).
2945
+ # Setting a TTL of "0" means "always revalidate" and a value of "-1" disables
2946
+ # caching for that status code. The value of defaultTTL cannot be set to a value
2947
+ # greater than that of maxTTL, but can be equal. When the cacheMode is set to
2948
+ # FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses.
2949
+ # The maximum allowed value is 31,622,400s (1 year), noting that infrequently
2950
+ # accessed objects may be evicted from the cache before the defined TTL.
2951
+ # Corresponds to the JSON property `defaultTtl`
2952
+ # @return [Fixnum]
2953
+ attr_accessor :default_ttl
2954
+
2955
+ # Specifies the maximum allowed TTL for cached content served by this origin.
2956
+ # Cache directives that attempt to set a max-age or s-maxage higher than this,
2957
+ # or an Expires header more than maxTTL seconds in the future will be capped at
2958
+ # the value of maxTTL, as if it were the value of an s-maxage Cache-Control
2959
+ # directive. Setting a TTL of "0" means "always revalidate" and a value of "-1"
2960
+ # disables caching for that status code. The maximum allowed value is 31,622,
2961
+ # 400s (1 year), noting that infrequently accessed objects may be evicted from
2962
+ # the cache before the defined TTL.
2963
+ # Corresponds to the JSON property `maxTtl`
2964
+ # @return [Fixnum]
2965
+ attr_accessor :max_ttl
2966
+
2967
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
2968
+ # grained caching for common errors or redirects. This can reduce the load on
2969
+ # your origin and improve end-user experience by reducing response latency. By
2970
+ # default, Cloud CDN will apply the following default TTLs to these status codes:
2971
+ # HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not
2972
+ # Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method
2973
+ # Not Found), 414 (URI Too Long), 501 (Not Implemented): 60s These defaults can
2974
+ # be overridden in negative_caching_policy
2975
+ # Corresponds to the JSON property `negativeCaching`
2976
+ # @return [Boolean]
2977
+ attr_accessor :negative_caching
2978
+ alias_method :negative_caching?, :negative_caching
2979
+
2980
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
2981
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
2982
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
2983
+ # when specifying an explicit negative_caching_policy, you should take care to
2984
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
2985
+ # will not apply any default negative caching when a policy exists.
2986
+ # Corresponds to the JSON property `negativeCachingPolicy`
2987
+ # @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyNegativeCachingPolicy>]
2988
+ attr_accessor :negative_caching_policy
2989
+
2990
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
2991
+ # into a small number of requests to the origin.
2992
+ # Corresponds to the JSON property `requestCoalescing`
2993
+ # @return [Boolean]
2994
+ attr_accessor :request_coalescing
2995
+ alias_method :request_coalescing?, :request_coalescing
2996
+
2997
+ # Serve existing content from the cache (if available) when revalidating content
2998
+ # with the origin, or when an error is encountered when refreshing the cache.
2999
+ # This setting defines the default "max-stale" duration for any cached responses
3000
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3001
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3002
+ # day), which will allow stale content to be served up to this limit beyond the
3003
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3004
+ # 604800(1 week). Set this to zero (0) to disable serve-while-stale.
3005
+ # Corresponds to the JSON property `serveWhileStale`
3006
+ # @return [Fixnum]
3007
+ attr_accessor :serve_while_stale
3008
+
2795
3009
  # Maximum number of seconds the response to a signed URL request will be
2796
3010
  # considered fresh. After this time period, the response will be revalidated
2797
3011
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2814,11 +3028,73 @@ module Google
2814
3028
 
2815
3029
  # Update properties of this object
2816
3030
  def update!(**args)
3031
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3032
+ @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3033
+ @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3034
+ @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3035
+ @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3036
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3037
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3038
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3039
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2817
3040
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2818
3041
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2819
3042
  end
2820
3043
  end
2821
3044
 
3045
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3046
+ # or Authorization headers. Values are case insensitive. The presence of such a
3047
+ # header overrides the cache_mode setting.
3048
+ class BackendBucketCdnPolicyBypassCacheOnRequestHeader
3049
+ include Google::Apis::Core::Hashable
3050
+
3051
+ # The header field name to match on when bypassing cache. Values are case-
3052
+ # insensitive.
3053
+ # Corresponds to the JSON property `headerName`
3054
+ # @return [String]
3055
+ attr_accessor :header_name
3056
+
3057
+ def initialize(**args)
3058
+ update!(**args)
3059
+ end
3060
+
3061
+ # Update properties of this object
3062
+ def update!(**args)
3063
+ @header_name = args[:header_name] if args.key?(:header_name)
3064
+ end
3065
+ end
3066
+
3067
+ # Specify CDN TTLs for response error codes.
3068
+ class BackendBucketCdnPolicyNegativeCachingPolicy
3069
+ include Google::Apis::Core::Hashable
3070
+
3071
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3072
+ # 308, 404, 405, 410, 414, 451 and 501 are can be specified as values, and you
3073
+ # cannot specify a status code more than once.
3074
+ # Corresponds to the JSON property `code`
3075
+ # @return [Fixnum]
3076
+ attr_accessor :code
3077
+
3078
+ # The TTL (in seconds) to cache responses with the corresponding status code for.
3079
+ # A TTL of "0" means "always revalidate" and a value of "-1" disables caching
3080
+ # for that status code. The maximum allowed value is 1800s (30 minutes), noting
3081
+ # that infrequently accessed objects may be evicted from the cache before the
3082
+ # defined TTL.
3083
+ # Corresponds to the JSON property `ttl`
3084
+ # @return [Fixnum]
3085
+ attr_accessor :ttl
3086
+
3087
+ def initialize(**args)
3088
+ update!(**args)
3089
+ end
3090
+
3091
+ # Update properties of this object
3092
+ def update!(**args)
3093
+ @code = args[:code] if args.key?(:code)
3094
+ @ttl = args[:ttl] if args.key?(:ttl)
3095
+ end
3096
+ end
3097
+
2822
3098
  # Contains a list of BackendBucket resources.
2823
3099
  class BackendBucketList
2824
3100
  include Google::Apis::Core::Hashable
@@ -2954,6 +3230,8 @@ module Google
2954
3230
 
2955
3231
  # If set to 0, the cookie is non-persistent and lasts only until the end of the
2956
3232
  # browser session (or equivalent). The maximum allowed value is one day (86,400).
3233
+ # Not supported when the backend service is referenced by a URL map that is
3234
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
2957
3235
  # Corresponds to the JSON property `affinityCookieTtlSec`
2958
3236
  # @return [Fixnum]
2959
3237
  attr_accessor :affinity_cookie_ttl_sec
@@ -2993,6 +3271,11 @@ module Google
2993
3271
  # @return [Array<String>]
2994
3272
  attr_accessor :custom_request_headers
2995
3273
 
3274
+ # Headers that the HTTP/S load balancer should add to proxied responses.
3275
+ # Corresponds to the JSON property `customResponseHeaders`
3276
+ # @return [Array<String>]
3277
+ attr_accessor :custom_response_headers
3278
+
2996
3279
  # An optional description of this resource. Provide this property when you
2997
3280
  # create the resource.
2998
3281
  # Corresponds to the JSON property `description`
@@ -3032,10 +3315,10 @@ module Google
3032
3315
  # The list of URLs to the healthChecks, httpHealthChecks (legacy), or
3033
3316
  # httpsHealthChecks (legacy) resource for health checking this backend service.
3034
3317
  # Not all backend services support legacy health checks. See Load balancer
3035
- # guide. Currently at most one health check can be specified. Backend services
3036
- # with instance group or zonal NEG backends must have a health check. Backend
3037
- # services with internet NEG backends must not have a health check. A health
3038
- # check must
3318
+ # guide. Currently, at most one health check can be specified for each backend
3319
+ # service. Backend services with instance group or zonal NEG backends must have
3320
+ # a health check. Backend services with internet or serverless NEG backends must
3321
+ # not have a health check.
3039
3322
  # Corresponds to the JSON property `healthChecks`
3040
3323
  # @return [Array<String>]
3041
3324
  attr_accessor :health_checks
@@ -3090,8 +3373,11 @@ module Google
3090
3373
  # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
3091
3374
  # - A global backend service with the load_balancing_scheme set to
3092
3375
  # INTERNAL_SELF_MANAGED.
3093
- # If sessionAffinity is not NONE, and this field is not set to >MAGLEV or
3376
+ # If sessionAffinity is not NONE, and this field is not set to MAGLEV or
3094
3377
  # RING_HASH, session affinity settings will not take effect.
3378
+ # Only the default ROUND_ROBIN policy is supported when the backend service is
3379
+ # referenced by a URL map that is bound to target gRPC proxy that has
3380
+ # validateForProxyless field set to true.
3095
3381
  # Corresponds to the JSON property `localityLbPolicy`
3096
3382
  # @return [String]
3097
3383
  attr_accessor :locality_lb_policy
@@ -3144,10 +3430,12 @@ module Google
3144
3430
  attr_accessor :port_name
3145
3431
 
3146
3432
  # The protocol this BackendService uses to communicate with backends.
3147
- # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP. depending on the
3148
- # chosen load balancer or Traffic Director configuration. Refer to the
3433
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on
3434
+ # the chosen load balancer or Traffic Director configuration. Refer to the
3149
3435
  # documentation for the load balancer or for Traffic Director for more
3150
3436
  # information.
3437
+ # Must be set to GRPC when the backend service is referenced by a URL map that
3438
+ # is bound to target gRPC proxy.
3151
3439
  # Corresponds to the JSON property `protocol`
3152
3440
  # @return [String]
3153
3441
  attr_accessor :protocol
@@ -3191,6 +3479,8 @@ module Google
3191
3479
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
3192
3480
  # possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or
3193
3481
  # HTTP_COOKIE.
3482
+ # Not supported when the backend service is referenced by a URL map that is
3483
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3194
3484
  # Corresponds to the JSON property `sessionAffinity`
3195
3485
  # @return [String]
3196
3486
  attr_accessor :session_affinity
@@ -3216,6 +3506,7 @@ module Google
3216
3506
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3217
3507
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3218
3508
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3509
+ @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3219
3510
  @description = args[:description] if args.key?(:description)
3220
3511
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3221
3512
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
@@ -3370,12 +3661,98 @@ module Google
3370
3661
  class BackendServiceCdnPolicy
3371
3662
  include Google::Apis::Core::Hashable
3372
3663
 
3664
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
3665
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
3666
+ # bypassed for all cdnPolicy.cacheMode settings.
3667
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
3668
+ # @return [Array<Google::Apis::ComputeAlpha::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
3669
+ attr_accessor :bypass_cache_on_request_headers
3670
+
3373
3671
  # Message containing what to include in the cache key for a request for Cloud
3374
3672
  # CDN.
3375
3673
  # Corresponds to the JSON property `cacheKeyPolicy`
3376
3674
  # @return [Google::Apis::ComputeAlpha::CacheKeyPolicy]
3377
3675
  attr_accessor :cache_key_policy
3378
3676
 
3677
+ #
3678
+ # Corresponds to the JSON property `cacheMode`
3679
+ # @return [String]
3680
+ attr_accessor :cache_mode
3681
+
3682
+ # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3683
+ # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3684
+ # for both Cloud CDN and the client-facing response. The maximum allowed value
3685
+ # is 86400s (1 day).
3686
+ # Corresponds to the JSON property `clientTtl`
3687
+ # @return [Fixnum]
3688
+ attr_accessor :client_ttl
3689
+
3690
+ # Specifies the default TTL for cached content served by this origin for
3691
+ # responses that do not have an existing valid TTL (max-age or s-max-age).
3692
+ # Setting a TTL of "0" means "always revalidate" and a value of "-1" disables
3693
+ # caching for that status code. The value of defaultTTL cannot be set to a value
3694
+ # greater than that of maxTTL, but can be equal. When the cacheMode is set to
3695
+ # FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses.
3696
+ # The maximum allowed value is 31,622,400s (1 year), noting that infrequently
3697
+ # accessed objects may be evicted from the cache before the defined TTL.
3698
+ # Corresponds to the JSON property `defaultTtl`
3699
+ # @return [Fixnum]
3700
+ attr_accessor :default_ttl
3701
+
3702
+ # Specifies the maximum allowed TTL for cached content served by this origin.
3703
+ # Cache directives that attempt to set a max-age or s-maxage higher than this,
3704
+ # or an Expires header more than maxTTL seconds in the future will be capped at
3705
+ # the value of maxTTL, as if it were the value of an s-maxage Cache-Control
3706
+ # directive. Setting a TTL of "0" means "always revalidate" and a value of "-1"
3707
+ # disables caching for that status code. The maximum allowed value is 31,622,
3708
+ # 400s (1 year), noting that infrequently accessed objects may be evicted from
3709
+ # the cache before the defined TTL.
3710
+ # Corresponds to the JSON property `maxTtl`
3711
+ # @return [Fixnum]
3712
+ attr_accessor :max_ttl
3713
+
3714
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
3715
+ # grained caching for common errors or redirects. This can reduce the load on
3716
+ # your origin and improve end-user experience by reducing response latency. By
3717
+ # default, Cloud CDN will apply the following default TTLs to these status codes:
3718
+ # HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not
3719
+ # Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method
3720
+ # Not Found), 414 (URI Too Long), 501 (Not Implemented): 60s These defaults can
3721
+ # be overridden in negative_caching_policy
3722
+ # Corresponds to the JSON property `negativeCaching`
3723
+ # @return [Boolean]
3724
+ attr_accessor :negative_caching
3725
+ alias_method :negative_caching?, :negative_caching
3726
+
3727
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
3728
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
3729
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
3730
+ # when specifying an explicit negative_caching_policy, you should take care to
3731
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
3732
+ # will not apply any default negative caching when a policy exists.
3733
+ # Corresponds to the JSON property `negativeCachingPolicy`
3734
+ # @return [Array<Google::Apis::ComputeAlpha::BackendServiceCdnPolicyNegativeCachingPolicy>]
3735
+ attr_accessor :negative_caching_policy
3736
+
3737
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
3738
+ # into a small number of requests to the origin.
3739
+ # Corresponds to the JSON property `requestCoalescing`
3740
+ # @return [Boolean]
3741
+ attr_accessor :request_coalescing
3742
+ alias_method :request_coalescing?, :request_coalescing
3743
+
3744
+ # Serve existing content from the cache (if available) when revalidating content
3745
+ # with the origin, or when an error is encountered when refreshing the cache.
3746
+ # This setting defines the default "max-stale" duration for any cached responses
3747
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3748
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3749
+ # day), which will allow stale content to be served up to this limit beyond the
3750
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3751
+ # 604800(1 week). Set this to zero (0) to disable serve-while-stale.
3752
+ # Corresponds to the JSON property `serveWhileStale`
3753
+ # @return [Fixnum]
3754
+ attr_accessor :serve_while_stale
3755
+
3379
3756
  # Maximum number of seconds the response to a signed URL request will be
3380
3757
  # considered fresh. After this time period, the response will be revalidated
3381
3758
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3398,12 +3775,74 @@ module Google
3398
3775
 
3399
3776
  # Update properties of this object
3400
3777
  def update!(**args)
3778
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3401
3779
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3780
+ @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3781
+ @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3782
+ @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3783
+ @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3784
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3785
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3786
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3787
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3402
3788
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3403
3789
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3404
3790
  end
3405
3791
  end
3406
3792
 
3793
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3794
+ # or Authorization headers. Values are case insensitive. The presence of such a
3795
+ # header overrides the cache_mode setting.
3796
+ class BackendServiceCdnPolicyBypassCacheOnRequestHeader
3797
+ include Google::Apis::Core::Hashable
3798
+
3799
+ # The header field name to match on when bypassing cache. Values are case-
3800
+ # insensitive.
3801
+ # Corresponds to the JSON property `headerName`
3802
+ # @return [String]
3803
+ attr_accessor :header_name
3804
+
3805
+ def initialize(**args)
3806
+ update!(**args)
3807
+ end
3808
+
3809
+ # Update properties of this object
3810
+ def update!(**args)
3811
+ @header_name = args[:header_name] if args.key?(:header_name)
3812
+ end
3813
+ end
3814
+
3815
+ # Specify CDN TTLs for response error codes.
3816
+ class BackendServiceCdnPolicyNegativeCachingPolicy
3817
+ include Google::Apis::Core::Hashable
3818
+
3819
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3820
+ # 308, 404, 405, 410, 414, 451 and 501 are can be specified as values, and you
3821
+ # cannot specify a status code more than once.
3822
+ # Corresponds to the JSON property `code`
3823
+ # @return [Fixnum]
3824
+ attr_accessor :code
3825
+
3826
+ # The TTL (in seconds) to cache responses with the corresponding status code for.
3827
+ # A TTL of "0" means "always revalidate" and a value of "-1" disables caching
3828
+ # for that status code. The maximum allowed value is 1800s (30 minutes), noting
3829
+ # that infrequently accessed objects may be evicted from the cache before the
3830
+ # defined TTL.
3831
+ # Corresponds to the JSON property `ttl`
3832
+ # @return [Fixnum]
3833
+ attr_accessor :ttl
3834
+
3835
+ def initialize(**args)
3836
+ update!(**args)
3837
+ end
3838
+
3839
+ # Update properties of this object
3840
+ def update!(**args)
3841
+ @code = args[:code] if args.key?(:code)
3842
+ @ttl = args[:ttl] if args.key?(:ttl)
3843
+ end
3844
+ end
3845
+
3407
3846
  # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
3408
3847
  # or failback, this field indicates whether connection draining will be honored.
3409
3848
  # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
@@ -4198,6 +4637,11 @@ module Google
4198
4637
  # @return [Google::Apis::ComputeAlpha::Instance]
4199
4638
  attr_accessor :instance
4200
4639
 
4640
+ #
4641
+ # Corresponds to the JSON property `instanceProperties`
4642
+ # @return [Google::Apis::ComputeAlpha::InstanceProperties]
4643
+ attr_accessor :instance_properties
4644
+
4201
4645
  # The minimum number of instances to create. If no min_count is specified then
4202
4646
  # count is used as the default value. If min_count instances cannot be created,
4203
4647
  # then no instances will be created.
@@ -4210,13 +4654,17 @@ module Google
4210
4654
  # @return [Array<String>]
4211
4655
  attr_accessor :predefined_names
4212
4656
 
4213
- # Specifies the instance template from which to create the instance. This field
4214
- # is optional. This field is optional. It can be a full or partial URL. For
4215
- # example, the following are all valid URLs to an instance template:
4657
+ # Specifies the instance template from which to create instances. You may
4658
+ # combine sourceInstanceTemplate with instanceProperties to override specific
4659
+ # values from an existing instance template. Bulk API follows the semantics of
4660
+ # JSON Merge Patch described by RFC 7396.
4661
+ # It can be a full or partial URL. For example, the following are all valid URLs
4662
+ # to an instance template:
4216
4663
  # - https://www.googleapis.com/compute/v1/projects/project/global/
4217
4664
  # instanceTemplates/instanceTemplate
4218
4665
  # - projects/project/global/instanceTemplates/instanceTemplate
4219
4666
  # - global/instanceTemplates/instanceTemplate
4667
+ # This field is optional.
4220
4668
  # Corresponds to the JSON property `sourceInstanceTemplate`
4221
4669
  # @return [String]
4222
4670
  attr_accessor :source_instance_template
@@ -4229,6 +4677,7 @@ module Google
4229
4677
  def update!(**args)
4230
4678
  @count = args[:count] if args.key?(:count)
4231
4679
  @instance = args[:instance] if args.key?(:instance)
4680
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
4232
4681
  @min_count = args[:min_count] if args.key?(:min_count)
4233
4682
  @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
4234
4683
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
@@ -4597,7 +5046,8 @@ module Google
4597
5046
 
4598
5047
  # The type of commitment, which affects the discount rate and the eligible
4599
5048
  # resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply
4600
- # to memory optimized machines.
5049
+ # to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a
5050
+ # commitment that will only apply to accelerator optimized machines.
4601
5051
  # Corresponds to the JSON property `type`
4602
5052
  # @return [String]
4603
5053
  attr_accessor :type
@@ -5193,7 +5643,7 @@ module Google
5193
5643
  end
5194
5644
  end
5195
5645
 
5196
- # Represents a customer-supplied encryption key
5646
+ #
5197
5647
  class CustomerEncryptionKey
5198
5648
  include Google::Apis::Core::Hashable
5199
5649
 
@@ -5250,7 +5700,7 @@ module Google
5250
5700
  class CustomerEncryptionKeyProtectedDisk
5251
5701
  include Google::Apis::Core::Hashable
5252
5702
 
5253
- # Represents a customer-supplied encryption key
5703
+ # Decrypts data associated with the disk with a customer-supplied encryption key.
5254
5704
  # Corresponds to the JSON property `diskEncryptionKey`
5255
5705
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
5256
5706
  attr_accessor :disk_encryption_key
@@ -5354,7 +5804,16 @@ module Google
5354
5804
  # @return [String]
5355
5805
  attr_accessor :description
5356
5806
 
5357
- # Represents a customer-supplied encryption key
5807
+ # Encrypts the disk using a customer-supplied encryption key.
5808
+ # After you encrypt a disk with a customer-supplied key, you must provide the
5809
+ # same key if you use the disk later (e.g. to create a disk snapshot, to create
5810
+ # a disk image, to create a machine image, or to attach the disk to a virtual
5811
+ # machine).
5812
+ # Customer-supplied encryption keys do not protect access to metadata of the
5813
+ # disk.
5814
+ # If you do not provide an encryption key when creating the disk, then the disk
5815
+ # will be encrypted using an automatically generated key and you do not need to
5816
+ # provide a key to use the disk later.
5358
5817
  # Corresponds to the JSON property `diskEncryptionKey`
5359
5818
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
5360
5819
  attr_accessor :disk_encryption_key
@@ -5458,6 +5917,11 @@ module Google
5458
5917
  # @return [Fixnum]
5459
5918
  attr_accessor :physical_block_size_bytes
5460
5919
 
5920
+ # Indicates how many IOPS must be provisioned for the disk.
5921
+ # Corresponds to the JSON property `provisionedIops`
5922
+ # @return [Fixnum]
5923
+ attr_accessor :provisioned_iops
5924
+
5461
5925
  # [Output Only] URL of the region where the disk resides. Only applicable for
5462
5926
  # regional resources. You must specify this field as part of the HTTP request
5463
5927
  # URL. It is not settable as a field in the request body.
@@ -5476,6 +5940,12 @@ module Google
5476
5940
  # @return [Array<String>]
5477
5941
  attr_accessor :resource_policies
5478
5942
 
5943
+ # [Output Only] Specifies whether this disk satisfies zone separation.
5944
+ # Corresponds to the JSON property `satisfiesPhysicalZoneSeparation`
5945
+ # @return [Boolean]
5946
+ attr_accessor :satisfies_physical_zone_separation
5947
+ alias_method :satisfies_physical_zone_separation?, :satisfies_physical_zone_separation
5948
+
5479
5949
  # [Output Only] Server-defined fully-qualified URL for this resource.
5480
5950
  # Corresponds to the JSON property `selfLink`
5481
5951
  # @return [String]
@@ -5486,12 +5956,11 @@ module Google
5486
5956
  # @return [String]
5487
5957
  attr_accessor :self_link_with_id
5488
5958
 
5489
- # Size of the persistent disk, specified in GB. You can specify this field when
5490
- # creating a persistent disk using the sourceImage or sourceSnapshot parameter,
5491
- # or specify it alone to create an empty persistent disk.
5492
- # If you specify this field along with sourceImage or sourceSnapshot, the value
5493
- # of sizeGb must not be less than the size of the sourceImage or the size of the
5494
- # snapshot. Acceptable values are 1 to 65536, inclusive.
5959
+ # Size, in GB, of the persistent disk. You can specify this field when creating
5960
+ # a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk
5961
+ # parameter, or specify it alone to create an empty persistent disk.
5962
+ # If you specify this field along with a source, the value of sizeGb must not be
5963
+ # less than the size of the source. Acceptable values are 1 to 65536, inclusive.
5495
5964
  # Corresponds to the JSON property `sizeGb`
5496
5965
  # @return [Fixnum]
5497
5966
  attr_accessor :size_gb
@@ -5533,7 +6002,8 @@ module Google
5533
6002
  # @return [String]
5534
6003
  attr_accessor :source_image
5535
6004
 
5536
- # Represents a customer-supplied encryption key
6005
+ # The customer-supplied encryption key of the source image. Required if the
6006
+ # source image is protected by a customer-supplied encryption key.
5537
6007
  # Corresponds to the JSON property `sourceImageEncryptionKey`
5538
6008
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
5539
6009
  attr_accessor :source_image_encryption_key
@@ -5547,9 +6017,9 @@ module Google
5547
6017
  # @return [String]
5548
6018
  attr_accessor :source_image_id
5549
6019
 
5550
- # The source in-place snapshot used to create this disk. You can provide this as
5551
- # a partial or full URL to the resource. For example, the following are valid
5552
- # values:
6020
+ # [Deprecated] The source in-place snapshot used to create this disk. You can
6021
+ # provide this as a partial or full URL to the resource. For example, the
6022
+ # following are valid values:
5553
6023
  # - https://www.googleapis.com/compute/v1/projects/project/global/
5554
6024
  # inPlaceSnapshots/inPlaceSnapshots
5555
6025
  # - projects/project/global/inPlaceSnapshots/inPlaceSnapshots
@@ -5558,16 +6028,37 @@ module Google
5558
6028
  # @return [String]
5559
6029
  attr_accessor :source_in_place_snapshot
5560
6030
 
5561
- # [Output Only] The unique ID of the in-place snapshot used to create this disk.
5562
- # This value identifies the exact in-place snapshot that was used to create this
5563
- # persistent disk. For example, if you created the persistent disk from an in-
5564
- # place snapshot that was later deleted and recreated under the same name, the
5565
- # source in-place snapshot ID would identify the exact version of the in-place
5566
- # snapshot that was used.
6031
+ # [Deprecated] [Output Only] The unique ID of the in-place snapshot used to
6032
+ # create this disk. This value identifies the exact in-place snapshot that was
6033
+ # used to create this persistent disk. For example, if you created the
6034
+ # persistent disk from an in-place snapshot that was later deleted and recreated
6035
+ # under the same name, the source in-place snapshot ID would identify the exact
6036
+ # version of the in-place snapshot that was used.
5567
6037
  # Corresponds to the JSON property `sourceInPlaceSnapshotId`
5568
6038
  # @return [String]
5569
6039
  attr_accessor :source_in_place_snapshot_id
5570
6040
 
6041
+ # The source instant snapshot used to create this disk. You can provide this as
6042
+ # a partial or full URL to the resource. For example, the following are valid
6043
+ # values:
6044
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/
6045
+ # instantSnapshots/instantSnapshot
6046
+ # - projects/project/zones/zone/instantSnapshots/instantSnapshot
6047
+ # - zones/zone/instantSnapshots/instantSnapshot
6048
+ # Corresponds to the JSON property `sourceInstantSnapshot`
6049
+ # @return [String]
6050
+ attr_accessor :source_instant_snapshot
6051
+
6052
+ # [Output Only] The unique ID of the instant snapshot used to create this disk.
6053
+ # This value identifies the exact instant snapshot that was used to create this
6054
+ # persistent disk. For example, if you created the persistent disk from an
6055
+ # instant snapshot that was later deleted and recreated under the same name, the
6056
+ # source instant snapshot ID would identify the exact version of the instant
6057
+ # snapshot that was used.
6058
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
6059
+ # @return [String]
6060
+ attr_accessor :source_instant_snapshot_id
6061
+
5571
6062
  # The source snapshot used to create this disk. You can provide this as a
5572
6063
  # partial or full URL to the resource. For example, the following are valid
5573
6064
  # values:
@@ -5579,7 +6070,8 @@ module Google
5579
6070
  # @return [String]
5580
6071
  attr_accessor :source_snapshot
5581
6072
 
5582
- # Represents a customer-supplied encryption key
6073
+ # The customer-supplied encryption key of the source snapshot. Required if the
6074
+ # source snapshot is protected by a customer-supplied encryption key.
5583
6075
  # Corresponds to the JSON property `sourceSnapshotEncryptionKey`
5584
6076
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
5585
6077
  attr_accessor :source_snapshot_encryption_key
@@ -5657,9 +6149,11 @@ module Google
5657
6149
  @name = args[:name] if args.key?(:name)
5658
6150
  @options = args[:options] if args.key?(:options)
5659
6151
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
6152
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
5660
6153
  @region = args[:region] if args.key?(:region)
5661
6154
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
5662
6155
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
6156
+ @satisfies_physical_zone_separation = args[:satisfies_physical_zone_separation] if args.key?(:satisfies_physical_zone_separation)
5663
6157
  @self_link = args[:self_link] if args.key?(:self_link)
5664
6158
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
5665
6159
  @size_gb = args[:size_gb] if args.key?(:size_gb)
@@ -5670,6 +6164,8 @@ module Google
5670
6164
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
5671
6165
  @source_in_place_snapshot = args[:source_in_place_snapshot] if args.key?(:source_in_place_snapshot)
5672
6166
  @source_in_place_snapshot_id = args[:source_in_place_snapshot_id] if args.key?(:source_in_place_snapshot_id)
6167
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6168
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
5673
6169
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
5674
6170
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
5675
6171
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
@@ -7979,7 +8475,8 @@ module Google
7979
8475
  class FirewallPolicyRuleMatcher
7980
8476
  include Google::Apis::Core::Hashable
7981
8477
 
7982
- # CIDR IP address range.
8478
+ # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
8479
+ # 256.
7983
8480
  # Corresponds to the JSON property `destIpRanges`
7984
8481
  # @return [Array<String>]
7985
8482
  attr_accessor :dest_ip_ranges
@@ -7989,7 +8486,7 @@ module Google
7989
8486
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleMatcherLayer4Config>]
7990
8487
  attr_accessor :layer4_configs
7991
8488
 
7992
- # CIDR IP address range.
8489
+ # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.
7993
8490
  # Corresponds to the JSON property `srcIpRanges`
7994
8491
  # @return [Array<String>]
7995
8492
  attr_accessor :src_ip_ranges
@@ -8107,6 +8604,8 @@ module Google
8107
8604
  # IP address that you can use. For detailed information, refer to [IP address
8108
8605
  # specifications](/load-balancing/docs/forwarding-rule-concepts#
8109
8606
  # ip_address_specifications).
8607
+ # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8608
+ # validateForProxyless field set to true.
8110
8609
  # Corresponds to the JSON property `IPAddress`
8111
8610
  # @return [String]
8112
8611
  attr_accessor :ip_address
@@ -8245,7 +8744,7 @@ module Google
8245
8744
 
8246
8745
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
8247
8746
  # to a limited set of xDS compliant clients. In their xDS requests to
8248
- # Loadbalancer, xDS clients present node metadata. If a match takes place, the
8747
+ # Loadbalancer, xDS clients present node metadata. When there is a match, the
8249
8748
  # relevant configuration is made available to those proxies. Otherwise, all the
8250
8749
  # resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule will
8251
8750
  # not be visible to those proxies.
@@ -8253,7 +8752,8 @@ module Google
8253
8752
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
8254
8753
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
8255
8754
  # all of its filterLabels must match with corresponding labels provided in the
8256
- # metadata.
8755
+ # metadata. If multiple metadataFilters are specified, all of them need to be
8756
+ # satisfied in order to be considered a match.
8257
8757
  # metadataFilters specified here will be applifed before those specified in the
8258
8758
  # UrlMap that this ForwardingRule references.
8259
8759
  # metadataFilters only applies to Loadbalancers that have their
@@ -8295,13 +8795,14 @@ module Google
8295
8795
  # that points to a target proxy or a target pool. Do not use with a forwarding
8296
8796
  # rule that points to a backend service. This field is used along with the
8297
8797
  # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
8298
- # TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
8798
+ # TargetTcpProxy, TargetGrpcProxy, TargetVpnGateway, TargetPool, TargetInstance.
8299
8799
  # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
8300
8800
  # to ports in the specified range will be forwarded to target. Forwarding rules
8301
8801
  # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
8302
8802
  # Some types of forwarding target have constraints on the acceptable ports:
8303
8803
  # - TargetHttpProxy: 80, 8080
8304
8804
  # - TargetHttpsProxy: 443
8805
+ # - TargetGrpcProxy: Any ports
8305
8806
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
8306
8807
  # 1883, 5222
8307
8808
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -8343,6 +8844,12 @@ module Google
8343
8844
  # @return [String]
8344
8845
  attr_accessor :self_link_with_id
8345
8846
 
8847
+ # Service Directory resources to register this forwarding rule with. Currently,
8848
+ # only supports a single Service Directory resource.
8849
+ # Corresponds to the JSON property `serviceDirectoryRegistrations`
8850
+ # @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleServiceDirectoryRegistration>]
8851
+ attr_accessor :service_directory_registrations
8852
+
8346
8853
  # An optional prefix to the service name for this Forwarding Rule. If specified,
8347
8854
  # the prefix is the first label of the fully qualified service name.
8348
8855
  # The label must be 1-63 characters long, and comply with RFC1035. Specifically,
@@ -8376,8 +8883,8 @@ module Google
8376
8883
  # forwarding rules, this target must live in the same region as the forwarding
8377
8884
  # rule. For global forwarding rules, this target must be a global load balancing
8378
8885
  # resource. The forwarded traffic must be of a type appropriate to the target
8379
- # object. For INTERNAL_SELF_MANAGED load balancing, only targetHttpProxy is
8380
- # valid, not targetHttpsProxy.
8886
+ # object. For INTERNAL_SELF_MANAGED load balancing, only targetHttpProxy and
8887
+ # targetGrpcProxy are valid, not targetHttpsProxy.
8381
8888
  # Corresponds to the JSON property `target`
8382
8889
  # @return [String]
8383
8890
  attr_accessor :target
@@ -8412,6 +8919,7 @@ module Google
8412
8919
  @region = args[:region] if args.key?(:region)
8413
8920
  @self_link = args[:self_link] if args.key?(:self_link)
8414
8921
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8922
+ @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
8415
8923
  @service_label = args[:service_label] if args.key?(:service_label)
8416
8924
  @service_name = args[:service_name] if args.key?(:service_name)
8417
8925
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
@@ -8679,6 +9187,33 @@ module Google
8679
9187
  end
8680
9188
  end
8681
9189
 
9190
+ # Describes the auto-registration of the Forwarding Rule to Service Directory.
9191
+ # The region and project of the Service Directory resource generated from this
9192
+ # registration will be the same as this Forwarding Rule.
9193
+ class ForwardingRuleServiceDirectoryRegistration
9194
+ include Google::Apis::Core::Hashable
9195
+
9196
+ # Service Directory namespace to register the forwarding rule under.
9197
+ # Corresponds to the JSON property `namespace`
9198
+ # @return [String]
9199
+ attr_accessor :namespace
9200
+
9201
+ # Service Directory service to register the forwarding rule under.
9202
+ # Corresponds to the JSON property `service`
9203
+ # @return [String]
9204
+ attr_accessor :service
9205
+
9206
+ def initialize(**args)
9207
+ update!(**args)
9208
+ end
9209
+
9210
+ # Update properties of this object
9211
+ def update!(**args)
9212
+ @namespace = args[:namespace] if args.key?(:namespace)
9213
+ @service = args[:service] if args.key?(:service)
9214
+ end
9215
+ end
9216
+
8682
9217
  #
8683
9218
  class ForwardingRulesScopedList
8684
9219
  include Google::Apis::Core::Hashable
@@ -9350,9 +9885,10 @@ module Google
9350
9885
  # Google Compute Engine has two Health Check resources:
9351
9886
  # * [Global](/compute/docs/reference/rest/`$api_version`/healthChecks) * [
9352
9887
  # Regional](/compute/docs/reference/rest/`$api_version`/regionHealthChecks)
9353
- # Internal HTTP(S) load balancers use regional health checks. All other types of
9354
- # GCP load balancers and managed instance group auto-healing use global health
9355
- # checks. For more information, read Health Check Concepts.
9888
+ # Internal HTTP(S) load balancers must use regional health checks. Internal TCP/
9889
+ # UDP load balancers can use either regional or global health checks. All other
9890
+ # types of GCP load balancers and managed instance group auto-healing must use
9891
+ # global health checks. For more information, read Health Check Concepts.
9356
9892
  # To perform health checks on network load balancers, you must use either
9357
9893
  # httpHealthChecks or httpsHealthChecks.
9358
9894
  class HealthCheck
@@ -10284,6 +10820,8 @@ module Google
10284
10820
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10285
10821
  # In that case, * must be the first character and must be followed in the
10286
10822
  # pattern by either - or ..
10823
+ # * based matching is not supported when the URL map is bound to target gRPC
10824
+ # proxy that has validateForProxyless field set to true.
10287
10825
  # Corresponds to the JSON property `hosts`
10288
10826
  # @return [Array<String>]
10289
10827
  attr_accessor :hosts
@@ -11124,7 +11662,11 @@ module Google
11124
11662
  # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
11125
11663
  attr_accessor :http_filter_metadata
11126
11664
 
11127
- #
11665
+ # The list of criteria for matching attributes of a request to this routeRule.
11666
+ # This list has OR semantics: the request matches this routeRule when any of the
11667
+ # matchRules are satisfied. However predicates within a given matchRule have AND
11668
+ # semantics. All predicates within a matchRule must match for the request to
11669
+ # match the rule.
11128
11670
  # Corresponds to the JSON property `matchRules`
11129
11671
  # @return [Array<Google::Apis::ComputeAlpha::HttpRouteRuleMatch>]
11130
11672
  attr_accessor :match_rules
@@ -11152,6 +11694,8 @@ module Google
11152
11694
  # routeAction cannot contain any weightedBackendServices.
11153
11695
  # Only one of urlRedirect, service or routeAction.weightedBackendService must be
11154
11696
  # set.
11697
+ # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
11698
+ # within a routeRule's routeAction.
11155
11699
  # Corresponds to the JSON property `routeAction`
11156
11700
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
11157
11701
  attr_accessor :route_action
@@ -11221,13 +11765,14 @@ module Google
11221
11765
 
11222
11766
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
11223
11767
  # to a limited set of xDS compliant clients. In their xDS requests to
11224
- # Loadbalancer, xDS clients present node metadata. If a match takes place, the
11768
+ # Loadbalancer, xDS clients present node metadata. When there is a match, the
11225
11769
  # relevant routing configuration is made available to those proxies.
11226
11770
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
11227
11771
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
11228
11772
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
11229
11773
  # all of its filterLabels must match with corresponding labels provided in the
11230
- # metadata.
11774
+ # metadata. If multiple metadataFilters are specified, all of them need to be
11775
+ # satisfied in order to be considered a match.
11231
11776
  # metadataFilters specified here will be applied after those specified in
11232
11777
  # ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to.
11233
11778
  # metadataFilters only applies to Loadbalancers that have their
@@ -11560,7 +12105,14 @@ module Google
11560
12105
  # @return [Fixnum]
11561
12106
  attr_accessor :id
11562
12107
 
11563
- # Represents a customer-supplied encryption key
12108
+ # Encrypts the image using a customer-supplied encryption key.
12109
+ # After you encrypt an image with a customer-supplied key, you must provide the
12110
+ # same key if you use the image later (e.g. to create a disk from the image).
12111
+ # Customer-supplied encryption keys do not protect access to metadata of the
12112
+ # disk.
12113
+ # If you do not provide an encryption key when creating the image, then the disk
12114
+ # will be encrypted using an automatically generated key and you do not need to
12115
+ # provide a key to use the image later.
11564
12116
  # Corresponds to the JSON property `imageEncryptionKey`
11565
12117
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
11566
12118
  attr_accessor :image_encryption_key
@@ -11640,7 +12192,8 @@ module Google
11640
12192
  # @return [String]
11641
12193
  attr_accessor :source_disk
11642
12194
 
11643
- # Represents a customer-supplied encryption key
12195
+ # The customer-supplied encryption key of the source disk. Required if the
12196
+ # source disk is protected by a customer-supplied encryption key.
11644
12197
  # Corresponds to the JSON property `sourceDiskEncryptionKey`
11645
12198
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
11646
12199
  attr_accessor :source_disk_encryption_key
@@ -11663,7 +12216,8 @@ module Google
11663
12216
  # @return [String]
11664
12217
  attr_accessor :source_image
11665
12218
 
11666
- # Represents a customer-supplied encryption key
12219
+ # The customer-supplied encryption key of the source image. Required if the
12220
+ # source image is protected by a customer-supplied encryption key.
11667
12221
  # Corresponds to the JSON property `sourceImageEncryptionKey`
11668
12222
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
11669
12223
  attr_accessor :source_image_encryption_key
@@ -11687,7 +12241,8 @@ module Google
11687
12241
  # @return [String]
11688
12242
  attr_accessor :source_snapshot
11689
12243
 
11690
- # Represents a customer-supplied encryption key
12244
+ # The customer-supplied encryption key of the source snapshot. Required if the
12245
+ # source snapshot is protected by a customer-supplied encryption key.
11691
12246
  # Corresponds to the JSON property `sourceSnapshotEncryptionKey`
11692
12247
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
11693
12248
  attr_accessor :source_snapshot_encryption_key
@@ -12217,6 +12772,15 @@ module Google
12217
12772
  class Instance
12218
12773
  include Google::Apis::Core::Hashable
12219
12774
 
12775
+ # Specifies options for controlling advanced machine features. Options that
12776
+ # would traditionally be configured in a BIOS belong here. Features that require
12777
+ # operating system support may have corresponding entries in the GuestOsFeatures
12778
+ # of an Image (e.g., whether or not the OS in the Image supports nested
12779
+ # virtualization being enabled or disabled).
12780
+ # Corresponds to the JSON property `advancedMachineFeatures`
12781
+ # @return [Google::Apis::ComputeAlpha::AdvancedMachineFeatures]
12782
+ attr_accessor :advanced_machine_features
12783
+
12220
12784
  # Allows this instance to send and receive packets with non-matching destination
12221
12785
  # or source IPs. This is required if you plan to use this instance to forward
12222
12786
  # routes. For more information, see Enabling IP Forwarding.
@@ -12300,7 +12864,19 @@ module Google
12300
12864
  # @return [Fixnum]
12301
12865
  attr_accessor :id
12302
12866
 
12303
- # Represents a customer-supplied encryption key
12867
+ # Encrypts or decrypts data for an instance with a customer-supplied encryption
12868
+ # key.
12869
+ # If you are creating a new instance, this field encrypts the local SSD and in-
12870
+ # memory contents of the instance using a key that you provide.
12871
+ # If you are restarting an instance protected with a customer-supplied
12872
+ # encryption key, you must provide the correct key in order to successfully
12873
+ # restart the instance.
12874
+ # If you do not provide an encryption key when creating the instance, then the
12875
+ # local SSD and in-memory contents will be encrypted using an automatically
12876
+ # generated key and you do not need to provide a key to start the instance later.
12877
+ # Instance templates do not store customer-supplied encryption keys, so you
12878
+ # cannot use your own keys to encrypt local SSDs and in-memory content in a
12879
+ # managed instance group.
12304
12880
  # Corresponds to the JSON property `instanceEncryptionKey`
12305
12881
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
12306
12882
  attr_accessor :instance_encryption_key
@@ -12415,6 +12991,12 @@ module Google
12415
12991
  # @return [Array<String>]
12416
12992
  attr_accessor :resource_policies
12417
12993
 
12994
+ # [Output Only] Specifies whether this instance satisfies zone separation.
12995
+ # Corresponds to the JSON property `satisfiesPhysicalZoneSeparation`
12996
+ # @return [Boolean]
12997
+ attr_accessor :satisfies_physical_zone_separation
12998
+ alias_method :satisfies_physical_zone_separation?, :satisfies_physical_zone_separation
12999
+
12418
13000
  # Sets the scheduling options for an Instance. NextID: 12
12419
13001
  # Corresponds to the JSON property `scheduling`
12420
13002
  # @return [Google::Apis::ComputeAlpha::Scheduling]
@@ -12466,7 +13048,7 @@ module Google
12466
13048
  # @return [String]
12467
13049
  attr_accessor :source_machine_image
12468
13050
 
12469
- # Represents a customer-supplied encryption key
13051
+ # Source GMI encryption key when creating an instance from GMI.
12470
13052
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
12471
13053
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
12472
13054
  attr_accessor :source_machine_image_encryption_key
@@ -12513,6 +13095,7 @@ module Google
12513
13095
 
12514
13096
  # Update properties of this object
12515
13097
  def update!(**args)
13098
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
12516
13099
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
12517
13100
  @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
12518
13101
  @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
@@ -12543,6 +13126,7 @@ module Google
12543
13126
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12544
13127
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12545
13128
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13129
+ @satisfies_physical_zone_separation = args[:satisfies_physical_zone_separation] if args.key?(:satisfies_physical_zone_separation)
12546
13130
  @scheduling = args[:scheduling] if args.key?(:scheduling)
12547
13131
  @self_link = args[:self_link] if args.key?(:self_link)
12548
13132
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -15165,6 +15749,15 @@ module Google
15165
15749
  class InstanceProperties
15166
15750
  include Google::Apis::Core::Hashable
15167
15751
 
15752
+ # Specifies options for controlling advanced machine features. Options that
15753
+ # would traditionally be configured in a BIOS belong here. Features that require
15754
+ # operating system support may have corresponding entries in the GuestOsFeatures
15755
+ # of an Image (e.g., whether or not the OS in the Image supports nested
15756
+ # virtualization being enabled or disabled).
15757
+ # Corresponds to the JSON property `advancedMachineFeatures`
15758
+ # @return [Google::Apis::ComputeAlpha::AdvancedMachineFeatures]
15759
+ attr_accessor :advanced_machine_features
15760
+
15168
15761
  # Enables instances created based on these properties to send packets with
15169
15762
  # source IP addresses other than their own and receive packets with destination
15170
15763
  # IP addresses other than their own. If these instances will be used as an IP
@@ -15289,6 +15882,7 @@ module Google
15289
15882
 
15290
15883
  # Update properties of this object
15291
15884
  def update!(**args)
15885
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
15292
15886
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
15293
15887
  @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
15294
15888
  @description = args[:description] if args.key?(:description)
@@ -15674,7 +16268,11 @@ module Google
15674
16268
  # @return [Array<Google::Apis::ComputeAlpha::CustomerEncryptionKeyProtectedDisk>]
15675
16269
  attr_accessor :disks
15676
16270
 
15677
- # Represents a customer-supplied encryption key
16271
+ # Decrypts data associated with an instance that is protected with a customer-
16272
+ # supplied encryption key.
16273
+ # If the instance you are starting is protected with a customer-supplied
16274
+ # encryption key, the correct key must be provided otherwise the instance resume
16275
+ # will not succeed.
15678
16276
  # Corresponds to the JSON property `instanceEncryptionKey`
15679
16277
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
15680
16278
  attr_accessor :instance_encryption_key
@@ -15933,7 +16531,11 @@ module Google
15933
16531
  # @return [Array<Google::Apis::ComputeAlpha::CustomerEncryptionKeyProtectedDisk>]
15934
16532
  attr_accessor :disks
15935
16533
 
15936
- # Represents a customer-supplied encryption key
16534
+ # Decrypts data associated with an instance that is protected with a customer-
16535
+ # supplied encryption key.
16536
+ # If the instance you are starting is protected with a customer-supplied
16537
+ # encryption key, the correct key must be provided otherwise the instance start
16538
+ # will not succeed.
15937
16539
  # Corresponds to the JSON property `instanceEncryptionKey`
15938
16540
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
15939
16541
  attr_accessor :instance_encryption_key
@@ -16279,6 +16881,11 @@ module Google
16279
16881
  # @return [String]
16280
16882
  attr_accessor :edge_availability_domain
16281
16883
 
16884
+ # Indicates the user-supplied encryption option of this interconnect attachment.
16885
+ # Corresponds to the JSON property `encryption`
16886
+ # @return [String]
16887
+ attr_accessor :encryption
16888
+
16282
16889
  # [Output Only] Google reference ID, to be used when raising support tickets
16283
16890
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
16284
16891
  # This field is not used.
@@ -16298,6 +16905,22 @@ module Google
16298
16905
  # @return [String]
16299
16906
  attr_accessor :interconnect
16300
16907
 
16908
+ # URL of addresses that have been reserved for the interconnect attachment, Used
16909
+ # only for interconnect attachment that has the encryption option as IPSEC. The
16910
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
16911
+ # over the interconnect attachment, if the attachment is configured to use an
16912
+ # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
16913
+ # the IP address range specified here. For example, if the HA VPN gateway?s
16914
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
16915
+ # address for the VPN gateway interface 0 will be allocated from the IP address
16916
+ # specified for this interconnect attachment. If this field is not specified for
16917
+ # interconnect attachment that has encryption option as IPSEC, later on when
16918
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
16919
+ # IP address will be allocated from regional external IP address pool.
16920
+ # Corresponds to the JSON property `ipsecInternalAddresses`
16921
+ # @return [Array<String>]
16922
+ attr_accessor :ipsec_internal_addresses
16923
+
16301
16924
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
16302
16925
  # interconnect attachments.
16303
16926
  # Corresponds to the JSON property `kind`
@@ -16456,9 +17079,11 @@ module Google
16456
17079
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
16457
17080
  @description = args[:description] if args.key?(:description)
16458
17081
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
17082
+ @encryption = args[:encryption] if args.key?(:encryption)
16459
17083
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
16460
17084
  @id = args[:id] if args.key?(:id)
16461
17085
  @interconnect = args[:interconnect] if args.key?(:interconnect)
17086
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
16462
17087
  @kind = args[:kind] if args.key?(:kind)
16463
17088
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
16464
17089
  @labels = args[:labels] if args.key?(:labels)
@@ -18575,7 +19200,16 @@ module Google
18575
19200
  # @return [String]
18576
19201
  attr_accessor :kind
18577
19202
 
18578
- # Represents a customer-supplied encryption key
19203
+ # Encrypts the machine image using a customer-supplied encryption key.
19204
+ # After you encrypt a machine image using a customer-supplied key, you must
19205
+ # provide the same key if you use the machine image later. For example, you must
19206
+ # provide the encryption key when you create an instance from the encrypted
19207
+ # machine image in a future request.
19208
+ # Customer-supplied encryption keys do not protect access to metadata of the
19209
+ # machine image.
19210
+ # If you do not provide an encryption key when creating the machine image, then
19211
+ # the machine image will be encrypted using an automatically generated key and
19212
+ # you do not need to provide a key to use the machine image later.
18579
19213
  # Corresponds to the JSON property `machineImageEncryptionKey`
18580
19214
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
18581
19215
  attr_accessor :machine_image_encryption_key
@@ -19723,6 +20357,7 @@ module Google
19723
20357
  # @return [String]
19724
20358
  attr_accessor :i_pv4_range
19725
20359
 
20360
+ # Must be set to create a VPC network. If not set, a legacy network is created.
19726
20361
  # When set to true, the VPC network is created in auto mode. When set to false,
19727
20362
  # the VPC network is created in custom mode.
19728
20363
  # An auto mode VPC network starts with one subnet per region. Each subnet has a
@@ -19891,9 +20526,11 @@ module Google
19891
20526
  # Represents a collection of network endpoints.
19892
20527
  # A network endpoint group (NEG) defines how a set of endpoints should be
19893
20528
  # reached, whether they are reachable, and where they are located. For more
19894
- # information about using NEGs, see Setting up internet NEGs or Setting up
19895
- # zonal NEGs. (== resource_for `$api_version`.networkEndpointGroups ==) (==
19896
- # resource_for `$api_version`.globalNetworkEndpointGroups ==)
20529
+ # information about using NEGs, see Setting up internet NEGs, Setting up zonal
20530
+ # NEGs, or Setting up serverless NEGs. (== resource_for `$api_version`.
20531
+ # networkEndpointGroups ==) (== resource_for `$api_version`.
20532
+ # globalNetworkEndpointGroups ==) (== resource_for `$api_version`.
20533
+ # regionNetworkEndpointGroups ==)
19897
20534
  class NetworkEndpointGroup
19898
20535
  include Google::Apis::Core::Hashable
19899
20536
 
@@ -19979,7 +20616,9 @@ module Google
19979
20616
  # @return [String]
19980
20617
  attr_accessor :network
19981
20618
 
19982
- # Type of network endpoints in this network endpoint group.
20619
+ # Type of network endpoints in this network endpoint group. Can be one of
20620
+ # GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT,
20621
+ # or SERVERLESS.
19983
20622
  # Corresponds to the JSON property `networkEndpointType`
19984
20623
  # @return [String]
19985
20624
  attr_accessor :network_endpoint_type
@@ -21338,7 +21977,9 @@ module Google
21338
21977
  attr_accessor :location_hint
21339
21978
 
21340
21979
  # Specifies how to handle instances when a node in the group undergoes
21341
- # maintenance.
21980
+ # maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or
21981
+ # MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information,
21982
+ # see Maintenance policies.
21342
21983
  # Corresponds to the JSON property `maintenancePolicy`
21343
21984
  # @return [String]
21344
21985
  attr_accessor :maintenance_policy
@@ -21554,7 +22195,8 @@ module Google
21554
22195
  # @return [Fixnum]
21555
22196
  attr_accessor :min_nodes
21556
22197
 
21557
- # The autoscaling mode.
22198
+ # The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more
22199
+ # information, see Autoscaler modes.
21558
22200
  # Corresponds to the JSON property `mode`
21559
22201
  # @return [String]
21560
22202
  attr_accessor :mode
@@ -21752,6 +22394,12 @@ module Google
21752
22394
  # @return [String]
21753
22395
  attr_accessor :node_type
21754
22396
 
22397
+ # [Output Only] Specifies whether this node satisfies zone separation.
22398
+ # Corresponds to the JSON property `satisfiesPhysicalZoneSeparation`
22399
+ # @return [Boolean]
22400
+ attr_accessor :satisfies_physical_zone_separation
22401
+ alias_method :satisfies_physical_zone_separation?, :satisfies_physical_zone_separation
22402
+
21755
22403
  # Binding properties for the physical server.
21756
22404
  # Corresponds to the JSON property `serverBinding`
21757
22405
  # @return [Google::Apis::ComputeAlpha::ServerBinding]
@@ -21779,6 +22427,7 @@ module Google
21779
22427
  @instances = args[:instances] if args.key?(:instances)
21780
22428
  @name = args[:name] if args.key?(:name)
21781
22429
  @node_type = args[:node_type] if args.key?(:node_type)
22430
+ @satisfies_physical_zone_separation = args[:satisfies_physical_zone_separation] if args.key?(:satisfies_physical_zone_separation)
21782
22431
  @server_binding = args[:server_binding] if args.key?(:server_binding)
21783
22432
  @server_id = args[:server_id] if args.key?(:server_id)
21784
22433
  @status = args[:status] if args.key?(:status)
@@ -24350,6 +24999,12 @@ module Google
24350
24999
  # @return [Array<String>]
24351
25000
  attr_accessor :cidr_ranges
24352
25001
 
25002
+ # Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default
25003
+ # is BOTH.
25004
+ # Corresponds to the JSON property `direction`
25005
+ # @return [String]
25006
+ attr_accessor :direction
25007
+
24353
25008
  def initialize(**args)
24354
25009
  update!(**args)
24355
25010
  end
@@ -24358,6 +25013,7 @@ module Google
24358
25013
  def update!(**args)
24359
25014
  @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
24360
25015
  @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
25016
+ @direction = args[:direction] if args.key?(:direction)
24361
25017
  end
24362
25018
  end
24363
25019
 
@@ -24725,6 +25381,8 @@ module Google
24725
25381
  # Only one of defaultRouteAction or defaultUrlRedirect must be set.
24726
25382
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
24727
25383
  # within a pathMatcher's defaultRouteAction.
25384
+ # Not supported when the backend service is referenced by a URL map that is
25385
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
24728
25386
  # Corresponds to the JSON property `defaultRouteAction`
24729
25387
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
24730
25388
  attr_accessor :default_route_action
@@ -24747,6 +25405,8 @@ module Google
24747
25405
  # the specified resource default_service:
24748
25406
  # - compute.backendBuckets.use
24749
25407
  # - compute.backendServices.use
25408
+ # pathMatchers[].defaultService is the only option available when the URL map is
25409
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
24750
25410
  # Corresponds to the JSON property `defaultService`
24751
25411
  # @return [String]
24752
25412
  attr_accessor :default_service
@@ -24780,6 +25440,8 @@ module Google
24780
25440
  # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
24781
25441
  # irrespective of the order in which those paths appear in this list.
24782
25442
  # Within a given pathMatcher, only one of pathRules or routeRules must be set.
25443
+ # Not supported when the backend service is referenced by a URL map that is
25444
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
24783
25445
  # Corresponds to the JSON property `pathRules`
24784
25446
  # @return [Array<Google::Apis::ComputeAlpha::PathRule>]
24785
25447
  attr_accessor :path_rules
@@ -24788,6 +25450,8 @@ module Google
24788
25450
  # route matching and routing actions are desired. routeRules are evaluated in
24789
25451
  # order of priority, from the lowest to highest number.
24790
25452
  # Within a given pathMatcher, you can set only one of pathRules or routeRules.
25453
+ # Not supported when the backend service is referenced by a URL map that is
25454
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
24791
25455
  # Corresponds to the JSON property `routeRules`
24792
25456
  # @return [Array<Google::Apis::ComputeAlpha::HttpRouteRule>]
24793
25457
  attr_accessor :route_rules
@@ -25375,7 +26039,8 @@ module Google
25375
26039
  attr_accessor :usage_export_location
25376
26040
 
25377
26041
  # [Output Only] The role this project has in a shared VPC configuration.
25378
- # Currently only HOST projects are differentiated.
26042
+ # Currently, only projects with the host role, which is specified by the value
26043
+ # HOST, are differentiated.
25379
26044
  # Corresponds to the JSON property `xpnProjectStatus`
25380
26045
  # @return [String]
25381
26046
  attr_accessor :xpn_project_status
@@ -25768,20 +26433,30 @@ module Google
25768
26433
  class PublicAdvertisedPrefixPublicDelegatedPrefix
25769
26434
  include Google::Apis::Core::Hashable
25770
26435
 
26436
+ # The IP address range of the public delegated prefix
26437
+ # Corresponds to the JSON property `ipRange`
26438
+ # @return [String]
26439
+ attr_accessor :ip_range
26440
+
25771
26441
  # The name of the public delegated prefix
25772
26442
  # Corresponds to the JSON property `name`
25773
26443
  # @return [String]
25774
26444
  attr_accessor :name
25775
26445
 
26446
+ # The project number of the public delegated prefix
26447
+ # Corresponds to the JSON property `project`
26448
+ # @return [String]
26449
+ attr_accessor :project
26450
+
25776
26451
  # The region of the public delegated prefix if it is regional. If absent, the
25777
26452
  # prefix is global.
25778
26453
  # Corresponds to the JSON property `region`
25779
26454
  # @return [String]
25780
26455
  attr_accessor :region
25781
26456
 
25782
- # The status of the public delegated prefix. Possible values are: ACTIVE: The
25783
- # public delegated prefix is active DRAINED: The public delegated prefix is
25784
- # drained.
26457
+ # The status of the public delegated prefix. Possible values are: INITIALIZING:
26458
+ # The public delegated prefix is being initialized and addresses cannot be
26459
+ # created yet. ANNOUNCED: The public delegated prefix is active.
25785
26460
  # Corresponds to the JSON property `status`
25786
26461
  # @return [String]
25787
26462
  attr_accessor :status
@@ -25792,7 +26467,9 @@ module Google
25792
26467
 
25793
26468
  # Update properties of this object
25794
26469
  def update!(**args)
26470
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
25795
26471
  @name = args[:name] if args.key?(:name)
26472
+ @project = args[:project] if args.key?(:project)
25796
26473
  @region = args[:region] if args.key?(:region)
25797
26474
  @status = args[:status] if args.key?(:status)
25798
26475
  end
@@ -26474,6 +27151,12 @@ module Google
26474
27151
  # @return [String]
26475
27152
  attr_accessor :status
26476
27153
 
27154
+ # [Output Only] Specifies whether this region supports physical zone separation.
27155
+ # Corresponds to the JSON property `supportsPhysicalZoneSeparation`
27156
+ # @return [Boolean]
27157
+ attr_accessor :supports_physical_zone_separation
27158
+ alias_method :supports_physical_zone_separation?, :supports_physical_zone_separation
27159
+
26477
27160
  # [Output Only] A list of zones available in this region, in the form of
26478
27161
  # resource URLs.
26479
27162
  # Corresponds to the JSON property `zones`
@@ -26496,6 +27179,7 @@ module Google
26496
27179
  @self_link = args[:self_link] if args.key?(:self_link)
26497
27180
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
26498
27181
  @status = args[:status] if args.key?(:status)
27182
+ @supports_physical_zone_separation = args[:supports_physical_zone_separation] if args.key?(:supports_physical_zone_separation)
26499
27183
  @zones = args[:zones] if args.key?(:zones)
26500
27184
  end
26501
27185
  end
@@ -27127,7 +27811,7 @@ module Google
27127
27811
  end
27128
27812
  end
27129
27813
 
27130
- # InstanceGroupManagers.applyUpdatesToInstances
27814
+ # RegionInstanceGroupManagers.applyUpdatesToInstances
27131
27815
  class RegionInstanceGroupManagersApplyUpdatesRequest
27132
27816
  include Google::Apis::Core::Hashable
27133
27817
 
@@ -27892,6 +28576,10 @@ module Google
27892
28576
  # Traffic Director.
27893
28577
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
27894
28578
  # regionUrlMaps are used by internal HTTP(S) load balancers.
28579
+ # For a list of supported URL map features by load balancer type, see the Load
28580
+ # balancing features: Routing and traffic management table.
28581
+ # For a list of supported URL map features for Traffic Director, see the
28582
+ # Traffic Director features: Routing and traffic management table.
27895
28583
  # This resource defines mappings from host names and URL paths to either a
27896
28584
  # backend service or a backend bucket.
27897
28585
  # To use the global urlMaps resource, the backend service must have a
@@ -28864,6 +29552,11 @@ module Google
28864
29552
  # @return [String]
28865
29553
  attr_accessor :locality
28866
29554
 
29555
+ # Scope specifies the availability domain to which the VMs should be spread.
29556
+ # Corresponds to the JSON property `scope`
29557
+ # @return [String]
29558
+ attr_accessor :scope
29559
+
28867
29560
  # Specifies instances to hosts placement relationship
28868
29561
  # Corresponds to the JSON property `style`
28869
29562
  # @return [String]
@@ -28883,6 +29576,7 @@ module Google
28883
29576
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
28884
29577
  @collocation = args[:collocation] if args.key?(:collocation)
28885
29578
  @locality = args[:locality] if args.key?(:locality)
29579
+ @scope = args[:scope] if args.key?(:scope)
28886
29580
  @style = args[:style] if args.key?(:style)
28887
29581
  @vm_count = args[:vm_count] if args.key?(:vm_count)
28888
29582
  end
@@ -28927,12 +29621,19 @@ module Google
28927
29621
  class ResourcePolicyInstanceSchedulePolicy
28928
29622
  include Google::Apis::Core::Hashable
28929
29623
 
28930
- # Schedule for the instance operation.
29624
+ # Specifies the time zone to be used in interpreting Schedule.schedule. The
29625
+ # value of this field must be a time zone name from the tz database: http://en.
29626
+ # wikipedia.org/wiki/Tz_database.
29627
+ # Corresponds to the JSON property `timeZone`
29628
+ # @return [String]
29629
+ attr_accessor :time_zone
29630
+
29631
+ # Schedule for an instance operation.
28931
29632
  # Corresponds to the JSON property `vmStartSchedule`
28932
29633
  # @return [Google::Apis::ComputeAlpha::ResourcePolicyInstanceSchedulePolicySchedule]
28933
29634
  attr_accessor :vm_start_schedule
28934
29635
 
28935
- # Schedule for the instance operation.
29636
+ # Schedule for an instance operation.
28936
29637
  # Corresponds to the JSON property `vmStopSchedule`
28937
29638
  # @return [Google::Apis::ComputeAlpha::ResourcePolicyInstanceSchedulePolicySchedule]
28938
29639
  attr_accessor :vm_stop_schedule
@@ -28943,12 +29644,13 @@ module Google
28943
29644
 
28944
29645
  # Update properties of this object
28945
29646
  def update!(**args)
29647
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
28946
29648
  @vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule)
28947
29649
  @vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule)
28948
29650
  end
28949
29651
  end
28950
29652
 
28951
- # Schedule for the instance operation.
29653
+ # Schedule for an instance operation.
28952
29654
  class ResourcePolicyInstanceSchedulePolicySchedule
28953
29655
  include Google::Apis::Core::Hashable
28954
29656
 
@@ -28957,13 +29659,6 @@ module Google
28957
29659
  # @return [String]
28958
29660
  attr_accessor :schedule
28959
29661
 
28960
- # Specifies the time zone to be used in interpreting Schedule.schedule. The
28961
- # value of this field must be a time zone name from the tz database: http://en.
28962
- # wikipedia.org/wiki/Tz_database.
28963
- # Corresponds to the JSON property `timeZone`
28964
- # @return [String]
28965
- attr_accessor :time_zone
28966
-
28967
29662
  def initialize(**args)
28968
29663
  update!(**args)
28969
29664
  end
@@ -28971,7 +29666,6 @@ module Google
28971
29666
  # Update properties of this object
28972
29667
  def update!(**args)
28973
29668
  @schedule = args[:schedule] if args.key?(:schedule)
28974
- @time_zone = args[:time_zone] if args.key?(:time_zone)
28975
29669
  end
28976
29670
  end
28977
29671
 
@@ -30598,12 +31292,12 @@ module Google
30598
31292
  # @return [String]
30599
31293
  attr_accessor :match
30600
31294
 
30601
- # An integer indicating the priority of a rule in the list. The priority must be
30602
- # a positive value between 0 and 65000. The priority must be unique among rules
30603
- # within a NAT.
30604
- # Corresponds to the JSON property `priority`
31295
+ # An integer uniquely identifying a rule in the list. The rule number must be a
31296
+ # positive value between 0 and 65000, and must be unique among rules within a
31297
+ # NAT.
31298
+ # Corresponds to the JSON property `ruleNumber`
30605
31299
  # @return [Fixnum]
30606
- attr_accessor :priority
31300
+ attr_accessor :rule_number
30607
31301
 
30608
31302
  def initialize(**args)
30609
31303
  update!(**args)
@@ -30614,7 +31308,7 @@ module Google
30614
31308
  @action = args[:action] if args.key?(:action)
30615
31309
  @description = args[:description] if args.key?(:description)
30616
31310
  @match = args[:match] if args.key?(:match)
30617
- @priority = args[:priority] if args.key?(:priority)
31311
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30618
31312
  end
30619
31313
  end
30620
31314
 
@@ -30843,6 +31537,11 @@ module Google
30843
31537
  # @return [Fixnum]
30844
31538
  attr_accessor :num_vm_endpoints_with_nat_mappings
30845
31539
 
31540
+ # Status of rules in this NAT.
31541
+ # Corresponds to the JSON property `ruleStatus`
31542
+ # @return [Array<Google::Apis::ComputeAlpha::RouterStatusNatStatusNatRuleStatus>]
31543
+ attr_accessor :rule_status
31544
+
30846
31545
  # A list of fully qualified URLs of reserved IP address resources.
30847
31546
  # Corresponds to the JSON property `userAllocatedNatIpResources`
30848
31547
  # @return [Array<String>]
@@ -30866,11 +31565,58 @@ module Google
30866
31565
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
30867
31566
  @name = args[:name] if args.key?(:name)
30868
31567
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
31568
+ @rule_status = args[:rule_status] if args.key?(:rule_status)
30869
31569
  @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
30870
31570
  @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
30871
31571
  end
30872
31572
  end
30873
31573
 
31574
+ # Status of a NAT Rule contained in this NAT.
31575
+ class RouterStatusNatStatusNatRuleStatus
31576
+ include Google::Apis::Core::Hashable
31577
+
31578
+ # A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
31579
+ # Corresponds to the JSON property `activeNatIps`
31580
+ # @return [Array<String>]
31581
+ attr_accessor :active_nat_ips
31582
+
31583
+ # A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
31584
+ # 133"].
31585
+ # Corresponds to the JSON property `drainNatIps`
31586
+ # @return [Array<String>]
31587
+ attr_accessor :drain_nat_ips
31588
+
31589
+ # The number of extra IPs to allocate. This will be greater than 0 only if the
31590
+ # existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
31591
+ # use NAT.
31592
+ # Corresponds to the JSON property `minExtraIpsNeeded`
31593
+ # @return [Fixnum]
31594
+ attr_accessor :min_extra_ips_needed
31595
+
31596
+ # Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
31597
+ # Corresponds to the JSON property `numVmEndpointsWithNatMappings`
31598
+ # @return [Fixnum]
31599
+ attr_accessor :num_vm_endpoints_with_nat_mappings
31600
+
31601
+ # Rule number of the rule.
31602
+ # Corresponds to the JSON property `ruleNumber`
31603
+ # @return [Fixnum]
31604
+ attr_accessor :rule_number
31605
+
31606
+ def initialize(**args)
31607
+ update!(**args)
31608
+ end
31609
+
31610
+ # Update properties of this object
31611
+ def update!(**args)
31612
+ @active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
31613
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
31614
+ @min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
31615
+ @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
31616
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
31617
+ end
31618
+ end
31619
+
30874
31620
  #
30875
31621
  class RouterStatusResponse
30876
31622
  include Google::Apis::Core::Hashable
@@ -31156,7 +31902,7 @@ module Google
31156
31902
  # @return [String]
31157
31903
  attr_accessor :device_name
31158
31904
 
31159
- # Represents a customer-supplied encryption key
31905
+ # The encryption key for the disk.
31160
31906
  # Corresponds to the JSON property `diskEncryptionKey`
31161
31907
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
31162
31908
  attr_accessor :disk_encryption_key
@@ -31256,6 +32002,42 @@ module Google
31256
32002
  end
31257
32003
  end
31258
32004
 
32005
+ #
32006
+ class ScalingScheduleStatus
32007
+ include Google::Apis::Core::Hashable
32008
+
32009
+ # [Output Only] The last time the scaling schedule became active. Note: this is
32010
+ # a timestamp when a schedule actually became active, not when it was planned to
32011
+ # do so. The timestamp is an RFC3339 string in RFC3339 text format.
32012
+ # Corresponds to the JSON property `lastStartTime`
32013
+ # @return [String]
32014
+ attr_accessor :last_start_time
32015
+
32016
+ # [Output Only] The next time the scaling schedule will become active. Note:
32017
+ # this is a timestamp when a schedule is planned to run, but the actual time
32018
+ # might be slightly different. The timestamp is an RFC3339 string in RFC3339
32019
+ # text format.
32020
+ # Corresponds to the JSON property `nextStartTime`
32021
+ # @return [String]
32022
+ attr_accessor :next_start_time
32023
+
32024
+ # [Output Only] The current state of a scaling schedule.
32025
+ # Corresponds to the JSON property `state`
32026
+ # @return [String]
32027
+ attr_accessor :state
32028
+
32029
+ def initialize(**args)
32030
+ update!(**args)
32031
+ end
32032
+
32033
+ # Update properties of this object
32034
+ def update!(**args)
32035
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
32036
+ @next_start_time = args[:next_start_time] if args.key?(:next_start_time)
32037
+ @state = args[:state] if args.key?(:state)
32038
+ end
32039
+ end
32040
+
31259
32041
  # Sets the scheduling options for an Instance. NextID: 12
31260
32042
  class Scheduling
31261
32043
  include Google::Apis::Core::Hashable
@@ -31285,18 +32067,6 @@ module Google
31285
32067
  # @return [String]
31286
32068
  attr_accessor :location_hint
31287
32069
 
31288
- # DEPRECATED, please use maintenance_freeze_duration_hours. TODO(b/154158138):
31289
- # Remove this field. Compute Engine Long Term Release. When specified, VMs that
31290
- # have this policy become long term release (internal: stable fleet) VMs.
31291
- # For all VM shapes, this should result in fewer disruptions due to software
31292
- # updates and greater predictability via 1 week extended notifications.
31293
- # For GPU VMs, this should also result in an 2 week uptime guarantee. See go/
31294
- # stable-fleet-gpus-design for more details.
31295
- # Corresponds to the JSON property `longTermRelease`
31296
- # @return [Boolean]
31297
- attr_accessor :long_term_release
31298
- alias_method :long_term_release?, :long_term_release
31299
-
31300
32070
  # Specifies the number of hours after instance creation where the instance won't
31301
32071
  # be scheduled for maintenance.
31302
32072
  # Corresponds to the JSON property `maintenanceFreezeDurationHours`
@@ -31341,7 +32111,6 @@ module Google
31341
32111
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
31342
32112
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
31343
32113
  @location_hint = args[:location_hint] if args.key?(:location_hint)
31344
- @long_term_release = args[:long_term_release] if args.key?(:long_term_release)
31345
32114
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
31346
32115
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
31347
32116
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
@@ -31994,7 +32763,7 @@ module Google
31994
32763
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfigLayer4Config>]
31995
32764
  attr_accessor :layer4_configs
31996
32765
 
31997
- # CIDR IP address range.
32766
+ # CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
31998
32767
  # Corresponds to the JSON property `srcIpRanges`
31999
32768
  # @return [Array<String>]
32000
32769
  attr_accessor :src_ip_ranges
@@ -32080,7 +32849,7 @@ module Google
32080
32849
  class SecurityPolicyRuleRateLimitOptions
32081
32850
  include Google::Apis::Core::Hashable
32082
32851
 
32083
- # Can only be specifed if the action for the rule is "rate_based_blacklist" If
32852
+ # Can only be specified if the action for the rule is "rate_based_blacklist" If
32084
32853
  # specified, determines the time (in seconds) the traffic will continue to be
32085
32854
  # blocked by the rate limit after the rate falls below the threshold. The
32086
32855
  # default value is 0 seconds.
@@ -32153,6 +32922,7 @@ module Google
32153
32922
  # clientTlsPolicy only applies to a global BackendService with the
32154
32923
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
32155
32924
  # If left blank, communications are not encrypted.
32925
+ # Note: This field currently has no impact.
32156
32926
  # Corresponds to the JSON property `clientTlsPolicy`
32157
32927
  # @return [String]
32158
32928
  attr_accessor :client_tls_policy
@@ -32175,6 +32945,7 @@ module Google
32175
32945
  # Only applies to a global BackendService with loadBalancingScheme set to
32176
32946
  # INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached
32177
32947
  # clientTlsPolicy with clientCertificate (mTLS mode).
32948
+ # Note: This field currently has no impact.
32178
32949
  # Corresponds to the JSON property `subjectAltNames`
32179
32950
  # @return [Array<String>]
32180
32951
  attr_accessor :subject_alt_names
@@ -32209,8 +32980,9 @@ module Google
32209
32980
  # @return [String]
32210
32981
  attr_accessor :kind
32211
32982
 
32212
- # [Output Only] The position of the next byte of content from the serial console
32213
- # output. Use this value in the next request as the start parameter.
32983
+ # [Output Only] The position of the next byte of content, regardless of whether
32984
+ # the content exists, following the output returned in the `contents` property.
32985
+ # Use this value in the next request as the start parameter.
32214
32986
  # Corresponds to the JSON property `next`
32215
32987
  # @return [Fixnum]
32216
32988
  attr_accessor :next
@@ -32222,8 +32994,10 @@ module Google
32222
32994
 
32223
32995
  # The starting byte position of the output that was returned. This should match
32224
32996
  # the start parameter sent with the request. If the serial console output
32225
- # exceeds the size of the buffer, older output will be overwritten by newer
32226
- # content and the start values will be mismatched.
32997
+ # exceeds the size of the buffer (1 MB), older output is overwritten by newer
32998
+ # content. The output start value will indicate the byte position of the output
32999
+ # that was returned, which might be different than the `start` value that was
33000
+ # specified in the request.
32227
33001
  # Corresponds to the JSON property `start`
32228
33002
  # @return [Fixnum]
32229
33003
  attr_accessor :start
@@ -32922,6 +33696,12 @@ module Google
32922
33696
  # @return [String]
32923
33697
  attr_accessor :name
32924
33698
 
33699
+ # [Output Only] Specifies whether this snapshot satisfies zone separation.
33700
+ # Corresponds to the JSON property `satisfiesPhysicalZoneSeparation`
33701
+ # @return [Boolean]
33702
+ attr_accessor :satisfies_physical_zone_separation
33703
+ alias_method :satisfies_physical_zone_separation?, :satisfies_physical_zone_separation
33704
+
32925
33705
  # [Output Only] Server-defined URL for the resource.
32926
33706
  # Corresponds to the JSON property `selfLink`
32927
33707
  # @return [String]
@@ -32932,7 +33712,16 @@ module Google
32932
33712
  # @return [String]
32933
33713
  attr_accessor :self_link_with_id
32934
33714
 
32935
- # Represents a customer-supplied encryption key
33715
+ # Encrypts the snapshot using a customer-supplied encryption key.
33716
+ # After you encrypt a snapshot using a customer-supplied key, you must provide
33717
+ # the same key if you use the snapshot later. For example, you must provide the
33718
+ # encryption key when you create a disk from the encrypted snapshot in a future
33719
+ # request.
33720
+ # Customer-supplied encryption keys do not protect access to metadata of the
33721
+ # snapshot.
33722
+ # If you do not provide an encryption key when creating the snapshot, then the
33723
+ # snapshot will be encrypted using an automatically generated key and you do not
33724
+ # need to provide a key to use the snapshot later.
32936
33725
  # Corresponds to the JSON property `snapshotEncryptionKey`
32937
33726
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
32938
33727
  attr_accessor :snapshot_encryption_key
@@ -32942,7 +33731,8 @@ module Google
32942
33731
  # @return [String]
32943
33732
  attr_accessor :source_disk
32944
33733
 
32945
- # Represents a customer-supplied encryption key
33734
+ # The customer-supplied encryption key of the source disk. Required if the
33735
+ # source disk is protected by a customer-supplied encryption key.
32946
33736
  # Corresponds to the JSON property `sourceDiskEncryptionKey`
32947
33737
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
32948
33738
  attr_accessor :source_disk_encryption_key
@@ -33000,6 +33790,7 @@ module Google
33000
33790
  @license_codes = args[:license_codes] if args.key?(:license_codes)
33001
33791
  @licenses = args[:licenses] if args.key?(:licenses)
33002
33792
  @name = args[:name] if args.key?(:name)
33793
+ @satisfies_physical_zone_separation = args[:satisfies_physical_zone_separation] if args.key?(:satisfies_physical_zone_separation)
33003
33794
  @self_link = args[:self_link] if args.key?(:self_link)
33004
33795
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33005
33796
  @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
@@ -33134,7 +33925,8 @@ module Google
33134
33925
  class SourceDiskEncryptionKey
33135
33926
  include Google::Apis::Core::Hashable
33136
33927
 
33137
- # Represents a customer-supplied encryption key
33928
+ # The customer-supplied encryption key of the source disk. Required if the
33929
+ # source disk is protected by a customer-supplied encryption key.
33138
33930
  # Corresponds to the JSON property `diskEncryptionKey`
33139
33931
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
33140
33932
  attr_accessor :disk_encryption_key
@@ -34315,10 +35107,11 @@ module Google
34315
35107
  attr_accessor :id
34316
35108
 
34317
35109
  # The range of internal addresses that are owned by this subnetwork. Provide
34318
- # this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.
34319
- # 168.0.0/16. Ranges must be unique and non-overlapping within a network. Only
34320
- # IPv4 is supported. This field is set at resource creation time. The range can
34321
- # be expanded after creation using expandIpCidrRange.
35110
+ # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
35111
+ # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
35112
+ # IPv4 is supported. This field is set at resource creation time. This may be a
35113
+ # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
35114
+ # to Google. The range can be expanded after creation using expandIpCidrRange.
34322
35115
  # Corresponds to the JSON property `ipCidrRange`
34323
35116
  # @return [String]
34324
35117
  attr_accessor :ip_cidr_range
@@ -34342,7 +35135,8 @@ module Google
34342
35135
 
34343
35136
  # Can only be specified if VPC flow logging for this subnetwork is enabled.
34344
35137
  # Configures whether metadata fields should be added to the reported VPC flow
34345
- # logs. Default is INCLUDE_ALL_METADATA.
35138
+ # logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and
35139
+ # CUSTOM_METADATA. Default is INCLUDE_ALL_METADATA.
34346
35140
  # Corresponds to the JSON property `metadata`
34347
35141
  # @return [String]
34348
35142
  attr_accessor :metadata
@@ -34793,7 +35587,8 @@ module Google
34793
35587
  # The range of IP addresses belonging to this subnetwork secondary range.
34794
35588
  # Provide this property when you create the subnetwork. Ranges must be unique
34795
35589
  # and non-overlapping with all primary and secondary IP ranges within a network.
34796
- # Only IPv4 is supported.
35590
+ # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
35591
+ # RFC 1918 IP range, not belonging to Google.
34797
35592
  # Corresponds to the JSON property `ipCidrRange`
34798
35593
  # @return [String]
34799
35594
  attr_accessor :ip_cidr_range
@@ -35048,7 +35843,7 @@ module Google
35048
35843
  # A target gRPC proxy is a component of load balancers intended for load
35049
35844
  # balancing gRPC traffic. Global forwarding rules reference a target gRPC proxy.
35050
35845
  # The Target gRPC Proxy references a URL map which specifies how traffic routes
35051
- # to gRPC backend services.
35846
+ # to gRPC backend services. (== resource_for `$api_version`.targetGrpcProxies ==)
35052
35847
  class TargetGrpcProxy
35053
35848
  include Google::Apis::Core::Hashable
35054
35849
 
@@ -35115,12 +35910,11 @@ module Google
35115
35910
  # If true, indicates that the BackendServices referenced by the urlMap may be
35116
35911
  # accessed by gRPC applications without using a sidecar proxy. This will enable
35117
35912
  # configuration checks on urlMap and its referenced BackendServices to not allow
35118
- # unsupported features. A gRPC application must use "xds-experimental:///"
35119
- # scheme in the target URI of the service it is connecting to. If false,
35120
- # indicates that the BackendServices referenced by the urlMap will be accessed
35121
- # by gRPC applications via a sidecar proxy. In this case, a gRPC application
35122
- # must not use "xds-experimental:///" scheme in the target URI of the service it
35123
- # is connecting to
35913
+ # unsupported features. A gRPC application must use "xds:///" scheme in the
35914
+ # target URI of the service it is connecting to. If false, indicates that the
35915
+ # BackendServices referenced by the urlMap will be accessed by gRPC applications
35916
+ # via a sidecar proxy. In this case, a gRPC application must not use "xds:///"
35917
+ # scheme in the target URI of the service it is connecting to
35124
35918
  # Corresponds to the JSON property `validateForProxyless`
35125
35919
  # @return [Boolean]
35126
35920
  attr_accessor :validate_for_proxyless
@@ -35888,6 +36682,7 @@ module Google
35888
36682
  # authorizationPolicy only applies to a global TargetHttpsProxy attached to
35889
36683
  # globalForwardingRules with the loadBalancingScheme set to
35890
36684
  # INTERNAL_SELF_MANAGED.
36685
+ # Note: This field currently has no impact.
35891
36686
  # Corresponds to the JSON property `authorizationPolicy`
35892
36687
  # @return [String]
35893
36688
  attr_accessor :authorization_policy
@@ -35975,6 +36770,7 @@ module Google
35975
36770
  # globalForwardingRules with the loadBalancingScheme set to
35976
36771
  # INTERNAL_SELF_MANAGED.
35977
36772
  # If left blank, communications are not encrypted.
36773
+ # Note: This field currently has no impact.
35978
36774
  # Corresponds to the JSON property `serverTlsPolicy`
35979
36775
  # @return [String]
35980
36776
  attr_accessor :server_tls_policy
@@ -36758,7 +37554,7 @@ module Google
36758
37554
 
36759
37555
  # The URL of the HttpHealthCheck resource. A member instance in this pool is
36760
37556
  # considered healthy if and only if the health checks pass. An empty list means
36761
- # all member instances will be considered healthy at all times. Only
37557
+ # all member instances will be considered healthy at all times. Only legacy
36762
37558
  # HttpHealthChecks are supported. Only one health check may be specified.
36763
37559
  # Corresponds to the JSON property `healthChecks`
36764
37560
  # @return [Array<String>]
@@ -38523,13 +39319,13 @@ module Google
38523
39319
  include Google::Apis::Core::Hashable
38524
39320
 
38525
39321
  # [Output Only] The date when the maintenance will take place. This value is in
38526
- # RFC3339 text format.
39322
+ # RFC3339 text format. DEPRECATED: Use start_time_window instead.
38527
39323
  # Corresponds to the JSON property `date`
38528
39324
  # @return [String]
38529
39325
  attr_accessor :date
38530
39326
 
38531
39327
  # [Output Only] The time when the maintenance will take place. This value is in
38532
- # RFC3339 text format.
39328
+ # RFC3339 text format. DEPRECATED: Use start_time_window instead.
38533
39329
  # Corresponds to the JSON property `time`
38534
39330
  # @return [String]
38535
39331
  attr_accessor :time
@@ -38559,6 +39355,10 @@ module Google
38559
39355
  # Traffic Director.
38560
39356
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
38561
39357
  # regionUrlMaps are used by internal HTTP(S) load balancers.
39358
+ # For a list of supported URL map features by load balancer type, see the Load
39359
+ # balancing features: Routing and traffic management table.
39360
+ # For a list of supported URL map features for Traffic Director, see the
39361
+ # Traffic Director features: Routing and traffic management table.
38562
39362
  # This resource defines mappings from host names and URL paths to either a
38563
39363
  # backend service or a backend bucket.
38564
39364
  # To use the global urlMaps resource, the backend service must have a
@@ -38582,6 +39382,9 @@ module Google
38582
39382
  # Only one of defaultRouteAction or defaultUrlRedirect must be set.
38583
39383
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
38584
39384
  # within defaultRouteAction.
39385
+ # defaultRouteAction has no effect when the backend service is referenced by a
39386
+ # URL map that is bound to target gRPC proxy that has validateForProxyless field
39387
+ # set to true.
38585
39388
  # Corresponds to the JSON property `defaultRouteAction`
38586
39389
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
38587
39390
  attr_accessor :default_route_action
@@ -38595,6 +39398,9 @@ module Google
38595
39398
  # specified.
38596
39399
  # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
38597
39400
  # weightedBackendService must be set.
39401
+ # defaultService has no effect when the backend service is referenced by a URL
39402
+ # map that is bound to target gRPC proxy that has validateForProxyless field set
39403
+ # to true.
38598
39404
  # Corresponds to the JSON property `defaultService`
38599
39405
  # @return [String]
38600
39406
  attr_accessor :default_service
@@ -38673,6 +39479,8 @@ module Google
38673
39479
  # The list of expected URL mapping tests. Request to update this UrlMap will
38674
39480
  # succeed only if all of the test cases pass. You can specify a maximum of 100
38675
39481
  # tests per UrlMap.
39482
+ # Not supported when the backend service is referenced by a URL map that is
39483
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
38676
39484
  # Corresponds to the JSON property `tests`
38677
39485
  # @return [Array<Google::Apis::ComputeAlpha::UrlMapTest>]
38678
39486
  attr_accessor :tests
@@ -39155,6 +39963,10 @@ module Google
39155
39963
  # Traffic Director.
39156
39964
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
39157
39965
  # regionUrlMaps are used by internal HTTP(S) load balancers.
39966
+ # For a list of supported URL map features by load balancer type, see the Load
39967
+ # balancing features: Routing and traffic management table.
39968
+ # For a list of supported URL map features for Traffic Director, see the
39969
+ # Traffic Director features: Routing and traffic management table.
39158
39970
  # This resource defines mappings from host names and URL paths to either a
39159
39971
  # backend service or a backend bucket.
39160
39972
  # To use the global urlMaps resource, the backend service must have a
@@ -39496,6 +40308,11 @@ module Google
39496
40308
  # @return [Fixnum]
39497
40309
  attr_accessor :num_total_nat_ports
39498
40310
 
40311
+ # Information about mappings provided by rules in this NAT.
40312
+ # Corresponds to the JSON property `ruleMappings`
40313
+ # @return [Array<Google::Apis::ComputeAlpha::VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings>]
40314
+ attr_accessor :rule_mappings
40315
+
39499
40316
  # Alias IP range for this interface endpoint. It will be a private (RFC 1918) IP
39500
40317
  # range. Examples: "10.33.4.55/32", or "192.168.5.0/24".
39501
40318
  # Corresponds to the JSON property `sourceAliasIpRange`
@@ -39517,11 +40334,62 @@ module Google
39517
40334
  @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
39518
40335
  @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
39519
40336
  @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
40337
+ @rule_mappings = args[:rule_mappings] if args.key?(:rule_mappings)
39520
40338
  @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
39521
40339
  @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)
39522
40340
  end
39523
40341
  end
39524
40342
 
40343
+ # Contains information of NAT Mappings provided by a NAT Rule.
40344
+ class VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings
40345
+ include Google::Apis::Core::Hashable
40346
+
40347
+ # List of all drain IP:port-range mappings assigned to this interface by this
40348
+ # rule. These ranges are inclusive, that is, both the first and the last ports
40349
+ # can be used for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
40350
+ # Corresponds to the JSON property `drainNatIpPortRanges`
40351
+ # @return [Array<String>]
40352
+ attr_accessor :drain_nat_ip_port_ranges
40353
+
40354
+ # A list of all IP:port-range mappings assigned to this interface by this rule.
40355
+ # These ranges are inclusive, that is, both the first and the last ports can be
40356
+ # used for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
40357
+ # Corresponds to the JSON property `natIpPortRanges`
40358
+ # @return [Array<String>]
40359
+ attr_accessor :nat_ip_port_ranges
40360
+
40361
+ # Total number of drain ports across all NAT IPs allocated to this interface by
40362
+ # this rule. It equals the aggregated port number in the field
40363
+ # drain_nat_ip_port_ranges.
40364
+ # Corresponds to the JSON property `numTotalDrainNatPorts`
40365
+ # @return [Fixnum]
40366
+ attr_accessor :num_total_drain_nat_ports
40367
+
40368
+ # Total number of ports across all NAT IPs allocated to this interface by this
40369
+ # rule. It equals the aggregated port number in the field nat_ip_port_ranges.
40370
+ # Corresponds to the JSON property `numTotalNatPorts`
40371
+ # @return [Fixnum]
40372
+ attr_accessor :num_total_nat_ports
40373
+
40374
+ # Rule number of the NAT Rule.
40375
+ # Corresponds to the JSON property `ruleNumber`
40376
+ # @return [Fixnum]
40377
+ attr_accessor :rule_number
40378
+
40379
+ def initialize(**args)
40380
+ update!(**args)
40381
+ end
40382
+
40383
+ # Update properties of this object
40384
+ def update!(**args)
40385
+ @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
40386
+ @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
40387
+ @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
40388
+ @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
40389
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
40390
+ end
40391
+ end
40392
+
39525
40393
  # Contains a list of VmEndpointNatMappings.
39526
40394
  class VmEndpointNatMappingsList
39527
40395
  include Google::Apis::Core::Hashable
@@ -40115,6 +40983,14 @@ module Google
40115
40983
  # @return [Fixnum]
40116
40984
  attr_accessor :id
40117
40985
 
40986
+ # URL of the interconnect attachment resource. When the value of this field is
40987
+ # present, the VPN Gateway will be used for IPsec over Interconnect; all Egress
40988
+ # or Ingress traffic for this VPN Gateway interface will go through the
40989
+ # specified interconnect attachment resource.
40990
+ # Corresponds to the JSON property `interconnectAttachment`
40991
+ # @return [String]
40992
+ attr_accessor :interconnect_attachment
40993
+
40118
40994
  # [Output Only] The external IP address for this VPN gateway interface.
40119
40995
  # Corresponds to the JSON property `ipAddress`
40120
40996
  # @return [String]
@@ -40127,6 +41003,7 @@ module Google
40127
41003
  # Update properties of this object
40128
41004
  def update!(**args)
40129
41005
  @id = args[:id] if args.key?(:id)
41006
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
40130
41007
  @ip_address = args[:ip_address] if args.key?(:ip_address)
40131
41008
  end
40132
41009
  end
@@ -40242,7 +41119,7 @@ module Google
40242
41119
  end
40243
41120
 
40244
41121
  # Represents a Cloud VPN Tunnel resource.
40245
- # For more information about VPN, read the the Cloud VPN Overview. (==
41122
+ # For more information about VPN, read the the Cloud VPN Overview. (==
40246
41123
  # resource_for `$api_version`.vpnTunnels ==)
40247
41124
  class VpnTunnel
40248
41125
  include Google::Apis::Core::Hashable
@@ -41091,6 +41968,12 @@ module Google
41091
41968
  # @return [String]
41092
41969
  attr_accessor :status
41093
41970
 
41971
+ # [Output Only] Specifies whether this zone supports physical zone separation.
41972
+ # Corresponds to the JSON property `supportsPhysicalZoneSeparation`
41973
+ # @return [Boolean]
41974
+ attr_accessor :supports_physical_zone_separation
41975
+ alias_method :supports_physical_zone_separation?, :supports_physical_zone_separation
41976
+
41094
41977
  def initialize(**args)
41095
41978
  update!(**args)
41096
41979
  end
@@ -41107,6 +41990,7 @@ module Google
41107
41990
  @region = args[:region] if args.key?(:region)
41108
41991
  @self_link = args[:self_link] if args.key?(:self_link)
41109
41992
  @status = args[:status] if args.key?(:status)
41993
+ @supports_physical_zone_separation = args[:supports_physical_zone_separation] if args.key?(:supports_physical_zone_separation)
41110
41994
  end
41111
41995
  end
41112
41996