google-api-client 0.36.0 → 0.37.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 (560) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +316 -0
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -4
  5. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
  6. data/generated/google/apis/accessapproval_v1/classes.rb +417 -0
  7. data/generated/google/apis/accessapproval_v1/representations.rb +203 -0
  8. data/generated/google/apis/accessapproval_v1/service.rb +869 -0
  9. data/generated/google/apis/{servicebroker_v1.rb → accessapproval_v1.rb} +8 -10
  10. data/generated/google/apis/accesscontextmanager_v1/classes.rb +113 -0
  11. data/generated/google/apis/accesscontextmanager_v1/representations.rb +32 -0
  12. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  13. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +151 -0
  14. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +48 -0
  15. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  17. data/generated/google/apis/adexperiencereport_v1.rb +1 -4
  18. data/generated/google/apis/admob_v1/classes.rb +951 -0
  19. data/generated/google/apis/admob_v1/representations.rb +378 -0
  20. data/generated/google/apis/admob_v1/service.rb +196 -0
  21. data/generated/google/apis/{analytics_v2_4/classes.rb → admob_v1.rb} +11 -6
  22. data/generated/google/apis/alertcenter_v1beta1/classes.rb +252 -0
  23. data/generated/google/apis/alertcenter_v1beta1/representations.rb +126 -0
  24. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  25. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  26. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1/classes.rb +37 -59
  28. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  29. data/generated/google/apis/androidenterprise_v1/service.rb +0 -403
  30. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  31. data/generated/google/apis/androidmanagement_v1/classes.rb +203 -6
  32. data/generated/google/apis/androidmanagement_v1/representations.rb +68 -0
  33. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  34. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  35. data/generated/google/apis/androidpublisher_v2/classes.rb +1 -94
  36. data/generated/google/apis/androidpublisher_v2/representations.rb +0 -50
  37. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  38. data/generated/google/apis/androidpublisher_v3/classes.rb +151 -111
  39. data/generated/google/apis/androidpublisher_v3/representations.rb +69 -56
  40. data/generated/google/apis/androidpublisher_v3/service.rb +158 -0
  41. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  42. data/generated/google/apis/appengine_v1beta/classes.rb +0 -38
  43. data/generated/google/apis/appengine_v1beta/representations.rb +0 -17
  44. data/generated/google/apis/appengine_v1beta.rb +1 -1
  45. data/generated/google/apis/appsactivity_v1.rb +1 -1
  46. data/generated/google/apis/bigquery_v2/classes.rb +8 -1
  47. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  48. data/generated/google/apis/bigquery_v2/service.rb +19 -2
  49. data/generated/google/apis/bigquery_v2.rb +1 -1
  50. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +130 -56
  51. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +2 -0
  52. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +8 -8
  53. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  54. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +49 -0
  55. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +19 -0
  56. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +60 -30
  57. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  58. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -22
  59. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  60. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  61. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +6 -22
  62. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +1 -13
  63. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  64. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +11 -99
  65. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -45
  66. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +1 -70
  67. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  68. data/generated/google/apis/bigtableadmin_v2/classes.rb +124 -55
  69. data/generated/google/apis/bigtableadmin_v2/service.rb +76 -4
  70. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  71. data/generated/google/apis/binaryauthorization_v1/classes.rb +124 -56
  72. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  73. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +124 -56
  74. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  75. data/generated/google/apis/chat_v1/service.rb +5 -2
  76. data/generated/google/apis/chat_v1.rb +1 -1
  77. data/generated/google/apis/classroom_v1.rb +1 -1
  78. data/generated/google/apis/cloudasset_v1/classes.rb +304 -15
  79. data/generated/google/apis/cloudasset_v1/representations.rb +117 -0
  80. data/generated/google/apis/cloudasset_v1/service.rb +175 -1
  81. data/generated/google/apis/cloudasset_v1.rb +2 -2
  82. data/generated/google/apis/cloudasset_v1beta1/classes.rb +49 -15
  83. data/generated/google/apis/cloudasset_v1beta1/service.rb +1 -1
  84. data/generated/google/apis/cloudasset_v1beta1.rb +2 -2
  85. data/generated/google/apis/cloudbilling_v1/classes.rb +110 -57
  86. data/generated/google/apis/cloudbilling_v1/service.rb +8 -6
  87. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  88. data/generated/google/apis/cloudbuild_v1/classes.rb +10 -6
  89. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  90. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1174 -0
  91. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +435 -0
  92. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  93. data/generated/google/apis/{servicebroker_v1alpha1.rb → cloudbuild_v1alpha1.rb} +8 -10
  94. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +1124 -0
  95. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +429 -0
  96. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +232 -0
  97. data/generated/google/apis/cloudbuild_v1alpha2.rb +34 -0
  98. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  99. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  100. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +12 -12
  101. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  102. data/generated/google/apis/cloudfunctions_v1/classes.rb +138 -56
  103. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  104. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  105. data/generated/google/apis/cloudidentity_v1/classes.rb +560 -0
  106. data/generated/google/apis/cloudidentity_v1/representations.rb +226 -0
  107. data/generated/google/apis/cloudidentity_v1/service.rb +20 -13
  108. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  109. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +765 -72
  110. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +289 -0
  111. data/generated/google/apis/cloudidentity_v1beta1/service.rb +189 -79
  112. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  113. data/generated/google/apis/cloudiot_v1/classes.rb +124 -56
  114. data/generated/google/apis/cloudiot_v1.rb +1 -1
  115. data/generated/google/apis/cloudkms_v1/classes.rb +162 -56
  116. data/generated/google/apis/cloudkms_v1/representations.rb +16 -0
  117. data/generated/google/apis/cloudkms_v1.rb +1 -1
  118. data/generated/google/apis/cloudprivatecatalog_v1beta1.rb +1 -1
  119. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +49 -15
  120. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  121. data/generated/google/apis/cloudprofiler_v2.rb +1 -1
  122. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +124 -56
  123. data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -3
  124. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  125. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +124 -56
  126. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +1 -1
  127. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  128. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +124 -56
  129. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  130. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +124 -56
  131. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  132. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  133. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  134. data/generated/google/apis/cloudsearch_v1/classes.rb +11 -2
  135. data/generated/google/apis/cloudsearch_v1/representations.rb +1 -0
  136. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  137. data/generated/google/apis/cloudshell_v1.rb +1 -1
  138. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  139. data/generated/google/apis/cloudtasks_v2/classes.rb +130 -62
  140. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  141. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +124 -56
  142. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  143. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +130 -62
  144. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  145. data/generated/google/apis/cloudtrace_v1/service.rb +6 -0
  146. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  147. data/generated/google/apis/cloudtrace_v2/classes.rb +5 -3
  148. data/generated/google/apis/cloudtrace_v2/service.rb +4 -0
  149. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  150. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  151. data/generated/google/apis/composer_v1/classes.rb +2 -0
  152. data/generated/google/apis/composer_v1.rb +1 -1
  153. data/generated/google/apis/composer_v1beta1/classes.rb +59 -0
  154. data/generated/google/apis/composer_v1beta1/representations.rb +30 -0
  155. data/generated/google/apis/composer_v1beta1.rb +1 -1
  156. data/generated/google/apis/compute_alpha/classes.rb +710 -503
  157. data/generated/google/apis/compute_alpha/representations.rb +51 -51
  158. data/generated/google/apis/compute_alpha/service.rb +1383 -1097
  159. data/generated/google/apis/compute_alpha.rb +1 -1
  160. data/generated/google/apis/compute_beta/classes.rb +2543 -395
  161. data/generated/google/apis/compute_beta/representations.rb +805 -4
  162. data/generated/google/apis/compute_beta/service.rb +7496 -5509
  163. data/generated/google/apis/compute_beta.rb +1 -1
  164. data/generated/google/apis/compute_v1/classes.rb +1713 -562
  165. data/generated/google/apis/compute_v1/representations.rb +441 -0
  166. data/generated/google/apis/compute_v1/service.rb +1513 -860
  167. data/generated/google/apis/compute_v1.rb +1 -1
  168. data/generated/google/apis/container_v1/classes.rb +247 -3
  169. data/generated/google/apis/container_v1/representations.rb +74 -0
  170. data/generated/google/apis/container_v1/service.rb +8 -0
  171. data/generated/google/apis/container_v1.rb +1 -1
  172. data/generated/google/apis/container_v1beta1/classes.rb +284 -80
  173. data/generated/google/apis/container_v1beta1/representations.rb +85 -0
  174. data/generated/google/apis/container_v1beta1/service.rb +129 -121
  175. data/generated/google/apis/container_v1beta1.rb +1 -1
  176. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +124 -56
  177. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  178. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +126 -58
  179. data/generated/google/apis/containeranalysis_v1beta1/service.rb +26 -20
  180. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  181. data/generated/google/apis/content_v2/classes.rb +143 -42
  182. data/generated/google/apis/content_v2/representations.rb +47 -0
  183. data/generated/google/apis/content_v2/service.rb +33 -0
  184. data/generated/google/apis/content_v2.rb +1 -1
  185. data/generated/google/apis/content_v2_1/classes.rb +237 -42
  186. data/generated/google/apis/content_v2_1/representations.rb +94 -0
  187. data/generated/google/apis/content_v2_1/service.rb +77 -0
  188. data/generated/google/apis/content_v2_1.rb +1 -1
  189. data/generated/google/apis/datacatalog_v1beta1/classes.rb +241 -72
  190. data/generated/google/apis/datacatalog_v1beta1/representations.rb +34 -0
  191. data/generated/google/apis/datacatalog_v1beta1/service.rb +159 -69
  192. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  193. data/generated/google/apis/dataflow_v1b3/classes.rb +189 -2
  194. data/generated/google/apis/dataflow_v1b3/representations.rb +97 -0
  195. data/generated/google/apis/dataflow_v1b3/service.rb +38 -0
  196. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  197. data/generated/google/apis/datafusion_v1beta1/classes.rb +134 -387
  198. data/generated/google/apis/datafusion_v1beta1/representations.rb +1 -132
  199. data/generated/google/apis/datafusion_v1beta1/service.rb +5 -1
  200. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  201. data/generated/google/apis/dataproc_v1/classes.rb +229 -165
  202. data/generated/google/apis/dataproc_v1/service.rb +16 -14
  203. data/generated/google/apis/dataproc_v1.rb +1 -1
  204. data/generated/google/apis/dataproc_v1beta2/classes.rb +228 -164
  205. data/generated/google/apis/dataproc_v1beta2/service.rb +28 -26
  206. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  207. data/generated/google/apis/datastore_v1/classes.rb +16 -22
  208. data/generated/google/apis/datastore_v1/service.rb +10 -10
  209. data/generated/google/apis/datastore_v1.rb +1 -1
  210. data/generated/google/apis/datastore_v1beta3/classes.rb +5 -4
  211. data/generated/google/apis/datastore_v1beta3/service.rb +8 -8
  212. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  213. data/generated/google/apis/dfareporting_v3_4/classes.rb +88 -88
  214. data/generated/google/apis/dfareporting_v3_4/representations.rb +39 -39
  215. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  216. data/generated/google/apis/dialogflow_v2/classes.rb +551 -21
  217. data/generated/google/apis/dialogflow_v2/representations.rb +191 -0
  218. data/generated/google/apis/dialogflow_v2/service.rb +477 -0
  219. data/generated/google/apis/dialogflow_v2.rb +1 -1
  220. data/generated/google/apis/dialogflow_v2beta1/classes.rb +449 -21
  221. data/generated/google/apis/dialogflow_v2beta1/representations.rb +160 -0
  222. data/generated/google/apis/dialogflow_v2beta1/service.rb +939 -45
  223. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  224. data/generated/google/apis/dlp_v2/classes.rb +178 -92
  225. data/generated/google/apis/dlp_v2/representations.rb +42 -0
  226. data/generated/google/apis/dlp_v2/service.rb +56 -56
  227. data/generated/google/apis/dlp_v2.rb +1 -1
  228. data/generated/google/apis/dns_v1/classes.rb +70 -0
  229. data/generated/google/apis/dns_v1/representations.rb +32 -0
  230. data/generated/google/apis/dns_v1.rb +1 -1
  231. data/generated/google/apis/dns_v2beta1/classes.rb +70 -0
  232. data/generated/google/apis/dns_v2beta1/representations.rb +32 -0
  233. data/generated/google/apis/dns_v2beta1.rb +1 -1
  234. data/generated/google/apis/docs_v1/classes.rb +427 -18
  235. data/generated/google/apis/docs_v1/representations.rb +131 -0
  236. data/generated/google/apis/docs_v1.rb +1 -1
  237. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  238. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +34 -0
  239. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +16 -0
  240. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  241. data/generated/google/apis/drive_v2/classes.rb +1 -2
  242. data/generated/google/apis/drive_v2/service.rb +0 -92
  243. data/generated/google/apis/drive_v2.rb +1 -1
  244. data/generated/google/apis/driveactivity_v2/classes.rb +6 -0
  245. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  246. data/generated/google/apis/driveactivity_v2.rb +1 -1
  247. data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
  248. data/generated/google/apis/fcm_v1.rb +1 -1
  249. data/generated/google/apis/file_v1/classes.rb +59 -12
  250. data/generated/google/apis/file_v1/representations.rb +19 -2
  251. data/generated/google/apis/file_v1/service.rb +8 -4
  252. data/generated/google/apis/file_v1.rb +1 -1
  253. data/generated/google/apis/file_v1beta1/classes.rb +60 -13
  254. data/generated/google/apis/file_v1beta1/representations.rb +19 -2
  255. data/generated/google/apis/file_v1beta1/service.rb +8 -4
  256. data/generated/google/apis/file_v1beta1.rb +1 -1
  257. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  258. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  259. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +161 -0
  260. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +64 -0
  261. data/generated/google/apis/firebasehosting_v1beta1/service.rb +67 -0
  262. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  263. data/generated/google/apis/firebaserules_v1/classes.rb +87 -0
  264. data/generated/google/apis/firebaserules_v1/representations.rb +37 -0
  265. data/generated/google/apis/firebaserules_v1.rb +1 -1
  266. data/generated/google/apis/firestore_v1/classes.rb +5 -3
  267. data/generated/google/apis/firestore_v1/service.rb +24 -22
  268. data/generated/google/apis/firestore_v1.rb +1 -1
  269. data/generated/google/apis/firestore_v1beta1/classes.rb +5 -3
  270. data/generated/google/apis/firestore_v1beta1/service.rb +16 -14
  271. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  272. data/generated/google/apis/fitness_v1/classes.rb +8 -4
  273. data/generated/google/apis/fitness_v1/service.rb +26 -8
  274. data/generated/google/apis/fitness_v1.rb +11 -11
  275. data/generated/google/apis/games_management_v1management/service.rb +5 -7
  276. data/generated/google/apis/games_management_v1management.rb +1 -1
  277. data/generated/google/apis/genomics_v1.rb +1 -1
  278. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  279. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  280. data/generated/google/apis/gmail_v1/classes.rb +6 -2
  281. data/generated/google/apis/gmail_v1/service.rb +1 -1
  282. data/generated/google/apis/gmail_v1.rb +13 -1
  283. data/generated/google/apis/healthcare_v1beta1/classes.rb +199 -77
  284. data/generated/google/apis/healthcare_v1beta1/representations.rb +4 -0
  285. data/generated/google/apis/healthcare_v1beta1/service.rb +251 -75
  286. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  287. data/generated/google/apis/homegraph_v1.rb +1 -1
  288. data/generated/google/apis/iam_v1/classes.rb +176 -164
  289. data/generated/google/apis/iam_v1/representations.rb +0 -6
  290. data/generated/google/apis/iam_v1/service.rb +11 -21
  291. data/generated/google/apis/iam_v1.rb +1 -1
  292. data/generated/google/apis/iamcredentials_v1/classes.rb +7 -4
  293. data/generated/google/apis/iamcredentials_v1/service.rb +4 -4
  294. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  295. data/generated/google/apis/iap_v1/classes.rb +291 -57
  296. data/generated/google/apis/iap_v1/representations.rb +85 -0
  297. data/generated/google/apis/iap_v1/service.rb +290 -0
  298. data/generated/google/apis/iap_v1.rb +1 -1
  299. data/generated/google/apis/iap_v1beta1/classes.rb +124 -55
  300. data/generated/google/apis/iap_v1beta1.rb +1 -1
  301. data/generated/google/apis/jobs_v3/classes.rb +1 -0
  302. data/generated/google/apis/jobs_v3.rb +1 -1
  303. data/generated/google/apis/jobs_v3p1beta1/classes.rb +8 -2
  304. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  305. data/generated/google/apis/kgsearch_v1.rb +1 -1
  306. data/generated/google/apis/language_v1.rb +1 -1
  307. data/generated/google/apis/language_v1beta1.rb +1 -1
  308. data/generated/google/apis/language_v1beta2/classes.rb +15 -0
  309. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  310. data/generated/google/apis/language_v1beta2.rb +1 -1
  311. data/generated/google/apis/libraryagent_v1.rb +1 -1
  312. data/generated/google/apis/logging_v2/classes.rb +129 -39
  313. data/generated/google/apis/logging_v2/representations.rb +16 -0
  314. data/generated/google/apis/logging_v2/service.rb +186 -1
  315. data/generated/google/apis/logging_v2.rb +3 -2
  316. data/generated/google/apis/manufacturers_v1.rb +1 -1
  317. data/generated/google/apis/ml_v1/classes.rb +145 -47
  318. data/generated/google/apis/ml_v1/representations.rb +15 -0
  319. data/generated/google/apis/ml_v1/service.rb +14 -22
  320. data/generated/google/apis/ml_v1.rb +4 -1
  321. data/generated/google/apis/monitoring_v1/classes.rb +159 -120
  322. data/generated/google/apis/monitoring_v1/representations.rb +0 -18
  323. data/generated/google/apis/monitoring_v1/service.rb +11 -10
  324. data/generated/google/apis/monitoring_v1.rb +1 -1
  325. data/generated/google/apis/monitoring_v3/classes.rb +214 -106
  326. data/generated/google/apis/monitoring_v3/representations.rb +18 -1
  327. data/generated/google/apis/monitoring_v3/service.rb +178 -153
  328. data/generated/google/apis/monitoring_v3.rb +1 -1
  329. data/generated/google/apis/osconfig_v1beta/classes.rb +2357 -0
  330. data/generated/google/apis/osconfig_v1beta/representations.rb +966 -0
  331. data/generated/google/apis/osconfig_v1beta/service.rb +605 -0
  332. data/generated/google/apis/osconfig_v1beta.rb +35 -0
  333. data/generated/google/apis/oslogin_v1/service.rb +0 -1
  334. data/generated/google/apis/oslogin_v1.rb +1 -2
  335. data/generated/google/apis/oslogin_v1alpha/service.rb +0 -1
  336. data/generated/google/apis/oslogin_v1alpha.rb +1 -2
  337. data/generated/google/apis/oslogin_v1beta/service.rb +0 -1
  338. data/generated/google/apis/oslogin_v1beta.rb +1 -2
  339. data/generated/google/apis/pagespeedonline_v5/classes.rb +529 -498
  340. data/generated/google/apis/pagespeedonline_v5/representations.rb +225 -221
  341. data/generated/google/apis/pagespeedonline_v5/service.rb +22 -24
  342. data/generated/google/apis/pagespeedonline_v5.rb +9 -4
  343. data/generated/google/apis/people_v1/classes.rb +14 -13
  344. data/generated/google/apis/people_v1/service.rb +12 -16
  345. data/generated/google/apis/people_v1.rb +4 -1
  346. data/generated/google/apis/policytroubleshooter_v1/classes.rb +752 -0
  347. data/generated/google/apis/policytroubleshooter_v1/representations.rb +203 -0
  348. data/generated/google/apis/policytroubleshooter_v1/service.rb +90 -0
  349. data/generated/google/apis/policytroubleshooter_v1.rb +34 -0
  350. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +71 -19
  351. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  352. data/generated/google/apis/poly_v1.rb +1 -1
  353. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1123 -0
  354. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +530 -0
  355. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1388 -0
  356. data/generated/google/apis/{surveys_v2.rb → prod_tt_sasportal_v1alpha1.rb} +9 -15
  357. data/generated/google/apis/pubsub_v1/classes.rb +194 -56
  358. data/generated/google/apis/pubsub_v1/representations.rb +17 -0
  359. data/generated/google/apis/pubsub_v1.rb +1 -1
  360. data/generated/google/apis/pubsub_v1beta2/classes.rb +124 -56
  361. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  362. data/generated/google/apis/recommender_v1beta1/classes.rb +8 -5
  363. data/generated/google/apis/recommender_v1beta1/service.rb +13 -11
  364. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  365. data/generated/google/apis/redis_v1/classes.rb +10 -3
  366. data/generated/google/apis/redis_v1/representations.rb +1 -0
  367. data/generated/google/apis/redis_v1.rb +1 -1
  368. data/generated/google/apis/redis_v1beta1/classes.rb +29 -3
  369. data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
  370. data/generated/google/apis/redis_v1beta1/service.rb +36 -0
  371. data/generated/google/apis/redis_v1beta1.rb +1 -1
  372. data/generated/google/apis/remotebuildexecution_v1/classes.rb +7 -1
  373. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  374. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  375. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +7 -1
  376. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  377. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  378. data/generated/google/apis/remotebuildexecution_v2/classes.rb +7 -1
  379. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  380. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  381. data/generated/google/apis/run_v1/classes.rb +124 -56
  382. data/generated/google/apis/run_v1/service.rb +0 -30
  383. data/generated/google/apis/run_v1.rb +1 -1
  384. data/generated/google/apis/run_v1alpha1/classes.rb +740 -569
  385. data/generated/google/apis/run_v1alpha1/representations.rb +204 -182
  386. data/generated/google/apis/run_v1alpha1/service.rb +764 -358
  387. data/generated/google/apis/run_v1alpha1.rb +1 -1
  388. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  389. data/generated/google/apis/run_v1beta1.rb +4 -1
  390. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  391. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +49 -15
  392. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  393. data/generated/google/apis/safebrowsing_v4/classes.rb +2 -2
  394. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  395. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1123 -0
  396. data/generated/google/apis/sasportal_v1alpha1/representations.rb +530 -0
  397. data/generated/google/apis/sasportal_v1alpha1/service.rb +1388 -0
  398. data/generated/google/apis/{fusiontables_v1.rb → sasportal_v1alpha1.rb} +11 -14
  399. data/generated/google/apis/script_v1.rb +1 -1
  400. data/generated/google/apis/searchconsole_v1.rb +1 -1
  401. data/generated/google/apis/secretmanager_v1beta1/classes.rb +970 -0
  402. data/generated/google/apis/{servicebroker_v1alpha1 → secretmanager_v1beta1}/representations.rb +140 -119
  403. data/generated/google/apis/secretmanager_v1beta1/service.rb +675 -0
  404. data/generated/google/apis/{servicebroker_v1beta1.rb → secretmanager_v1beta1.rb} +9 -10
  405. data/generated/google/apis/securitycenter_v1/classes.rb +467 -15
  406. data/generated/google/apis/securitycenter_v1/representations.rb +141 -0
  407. data/generated/google/apis/securitycenter_v1/service.rb +6 -0
  408. data/generated/google/apis/securitycenter_v1.rb +1 -1
  409. data/generated/google/apis/securitycenter_v1beta1/classes.rb +442 -15
  410. data/generated/google/apis/securitycenter_v1beta1/representations.rb +138 -0
  411. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  412. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +393 -0
  413. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +138 -0
  414. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  415. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +1999 -0
  416. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +699 -0
  417. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +1315 -0
  418. data/generated/google/apis/securitycenter_v1p1beta1.rb +35 -0
  419. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +225 -3
  420. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +51 -0
  421. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  422. data/generated/google/apis/servicecontrol_v1/classes.rb +242 -3
  423. data/generated/google/apis/servicecontrol_v1/representations.rb +86 -0
  424. data/generated/google/apis/servicecontrol_v1/service.rb +2 -1
  425. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  426. data/generated/google/apis/servicemanagement_v1/classes.rb +169 -18
  427. data/generated/google/apis/servicemanagement_v1/representations.rb +19 -0
  428. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  429. data/generated/google/apis/servicenetworking_v1/classes.rb +178 -3
  430. data/generated/google/apis/servicenetworking_v1/representations.rb +33 -0
  431. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  432. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  433. data/generated/google/apis/servicenetworking_v1beta/classes.rb +156 -3
  434. data/generated/google/apis/servicenetworking_v1beta/representations.rb +20 -0
  435. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  436. data/generated/google/apis/serviceusage_v1/classes.rb +156 -3
  437. data/generated/google/apis/serviceusage_v1/representations.rb +20 -0
  438. data/generated/google/apis/serviceusage_v1.rb +1 -1
  439. data/generated/google/apis/serviceusage_v1beta1/classes.rb +156 -3
  440. data/generated/google/apis/serviceusage_v1beta1/representations.rb +20 -0
  441. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  442. data/generated/google/apis/sheets_v4/classes.rb +380 -31
  443. data/generated/google/apis/sheets_v4/representations.rb +103 -0
  444. data/generated/google/apis/sheets_v4/service.rb +9 -11
  445. data/generated/google/apis/sheets_v4.rb +1 -1
  446. data/generated/google/apis/sourcerepo_v1/classes.rb +172 -65
  447. data/generated/google/apis/sourcerepo_v1/service.rb +9 -1
  448. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  449. data/generated/google/apis/spanner_v1/classes.rb +153 -66
  450. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  451. data/generated/google/apis/spanner_v1/service.rb +7 -2
  452. data/generated/google/apis/spanner_v1.rb +1 -1
  453. data/generated/google/apis/speech_v1/classes.rb +1 -8
  454. data/generated/google/apis/speech_v1/representations.rb +0 -1
  455. data/generated/google/apis/speech_v1.rb +1 -1
  456. data/generated/google/apis/speech_v1p1beta1/classes.rb +3 -8
  457. data/generated/google/apis/speech_v1p1beta1/representations.rb +0 -1
  458. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  459. data/generated/google/apis/sql_v1beta4/classes.rb +204 -5
  460. data/generated/google/apis/sql_v1beta4/representations.rb +84 -0
  461. data/generated/google/apis/sql_v1beta4/service.rb +279 -14
  462. data/generated/google/apis/sql_v1beta4.rb +1 -1
  463. data/generated/google/apis/storage_v1/classes.rb +16 -7
  464. data/generated/google/apis/storage_v1/service.rb +1 -1
  465. data/generated/google/apis/storage_v1.rb +1 -1
  466. data/generated/google/apis/storage_v1beta2/service.rb +1 -1
  467. data/generated/google/apis/storage_v1beta2.rb +1 -1
  468. data/generated/google/apis/storagetransfer_v1/classes.rb +13 -4
  469. data/generated/google/apis/storagetransfer_v1/service.rb +4 -32
  470. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  471. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  472. data/generated/google/apis/tagmanager_v1/classes.rb +2 -0
  473. data/generated/google/apis/tagmanager_v1.rb +1 -1
  474. data/generated/google/apis/tagmanager_v2/classes.rb +170 -0
  475. data/generated/google/apis/tagmanager_v2/representations.rb +49 -0
  476. data/generated/google/apis/tagmanager_v2.rb +1 -1
  477. data/generated/google/apis/tasks_v1/service.rb +4 -1
  478. data/generated/google/apis/tasks_v1.rb +1 -1
  479. data/generated/google/apis/testing_v1/classes.rb +2 -2
  480. data/generated/google/apis/testing_v1.rb +1 -1
  481. data/generated/google/apis/toolresults_v1/classes.rb +696 -0
  482. data/generated/google/apis/toolresults_v1/representations.rb +438 -0
  483. data/generated/google/apis/toolresults_v1/service.rb +59 -0
  484. data/generated/google/apis/{analytics_v2_4/representations.rb → toolresults_v1.rb} +11 -6
  485. data/generated/google/apis/toolresults_v1beta3/classes.rb +374 -2
  486. data/generated/google/apis/toolresults_v1beta3/representations.rb +109 -0
  487. data/generated/google/apis/toolresults_v1beta3/service.rb +98 -0
  488. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  489. data/generated/google/apis/tpu_v1/classes.rb +0 -1
  490. data/generated/google/apis/tpu_v1.rb +1 -1
  491. data/generated/google/apis/tpu_v1alpha1/classes.rb +0 -1
  492. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  493. data/generated/google/apis/translate_v3/classes.rb +943 -0
  494. data/generated/google/apis/translate_v3/representations.rb +439 -0
  495. data/generated/google/apis/translate_v3/service.rb +781 -0
  496. data/generated/google/apis/translate_v3.rb +37 -0
  497. data/generated/google/apis/videointelligence_v1/classes.rb +97 -0
  498. data/generated/google/apis/videointelligence_v1/representations.rb +51 -0
  499. data/generated/google/apis/videointelligence_v1.rb +1 -1
  500. data/generated/google/apis/videointelligence_v1beta2/classes.rb +97 -0
  501. data/generated/google/apis/videointelligence_v1beta2/representations.rb +51 -0
  502. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  503. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +97 -0
  504. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +51 -0
  505. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  506. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +97 -0
  507. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +51 -0
  508. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  509. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +184 -0
  510. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +85 -0
  511. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  512. data/generated/google/apis/vision_v1/service.rb +1 -1
  513. data/generated/google/apis/vision_v1.rb +1 -1
  514. data/generated/google/apis/websecurityscanner_v1/classes.rb +63 -0
  515. data/generated/google/apis/websecurityscanner_v1/representations.rb +31 -0
  516. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  517. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  518. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +63 -0
  519. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +31 -0
  520. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  521. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  522. data/generated/google/apis/youtube_analytics_v2.rb +1 -1
  523. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  524. data/generated/google/apis/youtube_v3/classes.rb +61 -9
  525. data/generated/google/apis/youtube_v3/representations.rb +8 -1
  526. data/generated/google/apis/youtube_v3/service.rb +8 -2
  527. data/generated/google/apis/youtube_v3.rb +1 -1
  528. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  529. data/lib/google/apis/core/base_service.rb +1 -1
  530. data/lib/google/apis/core/http_command.rb +1 -2
  531. data/lib/google/apis/version.rb +1 -1
  532. metadata +51 -39
  533. data/generated/google/apis/analytics_v2_4/service.rb +0 -331
  534. data/generated/google/apis/analytics_v2_4.rb +0 -37
  535. data/generated/google/apis/fusiontables_v1/classes.rb +0 -977
  536. data/generated/google/apis/fusiontables_v1/representations.rb +0 -449
  537. data/generated/google/apis/fusiontables_v1/service.rb +0 -1307
  538. data/generated/google/apis/fusiontables_v2/classes.rb +0 -1049
  539. data/generated/google/apis/fusiontables_v2/representations.rb +0 -457
  540. data/generated/google/apis/fusiontables_v2/service.rb +0 -1431
  541. data/generated/google/apis/fusiontables_v2.rb +0 -37
  542. data/generated/google/apis/plus_domains_v1/classes.rb +0 -2609
  543. data/generated/google/apis/plus_domains_v1/representations.rb +0 -1111
  544. data/generated/google/apis/plus_domains_v1/service.rb +0 -489
  545. data/generated/google/apis/plus_domains_v1.rb +0 -55
  546. data/generated/google/apis/replicapool_v1beta1/classes.rb +0 -918
  547. data/generated/google/apis/replicapool_v1beta1/representations.rb +0 -409
  548. data/generated/google/apis/replicapool_v1beta1/service.rb +0 -489
  549. data/generated/google/apis/replicapool_v1beta1.rb +0 -50
  550. data/generated/google/apis/servicebroker_v1/classes.rb +0 -368
  551. data/generated/google/apis/servicebroker_v1/representations.rb +0 -114
  552. data/generated/google/apis/servicebroker_v1/service.rb +0 -177
  553. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +0 -1072
  554. data/generated/google/apis/servicebroker_v1alpha1/service.rb +0 -737
  555. data/generated/google/apis/servicebroker_v1beta1/classes.rb +0 -1208
  556. data/generated/google/apis/servicebroker_v1beta1/representations.rb +0 -416
  557. data/generated/google/apis/servicebroker_v1beta1/service.rb +0 -926
  558. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  559. data/generated/google/apis/surveys_v2/representations.rb +0 -305
  560. data/generated/google/apis/surveys_v2/service.rb +0 -348
@@ -56,8 +56,7 @@ module Google
56
56
  # Google Cloud Platform provides graphics processing units (accelerators) that
57
57
  # you can add to VM instances to improve or accelerate performance when working
58
58
  # with intensive workloads. For more information, read GPUs on Compute Engine. (=
59
- # = resource_for beta.acceleratorTypes ==) (== resource_for v1.acceleratorTypes =
60
- # =)
59
+ # = resource_for `$api_version`.acceleratorTypes ==)
61
60
  class AcceleratorType
62
61
  include Google::Apis::Core::Hashable
63
62
 
@@ -510,7 +509,7 @@ module Google
510
509
  # @return [String]
511
510
  attr_accessor :public_ptr_domain_name
512
511
 
513
- # Specifies whether a public DNS ?A? record should be created for the external
512
+ # Specifies whether a public DNS 'A' record should be created for the external
514
513
  # IP address of this access configuration.
515
514
  # Corresponds to the JSON property `setPublicDns`
516
515
  # @return [Boolean]
@@ -547,21 +546,22 @@ module Google
547
546
  end
548
547
  end
549
548
 
550
- # Represents an IP Address resource.
551
- # An address resource represents a regional internal IP address. Regional
552
- # internal IP addresses are RFC 1918 addresses that come from either a primary
553
- # or secondary IP range of a subnet in a VPC network. Regional external IP
554
- # addresses can be assigned to GCP VM instances, Cloud VPN gateways, regional
555
- # external forwarding rules for network load balancers (in either Standard or
556
- # Premium Tier), and regional external forwarding rules for HTTP(S), SSL Proxy,
557
- # and TCP Proxy load balancers in Standard Tier. For more information, read IP
558
- # addresses.
559
- # A globalAddresses resource represent a global external IP address. Global
560
- # external IP addresses are IPv4 or IPv6 addresses. They can only be assigned to
561
- # global forwarding rules for HTTP(S), SSL Proxy, or TCP Proxy load balancers in
562
- # Premium Tier. For more information, read Global resources. (== resource_for
563
- # beta.addresses ==) (== resource_for v1.addresses ==) (== resource_for beta.
564
- # globalAddresses ==) (== resource_for v1.globalAddresses ==)
549
+ # Use global external addresses for GFE-based external HTTP(S) load balancers in
550
+ # Premium Tier.
551
+ # Use global internal addresses for reserved peering network range.
552
+ # Use regional external addresses for the following resources:
553
+ # - External IP addresses for VM instances - Regional external forwarding rules -
554
+ # Cloud NAT external IP addresses - GFE based LBs in Standard Tier - Network
555
+ # LBs in Premium or Standard Tier - Cloud VPN gateways (both Classic and HA)
556
+ # Use regional internal IP addresses for subnet IP ranges (primary and secondary)
557
+ # . This includes:
558
+ # - Internal IP addresses for VM instances - Alias IP ranges of VM instances (/
559
+ # 32 only) - Regional internal forwarding rules - Internal TCP/UDP load balancer
560
+ # addresses - Internal HTTP(S) load balancer addresses - Cloud DNS inbound
561
+ # forwarding IP addresses
562
+ # For more information, read reserved IP address.
563
+ # (== resource_for `$api_version`.addresses ==) (== resource_for `$api_version`.
564
+ # globalAddresses ==)
565
565
  class Address
566
566
  include Google::Apis::Core::Hashable
567
567
 
@@ -1222,8 +1222,7 @@ module Google
1222
1222
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
1223
1223
  attr_accessor :disk_encryption_key
1224
1224
 
1225
- # The size of the disk in base-2 GB. This supersedes disk_size_gb in
1226
- # InitializeParams.
1225
+ # The size of the disk in GB.
1227
1226
  # Corresponds to the JSON property `diskSizeGb`
1228
1227
  # @return [Fixnum]
1229
1228
  attr_accessor :disk_size_gb
@@ -1355,9 +1354,10 @@ module Google
1355
1354
  # @return [String]
1356
1355
  attr_accessor :disk_name
1357
1356
 
1358
- # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1359
- # be the same size as the image (usually 10GB). If specified, the size must be
1360
- # equal to or larger than 10GB.
1357
+ # Specifies the size of the disk in base-2 GB. The size must be at least 10 GB.
1358
+ # If you specify a sourceImage, which is required for boot disks, the default
1359
+ # size is the size of the sourceImage. If you do not specify a sourceImage, the
1360
+ # default disk size is 500 GB.
1361
1361
  # Corresponds to the JSON property `diskSizeGb`
1362
1362
  # @return [Fixnum]
1363
1363
  attr_accessor :disk_size_gb
@@ -1653,14 +1653,16 @@ module Google
1653
1653
  end
1654
1654
 
1655
1655
  # Represents an Autoscaler resource.
1656
+ # Google Compute Engine has two Autoscaler resources:
1657
+ # * [Global](/compute/docs/reference/rest/latest/autoscalers) * [Regional](/
1658
+ # compute/docs/reference/rest/latest/regionAutoscalers)
1656
1659
  # Use autoscalers to automatically add or delete instances from a managed
1657
1660
  # instance group according to your defined autoscaling policy. For more
1658
1661
  # information, read Autoscaling Groups of Instances.
1659
1662
  # For zonal managed instance groups resource, use the autoscaler resource.
1660
1663
  # For regional managed instance groups, use the regionAutoscalers resource. (==
1661
- # resource_for beta.autoscalers ==) (== resource_for v1.autoscalers ==) (==
1662
- # resource_for beta.regionAutoscalers ==) (== resource_for v1.regionAutoscalers =
1663
- # =)
1664
+ # resource_for `$api_version`.autoscalers ==) (== resource_for `$api_version`.
1665
+ # regionAutoscalers ==)
1664
1666
  class Autoscaler
1665
1667
  include Google::Apis::Core::Hashable
1666
1668
 
@@ -1727,12 +1729,13 @@ module Google
1727
1729
  attr_accessor :self_link_with_id
1728
1730
 
1729
1731
  # [Output Only] The status of the autoscaler configuration. Current set of
1730
- # possible values: PENDING: Autoscaler backend hasn't read new/updated
1731
- # configuration DELETING: Configuration is being deleted ACTIVE: Configuration
1732
- # is acknowledged to be effective. Some warnings might or might not be present
1733
- # in the status_details field. ERROR: Configuration has errors. Actionable for
1734
- # users. Details are present in the status_details field. New values might be
1735
- # added in the future.
1732
+ # possible values:
1733
+ # - PENDING: Autoscaler backend hasn't read new/updated configuration.
1734
+ # - DELETING: Configuration is being deleted.
1735
+ # - ACTIVE: Configuration is acknowledged to be effective. Some warnings might
1736
+ # be present in the statusDetails field.
1737
+ # - ERROR: Configuration has errors. Actionable for users. Details are present
1738
+ # in the statusDetails field. New values might be added in the future.
1736
1739
  # Corresponds to the JSON property `status`
1737
1740
  # @return [String]
1738
1741
  attr_accessor :status
@@ -2023,38 +2026,45 @@ module Google
2023
2026
  # @return [String]
2024
2027
  attr_accessor :message
2025
2028
 
2026
- # The type of error, warning or notice returned. Current set of possible values:
2027
- # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
2028
- # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR):
2029
- # There is no backend service attached to the instance group.
2030
- # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than
2031
- # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom
2032
- # metric samples are not exported often enough to be a credible base for
2033
- # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was
2034
- # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX
2035
- # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the
2036
- # autoscaler cannot add or remove instances from the instance group.
2037
- # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
2029
+ # The type of error, warning, or notice returned. Current set of possible values:
2030
+ #
2031
+ # - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
2032
+ # unhealthy (not in RUNNING state).
2033
+ # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached
2034
+ # to the instance group.
2035
+ # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater
2036
+ # than maxNumReplicas.
2037
+ # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples
2038
+ # are not exported often enough to be a credible base for autoscaling.
2039
+ # - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not
2040
+ # exist or does not have the necessary labels.
2041
+ # - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas.
2042
+ # This means the autoscaler cannot add or remove instances from the instance
2043
+ # group.
2044
+ # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
2038
2045
  # any data from the custom metric configured for autoscaling.
2039
- # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to
2040
- # scale based on a load balancing signal but the instance group has not received
2041
- # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned
2042
- # off. The number of instances in the group won't change automatically. The
2043
- # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is
2044
- # in the "Autoscale only up" mode. Instances in the group will be only added.
2045
- # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled
2046
- # because it has more than one backend service attached to it.
2047
- # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources,
2048
- # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR):
2049
- # Showed only for regional autoscalers: there is a resource stockout in the
2050
- # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled
2051
- # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR):
2052
- # Autoscaling does not work with an HTTP/S load balancer that has been
2053
- # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers:
2054
- # there is a resource stockout in the chosen zone. For regional autoscalers: in
2055
- # at least one of the zones you're using there is a resource stockout. New
2056
- # values might be added in the future. Some of the values might not be available
2057
- # in all API versions.
2046
+ # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured
2047
+ # to scale based on a load balancing signal but the instance group has not
2048
+ # received any requests from the load balancer.
2049
+ # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in
2050
+ # the group won't change automatically. The autoscaling configuration is
2051
+ # preserved.
2052
+ # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The
2053
+ # autoscaler can add instances but not remove any.
2054
+ # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be
2055
+ # autoscaled because it has more than one backend service attached to it.
2056
+ # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the
2057
+ # necessary resources, such as CPU or number of instances.
2058
+ # - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there
2059
+ # is a resource stockout in the chosen region.
2060
+ # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not
2061
+ # exist.
2062
+ # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does
2063
+ # not work with an HTTP/S load balancer that has been configured for maxRate.
2064
+ # - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource
2065
+ # stockout in the chosen zone. For regional autoscalers: in at least one of the
2066
+ # zones you're using there is a resource stockout. New values might be added in
2067
+ # the future. Some of the values might not be available in all API versions.
2058
2068
  # Corresponds to the JSON property `type`
2059
2069
  # @return [String]
2060
2070
  attr_accessor :type
@@ -2454,6 +2464,40 @@ module Google
2454
2464
  # @return [Google::Apis::ComputeAlpha::FixedOrPercent]
2455
2465
  attr_accessor :max_scaled_down_replicas
2456
2466
 
2467
+ # A Duration represents a signed, fixed-length span of time represented as a
2468
+ # count of seconds and fractions of seconds at nanosecond resolution. It is
2469
+ # independent of any calendar and concepts like "day" or "month". It is related
2470
+ # to Timestamp in that the difference between two Timestamp values is a Duration
2471
+ # and it can be added or subtracted from a Timestamp. Range is approximately +-
2472
+ # 10,000 years.
2473
+ # # Examples
2474
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
2475
+ # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
2476
+ # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos -
2477
+ # start.nanos;
2478
+ # if (duration.seconds 0) ` duration.seconds += 1; duration.nanos -= 1000000000;
2479
+ # ` else if (duration.seconds > 0 && duration.nanos < 0) ` duration.seconds -=
2480
+ # 1; duration.nanos += 1000000000; `
2481
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
2482
+ # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
2483
+ # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos +
2484
+ # duration.nanos;
2485
+ # if (end.nanos = 1000000000) ` end.seconds += 1; end.nanos -= 1000000000; `
2486
+ # Example 3: Compute Duration from datetime.timedelta in Python.
2487
+ # td = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.
2488
+ # FromTimedelta(td)
2489
+ # # JSON Mapping
2490
+ # In JSON format, the Duration type is encoded as a string rather than an object,
2491
+ # where the string ends in the suffix "s" (indicating seconds) and is preceded
2492
+ # by the number of seconds, with nanoseconds expressed as fractional seconds.
2493
+ # For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "
2494
+ # 3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.
2495
+ # 000000001s", and 3 seconds and 1 microsecond should be expressed in JSON
2496
+ # format as "3.000001s".
2497
+ # Corresponds to the JSON property `timeWindow`
2498
+ # @return [Google::Apis::ComputeAlpha::GoogleDuration]
2499
+ attr_accessor :time_window
2500
+
2457
2501
  # How long back autoscaling should look when computing recommendations to
2458
2502
  # include directives regarding slower scale down, as described above.
2459
2503
  # Corresponds to the JSON property `timeWindowSec`
@@ -2467,6 +2511,7 @@ module Google
2467
2511
  # Update properties of this object
2468
2512
  def update!(**args)
2469
2513
  @max_scaled_down_replicas = args[:max_scaled_down_replicas] if args.key?(:max_scaled_down_replicas)
2514
+ @time_window = args[:time_window] if args.key?(:time_window)
2470
2515
  @time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec)
2471
2516
  end
2472
2517
  end
@@ -2882,8 +2927,12 @@ module Google
2882
2927
  # Represents a Backend Service resource.
2883
2928
  # A backend service contains configuration values for Google Cloud Platform load
2884
2929
  # balancing services.
2930
+ # Backend services in Google Compute Engine can be either regionally or globally
2931
+ # scoped.
2932
+ # * [Global](/compute/docs/reference/rest/latest/backendServices) * [Regional](/
2933
+ # compute/docs/reference/rest/latest/regionBackendServices)
2885
2934
  # For more information, read Backend Services.
2886
- # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2935
+ # (== resource_for `$api_version`.backendService ==)
2887
2936
  class BackendService
2888
2937
  include Google::Apis::Core::Hashable
2889
2938
 
@@ -2961,9 +3010,11 @@ module Google
2961
3010
 
2962
3011
  # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
2963
3012
  # health checking this BackendService. Currently at most one health check can be
2964
- # specified, and a health check is required for Compute Engine backend services.
2965
- # A health check must not be specified for App Engine backend and Cloud Function
2966
- # backend.
3013
+ # specified. Health check is optional for Compute Engine backend services if
3014
+ # there is no backend. A health check must not be specified when adding Internet
3015
+ # Network Endpoint Group or Serverless Network Endpoint Group as backends. In
3016
+ # all other cases, a health check is required for Compute Engine backend
3017
+ # services.
2967
3018
  # For internal load balancing, a URL to a HealthCheck resource must be specified
2968
3019
  # instead.
2969
3020
  # Corresponds to the JSON property `healthChecks`
@@ -3020,6 +3071,8 @@ module Google
3020
3071
  # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
3021
3072
  # - A global backend service with the load_balancing_scheme set to
3022
3073
  # INTERNAL_SELF_MANAGED.
3074
+ # If sessionAffinity is not NONE, and this field is not set to >MAGLEV or
3075
+ # RING_HASH, session affinity settings will not take effect.
3023
3076
  # Corresponds to the JSON property `localityLbPolicy`
3024
3077
  # @return [String]
3025
3078
  attr_accessor :locality_lb_policy
@@ -3116,8 +3169,9 @@ module Google
3116
3169
  # HTTPS.
3117
3170
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
3118
3171
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3119
- # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
3120
- # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
3172
+ # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
3173
+ # possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or
3174
+ # HTTP_COOKIE.
3121
3175
  # Corresponds to the JSON property `sessionAffinity`
3122
3176
  # @return [String]
3123
3177
  attr_accessor :session_affinity
@@ -4035,6 +4089,22 @@ module Google
4035
4089
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
4036
4090
  # * `group:`emailid``: An email address that represents a Google group. For
4037
4091
  # example, `admins@example.com`.
4092
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
4093
+ # identifier) representing a user that has been recently deleted. For example, `
4094
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
4095
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
4096
+ # the binding.
4097
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
4098
+ # unique identifier) representing a service account that has been recently
4099
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
4100
+ # 123456789012345678901`. If the service account is undeleted, this value
4101
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
4102
+ # retains the role in the binding.
4103
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
4104
+ # identifier) representing a Google group that has been recently deleted. For
4105
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
4106
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
4107
+ # retains the role in the binding.
4038
4108
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
4039
4109
  # users of that domain. For example, `google.com` or `example.com`.
4040
4110
  # Corresponds to the JSON property `members`
@@ -4308,8 +4378,8 @@ module Google
4308
4378
  # Creating a commitment resource means that you are purchasing a committed use
4309
4379
  # contract with an explicit start and end time. You can create commitments based
4310
4380
  # on vCPUs and memory usage and receive discounted rates. For full details, read
4311
- # Signing Up for Committed Use Discounts. (== resource_for beta.
4312
- # regionCommitments ==) (== resource_for v1.regionCommitments ==)
4381
+ # Signing Up for Committed Use Discounts. (== resource_for `$api_version`.
4382
+ # regionCommitments ==)
4313
4383
  class Commitment
4314
4384
  include Google::Apis::Core::Hashable
4315
4385
 
@@ -4349,10 +4419,10 @@ module Google
4349
4419
  # @return [String]
4350
4420
  attr_accessor :kind
4351
4421
 
4352
- # A list of commitment amounts for particular licenses.
4353
- # Corresponds to the JSON property `licenseResources`
4354
- # @return [Array<Google::Apis::ComputeAlpha::LicenseResourceCommitment>]
4355
- attr_accessor :license_resources
4422
+ # Commitment for a particular license resource.
4423
+ # Corresponds to the JSON property `licenseResource`
4424
+ # @return [Google::Apis::ComputeAlpha::LicenseResourceCommitment]
4425
+ attr_accessor :license_resource
4356
4426
 
4357
4427
  # Name of the resource. Provided by the client when the resource is created. The
4358
4428
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
@@ -4433,7 +4503,7 @@ module Google
4433
4503
  @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
4434
4504
  @id = args[:id] if args.key?(:id)
4435
4505
  @kind = args[:kind] if args.key?(:kind)
4436
- @license_resources = args[:license_resources] if args.key?(:license_resources)
4506
+ @license_resource = args[:license_resource] if args.key?(:license_resource)
4437
4507
  @name = args[:name] if args.key?(:name)
4438
4508
  @plan = args[:plan] if args.key?(:plan)
4439
4509
  @region = args[:region] if args.key?(:region)
@@ -4981,8 +5051,8 @@ module Google
4981
5051
  # @return [Array<String>]
4982
5052
  attr_accessor :expose_headers
4983
5053
 
4984
- # Specifies how long the results of a preflight request can be cached. This
4985
- # translates to the content for the Access-Control-Max-Age header.
5054
+ # Specifies how long results of a preflight request can be cached in seconds.
5055
+ # This translates to the Access-Control-Max-Age header.
4986
5056
  # Corresponds to the JSON property `maxAge`
4987
5057
  # @return [Fixnum]
4988
5058
  attr_accessor :max_age
@@ -5014,7 +5084,7 @@ module Google
5014
5084
  attr_accessor :kms_key_name
5015
5085
 
5016
5086
  # The service account being used for the encryption request for the given KMS
5017
- # key. If absent, default GCE compute robot account will be used
5087
+ # key. If absent, the Compute Engine default service account is used.
5018
5088
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5019
5089
  # @return [String]
5020
5090
  attr_accessor :kms_key_service_account
@@ -5140,15 +5210,17 @@ module Google
5140
5210
  end
5141
5211
 
5142
5212
  # Represents a Persistent Disk resource.
5213
+ # Google Compute Engine has two Disk resources:
5214
+ # * [Global](/compute/docs/reference/rest/latest/disks) * [Regional](/compute/
5215
+ # docs/reference/rest/latest/regionDisks)
5143
5216
  # Persistent disks are required for running your VM instances. Create both boot
5144
5217
  # and non-boot (data) persistent disks. For more information, read Persistent
5145
5218
  # Disks. For more storage options, read Storage options.
5146
5219
  # The disks resource represents a zonal persistent disk. For more information,
5147
5220
  # read Zonal persistent disks.
5148
5221
  # The regionDisks resource represents a regional persistent disk. For more
5149
- # information, read Regional resources. (== resource_for beta.disks ==) (==
5150
- # resource_for v1.disks ==) (== resource_for v1.regionDisks ==) (== resource_for
5151
- # beta.regionDisks ==)
5222
+ # information, read Regional resources. (== resource_for `$api_version`.disks ==
5223
+ # ) (== resource_for `$api_version`.regionDisks ==)
5152
5224
  class Disk
5153
5225
  include Google::Apis::Core::Hashable
5154
5226
 
@@ -5375,6 +5447,14 @@ module Google
5375
5447
  # @return [String]
5376
5448
  attr_accessor :source_snapshot_id
5377
5449
 
5450
+ # The full Google Cloud Storage URI where the disk image is stored. This file
5451
+ # must be a gzip-compressed tarball whose name ends in .tar.gz or virtual
5452
+ # machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https:
5453
+ # //storage.googleapis.com/.
5454
+ # Corresponds to the JSON property `sourceStorageObject`
5455
+ # @return [String]
5456
+ attr_accessor :source_storage_object
5457
+
5378
5458
  # [Output Only] The status of disk creation. CREATING: Disk is provisioning.
5379
5459
  # RESTORING: Source data is being copied into the disk. FAILED: Disk creation
5380
5460
  # failed. READY: Disk is ready for use. DELETING: Disk is deleting.
@@ -5444,6 +5524,7 @@ module Google
5444
5524
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
5445
5525
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
5446
5526
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
5527
+ @source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object)
5447
5528
  @status = args[:status] if args.key?(:status)
5448
5529
  @storage_type = args[:storage_type] if args.key?(:storage_type)
5449
5530
  @type = args[:type] if args.key?(:type)
@@ -5774,14 +5855,16 @@ module Google
5774
5855
  end
5775
5856
 
5776
5857
  # Represents a Disk Type resource.
5858
+ # Google Compute Engine has two Disk Type resources:
5859
+ # * [Global](/compute/docs/reference/rest/latest/diskTypes) * [Regional](/
5860
+ # compute/docs/reference/rest/latest/regionDiskTypes)
5777
5861
  # You can choose from a variety of disk types based on your needs. For more
5778
5862
  # information, read Storage options.
5779
5863
  # The diskTypes resource represents disk types for a zonal persistent disk. For
5780
5864
  # more information, read Zonal persistent disks.
5781
5865
  # The regionDiskTypes resource represents disk types for a regional persistent
5782
- # disk. For more information, read Regional persistent disks. (== resource_for
5783
- # beta.diskTypes ==) (== resource_for v1.diskTypes ==) (== resource_for v1.
5784
- # regionDiskTypes ==) (== resource_for beta.regionDiskTypes ==)
5866
+ # disk. For more information, read Regional persistent disks. (== resource_for `$
5867
+ # api_version`.diskTypes ==) (== resource_for `$api_version`.regionDiskTypes ==)
5785
5868
  class DiskType
5786
5869
  include Google::Apis::Core::Hashable
5787
5870
 
@@ -6370,6 +6453,17 @@ module Google
6370
6453
  class DistributionPolicy
6371
6454
  include Google::Apis::Core::Hashable
6372
6455
 
6456
+ # The shape to which the group converges either proactively or on resize events (
6457
+ # depending on the value set in updatePolicy.instanceRedistributionType). The
6458
+ # possible values are EVEN and ANY. For EVEN the group attempts to preserve a
6459
+ # balanced number of instances across zones. For ANY the group creates new
6460
+ # instances where resources are available to fulfill the request; as a result,
6461
+ # instances may be distributed unevenly across zones in this mode. The default
6462
+ # value is EVEN.
6463
+ # Corresponds to the JSON property `targetShape`
6464
+ # @return [String]
6465
+ attr_accessor :target_shape
6466
+
6373
6467
  # Zones where the regional managed instance group will create and manage
6374
6468
  # instances.
6375
6469
  # Corresponds to the JSON property `zones`
@@ -6382,6 +6476,7 @@ module Google
6382
6476
 
6383
6477
  # Update properties of this object
6384
6478
  def update!(**args)
6479
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
6385
6480
  @zones = args[:zones] if args.key?(:zones)
6386
6481
  end
6387
6482
  end
@@ -6648,7 +6743,7 @@ module Google
6648
6743
  end
6649
6744
 
6650
6745
  # External VPN gateway is the on-premises VPN gateway(s) or another cloud
6651
- # provider?s VPN gateway that connects to your Google Cloud VPN gateway. To
6746
+ # provider's VPN gateway that connects to your Google Cloud VPN gateway. To
6652
6747
  # create a highly available VPN from Google Cloud to your on-premises side or
6653
6748
  # another Cloud provider's VPN gateway, you must create a external VPN gateway
6654
6749
  # resource in GCP, which provides the information to GCP about your external VPN
@@ -6757,7 +6852,7 @@ module Google
6757
6852
 
6758
6853
  # IP address of the interface in the external VPN gateway. Only IPv4 is
6759
6854
  # supported. This IP address can be either from your on-premise gateway or
6760
- # another Cloud provider?s VPN gateway, it cannot be an IP address from Google
6855
+ # another Cloud provider's VPN gateway, it cannot be an IP address from Google
6761
6856
  # Compute Engine.
6762
6857
  # Corresponds to the JSON property `ipAddress`
6763
6858
  # @return [String]
@@ -7383,16 +7478,18 @@ module Google
7383
7478
  end
7384
7479
 
7385
7480
  # Represents a Forwarding Rule resource.
7481
+ # Forwarding rule resources in GCP can be either regional or global in scope:
7482
+ # * [Global](/compute/docs/reference/rest/latest/globalForwardingRules) * [
7483
+ # Regional](/compute/docs/reference/rest/latest/forwardingRules)
7386
7484
  # A forwarding rule and its corresponding IP address represent the frontend
7387
7485
  # configuration of a Google Cloud Platform load balancer. Forwarding rules can
7388
7486
  # also reference target instances and Cloud VPN Classic gateways (
7389
7487
  # targetVpnGateway).
7390
7488
  # For more information, read Forwarding rule concepts and Using protocol
7391
7489
  # forwarding.
7392
- # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
7393
- # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
7394
- # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
7395
- # resource_for v1.regionForwardingRules ==)
7490
+ # (== resource_for `$api_version`.forwardingRules ==) (== resource_for `$
7491
+ # api_version`.globalForwardingRules ==) (== resource_for `$api_version`.
7492
+ # regionForwardingRules ==)
7396
7493
  class ForwardingRule
7397
7494
  include Google::Apis::Core::Hashable
7398
7495
 
@@ -7414,8 +7511,8 @@ module Google
7414
7511
  # @return [String]
7415
7512
  attr_accessor :ip_address
7416
7513
 
7417
- # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
7418
- # AH, SCTP or ICMP.
7514
+ # The IP protocol to which this rule applies. For protocol forwarding, valid
7515
+ # options are TCP, UDP, ESP, AH, SCTP or ICMP.
7419
7516
  # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
7420
7517
  # and one of TCP or UDP are valid. For Traffic Director, the load balancing
7421
7518
  # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
@@ -7527,28 +7624,37 @@ module Google
7527
7624
  # @return [Hash<String,String>]
7528
7625
  attr_accessor :labels
7529
7626
 
7530
- # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
7531
- # gateways - Protocol forwarding to VMs from an external IP address - The
7532
- # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
7533
- # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
7627
+ # Specifies the forwarding rule type.
7628
+ #
7629
+ # - EXTERNAL is used for:
7630
+ # - Classic Cloud VPN gateways
7631
+ # - Protocol forwarding to VMs from an external IP address
7632
+ # - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/
7633
+ # UDP
7634
+ # - INTERNAL is used for:
7635
+ # - Protocol forwarding to VMs from an internal IP address
7534
7636
  # - Internal TCP/UDP load balancers
7535
- # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
7536
- # INTERNAL_SELF_MANAGED is used for: - Traffic Director
7637
+ # - INTERNAL_MANAGED is used for:
7638
+ # - Internal HTTP(S) load balancers
7639
+ # - >INTERNAL_SELF_MANAGED is used for:
7640
+ # - Traffic Director
7537
7641
  # For more information about forwarding rules, refer to Forwarding rule concepts.
7538
7642
  # Corresponds to the JSON property `loadBalancingScheme`
7539
7643
  # @return [String]
7540
7644
  attr_accessor :load_balancing_scheme
7541
7645
 
7542
7646
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
7543
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
7544
- # xDS clients present node metadata. If a match takes place, the relevant
7545
- # routing configuration is made available to those proxies.
7647
+ # to a limited set of xDS compliant clients. In their xDS requests to
7648
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
7649
+ # relevant configuration is made available to those proxies. Otherwise, all the
7650
+ # resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule will
7651
+ # not be visible to those proxies.
7546
7652
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
7547
7653
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
7548
7654
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
7549
- # all of its filterLabels must match with corresponding labels in the provided
7655
+ # all of its filterLabels must match with corresponding labels provided in the
7550
7656
  # metadata.
7551
- # metadataFilters specified here can be overridden by those specified in the
7657
+ # metadataFilters specified here will be applifed before those specified in the
7552
7658
  # UrlMap that this ForwardingRule references.
7553
7659
  # metadataFilters only applies to Loadbalancers that have their
7554
7660
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -7584,23 +7690,16 @@ module Google
7584
7690
  # @return [String]
7585
7691
  attr_accessor :network_tier
7586
7692
 
7587
- # This field is deprecated. See the port
7588
- # field.
7589
- # Corresponds to the JSON property `portRange`
7590
- # @return [String]
7591
- attr_accessor :port_range
7592
-
7593
- # List of comma-separated ports. The forwarding rule forwards packets with
7594
- # matching destination ports. If the forwarding rule's loadBalancingScheme is
7595
- # EXTERNAL, and the forwarding rule references a target pool, specifying ports
7596
- # is optional. You can specify an unlimited number of ports, but they must be
7597
- # contiguous. If you omit ports, GCP forwards traffic on any port of the
7598
- # forwarding rule's protocol.
7599
- # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
7600
- # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
7601
- # target SSL proxy, or target VPN gateway, you must specify ports using the
7602
- # following constraints:
7603
- #
7693
+ # When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
7694
+ # INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
7695
+ # that points to a target proxy or a target pool. Do not use with a forwarding
7696
+ # rule that points to a backend service. This field is used along with the
7697
+ # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
7698
+ # TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
7699
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
7700
+ # to ports in the specified range will be forwarded to target. Forwarding rules
7701
+ # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
7702
+ # Some types of forwarding target have constraints on the acceptable ports:
7604
7703
  # - TargetHttpProxy: 80, 8080
7605
7704
  # - TargetHttpsProxy: 443
7606
7705
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -7608,16 +7707,20 @@ module Google
7608
7707
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
7609
7708
  # 1883, 5222
7610
7709
  # - TargetVpnGateway: 500, 4500
7611
- # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
7710
+ # Corresponds to the JSON property `portRange`
7711
+ # @return [String]
7712
+ attr_accessor :port_range
7713
+
7714
+ # This field is used along with the backend_service field for internal load
7715
+ # balancing.
7716
+ # When the load balancing scheme is INTERNAL, a list of ports can be configured,
7717
+ # for example, ['80'], ['8000','9000']. Only packets addressed to these ports
7718
+ # are forwarded to the backends configured with the forwarding rule.
7719
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
7612
7720
  # ports in one of the following ways:
7613
7721
  # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
7614
7722
  # causes the forwarding rule to forward traffic on any port of the forwarding
7615
7723
  # rule's protocol.
7616
- # The ports field is used along with the target field for TargetHttpProxy,
7617
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
7618
- # TargetInstance.
7619
- # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
7620
- # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
7621
7724
  # Corresponds to the JSON property `ports`
7622
7725
  # @return [Array<String>]
7623
7726
  attr_accessor :ports
@@ -7673,8 +7776,8 @@ module Google
7673
7776
  # forwarding rules, this target must live in the same region as the forwarding
7674
7777
  # rule. For global forwarding rules, this target must be a global load balancing
7675
7778
  # resource. The forwarded traffic must be of a type appropriate to the target
7676
- # object. For INTERNAL_SELF_MANAGED load balancing, only HTTP and HTTPS targets
7677
- # are valid.
7779
+ # object. For INTERNAL_SELF_MANAGED load balancing, only targetHttpProxy is
7780
+ # valid, not targetHttpsProxy.
7678
7781
  # Corresponds to the JSON property `target`
7679
7782
  # @return [String]
7680
7783
  attr_accessor :target
@@ -8153,32 +8256,34 @@ module Google
8153
8256
  # @return [String]
8154
8257
  attr_accessor :etag
8155
8258
 
8156
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
8157
- # access control policies for Cloud Platform resources.
8259
+ # An Identity and Access Management (IAM) policy, which specifies access
8260
+ # controls for Google Cloud resources.
8158
8261
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
8159
8262
  # members` to a single `role`. Members can be user accounts, service accounts,
8160
8263
  # Google groups, and domains (such as G Suite). A `role` is a named list of
8161
- # permissions (defined by IAM or configured by users). A `binding` can
8162
- # optionally specify a `condition`, which is a logic expression that further
8163
- # constrains the role binding based on attributes about the request and/or
8164
- # target resource.
8165
- # **JSON Example**
8264
+ # permissions; each `role` can be an IAM predefined role or a user-created
8265
+ # custom role.
8266
+ # Optionally, a `binding` can specify a `condition`, which is a logical
8267
+ # expression that allows access to a resource only if the expression evaluates
8268
+ # to `true`. A condition can add constraints based on attributes of the request,
8269
+ # the resource, or both.
8270
+ # **JSON example:**
8166
8271
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
8167
8272
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
8168
8273
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
8169
8274
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
8170
8275
  # "condition": ` "title": "expirable access", "description": "Does not grant
8171
8276
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
8172
- # 00:00.000Z')", ` ` ] `
8173
- # **YAML Example**
8277
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
8278
+ # **YAML example:**
8174
8279
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
8175
8280
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
8176
8281
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
8177
8282
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
8178
8283
  # access description: Does not grant access after Sep 2020 expression: request.
8179
- # time < timestamp('2020-10-01T00:00:00.000Z')
8180
- # For a description of IAM and its features, see the [IAM developer's guide](
8181
- # https://cloud.google.com/iam/docs).
8284
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
8285
+ # For a description of IAM and its features, see the [IAM documentation](https://
8286
+ # cloud.google.com/iam/docs/).
8182
8287
  # Corresponds to the JSON property `policy`
8183
8288
  # @return [Google::Apis::ComputeAlpha::Policy]
8184
8289
  attr_accessor :policy
@@ -8195,6 +8300,66 @@ module Google
8195
8300
  end
8196
8301
  end
8197
8302
 
8303
+ # A Duration represents a signed, fixed-length span of time represented as a
8304
+ # count of seconds and fractions of seconds at nanosecond resolution. It is
8305
+ # independent of any calendar and concepts like "day" or "month". It is related
8306
+ # to Timestamp in that the difference between two Timestamp values is a Duration
8307
+ # and it can be added or subtracted from a Timestamp. Range is approximately +-
8308
+ # 10,000 years.
8309
+ # # Examples
8310
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
8311
+ # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
8312
+ # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos -
8313
+ # start.nanos;
8314
+ # if (duration.seconds 0) ` duration.seconds += 1; duration.nanos -= 1000000000;
8315
+ # ` else if (duration.seconds > 0 && duration.nanos < 0) ` duration.seconds -=
8316
+ # 1; duration.nanos += 1000000000; `
8317
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
8318
+ # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
8319
+ # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos +
8320
+ # duration.nanos;
8321
+ # if (end.nanos = 1000000000) ` end.seconds += 1; end.nanos -= 1000000000; `
8322
+ # Example 3: Compute Duration from datetime.timedelta in Python.
8323
+ # td = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.
8324
+ # FromTimedelta(td)
8325
+ # # JSON Mapping
8326
+ # In JSON format, the Duration type is encoded as a string rather than an object,
8327
+ # where the string ends in the suffix "s" (indicating seconds) and is preceded
8328
+ # by the number of seconds, with nanoseconds expressed as fractional seconds.
8329
+ # For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "
8330
+ # 3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.
8331
+ # 000000001s", and 3 seconds and 1 microsecond should be expressed in JSON
8332
+ # format as "3.000001s".
8333
+ class GoogleDuration
8334
+ include Google::Apis::Core::Hashable
8335
+
8336
+ # Signed fractions of a second at nanosecond resolution of the span of time.
8337
+ # Durations less than one second are represented with a 0 `seconds` field and a
8338
+ # positive or negative `nanos` field. For durations of one second or more, a non-
8339
+ # zero value for the `nanos` field must be of the same sign as the `seconds`
8340
+ # field. Must be from -999,999,999 to +999,999,999 inclusive.
8341
+ # Corresponds to the JSON property `nanos`
8342
+ # @return [Fixnum]
8343
+ attr_accessor :nanos
8344
+
8345
+ # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,
8346
+ # 000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/
8347
+ # hr * 24 hr/day * 365.25 days/year * 10000 years
8348
+ # Corresponds to the JSON property `seconds`
8349
+ # @return [Fixnum]
8350
+ attr_accessor :seconds
8351
+
8352
+ def initialize(**args)
8353
+ update!(**args)
8354
+ end
8355
+
8356
+ # Update properties of this object
8357
+ def update!(**args)
8358
+ @nanos = args[:nanos] if args.key?(:nanos)
8359
+ @seconds = args[:seconds] if args.key?(:seconds)
8360
+ end
8361
+ end
8362
+
8198
8363
  # gRPC config to access the SDS server.
8199
8364
  class GrpcServiceConfig
8200
8365
  include Google::Apis::Core::Hashable
@@ -8237,7 +8402,7 @@ module Google
8237
8402
  attr_accessor :kind
8238
8403
 
8239
8404
  # The path to be queried. This can be the default namespace ('/') or a nested
8240
- # namespace ('//') or a specified key ('//')
8405
+ # namespace ('/\/') or a specified key ('/\/\')
8241
8406
  # Corresponds to the JSON property `queryPath`
8242
8407
  # @return [String]
8243
8408
  attr_accessor :query_path
@@ -8372,20 +8537,13 @@ module Google
8372
8537
 
8373
8538
  # Specifies how port is selected for health checking, can be one of following
8374
8539
  # values:
8375
- # USE_FIXED_PORT: The port number in
8376
- # port
8377
- # is used for health checking.
8378
- # USE_NAMED_PORT: The
8379
- # portName
8380
- # is used for health checking.
8540
+ # USE_FIXED_PORT: The port number in port is used for health checking.
8541
+ # USE_NAMED_PORT: The portName is used for health checking.
8381
8542
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
8382
8543
  # network endpoint is used for health checking. For other backends, the port or
8383
8544
  # named port specified in the Backend Service is used for health checking.
8384
- # If not specified, HTTP2 health check follows behavior specified in
8385
- # port
8386
- # and
8387
- # portName
8388
- # fields.
8545
+ # If not specified, HTTP2 health check follows behavior specified in port and
8546
+ # portName fields.
8389
8547
  # Corresponds to the JSON property `portSpecification`
8390
8548
  # @return [String]
8391
8549
  attr_accessor :port_specification
@@ -8449,20 +8607,13 @@ module Google
8449
8607
 
8450
8608
  # Specifies how port is selected for health checking, can be one of following
8451
8609
  # values:
8452
- # USE_FIXED_PORT: The port number in
8453
- # port
8454
- # is used for health checking.
8455
- # USE_NAMED_PORT: The
8456
- # portName
8457
- # is used for health checking.
8610
+ # USE_FIXED_PORT: The port number in port is used for health checking.
8611
+ # USE_NAMED_PORT: The portName is used for health checking.
8458
8612
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
8459
8613
  # network endpoint is used for health checking. For other backends, the port or
8460
8614
  # named port specified in the Backend Service is used for health checking.
8461
- # If not specified, HTTP health check follows behavior specified in
8462
- # port
8463
- # and
8464
- # portName
8465
- # fields.
8615
+ # If not specified, HTTP health check follows behavior specified in port and
8616
+ # portName fields.
8466
8617
  # Corresponds to the JSON property `portSpecification`
8467
8618
  # @return [String]
8468
8619
  attr_accessor :port_specification
@@ -8526,20 +8677,13 @@ module Google
8526
8677
 
8527
8678
  # Specifies how port is selected for health checking, can be one of following
8528
8679
  # values:
8529
- # USE_FIXED_PORT: The port number in
8530
- # port
8531
- # is used for health checking.
8532
- # USE_NAMED_PORT: The
8533
- # portName
8534
- # is used for health checking.
8680
+ # USE_FIXED_PORT: The port number in port is used for health checking.
8681
+ # USE_NAMED_PORT: The portName is used for health checking.
8535
8682
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
8536
8683
  # network endpoint is used for health checking. For other backends, the port or
8537
8684
  # named port specified in the Backend Service is used for health checking.
8538
- # If not specified, HTTPS health check follows behavior specified in
8539
- # port
8540
- # and
8541
- # portName
8542
- # fields.
8685
+ # If not specified, HTTPS health check follows behavior specified in port and
8686
+ # portName fields.
8543
8687
  # Corresponds to the JSON property `portSpecification`
8544
8688
  # @return [String]
8545
8689
  attr_accessor :port_specification
@@ -8579,8 +8723,12 @@ module Google
8579
8723
  end
8580
8724
 
8581
8725
  # Represents a Health Check resource.
8582
- # Health checks are used for most GCP load balancers and managed instance group
8583
- # auto-healing. For more information, read Health Check Concepts.
8726
+ # Google Compute Engine has two Health Check resources:
8727
+ # * [Global](/compute/docs/reference/rest/latest/healthChecks) * [Regional](/
8728
+ # compute/docs/reference/rest/latest/regionHealthChecks)
8729
+ # Internal HTTP(S) load balancers use regional health checks. All other types of
8730
+ # GCP load balancers and managed instance group auto-healing use global health
8731
+ # checks. For more information, read Health Check Concepts.
8584
8732
  # To perform health checks on network load balancers, you must use either
8585
8733
  # httpHealthChecks or httpsHealthChecks.
8586
8734
  class HealthCheck
@@ -8910,6 +9058,17 @@ module Google
8910
9058
  # @return [String]
8911
9059
  attr_accessor :description
8912
9060
 
9061
+ # Fingerprint of this resource. A hash of the contents stored in this object.
9062
+ # This field is used in optimistic locking. This field will be ignored when
9063
+ # inserting a HealthCheckService. An up-to-date fingerprint must be provided in
9064
+ # order to patch/update the HealthCheckService; Otherwise, the request will fail
9065
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
9066
+ # request to retrieve the HealthCheckService.
9067
+ # Corresponds to the JSON property `fingerprint`
9068
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9069
+ # @return [String]
9070
+ attr_accessor :fingerprint
9071
+
8913
9072
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
8914
9073
  # and not more than 10. HealthCheck resources must have portSpecification=
8915
9074
  # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
@@ -9007,6 +9166,7 @@ module Google
9007
9166
  def update!(**args)
9008
9167
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9009
9168
  @description = args[:description] if args.key?(:description)
9169
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
9010
9170
  @health_checks = args[:health_checks] if args.key?(:health_checks)
9011
9171
  @health_status_aggregation_policy = args[:health_status_aggregation_policy] if args.key?(:health_status_aggregation_policy)
9012
9172
  @health_status_aggregation_strategy = args[:health_status_aggregation_strategy] if args.key?(:health_status_aggregation_strategy)
@@ -9675,7 +9835,7 @@ module Google
9675
9835
  attr_accessor :prefix_match
9676
9836
 
9677
9837
  # A header with the contents of headerName must exist. The match takes place
9678
- # whether or not the request's header has a value or not.
9838
+ # whether or not the request's header has a value.
9679
9839
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
9680
9840
  # rangeMatch must be set.
9681
9841
  # Corresponds to the JSON property `presentMatch`
@@ -9689,7 +9849,7 @@ module Google
9689
9849
  # @return [Google::Apis::ComputeAlpha::Int64RangeMatch]
9690
9850
  attr_accessor :range_match
9691
9851
 
9692
- # The value of the header must match the regualar expression specified in
9852
+ # The value of the header must match the regular expression specified in
9693
9853
  # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
9694
9854
  # cpp/regex/ecmascript
9695
9855
  # For matching against a port specified in the HTTP request, use a headerMatch
@@ -9697,6 +9857,8 @@ module Google
9697
9857
  # RFC2616 Host header's port specifier.
9698
9858
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
9699
9859
  # rangeMatch must be set.
9860
+ # Note that regexMatch only applies to Loadbalancers that have their
9861
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
9700
9862
  # Corresponds to the JSON property `regexMatch`
9701
9863
  # @return [String]
9702
9864
  attr_accessor :regex_match
@@ -9997,7 +10159,7 @@ module Google
9997
10159
 
9998
10160
  # The queryParameterMatch matches if the value of the parameter exactly matches
9999
10161
  # the contents of exactMatch.
10000
- # Only one of presentMatch, exactMatch and regexMatch must be set.
10162
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
10001
10163
  # Corresponds to the JSON property `exactMatch`
10002
10164
  # @return [String]
10003
10165
  attr_accessor :exact_match
@@ -10010,7 +10172,7 @@ module Google
10010
10172
 
10011
10173
  # Specifies that the queryParameterMatch matches if the request contains the
10012
10174
  # query parameter, irrespective of whether the parameter has a value or not.
10013
- # Only one of presentMatch, exactMatch and regexMatch must be set.
10175
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
10014
10176
  # Corresponds to the JSON property `presentMatch`
10015
10177
  # @return [Boolean]
10016
10178
  attr_accessor :present_match
@@ -10019,7 +10181,9 @@ module Google
10019
10181
  # The queryParameterMatch matches if the value of the parameter matches the
10020
10182
  # regular expression specified by regexMatch. For the regular expression grammar,
10021
10183
  # please see en.cppreference.com/w/cpp/regex/ecmascript
10022
- # Only one of presentMatch, exactMatch and regexMatch must be set.
10184
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
10185
+ # Note that regexMatch only applies when the loadBalancingScheme is set to
10186
+ # INTERNAL_SELF_MANAGED.
10023
10187
  # Corresponds to the JSON property `regexMatch`
10024
10188
  # @return [String]
10025
10189
  attr_accessor :regex_match
@@ -10061,7 +10225,9 @@ module Google
10061
10225
 
10062
10226
  # The path that will be used in the redirect response instead of the one that
10063
10227
  # was supplied in the request.
10064
- # Only one of pathRedirect or prefixRedirect must be specified.
10228
+ # pathRedirect cannot be supplied together with prefixRedirect. Supply one alone
10229
+ # or neither. If neither is supplied, the path of the original request will be
10230
+ # used for the redirect.
10065
10231
  # The value must be between 1 and 1024 characters.
10066
10232
  # Corresponds to the JSON property `pathRedirect`
10067
10233
  # @return [String]
@@ -10069,6 +10235,10 @@ module Google
10069
10235
 
10070
10236
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
10071
10237
  # retaining the remaining portion of the URL before redirecting the request.
10238
+ # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
10239
+ # or neither. If neither is supplied, the path of the original request will be
10240
+ # used for the redirect.
10241
+ # The value must be between 1 and 1024 characters.
10072
10242
  # Corresponds to the JSON property `prefixRedirect`
10073
10243
  # @return [String]
10074
10244
  attr_accessor :prefix_redirect
@@ -10288,7 +10458,8 @@ module Google
10288
10458
  # forwarding the request to the selected backend. If routeAction specifies any
10289
10459
  # weightedBackendServices, service must not be set. Conversely if service is set,
10290
10460
  # routeAction cannot contain any weightedBackendServices.
10291
- # Only one of routeAction or urlRedirect must be set.
10461
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
10462
+ # set.
10292
10463
  # Corresponds to the JSON property `routeAction`
10293
10464
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
10294
10465
  attr_accessor :route_action
@@ -10331,10 +10502,10 @@ module Google
10331
10502
  class HttpRouteRuleMatch
10332
10503
  include Google::Apis::Core::Hashable
10333
10504
 
10334
- # For satifying the matchRule condition, the path of the request must exactly
10505
+ # For satisfying the matchRule condition, the path of the request must exactly
10335
10506
  # match the value specified in fullPathMatch after removing any query parameters
10336
10507
  # and anchor that may be part of the original URL.
10337
- # FullPathMatch must be between 1 and 1024 characters.
10508
+ # fullPathMatch must be between 1 and 1024 characters.
10338
10509
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
10339
10510
  # Corresponds to the JSON property `fullPathMatch`
10340
10511
  # @return [String]
@@ -10348,30 +10519,30 @@ module Google
10348
10519
 
10349
10520
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
10350
10521
  # The default value is false.
10351
- # caseSensitive must not be used with regexMatch.
10522
+ # ignoreCase must not be used with regexMatch.
10352
10523
  # Corresponds to the JSON property `ignoreCase`
10353
10524
  # @return [Boolean]
10354
10525
  attr_accessor :ignore_case
10355
10526
  alias_method :ignore_case?, :ignore_case
10356
10527
 
10357
10528
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
10358
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
10359
- # xDS clients present node metadata. If a match takes place, the relevant
10360
- # routing configuration is made available to those proxies.
10529
+ # to a limited set of xDS compliant clients. In their xDS requests to
10530
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
10531
+ # relevant routing configuration is made available to those proxies.
10361
10532
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
10362
10533
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
10363
10534
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
10364
- # all of its filterLabels must match with corresponding labels in the provided
10535
+ # all of its filterLabels must match with corresponding labels provided in the
10365
10536
  # metadata.
10366
- # metadataFilters specified here can be overrides those specified in
10367
- # ForwardingRule that refers to this UrlMap.
10537
+ # metadataFilters specified here will be applied after those specified in
10538
+ # ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to.
10368
10539
  # metadataFilters only applies to Loadbalancers that have their
10369
10540
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
10370
10541
  # Corresponds to the JSON property `metadataFilters`
10371
10542
  # @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
10372
10543
  attr_accessor :metadata_filters
10373
10544
 
10374
- # For satifying the matchRule condition, the request's path must begin with the
10545
+ # For satisfying the matchRule condition, the request's path must begin with the
10375
10546
  # specified prefixMatch. prefixMatch must begin with a /.
10376
10547
  # The value must be between 1 and 1024 characters.
10377
10548
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
@@ -10385,11 +10556,13 @@ module Google
10385
10556
  # @return [Array<Google::Apis::ComputeAlpha::HttpQueryParameterMatch>]
10386
10557
  attr_accessor :query_parameter_matches
10387
10558
 
10388
- # For satifying the matchRule condition, the path of the request must satisfy
10559
+ # For satisfying the matchRule condition, the path of the request must satisfy
10389
10560
  # the regular expression specified in regexMatch after removing any query
10390
10561
  # parameters and anchor supplied with the original URL. For regular expression
10391
10562
  # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
10392
10563
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
10564
+ # Note that regexMatch only applies to Loadbalancers that have their
10565
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
10393
10566
  # Corresponds to the JSON property `regexMatch`
10394
10567
  # @return [String]
10395
10568
  attr_accessor :regex_match
@@ -10642,8 +10815,7 @@ module Google
10642
10815
 
10643
10816
  # Represents an Image resource.
10644
10817
  # You can use images to create boot disks for your VM instances. For more
10645
- # information, read Images. (== resource_for beta.images ==) (== resource_for v1.
10646
- # images ==)
10818
+ # information, read Images. (== resource_for `$api_version`.images ==)
10647
10819
  class Image
10648
10820
  include Google::Apis::Core::Hashable
10649
10821
 
@@ -11081,8 +11253,8 @@ module Google
11081
11253
 
11082
11254
  # Represents an Instance resource.
11083
11255
  # An instance is a virtual machine that is hosted on Google Cloud Platform. For
11084
- # more information, read Virtual Machine Instances. (== resource_for beta.
11085
- # instances ==) (== resource_for v1.instances ==)
11256
+ # more information, read Virtual Machine Instances. (== resource_for `$
11257
+ # api_version`.instances ==)
11086
11258
  class Instance
11087
11259
  include Google::Apis::Core::Hashable
11088
11260
 
@@ -11253,6 +11425,12 @@ module Google
11253
11425
  # @return [Fixnum]
11254
11426
  attr_accessor :preserved_state_size_gb
11255
11427
 
11428
+ # The private IPv6 google access type for the VM. If not specified, use
11429
+ # INHERIT_FROM_SUBNETWORK as default.
11430
+ # Corresponds to the JSON property `privateIpv6GoogleAccess`
11431
+ # @return [String]
11432
+ attr_accessor :private_ipv6_google_access
11433
+
11256
11434
  # Specifies the reservations that this instance can consume from.
11257
11435
  # Corresponds to the JSON property `reservationAffinity`
11258
11436
  # @return [Google::Apis::ComputeAlpha::ReservationAffinity]
@@ -11343,6 +11521,11 @@ module Google
11343
11521
  # @return [Google::Apis::ComputeAlpha::Tags]
11344
11522
  attr_accessor :tags
11345
11523
 
11524
+ # Upcoming Maintenance notification information.
11525
+ # Corresponds to the JSON property `upcomingMaintenance`
11526
+ # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
11527
+ attr_accessor :upcoming_maintenance
11528
+
11346
11529
  # [Output Only] URL of the zone where the instance resides. You must specify
11347
11530
  # this field as part of the HTTP request URL. It is not settable as a field in
11348
11531
  # the request body.
@@ -11380,6 +11563,7 @@ module Google
11380
11563
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
11381
11564
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
11382
11565
  @preserved_state_size_gb = args[:preserved_state_size_gb] if args.key?(:preserved_state_size_gb)
11566
+ @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
11383
11567
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
11384
11568
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
11385
11569
  @scheduling = args[:scheduling] if args.key?(:scheduling)
@@ -11396,6 +11580,7 @@ module Google
11396
11580
  @status = args[:status] if args.key?(:status)
11397
11581
  @status_message = args[:status_message] if args.key?(:status_message)
11398
11582
  @tags = args[:tags] if args.key?(:tags)
11583
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
11399
11584
  @zone = args[:zone] if args.key?(:zone)
11400
11585
  end
11401
11586
  end
@@ -11518,15 +11703,17 @@ module Google
11518
11703
  end
11519
11704
  end
11520
11705
 
11521
- # Represents an unmanaged Instance Group resource.
11522
- # Use unmanaged instance groups if you need to apply load balancing to groups of
11523
- # heterogeneous instances or if you need to manage the instances yourself. For
11524
- # more information, read Instance groups.
11525
- # For zonal unmanaged Instance Group, use instanceGroups resource.
11526
- # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
11527
- # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
11528
- # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
11529
- # regionInstanceGroups ==)
11706
+ # Represents an Instance Group resource.
11707
+ # Instance Groups can be used to configure a target for load balancing.
11708
+ # Instance groups can either be managed or unmanaged.
11709
+ # To create managed instance groups, use the instanceGroupManager or
11710
+ # regionInstanceGroupManager resource instead.
11711
+ # Use zonal unmanaged instance groups if you need to apply load balancing to
11712
+ # groups of heterogeneous instances or if you need to manage the instances
11713
+ # yourself. You cannot create regional unmanaged instance groups.
11714
+ # For more information, read Instance groups.
11715
+ # (== resource_for `$api_version`.instanceGroups ==) (== resource_for `$
11716
+ # api_version`.regionInstanceGroups ==)
11530
11717
  class InstanceGroup
11531
11718
  include Google::Apis::Core::Hashable
11532
11719
 
@@ -11879,9 +12066,8 @@ module Google
11879
12066
  # single entity. For more information, read Instance groups.
11880
12067
  # For zonal Managed Instance Group, use the instanceGroupManagers resource.
11881
12068
  # For regional Managed Instance Group, use the regionInstanceGroupManagers
11882
- # resource. (== resource_for beta.instanceGroupManagers ==) (== resource_for v1.
11883
- # instanceGroupManagers ==) (== resource_for beta.regionInstanceGroupManagers ==)
11884
- # (== resource_for v1.regionInstanceGroupManagers ==)
12069
+ # resource. (== resource_for `$api_version`.instanceGroupManagers ==) (==
12070
+ # resource_for `$api_version`.regionInstanceGroupManagers ==)
11885
12071
  class InstanceGroupManager
11886
12072
  include Google::Apis::Core::Hashable
11887
12073
 
@@ -14003,11 +14189,23 @@ module Google
14003
14189
  # @return [String]
14004
14190
  attr_accessor :post_key_revocation_action_type
14005
14191
 
14192
+ # The private IPv6 google access type for the VM. If not specified, use
14193
+ # INHERIT_FROM_SUBNETWORK as default.
14194
+ # Corresponds to the JSON property `privateIpv6GoogleAccess`
14195
+ # @return [String]
14196
+ attr_accessor :private_ipv6_google_access
14197
+
14006
14198
  # Specifies the reservations that this instance can consume from.
14007
14199
  # Corresponds to the JSON property `reservationAffinity`
14008
14200
  # @return [Google::Apis::ComputeAlpha::ReservationAffinity]
14009
14201
  attr_accessor :reservation_affinity
14010
14202
 
14203
+ # Resource policies (names, not ULRs) applied to instances created from this
14204
+ # templae.
14205
+ # Corresponds to the JSON property `resourcePolicies`
14206
+ # @return [Array<String>]
14207
+ attr_accessor :resource_policies
14208
+
14011
14209
  # Sets the scheduling options for an Instance. NextID: 9
14012
14210
  # Corresponds to the JSON property `scheduling`
14013
14211
  # @return [Google::Apis::ComputeAlpha::Scheduling]
@@ -14053,7 +14251,9 @@ module Google
14053
14251
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
14054
14252
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14055
14253
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
14254
+ @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
14056
14255
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
14256
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
14057
14257
  @scheduling = args[:scheduling] if args.key?(:scheduling)
14058
14258
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
14059
14259
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
@@ -14083,8 +14283,8 @@ module Google
14083
14283
 
14084
14284
  # Represents an Instance Template resource.
14085
14285
  # You can use instance templates to create VM instances and managed instance
14086
- # groups. For more information, read Instance Templates. (== resource_for beta.
14087
- # instanceTemplates ==) (== resource_for v1.instanceTemplates ==)
14286
+ # groups. For more information, read Instance Templates. (== resource_for `$
14287
+ # api_version`.instanceTemplates ==)
14088
14288
  class InstanceTemplate
14089
14289
  include Google::Apis::Core::Hashable
14090
14290
 
@@ -14728,8 +14928,7 @@ module Google
14728
14928
  # Represents an Interconnect resource.
14729
14929
  # An Interconnect resource is a dedicated connection between the GCP network and
14730
14930
  # your on-premises network. For more information, read the Dedicated
14731
- # Interconnect Overview. (== resource_for v1.interconnects ==) (== resource_for
14732
- # beta.interconnects ==)
14931
+ # Interconnect Overview. (== resource_for `$api_version`.interconnects ==)
14733
14932
  class Interconnect
14734
14933
  include Google::Apis::Core::Hashable
14735
14934
 
@@ -14951,8 +15150,8 @@ module Google
14951
15150
  # Represents an Interconnect Attachment (VLAN) resource.
14952
15151
  # You can use Interconnect attachments (VLANS) to connect your Virtual Private
14953
15152
  # Cloud networks to your on-premises networks through an Interconnect. For more
14954
- # information, read Creating VLAN Attachments. (== resource_for beta.
14955
- # interconnectAttachments ==) (== resource_for v1.interconnectAttachments ==)
15153
+ # information, read Creating VLAN Attachments. (== resource_for `$api_version`.
15154
+ # interconnectAttachments ==)
14956
15155
  class InterconnectAttachment
14957
15156
  include Google::Apis::Core::Hashable
14958
15157
 
@@ -14989,7 +15188,7 @@ module Google
14989
15188
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
14990
15189
  # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
14991
15190
  # from the supplied candidate prefix(es). The request will fail if all possible /
14992
- # 29s are in use on Google?s edge. If not supplied, Google will randomly select
15191
+ # 29s are in use on Google's edge. If not supplied, Google will randomly select
14993
15192
  # an unused /29 from all of link-local space.
14994
15193
  # Corresponds to the JSON property `candidateSubnets`
14995
15194
  # @return [Array<String>]
@@ -15474,7 +15673,7 @@ module Google
15474
15673
  include Google::Apis::Core::Hashable
15475
15674
 
15476
15675
  # Plain text name of the Interconnect this attachment is connected to, as
15477
- # displayed in the Partner?s portal. For instance "Chicago 1". This value may be
15676
+ # displayed in the Partner's portal. For instance "Chicago 1". This value may be
15478
15677
  # validated to match approved Partner values.
15479
15678
  # Corresponds to the JSON property `interconnectName`
15480
15679
  # @return [String]
@@ -15486,7 +15685,7 @@ module Google
15486
15685
  # @return [String]
15487
15686
  attr_accessor :partner_name
15488
15687
 
15489
- # URL of the Partner?s portal for this Attachment. Partners may customise this
15688
+ # URL of the Partner's portal for this Attachment. Partners may customise this
15490
15689
  # to be a deep link to the specific resource on the Partner portal. This value
15491
15690
  # may be validated to match approved Partner values.
15492
15691
  # Corresponds to the JSON property `portalUrl`
@@ -15652,7 +15851,7 @@ module Google
15652
15851
  end
15653
15852
 
15654
15853
  # Diagnostics information about interconnect, contains detailed and current
15655
- # technical information about Google?s side of the connection.
15854
+ # technical information about Google's side of the connection.
15656
15855
  class InterconnectDiagnostics
15657
15856
  include Google::Apis::Core::Hashable
15658
15857
 
@@ -15715,12 +15914,12 @@ module Google
15715
15914
  class InterconnectDiagnosticsLinkLacpStatus
15716
15915
  include Google::Apis::Core::Hashable
15717
15916
 
15718
- # System ID of the port on Google?s side of the LACP exchange.
15917
+ # System ID of the port on Google's side of the LACP exchange.
15719
15918
  # Corresponds to the JSON property `googleSystemId`
15720
15919
  # @return [String]
15721
15920
  attr_accessor :google_system_id
15722
15921
 
15723
- # System ID of the port on the neighbor?s side of the LACP exchange.
15922
+ # System ID of the port on the neighbor's side of the LACP exchange.
15724
15923
  # Corresponds to the JSON property `neighborSystemId`
15725
15924
  # @return [String]
15726
15925
  attr_accessor :neighbor_system_id
@@ -16314,7 +16513,7 @@ module Google
16314
16513
  include Google::Apis::Core::Hashable
16315
16514
 
16316
16515
  # Diagnostics information about interconnect, contains detailed and current
16317
- # technical information about Google?s side of the connection.
16516
+ # technical information about Google's side of the connection.
16318
16517
  # Corresponds to the JSON property `result`
16319
16518
  # @return [Google::Apis::ComputeAlpha::InterconnectDiagnostics]
16320
16519
  attr_accessor :result
@@ -16658,7 +16857,7 @@ module Google
16658
16857
  # @return [String]
16659
16858
  attr_accessor :issuer
16660
16859
 
16661
- # The provider?s public key set to validate the signature of the JWT.
16860
+ # The provider's public key set to validate the signature of the JWT.
16662
16861
  # Corresponds to the JSON property `jwksPublicKeys`
16663
16862
  # @return [String]
16664
16863
  attr_accessor :jwks_public_keys
@@ -16909,8 +17108,7 @@ module Google
16909
17108
  end
16910
17109
  end
16911
17110
 
16912
- # Commitment for a particular license resource (a License Commitment is composed
16913
- # of one or more of these).
17111
+ # Commitment for a particular license resource.
16914
17112
  class LicenseResourceCommitment
16915
17113
  include Google::Apis::Core::Hashable
16916
17114
 
@@ -17085,12 +17283,12 @@ module Google
17085
17283
 
17086
17284
  # Specifies the number of such disks.
17087
17285
  # Corresponds to the JSON property `diskCount`
17088
- # @return [String]
17286
+ # @return [Fixnum]
17089
17287
  attr_accessor :disk_count
17090
17288
 
17091
17289
  # Specifies the size of the disk in base-2 GB.
17092
17290
  # Corresponds to the JSON property `diskSizeGb`
17093
- # @return [String]
17291
+ # @return [Fixnum]
17094
17292
  attr_accessor :disk_size_gb
17095
17293
 
17096
17294
  # Specifies the desired disk type on the node. This disk type must be a local
@@ -17404,11 +17602,6 @@ module Google
17404
17602
  class MachineImageList
17405
17603
  include Google::Apis::Core::Hashable
17406
17604
 
17407
- #
17408
- # Corresponds to the JSON property `etag`
17409
- # @return [String]
17410
- attr_accessor :etag
17411
-
17412
17605
  # [Output Only] Unique identifier for the resource; defined by the server.
17413
17606
  # Corresponds to the JSON property `id`
17414
17607
  # @return [String]
@@ -17450,7 +17643,6 @@ module Google
17450
17643
 
17451
17644
  # Update properties of this object
17452
17645
  def update!(**args)
17453
- @etag = args[:etag] if args.key?(:etag)
17454
17646
  @id = args[:id] if args.key?(:id)
17455
17647
  @items = args[:items] if args.key?(:items)
17456
17648
  @kind = args[:kind] if args.key?(:kind)
@@ -17527,7 +17719,7 @@ module Google
17527
17719
  # Represents a Machine Type resource.
17528
17720
  # You can use specific machine types for your VM instances based on performance
17529
17721
  # and pricing requirements. For more information, read Machine Types. (==
17530
- # resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
17722
+ # resource_for `$api_version`.machineTypes ==)
17531
17723
  class MachineType
17532
17724
  include Google::Apis::Core::Hashable
17533
17725
 
@@ -18291,12 +18483,12 @@ module Google
18291
18483
  # Opaque filter criteria used by loadbalancers to restrict routing configuration
18292
18484
  # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
18293
18485
  # loadbalancing would typically present metadata to the loadbalancers which need
18294
- # to match criteria specified here. If a match takes place, the relevant routing
18486
+ # to match criteria specified here. If a match takes place, the relevant
18295
18487
  # configuration is made available to those proxies.
18296
18488
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
18297
18489
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
18298
18490
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
18299
- # all of its filterLabels must match with corresponding labels in the provided
18491
+ # all of its filterLabels must match with corresponding labels provided in the
18300
18492
  # metadata.
18301
18493
  # An example for using metadataFilters would be: if loadbalancing involves
18302
18494
  # Envoys, they will only receive routing configuration when values in
@@ -18414,8 +18606,8 @@ module Google
18414
18606
 
18415
18607
  # Represents a VPC Network resource.
18416
18608
  # Networks connect resources to each other and to the internet. For more
18417
- # information, read Virtual Private Cloud (VPC) Network. (== resource_for v1.
18418
- # networks ==) (== resource_for beta.networks ==)
18609
+ # information, read Virtual Private Cloud (VPC) Network. (== resource_for `$
18610
+ # api_version`.networks ==)
18419
18611
  class Network
18420
18612
  include Google::Apis::Core::Hashable
18421
18613
 
@@ -18440,11 +18632,6 @@ module Google
18440
18632
  # @return [String]
18441
18633
  attr_accessor :creation_timestamp
18442
18634
 
18443
- # [Output Only] Type of VM-to-VM traffic encryption for this network.
18444
- # Corresponds to the JSON property `crossVmEncryption`
18445
- # @return [String]
18446
- attr_accessor :cross_vm_encryption
18447
-
18448
18635
  # An optional description of this resource. Provide this field when you create
18449
18636
  # the resource.
18450
18637
  # Corresponds to the JSON property `description`
@@ -18468,13 +18655,8 @@ module Google
18468
18655
  # @return [String]
18469
18656
  attr_accessor :kind
18470
18657
 
18471
- # [Output Only] Type of LB-to-VM traffic encryption for this network.
18472
- # Corresponds to the JSON property `loadBalancerVmEncryption`
18473
- # @return [String]
18474
- attr_accessor :load_balancer_vm_encryption
18475
-
18476
18658
  # Maximum Transmission Unit in bytes. The minimum value for this field is 1460
18477
- # and the maximum value is 1600 bytes.
18659
+ # and the maximum value is 1500 bytes.
18478
18660
  # Corresponds to the JSON property `mtu`
18479
18661
  # @return [Fixnum]
18480
18662
  attr_accessor :mtu
@@ -18489,7 +18671,7 @@ module Google
18489
18671
  # Name of the resource. Provided by the client when the resource is created. The
18490
18672
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
18491
18673
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
18492
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
18674
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
18493
18675
  # following characters (except for the last character) must be a dash, lowercase
18494
18676
  # letter, or digit. The last character must be a lowercase letter or digit.
18495
18677
  # Corresponds to the JSON property `name`
@@ -18533,12 +18715,10 @@ module Google
18533
18715
  @i_pv4_range = args[:i_pv4_range] if args.key?(:i_pv4_range)
18534
18716
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
18535
18717
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18536
- @cross_vm_encryption = args[:cross_vm_encryption] if args.key?(:cross_vm_encryption)
18537
18718
  @description = args[:description] if args.key?(:description)
18538
18719
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
18539
18720
  @id = args[:id] if args.key?(:id)
18540
18721
  @kind = args[:kind] if args.key?(:kind)
18541
- @load_balancer_vm_encryption = args[:load_balancer_vm_encryption] if args.key?(:load_balancer_vm_encryption)
18542
18722
  @mtu = args[:mtu] if args.key?(:mtu)
18543
18723
  @multicast_mode = args[:multicast_mode] if args.key?(:multicast_mode)
18544
18724
  @name = args[:name] if args.key?(:name)
@@ -18550,7 +18730,7 @@ module Google
18550
18730
  end
18551
18731
  end
18552
18732
 
18553
- # The network endpoint.
18733
+ # The network endpoint. Next ID: 7
18554
18734
  class NetworkEndpoint
18555
18735
  include Google::Apis::Core::Hashable
18556
18736
 
@@ -18605,8 +18785,7 @@ module Google
18605
18785
 
18606
18786
  # Represents a collection of network endpoints.
18607
18787
  # For more information read Setting up network endpoint groups in load balancing.
18608
- # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
18609
- # networkEndpointGroups ==)
18788
+ # (== resource_for `$api_version`.networkEndpointGroups ==) Next ID: 21
18610
18789
  class NetworkEndpointGroup
18611
18790
  include Google::Apis::Core::Hashable
18612
18791
 
@@ -18938,7 +19117,7 @@ module Google
18938
19117
  include Google::Apis::Core::Hashable
18939
19118
 
18940
19119
  # A user-defined name of the Cloud Function.
18941
- # The service name must be 1-63 characters long, and comply with RFC1035.
19120
+ # The function name is case-sensitive and must be 1-63 characters long.
18942
19121
  # Example value: "func1".
18943
19122
  # Corresponds to the JSON property `function`
18944
19123
  # @return [String]
@@ -18975,7 +19154,7 @@ module Google
18975
19154
  include Google::Apis::Core::Hashable
18976
19155
 
18977
19156
  # Cloud Run service is the main resource of Cloud Run.
18978
- # The tag must be 1-63 characters long, and comply with RFC1035.
19157
+ # The service must be 1-63 characters long, and comply with RFC1035.
18979
19158
  # Example value: "run-service".
18980
19159
  # Corresponds to the JSON property `service`
18981
19160
  # @return [String]
@@ -19242,7 +19421,7 @@ module Google
19242
19421
  class NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter
19243
19422
  include Google::Apis::Core::Hashable
19244
19423
 
19245
- # The network endpoint.
19424
+ # The network endpoint. Next ID: 7
19246
19425
  # Corresponds to the JSON property `networkEndpoint`
19247
19426
  # @return [Google::Apis::ComputeAlpha::NetworkEndpoint]
19248
19427
  attr_accessor :network_endpoint
@@ -19471,7 +19650,7 @@ module Google
19471
19650
  # @return [Array<Google::Apis::ComputeAlpha::HealthStatusForNetworkEndpoint>]
19472
19651
  attr_accessor :healths
19473
19652
 
19474
- # The network endpoint.
19653
+ # The network endpoint. Next ID: 7
19475
19654
  # Corresponds to the JSON property `networkEndpoint`
19476
19655
  # @return [Google::Apis::ComputeAlpha::NetworkEndpoint]
19477
19656
  attr_accessor :network_endpoint
@@ -20000,12 +20179,11 @@ module Google
20000
20179
  # instances only for your specific project. Use sole-tenant nodes to keep your
20001
20180
  # instances physically separated from instances in other projects, or to group
20002
20181
  # your instances together on the same host hardware. For more information, read
20003
- # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
20004
- # nodeGroups ==) NextID: 16
20182
+ # Sole-tenant nodes. (== resource_for `$api_version`.nodeGroups ==)
20005
20183
  class NodeGroup
20006
20184
  include Google::Apis::Core::Hashable
20007
20185
 
20008
- #
20186
+ # Specifies how autoscaling should behave.
20009
20187
  # Corresponds to the JSON property `autoscalingPolicy`
20010
20188
  # @return [Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy]
20011
20189
  attr_accessor :autoscaling_policy
@@ -20021,6 +20199,12 @@ module Google
20021
20199
  # @return [String]
20022
20200
  attr_accessor :description
20023
20201
 
20202
+ #
20203
+ # Corresponds to the JSON property `fingerprint`
20204
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20205
+ # @return [String]
20206
+ attr_accessor :fingerprint
20207
+
20024
20208
  # [Output Only] The unique identifier for the resource. This identifier is
20025
20209
  # defined by the server.
20026
20210
  # Corresponds to the JSON property `id`
@@ -20033,7 +20217,8 @@ module Google
20033
20217
  # @return [String]
20034
20218
  attr_accessor :kind
20035
20219
 
20036
- #
20220
+ # Specifies how to handle instances when a node in the group undergoes
20221
+ # maintenance.
20037
20222
  # Corresponds to the JSON property `maintenancePolicy`
20038
20223
  # @return [String]
20039
20224
  attr_accessor :maintenance_policy
@@ -20089,6 +20274,7 @@ module Google
20089
20274
  @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
20090
20275
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20091
20276
  @description = args[:description] if args.key?(:description)
20277
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20092
20278
  @id = args[:id] if args.key?(:id)
20093
20279
  @kind = args[:kind] if args.key?(:kind)
20094
20280
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
@@ -20224,17 +20410,17 @@ module Google
20224
20410
  class NodeGroupAutoscalingPolicy
20225
20411
  include Google::Apis::Core::Hashable
20226
20412
 
20227
- #
20228
- # Corresponds to the JSON property `maxSize`
20413
+ # The maximum number of nodes that the group should have.
20414
+ # Corresponds to the JSON property `maxNodes`
20229
20415
  # @return [Fixnum]
20230
- attr_accessor :max_size
20416
+ attr_accessor :max_nodes
20231
20417
 
20232
- #
20233
- # Corresponds to the JSON property `minSize`
20418
+ # The minimum number of nodes that the group should have.
20419
+ # Corresponds to the JSON property `minNodes`
20234
20420
  # @return [Fixnum]
20235
- attr_accessor :min_size
20421
+ attr_accessor :min_nodes
20236
20422
 
20237
- #
20423
+ # The autoscaling mode.
20238
20424
  # Corresponds to the JSON property `mode`
20239
20425
  # @return [String]
20240
20426
  attr_accessor :mode
@@ -20245,8 +20431,8 @@ module Google
20245
20431
 
20246
20432
  # Update properties of this object
20247
20433
  def update!(**args)
20248
- @max_size = args[:max_size] if args.key?(:max_size)
20249
- @min_size = args[:min_size] if args.key?(:min_size)
20434
+ @max_nodes = args[:max_nodes] if args.key?(:max_nodes)
20435
+ @min_nodes = args[:min_nodes] if args.key?(:min_nodes)
20250
20436
  @mode = args[:mode] if args.key?(:mode)
20251
20437
  end
20252
20438
  end
@@ -20373,6 +20559,11 @@ module Google
20373
20559
  class NodeGroupNode
20374
20560
  include Google::Apis::Core::Hashable
20375
20561
 
20562
+ # Accelerators for this node.
20563
+ # Corresponds to the JSON property `accelerators`
20564
+ # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
20565
+ attr_accessor :accelerators
20566
+
20376
20567
  # Local disk configurations.
20377
20568
  # Corresponds to the JSON property `disks`
20378
20569
  # @return [Array<Google::Apis::ComputeAlpha::LocalDisk>]
@@ -20414,6 +20605,7 @@ module Google
20414
20605
 
20415
20606
  # Update properties of this object
20416
20607
  def update!(**args)
20608
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
20417
20609
  @disks = args[:disks] if args.key?(:disks)
20418
20610
  @instances = args[:instances] if args.key?(:instances)
20419
20611
  @name = args[:name] if args.key?(:name)
@@ -20712,11 +20904,16 @@ module Google
20712
20904
 
20713
20905
  # Represent a sole-tenant Node Template resource.
20714
20906
  # You can use a template to define properties for nodes in a node group. For
20715
- # more information, read Creating node groups and instances. (== resource_for
20716
- # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
20907
+ # more information, read Creating node groups and instances. (== resource_for `$
20908
+ # api_version`.nodeTemplates ==) (== NextID: 18 ==)
20717
20909
  class NodeTemplate
20718
20910
  include Google::Apis::Core::Hashable
20719
20911
 
20912
+ #
20913
+ # Corresponds to the JSON property `accelerators`
20914
+ # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
20915
+ attr_accessor :accelerators
20916
+
20720
20917
  # [Output Only] Creation timestamp in RFC3339 text format.
20721
20918
  # Corresponds to the JSON property `creationTimestamp`
20722
20919
  # @return [String]
@@ -20817,6 +21014,7 @@ module Google
20817
21014
 
20818
21015
  # Update properties of this object
20819
21016
  def update!(**args)
21017
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
20820
21018
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20821
21019
  @description = args[:description] if args.key?(:description)
20822
21020
  @disks = args[:disks] if args.key?(:disks)
@@ -21198,7 +21396,7 @@ module Google
21198
21396
  # total amount of cores and memory for that node. Currently, the only available
21199
21397
  # node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory,
21200
21398
  # available in multiple zones. For more information read Node types. (==
21201
- # resource_for beta.nodeTypes ==) (== resource_for v1.nodeTypes ==)
21399
+ # resource_for `$api_version`.nodeTypes ==)
21202
21400
  class NodeType
21203
21401
  include Google::Apis::Core::Hashable
21204
21402
 
@@ -21865,6 +22063,10 @@ module Google
21865
22063
  end
21866
22064
 
21867
22065
  # Represents an Operation resource.
22066
+ # Google Compute Engine has three Operation resources:
22067
+ # * [Global](/compute/docs/reference/rest/latest/globalOperations) * [Regional](/
22068
+ # compute/docs/reference/rest/latest/regionOperations) * [Zonal](/compute/docs/
22069
+ # reference/rest/latest/zoneOperations)
21868
22070
  # You can use an operation resource to manage asynchronous API requests. For
21869
22071
  # more information, read Handling API responses.
21870
22072
  # Operations can be global, regional or zonal.
@@ -21872,10 +22074,9 @@ module Google
21872
22074
  # - For regional operations, use the regionOperations resource.
21873
22075
  # - For zonal operations, use the zonalOperations resource.
21874
22076
  # For more information, read Global, Regional, and Zonal Resources. (==
21875
- # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
21876
- # (== resource_for v1.regionOperations ==) (== resource_for beta.
21877
- # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
21878
- # beta.zoneOperations ==)
22077
+ # resource_for `$api_version`.globalOperations ==) (== resource_for `$
22078
+ # api_version`.regionOperations ==) (== resource_for `$api_version`.
22079
+ # zoneOperations ==)
21879
22080
  class Operation
21880
22081
  include Google::Apis::Core::Hashable
21881
22082
 
@@ -22715,11 +22916,6 @@ module Google
22715
22916
  # @return [Google::Apis::ComputeAlpha::PacketMirroringForwardingRuleInfo]
22716
22917
  attr_accessor :collector_ilb
22717
22918
 
22718
- #
22719
- # Corresponds to the JSON property `collectors`
22720
- # @return [Google::Apis::ComputeAlpha::PacketMirroringCollectorInfo]
22721
- attr_accessor :collectors
22722
-
22723
22919
  # [Output Only] Creation timestamp in RFC3339 text format.
22724
22920
  # Corresponds to the JSON property `creationTimestamp`
22725
22921
  # @return [String]
@@ -22779,13 +22975,6 @@ module Google
22779
22975
  # @return [Google::Apis::ComputeAlpha::PacketMirroringNetworkInfo]
22780
22976
  attr_accessor :network
22781
22977
 
22782
- # PacketMirroring packetMatchers. Each packetMatcher specifies a CIRD filter
22783
- # that will apply to the source or destination IP in the IP header for the
22784
- # mirrored VM traffic.
22785
- # Corresponds to the JSON property `packetMatchers`
22786
- # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringPacketMatcher>]
22787
- attr_accessor :packet_matchers
22788
-
22789
22978
  # The priority of applying this configuration. Priority is used to break ties in
22790
22979
  # cases where there is more than one matching rule. In the case of two rules
22791
22980
  # that apply for a given Instance, the one with the lowest-numbered priority
@@ -22817,7 +23006,6 @@ module Google
22817
23006
  # Update properties of this object
22818
23007
  def update!(**args)
22819
23008
  @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
22820
- @collectors = args[:collectors] if args.key?(:collectors)
22821
23009
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22822
23010
  @description = args[:description] if args.key?(:description)
22823
23011
  @enable = args[:enable] if args.key?(:enable)
@@ -22827,7 +23015,6 @@ module Google
22827
23015
  @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
22828
23016
  @name = args[:name] if args.key?(:name)
22829
23017
  @network = args[:network] if args.key?(:network)
22830
- @packet_matchers = args[:packet_matchers] if args.key?(:packet_matchers)
22831
23018
  @priority = args[:priority] if args.key?(:priority)
22832
23019
  @region = args[:region] if args.key?(:region)
22833
23020
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -22952,46 +23139,6 @@ module Google
22952
23139
  end
22953
23140
  end
22954
23141
 
22955
- #
22956
- class PacketMirroringCollectorInfo
22957
- include Google::Apis::Core::Hashable
22958
-
22959
- # A set of virtual machines configured as destination of the mirrored traffic.
22960
- # They must live in zones contained in the same region as this packetMirroring.
22961
- # Corresponds to the JSON property `instances`
22962
- # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringCollectorInfoInstanceInfo>]
22963
- attr_accessor :instances
22964
-
22965
- def initialize(**args)
22966
- update!(**args)
22967
- end
22968
-
22969
- # Update properties of this object
22970
- def update!(**args)
22971
- @instances = args[:instances] if args.key?(:instances)
22972
- end
22973
- end
22974
-
22975
- #
22976
- class PacketMirroringCollectorInfoInstanceInfo
22977
- include Google::Apis::Core::Hashable
22978
-
22979
- # Resource URL to the virtual machine instance configured as destination of the
22980
- # mirrored traffic.
22981
- # Corresponds to the JSON property `url`
22982
- # @return [String]
22983
- attr_accessor :url
22984
-
22985
- def initialize(**args)
22986
- update!(**args)
22987
- end
22988
-
22989
- # Update properties of this object
22990
- def update!(**args)
22991
- @url = args[:url] if args.key?(:url)
22992
- end
22993
- end
22994
-
22995
23142
  #
22996
23143
  class PacketMirroringFilter
22997
23144
  include Google::Apis::Core::Hashable
@@ -23280,26 +23427,6 @@ module Google
23280
23427
  end
23281
23428
  end
23282
23429
 
23283
- #
23284
- class PacketMirroringPacketMatcher
23285
- include Google::Apis::Core::Hashable
23286
-
23287
- # IP CIDR range that applies as filter on the source or destination IP in the IP
23288
- # header. Only IPv4 is supported.
23289
- # Corresponds to the JSON property `cidrRange`
23290
- # @return [String]
23291
- attr_accessor :cidr_range
23292
-
23293
- def initialize(**args)
23294
- update!(**args)
23295
- end
23296
-
23297
- # Update properties of this object
23298
- def update!(**args)
23299
- @cidr_range = args[:cidr_range] if args.key?(:cidr_range)
23300
- end
23301
- end
23302
-
23303
23430
  #
23304
23431
  class PacketMirroringsScopedList
23305
23432
  include Google::Apis::Core::Hashable
@@ -23463,12 +23590,10 @@ module Google
23463
23590
  # @return [Array<Google::Apis::ComputeAlpha::PathRule>]
23464
23591
  attr_accessor :path_rules
23465
23592
 
23466
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
23467
- # advanced route matching and routing actions are desired. The order of
23468
- # specifying routeRules matters: the first rule that matches will cause its
23469
- # specified routing action to take effect.
23470
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
23471
- # routeRules are not supported in UrlMaps intended for External Load balancers.
23593
+ # The list of HTTP route rules. Use this list instead of pathRules when advanced
23594
+ # route matching and routing actions are desired. routeRules are evaluated in
23595
+ # order of priority, from the lowest to highest number.
23596
+ # Within a given pathMatcher, you can set only one of pathRules or routeRules.
23472
23597
  # Corresponds to the JSON property `routeRules`
23473
23598
  # @return [Array<Google::Apis::ComputeAlpha::HttpRouteRule>]
23474
23599
  attr_accessor :route_rules
@@ -23697,32 +23822,34 @@ module Google
23697
23822
  end
23698
23823
  end
23699
23824
 
23700
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
23701
- # access control policies for Cloud Platform resources.
23825
+ # An Identity and Access Management (IAM) policy, which specifies access
23826
+ # controls for Google Cloud resources.
23702
23827
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
23703
23828
  # members` to a single `role`. Members can be user accounts, service accounts,
23704
23829
  # Google groups, and domains (such as G Suite). A `role` is a named list of
23705
- # permissions (defined by IAM or configured by users). A `binding` can
23706
- # optionally specify a `condition`, which is a logic expression that further
23707
- # constrains the role binding based on attributes about the request and/or
23708
- # target resource.
23709
- # **JSON Example**
23830
+ # permissions; each `role` can be an IAM predefined role or a user-created
23831
+ # custom role.
23832
+ # Optionally, a `binding` can specify a `condition`, which is a logical
23833
+ # expression that allows access to a resource only if the expression evaluates
23834
+ # to `true`. A condition can add constraints based on attributes of the request,
23835
+ # the resource, or both.
23836
+ # **JSON example:**
23710
23837
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
23711
23838
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
23712
23839
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
23713
23840
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
23714
23841
  # "condition": ` "title": "expirable access", "description": "Does not grant
23715
23842
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
23716
- # 00:00.000Z')", ` ` ] `
23717
- # **YAML Example**
23843
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
23844
+ # **YAML example:**
23718
23845
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
23719
23846
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
23720
23847
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
23721
23848
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
23722
23849
  # access description: Does not grant access after Sep 2020 expression: request.
23723
- # time < timestamp('2020-10-01T00:00:00.000Z')
23724
- # For a description of IAM and its features, see the [IAM developer's guide](
23725
- # https://cloud.google.com/iam/docs).
23850
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
23851
+ # For a description of IAM and its features, see the [IAM documentation](https://
23852
+ # cloud.google.com/iam/docs/).
23726
23853
  class Policy
23727
23854
  include Google::Apis::Core::Hashable
23728
23855
 
@@ -23731,9 +23858,9 @@ module Google
23731
23858
  # @return [Array<Google::Apis::ComputeAlpha::AuditConfig>]
23732
23859
  attr_accessor :audit_configs
23733
23860
 
23734
- # Associates a list of `members` to a `role`. Optionally may specify a `
23735
- # condition` that determines when binding is in effect. `bindings` with no
23736
- # members will result in an error.
23861
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
23862
+ # condition` that determines how and when the `bindings` are applied. Each of
23863
+ # the `bindings` must contain at least one member.
23737
23864
  # Corresponds to the JSON property `bindings`
23738
23865
  # @return [Array<Google::Apis::ComputeAlpha::Binding>]
23739
23866
  attr_accessor :bindings
@@ -23745,10 +23872,10 @@ module Google
23745
23872
  # returned in the response to `getIamPolicy`, and systems are expected to put
23746
23873
  # that etag in the request to `setIamPolicy` to ensure that their change will be
23747
23874
  # applied to the same version of the policy.
23748
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
23749
- # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
23750
- # setIamPolicy' will not fail even if either of incoming or stored policy does
23751
- # not meet the version requirements.
23875
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
23876
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
23877
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
23878
+ # conditions in the version `3` policy are lost.
23752
23879
  # Corresponds to the JSON property `etag`
23753
23880
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
23754
23881
  # @return [String]
@@ -23772,15 +23899,20 @@ module Google
23772
23899
  attr_accessor :rules
23773
23900
 
23774
23901
  # Specifies the format of the policy.
23775
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
23902
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are
23776
23903
  # rejected.
23777
- # Operations affecting conditional bindings must specify version 3. This can be
23778
- # either setting a conditional policy, modifying a conditional binding, or
23779
- # removing a conditional binding from the stored conditional policy. Operations
23780
- # on non-conditional policies may specify any valid value or leave the field
23781
- # unset.
23782
- # If no etag is provided in the call to `setIamPolicy`, any version compliance
23783
- # checks on the incoming and/or stored policy is skipped.
23904
+ # Any operation that affects conditional role bindings must specify version `3`.
23905
+ # This requirement applies to the following operations:
23906
+ # * Getting a policy that includes a conditional role binding * Adding a
23907
+ # conditional role binding to a policy * Changing a conditional role binding in
23908
+ # a policy * Removing any role binding, with or without a condition, from a
23909
+ # policy that includes conditions
23910
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
23911
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
23912
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
23913
+ # conditions in the version `3` policy are lost.
23914
+ # If a policy does not include any conditions, operations on that policy may
23915
+ # specify any valid version or leave the field unset.
23784
23916
  # Corresponds to the JSON property `version`
23785
23917
  # @return [Fixnum]
23786
23918
  attr_accessor :version
@@ -23961,8 +24093,8 @@ module Google
23961
24093
 
23962
24094
  # Represents a Project resource.
23963
24095
  # A project is used to organize resources in a Google Cloud Platform environment.
23964
- # For more information, read about the Resource Hierarchy. (== resource_for v1.
23965
- # projects ==) (== resource_for beta.projects ==)
24096
+ # For more information, read about the Resource Hierarchy. (== resource_for `$
24097
+ # api_version`.projects ==)
23966
24098
  class Project
23967
24099
  include Google::Apis::Core::Hashable
23968
24100
 
@@ -25070,8 +25202,8 @@ module Google
25070
25202
 
25071
25203
  # Represents a Region resource.
25072
25204
  # A region is a geographical area where a resource is located. For more
25073
- # information, read Regions and Zones. (== resource_for beta.regions ==) (==
25074
- # resource_for v1.regions ==)
25205
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
25206
+ # )
25075
25207
  class Region
25076
25208
  include Google::Apis::Core::Hashable
25077
25209
 
@@ -26458,32 +26590,34 @@ module Google
26458
26590
  # @return [String]
26459
26591
  attr_accessor :etag
26460
26592
 
26461
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
26462
- # access control policies for Cloud Platform resources.
26593
+ # An Identity and Access Management (IAM) policy, which specifies access
26594
+ # controls for Google Cloud resources.
26463
26595
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
26464
26596
  # members` to a single `role`. Members can be user accounts, service accounts,
26465
26597
  # Google groups, and domains (such as G Suite). A `role` is a named list of
26466
- # permissions (defined by IAM or configured by users). A `binding` can
26467
- # optionally specify a `condition`, which is a logic expression that further
26468
- # constrains the role binding based on attributes about the request and/or
26469
- # target resource.
26470
- # **JSON Example**
26598
+ # permissions; each `role` can be an IAM predefined role or a user-created
26599
+ # custom role.
26600
+ # Optionally, a `binding` can specify a `condition`, which is a logical
26601
+ # expression that allows access to a resource only if the expression evaluates
26602
+ # to `true`. A condition can add constraints based on attributes of the request,
26603
+ # the resource, or both.
26604
+ # **JSON example:**
26471
26605
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
26472
26606
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
26473
26607
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
26474
26608
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
26475
26609
  # "condition": ` "title": "expirable access", "description": "Does not grant
26476
26610
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
26477
- # 00:00.000Z')", ` ` ] `
26478
- # **YAML Example**
26611
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
26612
+ # **YAML example:**
26479
26613
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
26480
26614
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
26481
26615
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
26482
26616
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
26483
26617
  # access description: Does not grant access after Sep 2020 expression: request.
26484
- # time < timestamp('2020-10-01T00:00:00.000Z')
26485
- # For a description of IAM and its features, see the [IAM developer's guide](
26486
- # https://cloud.google.com/iam/docs).
26618
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
26619
+ # For a description of IAM and its features, see the [IAM documentation](https://
26620
+ # cloud.google.com/iam/docs/).
26487
26621
  # Corresponds to the JSON property `policy`
26488
26622
  # @return [Google::Apis::ComputeAlpha::Policy]
26489
26623
  attr_accessor :policy
@@ -26525,12 +26659,19 @@ module Google
26525
26659
  include Google::Apis::Core::Hashable
26526
26660
 
26527
26661
  # Represents a URL Map resource.
26528
- # A URL map resource is a component of certain types of load balancers. This
26529
- # resource defines mappings from host names and URL paths to either a backend
26530
- # service or a backend bucket.
26531
- # To use this resource, the backend service must have a loadBalancingScheme of
26532
- # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more
26533
- # information, read URL Map Concepts.
26662
+ # Google Compute Engine has two URL Map resources:
26663
+ # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
26664
+ # docs/reference/rest/latest/regionUrlMaps)
26665
+ # A URL map resource is a component of certain types of GCP load balancers and
26666
+ # Traffic Director.
26667
+ # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
26668
+ # regionUrlMaps are used by internal HTTP(S) load balancers.
26669
+ # This resource defines mappings from host names and URL paths to either a
26670
+ # backend service or a backend bucket.
26671
+ # To use the global urlMaps resource, the backend service must have a
26672
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
26673
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
26674
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
26534
26675
  # Corresponds to the JSON property `resource`
26535
26676
  # @return [Google::Apis::ComputeAlpha::UrlMap]
26536
26677
  attr_accessor :resource
@@ -26569,8 +26710,8 @@ module Google
26569
26710
 
26570
26711
  # Represents a reservation resource. A reservation ensures that capacity is held
26571
26712
  # in a specific zone even if the reserved VMs are not running. For more
26572
- # information, read Reserving zonal resources. (== resource_for beta.
26573
- # reservations ==) (== resource_for v1.reservations ==)
26713
+ # information, read Reserving zonal resources. (== resource_for `$api_version`.
26714
+ # reservations ==)
26574
26715
  class Reservation
26575
26716
  include Google::Apis::Core::Hashable
26576
26717
 
@@ -27464,11 +27605,10 @@ module Google
27464
27605
  # @return [Fixnum]
27465
27606
  attr_accessor :availability_domain_count
27466
27607
 
27467
- # Distribution specifies how the instances are placed at host level. If set to
27468
- # SPREAD, no two instances will be put on the same host
27469
- # Corresponds to the JSON property `distribution`
27608
+ # Specifies network collocation
27609
+ # Corresponds to the JSON property `collocation`
27470
27610
  # @return [String]
27471
- attr_accessor :distribution
27611
+ attr_accessor :collocation
27472
27612
 
27473
27613
  # Specifies network locality
27474
27614
  # Corresponds to the JSON property `locality`
@@ -27492,7 +27632,7 @@ module Google
27492
27632
  # Update properties of this object
27493
27633
  def update!(**args)
27494
27634
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
27495
- @distribution = args[:distribution] if args.key?(:distribution)
27635
+ @collocation = args[:collocation] if args.key?(:collocation)
27496
27636
  @locality = args[:locality] if args.key?(:locality)
27497
27637
  @style = args[:style] if args.key?(:style)
27498
27638
  @vm_count = args[:vm_count] if args.key?(:vm_count)
@@ -27758,7 +27898,7 @@ module Google
27758
27898
  class ResourcePolicySnapshotSchedulePolicySnapshotProperties
27759
27899
  include Google::Apis::Core::Hashable
27760
27900
 
27761
- # Indication to perform a ?guest aware? snapshot.
27901
+ # Indication to perform a 'guest aware' snapshot.
27762
27902
  # Corresponds to the JSON property `guestFlush`
27763
27903
  # @return [Boolean]
27764
27904
  attr_accessor :guest_flush
@@ -27916,8 +28056,8 @@ module Google
27916
28056
  # Represents a Route resource.
27917
28057
  # A route defines a path from VM instances in the VPC network to a specific
27918
28058
  # destination. This destination can be inside or outside the VPC network. For
27919
- # more information, read the Routes overview. (== resource_for beta.routes ==) (=
27920
- # = resource_for v1.routes ==)
28059
+ # more information, read the Routes overview. (== resource_for `$api_version`.
28060
+ # routes ==)
27921
28061
  class Route
27922
28062
  include Google::Apis::Core::Hashable
27923
28063
 
@@ -28541,7 +28681,7 @@ module Google
28541
28681
  # peer. Hold time is three times the interval at which keepalive messages are
28542
28682
  # sent, and the hold time is the maximum number of seconds allowed to elapse
28543
28683
  # between successive keepalive messages that BGP receives from a peer. BGP will
28544
- # use the smaller of either the local hold time value or the peer?s hold time
28684
+ # use the smaller of either the local hold time value or the peer's hold time
28545
28685
  # value as the hold time for the BGP connection between the two peers. If set,
28546
28686
  # this value must be between 1 and 120. The default is 20.
28547
28687
  # Corresponds to the JSON property `keepaliveInterval`
@@ -29525,20 +29665,13 @@ module Google
29525
29665
 
29526
29666
  # Specifies how port is selected for health checking, can be one of following
29527
29667
  # values:
29528
- # USE_FIXED_PORT: The port number in
29529
- # port
29530
- # is used for health checking.
29531
- # USE_NAMED_PORT: The
29532
- # portName
29533
- # is used for health checking.
29668
+ # USE_FIXED_PORT: The port number in port is used for health checking.
29669
+ # USE_NAMED_PORT: The portName is used for health checking.
29534
29670
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
29535
29671
  # network endpoint is used for health checking. For other backends, the port or
29536
29672
  # named port specified in the Backend Service is used for health checking.
29537
- # If not specified, SSL health check follows behavior specified in
29538
- # port
29539
- # and
29540
- # portName
29541
- # fields.
29673
+ # If not specified, SSL health check follows behavior specified in port and
29674
+ # portName fields.
29542
29675
  # Corresponds to the JSON property `portSpecification`
29543
29676
  # @return [String]
29544
29677
  attr_accessor :port_specification
@@ -29612,6 +29745,12 @@ module Google
29612
29745
  # @return [Fixnum]
29613
29746
  attr_accessor :disk_size_gb
29614
29747
 
29748
+ # [Output Only] URL of the disk type resource. For example: projects/project/
29749
+ # zones/zone/diskTypes/pd-standard or pd-ssd
29750
+ # Corresponds to the JSON property `diskType`
29751
+ # @return [String]
29752
+ attr_accessor :disk_type
29753
+
29615
29754
  # A list of features to enable on the guest operating system. Applicable only
29616
29755
  # for bootable images. Read Enabling guest operating system features to see a
29617
29756
  # list of available options.
@@ -29682,6 +29821,7 @@ module Google
29682
29821
  @device_name = args[:device_name] if args.key?(:device_name)
29683
29822
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
29684
29823
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
29824
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
29685
29825
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
29686
29826
  @index = args[:index] if args.key?(:index)
29687
29827
  @interface = args[:interface] if args.key?(:interface)
@@ -29861,8 +30001,7 @@ module Google
29861
30001
  # Represents a Cloud Armor Security Policy resource.
29862
30002
  # Only external backend services that use load balancers can reference a
29863
30003
  # Security Policy. For more information, read Cloud Armor Security Policy
29864
- # Concepts. (== resource_for v1.securityPolicies ==) (== resource_for beta.
29865
- # securityPolicies ==)
30004
+ # Concepts. (== resource_for `$api_version`.securityPolicies ==)
29866
30005
  class SecurityPolicy
29867
30006
  include Google::Apis::Core::Hashable
29868
30007
 
@@ -30248,7 +30387,7 @@ module Google
30248
30387
  attr_accessor :rule_tuple_count
30249
30388
 
30250
30389
  # A list of network resource URLs to which this rule applies. This field allows
30251
- # you to control which network?s VMs get this rule. If this field is left blank,
30390
+ # you to control which network's VMs get this rule. If this field is left blank,
30252
30391
  # all VMs within the organization will receive the rule.
30253
30392
  # This field may only be specified when versioned_expr is set to FIREWALL.
30254
30393
  # Corresponds to the JSON property `targetResources`
@@ -30851,13 +30990,13 @@ module Google
30851
30990
 
30852
30991
  # Represents a Persistent Disk Snapshot resource.
30853
30992
  # You can use snapshots to back up data on a regular interval. For more
30854
- # information, read Creating persistent disk snapshots. (== resource_for beta.
30855
- # snapshots ==) (== resource_for v1.snapshots ==)
30993
+ # information, read Creating persistent disk snapshots. (== resource_for `$
30994
+ # api_version`.snapshots ==)
30856
30995
  class Snapshot
30857
30996
  include Google::Apis::Core::Hashable
30858
30997
 
30859
- # [Output Only] Set to true if snapshots are automatically by applying resource
30860
- # policy on the target disk.
30998
+ # [Output Only] Set to true if snapshots are automatically created by applying
30999
+ # resource policy on the target disk.
30861
31000
  # Corresponds to the JSON property `autoCreated`
30862
31001
  # @return [Boolean]
30863
31002
  attr_accessor :auto_created
@@ -30879,6 +31018,11 @@ module Google
30879
31018
  # @return [Fixnum]
30880
31019
  attr_accessor :disk_size_gb
30881
31020
 
31021
+ # [Output Only] Number of bytes downloaded to restore a snapshot to a disk.
31022
+ # Corresponds to the JSON property `downloadBytes`
31023
+ # @return [Fixnum]
31024
+ attr_accessor :download_bytes
31025
+
30882
31026
  # [Output Only] A list of features to enable on the guest operating system.
30883
31027
  # Applicable only for bootable images. Read Enabling guest operating system
30884
31028
  # features to see a list of available options.
@@ -31007,6 +31151,7 @@ module Google
31007
31151
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31008
31152
  @description = args[:description] if args.key?(:description)
31009
31153
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
31154
+ @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
31010
31155
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
31011
31156
  @id = args[:id] if args.key?(:id)
31012
31157
  @kind = args[:kind] if args.key?(:kind)
@@ -31307,10 +31452,17 @@ module Google
31307
31452
  end
31308
31453
 
31309
31454
  # Represents an SSL Certificate resource.
31455
+ # Google Compute Engine has two SSL Certificate resources:
31456
+ # * [Global](/compute/docs/reference/rest/latest/sslCertificates) * [Regional](/
31457
+ # compute/docs/reference/rest/latest/regionSslCertificates)
31458
+ # - sslCertificates are used by: - external HTTPS load balancers - SSL proxy
31459
+ # load balancers
31460
+ # - regionSslCertificates are used by: - internal HTTPS load balancers
31310
31461
  # This SSL certificate resource also contains a private key. You can use SSL
31311
31462
  # keys and certificates to secure connections to a load balancer. For more
31312
- # information, read Creating and Using SSL Certificates. (== resource_for beta.
31313
- # sslCertificates ==) (== resource_for v1.sslCertificates ==)
31463
+ # information, read Creating and Using SSL Certificates. (== resource_for `$
31464
+ # api_version`.sslCertificates ==) (== resource_for `$api_version`.
31465
+ # regionSslCertificates ==) Next ID: 17
31314
31466
  class SslCertificate
31315
31467
  include Google::Apis::Core::Hashable
31316
31468
 
@@ -31955,8 +32107,7 @@ module Google
31955
32107
  # Represents a Cloud Armor Security Policy resource.
31956
32108
  # Only external backend services used by HTTP or HTTPS load balancers can
31957
32109
  # reference a Security Policy. For more information, read read Cloud Armor
31958
- # Security Policy Concepts. (== resource_for beta.sslPolicies ==) (==
31959
- # resource_for v1.sslPolicies ==)
32110
+ # Security Policy Concepts. (== resource_for `$api_version`.sslPolicies ==)
31960
32111
  class SslPolicy
31961
32112
  include Google::Apis::Core::Hashable
31962
32113
 
@@ -32224,7 +32375,7 @@ module Google
32224
32375
  # A subnetwork (also known as a subnet) is a logical partition of a Virtual
32225
32376
  # Private Cloud network with one primary IP range and zero or more secondary IP
32226
32377
  # ranges. For more information, read Virtual Private Cloud (VPC) Network. (==
32227
- # resource_for beta.subnetworks ==) (== resource_for v1.subnetworks ==)
32378
+ # resource_for `$api_version`.subnetworks ==)
32228
32379
  class Subnetwork
32229
32380
  include Google::Apis::Core::Hashable
32230
32381
 
@@ -32379,6 +32530,7 @@ module Google
32379
32530
  # @return [String]
32380
32531
  attr_accessor :private_ipv6_google_access
32381
32532
 
32533
+ # Deprecated in favor of enable PrivateIpv6GoogleAccess on instance directly.
32382
32534
  # The service accounts can be used to selectively turn on Private IPv6 Google
32383
32535
  # Access only on the VMs primary service account matching the value. This value
32384
32536
  # only takes effect when PrivateIpv6GoogleAccess is
@@ -32979,20 +33131,13 @@ module Google
32979
33131
 
32980
33132
  # Specifies how port is selected for health checking, can be one of following
32981
33133
  # values:
32982
- # USE_FIXED_PORT: The port number in
32983
- # port
32984
- # is used for health checking.
32985
- # USE_NAMED_PORT: The
32986
- # portName
32987
- # is used for health checking.
33134
+ # USE_FIXED_PORT: The port number in port is used for health checking.
33135
+ # USE_NAMED_PORT: The portName is used for health checking.
32988
33136
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
32989
33137
  # network endpoint is used for health checking. For other backends, the port or
32990
33138
  # named port specified in the Backend Service is used for health checking.
32991
- # If not specified, TCP health check follows behavior specified in
32992
- # port
32993
- # and
32994
- # portName
32995
- # fields.
33139
+ # If not specified, TCP health check follows behavior specified in port and
33140
+ # portName fields.
32996
33141
  # Corresponds to the JSON property `portSpecification`
32997
33142
  # @return [String]
32998
33143
  attr_accessor :port_specification
@@ -33157,11 +33302,16 @@ module Google
33157
33302
  end
33158
33303
 
33159
33304
  # Represents a Target HTTP Proxy resource.
33160
- # A target HTTP proxy is a component of certain types of load balancers. Global
33161
- # forwarding rules reference a target HTTP proxy, and the target proxy then
33162
- # references a URL map. For more information, read Using Target Proxies. (==
33163
- # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
33164
- # =)
33305
+ # Google Compute Engine has two Target HTTP Proxy resources:
33306
+ # * [Global](/compute/docs/reference/rest/latest/targetHttpProxies) * [Regional](
33307
+ # /compute/docs/reference/rest/latest/regionTargetHttpProxies)
33308
+ # A target HTTP proxy is a component of GCP HTTP load balancers.
33309
+ # * targetHttpProxies are used by external HTTP load balancers and Traffic
33310
+ # Director. * regionTargetHttpProxies are used by internal HTTP load balancers.
33311
+ # Forwarding rules reference a target HTTP proxy, and the target proxy then
33312
+ # references a URL map. For more information, read Using Target Proxies and
33313
+ # Forwarding rule concepts. (== resource_for `$api_version`.targetHttpProxies ==)
33314
+ # (== resource_for `$api_version`.regionTargetHttpProxies ==)
33165
33315
  class TargetHttpProxy
33166
33316
  include Google::Apis::Core::Hashable
33167
33317
 
@@ -33614,11 +33764,16 @@ module Google
33614
33764
  end
33615
33765
 
33616
33766
  # Represents a Target HTTPS Proxy resource.
33617
- # A target HTTPS proxy is a component of certain types of load balancers. Global
33618
- # forwarding rules reference a target HTTPS proxy, and the target proxy then
33619
- # references a URL map. For more information, read Using Target Proxies. (==
33620
- # resource_for beta.targetHttpsProxies ==) (== resource_for v1.
33621
- # targetHttpsProxies ==)
33767
+ # Google Compute Engine has two Target HTTPS Proxy resources:
33768
+ # * [Global](/compute/docs/reference/rest/latest/targetHttpsProxies) * [Regional]
33769
+ # (/compute/docs/reference/rest/latest/regionTargetHttpsProxies)
33770
+ # A target HTTPS proxy is a component of GCP HTTPS load balancers.
33771
+ # * targetHttpsProxies are used by external HTTPS load balancers. *
33772
+ # regionTargetHttpsProxies are used by internal HTTPS load balancers.
33773
+ # Forwarding rules reference a target HTTPS proxy, and the target proxy then
33774
+ # references a URL map. For more information, read Using Target Proxies and
33775
+ # Forwarding rule concepts. (== resource_for `$api_version`.targetHttpsProxies ==
33776
+ # ) (== resource_for `$api_version`.regionTargetHttpsProxies ==)
33622
33777
  class TargetHttpsProxy
33623
33778
  include Google::Apis::Core::Hashable
33624
33779
 
@@ -33978,8 +34133,7 @@ module Google
33978
34133
  # You can use a target instance to handle traffic for one or more forwarding
33979
34134
  # rules, which is ideal for forwarding protocol traffic that is managed by a
33980
34135
  # single source. For example, ESP, AH, TCP, or UDP. For more information, read
33981
- # Target instances. (== resource_for beta.targetInstances ==) (== resource_for
33982
- # v1.targetInstances ==)
34136
+ # Target instances. (== resource_for `$api_version`.targetInstances ==)
33983
34137
  class TargetInstance
33984
34138
  include Google::Apis::Core::Hashable
33985
34139
 
@@ -34034,6 +34188,13 @@ module Google
34034
34188
  # @return [String]
34035
34189
  attr_accessor :nat_policy
34036
34190
 
34191
+ # The URL of the network this target instance uses to forward traffic. If not
34192
+ # specified, the traffic will be forwarded to the network that the default
34193
+ # network interface belongs to.
34194
+ # Corresponds to the JSON property `network`
34195
+ # @return [String]
34196
+ attr_accessor :network
34197
+
34037
34198
  # [Output Only] Server-defined URL for the resource.
34038
34199
  # Corresponds to the JSON property `selfLink`
34039
34200
  # @return [String]
@@ -34064,6 +34225,7 @@ module Google
34064
34225
  @kind = args[:kind] if args.key?(:kind)
34065
34226
  @name = args[:name] if args.key?(:name)
34066
34227
  @nat_policy = args[:nat_policy] if args.key?(:nat_policy)
34228
+ @network = args[:network] if args.key?(:network)
34067
34229
  @self_link = args[:self_link] if args.key?(:self_link)
34068
34230
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
34069
34231
  @zone = args[:zone] if args.key?(:zone)
@@ -34399,8 +34561,7 @@ module Google
34399
34561
  # Target pools are used for network TCP/UDP load balancing. A target pool
34400
34562
  # references member instances, an associated legacy HttpHealthCheck resource,
34401
34563
  # and, optionally, a backup target pool. For more information, read Using target
34402
- # pools. (== resource_for beta.targetPools ==) (== resource_for v1.targetPools ==
34403
- # )
34564
+ # pools. (== resource_for `$api_version`.targetPools ==)
34404
34565
  class TargetPool
34405
34566
  include Google::Apis::Core::Hashable
34406
34567
 
@@ -35049,8 +35210,7 @@ module Google
35049
35210
  # A target SSL proxy is a component of a SSL Proxy load balancer. Global
35050
35211
  # forwarding rules reference a target SSL proxy, and the target proxy then
35051
35212
  # references an external backend service. For more information, read Using
35052
- # Target Proxies. (== resource_for beta.targetSslProxies ==) (== resource_for v1.
35053
- # targetSslProxies ==)
35213
+ # Target Proxies. (== resource_for `$api_version`.targetSslProxies ==)
35054
35214
  class TargetSslProxy
35055
35215
  include Google::Apis::Core::Hashable
35056
35216
 
@@ -35296,8 +35456,7 @@ module Google
35296
35456
  # A target TCP proxy is a component of a TCP Proxy load balancer. Global
35297
35457
  # forwarding rules reference target TCP proxy, and the target proxy then
35298
35458
  # references an external backend service. For more information, read TCP Proxy
35299
- # Load Balancing Concepts. (== resource_for beta.targetTcpProxies ==) (==
35300
- # resource_for v1.targetTcpProxies ==)
35459
+ # Load Balancing Concepts. (== resource_for `$api_version`.targetTcpProxies ==)
35301
35460
  class TargetTcpProxy
35302
35461
  include Google::Apis::Core::Hashable
35303
35462
 
@@ -35486,8 +35645,8 @@ module Google
35486
35645
 
35487
35646
  # Represents a Target VPN Gateway resource.
35488
35647
  # The target VPN gateway resource represents a Classic Cloud VPN gateway. For
35489
- # more information, read the the Cloud VPN Overview. (== resource_for beta.
35490
- # targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==)
35648
+ # more information, read the the Cloud VPN Overview. (== resource_for `$
35649
+ # api_version`.targetVpnGateways ==)
35491
35650
  class TargetVpnGateway
35492
35651
  include Google::Apis::Core::Hashable
35493
35652
 
@@ -36162,13 +36321,53 @@ module Google
36162
36321
  end
36163
36322
  end
36164
36323
 
36324
+ # Upcoming Maintenance notification information.
36325
+ class UpcomingMaintenance
36326
+ include Google::Apis::Core::Hashable
36327
+
36328
+ # [Output Only] The date when the maintenance will take place. This value is in
36329
+ # RFC3339 text format.
36330
+ # Corresponds to the JSON property `date`
36331
+ # @return [String]
36332
+ attr_accessor :date
36333
+
36334
+ # [Output Only] The time when the maintenance will take place. This value is in
36335
+ # RFC3339 text format.
36336
+ # Corresponds to the JSON property `time`
36337
+ # @return [String]
36338
+ attr_accessor :time
36339
+
36340
+ # Defines the type of maintenance.
36341
+ # Corresponds to the JSON property `type`
36342
+ # @return [String]
36343
+ attr_accessor :type
36344
+
36345
+ def initialize(**args)
36346
+ update!(**args)
36347
+ end
36348
+
36349
+ # Update properties of this object
36350
+ def update!(**args)
36351
+ @date = args[:date] if args.key?(:date)
36352
+ @time = args[:time] if args.key?(:time)
36353
+ @type = args[:type] if args.key?(:type)
36354
+ end
36355
+ end
36356
+
36165
36357
  # Represents a URL Map resource.
36166
- # A URL map resource is a component of certain types of load balancers. This
36167
- # resource defines mappings from host names and URL paths to either a backend
36168
- # service or a backend bucket.
36169
- # To use this resource, the backend service must have a loadBalancingScheme of
36170
- # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more
36171
- # information, read URL Map Concepts.
36358
+ # Google Compute Engine has two URL Map resources:
36359
+ # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
36360
+ # docs/reference/rest/latest/regionUrlMaps)
36361
+ # A URL map resource is a component of certain types of GCP load balancers and
36362
+ # Traffic Director.
36363
+ # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
36364
+ # regionUrlMaps are used by internal HTTP(S) load balancers.
36365
+ # This resource defines mappings from host names and URL paths to either a
36366
+ # backend service or a backend bucket.
36367
+ # To use the global urlMaps resource, the backend service must have a
36368
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
36369
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
36370
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
36172
36371
  class UrlMap
36173
36372
  include Google::Apis::Core::Hashable
36174
36373
 
@@ -36744,12 +36943,19 @@ module Google
36744
36943
  include Google::Apis::Core::Hashable
36745
36944
 
36746
36945
  # Represents a URL Map resource.
36747
- # A URL map resource is a component of certain types of load balancers. This
36748
- # resource defines mappings from host names and URL paths to either a backend
36749
- # service or a backend bucket.
36750
- # To use this resource, the backend service must have a loadBalancingScheme of
36751
- # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more
36752
- # information, read URL Map Concepts.
36946
+ # Google Compute Engine has two URL Map resources:
36947
+ # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
36948
+ # docs/reference/rest/latest/regionUrlMaps)
36949
+ # A URL map resource is a component of certain types of GCP load balancers and
36950
+ # Traffic Director.
36951
+ # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
36952
+ # regionUrlMaps are used by internal HTTP(S) load balancers.
36953
+ # This resource defines mappings from host names and URL paths to either a
36954
+ # backend service or a backend bucket.
36955
+ # To use the global urlMaps resource, the backend service must have a
36956
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
36957
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
36958
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
36753
36959
  # Corresponds to the JSON property `resource`
36754
36960
  # @return [Google::Apis::ComputeAlpha::UrlMap]
36755
36961
  attr_accessor :resource
@@ -37230,7 +37436,7 @@ module Google
37230
37436
  end
37231
37437
  end
37232
37438
 
37233
- # Represents a VPN gateway resource.
37439
+ # Represents a VPN gateway resource. Next ID: 13
37234
37440
  class VpnGateway
37235
37441
  include Google::Apis::Core::Hashable
37236
37442
 
@@ -37821,7 +38027,7 @@ module Google
37821
38027
 
37822
38028
  # Represents a Cloud VPN Tunnel resource.
37823
38029
  # For more information about VPN, read the the Cloud VPN Overview. (==
37824
- # resource_for beta.vpnTunnels ==) (== resource_for v1.vpnTunnels ==)
38030
+ # resource_for `$api_version`.vpnTunnels ==)
37825
38031
  class VpnTunnel
37826
38032
  include Google::Apis::Core::Hashable
37827
38033
 
@@ -38608,8 +38814,7 @@ module Google
38608
38814
  # Represents a Zone resource.
38609
38815
  # A zone is a deployment area. These deployment areas are subsets of a region.
38610
38816
  # For example the zone us-east1-a is located in the us-east1 region. For more
38611
- # information, read Regions and Zones. (== resource_for beta.zones ==) (==
38612
- # resource_for v1.zones ==)
38817
+ # information, read Regions and Zones. (== resource_for `$api_version`.zones ==)
38613
38818
  class Zone
38614
38819
  include Google::Apis::Core::Hashable
38615
38820
 
@@ -38847,32 +39052,34 @@ module Google
38847
39052
  # @return [String]
38848
39053
  attr_accessor :etag
38849
39054
 
38850
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
38851
- # access control policies for Cloud Platform resources.
39055
+ # An Identity and Access Management (IAM) policy, which specifies access
39056
+ # controls for Google Cloud resources.
38852
39057
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
38853
39058
  # members` to a single `role`. Members can be user accounts, service accounts,
38854
39059
  # Google groups, and domains (such as G Suite). A `role` is a named list of
38855
- # permissions (defined by IAM or configured by users). A `binding` can
38856
- # optionally specify a `condition`, which is a logic expression that further
38857
- # constrains the role binding based on attributes about the request and/or
38858
- # target resource.
38859
- # **JSON Example**
39060
+ # permissions; each `role` can be an IAM predefined role or a user-created
39061
+ # custom role.
39062
+ # Optionally, a `binding` can specify a `condition`, which is a logical
39063
+ # expression that allows access to a resource only if the expression evaluates
39064
+ # to `true`. A condition can add constraints based on attributes of the request,
39065
+ # the resource, or both.
39066
+ # **JSON example:**
38860
39067
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
38861
39068
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
38862
39069
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
38863
39070
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
38864
39071
  # "condition": ` "title": "expirable access", "description": "Does not grant
38865
39072
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
38866
- # 00:00.000Z')", ` ` ] `
38867
- # **YAML Example**
39073
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
39074
+ # **YAML example:**
38868
39075
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
38869
39076
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
38870
39077
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
38871
39078
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
38872
39079
  # access description: Does not grant access after Sep 2020 expression: request.
38873
- # time < timestamp('2020-10-01T00:00:00.000Z')
38874
- # For a description of IAM and its features, see the [IAM developer's guide](
38875
- # https://cloud.google.com/iam/docs).
39080
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
39081
+ # For a description of IAM and its features, see the [IAM documentation](https://
39082
+ # cloud.google.com/iam/docs/).
38876
39083
  # Corresponds to the JSON property `policy`
38877
39084
  # @return [Google::Apis::ComputeAlpha::Policy]
38878
39085
  attr_accessor :policy