google-api-client 0.37.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +401 -0
  3. data/api_list_config.yaml +2 -0
  4. data/api_names.yaml +2 -0
  5. data/bin/generate-api +9 -1
  6. data/generated/google/apis/accessapproval_v1.rb +1 -1
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +244 -56
  9. data/generated/google/apis/accesscontextmanager_v1/representations.rb +105 -6
  10. data/generated/google/apis/accesscontextmanager_v1/service.rb +143 -5
  11. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  12. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +26 -97
  13. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -22
  14. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +6 -5
  15. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +10 -3
  17. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  19. data/generated/google/apis/admin_directory_v1/classes.rb +0 -147
  20. data/generated/google/apis/admin_directory_v1/representations.rb +0 -54
  21. data/generated/google/apis/admin_directory_v1/service.rb +0 -60
  22. data/generated/google/apis/admin_directory_v1.rb +1 -1
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsensehost_v4_1/service.rb +5 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/alertcenter_v1beta1/classes.rb +8 -8
  27. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  28. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -2
  29. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  30. data/generated/google/apis/androidenterprise_v1/classes.rb +2 -2
  31. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  32. data/generated/google/apis/androidmanagement_v1/service.rb +2 -2
  33. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  34. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  35. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  36. data/generated/google/apis/androidpublisher_v3/classes.rb +195 -2
  37. data/generated/google/apis/androidpublisher_v3/representations.rb +89 -0
  38. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  39. data/generated/google/apis/appengine_v1.rb +1 -1
  40. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  41. data/generated/google/apis/appengine_v1beta.rb +1 -1
  42. data/generated/google/apis/bigquery_v2/classes.rb +224 -5
  43. data/generated/google/apis/bigquery_v2/representations.rb +65 -0
  44. data/generated/google/apis/bigquery_v2.rb +1 -1
  45. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  46. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  47. data/generated/google/apis/bigqueryreservation_v1/classes.rb +413 -0
  48. data/generated/google/apis/bigqueryreservation_v1/representations.rb +194 -0
  49. data/generated/google/apis/bigqueryreservation_v1/service.rb +745 -0
  50. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  51. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  52. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +160 -9
  53. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +72 -0
  54. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +131 -14
  55. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  56. data/generated/google/apis/bigtableadmin_v1/classes.rb +20 -17
  57. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  58. data/generated/google/apis/bigtableadmin_v2/classes.rb +26 -21
  59. data/generated/google/apis/bigtableadmin_v2/service.rb +93 -53
  60. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  61. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +2 -2
  62. data/generated/google/apis/billingbudgets_v1beta1/service.rb +11 -0
  63. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  64. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  65. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  66. data/generated/google/apis/blogger_v2/classes.rb +297 -45
  67. data/generated/google/apis/blogger_v2/representations.rb +105 -26
  68. data/generated/google/apis/blogger_v2/service.rb +79 -134
  69. data/generated/google/apis/blogger_v2.rb +5 -4
  70. data/generated/google/apis/blogger_v3/classes.rb +60 -53
  71. data/generated/google/apis/blogger_v3/representations.rb +10 -18
  72. data/generated/google/apis/blogger_v3/service.rb +183 -463
  73. data/generated/google/apis/blogger_v3.rb +4 -3
  74. data/generated/google/apis/books_v1/classes.rb +86 -0
  75. data/generated/google/apis/books_v1/representations.rb +37 -0
  76. data/generated/google/apis/books_v1.rb +1 -1
  77. data/generated/google/apis/calendar_v3/classes.rb +1 -14
  78. data/generated/google/apis/calendar_v3.rb +1 -1
  79. data/generated/google/apis/chat_v1/classes.rb +14 -3
  80. data/generated/google/apis/chat_v1/representations.rb +1 -0
  81. data/generated/google/apis/chat_v1.rb +1 -1
  82. data/generated/google/apis/classroom_v1.rb +1 -1
  83. data/generated/google/apis/cloudasset_v1/classes.rb +178 -123
  84. data/generated/google/apis/cloudasset_v1/representations.rb +20 -6
  85. data/generated/google/apis/cloudasset_v1/service.rb +2 -2
  86. data/generated/google/apis/cloudasset_v1.rb +1 -1
  87. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  88. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +669 -0
  89. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +199 -0
  90. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +187 -0
  91. data/generated/google/apis/cloudasset_v1p1beta1.rb +34 -0
  92. data/generated/google/apis/cloudbuild_v1/classes.rb +35 -1
  93. data/generated/google/apis/cloudbuild_v1/representations.rb +4 -0
  94. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  95. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +17 -0
  96. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +2 -0
  97. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -5
  98. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  99. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +17 -0
  100. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +2 -0
  101. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  102. data/generated/google/apis/clouddebugger_v2/classes.rb +8 -0
  103. data/generated/google/apis/clouddebugger_v2/service.rb +1 -1
  104. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  105. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +1 -1
  106. data/generated/google/apis/clouderrorreporting_v1beta1.rb +2 -2
  107. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  108. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  109. data/generated/google/apis/cloudidentity_v1/classes.rb +0 -560
  110. data/generated/google/apis/cloudidentity_v1/representations.rb +0 -226
  111. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  112. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +238 -148
  113. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +109 -63
  114. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -2
  115. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  116. data/generated/google/apis/cloudiot_v1.rb +1 -1
  117. data/generated/google/apis/cloudkms_v1.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -0
  119. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  120. data/generated/google/apis/cloudsearch_v1/classes.rb +52 -52
  121. data/generated/google/apis/cloudsearch_v1/service.rb +12 -0
  122. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  123. data/generated/google/apis/cloudshell_v1.rb +1 -1
  124. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  125. data/generated/google/apis/cloudtasks_v2/classes.rb +30 -0
  126. data/generated/google/apis/cloudtasks_v2/representations.rb +15 -0
  127. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  128. data/generated/google/apis/cloudtasks_v2beta2/service.rb +6 -1
  129. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  130. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  131. data/generated/google/apis/cloudtrace_v1/service.rb +4 -4
  132. data/generated/google/apis/cloudtrace_v1.rb +5 -5
  133. data/generated/google/apis/cloudtrace_v2/service.rb +4 -4
  134. data/generated/google/apis/cloudtrace_v2.rb +5 -5
  135. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +143 -0
  136. data/generated/google/apis/{oauth2_v1 → cloudtrace_v2beta1}/representations.rb +36 -27
  137. data/generated/google/apis/cloudtrace_v2beta1/service.rb +258 -0
  138. data/generated/google/apis/cloudtrace_v2beta1.rb +44 -0
  139. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +2 -2
  140. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  141. data/generated/google/apis/composer_v1/classes.rb +178 -0
  142. data/generated/google/apis/composer_v1/representations.rb +54 -0
  143. data/generated/google/apis/composer_v1.rb +1 -1
  144. data/generated/google/apis/composer_v1beta1/classes.rb +37 -6
  145. data/generated/google/apis/composer_v1beta1/representations.rb +4 -0
  146. data/generated/google/apis/composer_v1beta1.rb +1 -1
  147. data/generated/google/apis/compute_alpha/classes.rb +1510 -353
  148. data/generated/google/apis/compute_alpha/representations.rb +319 -32
  149. data/generated/google/apis/compute_alpha/service.rb +4471 -2784
  150. data/generated/google/apis/compute_alpha.rb +1 -1
  151. data/generated/google/apis/compute_beta/classes.rb +917 -260
  152. data/generated/google/apis/compute_beta/representations.rb +247 -16
  153. data/generated/google/apis/compute_beta/service.rb +3370 -2229
  154. data/generated/google/apis/compute_beta.rb +1 -1
  155. data/generated/google/apis/compute_v1/classes.rb +960 -152
  156. data/generated/google/apis/compute_v1/representations.rb +326 -0
  157. data/generated/google/apis/compute_v1/service.rb +3155 -2026
  158. data/generated/google/apis/compute_v1.rb +1 -1
  159. data/generated/google/apis/container_v1/classes.rb +268 -90
  160. data/generated/google/apis/container_v1/representations.rb +70 -0
  161. data/generated/google/apis/container_v1/service.rb +118 -118
  162. data/generated/google/apis/container_v1.rb +1 -1
  163. data/generated/google/apis/container_v1beta1/classes.rb +136 -142
  164. data/generated/google/apis/container_v1beta1/representations.rb +25 -51
  165. data/generated/google/apis/container_v1beta1/service.rb +2 -2
  166. data/generated/google/apis/container_v1beta1.rb +1 -1
  167. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  168. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  169. data/generated/google/apis/content_v2/classes.rb +1078 -141
  170. data/generated/google/apis/content_v2/service.rb +3 -1
  171. data/generated/google/apis/content_v2.rb +1 -1
  172. data/generated/google/apis/content_v2_1/classes.rb +1068 -164
  173. data/generated/google/apis/content_v2_1/representations.rb +102 -0
  174. data/generated/google/apis/content_v2_1/service.rb +146 -1
  175. data/generated/google/apis/content_v2_1.rb +1 -1
  176. data/generated/google/apis/customsearch_v1/classes.rb +1194 -353
  177. data/generated/google/apis/customsearch_v1/representations.rb +166 -95
  178. data/generated/google/apis/customsearch_v1/service.rb +373 -104
  179. data/generated/google/apis/customsearch_v1.rb +3 -3
  180. data/generated/google/apis/datacatalog_v1beta1/classes.rb +30 -14
  181. data/generated/google/apis/datacatalog_v1beta1/representations.rb +2 -0
  182. data/generated/google/apis/datacatalog_v1beta1/service.rb +206 -41
  183. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  184. data/generated/google/apis/dataflow_v1b3/classes.rb +260 -0
  185. data/generated/google/apis/dataflow_v1b3/representations.rb +115 -0
  186. data/generated/google/apis/dataflow_v1b3/service.rb +327 -0
  187. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  188. data/generated/google/apis/datafusion_v1beta1/classes.rb +27 -1
  189. data/generated/google/apis/datafusion_v1beta1/representations.rb +15 -0
  190. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  191. data/generated/google/apis/dataproc_v1/classes.rb +155 -4
  192. data/generated/google/apis/dataproc_v1/representations.rb +46 -0
  193. data/generated/google/apis/dataproc_v1/service.rb +72 -15
  194. data/generated/google/apis/dataproc_v1.rb +1 -1
  195. data/generated/google/apis/dataproc_v1beta2/classes.rb +205 -6
  196. data/generated/google/apis/dataproc_v1beta2/representations.rb +81 -0
  197. data/generated/google/apis/dataproc_v1beta2/service.rb +148 -15
  198. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  199. data/generated/google/apis/datastore_v1.rb +1 -1
  200. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  201. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  202. data/generated/google/apis/dfareporting_v3_3/classes.rb +19 -13
  203. data/generated/google/apis/dfareporting_v3_3/service.rb +5 -4
  204. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  205. data/generated/google/apis/dfareporting_v3_4/classes.rb +152 -22
  206. data/generated/google/apis/dfareporting_v3_4/representations.rb +46 -1
  207. data/generated/google/apis/dfareporting_v3_4/service.rb +5 -4
  208. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  209. data/generated/google/apis/dialogflow_v2/classes.rb +160 -360
  210. data/generated/google/apis/dialogflow_v2/representations.rb +1 -95
  211. data/generated/google/apis/dialogflow_v2/service.rb +478 -303
  212. data/generated/google/apis/dialogflow_v2.rb +1 -1
  213. data/generated/google/apis/dialogflow_v2beta1/classes.rb +162 -363
  214. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -95
  215. data/generated/google/apis/dialogflow_v2beta1/service.rb +172 -924
  216. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  217. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  218. data/generated/google/apis/displayvideo_v1/classes.rb +382 -0
  219. data/generated/google/apis/displayvideo_v1/representations.rb +167 -0
  220. data/generated/google/apis/displayvideo_v1/service.rb +176 -0
  221. data/generated/google/apis/displayvideo_v1.rb +38 -0
  222. data/generated/google/apis/dlp_v2/classes.rb +515 -2
  223. data/generated/google/apis/dlp_v2/representations.rb +212 -0
  224. data/generated/google/apis/dlp_v2/service.rb +119 -0
  225. data/generated/google/apis/dlp_v2.rb +1 -1
  226. data/generated/google/apis/docs_v1/classes.rb +22 -0
  227. data/generated/google/apis/docs_v1/representations.rb +3 -0
  228. data/generated/google/apis/docs_v1.rb +1 -1
  229. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  230. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  231. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  232. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -1
  233. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +9 -2
  234. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  235. data/generated/google/apis/doubleclicksearch_v2/service.rb +0 -55
  236. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  237. data/generated/google/apis/drive_v2/classes.rb +54 -2
  238. data/generated/google/apis/drive_v2/representations.rb +18 -0
  239. data/generated/google/apis/drive_v2/service.rb +81 -9
  240. data/generated/google/apis/drive_v2.rb +1 -1
  241. data/generated/google/apis/drive_v3/classes.rb +54 -2
  242. data/generated/google/apis/drive_v3/representations.rb +18 -0
  243. data/generated/google/apis/drive_v3/service.rb +37 -4
  244. data/generated/google/apis/drive_v3.rb +1 -1
  245. data/generated/google/apis/driveactivity_v2.rb +1 -1
  246. data/generated/google/apis/file_v1/classes.rb +4 -161
  247. data/generated/google/apis/file_v1/representations.rb +0 -34
  248. data/generated/google/apis/file_v1/service.rb +1 -1
  249. data/generated/google/apis/file_v1.rb +1 -1
  250. data/generated/google/apis/file_v1beta1/classes.rb +4 -161
  251. data/generated/google/apis/file_v1beta1/representations.rb +0 -34
  252. data/generated/google/apis/file_v1beta1.rb +1 -1
  253. data/generated/google/apis/firebase_v1beta1/service.rb +11 -8
  254. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  255. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  256. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +6 -6
  257. data/generated/google/apis/firebasehosting_v1beta1/service.rb +762 -3
  258. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  259. data/generated/google/apis/firebaserules_v1.rb +1 -1
  260. data/generated/google/apis/firestore_v1/classes.rb +11 -2
  261. data/generated/google/apis/firestore_v1/representations.rb +2 -0
  262. data/generated/google/apis/firestore_v1/service.rb +2 -2
  263. data/generated/google/apis/firestore_v1.rb +1 -1
  264. data/generated/google/apis/firestore_v1beta1/classes.rb +11 -2
  265. data/generated/google/apis/firestore_v1beta1/representations.rb +2 -0
  266. data/generated/google/apis/firestore_v1beta1/service.rb +2 -2
  267. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  268. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  269. data/generated/google/apis/fitness_v1/classes.rb +10 -5
  270. data/generated/google/apis/fitness_v1/service.rb +14 -10
  271. data/generated/google/apis/fitness_v1.rb +1 -1
  272. data/generated/google/apis/games_configuration_v1configuration/classes.rb +39 -53
  273. data/generated/google/apis/games_configuration_v1configuration/service.rb +58 -169
  274. data/generated/google/apis/games_configuration_v1configuration.rb +4 -3
  275. data/generated/google/apis/games_management_v1management/classes.rb +7 -0
  276. data/generated/google/apis/games_management_v1management/representations.rb +1 -0
  277. data/generated/google/apis/games_management_v1management.rb +1 -1
  278. data/generated/google/apis/games_v1/classes.rb +13 -0
  279. data/generated/google/apis/games_v1/representations.rb +2 -0
  280. data/generated/google/apis/games_v1.rb +1 -1
  281. data/generated/google/apis/gameservices_v1beta/classes.rb +2342 -0
  282. data/generated/google/apis/gameservices_v1beta/representations.rb +971 -0
  283. data/generated/google/apis/gameservices_v1beta/service.rb +1469 -0
  284. data/generated/google/apis/gameservices_v1beta.rb +34 -0
  285. data/generated/google/apis/genomics_v1.rb +1 -1
  286. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  287. data/generated/google/apis/genomics_v2alpha1/service.rb +34 -0
  288. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  289. data/generated/google/apis/gmail_v1/classes.rb +258 -199
  290. data/generated/google/apis/gmail_v1/service.rb +552 -744
  291. data/generated/google/apis/gmail_v1.rb +3 -2
  292. data/generated/google/apis/healthcare_v1/classes.rb +2639 -0
  293. data/generated/google/apis/healthcare_v1/representations.rb +1114 -0
  294. data/generated/google/apis/healthcare_v1/service.rb +3470 -0
  295. data/generated/google/apis/{toolresults_v1.rb → healthcare_v1.rb} +11 -8
  296. data/generated/google/apis/healthcare_v1beta1/classes.rb +576 -26
  297. data/generated/google/apis/healthcare_v1beta1/representations.rb +236 -1
  298. data/generated/google/apis/healthcare_v1beta1/service.rb +147 -18
  299. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  300. data/generated/google/apis/homegraph_v1/classes.rb +67 -63
  301. data/generated/google/apis/homegraph_v1/service.rb +43 -47
  302. data/generated/google/apis/homegraph_v1.rb +1 -1
  303. data/generated/google/apis/iam_v1.rb +1 -1
  304. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  305. data/generated/google/apis/iap_v1/classes.rb +190 -0
  306. data/generated/google/apis/iap_v1/representations.rb +66 -0
  307. data/generated/google/apis/iap_v1.rb +1 -1
  308. data/generated/google/apis/iap_v1beta1.rb +1 -1
  309. data/generated/google/apis/indexing_v3.rb +1 -1
  310. data/generated/google/apis/jobs_v2.rb +1 -1
  311. data/generated/google/apis/jobs_v3.rb +1 -1
  312. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  313. data/generated/google/apis/language_v1/classes.rb +6 -6
  314. data/generated/google/apis/language_v1.rb +1 -1
  315. data/generated/google/apis/language_v1beta1/classes.rb +5 -5
  316. data/generated/google/apis/language_v1beta1.rb +1 -1
  317. data/generated/google/apis/language_v1beta2/classes.rb +8 -7
  318. data/generated/google/apis/language_v1beta2.rb +1 -1
  319. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  320. data/generated/google/apis/logging_v2/classes.rb +108 -38
  321. data/generated/google/apis/logging_v2/representations.rb +33 -2
  322. data/generated/google/apis/logging_v2/service.rb +689 -10
  323. data/generated/google/apis/logging_v2.rb +6 -7
  324. data/generated/google/apis/managedidentities_v1/classes.rb +1571 -0
  325. data/generated/google/apis/managedidentities_v1/representations.rb +560 -0
  326. data/generated/google/apis/managedidentities_v1/service.rb +779 -0
  327. data/generated/google/apis/managedidentities_v1.rb +35 -0
  328. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +1570 -0
  329. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +560 -0
  330. data/generated/google/apis/managedidentities_v1alpha1/service.rb +782 -0
  331. data/generated/google/apis/managedidentities_v1alpha1.rb +35 -0
  332. data/generated/google/apis/managedidentities_v1beta1/classes.rb +1568 -0
  333. data/generated/google/apis/managedidentities_v1beta1/representations.rb +560 -0
  334. data/generated/google/apis/managedidentities_v1beta1/service.rb +778 -0
  335. data/generated/google/apis/managedidentities_v1beta1.rb +35 -0
  336. data/generated/google/apis/manufacturers_v1/classes.rb +7 -0
  337. data/generated/google/apis/manufacturers_v1/representations.rb +1 -0
  338. data/generated/google/apis/manufacturers_v1.rb +1 -1
  339. data/generated/google/apis/memcache_v1beta2/classes.rb +1575 -0
  340. data/generated/google/apis/memcache_v1beta2/representations.rb +557 -0
  341. data/generated/google/apis/memcache_v1beta2/service.rb +674 -0
  342. data/generated/google/apis/memcache_v1beta2.rb +35 -0
  343. data/generated/google/apis/ml_v1/classes.rb +1021 -56
  344. data/generated/google/apis/ml_v1/representations.rb +481 -0
  345. data/generated/google/apis/ml_v1/service.rb +491 -0
  346. data/generated/google/apis/ml_v1.rb +1 -1
  347. data/generated/google/apis/monitoring_v1/classes.rb +54 -15
  348. data/generated/google/apis/monitoring_v1/representations.rb +3 -0
  349. data/generated/google/apis/monitoring_v1/service.rb +7 -8
  350. data/generated/google/apis/monitoring_v1.rb +7 -8
  351. data/generated/google/apis/monitoring_v3/classes.rb +311 -35
  352. data/generated/google/apis/monitoring_v3/representations.rb +128 -0
  353. data/generated/google/apis/monitoring_v3/service.rb +79 -35
  354. data/generated/google/apis/monitoring_v3.rb +7 -8
  355. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +1856 -0
  356. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +661 -0
  357. data/generated/google/apis/networkmanagement_v1beta1/service.rb +664 -0
  358. data/generated/google/apis/{cloudprivatecatalog_v1beta1.rb → networkmanagement_v1beta1.rb} +9 -9
  359. data/generated/google/apis/oauth2_v2/classes.rb +1 -81
  360. data/generated/google/apis/oauth2_v2/representations.rb +2 -36
  361. data/generated/google/apis/oauth2_v2/service.rb +10 -42
  362. data/generated/google/apis/oauth2_v2.rb +5 -5
  363. data/generated/google/apis/osconfig_v1/classes.rb +1223 -0
  364. data/generated/google/apis/osconfig_v1/representations.rb +506 -0
  365. data/generated/google/apis/osconfig_v1/service.rb +386 -0
  366. data/generated/google/apis/{mirror_v1.rb → osconfig_v1.rb} +11 -13
  367. data/generated/google/apis/osconfig_v1beta/classes.rb +10 -2
  368. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  369. data/generated/google/apis/oslogin_v1.rb +1 -1
  370. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  371. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  372. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  373. data/generated/google/apis/people_v1/classes.rb +30 -12
  374. data/generated/google/apis/people_v1/representations.rb +1 -0
  375. data/generated/google/apis/people_v1/service.rb +12 -24
  376. data/generated/google/apis/people_v1.rb +1 -1
  377. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +4 -3
  378. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +282 -0
  379. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  380. data/generated/google/apis/pubsub_v1/classes.rb +25 -17
  381. data/generated/google/apis/pubsub_v1/service.rb +23 -22
  382. data/generated/google/apis/pubsub_v1.rb +1 -1
  383. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  384. data/generated/google/apis/pubsub_v1beta2/classes.rb +5 -2
  385. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  386. data/generated/google/apis/recommender_v1beta1/classes.rb +212 -1
  387. data/generated/google/apis/recommender_v1beta1/representations.rb +96 -0
  388. data/generated/google/apis/recommender_v1beta1/service.rb +123 -0
  389. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  390. data/generated/google/apis/redis_v1/classes.rb +30 -7
  391. data/generated/google/apis/redis_v1/representations.rb +13 -0
  392. data/generated/google/apis/redis_v1/service.rb +36 -0
  393. data/generated/google/apis/redis_v1.rb +1 -1
  394. data/generated/google/apis/redis_v1beta1/classes.rb +11 -7
  395. data/generated/google/apis/redis_v1beta1.rb +1 -1
  396. data/generated/google/apis/remotebuildexecution_v1/classes.rb +171 -37
  397. data/generated/google/apis/remotebuildexecution_v1/representations.rb +28 -0
  398. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  399. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +171 -37
  400. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +28 -0
  401. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  402. data/generated/google/apis/remotebuildexecution_v2/classes.rb +181 -45
  403. data/generated/google/apis/remotebuildexecution_v2/representations.rb +29 -0
  404. data/generated/google/apis/remotebuildexecution_v2/service.rb +5 -1
  405. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  406. data/generated/google/apis/run_v1/classes.rb +138 -13
  407. data/generated/google/apis/run_v1/representations.rb +61 -0
  408. data/generated/google/apis/run_v1/service.rb +346 -0
  409. data/generated/google/apis/run_v1.rb +1 -1
  410. data/generated/google/apis/run_v1alpha1/classes.rb +431 -280
  411. data/generated/google/apis/run_v1alpha1/representations.rb +156 -105
  412. data/generated/google/apis/run_v1alpha1/service.rb +874 -448
  413. data/generated/google/apis/run_v1alpha1.rb +1 -1
  414. data/generated/google/apis/run_v1beta1.rb +1 -1
  415. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  416. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  417. data/generated/google/apis/sasportal_v1alpha1/classes.rb +4 -3
  418. data/generated/google/apis/sasportal_v1alpha1/service.rb +282 -0
  419. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  420. data/generated/google/apis/script_v1.rb +1 -1
  421. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/classes.rb +478 -761
  422. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/representations.rb +105 -116
  423. data/generated/google/apis/secretmanager_v1/service.rb +678 -0
  424. data/generated/google/apis/secretmanager_v1.rb +35 -0
  425. data/generated/google/apis/secretmanager_v1beta1/service.rb +5 -2
  426. data/generated/google/apis/secretmanager_v1beta1.rb +3 -3
  427. data/generated/google/apis/securitycenter_v1/classes.rb +293 -117
  428. data/generated/google/apis/securitycenter_v1/representations.rb +61 -0
  429. data/generated/google/apis/securitycenter_v1/service.rb +205 -9
  430. data/generated/google/apis/securitycenter_v1.rb +4 -4
  431. data/generated/google/apis/securitycenter_v1beta1/classes.rb +292 -107
  432. data/generated/google/apis/securitycenter_v1beta1/representations.rb +54 -2
  433. data/generated/google/apis/securitycenter_v1beta1/service.rb +39 -39
  434. data/generated/google/apis/securitycenter_v1beta1.rb +4 -4
  435. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +237 -54
  436. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +52 -0
  437. data/generated/google/apis/securitycenter_v1p1alpha1/service.rb +3 -3
  438. data/generated/google/apis/securitycenter_v1p1alpha1.rb +4 -4
  439. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +279 -80
  440. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +52 -0
  441. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +23 -9
  442. data/generated/google/apis/securitycenter_v1p1beta1.rb +4 -4
  443. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +105 -13
  444. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +18 -0
  445. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  446. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +4170 -0
  447. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1308 -0
  448. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +428 -0
  449. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1.rb → serviceconsumermanagement_v1beta1.rb} +8 -9
  450. data/generated/google/apis/servicecontrol_v1/classes.rb +2 -2
  451. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  452. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +800 -0
  453. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +304 -0
  454. data/generated/google/apis/servicedirectory_v1beta1/service.rb +992 -0
  455. data/generated/google/apis/{proximitybeacon_v1beta1.rb → servicedirectory_v1beta1.rb} +11 -10
  456. data/generated/google/apis/servicemanagement_v1/classes.rb +135 -7
  457. data/generated/google/apis/servicemanagement_v1/representations.rb +19 -0
  458. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  459. data/generated/google/apis/servicenetworking_v1/classes.rb +254 -6
  460. data/generated/google/apis/servicenetworking_v1/representations.rb +91 -0
  461. data/generated/google/apis/servicenetworking_v1/service.rb +53 -21
  462. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  463. data/generated/google/apis/servicenetworking_v1beta/classes.rb +205 -6
  464. data/generated/google/apis/servicenetworking_v1beta/representations.rb +74 -0
  465. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  466. data/generated/google/apis/serviceusage_v1/classes.rb +180 -13
  467. data/generated/google/apis/serviceusage_v1/representations.rb +62 -0
  468. data/generated/google/apis/serviceusage_v1/service.rb +42 -0
  469. data/generated/google/apis/serviceusage_v1.rb +1 -1
  470. data/generated/google/apis/serviceusage_v1beta1/classes.rb +407 -13
  471. data/generated/google/apis/serviceusage_v1beta1/representations.rb +150 -0
  472. data/generated/google/apis/serviceusage_v1beta1/service.rb +472 -0
  473. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  474. data/generated/google/apis/sheets_v4/classes.rb +2 -2
  475. data/generated/google/apis/sheets_v4.rb +1 -1
  476. data/generated/google/apis/slides_v1.rb +1 -1
  477. data/generated/google/apis/spanner_v1/classes.rb +501 -12
  478. data/generated/google/apis/spanner_v1/representations.rb +193 -0
  479. data/generated/google/apis/spanner_v1/service.rb +498 -10
  480. data/generated/google/apis/spanner_v1.rb +1 -1
  481. data/generated/google/apis/speech_v1/classes.rb +7 -3
  482. data/generated/google/apis/speech_v1/representations.rb +1 -0
  483. data/generated/google/apis/speech_v1.rb +1 -1
  484. data/generated/google/apis/speech_v1p1beta1/classes.rb +7 -3
  485. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  486. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  487. data/generated/google/apis/speech_v2beta1/classes.rb +7 -0
  488. data/generated/google/apis/speech_v2beta1/representations.rb +1 -0
  489. data/generated/google/apis/speech_v2beta1.rb +1 -1
  490. data/generated/google/apis/sql_v1beta4/classes.rb +3 -3
  491. data/generated/google/apis/sql_v1beta4/service.rb +54 -384
  492. data/generated/google/apis/sql_v1beta4.rb +1 -1
  493. data/generated/google/apis/storage_v1/classes.rb +18 -0
  494. data/generated/google/apis/storage_v1/representations.rb +2 -0
  495. data/generated/google/apis/storage_v1/service.rb +28 -3
  496. data/generated/google/apis/storage_v1.rb +1 -1
  497. data/generated/google/apis/storagetransfer_v1/classes.rb +279 -87
  498. data/generated/google/apis/storagetransfer_v1/representations.rb +52 -0
  499. data/generated/google/apis/storagetransfer_v1/service.rb +17 -11
  500. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  501. data/generated/google/apis/streetviewpublish_v1/service.rb +1 -1
  502. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  503. data/generated/google/apis/tagmanager_v1.rb +1 -1
  504. data/generated/google/apis/tagmanager_v2.rb +1 -1
  505. data/generated/google/apis/testing_v1/classes.rb +36 -1
  506. data/generated/google/apis/testing_v1/representations.rb +16 -0
  507. data/generated/google/apis/testing_v1.rb +1 -1
  508. data/generated/google/apis/texttospeech_v1.rb +1 -1
  509. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  510. data/generated/google/apis/toolresults_v1beta3/classes.rb +217 -0
  511. data/generated/google/apis/toolresults_v1beta3/representations.rb +84 -0
  512. data/generated/google/apis/toolresults_v1beta3/service.rb +76 -29
  513. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  514. data/generated/google/apis/tpu_v1.rb +1 -1
  515. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  516. data/generated/google/apis/translate_v3/classes.rb +6 -3
  517. data/generated/google/apis/translate_v3.rb +1 -1
  518. data/generated/google/apis/translate_v3beta1.rb +1 -1
  519. data/generated/google/apis/vault_v1.rb +1 -1
  520. data/generated/google/apis/videointelligence_v1/classes.rb +757 -17
  521. data/generated/google/apis/videointelligence_v1/representations.rb +356 -0
  522. data/generated/google/apis/videointelligence_v1.rb +1 -1
  523. data/generated/google/apis/videointelligence_v1beta2/classes.rb +757 -17
  524. data/generated/google/apis/videointelligence_v1beta2/representations.rb +356 -0
  525. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  526. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +757 -17
  527. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +356 -0
  528. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  529. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +757 -17
  530. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +356 -0
  531. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  532. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +757 -17
  533. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +356 -0
  534. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  535. data/generated/google/apis/vision_v1/classes.rb +1 -1
  536. data/generated/google/apis/vision_v1.rb +1 -1
  537. data/generated/google/apis/vision_v1p1beta1/classes.rb +1 -1
  538. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  539. data/generated/google/apis/vision_v1p2beta1/classes.rb +1 -1
  540. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  541. data/generated/google/apis/websecurityscanner_v1/classes.rb +6 -0
  542. data/generated/google/apis/websecurityscanner_v1/representations.rb +1 -0
  543. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  544. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +6 -0
  545. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +1 -0
  546. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  547. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  548. data/generated/google/apis/youtube_v3/classes.rb +79 -33
  549. data/generated/google/apis/youtube_v3/representations.rb +33 -4
  550. data/generated/google/apis/youtube_v3.rb +4 -1
  551. data/lib/google/apis/core/api_command.rb +4 -0
  552. data/lib/google/apis/generator/annotator.rb +1 -1
  553. data/lib/google/apis/version.rb +1 -1
  554. metadata +60 -27
  555. data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +0 -358
  556. data/generated/google/apis/cloudprivatecatalog_v1beta1/representations.rb +0 -123
  557. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +0 -486
  558. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +0 -1081
  559. data/generated/google/apis/mirror_v1/classes.rb +0 -1072
  560. data/generated/google/apis/mirror_v1/representations.rb +0 -390
  561. data/generated/google/apis/mirror_v1/service.rb +0 -928
  562. data/generated/google/apis/oauth2_v1/classes.rb +0 -197
  563. data/generated/google/apis/oauth2_v1/service.rb +0 -160
  564. data/generated/google/apis/oauth2_v1.rb +0 -40
  565. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +0 -845
  566. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +0 -350
  567. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +0 -933
  568. data/generated/google/apis/toolresults_v1/classes.rb +0 -696
  569. data/generated/google/apis/toolresults_v1/representations.rb +0 -438
  570. data/generated/google/apis/toolresults_v1/service.rb +0 -59
@@ -1228,8 +1228,7 @@ module Google
1228
1228
  # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1229
1229
  # the request will fail if you attempt to attach a persistent disk in any other
1230
1230
  # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1231
- # characteristics of SCSI over NVMe, see Local SSD performance. TODO(b/131765817)
1232
- # : Update documentation when NVME is supported.
1231
+ # characteristics of SCSI over NVMe, see Local SSD performance.
1233
1232
  # Corresponds to the JSON property `interface`
1234
1233
  # @return [String]
1235
1234
  attr_accessor :interface
@@ -1251,6 +1250,12 @@ module Google
1251
1250
  # @return [String]
1252
1251
  attr_accessor :mode
1253
1252
 
1253
+ # Initial State for shielded instance, these are public keys which are safe to
1254
+ # store in public
1255
+ # Corresponds to the JSON property `shieldedInstanceInitialState`
1256
+ # @return [Google::Apis::ComputeBeta::InitialStateConfig]
1257
+ attr_accessor :shielded_instance_initial_state
1258
+
1254
1259
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1255
1260
  # When creating a new instance, one of initializeParams.sourceImage or
1256
1261
  # initializeParams.sourceSnapshot or disks.source is required except for local
@@ -1287,6 +1292,7 @@ module Google
1287
1292
  @kind = args[:kind] if args.key?(:kind)
1288
1293
  @licenses = args[:licenses] if args.key?(:licenses)
1289
1294
  @mode = args[:mode] if args.key?(:mode)
1295
+ @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
1290
1296
  @source = args[:source] if args.key?(:source)
1291
1297
  @type = args[:type] if args.key?(:type)
1292
1298
  end
@@ -1306,8 +1312,9 @@ module Google
1306
1312
  attr_accessor :description
1307
1313
 
1308
1314
  # Specifies the disk name. If not specified, the default is to use the name of
1309
- # the instance. If the disk with the instance name exists already in the given
1310
- # zone/region, a new name will be automatically generated.
1315
+ # the instance. If a disk with the same name already exists in the given region,
1316
+ # the existing disk is attached to the new instance and the new disk is not
1317
+ # created.
1311
1318
  # Corresponds to the JSON property `diskName`
1312
1319
  # @return [String]
1313
1320
  attr_accessor :disk_name
@@ -1351,6 +1358,12 @@ module Google
1351
1358
  # @return [Hash<String,String>]
1352
1359
  attr_accessor :labels
1353
1360
 
1361
+ # Specifies which action to take on instance update with this disk. Default is
1362
+ # to use the existing disk.
1363
+ # Corresponds to the JSON property `onUpdateAction`
1364
+ # @return [String]
1365
+ attr_accessor :on_update_action
1366
+
1354
1367
  # Resource policies applied to this disk for automatic snapshot creations.
1355
1368
  # Specified using the full or partial URL. For instance template, specify only
1356
1369
  # the resource policy name.
@@ -1412,6 +1425,7 @@ module Google
1412
1425
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1413
1426
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1414
1427
  @labels = args[:labels] if args.key?(:labels)
1428
+ @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1415
1429
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1416
1430
  @source_image = args[:source_image] if args.key?(:source_image)
1417
1431
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
@@ -1527,8 +1541,8 @@ module Google
1527
1541
 
1528
1542
  # Represents an Autoscaler resource.
1529
1543
  # Google Compute Engine has two Autoscaler resources:
1530
- # * [Global](/compute/docs/reference/rest/latest/autoscalers) * [Regional](/
1531
- # compute/docs/reference/rest/latest/regionAutoscalers)
1544
+ # * [Global](/compute/docs/reference/rest/`$api_version`/autoscalers) * [
1545
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionAutoscalers)
1532
1546
  # Use autoscalers to automatically add or delete instances from a managed
1533
1547
  # instance group according to your defined autoscaling policy. For more
1534
1548
  # information, read Autoscaling Groups of Instances.
@@ -2257,39 +2271,11 @@ module Google
2257
2271
  # @return [Google::Apis::ComputeBeta::FixedOrPercent]
2258
2272
  attr_accessor :max_scaled_down_replicas
2259
2273
 
2260
- # A Duration represents a signed, fixed-length span of time represented as a
2261
- # count of seconds and fractions of seconds at nanosecond resolution. It is
2262
- # independent of any calendar and concepts like "day" or "month". It is related
2263
- # to Timestamp in that the difference between two Timestamp values is a Duration
2264
- # and it can be added or subtracted from a Timestamp. Range is approximately +-
2265
- # 10,000 years.
2266
- # # Examples
2267
- # Example 1: Compute Duration from two Timestamps in pseudo code.
2268
- # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
2269
- # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos -
2270
- # start.nanos;
2271
- # if (duration.seconds 0) ` duration.seconds += 1; duration.nanos -= 1000000000;
2272
- # ` else if (duration.seconds > 0 && duration.nanos < 0) ` duration.seconds -=
2273
- # 1; duration.nanos += 1000000000; `
2274
- # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
2275
- # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
2276
- # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos +
2277
- # duration.nanos;
2278
- # if (end.nanos = 1000000000) ` end.seconds += 1; end.nanos -= 1000000000; `
2279
- # Example 3: Compute Duration from datetime.timedelta in Python.
2280
- # td = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.
2281
- # FromTimedelta(td)
2282
- # # JSON Mapping
2283
- # In JSON format, the Duration type is encoded as a string rather than an object,
2284
- # where the string ends in the suffix "s" (indicating seconds) and is preceded
2285
- # by the number of seconds, with nanoseconds expressed as fractional seconds.
2286
- # For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "
2287
- # 3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.
2288
- # 000000001s", and 3 seconds and 1 microsecond should be expressed in JSON
2289
- # format as "3.000001s".
2290
- # Corresponds to the JSON property `timeWindow`
2291
- # @return [Google::Apis::ComputeBeta::GoogleDuration]
2292
- attr_accessor :time_window
2274
+ # How long back autoscaling should look when computing recommendations to
2275
+ # include directives regarding slower scale down, as described above.
2276
+ # Corresponds to the JSON property `timeWindowSec`
2277
+ # @return [Fixnum]
2278
+ attr_accessor :time_window_sec
2293
2279
 
2294
2280
  def initialize(**args)
2295
2281
  update!(**args)
@@ -2298,7 +2284,7 @@ module Google
2298
2284
  # Update properties of this object
2299
2285
  def update!(**args)
2300
2286
  @max_scaled_down_replicas = args[:max_scaled_down_replicas] if args.key?(:max_scaled_down_replicas)
2301
- @time_window = args[:time_window] if args.key?(:time_window)
2287
+ @time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec)
2302
2288
  end
2303
2289
  end
2304
2290
 
@@ -2317,8 +2303,8 @@ module Google
2317
2303
  # service is SSL, TCP, or UDP.
2318
2304
  # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and
2319
2305
  # TCP Proxy load balancers), you must also specify exactly one of the following
2320
- # parameters: maxConnections, maxConnectionsPerInstance, or
2321
- # maxConnectionsPerEndpoint.
2306
+ # parameters: maxConnections (except for regional managed instance groups),
2307
+ # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2322
2308
  # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2323
2309
  # UDP load balancers), you cannot specify any additional parameters.
2324
2310
  #
@@ -2326,10 +2312,11 @@ module Google
2326
2312
  # HTTP requests per second (RPS).
2327
2313
  # You can use the RATE balancing mode if the protocol for the backend service is
2328
2314
  # HTTP or HTTPS. You must specify exactly one of the following parameters:
2329
- # maxRate, maxRatePerInstance, or maxRatePerEndpoint.
2315
+ # maxRate (except for regional managed instance groups), maxRatePerInstance, or
2316
+ # maxRatePerEndpoint.
2330
2317
  #
2331
2318
  # - If the load balancing mode is UTILIZATION, the load is spread based on the
2332
- # CPU utilization of instances in an instance group.
2319
+ # backend utilization of instances in an instance group.
2333
2320
  # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2334
2321
  # backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and
2335
2322
  # the backends are instance groups. There are no restrictions on the backend
@@ -2379,12 +2366,13 @@ module Google
2379
2366
  # @return [String]
2380
2367
  attr_accessor :group
2381
2368
 
2382
- # Defines a maximum target for simultaneous connections for the entire backend (
2383
- # instance group or NEG). If the backend's balancingMode is UTILIZATION, this is
2384
- # an optional parameter. If the backend's balancingMode is CONNECTION, and
2385
- # backend is attached to a backend service whose loadBalancingScheme is EXTERNAL,
2386
- # you must specify either this parameter, maxConnectionsPerInstance, or
2387
- # maxConnectionsPerEndpoint.
2369
+ # Defines a target maximum number of simultaneous connections that the backend
2370
+ # can handle. Valid for network endpoint group and instance group backends (
2371
+ # except for regional managed instance groups). If the backend's balancingMode
2372
+ # is UTILIZATION, this is an optional parameter. If the backend's balancingMode
2373
+ # is CONNECTION, and backend is attached to a backend service whose
2374
+ # loadBalancingScheme is EXTERNAL, you must specify either this parameter,
2375
+ # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2388
2376
  # Not available if the backend's balancingMode is RATE. If the
2389
2377
  # loadBalancingScheme is INTERNAL, then maxConnections is not supported, even
2390
2378
  # though the backend requires a balancing mode of CONNECTION.
@@ -2392,8 +2380,8 @@ module Google
2392
2380
  # @return [Fixnum]
2393
2381
  attr_accessor :max_connections
2394
2382
 
2395
- # Defines a maximum target for simultaneous connections for an endpoint of a NEG.
2396
- # This is multiplied by the number of endpoints in the NEG to implicitly
2383
+ # Defines a target maximum number of simultaneous connections for an endpoint of
2384
+ # a NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2397
2385
  # calculate a maximum number of target maximum simultaneous connections for the
2398
2386
  # NEG. If the backend's balancingMode is CONNECTION, and the backend is attached
2399
2387
  # to a backend service whose loadBalancingScheme is EXTERNAL, you must specify
@@ -2405,8 +2393,8 @@ module Google
2405
2393
  # @return [Fixnum]
2406
2394
  attr_accessor :max_connections_per_endpoint
2407
2395
 
2408
- # Defines a maximum target for simultaneous connections for a single VM in a
2409
- # backend instance group. This is multiplied by the number of instances in the
2396
+ # Defines a target maximum number of simultaneous connections for a single VM in
2397
+ # a backend instance group. This is multiplied by the number of instances in the
2410
2398
  # instance group to implicitly calculate a target maximum number of simultaneous
2411
2399
  # connections for the whole instance group. If the backend's balancingMode is
2412
2400
  # UTILIZATION, this is an optional parameter. If the backend's balancingMode is
@@ -2420,10 +2408,15 @@ module Google
2420
2408
  # @return [Fixnum]
2421
2409
  attr_accessor :max_connections_per_instance
2422
2410
 
2423
- # The max requests per second (RPS) of the group. Can be used with either RATE
2424
- # or UTILIZATION balancing modes, but required if RATE mode. For RATE mode,
2425
- # either maxRate or maxRatePerInstance must be set.
2426
- # This cannot be used for internal load balancing.
2411
+ # Defines a maximum number of HTTP requests per second (RPS) that the backend
2412
+ # can handle. Valid for network endpoint group and instance group backends (
2413
+ # except for regional managed instance groups). Must not be defined if the
2414
+ # backend is a managed instance group that uses autoscaling based on load
2415
+ # balancing.
2416
+ # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2417
+ # If the backend's balancingMode is RATE, you must specify maxRate,
2418
+ # maxRatePerInstance, or maxRatePerEndpoint.
2419
+ # Not available if the backend's balancingMode is CONNECTION.
2427
2420
  # Corresponds to the JSON property `maxRate`
2428
2421
  # @return [Fixnum]
2429
2422
  attr_accessor :max_rate
@@ -2432,7 +2425,7 @@ module Google
2432
2425
  # NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2433
2426
  # calculate a target maximum rate for the NEG.
2434
2427
  # If the backend's balancingMode is RATE, you must specify either this parameter,
2435
- # maxRate, or maxRatePerInstance.
2428
+ # maxRate (except for regional managed instance groups), or maxRatePerInstance.
2436
2429
  # Not available if the backend's balancingMode is CONNECTION.
2437
2430
  # Corresponds to the JSON property `maxRatePerEndpoint`
2438
2431
  # @return [Float]
@@ -2444,17 +2437,18 @@ module Google
2444
2437
  # instance group.
2445
2438
  # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2446
2439
  # If the backend's balancingMode is RATE, you must specify either this parameter,
2447
- # maxRate, or maxRatePerEndpoint.
2440
+ # maxRate (except for regional managed instance groups), or maxRatePerEndpoint.
2448
2441
  # Not available if the backend's balancingMode is CONNECTION.
2449
2442
  # Corresponds to the JSON property `maxRatePerInstance`
2450
2443
  # @return [Float]
2451
2444
  attr_accessor :max_rate_per_instance
2452
2445
 
2453
- # Defines the maximum average CPU utilization of a backend VM in an instance
2446
+ # Defines the maximum average backend utilization of a backend VM in an instance
2454
2447
  # group. The valid range is [0.0, 1.0]. This is an optional parameter if the
2455
2448
  # backend's balancingMode is UTILIZATION.
2456
2449
  # This parameter can be used in conjunction with maxRate, maxRatePerInstance,
2457
- # maxConnections, or maxConnectionsPerInstance.
2450
+ # maxConnections (except for regional managed instance groups), or
2451
+ # maxConnectionsPerInstance.
2458
2452
  # Corresponds to the JSON property `maxUtilization`
2459
2453
  # @return [Float]
2460
2454
  attr_accessor :max_utilization
@@ -2709,8 +2703,8 @@ module Google
2709
2703
  # balancing services.
2710
2704
  # Backend services in Google Compute Engine can be either regionally or globally
2711
2705
  # scoped.
2712
- # * [Global](/compute/docs/reference/rest/latest/backendServices) * [Regional](/
2713
- # compute/docs/reference/rest/latest/regionBackendServices)
2706
+ # * [Global](/compute/docs/reference/rest/`$api_version`/backendServices) * [
2707
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionBackendServices)
2714
2708
  # For more information, read Backend Services.
2715
2709
  # (== resource_for `$api_version`.backendService ==)
2716
2710
  class BackendService
@@ -2770,8 +2764,13 @@ module Google
2770
2764
  attr_accessor :enable_cdn
2771
2765
  alias_method :enable_cdn?, :enable_cdn
2772
2766
 
2773
- # Applicable only to Failover for Internal TCP/UDP Load Balancing. Requires at
2774
- # least one backend instance group to be defined as a backup (failover) backend.
2767
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
2768
+ # or failback, this field indicates whether connection draining will be honored.
2769
+ # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
2770
+ # terminates existing TCP connections to the active pool during failover and
2771
+ # failback, immediately draining traffic. A setting of false allows existing TCP
2772
+ # connections to persist, even on VMs no longer in the active pool, for up to
2773
+ # the duration of the connection draining timeout (10 minutes).
2775
2774
  # Corresponds to the JSON property `failoverPolicy`
2776
2775
  # @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy]
2777
2776
  attr_accessor :failover_policy
@@ -2788,15 +2787,13 @@ module Google
2788
2787
  # @return [String]
2789
2788
  attr_accessor :fingerprint
2790
2789
 
2791
- # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
2792
- # health checking this BackendService. Currently at most one health check can be
2793
- # specified. Health check is optional for Compute Engine backend services if
2794
- # there is no backend. A health check must not be specified when adding Internet
2795
- # Network Endpoint Group or Serverless Network Endpoint Group as backends. In
2796
- # all other cases, a health check is required for Compute Engine backend
2797
- # services.
2798
- # For internal load balancing, a URL to a HealthCheck resource must be specified
2799
- # instead.
2790
+ # The list of URLs to the healthChecks, httpHealthChecks (legacy), or
2791
+ # httpsHealthChecks (legacy) resource for health checking this backend service.
2792
+ # Not all backend services support legacy health checks. See Load balancer
2793
+ # guide. Currently at most one health check can be specified. Backend services
2794
+ # with instance group or zonal NEG backends must have a health check. Backend
2795
+ # services with internet NEG backends must not have a health check. A health
2796
+ # check must
2800
2797
  # Corresponds to the JSON property `healthChecks`
2801
2798
  # @return [Array<String>]
2802
2799
  attr_accessor :health_checks
@@ -2895,9 +2892,9 @@ module Google
2895
2892
 
2896
2893
  # A named port on a backend instance group representing the port for
2897
2894
  # communication to the backend VMs in that group. Required when the
2898
- # loadBalancingScheme is EXTERNAL and the backends are instance groups. The
2899
- # named port must be defined on each backend instance group. This parameter has
2900
- # no meaning if the backends are NEGs.
2895
+ # loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
2896
+ # and the backends are instance groups. The named port must be defined on each
2897
+ # backend instance group. This parameter has no meaning if the backends are NEGs.
2901
2898
  # Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP
2902
2899
  # Load Blaancing).
2903
2900
  # Corresponds to the JSON property `portName`
@@ -2905,7 +2902,7 @@ module Google
2905
2902
  attr_accessor :port_name
2906
2903
 
2907
2904
  # The protocol this BackendService uses to communicate with backends.
2908
- # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2905
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP. depending on the
2909
2906
  # chosen load balancer or Traffic Director configuration. Refer to the
2910
2907
  # documentation for the load balancer or for Traffic Director for more
2911
2908
  # information.
@@ -2927,6 +2924,11 @@ module Google
2927
2924
  # @return [String]
2928
2925
  attr_accessor :security_policy
2929
2926
 
2927
+ # The authentication and authorization settings for a BackendService.
2928
+ # Corresponds to the JSON property `securitySettings`
2929
+ # @return [Google::Apis::ComputeBeta::SecuritySettings]
2930
+ attr_accessor :security_settings
2931
+
2930
2932
  # [Output Only] Server-defined URL for the resource.
2931
2933
  # Corresponds to the JSON property `selfLink`
2932
2934
  # @return [String]
@@ -2986,6 +2988,7 @@ module Google
2986
2988
  @protocol = args[:protocol] if args.key?(:protocol)
2987
2989
  @region = args[:region] if args.key?(:region)
2988
2990
  @security_policy = args[:security_policy] if args.key?(:security_policy)
2991
+ @security_settings = args[:security_settings] if args.key?(:security_settings)
2989
2992
  @self_link = args[:self_link] if args.key?(:self_link)
2990
2993
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
2991
2994
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -3147,7 +3150,13 @@ module Google
3147
3150
  end
3148
3151
  end
3149
3152
 
3150
- #
3153
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
3154
+ # or failback, this field indicates whether connection draining will be honored.
3155
+ # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
3156
+ # terminates existing TCP connections to the active pool during failover and
3157
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3158
+ # connections to persist, even on VMs no longer in the active pool, for up to
3159
+ # the duration of the connection draining timeout (10 minutes).
3151
3160
  class BackendServiceFailoverPolicy
3152
3161
  include Google::Apis::Core::Hashable
3153
3162
 
@@ -3774,9 +3783,26 @@ module Google
3774
3783
  class Binding
3775
3784
  include Google::Apis::Core::Hashable
3776
3785
 
3777
- # Represents an expression text. Example:
3778
- # title: "User account presence" description: "Determines whether the request
3779
- # has a user account" expression: "size(request.user) > 0"
3786
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
3787
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
3788
+ # documented at https://github.com/google/cel-spec.
3789
+ # Example (Comparison):
3790
+ # title: "Summary size limit" description: "Determines if a summary is less than
3791
+ # 100 chars" expression: "document.summary.size() < 100"
3792
+ # Example (Equality):
3793
+ # title: "Requestor is owner" description: "Determines if requestor is the
3794
+ # document owner" expression: "document.owner == request.auth.claims.email"
3795
+ # Example (Logic):
3796
+ # title: "Public documents" description: "Determine whether the document should
3797
+ # be publicly visible" expression: "document.type != 'private' && document.type !
3798
+ # = 'internal'"
3799
+ # Example (Data Manipulation):
3800
+ # title: "Notification string" description: "Create a notification string with a
3801
+ # timestamp." expression: "'New message received at ' + string(document.
3802
+ # create_time)"
3803
+ # The exact variables and functions that may be referenced within an expression
3804
+ # are determined by the service that evaluates it. See the service documentation
3805
+ # for additional information.
3780
3806
  # Corresponds to the JSON property `condition`
3781
3807
  # @return [Google::Apis::ComputeBeta::Expr]
3782
3808
  attr_accessor :condition
@@ -4769,8 +4795,8 @@ module Google
4769
4795
 
4770
4796
  # Represents a Persistent Disk resource.
4771
4797
  # Google Compute Engine has two Disk resources:
4772
- # * [Global](/compute/docs/reference/rest/latest/disks) * [Regional](/compute/
4773
- # docs/reference/rest/latest/regionDisks)
4798
+ # * [Zonal](/compute/docs/reference/rest/`$api_version`/disks) * [Regional](/
4799
+ # compute/docs/reference/rest/`$api_version`/regionDisks)
4774
4800
  # Persistent disks are required for running your VM instances. Create both boot
4775
4801
  # and non-boot (data) persistent disks. For more information, read Persistent
4776
4802
  # Disks. For more storage options, read Storage options.
@@ -5371,8 +5397,8 @@ module Google
5371
5397
 
5372
5398
  # Represents a Disk Type resource.
5373
5399
  # Google Compute Engine has two Disk Type resources:
5374
- # * [Global](/compute/docs/reference/rest/latest/diskTypes) * [Regional](/
5375
- # compute/docs/reference/rest/latest/regionDiskTypes)
5400
+ # * [Regional](/compute/docs/reference/rest/`$api_version`/regionDiskTypes) * [
5401
+ # Zonal](/compute/docs/reference/rest/`$api_version`/diskTypes)
5376
5402
  # You can choose from a variety of disk types based on your needs. For more
5377
5403
  # information, read Storage options.
5378
5404
  # The diskTypes resource represents disk types for a zonal persistent disk. For
@@ -6195,33 +6221,48 @@ module Google
6195
6221
  end
6196
6222
  end
6197
6223
 
6198
- # Represents an expression text. Example:
6199
- # title: "User account presence" description: "Determines whether the request
6200
- # has a user account" expression: "size(request.user) > 0"
6224
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
6225
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
6226
+ # documented at https://github.com/google/cel-spec.
6227
+ # Example (Comparison):
6228
+ # title: "Summary size limit" description: "Determines if a summary is less than
6229
+ # 100 chars" expression: "document.summary.size() < 100"
6230
+ # Example (Equality):
6231
+ # title: "Requestor is owner" description: "Determines if requestor is the
6232
+ # document owner" expression: "document.owner == request.auth.claims.email"
6233
+ # Example (Logic):
6234
+ # title: "Public documents" description: "Determine whether the document should
6235
+ # be publicly visible" expression: "document.type != 'private' && document.type !
6236
+ # = 'internal'"
6237
+ # Example (Data Manipulation):
6238
+ # title: "Notification string" description: "Create a notification string with a
6239
+ # timestamp." expression: "'New message received at ' + string(document.
6240
+ # create_time)"
6241
+ # The exact variables and functions that may be referenced within an expression
6242
+ # are determined by the service that evaluates it. See the service documentation
6243
+ # for additional information.
6201
6244
  class Expr
6202
6245
  include Google::Apis::Core::Hashable
6203
6246
 
6204
- # An optional description of the expression. This is a longer text which
6205
- # describes the expression, e.g. when hovered over it in a UI.
6247
+ # Optional. Description of the expression. This is a longer text which describes
6248
+ # the expression, e.g. when hovered over it in a UI.
6206
6249
  # Corresponds to the JSON property `description`
6207
6250
  # @return [String]
6208
6251
  attr_accessor :description
6209
6252
 
6210
6253
  # Textual representation of an expression in Common Expression Language syntax.
6211
- # The application context of the containing message determines which well-known
6212
- # feature set of CEL is supported.
6213
6254
  # Corresponds to the JSON property `expression`
6214
6255
  # @return [String]
6215
6256
  attr_accessor :expression
6216
6257
 
6217
- # An optional string indicating the location of the expression for error
6218
- # reporting, e.g. a file name and a position in the file.
6258
+ # Optional. String indicating the location of the expression for error reporting,
6259
+ # e.g. a file name and a position in the file.
6219
6260
  # Corresponds to the JSON property `location`
6220
6261
  # @return [String]
6221
6262
  attr_accessor :location
6222
6263
 
6223
- # An optional title for the expression, i.e. a short string describing its
6224
- # purpose. This can be used e.g. in UIs which allow to enter the expression.
6264
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
6265
+ # This can be used e.g. in UIs which allow to enter the expression.
6225
6266
  # Corresponds to the JSON property `title`
6226
6267
  # @return [String]
6227
6268
  attr_accessor :title
@@ -6490,6 +6531,32 @@ module Google
6490
6531
  end
6491
6532
  end
6492
6533
 
6534
+ #
6535
+ class FileContentBuffer
6536
+ include Google::Apis::Core::Hashable
6537
+
6538
+ # The raw content in the secure keys file.
6539
+ # Corresponds to the JSON property `content`
6540
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
6541
+ # @return [String]
6542
+ attr_accessor :content
6543
+
6544
+ #
6545
+ # Corresponds to the JSON property `fileType`
6546
+ # @return [String]
6547
+ attr_accessor :file_type
6548
+
6549
+ def initialize(**args)
6550
+ update!(**args)
6551
+ end
6552
+
6553
+ # Update properties of this object
6554
+ def update!(**args)
6555
+ @content = args[:content] if args.key?(:content)
6556
+ @file_type = args[:file_type] if args.key?(:file_type)
6557
+ end
6558
+ end
6559
+
6493
6560
  # Represents a Firewall Rule resource.
6494
6561
  # Firewall rules allow or deny ingress traffic to, and egress traffic from your
6495
6562
  # instances. For more information, read Firewall rules.
@@ -6944,8 +7011,8 @@ module Google
6944
7011
 
6945
7012
  # Represents a Forwarding Rule resource.
6946
7013
  # Forwarding rule resources in GCP can be either regional or global in scope:
6947
- # * [Global](/compute/docs/reference/rest/latest/globalForwardingRules) * [
6948
- # Regional](/compute/docs/reference/rest/latest/forwardingRules)
7014
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalForwardingRules) *
7015
+ # [Regional](/compute/docs/reference/rest/`$api_version`/forwardingRules)
6949
7016
  # A forwarding rule and its corresponding IP address represent the frontend
6950
7017
  # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6951
7018
  # also reference target instances and Cloud VPN Classic gateways (
@@ -7101,7 +7168,7 @@ module Google
7101
7168
  # - Internal TCP/UDP load balancers
7102
7169
  # - INTERNAL_MANAGED is used for:
7103
7170
  # - Internal HTTP(S) load balancers
7104
- # - >INTERNAL_SELF_MANAGED is used for:
7171
+ # - INTERNAL_SELF_MANAGED is used for:
7105
7172
  # - Traffic Director
7106
7173
  # For more information about forwarding rules, refer to Forwarding rule concepts.
7107
7174
  # Corresponds to the JSON property `loadBalancingScheme`
@@ -7146,7 +7213,7 @@ module Google
7146
7213
  attr_accessor :network
7147
7214
 
7148
7215
  # This signifies the networking tier used for configuring this load balancer and
7149
- # can only take the following values: PREMIUM , STANDARD.
7216
+ # can only take the following values: PREMIUM, STANDARD.
7150
7217
  # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For
7151
7218
  # GlobalForwardingRule, the valid value is PREMIUM.
7152
7219
  # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is
@@ -7759,66 +7826,6 @@ module Google
7759
7826
  end
7760
7827
  end
7761
7828
 
7762
- # A Duration represents a signed, fixed-length span of time represented as a
7763
- # count of seconds and fractions of seconds at nanosecond resolution. It is
7764
- # independent of any calendar and concepts like "day" or "month". It is related
7765
- # to Timestamp in that the difference between two Timestamp values is a Duration
7766
- # and it can be added or subtracted from a Timestamp. Range is approximately +-
7767
- # 10,000 years.
7768
- # # Examples
7769
- # Example 1: Compute Duration from two Timestamps in pseudo code.
7770
- # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
7771
- # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos -
7772
- # start.nanos;
7773
- # if (duration.seconds 0) ` duration.seconds += 1; duration.nanos -= 1000000000;
7774
- # ` else if (duration.seconds > 0 && duration.nanos < 0) ` duration.seconds -=
7775
- # 1; duration.nanos += 1000000000; `
7776
- # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
7777
- # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
7778
- # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos +
7779
- # duration.nanos;
7780
- # if (end.nanos = 1000000000) ` end.seconds += 1; end.nanos -= 1000000000; `
7781
- # Example 3: Compute Duration from datetime.timedelta in Python.
7782
- # td = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.
7783
- # FromTimedelta(td)
7784
- # # JSON Mapping
7785
- # In JSON format, the Duration type is encoded as a string rather than an object,
7786
- # where the string ends in the suffix "s" (indicating seconds) and is preceded
7787
- # by the number of seconds, with nanoseconds expressed as fractional seconds.
7788
- # For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "
7789
- # 3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.
7790
- # 000000001s", and 3 seconds and 1 microsecond should be expressed in JSON
7791
- # format as "3.000001s".
7792
- class GoogleDuration
7793
- include Google::Apis::Core::Hashable
7794
-
7795
- # Signed fractions of a second at nanosecond resolution of the span of time.
7796
- # Durations less than one second are represented with a 0 `seconds` field and a
7797
- # positive or negative `nanos` field. For durations of one second or more, a non-
7798
- # zero value for the `nanos` field must be of the same sign as the `seconds`
7799
- # field. Must be from -999,999,999 to +999,999,999 inclusive.
7800
- # Corresponds to the JSON property `nanos`
7801
- # @return [Fixnum]
7802
- attr_accessor :nanos
7803
-
7804
- # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,
7805
- # 000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/
7806
- # hr * 24 hr/day * 365.25 days/year * 10000 years
7807
- # Corresponds to the JSON property `seconds`
7808
- # @return [Fixnum]
7809
- attr_accessor :seconds
7810
-
7811
- def initialize(**args)
7812
- update!(**args)
7813
- end
7814
-
7815
- # Update properties of this object
7816
- def update!(**args)
7817
- @nanos = args[:nanos] if args.key?(:nanos)
7818
- @seconds = args[:seconds] if args.key?(:seconds)
7819
- end
7820
- end
7821
-
7822
7829
  # A guest attributes entry.
7823
7830
  class GuestAttributes
7824
7831
  include Google::Apis::Core::Hashable
@@ -8152,8 +8159,8 @@ module Google
8152
8159
 
8153
8160
  # Represents a Health Check resource.
8154
8161
  # Google Compute Engine has two Health Check resources:
8155
- # * [Global](/compute/docs/reference/rest/latest/healthChecks) * [Regional](/
8156
- # compute/docs/reference/rest/latest/regionHealthChecks)
8162
+ # * [Global](/compute/docs/reference/rest/`$api_version`/healthChecks) * [
8163
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionHealthChecks)
8157
8164
  # Internal HTTP(S) load balancers use regional health checks. All other types of
8158
8165
  # GCP load balancers and managed instance group auto-healing use global health
8159
8166
  # checks. For more information, read Health Check Concepts.
@@ -8591,6 +8598,31 @@ module Google
8591
8598
  end
8592
8599
  end
8593
8600
 
8601
+ # A full or valid partial URL to a health check service. For example, the
8602
+ # following are valid URLs:
8603
+ # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
8604
+ # healthCheckServices/health-check-service
8605
+ # - projects/project-id/regions/us-west1/healthCheckServices/health-check-
8606
+ # service
8607
+ # - regions/us-west1/healthCheckServices/health-check-service
8608
+ class HealthCheckServiceReference
8609
+ include Google::Apis::Core::Hashable
8610
+
8611
+ #
8612
+ # Corresponds to the JSON property `healthCheckService`
8613
+ # @return [String]
8614
+ attr_accessor :health_check_service
8615
+
8616
+ def initialize(**args)
8617
+ update!(**args)
8618
+ end
8619
+
8620
+ # Update properties of this object
8621
+ def update!(**args)
8622
+ @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
8623
+ end
8624
+ end
8625
+
8594
8626
  #
8595
8627
  class HealthCheckServicesList
8596
8628
  include Google::Apis::Core::Hashable
@@ -8936,12 +8968,13 @@ module Google
8936
8968
  # @return [String]
8937
8969
  attr_accessor :instance
8938
8970
 
8939
- # The IP address represented by this resource.
8971
+ # A forwarding rule IP address assigned to this instance.
8940
8972
  # Corresponds to the JSON property `ipAddress`
8941
8973
  # @return [String]
8942
8974
  attr_accessor :ip_address
8943
8975
 
8944
- # The port on the instance.
8976
+ # The named port of the instance group, not necessarily the port that is health-
8977
+ # checked.
8945
8978
  # Corresponds to the JSON property `port`
8946
8979
  # @return [Fixnum]
8947
8980
  attr_accessor :port
@@ -8986,6 +9019,17 @@ module Google
8986
9019
  # @return [Google::Apis::ComputeBeta::HealthCheckReference]
8987
9020
  attr_accessor :health_check
8988
9021
 
9022
+ # A full or valid partial URL to a health check service. For example, the
9023
+ # following are valid URLs:
9024
+ # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
9025
+ # healthCheckServices/health-check-service
9026
+ # - projects/project-id/regions/us-west1/healthCheckServices/health-check-
9027
+ # service
9028
+ # - regions/us-west1/healthCheckServices/health-check-service
9029
+ # Corresponds to the JSON property `healthCheckService`
9030
+ # @return [Google::Apis::ComputeBeta::HealthCheckServiceReference]
9031
+ attr_accessor :health_check_service
9032
+
8989
9033
  # Health state of the network endpoint determined based on the health checks
8990
9034
  # configured.
8991
9035
  # Corresponds to the JSON property `healthState`
@@ -9001,6 +9045,7 @@ module Google
9001
9045
  @backend_service = args[:backend_service] if args.key?(:backend_service)
9002
9046
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
9003
9047
  @health_check = args[:health_check] if args.key?(:health_check)
9048
+ @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
9004
9049
  @health_state = args[:health_state] if args.key?(:health_state)
9005
9050
  end
9006
9051
  end
@@ -9016,9 +9061,10 @@ module Google
9016
9061
  # @return [String]
9017
9062
  attr_accessor :description
9018
9063
 
9019
- # The list of host patterns to match. They must be valid hostnames, except *
9020
- # will match any string of ([a-z0-9-.]*). In that case, * must be the first
9021
- # character and must be followed in the pattern by either - or ..
9064
+ # The list of host patterns to match. They must be valid hostnames with optional
9065
+ # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
9066
+ # In that case, * must be the first character and must be followed in the
9067
+ # pattern by either - or ..
9022
9068
  # Corresponds to the JSON property `hosts`
9023
9069
  # @return [Array<String>]
9024
9070
  attr_accessor :hosts
@@ -10285,6 +10331,12 @@ module Google
10285
10331
  # @return [String]
10286
10332
  attr_accessor :self_link
10287
10333
 
10334
+ # Initial State for shielded instance, these are public keys which are safe to
10335
+ # store in public
10336
+ # Corresponds to the JSON property `shieldedInstanceInitialState`
10337
+ # @return [Google::Apis::ComputeBeta::InitialStateConfig]
10338
+ attr_accessor :shielded_instance_initial_state
10339
+
10288
10340
  # URL of the source disk used to create this image. This can be a full or valid
10289
10341
  # partial URL. You must provide either this property or the rawDisk.source
10290
10342
  # property but not both to create an image. For example, the following are valid
@@ -10394,6 +10446,7 @@ module Google
10394
10446
  @name = args[:name] if args.key?(:name)
10395
10447
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
10396
10448
  @self_link = args[:self_link] if args.key?(:self_link)
10449
+ @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
10397
10450
  @source_disk = args[:source_disk] if args.key?(:source_disk)
10398
10451
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
10399
10452
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
@@ -10561,6 +10614,44 @@ module Google
10561
10614
  end
10562
10615
  end
10563
10616
 
10617
+ # Initial State for shielded instance, these are public keys which are safe to
10618
+ # store in public
10619
+ class InitialStateConfig
10620
+ include Google::Apis::Core::Hashable
10621
+
10622
+ # The Key Database (db).
10623
+ # Corresponds to the JSON property `dbs`
10624
+ # @return [Array<Google::Apis::ComputeBeta::FileContentBuffer>]
10625
+ attr_accessor :dbs
10626
+
10627
+ # The forbidden key database (dbx).
10628
+ # Corresponds to the JSON property `dbxs`
10629
+ # @return [Array<Google::Apis::ComputeBeta::FileContentBuffer>]
10630
+ attr_accessor :dbxs
10631
+
10632
+ # The Key Exchange Key (KEK).
10633
+ # Corresponds to the JSON property `keks`
10634
+ # @return [Array<Google::Apis::ComputeBeta::FileContentBuffer>]
10635
+ attr_accessor :keks
10636
+
10637
+ # The Platform Key (PK).
10638
+ # Corresponds to the JSON property `pk`
10639
+ # @return [Google::Apis::ComputeBeta::FileContentBuffer]
10640
+ attr_accessor :pk
10641
+
10642
+ def initialize(**args)
10643
+ update!(**args)
10644
+ end
10645
+
10646
+ # Update properties of this object
10647
+ def update!(**args)
10648
+ @dbs = args[:dbs] if args.key?(:dbs)
10649
+ @dbxs = args[:dbxs] if args.key?(:dbxs)
10650
+ @keks = args[:keks] if args.key?(:keks)
10651
+ @pk = args[:pk] if args.key?(:pk)
10652
+ end
10653
+ end
10654
+
10564
10655
  # Represents an Instance resource.
10565
10656
  # An instance is a virtual machine that is hosted on Google Cloud Platform. For
10566
10657
  # more information, read Virtual Machine Instances. (== resource_for `$
@@ -10616,6 +10707,17 @@ module Google
10616
10707
  attr_accessor :erase_windows_vss_signature
10617
10708
  alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
10618
10709
 
10710
+ # Specifies a fingerprint for this resource, which is essentially a hash of the
10711
+ # instance's contents and used for optimistic locking. The fingerprint is
10712
+ # initially generated by Compute Engine and changes after every request to
10713
+ # modify or update the instance. You must always provide an up-to-date
10714
+ # fingerprint hash in order to update the instance.
10715
+ # To see the latest fingerprint, make get() request to the instance.
10716
+ # Corresponds to the JSON property `fingerprint`
10717
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
10718
+ # @return [String]
10719
+ attr_accessor :fingerprint
10720
+
10619
10721
  # A list of the type and count of accelerator cards attached to the instance.
10620
10722
  # Corresponds to the JSON property `guestAccelerators`
10621
10723
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
@@ -10704,6 +10806,12 @@ module Google
10704
10806
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
10705
10807
  attr_accessor :network_interfaces
10706
10808
 
10809
+ # The private IPv6 google access type for the VM. If not specified, use
10810
+ # INHERIT_FROM_SUBNETWORK as default.
10811
+ # Corresponds to the JSON property `privateIpv6GoogleAccess`
10812
+ # @return [String]
10813
+ attr_accessor :private_ipv6_google_access
10814
+
10707
10815
  # Specifies the reservations that this instance can consume from.
10708
10816
  # Corresponds to the JSON property `reservationAffinity`
10709
10817
  # @return [Google::Apis::ComputeBeta::ReservationAffinity]
@@ -10714,7 +10822,7 @@ module Google
10714
10822
  # @return [Array<String>]
10715
10823
  attr_accessor :resource_policies
10716
10824
 
10717
- # Sets the scheduling options for an Instance. NextID: 9
10825
+ # Sets the scheduling options for an Instance. NextID: 10
10718
10826
  # Corresponds to the JSON property `scheduling`
10719
10827
  # @return [Google::Apis::ComputeBeta::Scheduling]
10720
10828
  attr_accessor :scheduling
@@ -10810,6 +10918,7 @@ module Google
10810
10918
  @disks = args[:disks] if args.key?(:disks)
10811
10919
  @display_device = args[:display_device] if args.key?(:display_device)
10812
10920
  @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
10921
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
10813
10922
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
10814
10923
  @hostname = args[:hostname] if args.key?(:hostname)
10815
10924
  @id = args[:id] if args.key?(:id)
@@ -10821,6 +10930,7 @@ module Google
10821
10930
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
10822
10931
  @name = args[:name] if args.key?(:name)
10823
10932
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
10933
+ @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
10824
10934
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
10825
10935
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
10826
10936
  @scheduling = args[:scheduling] if args.key?(:scheduling)
@@ -11457,9 +11567,9 @@ module Google
11457
11567
  # @return [Array<String>]
11458
11568
  attr_accessor :target_pools
11459
11569
 
11460
- # The target number of running instances for this managed instance group.
11461
- # Deleting or abandoning instances reduces this number. Resizing the group
11462
- # changes this number.
11570
+ # The target number of running instances for this managed instance group. You
11571
+ # can reduce this number by using the instanceGroupManager deleteInstances or
11572
+ # abandonInstances methods. Resizing the group also changes this number.
11463
11573
  # Corresponds to the JSON property `targetSize`
11464
11574
  # @return [Fixnum]
11465
11575
  attr_accessor :target_size
@@ -11973,10 +12083,22 @@ module Google
11973
12083
  class InstanceGroupManagerStatusStateful
11974
12084
  include Google::Apis::Core::Hashable
11975
12085
 
11976
- # [Output Only] A bit indicating whether the managed instance group is stateful,
11977
- # i.e. has any disks in Stateful Policy or at least one per-instance config.
11978
- # This is determined based on the user intent, the group may be reported as not
11979
- # stateful even when there is still some preserved state on managed instances.
12086
+ # [Output Only] A bit indicating whether the managed instance group has stateful
12087
+ # configuration, that is, if you have configured any items in a stateful policy
12088
+ # or in per-instance configs. The group might report that it has no stateful
12089
+ # config even when there is still some preserved state on a managed instance,
12090
+ # for example, if you have deleted all PICs but not yet applied those deletions.
12091
+ # Corresponds to the JSON property `hasStatefulConfig`
12092
+ # @return [Boolean]
12093
+ attr_accessor :has_stateful_config
12094
+ alias_method :has_stateful_config?, :has_stateful_config
12095
+
12096
+ # [Output Only] A bit indicating whether the managed instance group has stateful
12097
+ # configuration, that is, if you have configured any items in a stateful policy
12098
+ # or in per-instance configs. The group might report that it has no stateful
12099
+ # config even when there is still some preserved state on a managed instance,
12100
+ # for example, if you have deleted all PICs but not yet applied those deletions.
12101
+ # This field is deprecated in favor of has_stateful_config.
11980
12102
  # Corresponds to the JSON property `isStateful`
11981
12103
  # @return [Boolean]
11982
12104
  attr_accessor :is_stateful
@@ -11988,6 +12110,7 @@ module Google
11988
12110
 
11989
12111
  # Update properties of this object
11990
12112
  def update!(**args)
12113
+ @has_stateful_config = args[:has_stateful_config] if args.key?(:has_stateful_config)
11991
12114
  @is_stateful = args[:is_stateful] if args.key?(:is_stateful)
11992
12115
  end
11993
12116
  end
@@ -13402,18 +13525,24 @@ module Google
13402
13525
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
13403
13526
  attr_accessor :network_interfaces
13404
13527
 
13528
+ # The private IPv6 google access type for the VM. If not specified, use
13529
+ # INHERIT_FROM_SUBNETWORK as default.
13530
+ # Corresponds to the JSON property `privateIpv6GoogleAccess`
13531
+ # @return [String]
13532
+ attr_accessor :private_ipv6_google_access
13533
+
13405
13534
  # Specifies the reservations that this instance can consume from.
13406
13535
  # Corresponds to the JSON property `reservationAffinity`
13407
13536
  # @return [Google::Apis::ComputeBeta::ReservationAffinity]
13408
13537
  attr_accessor :reservation_affinity
13409
13538
 
13410
13539
  # Resource policies (names, not ULRs) applied to instances created from this
13411
- # templae.
13540
+ # template.
13412
13541
  # Corresponds to the JSON property `resourcePolicies`
13413
13542
  # @return [Array<String>]
13414
13543
  attr_accessor :resource_policies
13415
13544
 
13416
- # Sets the scheduling options for an Instance. NextID: 9
13545
+ # Sets the scheduling options for an Instance. NextID: 10
13417
13546
  # Corresponds to the JSON property `scheduling`
13418
13547
  # @return [Google::Apis::ComputeBeta::Scheduling]
13419
13548
  attr_accessor :scheduling
@@ -13456,6 +13585,7 @@ module Google
13456
13585
  @metadata = args[:metadata] if args.key?(:metadata)
13457
13586
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
13458
13587
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
13588
+ @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
13459
13589
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
13460
13590
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13461
13591
  @scheduling = args[:scheduling] if args.key?(:scheduling)
@@ -13719,6 +13849,95 @@ module Google
13719
13849
  end
13720
13850
  end
13721
13851
 
13852
+ #
13853
+ class InstancesAddResourcePoliciesRequest
13854
+ include Google::Apis::Core::Hashable
13855
+
13856
+ # Resource policies to be added to this instance.
13857
+ # Corresponds to the JSON property `resourcePolicies`
13858
+ # @return [Array<String>]
13859
+ attr_accessor :resource_policies
13860
+
13861
+ def initialize(**args)
13862
+ update!(**args)
13863
+ end
13864
+
13865
+ # Update properties of this object
13866
+ def update!(**args)
13867
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13868
+ end
13869
+ end
13870
+
13871
+ #
13872
+ class InstancesGetEffectiveFirewallsResponse
13873
+ include Google::Apis::Core::Hashable
13874
+
13875
+ # Effective firewalls on the instance.
13876
+ # Corresponds to the JSON property `firewalls`
13877
+ # @return [Array<Google::Apis::ComputeBeta::Firewall>]
13878
+ attr_accessor :firewalls
13879
+
13880
+ # Effective firewalls from organization policies.
13881
+ # Corresponds to the JSON property `organizationFirewalls`
13882
+ # @return [Array<Google::Apis::ComputeBeta::InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy>]
13883
+ attr_accessor :organization_firewalls
13884
+
13885
+ def initialize(**args)
13886
+ update!(**args)
13887
+ end
13888
+
13889
+ # Update properties of this object
13890
+ def update!(**args)
13891
+ @firewalls = args[:firewalls] if args.key?(:firewalls)
13892
+ @organization_firewalls = args[:organization_firewalls] if args.key?(:organization_firewalls)
13893
+ end
13894
+ end
13895
+
13896
+ # A pruned SecurityPolicy containing ID and any applicable firewall rules.
13897
+ class InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy
13898
+ include Google::Apis::Core::Hashable
13899
+
13900
+ # The unique identifier for the security policy. This identifier is defined by
13901
+ # the server.
13902
+ # Corresponds to the JSON property `id`
13903
+ # @return [Fixnum]
13904
+ attr_accessor :id
13905
+
13906
+ # The rules that apply to the network.
13907
+ # Corresponds to the JSON property `rules`
13908
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRule>]
13909
+ attr_accessor :rules
13910
+
13911
+ def initialize(**args)
13912
+ update!(**args)
13913
+ end
13914
+
13915
+ # Update properties of this object
13916
+ def update!(**args)
13917
+ @id = args[:id] if args.key?(:id)
13918
+ @rules = args[:rules] if args.key?(:rules)
13919
+ end
13920
+ end
13921
+
13922
+ #
13923
+ class InstancesRemoveResourcePoliciesRequest
13924
+ include Google::Apis::Core::Hashable
13925
+
13926
+ # Resource policies to be removed from this instance.
13927
+ # Corresponds to the JSON property `resourcePolicies`
13928
+ # @return [Array<String>]
13929
+ attr_accessor :resource_policies
13930
+
13931
+ def initialize(**args)
13932
+ update!(**args)
13933
+ end
13934
+
13935
+ # Update properties of this object
13936
+ def update!(**args)
13937
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13938
+ end
13939
+ end
13940
+
13722
13941
  #
13723
13942
  class InstancesResumeRequest
13724
13943
  include Google::Apis::Core::Hashable
@@ -15579,7 +15798,11 @@ module Google
15579
15798
  end
15580
15799
  end
15581
15800
 
15582
- # A license resource.
15801
+ # Represents a License resource.
15802
+ # A License represents billing and aggregate usage data for public and
15803
+ # marketplace images. Caution This resource is intended for use only by third-
15804
+ # party partners who are creating Cloud Marketplace images. (== resource_for `$
15805
+ # api_version`.licenses ==)
15583
15806
  class License
15584
15807
  include Google::Apis::Core::Hashable
15585
15808
 
@@ -15660,7 +15883,11 @@ module Google
15660
15883
  end
15661
15884
  end
15662
15885
 
15663
- #
15886
+ # Represents a License Code resource.
15887
+ # A License Code is a unique identifier used to represent a license resource.
15888
+ # Caution This resource is intended for use only by third-party partners who are
15889
+ # creating Cloud Marketplace images. (== resource_for `$api_version`.
15890
+ # licenseCodes ==)
15664
15891
  class LicenseCode
15665
15892
  include Google::Apis::Core::Hashable
15666
15893
 
@@ -15918,8 +16145,6 @@ module Google
15918
16145
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
15919
16146
  # increment counter /iam/policy/debug_access_count `iam_principal=[value of
15920
16147
  # IAMContext.principal]`
15921
- # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
15922
- # in the same counter.
15923
16148
  # Corresponds to the JSON property `counter`
15924
16149
  # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
15925
16150
  attr_accessor :counter
@@ -15980,8 +16205,6 @@ module Google
15980
16205
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
15981
16206
  # increment counter /iam/policy/debug_access_count `iam_principal=[value of
15982
16207
  # IAMContext.principal]`
15983
- # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
15984
- # in the same counter.
15985
16208
  class LogConfigCounterOptions
15986
16209
  include Google::Apis::Core::Hashable
15987
16210
 
@@ -16045,7 +16268,9 @@ module Google
16045
16268
  include Google::Apis::Core::Hashable
16046
16269
 
16047
16270
  # Whether Gin logging should happen in a fail-closed manner at the caller. This
16048
- # is relevant only in the LocalIAM implementation, for now.
16271
+ # is currently supported in the LocalIAM implementation, Stubby C++, and Stubby
16272
+ # Java. For Apps Framework, see go/af-audit-logging#failclosed. TODO(b/77591626):
16273
+ # Add support for Stubby Go. TODO(b/129671387): Add support for Scaffolding.
16049
16274
  # Corresponds to the JSON property `logMode`
16050
16275
  # @return [String]
16051
16276
  attr_accessor :log_mode
@@ -16060,7 +16285,11 @@ module Google
16060
16285
  end
16061
16286
  end
16062
16287
 
16063
- # Machine image resource.
16288
+ # Represents a machine image resource.
16289
+ # A machine image is a Compute Engine resource that stores all the configuration,
16290
+ # metadata, permissions, and data from one or more disks required to create a
16291
+ # Virtual machine (VM) instance. For more information, see Machine images. (==
16292
+ # resource_for `$api_version`.machineImages ==)
16064
16293
  class MachineImage
16065
16294
  include Google::Apis::Core::Hashable
16066
16295
 
@@ -17267,8 +17496,8 @@ module Google
17267
17496
  end
17268
17497
 
17269
17498
  # Represents a collection of network endpoints.
17270
- # For more information read Setting up network endpoint groups in load balancing.
17271
- # (== resource_for `$api_version`.networkEndpointGroups ==) Next ID: 21
17499
+ # For more information read Network endpoint groups overview. (== resource_for `$
17500
+ # api_version`.networkEndpointGroups ==) Next ID: 21
17272
17501
  class NetworkEndpointGroup
17273
17502
  include Google::Apis::Core::Hashable
17274
17503
 
@@ -17327,8 +17556,7 @@ module Google
17327
17556
  # @return [String]
17328
17557
  attr_accessor :network
17329
17558
 
17330
- # Type of network endpoints in this network endpoint group. Currently the only
17331
- # supported value is GCE_VM_IP_PORT.
17559
+ # Type of network endpoints in this network endpoint group.
17332
17560
  # Corresponds to the JSON property `networkEndpointType`
17333
17561
  # @return [String]
17334
17562
  attr_accessor :network_endpoint_type
@@ -18188,12 +18416,30 @@ module Google
18188
18416
  attr_accessor :export_custom_routes
18189
18417
  alias_method :export_custom_routes?, :export_custom_routes
18190
18418
 
18419
+ # Whether subnet routes with public IP range are exported. The default value is
18420
+ # true, all subnet routes are exported. The IPv4 special-use ranges (https://en.
18421
+ # wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and
18422
+ # are not controlled by this field.
18423
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
18424
+ # @return [Boolean]
18425
+ attr_accessor :export_subnet_routes_with_public_ip
18426
+ alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
18427
+
18191
18428
  # Whether to import the custom routes from peer network.
18192
18429
  # Corresponds to the JSON property `importCustomRoutes`
18193
18430
  # @return [Boolean]
18194
18431
  attr_accessor :import_custom_routes
18195
18432
  alias_method :import_custom_routes?, :import_custom_routes
18196
18433
 
18434
+ # Whether subnet routes with public IP range are imported. The default value is
18435
+ # false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#
18436
+ # Special_addresses) are always imported from peers and are not controlled by
18437
+ # this field.
18438
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
18439
+ # @return [Boolean]
18440
+ attr_accessor :import_subnet_routes_with_public_ip
18441
+ alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
18442
+
18197
18443
  # Name of this peering. Provided by the client when the peering is created. The
18198
18444
  # name must comply with RFC1035. Specifically, the name must be 1-63 characters
18199
18445
  # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
@@ -18232,7 +18478,9 @@ module Google
18232
18478
  @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
18233
18479
  @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
18234
18480
  @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
18481
+ @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
18235
18482
  @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
18483
+ @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
18236
18484
  @name = args[:name] if args.key?(:name)
18237
18485
  @network = args[:network] if args.key?(:network)
18238
18486
  @state = args[:state] if args.key?(:state)
@@ -18311,6 +18559,57 @@ module Google
18311
18559
  end
18312
18560
  end
18313
18561
 
18562
+ #
18563
+ class NetworksGetEffectiveFirewallsResponse
18564
+ include Google::Apis::Core::Hashable
18565
+
18566
+ # Effective firewalls on the network.
18567
+ # Corresponds to the JSON property `firewalls`
18568
+ # @return [Array<Google::Apis::ComputeBeta::Firewall>]
18569
+ attr_accessor :firewalls
18570
+
18571
+ # Effective firewalls from organization policies.
18572
+ # Corresponds to the JSON property `organizationFirewalls`
18573
+ # @return [Array<Google::Apis::ComputeBeta::NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy>]
18574
+ attr_accessor :organization_firewalls
18575
+
18576
+ def initialize(**args)
18577
+ update!(**args)
18578
+ end
18579
+
18580
+ # Update properties of this object
18581
+ def update!(**args)
18582
+ @firewalls = args[:firewalls] if args.key?(:firewalls)
18583
+ @organization_firewalls = args[:organization_firewalls] if args.key?(:organization_firewalls)
18584
+ end
18585
+ end
18586
+
18587
+ # A pruned SecurityPolicy containing ID and any applicable firewall rules.
18588
+ class NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy
18589
+ include Google::Apis::Core::Hashable
18590
+
18591
+ # [Output Only] The unique identifier for the security policy. This identifier
18592
+ # is defined by the server.
18593
+ # Corresponds to the JSON property `id`
18594
+ # @return [Fixnum]
18595
+ attr_accessor :id
18596
+
18597
+ # The rules that apply to the network.
18598
+ # Corresponds to the JSON property `rules`
18599
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRule>]
18600
+ attr_accessor :rules
18601
+
18602
+ def initialize(**args)
18603
+ update!(**args)
18604
+ end
18605
+
18606
+ # Update properties of this object
18607
+ def update!(**args)
18608
+ @id = args[:id] if args.key?(:id)
18609
+ @rules = args[:rules] if args.key?(:rules)
18610
+ end
18611
+ end
18612
+
18314
18613
  #
18315
18614
  class NetworksRemovePeeringRequest
18316
18615
  include Google::Apis::Core::Hashable
@@ -18730,6 +19029,11 @@ module Google
18730
19029
  class NodeGroupNode
18731
19030
  include Google::Apis::Core::Hashable
18732
19031
 
19032
+ # CPU overcommit.
19033
+ # Corresponds to the JSON property `cpuOvercommitType`
19034
+ # @return [String]
19035
+ attr_accessor :cpu_overcommit_type
19036
+
18733
19037
  # Instances scheduled on this node.
18734
19038
  # Corresponds to the JSON property `instances`
18735
19039
  # @return [Array<String>]
@@ -18766,6 +19070,7 @@ module Google
18766
19070
 
18767
19071
  # Update properties of this object
18768
19072
  def update!(**args)
19073
+ @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
18769
19074
  @instances = args[:instances] if args.key?(:instances)
18770
19075
  @name = args[:name] if args.key?(:name)
18771
19076
  @node_type = args[:node_type] if args.key?(:node_type)
@@ -19045,10 +19350,15 @@ module Google
19045
19350
  # Represent a sole-tenant Node Template resource.
19046
19351
  # You can use a template to define properties for nodes in a node group. For
19047
19352
  # more information, read Creating node groups and instances. (== resource_for `$
19048
- # api_version`.nodeTemplates ==) (== NextID: 18 ==)
19353
+ # api_version`.nodeTemplates ==) (== NextID: 19 ==)
19049
19354
  class NodeTemplate
19050
19355
  include Google::Apis::Core::Hashable
19051
19356
 
19357
+ # CPU overcommit.
19358
+ # Corresponds to the JSON property `cpuOvercommitType`
19359
+ # @return [String]
19360
+ attr_accessor :cpu_overcommit_type
19361
+
19052
19362
  # [Output Only] Creation timestamp in RFC3339 text format.
19053
19363
  # Corresponds to the JSON property `creationTimestamp`
19054
19364
  # @return [String]
@@ -19139,6 +19449,7 @@ module Google
19139
19449
 
19140
19450
  # Update properties of this object
19141
19451
  def update!(**args)
19452
+ @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
19142
19453
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19143
19454
  @description = args[:description] if args.key?(:description)
19144
19455
  @id = args[:id] if args.key?(:id)
@@ -20180,15 +20491,15 @@ module Google
20180
20491
 
20181
20492
  # Represents an Operation resource.
20182
20493
  # Google Compute Engine has three Operation resources:
20183
- # * [Global](/compute/docs/reference/rest/latest/globalOperations) * [Regional](/
20184
- # compute/docs/reference/rest/latest/regionOperations) * [Zonal](/compute/docs/
20185
- # reference/rest/latest/zoneOperations)
20494
+ # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
20495
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionOperations) * [
20496
+ # Zonal](/compute/docs/reference/rest/`$api_version`/zoneOperations)
20186
20497
  # You can use an operation resource to manage asynchronous API requests. For
20187
20498
  # more information, read Handling API responses.
20188
20499
  # Operations can be global, regional or zonal.
20189
- # - For global operations, use the globalOperations resource.
20190
- # - For regional operations, use the regionOperations resource.
20191
- # - For zonal operations, use the zonalOperations resource.
20500
+ # - For global operations, use the `globalOperations` resource.
20501
+ # - For regional operations, use the `regionOperations` resource.
20502
+ # - For zonal operations, use the `zonalOperations` resource.
20192
20503
  # For more information, read Global, Regional, and Zonal Resources. (==
20193
20504
  # resource_for `$api_version`.globalOperations ==) (== resource_for `$
20194
20505
  # api_version`.regionOperations ==) (== resource_for `$api_version`.
@@ -20226,13 +20537,13 @@ module Google
20226
20537
  attr_accessor :error
20227
20538
 
20228
20539
  # [Output Only] If the operation fails, this field contains the HTTP error
20229
- # message that was returned, such as NOT FOUND.
20540
+ # message that was returned, such as `NOT FOUND`.
20230
20541
  # Corresponds to the JSON property `httpErrorMessage`
20231
20542
  # @return [String]
20232
20543
  attr_accessor :http_error_message
20233
20544
 
20234
20545
  # [Output Only] If the operation fails, this field contains the HTTP error
20235
- # status code that was returned. For example, a 404 means the resource was not
20546
+ # status code that was returned. For example, a `404` means the resource was not
20236
20547
  # found.
20237
20548
  # Corresponds to the JSON property `httpErrorStatusCode`
20238
20549
  # @return [Fixnum]
@@ -20250,7 +20561,7 @@ module Google
20250
20561
  # @return [String]
20251
20562
  attr_accessor :insert_time
20252
20563
 
20253
- # [Output Only] Type of the resource. Always compute#operation for Operation
20564
+ # [Output Only] Type of the resource. Always `compute#operation` for Operation
20254
20565
  # resources.
20255
20566
  # Corresponds to the JSON property `kind`
20256
20567
  # @return [String]
@@ -20261,8 +20572,8 @@ module Google
20261
20572
  # @return [String]
20262
20573
  attr_accessor :name
20263
20574
 
20264
- # [Output Only] The type of operation, such as insert, update, or delete, and so
20265
- # on.
20575
+ # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
20576
+ # and so on.
20266
20577
  # Corresponds to the JSON property `operationType`
20267
20578
  # @return [String]
20268
20579
  attr_accessor :operation_type
@@ -20292,8 +20603,8 @@ module Google
20292
20603
  # @return [String]
20293
20604
  attr_accessor :start_time
20294
20605
 
20295
- # [Output Only] The status of the operation, which can be one of the following:
20296
- # PENDING, RUNNING, or DONE.
20606
+ # [Output Only] The status of the operation, which can be one of the following: `
20607
+ # PENDING`, `RUNNING`, or `DONE`.
20297
20608
  # Corresponds to the JSON property `status`
20298
20609
  # @return [String]
20299
20610
  attr_accessor :status
@@ -20317,7 +20628,8 @@ module Google
20317
20628
  # @return [String]
20318
20629
  attr_accessor :target_link
20319
20630
 
20320
- # [Output Only] User who requested the operation, for example: user@example.com.
20631
+ # [Output Only] User who requested the operation, for example: `user@example.com`
20632
+ # .
20321
20633
  # Corresponds to the JSON property `user`
20322
20634
  # @return [String]
20323
20635
  attr_accessor :user
@@ -20497,16 +20809,16 @@ module Google
20497
20809
  # @return [Hash<String,Google::Apis::ComputeBeta::OperationsScopedList>]
20498
20810
  attr_accessor :items
20499
20811
 
20500
- # [Output Only] Type of resource. Always compute#operationAggregatedList for
20812
+ # [Output Only] Type of resource. Always `compute#operationAggregatedList` for
20501
20813
  # aggregated lists of operations.
20502
20814
  # Corresponds to the JSON property `kind`
20503
20815
  # @return [String]
20504
20816
  attr_accessor :kind
20505
20817
 
20506
20818
  # [Output Only] This token allows you to get the next page of results for list
20507
- # requests. If the number of results is larger than maxResults, use the
20508
- # nextPageToken as a value for the query parameter pageToken in the next list
20509
- # request. Subsequent list requests will have their own nextPageToken to
20819
+ # requests. If the number of results is larger than `maxResults`, use the `
20820
+ # nextPageToken` as a value for the query parameter `pageToken` in the next list
20821
+ # request. Subsequent list requests will have their own `nextPageToken` to
20510
20822
  # continue paging through the results.
20511
20823
  # Corresponds to the JSON property `nextPageToken`
20512
20824
  # @return [String]
@@ -20616,16 +20928,16 @@ module Google
20616
20928
  # @return [Array<Google::Apis::ComputeBeta::Operation>]
20617
20929
  attr_accessor :items
20618
20930
 
20619
- # [Output Only] Type of resource. Always compute#operations for Operations
20931
+ # [Output Only] Type of resource. Always `compute#operations` for Operations
20620
20932
  # resource.
20621
20933
  # Corresponds to the JSON property `kind`
20622
20934
  # @return [String]
20623
20935
  attr_accessor :kind
20624
20936
 
20625
20937
  # [Output Only] This token allows you to get the next page of results for list
20626
- # requests. If the number of results is larger than maxResults, use the
20627
- # nextPageToken as a value for the query parameter pageToken in the next list
20628
- # request. Subsequent list requests will have their own nextPageToken to
20938
+ # requests. If the number of results is larger than `maxResults`, use the `
20939
+ # nextPageToken` as a value for the query parameter `pageToken` in the next list
20940
+ # request. Subsequent list requests will have their own `nextPageToken` to
20629
20941
  # continue paging through the results.
20630
20942
  # Corresponds to the JSON property `nextPageToken`
20631
20943
  # @return [String]
@@ -20811,6 +21123,33 @@ module Google
20811
21123
  end
20812
21124
  end
20813
21125
 
21126
+ #
21127
+ class OrganizationSecurityPoliciesListAssociationsResponse
21128
+ include Google::Apis::Core::Hashable
21129
+
21130
+ # A list of associations.
21131
+ # Corresponds to the JSON property `associations`
21132
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyAssociation>]
21133
+ attr_accessor :associations
21134
+
21135
+ # [Output Only] Type of securityPolicy associations. Always compute#
21136
+ # organizationSecurityPoliciesListAssociations for lists of securityPolicy
21137
+ # associations.
21138
+ # Corresponds to the JSON property `kind`
21139
+ # @return [String]
21140
+ attr_accessor :kind
21141
+
21142
+ def initialize(**args)
21143
+ update!(**args)
21144
+ end
21145
+
21146
+ # Update properties of this object
21147
+ def update!(**args)
21148
+ @associations = args[:associations] if args.key?(:associations)
21149
+ @kind = args[:kind] if args.key?(:kind)
21150
+ end
21151
+ end
21152
+
20814
21153
  # Settings controlling the eviction of unhealthy hosts from the load balancing
20815
21154
  # pool for the backend service.
20816
21155
  class OutlierDetection
@@ -21730,21 +22069,21 @@ module Google
21730
22069
  class PerInstanceConfig
21731
22070
  include Google::Apis::Core::Hashable
21732
22071
 
21733
- # Fingerprint of this per-instance config. This field may be used in optimistic
21734
- # locking. It will be ignored when inserting a per-instance config. An up-to-
21735
- # date fingerprint must be provided in order to update an existing per-instance
22072
+ # Fingerprint of this per-instance config. This field can be used in optimistic
22073
+ # locking. It is ignored when inserting a per-instance config. An up-to-date
22074
+ # fingerprint must be provided in order to update an existing per-instance
21736
22075
  # config or the field needs to be unset.
21737
22076
  # Corresponds to the JSON property `fingerprint`
21738
22077
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
21739
22078
  # @return [String]
21740
22079
  attr_accessor :fingerprint
21741
22080
 
21742
- # The name of the per-instance config and the corresponding instance. Serves as
21743
- # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
21744
- # config with the same name exists then it will be updated, otherwise a new one
21745
- # will be created for the VM instance with the same name. An attempt to create a
21746
- # per-instance config for a VM instance that either doesn't exist or is not part
21747
- # of the group will result in a failure.
22081
+ # The name of a per-instance config and its corresponding instance. Serves as a
22082
+ # merge key during UpdatePerInstanceConfigs operations, that is, if a per-
22083
+ # instance config with the same name exists then it will be updated, otherwise a
22084
+ # new one will be created for the VM instance with the same name. An attempt to
22085
+ # create a per-instance config for a VM instance that either doesn't exist or is
22086
+ # not part of the group will result in an error.
21748
22087
  # Corresponds to the JSON property `name`
21749
22088
  # @return [String]
21750
22089
  attr_accessor :name
@@ -22450,7 +22789,7 @@ module Google
22450
22789
  class RegionCommitmentsUpdateReservationsRequest
22451
22790
  include Google::Apis::Core::Hashable
22452
22791
 
22453
- # List of two reservations to transfer GPUs and local SSD between.
22792
+ # A list of two reservations to transfer GPUs and local SSD between.
22454
22793
  # Corresponds to the JSON property `reservations`
22455
22794
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
22456
22795
  attr_accessor :reservations
@@ -23698,8 +24037,8 @@ module Google
23698
24037
 
23699
24038
  # Represents a URL Map resource.
23700
24039
  # Google Compute Engine has two URL Map resources:
23701
- # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
23702
- # docs/reference/rest/latest/regionUrlMaps)
24040
+ # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
24041
+ # compute/docs/reference/rest/`$api_version`/regionUrlMaps)
23703
24042
  # A URL map resource is a component of certain types of GCP load balancers and
23704
24043
  # Traffic Director.
23705
24044
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
@@ -24372,7 +24711,10 @@ module Google
24372
24711
  end
24373
24712
  end
24374
24713
 
24375
- #
24714
+ # Represents a Resource Policy resource. You can use resource policies to
24715
+ # schedule actions for some Compute Engine resources. For example, you can use
24716
+ # them to schedule persistent disk snapshots.
24717
+ # (== resource_for `$api_version`.resourcePolicies ==)
24376
24718
  class ResourcePolicy
24377
24719
  include Google::Apis::Core::Hashable
24378
24720
 
@@ -24583,7 +24925,8 @@ module Google
24583
24925
  class ResourcePolicyDailyCycle
24584
24926
  include Google::Apis::Core::Hashable
24585
24927
 
24586
- # Defines a schedule that runs every nth day of the month.
24928
+ # Defines a schedule with units measured in months. The value determines how
24929
+ # many months pass between the start of each cycle.
24587
24930
  # Corresponds to the JSON property `daysInCycle`
24588
24931
  # @return [Fixnum]
24589
24932
  attr_accessor :days_in_cycle
@@ -24657,7 +25000,8 @@ module Google
24657
25000
  # @return [String]
24658
25001
  attr_accessor :duration
24659
25002
 
24660
- # Allows to define schedule that runs every nth hour.
25003
+ # Defines a schedule with units measured in hours. The value determines how many
25004
+ # hours pass between the start of each cycle.
24661
25005
  # Corresponds to the JSON property `hoursInCycle`
24662
25006
  # @return [Fixnum]
24663
25007
  attr_accessor :hours_in_cycle
@@ -24952,7 +25296,9 @@ module Google
24952
25296
  class ResourcePolicyWeeklyCycleDayOfWeek
24953
25297
  include Google::Apis::Core::Hashable
24954
25298
 
24955
- # Allows to define schedule that runs specified day of the week.
25299
+ # Defines a schedule that runs on specific days of the week. Specify one or more
25300
+ # days. The following options are available: MONDAY, TUESDAY, WEDNESDAY,
25301
+ # THURSDAY, FRIDAY, SATURDAY, SUNDAY.
24956
25302
  # Corresponds to the JSON property `day`
24957
25303
  # @return [String]
24958
25304
  attr_accessor :day
@@ -25798,15 +26144,15 @@ module Google
25798
26144
  attr_accessor :ip_range
25799
26145
 
25800
26146
  # URI of the linked Interconnect attachment. It must be in the same region as
25801
- # the router. Each interface can have one linked resource, which can be either
25802
- # be a VPN tunnel or an Interconnect attachment.
26147
+ # the router. Each interface can have one linked resource, which can be a VPN
26148
+ # tunnel, an Interconnect attachment, or a virtual machine instance.
25803
26149
  # Corresponds to the JSON property `linkedInterconnectAttachment`
25804
26150
  # @return [String]
25805
26151
  attr_accessor :linked_interconnect_attachment
25806
26152
 
25807
26153
  # URI of the linked VPN tunnel, which must be in the same region as the router.
25808
- # Each interface can have one linked resource, which can be either a VPN tunnel
25809
- # or an Interconnect attachment.
26154
+ # Each interface can have one linked resource, which can be a VPN tunnel, an
26155
+ # Interconnect attachment, or a virtual machine instance.
25810
26156
  # Corresponds to the JSON property `linkedVpnTunnel`
25811
26157
  # @return [String]
25812
26158
  attr_accessor :linked_vpn_tunnel
@@ -26717,7 +27063,7 @@ module Google
26717
27063
  end
26718
27064
  end
26719
27065
 
26720
- # Sets the scheduling options for an Instance. NextID: 9
27066
+ # Sets the scheduling options for an Instance. NextID: 10
26721
27067
  class Scheduling
26722
27068
  include Google::Apis::Core::Hashable
26723
27069
 
@@ -26739,7 +27085,7 @@ module Google
26739
27085
  attr_accessor :min_node_cpus
26740
27086
 
26741
27087
  # A set of node affinity and anti-affinity configurations. Refer to Configuring
26742
- # node affinity for more information.
27088
+ # node affinity for more information. Overrides reservationAffinity.
26743
27089
  # Corresponds to the JSON property `nodeAffinities`
26744
27090
  # @return [Array<Google::Apis::ComputeBeta::SchedulingNodeAffinity>]
26745
27091
  attr_accessor :node_affinities
@@ -26807,6 +27153,32 @@ module Google
26807
27153
  end
26808
27154
  end
26809
27155
 
27156
+ # An instance's screenshot.
27157
+ class Screenshot
27158
+ include Google::Apis::Core::Hashable
27159
+
27160
+ # [Output Only] The Base64-encoded screenshot data.
27161
+ # Corresponds to the JSON property `contents`
27162
+ # @return [String]
27163
+ attr_accessor :contents
27164
+
27165
+ # [Output Only] Type of the resource. Always compute#screenshot for the
27166
+ # screenshots.
27167
+ # Corresponds to the JSON property `kind`
27168
+ # @return [String]
27169
+ attr_accessor :kind
27170
+
27171
+ def initialize(**args)
27172
+ update!(**args)
27173
+ end
27174
+
27175
+ # Update properties of this object
27176
+ def update!(**args)
27177
+ @contents = args[:contents] if args.key?(:contents)
27178
+ @kind = args[:kind] if args.key?(:kind)
27179
+ end
27180
+ end
27181
+
26810
27182
  #
26811
27183
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
26812
27184
  include Google::Apis::Core::Hashable
@@ -26852,6 +27224,11 @@ module Google
26852
27224
  class SecurityPolicy
26853
27225
  include Google::Apis::Core::Hashable
26854
27226
 
27227
+ # A list of associations that belong to this policy.
27228
+ # Corresponds to the JSON property `associations`
27229
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyAssociation>]
27230
+ attr_accessor :associations
27231
+
26855
27232
  # [Output Only] Creation timestamp in RFC3339 text format.
26856
27233
  # Corresponds to the JSON property `creationTimestamp`
26857
27234
  # @return [String]
@@ -26863,6 +27240,18 @@ module Google
26863
27240
  # @return [String]
26864
27241
  attr_accessor :description
26865
27242
 
27243
+ # User-provided name of the Organization security plicy. The name should be
27244
+ # unique in the organization in which the security policy is created. This
27245
+ # should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63
27246
+ # characters long, and comply with RFC1035. Specifically, the name must be 1-63
27247
+ # characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
27248
+ # which means the first character must be a lowercase letter, and all following
27249
+ # characters must be a dash, lowercase letter, or digit, except the last
27250
+ # character, which cannot be a dash.
27251
+ # Corresponds to the JSON property `displayName`
27252
+ # @return [String]
27253
+ attr_accessor :display_name
27254
+
26866
27255
  # Specifies a fingerprint for this resource, which is essentially a hash of the
26867
27256
  # metadata's contents and used for optimistic locking. The fingerprint is
26868
27257
  # initially generated by Compute Engine and changes after every request to
@@ -26915,6 +27304,17 @@ module Google
26915
27304
  # @return [String]
26916
27305
  attr_accessor :name
26917
27306
 
27307
+ # [Output Only] The parent of the security policy.
27308
+ # Corresponds to the JSON property `parent`
27309
+ # @return [String]
27310
+ attr_accessor :parent
27311
+
27312
+ # [Output Only] Total count of all security policy rule tuples. A security
27313
+ # policy can not exceed a set number of tuples.
27314
+ # Corresponds to the JSON property `ruleTupleCount`
27315
+ # @return [Fixnum]
27316
+ attr_accessor :rule_tuple_count
27317
+
26918
27318
  # A list of rules that belong to this policy. There must always be a default
26919
27319
  # rule (rule with priority 2147483647 and match "*"). If no rules are provided
26920
27320
  # when creating a security policy, a default rule with action "allow" will be
@@ -26928,22 +27328,76 @@ module Google
26928
27328
  # @return [String]
26929
27329
  attr_accessor :self_link
26930
27330
 
27331
+ # [Output Only] Server-defined URL for this resource with the resource id.
27332
+ # Corresponds to the JSON property `selfLinkWithId`
27333
+ # @return [String]
27334
+ attr_accessor :self_link_with_id
27335
+
27336
+ # The type indicates the intended use of the security policy. CLOUD_ARMOR
27337
+ # policies apply to backend services. FIREWALL policies apply to organizations.
27338
+ # Corresponds to the JSON property `type`
27339
+ # @return [String]
27340
+ attr_accessor :type
27341
+
26931
27342
  def initialize(**args)
26932
27343
  update!(**args)
26933
27344
  end
26934
27345
 
26935
27346
  # Update properties of this object
26936
27347
  def update!(**args)
27348
+ @associations = args[:associations] if args.key?(:associations)
26937
27349
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26938
27350
  @description = args[:description] if args.key?(:description)
27351
+ @display_name = args[:display_name] if args.key?(:display_name)
26939
27352
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
26940
27353
  @id = args[:id] if args.key?(:id)
26941
27354
  @kind = args[:kind] if args.key?(:kind)
26942
27355
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
26943
27356
  @labels = args[:labels] if args.key?(:labels)
26944
27357
  @name = args[:name] if args.key?(:name)
27358
+ @parent = args[:parent] if args.key?(:parent)
27359
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
26945
27360
  @rules = args[:rules] if args.key?(:rules)
26946
27361
  @self_link = args[:self_link] if args.key?(:self_link)
27362
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
27363
+ @type = args[:type] if args.key?(:type)
27364
+ end
27365
+ end
27366
+
27367
+ #
27368
+ class SecurityPolicyAssociation
27369
+ include Google::Apis::Core::Hashable
27370
+
27371
+ # The resource that the security policy is attached to.
27372
+ # Corresponds to the JSON property `attachmentId`
27373
+ # @return [String]
27374
+ attr_accessor :attachment_id
27375
+
27376
+ # [Output Only] The display name of the security policy of the association.
27377
+ # Corresponds to the JSON property `displayName`
27378
+ # @return [String]
27379
+ attr_accessor :display_name
27380
+
27381
+ # The name for an association.
27382
+ # Corresponds to the JSON property `name`
27383
+ # @return [String]
27384
+ attr_accessor :name
27385
+
27386
+ # [Output Only] The security policy ID of the association.
27387
+ # Corresponds to the JSON property `securityPolicyId`
27388
+ # @return [String]
27389
+ attr_accessor :security_policy_id
27390
+
27391
+ def initialize(**args)
27392
+ update!(**args)
27393
+ end
27394
+
27395
+ # Update properties of this object
27396
+ def update!(**args)
27397
+ @attachment_id = args[:attachment_id] if args.key?(:attachment_id)
27398
+ @display_name = args[:display_name] if args.key?(:display_name)
27399
+ @name = args[:name] if args.key?(:name)
27400
+ @security_policy_id = args[:security_policy_id] if args.key?(:security_policy_id)
26947
27401
  end
26948
27402
  end
26949
27403
 
@@ -27096,6 +27550,22 @@ module Google
27096
27550
  # @return [String]
27097
27551
  attr_accessor :description
27098
27552
 
27553
+ # The direction in which this rule applies. This field may only be specified
27554
+ # when versioned_expr is set to FIREWALL.
27555
+ # Corresponds to the JSON property `direction`
27556
+ # @return [String]
27557
+ attr_accessor :direction
27558
+
27559
+ # Denotes whether to enable logging for a particular rule. If logging is enabled,
27560
+ # logs will be exported to the configured export destination in Stackdriver.
27561
+ # Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging
27562
+ # on "goto_next" rules.
27563
+ # This field may only be specified when the versioned_expr is set to FIREWALL.
27564
+ # Corresponds to the JSON property `enableLogging`
27565
+ # @return [Boolean]
27566
+ attr_accessor :enable_logging
27567
+ alias_method :enable_logging?, :enable_logging
27568
+
27099
27569
  # [Output only] Type of the resource. Always compute#securityPolicyRule for
27100
27570
  # security policy rules
27101
27571
  # Corresponds to the JSON property `kind`
@@ -27122,6 +27592,26 @@ module Google
27122
27592
  # @return [Fixnum]
27123
27593
  attr_accessor :priority
27124
27594
 
27595
+ # [Output Only] Calculation of the complexity of a single firewall security
27596
+ # policy rule.
27597
+ # Corresponds to the JSON property `ruleTupleCount`
27598
+ # @return [Fixnum]
27599
+ attr_accessor :rule_tuple_count
27600
+
27601
+ # A list of network resource URLs to which this rule applies. This field allows
27602
+ # you to control which network's VMs get this rule. If this field is left blank,
27603
+ # all VMs within the organization will receive the rule.
27604
+ # This field may only be specified when versioned_expr is set to FIREWALL.
27605
+ # Corresponds to the JSON property `targetResources`
27606
+ # @return [Array<String>]
27607
+ attr_accessor :target_resources
27608
+
27609
+ # A list of service accounts indicating the sets of instances that are applied
27610
+ # with this rule.
27611
+ # Corresponds to the JSON property `targetServiceAccounts`
27612
+ # @return [Array<String>]
27613
+ attr_accessor :target_service_accounts
27614
+
27125
27615
  def initialize(**args)
27126
27616
  update!(**args)
27127
27617
  end
@@ -27130,10 +27620,15 @@ module Google
27130
27620
  def update!(**args)
27131
27621
  @action = args[:action] if args.key?(:action)
27132
27622
  @description = args[:description] if args.key?(:description)
27623
+ @direction = args[:direction] if args.key?(:direction)
27624
+ @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
27133
27625
  @kind = args[:kind] if args.key?(:kind)
27134
27626
  @match = args[:match] if args.key?(:match)
27135
27627
  @preview = args[:preview] if args.key?(:preview)
27136
27628
  @priority = args[:priority] if args.key?(:priority)
27629
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
27630
+ @target_resources = args[:target_resources] if args.key?(:target_resources)
27631
+ @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
27137
27632
  end
27138
27633
  end
27139
27634
 
@@ -27149,9 +27644,26 @@ module Google
27149
27644
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherConfig]
27150
27645
  attr_accessor :config
27151
27646
 
27152
- # Represents an expression text. Example:
27153
- # title: "User account presence" description: "Determines whether the request
27154
- # has a user account" expression: "size(request.user) > 0"
27647
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
27648
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
27649
+ # documented at https://github.com/google/cel-spec.
27650
+ # Example (Comparison):
27651
+ # title: "Summary size limit" description: "Determines if a summary is less than
27652
+ # 100 chars" expression: "document.summary.size() < 100"
27653
+ # Example (Equality):
27654
+ # title: "Requestor is owner" description: "Determines if requestor is the
27655
+ # document owner" expression: "document.owner == request.auth.claims.email"
27656
+ # Example (Logic):
27657
+ # title: "Public documents" description: "Determine whether the document should
27658
+ # be publicly visible" expression: "document.type != 'private' && document.type !
27659
+ # = 'internal'"
27660
+ # Example (Data Manipulation):
27661
+ # title: "Notification string" description: "Create a notification string with a
27662
+ # timestamp." expression: "'New message received at ' + string(document.
27663
+ # create_time)"
27664
+ # The exact variables and functions that may be referenced within an expression
27665
+ # are determined by the service that evaluates it. See the service documentation
27666
+ # for additional information.
27155
27667
  # Corresponds to the JSON property `expr`
27156
27668
  # @return [Google::Apis::ComputeBeta::Expr]
27157
27669
  attr_accessor :expr
@@ -27180,6 +27692,18 @@ module Google
27180
27692
  class SecurityPolicyRuleMatcherConfig
27181
27693
  include Google::Apis::Core::Hashable
27182
27694
 
27695
+ # CIDR IP address range.
27696
+ # This field may only be specified when versioned_expr is set to FIREWALL.
27697
+ # Corresponds to the JSON property `destIpRanges`
27698
+ # @return [Array<String>]
27699
+ attr_accessor :dest_ip_ranges
27700
+
27701
+ # Pairs of IP protocols and ports that the rule should match.
27702
+ # This field may only be specified when versioned_expr is set to FIREWALL.
27703
+ # Corresponds to the JSON property `layer4Configs`
27704
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherConfigLayer4Config>]
27705
+ attr_accessor :layer4_configs
27706
+
27183
27707
  # CIDR IP address range.
27184
27708
  # Corresponds to the JSON property `srcIpRanges`
27185
27709
  # @return [Array<String>]
@@ -27191,10 +27715,81 @@ module Google
27191
27715
 
27192
27716
  # Update properties of this object
27193
27717
  def update!(**args)
27718
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
27719
+ @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
27194
27720
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
27195
27721
  end
27196
27722
  end
27197
27723
 
27724
+ #
27725
+ class SecurityPolicyRuleMatcherConfigLayer4Config
27726
+ include Google::Apis::Core::Hashable
27727
+
27728
+ # The IP protocol to which this rule applies. The protocol type is required when
27729
+ # creating a firewall rule. This value can either be one of the following well
27730
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
27731
+ # protocol number.
27732
+ # Corresponds to the JSON property `ipProtocol`
27733
+ # @return [String]
27734
+ attr_accessor :ip_protocol
27735
+
27736
+ # An optional list of ports to which this rule applies. This field is only
27737
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
27738
+ # range. If not specified, this rule applies to connections through any port.
27739
+ # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
27740
+ # This field may only be specified when versioned_expr is set to FIREWALL.
27741
+ # Corresponds to the JSON property `ports`
27742
+ # @return [Array<String>]
27743
+ attr_accessor :ports
27744
+
27745
+ def initialize(**args)
27746
+ update!(**args)
27747
+ end
27748
+
27749
+ # Update properties of this object
27750
+ def update!(**args)
27751
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
27752
+ @ports = args[:ports] if args.key?(:ports)
27753
+ end
27754
+ end
27755
+
27756
+ # The authentication and authorization settings for a BackendService.
27757
+ class SecuritySettings
27758
+ include Google::Apis::Core::Hashable
27759
+
27760
+ # A URL referring to a networksecurity.Authentication resource that describes
27761
+ # how clients should authenticate with this service's backends. If left blank,
27762
+ # communications between services are not encrypted (i.e., the TLS policy is set
27763
+ # to OPEN). When sending traffic to this service's backends, the OriginationTls
27764
+ # setting of Authentication.TransportAuthentication is applied. Refer to the
27765
+ # Authentication and Authentication.TransportAuthentication.OriginationTls
27766
+ # resources for additional details. authentication only applies to a global
27767
+ # BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
27768
+ # Corresponds to the JSON property `authentication`
27769
+ # @return [String]
27770
+ attr_accessor :authentication
27771
+
27772
+ # Optional. A list of subject alternate names to verify the subject identity (
27773
+ # SAN) in the certificate presented by the server, to authorize the SAN list as
27774
+ # identities to run the service represented by this BackendService. If specified,
27775
+ # the client will verify that the server certificate's subject alt name matches
27776
+ # one of the specified values. Only applies to a global BackendService with the
27777
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
27778
+ # Corresponds to the JSON property `subjectAltNames`
27779
+ # @return [Array<String>]
27780
+ attr_accessor :subject_alt_names
27781
+
27782
+ def initialize(**args)
27783
+ update!(**args)
27784
+ end
27785
+
27786
+ # Update properties of this object
27787
+ def update!(**args)
27788
+ @authentication = args[:authentication] if args.key?(:authentication)
27789
+ @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
27790
+ end
27791
+ end
27792
+
27198
27793
  # An instance's serial console output.
27199
27794
  class SerialPortOutput
27200
27795
  include Google::Apis::Core::Hashable
@@ -27953,7 +28548,7 @@ module Google
27953
28548
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
27954
28549
  attr_accessor :network_interfaces
27955
28550
 
27956
- # Sets the scheduling options for an Instance. NextID: 9
28551
+ # Sets the scheduling options for an Instance. NextID: 10
27957
28552
  # Corresponds to the JSON property `scheduling`
27958
28553
  # @return [Google::Apis::ComputeBeta::Scheduling]
27959
28554
  attr_accessor :scheduling
@@ -27995,16 +28590,19 @@ module Google
27995
28590
 
27996
28591
  # Represents an SSL Certificate resource.
27997
28592
  # Google Compute Engine has two SSL Certificate resources:
27998
- # * [Global](/compute/docs/reference/rest/latest/sslCertificates) * [Regional](/
27999
- # compute/docs/reference/rest/latest/regionSslCertificates)
28000
- # - sslCertificates are used by: - external HTTPS load balancers - SSL proxy
28001
- # load balancers
28002
- # - regionSslCertificates are used by: - internal HTTPS load balancers
28003
- # This SSL certificate resource also contains a private key. You can use SSL
28004
- # keys and certificates to secure connections to a load balancer. For more
28005
- # information, read Creating and Using SSL Certificates. (== resource_for `$
28006
- # api_version`.sslCertificates ==) (== resource_for `$api_version`.
28007
- # regionSslCertificates ==) Next ID: 17
28593
+ # * [Global](/compute/docs/reference/rest/`$api_version`/sslCertificates) * [
28594
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionSslCertificates)
28595
+ # The sslCertificates are used by:
28596
+ # - external HTTPS load balancers
28597
+ # - SSL proxy load balancers
28598
+ # The regionSslCertificates are used by internal HTTPS load balancers.
28599
+ # Optionally, certificate file contents that you upload can contain a set of up
28600
+ # to five PEM-encoded certificates. The API call creates an object (
28601
+ # sslCertificate) that holds this data. You can use SSL keys and certificates to
28602
+ # secure connections to a load balancer. For more information, read Creating
28603
+ # and using SSL certificates and SSL certificates quotas and limits. (==
28604
+ # resource_for `$api_version`.sslCertificates ==) (== resource_for `$api_version`
28605
+ # .regionSslCertificates ==)
28008
28606
  class SslCertificate
28009
28607
  include Google::Apis::Core::Hashable
28010
28608
 
@@ -29045,7 +29643,7 @@ module Google
29045
29643
  # @return [String]
29046
29644
  attr_accessor :region
29047
29645
 
29048
- # The role of subnetwork. Currenly, this field is only used when purpose =
29646
+ # The role of subnetwork. Currently, this field is only used when purpose =
29049
29647
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
29050
29648
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
29051
29649
  # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
@@ -29365,6 +29963,12 @@ module Google
29365
29963
  attr_accessor :enable
29366
29964
  alias_method :enable?, :enable
29367
29965
 
29966
+ # Can only be specified if VPC flow logs for this subnetwork is enabled. Export
29967
+ # filter used to define which VPC flow logs should be logged.
29968
+ # Corresponds to the JSON property `filterExpr`
29969
+ # @return [String]
29970
+ attr_accessor :filter_expr
29971
+
29368
29972
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
29369
29973
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
29370
29974
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
@@ -29381,6 +29985,12 @@ module Google
29381
29985
  # @return [String]
29382
29986
  attr_accessor :metadata
29383
29987
 
29988
+ # Can only be specified if VPC flow logs for this subnetwork is enabled and "
29989
+ # metadata" was set to CUSTOM_METADATA.
29990
+ # Corresponds to the JSON property `metadataFields`
29991
+ # @return [Array<String>]
29992
+ attr_accessor :metadata_fields
29993
+
29384
29994
  def initialize(**args)
29385
29995
  update!(**args)
29386
29996
  end
@@ -29389,8 +29999,10 @@ module Google
29389
29999
  def update!(**args)
29390
30000
  @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
29391
30001
  @enable = args[:enable] if args.key?(:enable)
30002
+ @filter_expr = args[:filter_expr] if args.key?(:filter_expr)
29392
30003
  @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
29393
30004
  @metadata = args[:metadata] if args.key?(:metadata)
30005
+ @metadata_fields = args[:metadata_fields] if args.key?(:metadata_fields)
29394
30006
  end
29395
30007
  end
29396
30008
 
@@ -29745,8 +30357,8 @@ module Google
29745
30357
 
29746
30358
  # Represents a Target HTTP Proxy resource.
29747
30359
  # Google Compute Engine has two Target HTTP Proxy resources:
29748
- # * [Global](/compute/docs/reference/rest/latest/targetHttpProxies) * [Regional](
29749
- # /compute/docs/reference/rest/latest/regionTargetHttpProxies)
30360
+ # * [Global](/compute/docs/reference/rest/`$api_version`/targetHttpProxies) * [
30361
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionTargetHttpProxies)
29750
30362
  # A target HTTP proxy is a component of GCP HTTP load balancers.
29751
30363
  # * targetHttpProxies are used by external HTTP load balancers and Traffic
29752
30364
  # Director. * regionTargetHttpProxies are used by internal HTTP load balancers.
@@ -29790,6 +30402,14 @@ module Google
29790
30402
  # @return [String]
29791
30403
  attr_accessor :name
29792
30404
 
30405
+ # This field only applies when the loadBalancingScheme is INTERNAL_SELF_MANAGED.
30406
+ # When set to true the Envoy binds on the IP address specified by the forwarding
30407
+ # rule. Default is false.
30408
+ # Corresponds to the JSON property `proxyBind`
30409
+ # @return [Boolean]
30410
+ attr_accessor :proxy_bind
30411
+ alias_method :proxy_bind?, :proxy_bind
30412
+
29793
30413
  # [Output Only] URL of the region where the regional Target HTTP Proxy resides.
29794
30414
  # This field is not applicable to global Target HTTP Proxies.
29795
30415
  # Corresponds to the JSON property `region`
@@ -29818,6 +30438,7 @@ module Google
29818
30438
  @id = args[:id] if args.key?(:id)
29819
30439
  @kind = args[:kind] if args.key?(:kind)
29820
30440
  @name = args[:name] if args.key?(:name)
30441
+ @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
29821
30442
  @region = args[:region] if args.key?(:region)
29822
30443
  @self_link = args[:self_link] if args.key?(:self_link)
29823
30444
  @url_map = args[:url_map] if args.key?(:url_map)
@@ -30192,8 +30813,8 @@ module Google
30192
30813
 
30193
30814
  # Represents a Target HTTPS Proxy resource.
30194
30815
  # Google Compute Engine has two Target HTTPS Proxy resources:
30195
- # * [Global](/compute/docs/reference/rest/latest/targetHttpsProxies) * [Regional]
30196
- # (/compute/docs/reference/rest/latest/regionTargetHttpsProxies)
30816
+ # * [Global](/compute/docs/reference/rest/`$api_version`/targetHttpsProxies) * [
30817
+ # Regional](/compute/docs/reference/rest/`$api_version`/regionTargetHttpsProxies)
30197
30818
  # A target HTTPS proxy is a component of GCP HTTPS load balancers.
30198
30819
  # * targetHttpsProxies are used by external HTTPS load balancers. *
30199
30820
  # regionTargetHttpsProxies are used by internal HTTPS load balancers.
@@ -30204,6 +30825,31 @@ module Google
30204
30825
  class TargetHttpsProxy
30205
30826
  include Google::Apis::Core::Hashable
30206
30827
 
30828
+ # A URL referring to a networksecurity.Authentication resource that describes
30829
+ # how the proxy should authenticate inbound traffic. If left blank,
30830
+ # communications between services are not encrypted (i.e., the TLS policy is set
30831
+ # to OPEN). When terminating inbound traffic to this proxy, the TerminationTls
30832
+ # setting of Authentication.TransportAuthentication is applied.
30833
+ # Refer to the Authentication and Authentication.TransportAuthentication.
30834
+ # TerminationTls resources for additional details.
30835
+ # authentication only applies to a global TargetHttpsProxy attached to
30836
+ # globalForwardingRules with the loadBalancingScheme set to
30837
+ # INTERNAL_SELF_MANAGED.
30838
+ # Corresponds to the JSON property `authentication`
30839
+ # @return [String]
30840
+ attr_accessor :authentication
30841
+
30842
+ # A URL referring to a networksecurity.Authorization resource that describes how
30843
+ # the proxy should authorize inbound traffic. If left blank, access will not be
30844
+ # restricted by an authorization policy.
30845
+ # Refer to the Authorization resource for additional details.
30846
+ # authorization only applies to a global TargetHttpsProxy attached to
30847
+ # globalForwardingRules with the loadBalancingScheme set to
30848
+ # INTERNAL_SELF_MANAGED.
30849
+ # Corresponds to the JSON property `authorization`
30850
+ # @return [String]
30851
+ attr_accessor :authorization
30852
+
30207
30853
  # [Output Only] Creation timestamp in RFC3339 text format.
30208
30854
  # Corresponds to the JSON property `creationTimestamp`
30209
30855
  # @return [String]
@@ -30237,6 +30883,14 @@ module Google
30237
30883
  # @return [String]
30238
30884
  attr_accessor :name
30239
30885
 
30886
+ # This field only applies when the loadBalancingScheme is INTERNAL_SELF_MANAGED.
30887
+ # When set to true the Envoy binds on the IP address specified by the forwarding
30888
+ # rule. Default is false.
30889
+ # Corresponds to the JSON property `proxyBind`
30890
+ # @return [Boolean]
30891
+ attr_accessor :proxy_bind
30892
+ alias_method :proxy_bind?, :proxy_bind
30893
+
30240
30894
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
30241
30895
  # setting determines whether the load balancer attempts to negotiate QUIC with
30242
30896
  # clients. You can specify NONE, ENABLE, or DISABLE.
@@ -30291,11 +30945,14 @@ module Google
30291
30945
 
30292
30946
  # Update properties of this object
30293
30947
  def update!(**args)
30948
+ @authentication = args[:authentication] if args.key?(:authentication)
30949
+ @authorization = args[:authorization] if args.key?(:authorization)
30294
30950
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30295
30951
  @description = args[:description] if args.key?(:description)
30296
30952
  @id = args[:id] if args.key?(:id)
30297
30953
  @kind = args[:kind] if args.key?(:kind)
30298
30954
  @name = args[:name] if args.key?(:name)
30955
+ @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
30299
30956
  @quic_override = args[:quic_override] if args.key?(:quic_override)
30300
30957
  @region = args[:region] if args.key?(:region)
30301
30958
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -31848,7 +32505,7 @@ module Google
31848
32505
  # A target TCP proxy is a component of a TCP Proxy load balancer. Global
31849
32506
  # forwarding rules reference target TCP proxy, and the target proxy then
31850
32507
  # references an external backend service. For more information, read TCP Proxy
31851
- # Load Balancing Concepts. (== resource_for `$api_version`.targetTcpProxies ==)
32508
+ # Load Balancing overview. (== resource_for `$api_version`.targetTcpProxies ==)
31852
32509
  class TargetTcpProxy
31853
32510
  include Google::Apis::Core::Hashable
31854
32511
 
@@ -32559,8 +33216,8 @@ module Google
32559
33216
 
32560
33217
  # Represents a URL Map resource.
32561
33218
  # Google Compute Engine has two URL Map resources:
32562
- # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
32563
- # docs/reference/rest/latest/regionUrlMaps)
33219
+ # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
33220
+ # compute/docs/reference/rest/`$api_version`/regionUrlMaps)
32564
33221
  # A URL map resource is a component of certain types of GCP load balancers and
32565
33222
  # Traffic Director.
32566
33223
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
@@ -33133,8 +33790,8 @@ module Google
33133
33790
 
33134
33791
  # Represents a URL Map resource.
33135
33792
  # Google Compute Engine has two URL Map resources:
33136
- # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
33137
- # docs/reference/rest/latest/regionUrlMaps)
33793
+ # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
33794
+ # compute/docs/reference/rest/`$api_version`/regionUrlMaps)
33138
33795
  # A URL map resource is a component of certain types of GCP load balancers and
33139
33796
  # Traffic Director.
33140
33797
  # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *