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
 
@@ -527,21 +526,22 @@ module Google
527
526
  end
528
527
  end
529
528
 
530
- # Represents an IP Address resource.
531
- # An address resource represents a regional internal IP address. Regional
532
- # internal IP addresses are RFC 1918 addresses that come from either a primary
533
- # or secondary IP range of a subnet in a VPC network. Regional external IP
534
- # addresses can be assigned to GCP VM instances, Cloud VPN gateways, regional
535
- # external forwarding rules for network load balancers (in either Standard or
536
- # Premium Tier), and regional external forwarding rules for HTTP(S), SSL Proxy,
537
- # and TCP Proxy load balancers in Standard Tier. For more information, read IP
538
- # addresses.
539
- # A globalAddresses resource represent a global external IP address. Global
540
- # external IP addresses are IPv4 or IPv6 addresses. They can only be assigned to
541
- # global forwarding rules for HTTP(S), SSL Proxy, or TCP Proxy load balancers in
542
- # Premium Tier. For more information, read Global resources. (== resource_for
543
- # beta.addresses ==) (== resource_for v1.addresses ==) (== resource_for beta.
544
- # globalAddresses ==) (== resource_for v1.globalAddresses ==)
529
+ # Use global external addresses for GFE-based external HTTP(S) load balancers in
530
+ # Premium Tier.
531
+ # Use global internal addresses for reserved peering network range.
532
+ # Use regional external addresses for the following resources:
533
+ # - External IP addresses for VM instances - Regional external forwarding rules -
534
+ # Cloud NAT external IP addresses - GFE based LBs in Standard Tier - Network
535
+ # LBs in Premium or Standard Tier - Cloud VPN gateways (both Classic and HA)
536
+ # Use regional internal IP addresses for subnet IP ranges (primary and secondary)
537
+ # . This includes:
538
+ # - Internal IP addresses for VM instances - Alias IP ranges of VM instances (/
539
+ # 32 only) - Regional internal forwarding rules - Internal TCP/UDP load balancer
540
+ # addresses - Internal HTTP(S) load balancer addresses - Cloud DNS inbound
541
+ # forwarding IP addresses
542
+ # For more information, read reserved IP address.
543
+ # (== resource_for `$api_version`.addresses ==) (== resource_for `$api_version`.
544
+ # globalAddresses ==)
545
545
  class Address
546
546
  include Google::Apis::Core::Hashable
547
547
 
@@ -1175,6 +1175,11 @@ module Google
1175
1175
  # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
1176
1176
  attr_accessor :disk_encryption_key
1177
1177
 
1178
+ # The size of the disk in GB.
1179
+ # Corresponds to the JSON property `diskSizeGb`
1180
+ # @return [Fixnum]
1181
+ attr_accessor :disk_size_gb
1182
+
1178
1183
  # A list of features to enable on the guest operating system. Applicable only
1179
1184
  # for bootable images. Read Enabling guest operating system features to see a
1180
1185
  # list of available options.
@@ -1253,6 +1258,7 @@ module Google
1253
1258
  @boot = args[:boot] if args.key?(:boot)
1254
1259
  @device_name = args[:device_name] if args.key?(:device_name)
1255
1260
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
1261
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1256
1262
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1257
1263
  @index = args[:index] if args.key?(:index)
1258
1264
  @initialize_params = args[:initialize_params] if args.key?(:initialize_params)
@@ -1285,9 +1291,10 @@ module Google
1285
1291
  # @return [String]
1286
1292
  attr_accessor :disk_name
1287
1293
 
1288
- # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1289
- # be the same size as the image (usually 10GB). If specified, the size must be
1290
- # equal to or larger than 10GB.
1294
+ # Specifies the size of the disk in base-2 GB. The size must be at least 10 GB.
1295
+ # If you specify a sourceImage, which is required for boot disks, the default
1296
+ # size is the size of the sourceImage. If you do not specify a sourceImage, the
1297
+ # default disk size is 500 GB.
1291
1298
  # Corresponds to the JSON property `diskSizeGb`
1292
1299
  # @return [Fixnum]
1293
1300
  attr_accessor :disk_size_gb
@@ -1488,14 +1495,16 @@ module Google
1488
1495
  end
1489
1496
 
1490
1497
  # Represents an Autoscaler resource.
1498
+ # Google Compute Engine has two Autoscaler resources:
1499
+ # * [Global](/compute/docs/reference/rest/latest/autoscalers) * [Regional](/
1500
+ # compute/docs/reference/rest/latest/regionAutoscalers)
1491
1501
  # Use autoscalers to automatically add or delete instances from a managed
1492
1502
  # instance group according to your defined autoscaling policy. For more
1493
1503
  # information, read Autoscaling Groups of Instances.
1494
1504
  # For zonal managed instance groups resource, use the autoscaler resource.
1495
1505
  # For regional managed instance groups, use the regionAutoscalers resource. (==
1496
- # resource_for beta.autoscalers ==) (== resource_for v1.autoscalers ==) (==
1497
- # resource_for beta.regionAutoscalers ==) (== resource_for v1.regionAutoscalers =
1498
- # =)
1506
+ # resource_for `$api_version`.autoscalers ==) (== resource_for `$api_version`.
1507
+ # regionAutoscalers ==)
1499
1508
  class Autoscaler
1500
1509
  include Google::Apis::Core::Hashable
1501
1510
 
@@ -1536,6 +1545,15 @@ module Google
1536
1545
  # @return [String]
1537
1546
  attr_accessor :name
1538
1547
 
1548
+ # [Output Only] Target recommended MIG size (number of instances) computed by
1549
+ # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1550
+ # policy mode is different from ON. This field is empty when autoscaler is not
1551
+ # connected to the existing managed instance group or autoscaler did not
1552
+ # generate its prediction.
1553
+ # Corresponds to the JSON property `recommendedSize`
1554
+ # @return [Fixnum]
1555
+ attr_accessor :recommended_size
1556
+
1539
1557
  # [Output Only] URL of the region where the instance group resides (for
1540
1558
  # autoscalers living in regional scope).
1541
1559
  # Corresponds to the JSON property `region`
@@ -1548,12 +1566,13 @@ module Google
1548
1566
  attr_accessor :self_link
1549
1567
 
1550
1568
  # [Output Only] The status of the autoscaler configuration. Current set of
1551
- # possible values: PENDING: Autoscaler backend hasn't read new/updated
1552
- # configuration DELETING: Configuration is being deleted ACTIVE: Configuration
1553
- # is acknowledged to be effective. Some warnings might or might not be present
1554
- # in the status_details field. ERROR: Configuration has errors. Actionable for
1555
- # users. Details are present in the status_details field. New values might be
1556
- # added in the future.
1569
+ # possible values:
1570
+ # - PENDING: Autoscaler backend hasn't read new/updated configuration.
1571
+ # - DELETING: Configuration is being deleted.
1572
+ # - ACTIVE: Configuration is acknowledged to be effective. Some warnings might
1573
+ # be present in the statusDetails field.
1574
+ # - ERROR: Configuration has errors. Actionable for users. Details are present
1575
+ # in the statusDetails field. New values might be added in the future.
1557
1576
  # Corresponds to the JSON property `status`
1558
1577
  # @return [String]
1559
1578
  attr_accessor :status
@@ -1588,6 +1607,7 @@ module Google
1588
1607
  @id = args[:id] if args.key?(:id)
1589
1608
  @kind = args[:kind] if args.key?(:kind)
1590
1609
  @name = args[:name] if args.key?(:name)
1610
+ @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1591
1611
  @region = args[:region] if args.key?(:region)
1592
1612
  @self_link = args[:self_link] if args.key?(:self_link)
1593
1613
  @status = args[:status] if args.key?(:status)
@@ -1842,38 +1862,45 @@ module Google
1842
1862
  # @return [String]
1843
1863
  attr_accessor :message
1844
1864
 
1845
- # The type of error, warning or notice returned. Current set of possible values:
1846
- # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
1847
- # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR):
1848
- # There is no backend service attached to the instance group.
1849
- # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than
1850
- # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom
1851
- # metric samples are not exported often enough to be a credible base for
1852
- # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was
1853
- # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX
1854
- # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the
1855
- # autoscaler cannot add or remove instances from the instance group.
1856
- # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
1865
+ # The type of error, warning, or notice returned. Current set of possible values:
1866
+ #
1867
+ # - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
1868
+ # unhealthy (not in RUNNING state).
1869
+ # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached
1870
+ # to the instance group.
1871
+ # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater
1872
+ # than maxNumReplicas.
1873
+ # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples
1874
+ # are not exported often enough to be a credible base for autoscaling.
1875
+ # - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not
1876
+ # exist or does not have the necessary labels.
1877
+ # - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas.
1878
+ # This means the autoscaler cannot add or remove instances from the instance
1879
+ # group.
1880
+ # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
1857
1881
  # any data from the custom metric configured for autoscaling.
1858
- # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to
1859
- # scale based on a load balancing signal but the instance group has not received
1860
- # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned
1861
- # off. The number of instances in the group won't change automatically. The
1862
- # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is
1863
- # in the "Autoscale only up" mode. Instances in the group will be only added.
1864
- # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled
1865
- # because it has more than one backend service attached to it.
1866
- # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources,
1867
- # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR):
1868
- # Showed only for regional autoscalers: there is a resource stockout in the
1869
- # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled
1870
- # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR):
1871
- # Autoscaling does not work with an HTTP/S load balancer that has been
1872
- # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers:
1873
- # there is a resource stockout in the chosen zone. For regional autoscalers: in
1874
- # at least one of the zones you're using there is a resource stockout. New
1875
- # values might be added in the future. Some of the values might not be available
1876
- # in all API versions.
1882
+ # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured
1883
+ # to scale based on a load balancing signal but the instance group has not
1884
+ # received any requests from the load balancer.
1885
+ # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in
1886
+ # the group won't change automatically. The autoscaling configuration is
1887
+ # preserved.
1888
+ # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The
1889
+ # autoscaler can add instances but not remove any.
1890
+ # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be
1891
+ # autoscaled because it has more than one backend service attached to it.
1892
+ # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the
1893
+ # necessary resources, such as CPU or number of instances.
1894
+ # - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there
1895
+ # is a resource stockout in the chosen region.
1896
+ # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not
1897
+ # exist.
1898
+ # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does
1899
+ # not work with an HTTP/S load balancer that has been configured for maxRate.
1900
+ # - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource
1901
+ # stockout in the chosen zone. For regional autoscalers: in at least one of the
1902
+ # zones you're using there is a resource stockout. New values might be added in
1903
+ # the future. Some of the values might not be available in all API versions.
1877
1904
  # Corresponds to the JSON property `type`
1878
1905
  # @return [String]
1879
1906
  attr_accessor :type
@@ -2025,6 +2052,11 @@ module Google
2025
2052
  # @return [Fixnum]
2026
2053
  attr_accessor :min_num_replicas
2027
2054
 
2055
+ # Defines operating mode for this policy.
2056
+ # Corresponds to the JSON property `mode`
2057
+ # @return [String]
2058
+ attr_accessor :mode
2059
+
2028
2060
  def initialize(**args)
2029
2061
  update!(**args)
2030
2062
  end
@@ -2037,6 +2069,7 @@ module Google
2037
2069
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
2038
2070
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
2039
2071
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2072
+ @mode = args[:mode] if args.key?(:mode)
2040
2073
  end
2041
2074
  end
2042
2075
 
@@ -2524,8 +2557,12 @@ module Google
2524
2557
  # Represents a Backend Service resource.
2525
2558
  # A backend service contains configuration values for Google Cloud Platform load
2526
2559
  # balancing services.
2560
+ # Backend services in Google Compute Engine can be either regionally or globally
2561
+ # scoped.
2562
+ # * [Global](/compute/docs/reference/rest/latest/backendServices) * [Regional](/
2563
+ # compute/docs/reference/rest/latest/regionBackendServices)
2527
2564
  # For more information, read Backend Services.
2528
- # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2565
+ # (== resource_for `$api_version`.backendService ==)
2529
2566
  class BackendService
2530
2567
  include Google::Apis::Core::Hashable
2531
2568
 
@@ -2597,9 +2634,11 @@ module Google
2597
2634
 
2598
2635
  # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
2599
2636
  # health checking this BackendService. Currently at most one health check can be
2600
- # specified, and a health check is required for Compute Engine backend services.
2601
- # A health check must not be specified for App Engine backend and Cloud Function
2602
- # backend.
2637
+ # specified. Health check is optional for Compute Engine backend services if
2638
+ # there is no backend. A health check must not be specified when adding Internet
2639
+ # Network Endpoint Group or Serverless Network Endpoint Group as backends. In
2640
+ # all other cases, a health check is required for Compute Engine backend
2641
+ # services.
2603
2642
  # For internal load balancing, a URL to a HealthCheck resource must be specified
2604
2643
  # instead.
2605
2644
  # Corresponds to the JSON property `healthChecks`
@@ -2656,6 +2695,8 @@ module Google
2656
2695
  # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
2657
2696
  # - A global backend service with the load_balancing_scheme set to
2658
2697
  # INTERNAL_SELF_MANAGED.
2698
+ # If sessionAffinity is not NONE, and this field is not set to >MAGLEV or
2699
+ # RING_HASH, session affinity settings will not take effect.
2659
2700
  # Corresponds to the JSON property `localityLbPolicy`
2660
2701
  # @return [String]
2661
2702
  attr_accessor :locality_lb_policy
@@ -2730,8 +2771,9 @@ module Google
2730
2771
  # HTTPS.
2731
2772
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2732
2773
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2733
- # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
2734
- # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
2774
+ # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
2775
+ # possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or
2776
+ # HTTP_COOKIE.
2735
2777
  # Corresponds to the JSON property `sessionAffinity`
2736
2778
  # @return [String]
2737
2779
  attr_accessor :session_affinity
@@ -3250,6 +3292,22 @@ module Google
3250
3292
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3251
3293
  # * `group:`emailid``: An email address that represents a Google group. For
3252
3294
  # example, `admins@example.com`.
3295
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
3296
+ # identifier) representing a user that has been recently deleted. For example, `
3297
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
3298
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
3299
+ # the binding.
3300
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
3301
+ # unique identifier) representing a service account that has been recently
3302
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
3303
+ # 123456789012345678901`. If the service account is undeleted, this value
3304
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
3305
+ # retains the role in the binding.
3306
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
3307
+ # identifier) representing a Google group that has been recently deleted. For
3308
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
3309
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
3310
+ # retains the role in the binding.
3253
3311
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
3254
3312
  # users of that domain. For example, `google.com` or `example.com`.
3255
3313
  # Corresponds to the JSON property `members`
@@ -3410,8 +3468,8 @@ module Google
3410
3468
  # Creating a commitment resource means that you are purchasing a committed use
3411
3469
  # contract with an explicit start and end time. You can create commitments based
3412
3470
  # on vCPUs and memory usage and receive discounted rates. For full details, read
3413
- # Signing Up for Committed Use Discounts. (== resource_for beta.
3414
- # regionCommitments ==) (== resource_for v1.regionCommitments ==)
3471
+ # Signing Up for Committed Use Discounts. (== resource_for `$api_version`.
3472
+ # regionCommitments ==)
3415
3473
  class Commitment
3416
3474
  include Google::Apis::Core::Hashable
3417
3475
 
@@ -4033,8 +4091,8 @@ module Google
4033
4091
  # @return [Array<String>]
4034
4092
  attr_accessor :expose_headers
4035
4093
 
4036
- # Specifies how long the results of a preflight request can be cached. This
4037
- # translates to the content for the Access-Control-Max-Age header.
4094
+ # Specifies how long results of a preflight request can be cached in seconds.
4095
+ # This translates to the Access-Control-Max-Age header.
4038
4096
  # Corresponds to the JSON property `maxAge`
4039
4097
  # @return [Fixnum]
4040
4098
  attr_accessor :max_age
@@ -4172,15 +4230,17 @@ module Google
4172
4230
  end
4173
4231
 
4174
4232
  # Represents a Persistent Disk resource.
4233
+ # Google Compute Engine has two Disk resources:
4234
+ # * [Global](/compute/docs/reference/rest/latest/disks) * [Regional](/compute/
4235
+ # docs/reference/rest/latest/regionDisks)
4175
4236
  # Persistent disks are required for running your VM instances. Create both boot
4176
4237
  # and non-boot (data) persistent disks. For more information, read Persistent
4177
4238
  # Disks. For more storage options, read Storage options.
4178
4239
  # The disks resource represents a zonal persistent disk. For more information,
4179
4240
  # read Zonal persistent disks.
4180
4241
  # The regionDisks resource represents a regional persistent disk. For more
4181
- # information, read Regional resources. (== resource_for beta.disks ==) (==
4182
- # resource_for v1.disks ==) (== resource_for v1.regionDisks ==) (== resource_for
4183
- # beta.regionDisks ==)
4242
+ # information, read Regional resources. (== resource_for `$api_version`.disks ==
4243
+ # ) (== resource_for `$api_version`.regionDisks ==)
4184
4244
  class Disk
4185
4245
  include Google::Apis::Core::Hashable
4186
4246
 
@@ -4758,14 +4818,16 @@ module Google
4758
4818
  end
4759
4819
 
4760
4820
  # Represents a Disk Type resource.
4821
+ # Google Compute Engine has two Disk Type resources:
4822
+ # * [Global](/compute/docs/reference/rest/latest/diskTypes) * [Regional](/
4823
+ # compute/docs/reference/rest/latest/regionDiskTypes)
4761
4824
  # You can choose from a variety of disk types based on your needs. For more
4762
4825
  # information, read Storage options.
4763
4826
  # The diskTypes resource represents disk types for a zonal persistent disk. For
4764
4827
  # more information, read Zonal persistent disks.
4765
4828
  # The regionDiskTypes resource represents disk types for a regional persistent
4766
- # disk. For more information, read Regional persistent disks. (== resource_for
4767
- # beta.diskTypes ==) (== resource_for v1.diskTypes ==) (== resource_for v1.
4768
- # regionDiskTypes ==) (== resource_for beta.regionDiskTypes ==)
4829
+ # disk. For more information, read Regional persistent disks. (== resource_for `$
4830
+ # api_version`.diskTypes ==) (== resource_for `$api_version`.regionDiskTypes ==)
4769
4831
  class DiskType
4770
4832
  include Google::Apis::Core::Hashable
4771
4833
 
@@ -5416,6 +5478,171 @@ module Google
5416
5478
  end
5417
5479
  end
5418
5480
 
5481
+ #
5482
+ class ExchangedPeeringRoute
5483
+ include Google::Apis::Core::Hashable
5484
+
5485
+ # The destination range of the route.
5486
+ # Corresponds to the JSON property `destRange`
5487
+ # @return [String]
5488
+ attr_accessor :dest_range
5489
+
5490
+ # True if the peering route has been imported from a peer. The actual import
5491
+ # happens if the field networkPeering.importCustomRoutes is true for this
5492
+ # network, and networkPeering.exportCustomRoutes is true for the peer network,
5493
+ # and the import does not result in a route conflict.
5494
+ # Corresponds to the JSON property `imported`
5495
+ # @return [Boolean]
5496
+ attr_accessor :imported
5497
+ alias_method :imported?, :imported
5498
+
5499
+ # The region of peering route next hop, only applies to dynamic routes.
5500
+ # Corresponds to the JSON property `nextHopRegion`
5501
+ # @return [String]
5502
+ attr_accessor :next_hop_region
5503
+
5504
+ # The priority of the peering route.
5505
+ # Corresponds to the JSON property `priority`
5506
+ # @return [Fixnum]
5507
+ attr_accessor :priority
5508
+
5509
+ # The type of the peering route.
5510
+ # Corresponds to the JSON property `type`
5511
+ # @return [String]
5512
+ attr_accessor :type
5513
+
5514
+ def initialize(**args)
5515
+ update!(**args)
5516
+ end
5517
+
5518
+ # Update properties of this object
5519
+ def update!(**args)
5520
+ @dest_range = args[:dest_range] if args.key?(:dest_range)
5521
+ @imported = args[:imported] if args.key?(:imported)
5522
+ @next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region)
5523
+ @priority = args[:priority] if args.key?(:priority)
5524
+ @type = args[:type] if args.key?(:type)
5525
+ end
5526
+ end
5527
+
5528
+ #
5529
+ class ExchangedPeeringRoutesList
5530
+ include Google::Apis::Core::Hashable
5531
+
5532
+ # [Output Only] Unique identifier for the resource; defined by the server.
5533
+ # Corresponds to the JSON property `id`
5534
+ # @return [String]
5535
+ attr_accessor :id
5536
+
5537
+ # A list of ExchangedPeeringRoute resources.
5538
+ # Corresponds to the JSON property `items`
5539
+ # @return [Array<Google::Apis::ComputeV1::ExchangedPeeringRoute>]
5540
+ attr_accessor :items
5541
+
5542
+ # [Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for
5543
+ # exchanged peering routes lists.
5544
+ # Corresponds to the JSON property `kind`
5545
+ # @return [String]
5546
+ attr_accessor :kind
5547
+
5548
+ # [Output Only] This token allows you to get the next page of results for list
5549
+ # requests. If the number of results is larger than maxResults, use the
5550
+ # nextPageToken as a value for the query parameter pageToken in the next list
5551
+ # request. Subsequent list requests will have their own nextPageToken to
5552
+ # continue paging through the results.
5553
+ # Corresponds to the JSON property `nextPageToken`
5554
+ # @return [String]
5555
+ attr_accessor :next_page_token
5556
+
5557
+ # [Output Only] Server-defined URL for this resource.
5558
+ # Corresponds to the JSON property `selfLink`
5559
+ # @return [String]
5560
+ attr_accessor :self_link
5561
+
5562
+ # [Output Only] Informational warning message.
5563
+ # Corresponds to the JSON property `warning`
5564
+ # @return [Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning]
5565
+ attr_accessor :warning
5566
+
5567
+ def initialize(**args)
5568
+ update!(**args)
5569
+ end
5570
+
5571
+ # Update properties of this object
5572
+ def update!(**args)
5573
+ @id = args[:id] if args.key?(:id)
5574
+ @items = args[:items] if args.key?(:items)
5575
+ @kind = args[:kind] if args.key?(:kind)
5576
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5577
+ @self_link = args[:self_link] if args.key?(:self_link)
5578
+ @warning = args[:warning] if args.key?(:warning)
5579
+ end
5580
+
5581
+ # [Output Only] Informational warning message.
5582
+ class Warning
5583
+ include Google::Apis::Core::Hashable
5584
+
5585
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
5586
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
5587
+ # Corresponds to the JSON property `code`
5588
+ # @return [String]
5589
+ attr_accessor :code
5590
+
5591
+ # [Output Only] Metadata about this warning in key: value format. For example:
5592
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
5593
+ # Corresponds to the JSON property `data`
5594
+ # @return [Array<Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning::Datum>]
5595
+ attr_accessor :data
5596
+
5597
+ # [Output Only] A human-readable description of the warning code.
5598
+ # Corresponds to the JSON property `message`
5599
+ # @return [String]
5600
+ attr_accessor :message
5601
+
5602
+ def initialize(**args)
5603
+ update!(**args)
5604
+ end
5605
+
5606
+ # Update properties of this object
5607
+ def update!(**args)
5608
+ @code = args[:code] if args.key?(:code)
5609
+ @data = args[:data] if args.key?(:data)
5610
+ @message = args[:message] if args.key?(:message)
5611
+ end
5612
+
5613
+ #
5614
+ class Datum
5615
+ include Google::Apis::Core::Hashable
5616
+
5617
+ # [Output Only] A key that provides more detail on the warning being returned.
5618
+ # For example, for warnings where there are no results in a list request for a
5619
+ # particular zone, this key might be scope and the key value might be the zone
5620
+ # name. Other examples might be a key indicating a deprecated resource and a
5621
+ # suggested replacement, or a warning about invalid network settings (for
5622
+ # example, if an instance attempts to perform IP forwarding but is not enabled
5623
+ # for IP forwarding).
5624
+ # Corresponds to the JSON property `key`
5625
+ # @return [String]
5626
+ attr_accessor :key
5627
+
5628
+ # [Output Only] A warning data value corresponding to the key.
5629
+ # Corresponds to the JSON property `value`
5630
+ # @return [String]
5631
+ attr_accessor :value
5632
+
5633
+ def initialize(**args)
5634
+ update!(**args)
5635
+ end
5636
+
5637
+ # Update properties of this object
5638
+ def update!(**args)
5639
+ @key = args[:key] if args.key?(:key)
5640
+ @value = args[:value] if args.key?(:value)
5641
+ end
5642
+ end
5643
+ end
5644
+ end
5645
+
5419
5646
  # Represents an expression text. Example:
5420
5647
  # title: "User account presence" description: "Determines whether the request
5421
5648
  # has a user account" expression: "size(request.user) > 0"
@@ -5461,7 +5688,7 @@ module Google
5461
5688
  end
5462
5689
 
5463
5690
  # External VPN gateway is the on-premises VPN gateway(s) or another cloud
5464
- # provider?s VPN gateway that connects to your Google Cloud VPN gateway. To
5691
+ # provider's VPN gateway that connects to your Google Cloud VPN gateway. To
5465
5692
  # create a highly available VPN from Google Cloud to your on-premises side or
5466
5693
  # another Cloud provider's VPN gateway, you must create a external VPN gateway
5467
5694
  # resource in GCP, which provides the information to GCP about your external VPN
@@ -5570,7 +5797,7 @@ module Google
5570
5797
 
5571
5798
  # IP address of the interface in the external VPN gateway. Only IPv4 is
5572
5799
  # supported. This IP address can be either from your on-premise gateway or
5573
- # another Cloud provider?s VPN gateway, it cannot be an IP address from Google
5800
+ # another Cloud provider's VPN gateway, it cannot be an IP address from Google
5574
5801
  # Compute Engine.
5575
5802
  # Corresponds to the JSON property `ipAddress`
5576
5803
  # @return [String]
@@ -6147,16 +6374,18 @@ module Google
6147
6374
  end
6148
6375
 
6149
6376
  # Represents a Forwarding Rule resource.
6377
+ # Forwarding rule resources in GCP can be either regional or global in scope:
6378
+ # * [Global](/compute/docs/reference/rest/latest/globalForwardingRules) * [
6379
+ # Regional](/compute/docs/reference/rest/latest/forwardingRules)
6150
6380
  # A forwarding rule and its corresponding IP address represent the frontend
6151
6381
  # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6152
6382
  # also reference target instances and Cloud VPN Classic gateways (
6153
6383
  # targetVpnGateway).
6154
6384
  # For more information, read Forwarding rule concepts and Using protocol
6155
6385
  # forwarding.
6156
- # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6157
- # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6158
- # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
6159
- # resource_for v1.regionForwardingRules ==)
6386
+ # (== resource_for `$api_version`.forwardingRules ==) (== resource_for `$
6387
+ # api_version`.globalForwardingRules ==) (== resource_for `$api_version`.
6388
+ # regionForwardingRules ==)
6160
6389
  class ForwardingRule
6161
6390
  include Google::Apis::Core::Hashable
6162
6391
 
@@ -6178,8 +6407,8 @@ module Google
6178
6407
  # @return [String]
6179
6408
  attr_accessor :ip_address
6180
6409
 
6181
- # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6182
- # AH, SCTP or ICMP.
6410
+ # The IP protocol to which this rule applies. For protocol forwarding, valid
6411
+ # options are TCP, UDP, ESP, AH, SCTP or ICMP.
6183
6412
  # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6184
6413
  # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6185
6414
  # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
@@ -6203,6 +6432,15 @@ module Google
6203
6432
  attr_accessor :all_ports
6204
6433
  alias_method :all_ports?, :all_ports
6205
6434
 
6435
+ # This field is used along with the backend_service field for internal load
6436
+ # balancing or with the target field for internal TargetInstance. If the field
6437
+ # is set to TRUE, clients can access ILB from all regions. Otherwise only allows
6438
+ # access from clients in the same region as the internal load balancer.
6439
+ # Corresponds to the JSON property `allowGlobalAccess`
6440
+ # @return [Boolean]
6441
+ attr_accessor :allow_global_access
6442
+ alias_method :allow_global_access?, :allow_global_access
6443
+
6206
6444
  # This field is only used for INTERNAL load balancing.
6207
6445
  # For internal load balancing, this field identifies the BackendService resource
6208
6446
  # to receive the matched traffic.
@@ -6221,6 +6459,18 @@ module Google
6221
6459
  # @return [String]
6222
6460
  attr_accessor :description
6223
6461
 
6462
+ # Fingerprint of this resource. A hash of the contents stored in this object.
6463
+ # This field is used in optimistic locking. This field will be ignored when
6464
+ # inserting a ForwardingRule. Include the fingerprint in patch request to ensure
6465
+ # that you do not overwrite changes that were applied from another concurrent
6466
+ # request.
6467
+ # To see the latest fingerprint, make a get() request to retrieve a
6468
+ # ForwardingRule.
6469
+ # Corresponds to the JSON property `fingerprint`
6470
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
6471
+ # @return [String]
6472
+ attr_accessor :fingerprint
6473
+
6224
6474
  # [Output Only] The unique identifier for the resource. This identifier is
6225
6475
  # defined by the server.
6226
6476
  # Corresponds to the JSON property `id`
@@ -6234,34 +6484,53 @@ module Google
6234
6484
  # @return [String]
6235
6485
  attr_accessor :ip_version
6236
6486
 
6487
+ # Indicates whether or not this load balancer can be used as a collector for
6488
+ # packet mirroring. To prevent mirroring loops, instances behind this load
6489
+ # balancer will not have their traffic mirrored even if a PacketMirroring rule
6490
+ # applies to them. This can only be set to true for load balancers that have
6491
+ # their loadBalancingScheme set to INTERNAL.
6492
+ # Corresponds to the JSON property `isMirroringCollector`
6493
+ # @return [Boolean]
6494
+ attr_accessor :is_mirroring_collector
6495
+ alias_method :is_mirroring_collector?, :is_mirroring_collector
6496
+
6237
6497
  # [Output Only] Type of the resource. Always compute#forwardingRule for
6238
6498
  # Forwarding Rule resources.
6239
6499
  # Corresponds to the JSON property `kind`
6240
6500
  # @return [String]
6241
6501
  attr_accessor :kind
6242
6502
 
6243
- # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6244
- # gateways - Protocol forwarding to VMs from an external IP address - The
6245
- # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6246
- # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6503
+ # Specifies the forwarding rule type.
6504
+ #
6505
+ # - EXTERNAL is used for:
6506
+ # - Classic Cloud VPN gateways
6507
+ # - Protocol forwarding to VMs from an external IP address
6508
+ # - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/
6509
+ # UDP
6510
+ # - INTERNAL is used for:
6511
+ # - Protocol forwarding to VMs from an internal IP address
6247
6512
  # - Internal TCP/UDP load balancers
6248
- # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6249
- # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6513
+ # - INTERNAL_MANAGED is used for:
6514
+ # - Internal HTTP(S) load balancers
6515
+ # - >INTERNAL_SELF_MANAGED is used for:
6516
+ # - Traffic Director
6250
6517
  # For more information about forwarding rules, refer to Forwarding rule concepts.
6251
6518
  # Corresponds to the JSON property `loadBalancingScheme`
6252
6519
  # @return [String]
6253
6520
  attr_accessor :load_balancing_scheme
6254
6521
 
6255
6522
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
6256
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
6257
- # xDS clients present node metadata. If a match takes place, the relevant
6258
- # routing configuration is made available to those proxies.
6523
+ # to a limited set of xDS compliant clients. In their xDS requests to
6524
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
6525
+ # relevant configuration is made available to those proxies. Otherwise, all the
6526
+ # resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule will
6527
+ # not be visible to those proxies.
6259
6528
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
6260
6529
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
6261
6530
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
6262
- # all of its filterLabels must match with corresponding labels in the provided
6531
+ # all of its filterLabels must match with corresponding labels provided in the
6263
6532
  # metadata.
6264
- # metadataFilters specified here can be overridden by those specified in the
6533
+ # metadataFilters specified here will be applifed before those specified in the
6265
6534
  # UrlMap that this ForwardingRule references.
6266
6535
  # metadataFilters only applies to Loadbalancers that have their
6267
6536
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -6297,23 +6566,16 @@ module Google
6297
6566
  # @return [String]
6298
6567
  attr_accessor :network_tier
6299
6568
 
6300
- # This field is deprecated. See the port
6301
- # field.
6302
- # Corresponds to the JSON property `portRange`
6303
- # @return [String]
6304
- attr_accessor :port_range
6305
-
6306
- # List of comma-separated ports. The forwarding rule forwards packets with
6307
- # matching destination ports. If the forwarding rule's loadBalancingScheme is
6308
- # EXTERNAL, and the forwarding rule references a target pool, specifying ports
6309
- # is optional. You can specify an unlimited number of ports, but they must be
6310
- # contiguous. If you omit ports, GCP forwards traffic on any port of the
6311
- # forwarding rule's protocol.
6312
- # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
6313
- # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
6314
- # target SSL proxy, or target VPN gateway, you must specify ports using the
6315
- # following constraints:
6316
- #
6569
+ # When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
6570
+ # INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
6571
+ # that points to a target proxy or a target pool. Do not use with a forwarding
6572
+ # rule that points to a backend service. This field is used along with the
6573
+ # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
6574
+ # TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
6575
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
6576
+ # to ports in the specified range will be forwarded to target. Forwarding rules
6577
+ # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6578
+ # Some types of forwarding target have constraints on the acceptable ports:
6317
6579
  # - TargetHttpProxy: 80, 8080
6318
6580
  # - TargetHttpsProxy: 443
6319
6581
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -6321,16 +6583,20 @@ module Google
6321
6583
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
6322
6584
  # 1883, 5222
6323
6585
  # - TargetVpnGateway: 500, 4500
6324
- # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
6586
+ # Corresponds to the JSON property `portRange`
6587
+ # @return [String]
6588
+ attr_accessor :port_range
6589
+
6590
+ # This field is used along with the backend_service field for internal load
6591
+ # balancing.
6592
+ # When the load balancing scheme is INTERNAL, a list of ports can be configured,
6593
+ # for example, ['80'], ['8000','9000']. Only packets addressed to these ports
6594
+ # are forwarded to the backends configured with the forwarding rule.
6595
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
6325
6596
  # ports in one of the following ways:
6326
6597
  # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
6327
6598
  # causes the forwarding rule to forward traffic on any port of the forwarding
6328
6599
  # rule's protocol.
6329
- # The ports field is used along with the target field for TargetHttpProxy,
6330
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
6331
- # TargetInstance.
6332
- # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
6333
- # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6334
6600
  # Corresponds to the JSON property `ports`
6335
6601
  # @return [Array<String>]
6336
6602
  attr_accessor :ports
@@ -6381,8 +6647,8 @@ module Google
6381
6647
  # forwarding rules, this target must live in the same region as the forwarding
6382
6648
  # rule. For global forwarding rules, this target must be a global load balancing
6383
6649
  # resource. The forwarded traffic must be of a type appropriate to the target
6384
- # object. For INTERNAL_SELF_MANAGED load balancing, only HTTP and HTTPS targets
6385
- # are valid.
6650
+ # object. For INTERNAL_SELF_MANAGED load balancing, only targetHttpProxy is
6651
+ # valid, not targetHttpsProxy.
6386
6652
  # Corresponds to the JSON property `target`
6387
6653
  # @return [String]
6388
6654
  attr_accessor :target
@@ -6396,11 +6662,14 @@ module Google
6396
6662
  @ip_address = args[:ip_address] if args.key?(:ip_address)
6397
6663
  @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
6398
6664
  @all_ports = args[:all_ports] if args.key?(:all_ports)
6665
+ @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
6399
6666
  @backend_service = args[:backend_service] if args.key?(:backend_service)
6400
6667
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6401
6668
  @description = args[:description] if args.key?(:description)
6669
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
6402
6670
  @id = args[:id] if args.key?(:id)
6403
6671
  @ip_version = args[:ip_version] if args.key?(:ip_version)
6672
+ @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
6404
6673
  @kind = args[:kind] if args.key?(:kind)
6405
6674
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
6406
6675
  @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
@@ -6817,32 +7086,34 @@ module Google
6817
7086
  # @return [String]
6818
7087
  attr_accessor :etag
6819
7088
 
6820
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
6821
- # access control policies for Cloud Platform resources.
7089
+ # An Identity and Access Management (IAM) policy, which specifies access
7090
+ # controls for Google Cloud resources.
6822
7091
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
6823
7092
  # members` to a single `role`. Members can be user accounts, service accounts,
6824
7093
  # Google groups, and domains (such as G Suite). A `role` is a named list of
6825
- # permissions (defined by IAM or configured by users). A `binding` can
6826
- # optionally specify a `condition`, which is a logic expression that further
6827
- # constrains the role binding based on attributes about the request and/or
6828
- # target resource.
6829
- # **JSON Example**
7094
+ # permissions; each `role` can be an IAM predefined role or a user-created
7095
+ # custom role.
7096
+ # Optionally, a `binding` can specify a `condition`, which is a logical
7097
+ # expression that allows access to a resource only if the expression evaluates
7098
+ # to `true`. A condition can add constraints based on attributes of the request,
7099
+ # the resource, or both.
7100
+ # **JSON example:**
6830
7101
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
6831
7102
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
6832
7103
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
6833
7104
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
6834
7105
  # "condition": ` "title": "expirable access", "description": "Does not grant
6835
7106
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
6836
- # 00:00.000Z')", ` ` ] `
6837
- # **YAML Example**
7107
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
7108
+ # **YAML example:**
6838
7109
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
6839
7110
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
6840
7111
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
6841
7112
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
6842
7113
  # access description: Does not grant access after Sep 2020 expression: request.
6843
- # time < timestamp('2020-10-01T00:00:00.000Z')
6844
- # For a description of IAM and its features, see the [IAM developer's guide](
6845
- # https://cloud.google.com/iam/docs).
7114
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
7115
+ # For a description of IAM and its features, see the [IAM documentation](https://
7116
+ # cloud.google.com/iam/docs/).
6846
7117
  # Corresponds to the JSON property `policy`
6847
7118
  # @return [Google::Apis::ComputeV1::Policy]
6848
7119
  attr_accessor :policy
@@ -6870,7 +7141,7 @@ module Google
6870
7141
  attr_accessor :kind
6871
7142
 
6872
7143
  # The path to be queried. This can be the default namespace ('/') or a nested
6873
- # namespace ('//') or a specified key ('//')
7144
+ # namespace ('/\/') or a specified key ('/\/\')
6874
7145
  # Corresponds to the JSON property `queryPath`
6875
7146
  # @return [String]
6876
7147
  attr_accessor :query_path
@@ -7005,20 +7276,13 @@ module Google
7005
7276
 
7006
7277
  # Specifies how port is selected for health checking, can be one of following
7007
7278
  # values:
7008
- # USE_FIXED_PORT: The port number in
7009
- # port
7010
- # is used for health checking.
7011
- # USE_NAMED_PORT: The
7012
- # portName
7013
- # is used for health checking.
7279
+ # USE_FIXED_PORT: The port number in port is used for health checking.
7280
+ # USE_NAMED_PORT: The portName is used for health checking.
7014
7281
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
7015
7282
  # network endpoint is used for health checking. For other backends, the port or
7016
7283
  # named port specified in the Backend Service is used for health checking.
7017
- # If not specified, HTTP2 health check follows behavior specified in
7018
- # port
7019
- # and
7020
- # portName
7021
- # fields.
7284
+ # If not specified, HTTP2 health check follows behavior specified in port and
7285
+ # portName fields.
7022
7286
  # Corresponds to the JSON property `portSpecification`
7023
7287
  # @return [String]
7024
7288
  attr_accessor :port_specification
@@ -7082,20 +7346,13 @@ module Google
7082
7346
 
7083
7347
  # Specifies how port is selected for health checking, can be one of following
7084
7348
  # values:
7085
- # USE_FIXED_PORT: The port number in
7086
- # port
7087
- # is used for health checking.
7088
- # USE_NAMED_PORT: The
7089
- # portName
7090
- # is used for health checking.
7349
+ # USE_FIXED_PORT: The port number in port is used for health checking.
7350
+ # USE_NAMED_PORT: The portName is used for health checking.
7091
7351
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
7092
7352
  # network endpoint is used for health checking. For other backends, the port or
7093
7353
  # named port specified in the Backend Service is used for health checking.
7094
- # If not specified, HTTP health check follows behavior specified in
7095
- # port
7096
- # and
7097
- # portName
7098
- # fields.
7354
+ # If not specified, HTTP health check follows behavior specified in port and
7355
+ # portName fields.
7099
7356
  # Corresponds to the JSON property `portSpecification`
7100
7357
  # @return [String]
7101
7358
  attr_accessor :port_specification
@@ -7159,20 +7416,13 @@ module Google
7159
7416
 
7160
7417
  # Specifies how port is selected for health checking, can be one of following
7161
7418
  # values:
7162
- # USE_FIXED_PORT: The port number in
7163
- # port
7164
- # is used for health checking.
7165
- # USE_NAMED_PORT: The
7166
- # portName
7167
- # is used for health checking.
7419
+ # USE_FIXED_PORT: The port number in port is used for health checking.
7420
+ # USE_NAMED_PORT: The portName is used for health checking.
7168
7421
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
7169
7422
  # network endpoint is used for health checking. For other backends, the port or
7170
7423
  # named port specified in the Backend Service is used for health checking.
7171
- # If not specified, HTTPS health check follows behavior specified in
7172
- # port
7173
- # and
7174
- # portName
7175
- # fields.
7424
+ # If not specified, HTTPS health check follows behavior specified in port and
7425
+ # portName fields.
7176
7426
  # Corresponds to the JSON property `portSpecification`
7177
7427
  # @return [String]
7178
7428
  attr_accessor :port_specification
@@ -7212,8 +7462,12 @@ module Google
7212
7462
  end
7213
7463
 
7214
7464
  # Represents a Health Check resource.
7215
- # Health checks are used for most GCP load balancers and managed instance group
7216
- # auto-healing. For more information, read Health Check Concepts.
7465
+ # Google Compute Engine has two Health Check resources:
7466
+ # * [Global](/compute/docs/reference/rest/latest/healthChecks) * [Regional](/
7467
+ # compute/docs/reference/rest/latest/regionHealthChecks)
7468
+ # Internal HTTP(S) load balancers use regional health checks. All other types of
7469
+ # GCP load balancers and managed instance group auto-healing use global health
7470
+ # checks. For more information, read Health Check Concepts.
7217
7471
  # To perform health checks on network load balancers, you must use either
7218
7472
  # httpHealthChecks or httpsHealthChecks.
7219
7473
  class HealthCheck
@@ -7978,7 +8232,7 @@ module Google
7978
8232
  attr_accessor :prefix_match
7979
8233
 
7980
8234
  # A header with the contents of headerName must exist. The match takes place
7981
- # whether or not the request's header has a value or not.
8235
+ # whether or not the request's header has a value.
7982
8236
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
7983
8237
  # rangeMatch must be set.
7984
8238
  # Corresponds to the JSON property `presentMatch`
@@ -7992,7 +8246,7 @@ module Google
7992
8246
  # @return [Google::Apis::ComputeV1::Int64RangeMatch]
7993
8247
  attr_accessor :range_match
7994
8248
 
7995
- # The value of the header must match the regualar expression specified in
8249
+ # The value of the header must match the regular expression specified in
7996
8250
  # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
7997
8251
  # cpp/regex/ecmascript
7998
8252
  # For matching against a port specified in the HTTP request, use a headerMatch
@@ -8000,6 +8254,8 @@ module Google
8000
8254
  # RFC2616 Host header's port specifier.
8001
8255
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8002
8256
  # rangeMatch must be set.
8257
+ # Note that regexMatch only applies to Loadbalancers that have their
8258
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
8003
8259
  # Corresponds to the JSON property `regexMatch`
8004
8260
  # @return [String]
8005
8261
  attr_accessor :regex_match
@@ -8294,7 +8550,7 @@ module Google
8294
8550
 
8295
8551
  # The queryParameterMatch matches if the value of the parameter exactly matches
8296
8552
  # the contents of exactMatch.
8297
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8553
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8298
8554
  # Corresponds to the JSON property `exactMatch`
8299
8555
  # @return [String]
8300
8556
  attr_accessor :exact_match
@@ -8307,7 +8563,7 @@ module Google
8307
8563
 
8308
8564
  # Specifies that the queryParameterMatch matches if the request contains the
8309
8565
  # query parameter, irrespective of whether the parameter has a value or not.
8310
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8566
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8311
8567
  # Corresponds to the JSON property `presentMatch`
8312
8568
  # @return [Boolean]
8313
8569
  attr_accessor :present_match
@@ -8316,7 +8572,9 @@ module Google
8316
8572
  # The queryParameterMatch matches if the value of the parameter matches the
8317
8573
  # regular expression specified by regexMatch. For the regular expression grammar,
8318
8574
  # please see en.cppreference.com/w/cpp/regex/ecmascript
8319
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8575
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8576
+ # Note that regexMatch only applies when the loadBalancingScheme is set to
8577
+ # INTERNAL_SELF_MANAGED.
8320
8578
  # Corresponds to the JSON property `regexMatch`
8321
8579
  # @return [String]
8322
8580
  attr_accessor :regex_match
@@ -8358,7 +8616,9 @@ module Google
8358
8616
 
8359
8617
  # The path that will be used in the redirect response instead of the one that
8360
8618
  # was supplied in the request.
8361
- # Only one of pathRedirect or prefixRedirect must be specified.
8619
+ # pathRedirect cannot be supplied together with prefixRedirect. Supply one alone
8620
+ # or neither. If neither is supplied, the path of the original request will be
8621
+ # used for the redirect.
8362
8622
  # The value must be between 1 and 1024 characters.
8363
8623
  # Corresponds to the JSON property `pathRedirect`
8364
8624
  # @return [String]
@@ -8366,6 +8626,10 @@ module Google
8366
8626
 
8367
8627
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
8368
8628
  # retaining the remaining portion of the URL before redirecting the request.
8629
+ # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
8630
+ # or neither. If neither is supplied, the path of the original request will be
8631
+ # used for the redirect.
8632
+ # The value must be between 1 and 1024 characters.
8369
8633
  # Corresponds to the JSON property `prefixRedirect`
8370
8634
  # @return [String]
8371
8635
  attr_accessor :prefix_redirect
@@ -8585,7 +8849,8 @@ module Google
8585
8849
  # forwarding the request to the selected backend. If routeAction specifies any
8586
8850
  # weightedBackendServices, service must not be set. Conversely if service is set,
8587
8851
  # routeAction cannot contain any weightedBackendServices.
8588
- # Only one of routeAction or urlRedirect must be set.
8852
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
8853
+ # set.
8589
8854
  # Corresponds to the JSON property `routeAction`
8590
8855
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
8591
8856
  attr_accessor :route_action
@@ -8628,10 +8893,10 @@ module Google
8628
8893
  class HttpRouteRuleMatch
8629
8894
  include Google::Apis::Core::Hashable
8630
8895
 
8631
- # For satifying the matchRule condition, the path of the request must exactly
8896
+ # For satisfying the matchRule condition, the path of the request must exactly
8632
8897
  # match the value specified in fullPathMatch after removing any query parameters
8633
8898
  # and anchor that may be part of the original URL.
8634
- # FullPathMatch must be between 1 and 1024 characters.
8899
+ # fullPathMatch must be between 1 and 1024 characters.
8635
8900
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8636
8901
  # Corresponds to the JSON property `fullPathMatch`
8637
8902
  # @return [String]
@@ -8645,30 +8910,30 @@ module Google
8645
8910
 
8646
8911
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
8647
8912
  # The default value is false.
8648
- # caseSensitive must not be used with regexMatch.
8913
+ # ignoreCase must not be used with regexMatch.
8649
8914
  # Corresponds to the JSON property `ignoreCase`
8650
8915
  # @return [Boolean]
8651
8916
  attr_accessor :ignore_case
8652
8917
  alias_method :ignore_case?, :ignore_case
8653
8918
 
8654
8919
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
8655
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
8656
- # xDS clients present node metadata. If a match takes place, the relevant
8657
- # routing configuration is made available to those proxies.
8920
+ # to a limited set of xDS compliant clients. In their xDS requests to
8921
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
8922
+ # relevant routing configuration is made available to those proxies.
8658
8923
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
8659
8924
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
8660
8925
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
8661
- # all of its filterLabels must match with corresponding labels in the provided
8926
+ # all of its filterLabels must match with corresponding labels provided in the
8662
8927
  # metadata.
8663
- # metadataFilters specified here can be overrides those specified in
8664
- # ForwardingRule that refers to this UrlMap.
8928
+ # metadataFilters specified here will be applied after those specified in
8929
+ # ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to.
8665
8930
  # metadataFilters only applies to Loadbalancers that have their
8666
8931
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
8667
8932
  # Corresponds to the JSON property `metadataFilters`
8668
8933
  # @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
8669
8934
  attr_accessor :metadata_filters
8670
8935
 
8671
- # For satifying the matchRule condition, the request's path must begin with the
8936
+ # For satisfying the matchRule condition, the request's path must begin with the
8672
8937
  # specified prefixMatch. prefixMatch must begin with a /.
8673
8938
  # The value must be between 1 and 1024 characters.
8674
8939
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
@@ -8682,11 +8947,13 @@ module Google
8682
8947
  # @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
8683
8948
  attr_accessor :query_parameter_matches
8684
8949
 
8685
- # For satifying the matchRule condition, the path of the request must satisfy
8950
+ # For satisfying the matchRule condition, the path of the request must satisfy
8686
8951
  # the regular expression specified in regexMatch after removing any query
8687
8952
  # parameters and anchor supplied with the original URL. For regular expression
8688
8953
  # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
8689
8954
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8955
+ # Note that regexMatch only applies to Loadbalancers that have their
8956
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
8690
8957
  # Corresponds to the JSON property `regexMatch`
8691
8958
  # @return [String]
8692
8959
  attr_accessor :regex_match
@@ -8933,8 +9200,7 @@ module Google
8933
9200
 
8934
9201
  # Represents an Image resource.
8935
9202
  # You can use images to create boot disks for your VM instances. For more
8936
- # information, read Images. (== resource_for beta.images ==) (== resource_for v1.
8937
- # images ==)
9203
+ # information, read Images. (== resource_for `$api_version`.images ==)
8938
9204
  class Image
8939
9205
  include Google::Apis::Core::Hashable
8940
9206
 
@@ -9123,6 +9389,12 @@ module Google
9123
9389
  # @return [String]
9124
9390
  attr_accessor :status
9125
9391
 
9392
+ # Cloud Storage bucket storage location of the image (regional or multi-regional)
9393
+ # .
9394
+ # Corresponds to the JSON property `storageLocations`
9395
+ # @return [Array<String>]
9396
+ attr_accessor :storage_locations
9397
+
9126
9398
  def initialize(**args)
9127
9399
  update!(**args)
9128
9400
  end
@@ -9157,6 +9429,7 @@ module Google
9157
9429
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
9158
9430
  @source_type = args[:source_type] if args.key?(:source_type)
9159
9431
  @status = args[:status] if args.key?(:status)
9432
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
9160
9433
  end
9161
9434
 
9162
9435
  # The parameters of the raw disk image.
@@ -9314,8 +9587,8 @@ module Google
9314
9587
 
9315
9588
  # Represents an Instance resource.
9316
9589
  # An instance is a virtual machine that is hosted on Google Cloud Platform. For
9317
- # more information, read Virtual Machine Instances. (== resource_for beta.
9318
- # instances ==) (== resource_for v1.instances ==)
9590
+ # more information, read Virtual Machine Instances. (== resource_for `$
9591
+ # api_version`.instances ==)
9319
9592
  class Instance
9320
9593
  include Google::Apis::Core::Hashable
9321
9594
 
@@ -9670,15 +9943,17 @@ module Google
9670
9943
  end
9671
9944
  end
9672
9945
 
9673
- # Represents an unmanaged Instance Group resource.
9674
- # Use unmanaged instance groups if you need to apply load balancing to groups of
9675
- # heterogeneous instances or if you need to manage the instances yourself. For
9676
- # more information, read Instance groups.
9677
- # For zonal unmanaged Instance Group, use instanceGroups resource.
9678
- # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
9679
- # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
9680
- # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
9681
- # regionInstanceGroups ==)
9946
+ # Represents an Instance Group resource.
9947
+ # Instance Groups can be used to configure a target for load balancing.
9948
+ # Instance groups can either be managed or unmanaged.
9949
+ # To create managed instance groups, use the instanceGroupManager or
9950
+ # regionInstanceGroupManager resource instead.
9951
+ # Use zonal unmanaged instance groups if you need to apply load balancing to
9952
+ # groups of heterogeneous instances or if you need to manage the instances
9953
+ # yourself. You cannot create regional unmanaged instance groups.
9954
+ # For more information, read Instance groups.
9955
+ # (== resource_for `$api_version`.instanceGroups ==) (== resource_for `$
9956
+ # api_version`.regionInstanceGroups ==)
9682
9957
  class InstanceGroup
9683
9958
  include Google::Apis::Core::Hashable
9684
9959
 
@@ -10025,9 +10300,8 @@ module Google
10025
10300
  # single entity. For more information, read Instance groups.
10026
10301
  # For zonal Managed Instance Group, use the instanceGroupManagers resource.
10027
10302
  # For regional Managed Instance Group, use the regionInstanceGroupManagers
10028
- # resource. (== resource_for beta.instanceGroupManagers ==) (== resource_for v1.
10029
- # instanceGroupManagers ==) (== resource_for beta.regionInstanceGroupManagers ==)
10030
- # (== resource_for v1.regionInstanceGroupManagers ==)
10303
+ # resource. (== resource_for `$api_version`.instanceGroupManagers ==) (==
10304
+ # resource_for `$api_version`.regionInstanceGroupManagers ==)
10031
10305
  class InstanceGroupManager
10032
10306
  include Google::Apis::Core::Hashable
10033
10307
 
@@ -10569,6 +10843,12 @@ module Google
10569
10843
  attr_accessor :is_stable
10570
10844
  alias_method :is_stable?, :is_stable
10571
10845
 
10846
+ # [Output Only] A status of consistency of Instances' versions with their target
10847
+ # version specified by version field on Instance Group Manager.
10848
+ # Corresponds to the JSON property `versionTarget`
10849
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusVersionTarget]
10850
+ attr_accessor :version_target
10851
+
10572
10852
  def initialize(**args)
10573
10853
  update!(**args)
10574
10854
  end
@@ -10576,6 +10856,30 @@ module Google
10576
10856
  # Update properties of this object
10577
10857
  def update!(**args)
10578
10858
  @is_stable = args[:is_stable] if args.key?(:is_stable)
10859
+ @version_target = args[:version_target] if args.key?(:version_target)
10860
+ end
10861
+ end
10862
+
10863
+ #
10864
+ class InstanceGroupManagerStatusVersionTarget
10865
+ include Google::Apis::Core::Hashable
10866
+
10867
+ # [Output Only] A bit indicating whether version target has been reached in this
10868
+ # managed instance group, i.e. all instances are in their target version.
10869
+ # Instances' target version are specified by version field on Instance Group
10870
+ # Manager.
10871
+ # Corresponds to the JSON property `isReached`
10872
+ # @return [Boolean]
10873
+ attr_accessor :is_reached
10874
+ alias_method :is_reached?, :is_reached
10875
+
10876
+ def initialize(**args)
10877
+ update!(**args)
10878
+ end
10879
+
10880
+ # Update properties of this object
10881
+ def update!(**args)
10882
+ @is_reached = args[:is_reached] if args.key?(:is_reached)
10579
10883
  end
10580
10884
  end
10581
10885
 
@@ -10583,6 +10887,15 @@ module Google
10583
10887
  class InstanceGroupManagerUpdatePolicy
10584
10888
  include Google::Apis::Core::Hashable
10585
10889
 
10890
+ # The instance redistribution policy for regional managed instance groups.
10891
+ # Valid values are:
10892
+ # - PROACTIVE (default): The group attempts to maintain an even distribution of
10893
+ # VM instances across zones in the region.
10894
+ # - NONE: For non-autoscaled groups, proactive redistribution is disabled.
10895
+ # Corresponds to the JSON property `instanceRedistributionType`
10896
+ # @return [String]
10897
+ attr_accessor :instance_redistribution_type
10898
+
10586
10899
  # Encapsulates numeric value that can be either absolute or relative.
10587
10900
  # Corresponds to the JSON property `maxSurge`
10588
10901
  # @return [Google::Apis::ComputeV1::FixedOrPercent]
@@ -10618,6 +10931,7 @@ module Google
10618
10931
 
10619
10932
  # Update properties of this object
10620
10933
  def update!(**args)
10934
+ @instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type)
10621
10935
  @max_surge = args[:max_surge] if args.key?(:max_surge)
10622
10936
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
10623
10937
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
@@ -10679,6 +10993,72 @@ module Google
10679
10993
  end
10680
10994
  end
10681
10995
 
10996
+ # InstanceGroupManagers.applyUpdatesToInstances
10997
+ class InstanceGroupManagersApplyUpdatesRequest
10998
+ include Google::Apis::Core::Hashable
10999
+
11000
+ # The list of URLs of one or more instances for which you want to apply updates.
11001
+ # Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[
11002
+ # INSTANCE_NAME].
11003
+ # Corresponds to the JSON property `instances`
11004
+ # @return [Array<String>]
11005
+ attr_accessor :instances
11006
+
11007
+ # The minimal action that you want to perform on each instance during the update:
11008
+ #
11009
+ # - REPLACE: At minimum, delete the instance and create it again.
11010
+ # - RESTART: Stop the instance and start it again.
11011
+ # - REFRESH: Do not stop the instance.
11012
+ # - NONE: Do not disrupt the instance at all. By default, the minimum action is
11013
+ # NONE. If your update requires a more disruptive action than you set with this
11014
+ # flag, the necessary action is performed to execute the update.
11015
+ # Corresponds to the JSON property `minimalAction`
11016
+ # @return [String]
11017
+ attr_accessor :minimal_action
11018
+
11019
+ # The most disruptive action that you want to perform on each instance during
11020
+ # the update:
11021
+ # - REPLACE: Delete the instance and create it again.
11022
+ # - RESTART: Stop the instance and start it again.
11023
+ # - REFRESH: Do not stop the instance.
11024
+ # - NONE: Do not disrupt the instance at all. By default, the most disruptive
11025
+ # allowed action is REPLACE. If your update requires a more disruptive action
11026
+ # than you set with this flag, the update request will fail.
11027
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
11028
+ # @return [String]
11029
+ attr_accessor :most_disruptive_allowed_action
11030
+
11031
+ def initialize(**args)
11032
+ update!(**args)
11033
+ end
11034
+
11035
+ # Update properties of this object
11036
+ def update!(**args)
11037
+ @instances = args[:instances] if args.key?(:instances)
11038
+ @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
11039
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
11040
+ end
11041
+ end
11042
+
11043
+ # InstanceGroupManagers.createInstances
11044
+ class InstanceGroupManagersCreateInstancesRequest
11045
+ include Google::Apis::Core::Hashable
11046
+
11047
+ # [Required] List of specifications of per-instance configs.
11048
+ # Corresponds to the JSON property `instances`
11049
+ # @return [Array<Google::Apis::ComputeV1::PerInstanceConfig>]
11050
+ attr_accessor :instances
11051
+
11052
+ def initialize(**args)
11053
+ update!(**args)
11054
+ end
11055
+
11056
+ # Update properties of this object
11057
+ def update!(**args)
11058
+ @instances = args[:instances] if args.key?(:instances)
11059
+ end
11060
+ end
11061
+
10682
11062
  #
10683
11063
  class InstanceGroupManagersDeleteInstancesRequest
10684
11064
  include Google::Apis::Core::Hashable
@@ -11588,8 +11968,8 @@ module Google
11588
11968
 
11589
11969
  # Represents an Instance Template resource.
11590
11970
  # You can use instance templates to create VM instances and managed instance
11591
- # groups. For more information, read Instance Templates. (== resource_for beta.
11592
- # instanceTemplates ==) (== resource_for v1.instanceTemplates ==)
11971
+ # groups. For more information, read Instance Templates. (== resource_for `$
11972
+ # api_version`.instanceTemplates ==)
11593
11973
  class InstanceTemplate
11594
11974
  include Google::Apis::Core::Hashable
11595
11975
 
@@ -12076,8 +12456,7 @@ module Google
12076
12456
  # Represents an Interconnect resource.
12077
12457
  # An Interconnect resource is a dedicated connection between the GCP network and
12078
12458
  # your on-premises network. For more information, read the Dedicated
12079
- # Interconnect Overview. (== resource_for v1.interconnects ==) (== resource_for
12080
- # beta.interconnects ==)
12459
+ # Interconnect Overview. (== resource_for `$api_version`.interconnects ==)
12081
12460
  class Interconnect
12082
12461
  include Google::Apis::Core::Hashable
12083
12462
 
@@ -12271,8 +12650,8 @@ module Google
12271
12650
  # Represents an Interconnect Attachment (VLAN) resource.
12272
12651
  # You can use Interconnect attachments (VLANS) to connect your Virtual Private
12273
12652
  # Cloud networks to your on-premises networks through an Interconnect. For more
12274
- # information, read Creating VLAN Attachments. (== resource_for beta.
12275
- # interconnectAttachments ==) (== resource_for v1.interconnectAttachments ==)
12653
+ # information, read Creating VLAN Attachments. (== resource_for `$api_version`.
12654
+ # interconnectAttachments ==)
12276
12655
  class InterconnectAttachment
12277
12656
  include Google::Apis::Core::Hashable
12278
12657
 
@@ -12309,7 +12688,7 @@ module Google
12309
12688
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
12310
12689
  # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
12311
12690
  # from the supplied candidate prefix(es). The request will fail if all possible /
12312
- # 29s are in use on Google?s edge. If not supplied, Google will randomly select
12691
+ # 29s are in use on Google's edge. If not supplied, Google will randomly select
12313
12692
  # an unused /29 from all of link-local space.
12314
12693
  # Corresponds to the JSON property `candidateSubnets`
12315
12694
  # @return [Array<String>]
@@ -12758,7 +13137,7 @@ module Google
12758
13137
  include Google::Apis::Core::Hashable
12759
13138
 
12760
13139
  # Plain text name of the Interconnect this attachment is connected to, as
12761
- # displayed in the Partner?s portal. For instance "Chicago 1". This value may be
13140
+ # displayed in the Partner's portal. For instance "Chicago 1". This value may be
12762
13141
  # validated to match approved Partner values.
12763
13142
  # Corresponds to the JSON property `interconnectName`
12764
13143
  # @return [String]
@@ -12770,7 +13149,7 @@ module Google
12770
13149
  # @return [String]
12771
13150
  attr_accessor :partner_name
12772
13151
 
12773
- # URL of the Partner?s portal for this Attachment. Partners may customise this
13152
+ # URL of the Partner's portal for this Attachment. Partners may customise this
12774
13153
  # to be a deep link to the specific resource on the Partner portal. This value
12775
13154
  # may be validated to match approved Partner values.
12776
13155
  # Corresponds to the JSON property `portalUrl`
@@ -12936,7 +13315,7 @@ module Google
12936
13315
  end
12937
13316
 
12938
13317
  # Diagnostics information about interconnect, contains detailed and current
12939
- # technical information about Google?s side of the connection.
13318
+ # technical information about Google's side of the connection.
12940
13319
  class InterconnectDiagnostics
12941
13320
  include Google::Apis::Core::Hashable
12942
13321
 
@@ -12999,12 +13378,12 @@ module Google
12999
13378
  class InterconnectDiagnosticsLinkLacpStatus
13000
13379
  include Google::Apis::Core::Hashable
13001
13380
 
13002
- # System ID of the port on Google?s side of the LACP exchange.
13381
+ # System ID of the port on Google's side of the LACP exchange.
13003
13382
  # Corresponds to the JSON property `googleSystemId`
13004
13383
  # @return [String]
13005
13384
  attr_accessor :google_system_id
13006
13385
 
13007
- # System ID of the port on the neighbor?s side of the LACP exchange.
13386
+ # System ID of the port on the neighbor's side of the LACP exchange.
13008
13387
  # Corresponds to the JSON property `neighborSystemId`
13009
13388
  # @return [String]
13010
13389
  attr_accessor :neighbor_system_id
@@ -13592,7 +13971,7 @@ module Google
13592
13971
  include Google::Apis::Core::Hashable
13593
13972
 
13594
13973
  # Diagnostics information about interconnect, contains detailed and current
13595
- # technical information about Google?s side of the connection.
13974
+ # technical information about Google's side of the connection.
13596
13975
  # Corresponds to the JSON property `result`
13597
13976
  # @return [Google::Apis::ComputeV1::InterconnectDiagnostics]
13598
13977
  attr_accessor :result
@@ -14091,7 +14470,7 @@ module Google
14091
14470
  # Represents a Machine Type resource.
14092
14471
  # You can use specific machine types for your VM instances based on performance
14093
14472
  # and pricing requirements. For more information, read Machine Types. (==
14094
- # resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
14473
+ # resource_for `$api_version`.machineTypes ==)
14095
14474
  class MachineType
14096
14475
  include Google::Apis::Core::Hashable
14097
14476
 
@@ -14587,6 +14966,11 @@ module Google
14587
14966
  # @return [String]
14588
14967
  attr_accessor :instance
14589
14968
 
14969
+ # [Output Only] Health state of the instance per health-check.
14970
+ # Corresponds to the JSON property `instanceHealth`
14971
+ # @return [Array<Google::Apis::ComputeV1::ManagedInstanceInstanceHealth>]
14972
+ attr_accessor :instance_health
14973
+
14590
14974
  # [Output Only] The status of the instance. This field is empty when the
14591
14975
  # instance does not exist.
14592
14976
  # Corresponds to the JSON property `instanceStatus`
@@ -14613,6 +14997,7 @@ module Google
14613
14997
  @current_action = args[:current_action] if args.key?(:current_action)
14614
14998
  @id = args[:id] if args.key?(:id)
14615
14999
  @instance = args[:instance] if args.key?(:instance)
15000
+ @instance_health = args[:instance_health] if args.key?(:instance_health)
14616
15001
  @instance_status = args[:instance_status] if args.key?(:instance_status)
14617
15002
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
14618
15003
  @version = args[:version] if args.key?(:version)
@@ -14620,11 +15005,37 @@ module Google
14620
15005
  end
14621
15006
 
14622
15007
  #
14623
- class ManagedInstanceLastAttempt
15008
+ class ManagedInstanceInstanceHealth
14624
15009
  include Google::Apis::Core::Hashable
14625
15010
 
14626
- # [Output Only] Encountered errors during the last attempt to create or delete
14627
- # the instance.
15011
+ # [Output Only] The current detailed instance health state.
15012
+ # Corresponds to the JSON property `detailedHealthState`
15013
+ # @return [String]
15014
+ attr_accessor :detailed_health_state
15015
+
15016
+ # [Output Only] The URL for the health check that verifies whether the instance
15017
+ # is healthy.
15018
+ # Corresponds to the JSON property `healthCheck`
15019
+ # @return [String]
15020
+ attr_accessor :health_check
15021
+
15022
+ def initialize(**args)
15023
+ update!(**args)
15024
+ end
15025
+
15026
+ # Update properties of this object
15027
+ def update!(**args)
15028
+ @detailed_health_state = args[:detailed_health_state] if args.key?(:detailed_health_state)
15029
+ @health_check = args[:health_check] if args.key?(:health_check)
15030
+ end
15031
+ end
15032
+
15033
+ #
15034
+ class ManagedInstanceLastAttempt
15035
+ include Google::Apis::Core::Hashable
15036
+
15037
+ # [Output Only] Encountered errors during the last attempt to create or delete
15038
+ # the instance.
14628
15039
  # Corresponds to the JSON property `errors`
14629
15040
  # @return [Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors]
14630
15041
  attr_accessor :errors
@@ -14790,12 +15201,12 @@ module Google
14790
15201
  # Opaque filter criteria used by loadbalancers to restrict routing configuration
14791
15202
  # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
14792
15203
  # loadbalancing would typically present metadata to the loadbalancers which need
14793
- # to match criteria specified here. If a match takes place, the relevant routing
15204
+ # to match criteria specified here. If a match takes place, the relevant
14794
15205
  # configuration is made available to those proxies.
14795
15206
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
14796
15207
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
14797
15208
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
14798
- # all of its filterLabels must match with corresponding labels in the provided
15209
+ # all of its filterLabels must match with corresponding labels provided in the
14799
15210
  # metadata.
14800
15211
  # An example for using metadataFilters would be: if loadbalancing involves
14801
15212
  # Envoys, they will only receive routing configuration when values in
@@ -14891,8 +15302,8 @@ module Google
14891
15302
 
14892
15303
  # Represents a VPC Network resource.
14893
15304
  # Networks connect resources to each other and to the internet. For more
14894
- # information, read Virtual Private Cloud (VPC) Network. (== resource_for v1.
14895
- # networks ==) (== resource_for beta.networks ==)
15305
+ # information, read Virtual Private Cloud (VPC) Network. (== resource_for `$
15306
+ # api_version`.networks ==)
14896
15307
  class Network
14897
15308
  include Google::Apis::Core::Hashable
14898
15309
 
@@ -14943,7 +15354,7 @@ module Google
14943
15354
  # Name of the resource. Provided by the client when the resource is created. The
14944
15355
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
14945
15356
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
14946
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
15357
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
14947
15358
  # following characters (except for the last character) must be a dash, lowercase
14948
15359
  # letter, or digit. The last character must be a lowercase letter or digit.
14949
15360
  # Corresponds to the JSON property `name`
@@ -14994,7 +15405,7 @@ module Google
14994
15405
  end
14995
15406
  end
14996
15407
 
14997
- # The network endpoint.
15408
+ # The network endpoint. Next ID: 7
14998
15409
  class NetworkEndpoint
14999
15410
  include Google::Apis::Core::Hashable
15000
15411
 
@@ -15036,8 +15447,7 @@ module Google
15036
15447
 
15037
15448
  # Represents a collection of network endpoints.
15038
15449
  # For more information read Setting up network endpoint groups in load balancing.
15039
- # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
15040
- # networkEndpointGroups ==)
15450
+ # (== resource_for `$api_version`.networkEndpointGroups ==) Next ID: 21
15041
15451
  class NetworkEndpointGroup
15042
15452
  include Google::Apis::Core::Hashable
15043
15453
 
@@ -15644,7 +16054,7 @@ module Google
15644
16054
  # @return [Array<Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint>]
15645
16055
  attr_accessor :healths
15646
16056
 
15647
- # The network endpoint.
16057
+ # The network endpoint. Next ID: 7
15648
16058
  # Corresponds to the JSON property `networkEndpoint`
15649
16059
  # @return [Google::Apis::ComputeV1::NetworkEndpoint]
15650
16060
  attr_accessor :network_endpoint
@@ -16066,8 +16476,7 @@ module Google
16066
16476
  # instances only for your specific project. Use sole-tenant nodes to keep your
16067
16477
  # instances physically separated from instances in other projects, or to group
16068
16478
  # your instances together on the same host hardware. For more information, read
16069
- # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
16070
- # nodeGroups ==) NextID: 16
16479
+ # Sole-tenant nodes. (== resource_for `$api_version`.nodeGroups ==)
16071
16480
  class NodeGroup
16072
16481
  include Google::Apis::Core::Hashable
16073
16482
 
@@ -16698,8 +17107,8 @@ module Google
16698
17107
 
16699
17108
  # Represent a sole-tenant Node Template resource.
16700
17109
  # You can use a template to define properties for nodes in a node group. For
16701
- # more information, read Creating node groups and instances. (== resource_for
16702
- # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
17110
+ # more information, read Creating node groups and instances. (== resource_for `$
17111
+ # api_version`.nodeTemplates ==) (== NextID: 18 ==)
16703
17112
  class NodeTemplate
16704
17113
  include Google::Apis::Core::Hashable
16705
17114
 
@@ -17172,7 +17581,7 @@ module Google
17172
17581
  # total amount of cores and memory for that node. Currently, the only available
17173
17582
  # node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory,
17174
17583
  # available in multiple zones. For more information read Node types. (==
17175
- # resource_for beta.nodeTypes ==) (== resource_for v1.nodeTypes ==)
17584
+ # resource_for `$api_version`.nodeTypes ==)
17176
17585
  class NodeType
17177
17586
  include Google::Apis::Core::Hashable
17178
17587
 
@@ -17588,6 +17997,10 @@ module Google
17588
17997
  end
17589
17998
 
17590
17999
  # Represents an Operation resource.
18000
+ # Google Compute Engine has three Operation resources:
18001
+ # * [Global](/compute/docs/reference/rest/latest/globalOperations) * [Regional](/
18002
+ # compute/docs/reference/rest/latest/regionOperations) * [Zonal](/compute/docs/
18003
+ # reference/rest/latest/zoneOperations)
17591
18004
  # You can use an operation resource to manage asynchronous API requests. For
17592
18005
  # more information, read Handling API responses.
17593
18006
  # Operations can be global, regional or zonal.
@@ -17595,10 +18008,9 @@ module Google
17595
18008
  # - For regional operations, use the regionOperations resource.
17596
18009
  # - For zonal operations, use the zonalOperations resource.
17597
18010
  # For more information, read Global, Regional, and Zonal Resources. (==
17598
- # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
17599
- # (== resource_for v1.regionOperations ==) (== resource_for beta.
17600
- # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
17601
- # beta.zoneOperations ==)
18011
+ # resource_for `$api_version`.globalOperations ==) (== resource_for `$
18012
+ # api_version`.regionOperations ==) (== resource_for `$api_version`.
18013
+ # zoneOperations ==)
17602
18014
  class Operation
17603
18015
  include Google::Apis::Core::Hashable
17604
18016
 
@@ -18060,85 +18472,801 @@ module Google
18060
18472
  @self_link = args[:self_link] if args.key?(:self_link)
18061
18473
  @warning = args[:warning] if args.key?(:warning)
18062
18474
  end
18063
-
18064
- # [Output Only] Informational warning message.
18065
- class Warning
18066
- include Google::Apis::Core::Hashable
18067
-
18068
- # [Output Only] A warning code, if applicable. For example, Compute Engine
18069
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18070
- # Corresponds to the JSON property `code`
18071
- # @return [String]
18072
- attr_accessor :code
18073
-
18074
- # [Output Only] Metadata about this warning in key: value format. For example:
18075
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18076
- # Corresponds to the JSON property `data`
18077
- # @return [Array<Google::Apis::ComputeV1::OperationList::Warning::Datum>]
18078
- attr_accessor :data
18079
-
18080
- # [Output Only] A human-readable description of the warning code.
18081
- # Corresponds to the JSON property `message`
18082
- # @return [String]
18083
- attr_accessor :message
18084
-
18085
- def initialize(**args)
18086
- update!(**args)
18087
- end
18088
-
18089
- # Update properties of this object
18090
- def update!(**args)
18091
- @code = args[:code] if args.key?(:code)
18092
- @data = args[:data] if args.key?(:data)
18093
- @message = args[:message] if args.key?(:message)
18094
- end
18095
-
18096
- #
18097
- class Datum
18098
- include Google::Apis::Core::Hashable
18099
-
18100
- # [Output Only] A key that provides more detail on the warning being returned.
18101
- # For example, for warnings where there are no results in a list request for a
18102
- # particular zone, this key might be scope and the key value might be the zone
18103
- # name. Other examples might be a key indicating a deprecated resource and a
18104
- # suggested replacement, or a warning about invalid network settings (for
18105
- # example, if an instance attempts to perform IP forwarding but is not enabled
18106
- # for IP forwarding).
18107
- # Corresponds to the JSON property `key`
18108
- # @return [String]
18109
- attr_accessor :key
18110
-
18111
- # [Output Only] A warning data value corresponding to the key.
18112
- # Corresponds to the JSON property `value`
18113
- # @return [String]
18114
- attr_accessor :value
18115
-
18116
- def initialize(**args)
18117
- update!(**args)
18118
- end
18119
-
18120
- # Update properties of this object
18121
- def update!(**args)
18122
- @key = args[:key] if args.key?(:key)
18123
- @value = args[:value] if args.key?(:value)
18124
- end
18125
- end
18475
+
18476
+ # [Output Only] Informational warning message.
18477
+ class Warning
18478
+ include Google::Apis::Core::Hashable
18479
+
18480
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18481
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18482
+ # Corresponds to the JSON property `code`
18483
+ # @return [String]
18484
+ attr_accessor :code
18485
+
18486
+ # [Output Only] Metadata about this warning in key: value format. For example:
18487
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18488
+ # Corresponds to the JSON property `data`
18489
+ # @return [Array<Google::Apis::ComputeV1::OperationList::Warning::Datum>]
18490
+ attr_accessor :data
18491
+
18492
+ # [Output Only] A human-readable description of the warning code.
18493
+ # Corresponds to the JSON property `message`
18494
+ # @return [String]
18495
+ attr_accessor :message
18496
+
18497
+ def initialize(**args)
18498
+ update!(**args)
18499
+ end
18500
+
18501
+ # Update properties of this object
18502
+ def update!(**args)
18503
+ @code = args[:code] if args.key?(:code)
18504
+ @data = args[:data] if args.key?(:data)
18505
+ @message = args[:message] if args.key?(:message)
18506
+ end
18507
+
18508
+ #
18509
+ class Datum
18510
+ include Google::Apis::Core::Hashable
18511
+
18512
+ # [Output Only] A key that provides more detail on the warning being returned.
18513
+ # For example, for warnings where there are no results in a list request for a
18514
+ # particular zone, this key might be scope and the key value might be the zone
18515
+ # name. Other examples might be a key indicating a deprecated resource and a
18516
+ # suggested replacement, or a warning about invalid network settings (for
18517
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18518
+ # for IP forwarding).
18519
+ # Corresponds to the JSON property `key`
18520
+ # @return [String]
18521
+ attr_accessor :key
18522
+
18523
+ # [Output Only] A warning data value corresponding to the key.
18524
+ # Corresponds to the JSON property `value`
18525
+ # @return [String]
18526
+ attr_accessor :value
18527
+
18528
+ def initialize(**args)
18529
+ update!(**args)
18530
+ end
18531
+
18532
+ # Update properties of this object
18533
+ def update!(**args)
18534
+ @key = args[:key] if args.key?(:key)
18535
+ @value = args[:value] if args.key?(:value)
18536
+ end
18537
+ end
18538
+ end
18539
+ end
18540
+
18541
+ #
18542
+ class OperationsScopedList
18543
+ include Google::Apis::Core::Hashable
18544
+
18545
+ # [Output Only] A list of operations contained in this scope.
18546
+ # Corresponds to the JSON property `operations`
18547
+ # @return [Array<Google::Apis::ComputeV1::Operation>]
18548
+ attr_accessor :operations
18549
+
18550
+ # [Output Only] Informational warning which replaces the list of operations when
18551
+ # the list is empty.
18552
+ # Corresponds to the JSON property `warning`
18553
+ # @return [Google::Apis::ComputeV1::OperationsScopedList::Warning]
18554
+ attr_accessor :warning
18555
+
18556
+ def initialize(**args)
18557
+ update!(**args)
18558
+ end
18559
+
18560
+ # Update properties of this object
18561
+ def update!(**args)
18562
+ @operations = args[:operations] if args.key?(:operations)
18563
+ @warning = args[:warning] if args.key?(:warning)
18564
+ end
18565
+
18566
+ # [Output Only] Informational warning which replaces the list of operations when
18567
+ # the list is empty.
18568
+ class Warning
18569
+ include Google::Apis::Core::Hashable
18570
+
18571
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18572
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18573
+ # Corresponds to the JSON property `code`
18574
+ # @return [String]
18575
+ attr_accessor :code
18576
+
18577
+ # [Output Only] Metadata about this warning in key: value format. For example:
18578
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18579
+ # Corresponds to the JSON property `data`
18580
+ # @return [Array<Google::Apis::ComputeV1::OperationsScopedList::Warning::Datum>]
18581
+ attr_accessor :data
18582
+
18583
+ # [Output Only] A human-readable description of the warning code.
18584
+ # Corresponds to the JSON property `message`
18585
+ # @return [String]
18586
+ attr_accessor :message
18587
+
18588
+ def initialize(**args)
18589
+ update!(**args)
18590
+ end
18591
+
18592
+ # Update properties of this object
18593
+ def update!(**args)
18594
+ @code = args[:code] if args.key?(:code)
18595
+ @data = args[:data] if args.key?(:data)
18596
+ @message = args[:message] if args.key?(:message)
18597
+ end
18598
+
18599
+ #
18600
+ class Datum
18601
+ include Google::Apis::Core::Hashable
18602
+
18603
+ # [Output Only] A key that provides more detail on the warning being returned.
18604
+ # For example, for warnings where there are no results in a list request for a
18605
+ # particular zone, this key might be scope and the key value might be the zone
18606
+ # name. Other examples might be a key indicating a deprecated resource and a
18607
+ # suggested replacement, or a warning about invalid network settings (for
18608
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18609
+ # for IP forwarding).
18610
+ # Corresponds to the JSON property `key`
18611
+ # @return [String]
18612
+ attr_accessor :key
18613
+
18614
+ # [Output Only] A warning data value corresponding to the key.
18615
+ # Corresponds to the JSON property `value`
18616
+ # @return [String]
18617
+ attr_accessor :value
18618
+
18619
+ def initialize(**args)
18620
+ update!(**args)
18621
+ end
18622
+
18623
+ # Update properties of this object
18624
+ def update!(**args)
18625
+ @key = args[:key] if args.key?(:key)
18626
+ @value = args[:value] if args.key?(:value)
18627
+ end
18628
+ end
18629
+ end
18630
+ end
18631
+
18632
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
18633
+ # pool for the backend service.
18634
+ class OutlierDetection
18635
+ include Google::Apis::Core::Hashable
18636
+
18637
+ # A Duration represents a fixed-length span of time represented as a count of
18638
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
18639
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
18640
+ # 000 years.
18641
+ # Corresponds to the JSON property `baseEjectionTime`
18642
+ # @return [Google::Apis::ComputeV1::Duration]
18643
+ attr_accessor :base_ejection_time
18644
+
18645
+ # Number of errors before a host is ejected from the connection pool. When the
18646
+ # backend host is accessed over HTTP, a 5xx return code qualifies as an error.
18647
+ # Defaults to 5.
18648
+ # Corresponds to the JSON property `consecutiveErrors`
18649
+ # @return [Fixnum]
18650
+ attr_accessor :consecutive_errors
18651
+
18652
+ # The number of consecutive gateway failures (502, 503, 504 status or connection
18653
+ # errors that are mapped to one of those status codes) before a consecutive
18654
+ # gateway failure ejection occurs. Defaults to 3.
18655
+ # Corresponds to the JSON property `consecutiveGatewayFailure`
18656
+ # @return [Fixnum]
18657
+ attr_accessor :consecutive_gateway_failure
18658
+
18659
+ # The percentage chance that a host will be actually ejected when an outlier
18660
+ # status is detected through consecutive 5xx. This setting can be used to
18661
+ # disable ejection or to ramp it up slowly. Defaults to 0.
18662
+ # Corresponds to the JSON property `enforcingConsecutiveErrors`
18663
+ # @return [Fixnum]
18664
+ attr_accessor :enforcing_consecutive_errors
18665
+
18666
+ # The percentage chance that a host will be actually ejected when an outlier
18667
+ # status is detected through consecutive gateway failures. This setting can be
18668
+ # used to disable ejection or to ramp it up slowly. Defaults to 100.
18669
+ # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
18670
+ # @return [Fixnum]
18671
+ attr_accessor :enforcing_consecutive_gateway_failure
18672
+
18673
+ # The percentage chance that a host will be actually ejected when an outlier
18674
+ # status is detected through success rate statistics. This setting can be used
18675
+ # to disable ejection or to ramp it up slowly. Defaults to 100.
18676
+ # Corresponds to the JSON property `enforcingSuccessRate`
18677
+ # @return [Fixnum]
18678
+ attr_accessor :enforcing_success_rate
18679
+
18680
+ # A Duration represents a fixed-length span of time represented as a count of
18681
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
18682
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
18683
+ # 000 years.
18684
+ # Corresponds to the JSON property `interval`
18685
+ # @return [Google::Apis::ComputeV1::Duration]
18686
+ attr_accessor :interval
18687
+
18688
+ # Maximum percentage of hosts in the load balancing pool for the backend service
18689
+ # that can be ejected. Defaults to 50%.
18690
+ # Corresponds to the JSON property `maxEjectionPercent`
18691
+ # @return [Fixnum]
18692
+ attr_accessor :max_ejection_percent
18693
+
18694
+ # The number of hosts in a cluster that must have enough request volume to
18695
+ # detect success rate outliers. If the number of hosts is less than this setting,
18696
+ # outlier detection via success rate statistics is not performed for any host
18697
+ # in the cluster. Defaults to 5.
18698
+ # Corresponds to the JSON property `successRateMinimumHosts`
18699
+ # @return [Fixnum]
18700
+ attr_accessor :success_rate_minimum_hosts
18701
+
18702
+ # The minimum number of total requests that must be collected in one interval (
18703
+ # as defined by the interval duration above) to include this host in success
18704
+ # rate based outlier detection. If the volume is lower than this setting,
18705
+ # outlier detection via success rate statistics is not performed for that host.
18706
+ # Defaults to 100.
18707
+ # Corresponds to the JSON property `successRateRequestVolume`
18708
+ # @return [Fixnum]
18709
+ attr_accessor :success_rate_request_volume
18710
+
18711
+ # This factor is used to determine the ejection threshold for success rate
18712
+ # outlier ejection. The ejection threshold is the difference between the mean
18713
+ # success rate, and the product of this factor and the standard deviation of the
18714
+ # mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
18715
+ # divided by a thousand to get a double. That is, if the desired factor is 1.9,
18716
+ # the runtime value should be 1900. Defaults to 1900.
18717
+ # Corresponds to the JSON property `successRateStdevFactor`
18718
+ # @return [Fixnum]
18719
+ attr_accessor :success_rate_stdev_factor
18720
+
18721
+ def initialize(**args)
18722
+ update!(**args)
18723
+ end
18724
+
18725
+ # Update properties of this object
18726
+ def update!(**args)
18727
+ @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
18728
+ @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
18729
+ @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
18730
+ @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
18731
+ @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
18732
+ @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
18733
+ @interval = args[:interval] if args.key?(:interval)
18734
+ @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
18735
+ @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
18736
+ @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
18737
+ @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
18738
+ end
18739
+ end
18740
+
18741
+ # Represents a PacketMirroring resource.
18742
+ class PacketMirroring
18743
+ include Google::Apis::Core::Hashable
18744
+
18745
+ # The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be
18746
+ # used as collector for mirrored traffic. The specified forwarding rule must
18747
+ # have isMirroringCollector set to true.
18748
+ # Corresponds to the JSON property `collectorIlb`
18749
+ # @return [Google::Apis::ComputeV1::PacketMirroringForwardingRuleInfo]
18750
+ attr_accessor :collector_ilb
18751
+
18752
+ # [Output Only] Creation timestamp in RFC3339 text format.
18753
+ # Corresponds to the JSON property `creationTimestamp`
18754
+ # @return [String]
18755
+ attr_accessor :creation_timestamp
18756
+
18757
+ # An optional description of this resource. Provide this property when you
18758
+ # create the resource.
18759
+ # Corresponds to the JSON property `description`
18760
+ # @return [String]
18761
+ attr_accessor :description
18762
+
18763
+ # Indicates whether or not this packet mirroring takes effect. If set to FALSE,
18764
+ # this packet mirroring policy will not be enforced on the network.
18765
+ # The default is TRUE.
18766
+ # Corresponds to the JSON property `enable`
18767
+ # @return [String]
18768
+ attr_accessor :enable
18769
+
18770
+ # Filter for mirrored traffic. If unspecified, all traffic is mirrored.
18771
+ # Corresponds to the JSON property `filter`
18772
+ # @return [Google::Apis::ComputeV1::PacketMirroringFilter]
18773
+ attr_accessor :filter
18774
+
18775
+ # [Output Only] The unique identifier for the resource. This identifier is
18776
+ # defined by the server.
18777
+ # Corresponds to the JSON property `id`
18778
+ # @return [Fixnum]
18779
+ attr_accessor :id
18780
+
18781
+ # [Output Only] Type of the resource. Always compute#packetMirroring for packet
18782
+ # mirrorings.
18783
+ # Corresponds to the JSON property `kind`
18784
+ # @return [String]
18785
+ attr_accessor :kind
18786
+
18787
+ # PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of
18788
+ # mirrored VM instances, subnetworks and/or tags for which traffic from/to all
18789
+ # VM instances will be mirrored.
18790
+ # Corresponds to the JSON property `mirroredResources`
18791
+ # @return [Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfo]
18792
+ attr_accessor :mirrored_resources
18793
+
18794
+ # Name of the resource; provided by the client when the resource is created. The
18795
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
18796
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
18797
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
18798
+ # and all following characters must be a dash, lowercase letter, or digit,
18799
+ # except the last character, which cannot be a dash.
18800
+ # Corresponds to the JSON property `name`
18801
+ # @return [String]
18802
+ attr_accessor :name
18803
+
18804
+ # Specifies the mirrored VPC network. Only packets in this network will be
18805
+ # mirrored. All mirrored VMs should have a NIC in the given network. All
18806
+ # mirrored subnetworks should belong to the given network.
18807
+ # Corresponds to the JSON property `network`
18808
+ # @return [Google::Apis::ComputeV1::PacketMirroringNetworkInfo]
18809
+ attr_accessor :network
18810
+
18811
+ # The priority of applying this configuration. Priority is used to break ties in
18812
+ # cases where there is more than one matching rule. In the case of two rules
18813
+ # that apply for a given Instance, the one with the lowest-numbered priority
18814
+ # value wins.
18815
+ # Default value is 1000. Valid range is 0 through 65535.
18816
+ # Corresponds to the JSON property `priority`
18817
+ # @return [Fixnum]
18818
+ attr_accessor :priority
18819
+
18820
+ # [Output Only] URI of the region where the packetMirroring resides.
18821
+ # Corresponds to the JSON property `region`
18822
+ # @return [String]
18823
+ attr_accessor :region
18824
+
18825
+ # [Output Only] Server-defined URL for the resource.
18826
+ # Corresponds to the JSON property `selfLink`
18827
+ # @return [String]
18828
+ attr_accessor :self_link
18829
+
18830
+ def initialize(**args)
18831
+ update!(**args)
18832
+ end
18833
+
18834
+ # Update properties of this object
18835
+ def update!(**args)
18836
+ @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
18837
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18838
+ @description = args[:description] if args.key?(:description)
18839
+ @enable = args[:enable] if args.key?(:enable)
18840
+ @filter = args[:filter] if args.key?(:filter)
18841
+ @id = args[:id] if args.key?(:id)
18842
+ @kind = args[:kind] if args.key?(:kind)
18843
+ @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
18844
+ @name = args[:name] if args.key?(:name)
18845
+ @network = args[:network] if args.key?(:network)
18846
+ @priority = args[:priority] if args.key?(:priority)
18847
+ @region = args[:region] if args.key?(:region)
18848
+ @self_link = args[:self_link] if args.key?(:self_link)
18849
+ end
18850
+ end
18851
+
18852
+ # Contains a list of packetMirrorings.
18853
+ class PacketMirroringAggregatedList
18854
+ include Google::Apis::Core::Hashable
18855
+
18856
+ # [Output Only] Unique identifier for the resource; defined by the server.
18857
+ # Corresponds to the JSON property `id`
18858
+ # @return [String]
18859
+ attr_accessor :id
18860
+
18861
+ # A list of PacketMirroring resources.
18862
+ # Corresponds to the JSON property `items`
18863
+ # @return [Hash<String,Google::Apis::ComputeV1::PacketMirroringsScopedList>]
18864
+ attr_accessor :items
18865
+
18866
+ # Type of resource.
18867
+ # Corresponds to the JSON property `kind`
18868
+ # @return [String]
18869
+ attr_accessor :kind
18870
+
18871
+ # [Output Only] This token allows you to get the next page of results for list
18872
+ # requests. If the number of results is larger than maxResults, use the
18873
+ # nextPageToken as a value for the query parameter pageToken in the next list
18874
+ # request. Subsequent list requests will have their own nextPageToken to
18875
+ # continue paging through the results.
18876
+ # Corresponds to the JSON property `nextPageToken`
18877
+ # @return [String]
18878
+ attr_accessor :next_page_token
18879
+
18880
+ # [Output Only] Server-defined URL for this resource.
18881
+ # Corresponds to the JSON property `selfLink`
18882
+ # @return [String]
18883
+ attr_accessor :self_link
18884
+
18885
+ # [Output Only] Informational warning message.
18886
+ # Corresponds to the JSON property `warning`
18887
+ # @return [Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning]
18888
+ attr_accessor :warning
18889
+
18890
+ def initialize(**args)
18891
+ update!(**args)
18892
+ end
18893
+
18894
+ # Update properties of this object
18895
+ def update!(**args)
18896
+ @id = args[:id] if args.key?(:id)
18897
+ @items = args[:items] if args.key?(:items)
18898
+ @kind = args[:kind] if args.key?(:kind)
18899
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18900
+ @self_link = args[:self_link] if args.key?(:self_link)
18901
+ @warning = args[:warning] if args.key?(:warning)
18902
+ end
18903
+
18904
+ # [Output Only] Informational warning message.
18905
+ class Warning
18906
+ include Google::Apis::Core::Hashable
18907
+
18908
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18909
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18910
+ # Corresponds to the JSON property `code`
18911
+ # @return [String]
18912
+ attr_accessor :code
18913
+
18914
+ # [Output Only] Metadata about this warning in key: value format. For example:
18915
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18916
+ # Corresponds to the JSON property `data`
18917
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning::Datum>]
18918
+ attr_accessor :data
18919
+
18920
+ # [Output Only] A human-readable description of the warning code.
18921
+ # Corresponds to the JSON property `message`
18922
+ # @return [String]
18923
+ attr_accessor :message
18924
+
18925
+ def initialize(**args)
18926
+ update!(**args)
18927
+ end
18928
+
18929
+ # Update properties of this object
18930
+ def update!(**args)
18931
+ @code = args[:code] if args.key?(:code)
18932
+ @data = args[:data] if args.key?(:data)
18933
+ @message = args[:message] if args.key?(:message)
18934
+ end
18935
+
18936
+ #
18937
+ class Datum
18938
+ include Google::Apis::Core::Hashable
18939
+
18940
+ # [Output Only] A key that provides more detail on the warning being returned.
18941
+ # For example, for warnings where there are no results in a list request for a
18942
+ # particular zone, this key might be scope and the key value might be the zone
18943
+ # name. Other examples might be a key indicating a deprecated resource and a
18944
+ # suggested replacement, or a warning about invalid network settings (for
18945
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18946
+ # for IP forwarding).
18947
+ # Corresponds to the JSON property `key`
18948
+ # @return [String]
18949
+ attr_accessor :key
18950
+
18951
+ # [Output Only] A warning data value corresponding to the key.
18952
+ # Corresponds to the JSON property `value`
18953
+ # @return [String]
18954
+ attr_accessor :value
18955
+
18956
+ def initialize(**args)
18957
+ update!(**args)
18958
+ end
18959
+
18960
+ # Update properties of this object
18961
+ def update!(**args)
18962
+ @key = args[:key] if args.key?(:key)
18963
+ @value = args[:value] if args.key?(:value)
18964
+ end
18965
+ end
18966
+ end
18967
+ end
18968
+
18969
+ #
18970
+ class PacketMirroringFilter
18971
+ include Google::Apis::Core::Hashable
18972
+
18973
+ # Protocols that apply as filter on mirrored traffic. If no protocols are
18974
+ # specified, all traffic that matches the specified CIDR ranges is mirrored. If
18975
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
18976
+ # Corresponds to the JSON property `IPProtocols`
18977
+ # @return [Array<String>]
18978
+ attr_accessor :ip_protocols
18979
+
18980
+ # IP CIDR ranges that apply as filter on the source (ingress) or destination (
18981
+ # egress) IP in the IP header. Only IPv4 is supported. If no ranges are
18982
+ # specified, all traffic that matches the specified IPProtocols is mirrored. If
18983
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
18984
+ # Corresponds to the JSON property `cidrRanges`
18985
+ # @return [Array<String>]
18986
+ attr_accessor :cidr_ranges
18987
+
18988
+ def initialize(**args)
18989
+ update!(**args)
18990
+ end
18991
+
18992
+ # Update properties of this object
18993
+ def update!(**args)
18994
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
18995
+ @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
18996
+ end
18997
+ end
18998
+
18999
+ #
19000
+ class PacketMirroringForwardingRuleInfo
19001
+ include Google::Apis::Core::Hashable
19002
+
19003
+ # [Output Only] Unique identifier for the forwarding rule; defined by the server.
19004
+ # Corresponds to the JSON property `canonicalUrl`
19005
+ # @return [String]
19006
+ attr_accessor :canonical_url
19007
+
19008
+ # Resource URL to the forwarding rule representing the ILB configured as
19009
+ # destination of the mirrored traffic.
19010
+ # Corresponds to the JSON property `url`
19011
+ # @return [String]
19012
+ attr_accessor :url
19013
+
19014
+ def initialize(**args)
19015
+ update!(**args)
19016
+ end
19017
+
19018
+ # Update properties of this object
19019
+ def update!(**args)
19020
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19021
+ @url = args[:url] if args.key?(:url)
19022
+ end
19023
+ end
19024
+
19025
+ # Contains a list of PacketMirroring resources.
19026
+ class PacketMirroringList
19027
+ include Google::Apis::Core::Hashable
19028
+
19029
+ # [Output Only] Unique identifier for the resource; defined by the server.
19030
+ # Corresponds to the JSON property `id`
19031
+ # @return [String]
19032
+ attr_accessor :id
19033
+
19034
+ # A list of PacketMirroring resources.
19035
+ # Corresponds to the JSON property `items`
19036
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroring>]
19037
+ attr_accessor :items
19038
+
19039
+ # [Output Only] Type of resource. Always compute#packetMirroring for
19040
+ # packetMirrorings.
19041
+ # Corresponds to the JSON property `kind`
19042
+ # @return [String]
19043
+ attr_accessor :kind
19044
+
19045
+ # [Output Only] This token allows you to get the next page of results for list
19046
+ # requests. If the number of results is larger than maxResults, use the
19047
+ # nextPageToken as a value for the query parameter pageToken in the next list
19048
+ # request. Subsequent list requests will have their own nextPageToken to
19049
+ # continue paging through the results.
19050
+ # Corresponds to the JSON property `nextPageToken`
19051
+ # @return [String]
19052
+ attr_accessor :next_page_token
19053
+
19054
+ # [Output Only] Server-defined URL for this resource.
19055
+ # Corresponds to the JSON property `selfLink`
19056
+ # @return [String]
19057
+ attr_accessor :self_link
19058
+
19059
+ # [Output Only] Informational warning message.
19060
+ # Corresponds to the JSON property `warning`
19061
+ # @return [Google::Apis::ComputeV1::PacketMirroringList::Warning]
19062
+ attr_accessor :warning
19063
+
19064
+ def initialize(**args)
19065
+ update!(**args)
19066
+ end
19067
+
19068
+ # Update properties of this object
19069
+ def update!(**args)
19070
+ @id = args[:id] if args.key?(:id)
19071
+ @items = args[:items] if args.key?(:items)
19072
+ @kind = args[:kind] if args.key?(:kind)
19073
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19074
+ @self_link = args[:self_link] if args.key?(:self_link)
19075
+ @warning = args[:warning] if args.key?(:warning)
19076
+ end
19077
+
19078
+ # [Output Only] Informational warning message.
19079
+ class Warning
19080
+ include Google::Apis::Core::Hashable
19081
+
19082
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19083
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19084
+ # Corresponds to the JSON property `code`
19085
+ # @return [String]
19086
+ attr_accessor :code
19087
+
19088
+ # [Output Only] Metadata about this warning in key: value format. For example:
19089
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19090
+ # Corresponds to the JSON property `data`
19091
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroringList::Warning::Datum>]
19092
+ attr_accessor :data
19093
+
19094
+ # [Output Only] A human-readable description of the warning code.
19095
+ # Corresponds to the JSON property `message`
19096
+ # @return [String]
19097
+ attr_accessor :message
19098
+
19099
+ def initialize(**args)
19100
+ update!(**args)
19101
+ end
19102
+
19103
+ # Update properties of this object
19104
+ def update!(**args)
19105
+ @code = args[:code] if args.key?(:code)
19106
+ @data = args[:data] if args.key?(:data)
19107
+ @message = args[:message] if args.key?(:message)
19108
+ end
19109
+
19110
+ #
19111
+ class Datum
19112
+ include Google::Apis::Core::Hashable
19113
+
19114
+ # [Output Only] A key that provides more detail on the warning being returned.
19115
+ # For example, for warnings where there are no results in a list request for a
19116
+ # particular zone, this key might be scope and the key value might be the zone
19117
+ # name. Other examples might be a key indicating a deprecated resource and a
19118
+ # suggested replacement, or a warning about invalid network settings (for
19119
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19120
+ # for IP forwarding).
19121
+ # Corresponds to the JSON property `key`
19122
+ # @return [String]
19123
+ attr_accessor :key
19124
+
19125
+ # [Output Only] A warning data value corresponding to the key.
19126
+ # Corresponds to the JSON property `value`
19127
+ # @return [String]
19128
+ attr_accessor :value
19129
+
19130
+ def initialize(**args)
19131
+ update!(**args)
19132
+ end
19133
+
19134
+ # Update properties of this object
19135
+ def update!(**args)
19136
+ @key = args[:key] if args.key?(:key)
19137
+ @value = args[:value] if args.key?(:value)
19138
+ end
19139
+ end
19140
+ end
19141
+ end
19142
+
19143
+ #
19144
+ class PacketMirroringMirroredResourceInfo
19145
+ include Google::Apis::Core::Hashable
19146
+
19147
+ # A set of virtual machine instances that are being mirrored. They must live in
19148
+ # zones contained in the same region as this packetMirroring.
19149
+ # Note that this config will apply only to those network interfaces of the
19150
+ # Instances that belong to the network specified in this packetMirroring.
19151
+ # You may specify a maximum of 50 Instances.
19152
+ # Corresponds to the JSON property `instances`
19153
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfoInstanceInfo>]
19154
+ attr_accessor :instances
19155
+
19156
+ # A set of subnetworks for which traffic from/to all VM instances will be
19157
+ # mirrored. They must live in the same region as this packetMirroring.
19158
+ # You may specify a maximum of 5 subnetworks.
19159
+ # Corresponds to the JSON property `subnetworks`
19160
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfoSubnetInfo>]
19161
+ attr_accessor :subnetworks
19162
+
19163
+ # A set of mirrored tags. Traffic from/to all VM instances that have one or more
19164
+ # of these tags will be mirrored.
19165
+ # Corresponds to the JSON property `tags`
19166
+ # @return [Array<String>]
19167
+ attr_accessor :tags
19168
+
19169
+ def initialize(**args)
19170
+ update!(**args)
19171
+ end
19172
+
19173
+ # Update properties of this object
19174
+ def update!(**args)
19175
+ @instances = args[:instances] if args.key?(:instances)
19176
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19177
+ @tags = args[:tags] if args.key?(:tags)
19178
+ end
19179
+ end
19180
+
19181
+ #
19182
+ class PacketMirroringMirroredResourceInfoInstanceInfo
19183
+ include Google::Apis::Core::Hashable
19184
+
19185
+ # [Output Only] Unique identifier for the instance; defined by the server.
19186
+ # Corresponds to the JSON property `canonicalUrl`
19187
+ # @return [String]
19188
+ attr_accessor :canonical_url
19189
+
19190
+ # Resource URL to the virtual machine instance which is being mirrored.
19191
+ # Corresponds to the JSON property `url`
19192
+ # @return [String]
19193
+ attr_accessor :url
19194
+
19195
+ def initialize(**args)
19196
+ update!(**args)
19197
+ end
19198
+
19199
+ # Update properties of this object
19200
+ def update!(**args)
19201
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19202
+ @url = args[:url] if args.key?(:url)
19203
+ end
19204
+ end
19205
+
19206
+ #
19207
+ class PacketMirroringMirroredResourceInfoSubnetInfo
19208
+ include Google::Apis::Core::Hashable
19209
+
19210
+ # [Output Only] Unique identifier for the subnetwork; defined by the server.
19211
+ # Corresponds to the JSON property `canonicalUrl`
19212
+ # @return [String]
19213
+ attr_accessor :canonical_url
19214
+
19215
+ # Resource URL to the subnetwork for which traffic from/to all VM instances will
19216
+ # be mirrored.
19217
+ # Corresponds to the JSON property `url`
19218
+ # @return [String]
19219
+ attr_accessor :url
19220
+
19221
+ def initialize(**args)
19222
+ update!(**args)
19223
+ end
19224
+
19225
+ # Update properties of this object
19226
+ def update!(**args)
19227
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19228
+ @url = args[:url] if args.key?(:url)
19229
+ end
19230
+ end
19231
+
19232
+ #
19233
+ class PacketMirroringNetworkInfo
19234
+ include Google::Apis::Core::Hashable
19235
+
19236
+ # [Output Only] Unique identifier for the network; defined by the server.
19237
+ # Corresponds to the JSON property `canonicalUrl`
19238
+ # @return [String]
19239
+ attr_accessor :canonical_url
19240
+
19241
+ # URL of the network resource.
19242
+ # Corresponds to the JSON property `url`
19243
+ # @return [String]
19244
+ attr_accessor :url
19245
+
19246
+ def initialize(**args)
19247
+ update!(**args)
19248
+ end
19249
+
19250
+ # Update properties of this object
19251
+ def update!(**args)
19252
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19253
+ @url = args[:url] if args.key?(:url)
18126
19254
  end
18127
19255
  end
18128
19256
 
18129
19257
  #
18130
- class OperationsScopedList
19258
+ class PacketMirroringsScopedList
18131
19259
  include Google::Apis::Core::Hashable
18132
19260
 
18133
- # [Output Only] A list of operations contained in this scope.
18134
- # Corresponds to the JSON property `operations`
18135
- # @return [Array<Google::Apis::ComputeV1::Operation>]
18136
- attr_accessor :operations
19261
+ # A list of packetMirrorings contained in this scope.
19262
+ # Corresponds to the JSON property `packetMirrorings`
19263
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroring>]
19264
+ attr_accessor :packet_mirrorings
18137
19265
 
18138
- # [Output Only] Informational warning which replaces the list of operations when
18139
- # the list is empty.
19266
+ # Informational warning which replaces the list of packetMirrorings when the
19267
+ # list is empty.
18140
19268
  # Corresponds to the JSON property `warning`
18141
- # @return [Google::Apis::ComputeV1::OperationsScopedList::Warning]
19269
+ # @return [Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning]
18142
19270
  attr_accessor :warning
18143
19271
 
18144
19272
  def initialize(**args)
@@ -18147,12 +19275,12 @@ module Google
18147
19275
 
18148
19276
  # Update properties of this object
18149
19277
  def update!(**args)
18150
- @operations = args[:operations] if args.key?(:operations)
19278
+ @packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings)
18151
19279
  @warning = args[:warning] if args.key?(:warning)
18152
19280
  end
18153
19281
 
18154
- # [Output Only] Informational warning which replaces the list of operations when
18155
- # the list is empty.
19282
+ # Informational warning which replaces the list of packetMirrorings when the
19283
+ # list is empty.
18156
19284
  class Warning
18157
19285
  include Google::Apis::Core::Hashable
18158
19286
 
@@ -18165,7 +19293,7 @@ module Google
18165
19293
  # [Output Only] Metadata about this warning in key: value format. For example:
18166
19294
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18167
19295
  # Corresponds to the JSON property `data`
18168
- # @return [Array<Google::Apis::ComputeV1::OperationsScopedList::Warning::Datum>]
19296
+ # @return [Array<Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning::Datum>]
18169
19297
  attr_accessor :data
18170
19298
 
18171
19299
  # [Output Only] A human-readable description of the warning code.
@@ -18217,115 +19345,6 @@ module Google
18217
19345
  end
18218
19346
  end
18219
19347
 
18220
- # Settings controlling the eviction of unhealthy hosts from the load balancing
18221
- # pool for the backend service.
18222
- class OutlierDetection
18223
- include Google::Apis::Core::Hashable
18224
-
18225
- # A Duration represents a fixed-length span of time represented as a count of
18226
- # seconds and fractions of seconds at nanosecond resolution. It is independent
18227
- # of any calendar and concepts like "day" or "month". Range is approximately 10,
18228
- # 000 years.
18229
- # Corresponds to the JSON property `baseEjectionTime`
18230
- # @return [Google::Apis::ComputeV1::Duration]
18231
- attr_accessor :base_ejection_time
18232
-
18233
- # Number of errors before a host is ejected from the connection pool. When the
18234
- # backend host is accessed over HTTP, a 5xx return code qualifies as an error.
18235
- # Defaults to 5.
18236
- # Corresponds to the JSON property `consecutiveErrors`
18237
- # @return [Fixnum]
18238
- attr_accessor :consecutive_errors
18239
-
18240
- # The number of consecutive gateway failures (502, 503, 504 status or connection
18241
- # errors that are mapped to one of those status codes) before a consecutive
18242
- # gateway failure ejection occurs. Defaults to 3.
18243
- # Corresponds to the JSON property `consecutiveGatewayFailure`
18244
- # @return [Fixnum]
18245
- attr_accessor :consecutive_gateway_failure
18246
-
18247
- # The percentage chance that a host will be actually ejected when an outlier
18248
- # status is detected through consecutive 5xx. This setting can be used to
18249
- # disable ejection or to ramp it up slowly. Defaults to 0.
18250
- # Corresponds to the JSON property `enforcingConsecutiveErrors`
18251
- # @return [Fixnum]
18252
- attr_accessor :enforcing_consecutive_errors
18253
-
18254
- # The percentage chance that a host will be actually ejected when an outlier
18255
- # status is detected through consecutive gateway failures. This setting can be
18256
- # used to disable ejection or to ramp it up slowly. Defaults to 100.
18257
- # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
18258
- # @return [Fixnum]
18259
- attr_accessor :enforcing_consecutive_gateway_failure
18260
-
18261
- # The percentage chance that a host will be actually ejected when an outlier
18262
- # status is detected through success rate statistics. This setting can be used
18263
- # to disable ejection or to ramp it up slowly. Defaults to 100.
18264
- # Corresponds to the JSON property `enforcingSuccessRate`
18265
- # @return [Fixnum]
18266
- attr_accessor :enforcing_success_rate
18267
-
18268
- # A Duration represents a fixed-length span of time represented as a count of
18269
- # seconds and fractions of seconds at nanosecond resolution. It is independent
18270
- # of any calendar and concepts like "day" or "month". Range is approximately 10,
18271
- # 000 years.
18272
- # Corresponds to the JSON property `interval`
18273
- # @return [Google::Apis::ComputeV1::Duration]
18274
- attr_accessor :interval
18275
-
18276
- # Maximum percentage of hosts in the load balancing pool for the backend service
18277
- # that can be ejected. Defaults to 50%.
18278
- # Corresponds to the JSON property `maxEjectionPercent`
18279
- # @return [Fixnum]
18280
- attr_accessor :max_ejection_percent
18281
-
18282
- # The number of hosts in a cluster that must have enough request volume to
18283
- # detect success rate outliers. If the number of hosts is less than this setting,
18284
- # outlier detection via success rate statistics is not performed for any host
18285
- # in the cluster. Defaults to 5.
18286
- # Corresponds to the JSON property `successRateMinimumHosts`
18287
- # @return [Fixnum]
18288
- attr_accessor :success_rate_minimum_hosts
18289
-
18290
- # The minimum number of total requests that must be collected in one interval (
18291
- # as defined by the interval duration above) to include this host in success
18292
- # rate based outlier detection. If the volume is lower than this setting,
18293
- # outlier detection via success rate statistics is not performed for that host.
18294
- # Defaults to 100.
18295
- # Corresponds to the JSON property `successRateRequestVolume`
18296
- # @return [Fixnum]
18297
- attr_accessor :success_rate_request_volume
18298
-
18299
- # This factor is used to determine the ejection threshold for success rate
18300
- # outlier ejection. The ejection threshold is the difference between the mean
18301
- # success rate, and the product of this factor and the standard deviation of the
18302
- # mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
18303
- # divided by a thousand to get a double. That is, if the desired factor is 1.9,
18304
- # the runtime value should be 1900. Defaults to 1900.
18305
- # Corresponds to the JSON property `successRateStdevFactor`
18306
- # @return [Fixnum]
18307
- attr_accessor :success_rate_stdev_factor
18308
-
18309
- def initialize(**args)
18310
- update!(**args)
18311
- end
18312
-
18313
- # Update properties of this object
18314
- def update!(**args)
18315
- @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
18316
- @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
18317
- @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
18318
- @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
18319
- @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
18320
- @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
18321
- @interval = args[:interval] if args.key?(:interval)
18322
- @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
18323
- @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
18324
- @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
18325
- @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
18326
- end
18327
- end
18328
-
18329
19348
  # A matcher for the path portion of the URL. The BackendService from the longest-
18330
19349
  # matched rule will serve the URL. If no rule was matched, the default service
18331
19350
  # will be used.
@@ -18398,12 +19417,10 @@ module Google
18398
19417
  # @return [Array<Google::Apis::ComputeV1::PathRule>]
18399
19418
  attr_accessor :path_rules
18400
19419
 
18401
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
18402
- # advanced route matching and routing actions are desired. The order of
18403
- # specifying routeRules matters: the first rule that matches will cause its
18404
- # specified routing action to take effect.
18405
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
18406
- # routeRules are not supported in UrlMaps intended for External Load balancers.
19420
+ # The list of HTTP route rules. Use this list instead of pathRules when advanced
19421
+ # route matching and routing actions are desired. routeRules are evaluated in
19422
+ # order of priority, from the lowest to highest number.
19423
+ # Within a given pathMatcher, you can set only one of pathRules or routeRules.
18407
19424
  # Corresponds to the JSON property `routeRules`
18408
19425
  # @return [Array<Google::Apis::ComputeV1::HttpRouteRule>]
18409
19426
  attr_accessor :route_rules
@@ -18478,32 +19495,68 @@ module Google
18478
19495
  end
18479
19496
  end
18480
19497
 
18481
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
18482
- # access control policies for Cloud Platform resources.
19498
+ #
19499
+ class PerInstanceConfig
19500
+ include Google::Apis::Core::Hashable
19501
+
19502
+ # Fingerprint of this per-instance config. This field may be used in optimistic
19503
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
19504
+ # date fingerprint must be provided in order to update an existing per-instance
19505
+ # config or the field needs to be unset.
19506
+ # Corresponds to the JSON property `fingerprint`
19507
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19508
+ # @return [String]
19509
+ attr_accessor :fingerprint
19510
+
19511
+ # The name of the per-instance config and the corresponding instance. Serves as
19512
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
19513
+ # config with the same name exists then it will be updated, otherwise a new one
19514
+ # will be created for the VM instance with the same name. An attempt to create a
19515
+ # per-instance config for a VM instance that either doesn't exist or is not part
19516
+ # of the group will result in a failure.
19517
+ # Corresponds to the JSON property `name`
19518
+ # @return [String]
19519
+ attr_accessor :name
19520
+
19521
+ def initialize(**args)
19522
+ update!(**args)
19523
+ end
19524
+
19525
+ # Update properties of this object
19526
+ def update!(**args)
19527
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19528
+ @name = args[:name] if args.key?(:name)
19529
+ end
19530
+ end
19531
+
19532
+ # An Identity and Access Management (IAM) policy, which specifies access
19533
+ # controls for Google Cloud resources.
18483
19534
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
18484
19535
  # members` to a single `role`. Members can be user accounts, service accounts,
18485
19536
  # Google groups, and domains (such as G Suite). A `role` is a named list of
18486
- # permissions (defined by IAM or configured by users). A `binding` can
18487
- # optionally specify a `condition`, which is a logic expression that further
18488
- # constrains the role binding based on attributes about the request and/or
18489
- # target resource.
18490
- # **JSON Example**
19537
+ # permissions; each `role` can be an IAM predefined role or a user-created
19538
+ # custom role.
19539
+ # Optionally, a `binding` can specify a `condition`, which is a logical
19540
+ # expression that allows access to a resource only if the expression evaluates
19541
+ # to `true`. A condition can add constraints based on attributes of the request,
19542
+ # the resource, or both.
19543
+ # **JSON example:**
18491
19544
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
18492
19545
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
18493
19546
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
18494
19547
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
18495
19548
  # "condition": ` "title": "expirable access", "description": "Does not grant
18496
19549
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
18497
- # 00:00.000Z')", ` ` ] `
18498
- # **YAML Example**
19550
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
19551
+ # **YAML example:**
18499
19552
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
18500
19553
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
18501
19554
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
18502
19555
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
18503
19556
  # access description: Does not grant access after Sep 2020 expression: request.
18504
- # time < timestamp('2020-10-01T00:00:00.000Z')
18505
- # For a description of IAM and its features, see the [IAM developer's guide](
18506
- # https://cloud.google.com/iam/docs).
19557
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
19558
+ # For a description of IAM and its features, see the [IAM documentation](https://
19559
+ # cloud.google.com/iam/docs/).
18507
19560
  class Policy
18508
19561
  include Google::Apis::Core::Hashable
18509
19562
 
@@ -18512,9 +19565,9 @@ module Google
18512
19565
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
18513
19566
  attr_accessor :audit_configs
18514
19567
 
18515
- # Associates a list of `members` to a `role`. Optionally may specify a `
18516
- # condition` that determines when binding is in effect. `bindings` with no
18517
- # members will result in an error.
19568
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
19569
+ # condition` that determines how and when the `bindings` are applied. Each of
19570
+ # the `bindings` must contain at least one member.
18518
19571
  # Corresponds to the JSON property `bindings`
18519
19572
  # @return [Array<Google::Apis::ComputeV1::Binding>]
18520
19573
  attr_accessor :bindings
@@ -18526,10 +19579,10 @@ module Google
18526
19579
  # returned in the response to `getIamPolicy`, and systems are expected to put
18527
19580
  # that etag in the request to `setIamPolicy` to ensure that their change will be
18528
19581
  # applied to the same version of the policy.
18529
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
18530
- # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
18531
- # setIamPolicy' will not fail even if either of incoming or stored policy does
18532
- # not meet the version requirements.
19582
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
19583
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
19584
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
19585
+ # conditions in the version `3` policy are lost.
18533
19586
  # Corresponds to the JSON property `etag`
18534
19587
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18535
19588
  # @return [String]
@@ -18553,15 +19606,20 @@ module Google
18553
19606
  attr_accessor :rules
18554
19607
 
18555
19608
  # Specifies the format of the policy.
18556
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
19609
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are
18557
19610
  # rejected.
18558
- # Operations affecting conditional bindings must specify version 3. This can be
18559
- # either setting a conditional policy, modifying a conditional binding, or
18560
- # removing a conditional binding from the stored conditional policy. Operations
18561
- # on non-conditional policies may specify any valid value or leave the field
18562
- # unset.
18563
- # If no etag is provided in the call to `setIamPolicy`, any version compliance
18564
- # checks on the incoming and/or stored policy is skipped.
19611
+ # Any operation that affects conditional role bindings must specify version `3`.
19612
+ # This requirement applies to the following operations:
19613
+ # * Getting a policy that includes a conditional role binding * Adding a
19614
+ # conditional role binding to a policy * Changing a conditional role binding in
19615
+ # a policy * Removing any role binding, with or without a condition, from a
19616
+ # policy that includes conditions
19617
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
19618
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
19619
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
19620
+ # conditions in the version `3` policy are lost.
19621
+ # If a policy does not include any conditions, operations on that policy may
19622
+ # specify any valid version or leave the field unset.
18565
19623
  # Corresponds to the JSON property `version`
18566
19624
  # @return [Fixnum]
18567
19625
  attr_accessor :version
@@ -18583,8 +19641,8 @@ module Google
18583
19641
 
18584
19642
  # Represents a Project resource.
18585
19643
  # A project is used to organize resources in a Google Cloud Platform environment.
18586
- # For more information, read about the Resource Hierarchy. (== resource_for v1.
18587
- # projects ==) (== resource_for beta.projects ==)
19644
+ # For more information, read about the Resource Hierarchy. (== resource_for `$
19645
+ # api_version`.projects ==)
18588
19646
  class Project
18589
19647
  include Google::Apis::Core::Hashable
18590
19648
 
@@ -18876,8 +19934,8 @@ module Google
18876
19934
 
18877
19935
  # Represents a Region resource.
18878
19936
  # A region is a geographical area where a resource is located. For more
18879
- # information, read Regions and Zones. (== resource_for beta.regions ==) (==
18880
- # resource_for v1.regions ==)
19937
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
19938
+ # )
18881
19939
  class Region
18882
19940
  include Google::Apis::Core::Hashable
18883
19941
 
@@ -19500,6 +20558,72 @@ module Google
19500
20558
  end
19501
20559
  end
19502
20560
 
20561
+ # InstanceGroupManagers.applyUpdatesToInstances
20562
+ class RegionInstanceGroupManagersApplyUpdatesRequest
20563
+ include Google::Apis::Core::Hashable
20564
+
20565
+ # The list of URLs of one or more instances for which you want to apply updates.
20566
+ # Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[
20567
+ # INSTANCE_NAME].
20568
+ # Corresponds to the JSON property `instances`
20569
+ # @return [Array<String>]
20570
+ attr_accessor :instances
20571
+
20572
+ # The minimal action that you want to perform on each instance during the update:
20573
+ #
20574
+ # - REPLACE: At minimum, delete the instance and create it again.
20575
+ # - RESTART: Stop the instance and start it again.
20576
+ # - REFRESH: Do not stop the instance.
20577
+ # - NONE: Do not disrupt the instance at all. By default, the minimum action is
20578
+ # NONE. If your update requires a more disruptive action than you set with this
20579
+ # flag, the necessary action is performed to execute the update.
20580
+ # Corresponds to the JSON property `minimalAction`
20581
+ # @return [String]
20582
+ attr_accessor :minimal_action
20583
+
20584
+ # The most disruptive action that you want to perform on each instance during
20585
+ # the update:
20586
+ # - REPLACE: Delete the instance and create it again.
20587
+ # - RESTART: Stop the instance and start it again.
20588
+ # - REFRESH: Do not stop the instance.
20589
+ # - NONE: Do not disrupt the instance at all. By default, the most disruptive
20590
+ # allowed action is REPLACE. If your update requires a more disruptive action
20591
+ # than you set with this flag, the update request will fail.
20592
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
20593
+ # @return [String]
20594
+ attr_accessor :most_disruptive_allowed_action
20595
+
20596
+ def initialize(**args)
20597
+ update!(**args)
20598
+ end
20599
+
20600
+ # Update properties of this object
20601
+ def update!(**args)
20602
+ @instances = args[:instances] if args.key?(:instances)
20603
+ @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
20604
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
20605
+ end
20606
+ end
20607
+
20608
+ # RegionInstanceGroupManagers.createInstances
20609
+ class RegionInstanceGroupManagersCreateInstancesRequest
20610
+ include Google::Apis::Core::Hashable
20611
+
20612
+ # [Required] List of specifications of per-instance configs.
20613
+ # Corresponds to the JSON property `instances`
20614
+ # @return [Array<Google::Apis::ComputeV1::PerInstanceConfig>]
20615
+ attr_accessor :instances
20616
+
20617
+ def initialize(**args)
20618
+ update!(**args)
20619
+ end
20620
+
20621
+ # Update properties of this object
20622
+ def update!(**args)
20623
+ @instances = args[:instances] if args.key?(:instances)
20624
+ end
20625
+ end
20626
+
19503
20627
  #
19504
20628
  class RegionInstanceGroupManagersDeleteInstancesRequest
19505
20629
  include Google::Apis::Core::Hashable
@@ -19949,32 +21073,34 @@ module Google
19949
21073
  # @return [String]
19950
21074
  attr_accessor :etag
19951
21075
 
19952
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
19953
- # access control policies for Cloud Platform resources.
21076
+ # An Identity and Access Management (IAM) policy, which specifies access
21077
+ # controls for Google Cloud resources.
19954
21078
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
19955
21079
  # members` to a single `role`. Members can be user accounts, service accounts,
19956
21080
  # Google groups, and domains (such as G Suite). A `role` is a named list of
19957
- # permissions (defined by IAM or configured by users). A `binding` can
19958
- # optionally specify a `condition`, which is a logic expression that further
19959
- # constrains the role binding based on attributes about the request and/or
19960
- # target resource.
19961
- # **JSON Example**
21081
+ # permissions; each `role` can be an IAM predefined role or a user-created
21082
+ # custom role.
21083
+ # Optionally, a `binding` can specify a `condition`, which is a logical
21084
+ # expression that allows access to a resource only if the expression evaluates
21085
+ # to `true`. A condition can add constraints based on attributes of the request,
21086
+ # the resource, or both.
21087
+ # **JSON example:**
19962
21088
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
19963
21089
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
19964
21090
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
19965
21091
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
19966
21092
  # "condition": ` "title": "expirable access", "description": "Does not grant
19967
21093
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
19968
- # 00:00.000Z')", ` ` ] `
19969
- # **YAML Example**
21094
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
21095
+ # **YAML example:**
19970
21096
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19971
21097
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
19972
21098
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
19973
21099
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
19974
21100
  # access description: Does not grant access after Sep 2020 expression: request.
19975
- # time < timestamp('2020-10-01T00:00:00.000Z')
19976
- # For a description of IAM and its features, see the [IAM developer's guide](
19977
- # https://cloud.google.com/iam/docs).
21101
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
21102
+ # For a description of IAM and its features, see the [IAM documentation](https://
21103
+ # cloud.google.com/iam/docs/).
19978
21104
  # Corresponds to the JSON property `policy`
19979
21105
  # @return [Google::Apis::ComputeV1::Policy]
19980
21106
  attr_accessor :policy
@@ -20016,12 +21142,19 @@ module Google
20016
21142
  include Google::Apis::Core::Hashable
20017
21143
 
20018
21144
  # Represents a URL Map resource.
20019
- # A URL map resource is a component of certain types of load balancers. This
20020
- # resource defines mappings from host names and URL paths to either a backend
20021
- # service or a backend bucket.
20022
- # To use this resource, the backend service must have a loadBalancingScheme of
20023
- # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more
20024
- # information, read URL Map Concepts.
21145
+ # Google Compute Engine has two URL Map resources:
21146
+ # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
21147
+ # docs/reference/rest/latest/regionUrlMaps)
21148
+ # A URL map resource is a component of certain types of GCP load balancers and
21149
+ # Traffic Director.
21150
+ # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
21151
+ # regionUrlMaps are used by internal HTTP(S) load balancers.
21152
+ # This resource defines mappings from host names and URL paths to either a
21153
+ # backend service or a backend bucket.
21154
+ # To use the global urlMaps resource, the backend service must have a
21155
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
21156
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
21157
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
20025
21158
  # Corresponds to the JSON property `resource`
20026
21159
  # @return [Google::Apis::ComputeV1::UrlMap]
20027
21160
  attr_accessor :resource
@@ -20060,8 +21193,8 @@ module Google
20060
21193
 
20061
21194
  # Represents a reservation resource. A reservation ensures that capacity is held
20062
21195
  # in a specific zone even if the reserved VMs are not running. For more
20063
- # information, read Reserving zonal resources. (== resource_for beta.
20064
- # reservations ==) (== resource_for v1.reservations ==)
21196
+ # information, read Reserving zonal resources. (== resource_for `$api_version`.
21197
+ # reservations ==)
20065
21198
  class Reservation
20066
21199
  include Google::Apis::Core::Hashable
20067
21200
 
@@ -21170,7 +22303,7 @@ module Google
21170
22303
  class ResourcePolicySnapshotSchedulePolicySnapshotProperties
21171
22304
  include Google::Apis::Core::Hashable
21172
22305
 
21173
- # Indication to perform a ?guest aware? snapshot.
22306
+ # Indication to perform a 'guest aware' snapshot.
21174
22307
  # Corresponds to the JSON property `guestFlush`
21175
22308
  # @return [Boolean]
21176
22309
  attr_accessor :guest_flush
@@ -21255,8 +22388,8 @@ module Google
21255
22388
  # Represents a Route resource.
21256
22389
  # A route defines a path from VM instances in the VPC network to a specific
21257
22390
  # destination. This destination can be inside or outside the VPC network. For
21258
- # more information, read the Routes overview. (== resource_for beta.routes ==) (=
21259
- # = resource_for v1.routes ==)
22391
+ # more information, read the Routes overview. (== resource_for `$api_version`.
22392
+ # routes ==)
21260
22393
  class Route
21261
22394
  include Google::Apis::Core::Hashable
21262
22395
 
@@ -22726,20 +23859,13 @@ module Google
22726
23859
 
22727
23860
  # Specifies how port is selected for health checking, can be one of following
22728
23861
  # values:
22729
- # USE_FIXED_PORT: The port number in
22730
- # port
22731
- # is used for health checking.
22732
- # USE_NAMED_PORT: The
22733
- # portName
22734
- # is used for health checking.
23862
+ # USE_FIXED_PORT: The port number in port is used for health checking.
23863
+ # USE_NAMED_PORT: The portName is used for health checking.
22735
23864
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
22736
23865
  # network endpoint is used for health checking. For other backends, the port or
22737
23866
  # named port specified in the Backend Service is used for health checking.
22738
- # If not specified, SSL health check follows behavior specified in
22739
- # port
22740
- # and
22741
- # portName
22742
- # fields.
23867
+ # If not specified, SSL health check follows behavior specified in port and
23868
+ # portName fields.
22743
23869
  # Corresponds to the JSON property `portSpecification`
22744
23870
  # @return [String]
22745
23871
  attr_accessor :port_specification
@@ -22866,8 +23992,7 @@ module Google
22866
23992
  # Represents a Cloud Armor Security Policy resource.
22867
23993
  # Only external backend services that use load balancers can reference a
22868
23994
  # Security Policy. For more information, read Cloud Armor Security Policy
22869
- # Concepts. (== resource_for v1.securityPolicies ==) (== resource_for beta.
22870
- # securityPolicies ==)
23995
+ # Concepts. (== resource_for `$api_version`.securityPolicies ==)
22871
23996
  class SecurityPolicy
22872
23997
  include Google::Apis::Core::Hashable
22873
23998
 
@@ -23424,13 +24549,13 @@ module Google
23424
24549
 
23425
24550
  # Represents a Persistent Disk Snapshot resource.
23426
24551
  # You can use snapshots to back up data on a regular interval. For more
23427
- # information, read Creating persistent disk snapshots. (== resource_for beta.
23428
- # snapshots ==) (== resource_for v1.snapshots ==)
24552
+ # information, read Creating persistent disk snapshots. (== resource_for `$
24553
+ # api_version`.snapshots ==)
23429
24554
  class Snapshot
23430
24555
  include Google::Apis::Core::Hashable
23431
24556
 
23432
- # [Output Only] Set to true if snapshots are automatically by applying resource
23433
- # policy on the target disk.
24557
+ # [Output Only] Set to true if snapshots are automatically created by applying
24558
+ # resource policy on the target disk.
23434
24559
  # Corresponds to the JSON property `autoCreated`
23435
24560
  # @return [Boolean]
23436
24561
  attr_accessor :auto_created
@@ -23452,6 +24577,11 @@ module Google
23452
24577
  # @return [Fixnum]
23453
24578
  attr_accessor :disk_size_gb
23454
24579
 
24580
+ # [Output Only] Number of bytes downloaded to restore a snapshot to a disk.
24581
+ # Corresponds to the JSON property `downloadBytes`
24582
+ # @return [Fixnum]
24583
+ attr_accessor :download_bytes
24584
+
23455
24585
  # [Output Only] The unique identifier for the resource. This identifier is
23456
24586
  # defined by the server.
23457
24587
  # Corresponds to the JSON property `id`
@@ -23568,6 +24698,7 @@ module Google
23568
24698
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23569
24699
  @description = args[:description] if args.key?(:description)
23570
24700
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
24701
+ @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
23571
24702
  @id = args[:id] if args.key?(:id)
23572
24703
  @kind = args[:kind] if args.key?(:kind)
23573
24704
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -23728,10 +24859,17 @@ module Google
23728
24859
  end
23729
24860
 
23730
24861
  # Represents an SSL Certificate resource.
24862
+ # Google Compute Engine has two SSL Certificate resources:
24863
+ # * [Global](/compute/docs/reference/rest/latest/sslCertificates) * [Regional](/
24864
+ # compute/docs/reference/rest/latest/regionSslCertificates)
24865
+ # - sslCertificates are used by: - external HTTPS load balancers - SSL proxy
24866
+ # load balancers
24867
+ # - regionSslCertificates are used by: - internal HTTPS load balancers
23731
24868
  # This SSL certificate resource also contains a private key. You can use SSL
23732
24869
  # keys and certificates to secure connections to a load balancer. For more
23733
- # information, read Creating and Using SSL Certificates. (== resource_for beta.
23734
- # sslCertificates ==) (== resource_for v1.sslCertificates ==)
24870
+ # information, read Creating and Using SSL Certificates. (== resource_for `$
24871
+ # api_version`.sslCertificates ==) (== resource_for `$api_version`.
24872
+ # regionSslCertificates ==) Next ID: 17
23735
24873
  class SslCertificate
23736
24874
  include Google::Apis::Core::Hashable
23737
24875
 
@@ -24276,8 +25414,7 @@ module Google
24276
25414
  # Represents a Cloud Armor Security Policy resource.
24277
25415
  # Only external backend services used by HTTP or HTTPS load balancers can
24278
25416
  # reference a Security Policy. For more information, read read Cloud Armor
24279
- # Security Policy Concepts. (== resource_for beta.sslPolicies ==) (==
24280
- # resource_for v1.sslPolicies ==)
25417
+ # Security Policy Concepts. (== resource_for `$api_version`.sslPolicies ==)
24281
25418
  class SslPolicy
24282
25419
  include Google::Apis::Core::Hashable
24283
25420
 
@@ -24471,7 +25608,7 @@ module Google
24471
25608
  # A subnetwork (also known as a subnet) is a logical partition of a Virtual
24472
25609
  # Private Cloud network with one primary IP range and zero or more secondary IP
24473
25610
  # ranges. For more information, read Virtual Private Cloud (VPC) Network. (==
24474
- # resource_for beta.subnetworks ==) (== resource_for v1.subnetworks ==)
25611
+ # resource_for `$api_version`.subnetworks ==)
24475
25612
  class Subnetwork
24476
25613
  include Google::Apis::Core::Hashable
24477
25614
 
@@ -25101,20 +26238,13 @@ module Google
25101
26238
 
25102
26239
  # Specifies how port is selected for health checking, can be one of following
25103
26240
  # values:
25104
- # USE_FIXED_PORT: The port number in
25105
- # port
25106
- # is used for health checking.
25107
- # USE_NAMED_PORT: The
25108
- # portName
25109
- # is used for health checking.
26241
+ # USE_FIXED_PORT: The port number in port is used for health checking.
26242
+ # USE_NAMED_PORT: The portName is used for health checking.
25110
26243
  # USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each
25111
26244
  # network endpoint is used for health checking. For other backends, the port or
25112
26245
  # named port specified in the Backend Service is used for health checking.
25113
- # If not specified, TCP health check follows behavior specified in
25114
- # port
25115
- # and
25116
- # portName
25117
- # fields.
26246
+ # If not specified, TCP health check follows behavior specified in port and
26247
+ # portName fields.
25118
26248
  # Corresponds to the JSON property `portSpecification`
25119
26249
  # @return [String]
25120
26250
  attr_accessor :port_specification
@@ -25279,11 +26409,16 @@ module Google
25279
26409
  end
25280
26410
 
25281
26411
  # Represents a Target HTTP Proxy resource.
25282
- # A target HTTP proxy is a component of certain types of load balancers. Global
25283
- # forwarding rules reference a target HTTP proxy, and the target proxy then
25284
- # references a URL map. For more information, read Using Target Proxies. (==
25285
- # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
25286
- # =)
26412
+ # Google Compute Engine has two Target HTTP Proxy resources:
26413
+ # * [Global](/compute/docs/reference/rest/latest/targetHttpProxies) * [Regional](
26414
+ # /compute/docs/reference/rest/latest/regionTargetHttpProxies)
26415
+ # A target HTTP proxy is a component of GCP HTTP load balancers.
26416
+ # * targetHttpProxies are used by external HTTP load balancers and Traffic
26417
+ # Director. * regionTargetHttpProxies are used by internal HTTP load balancers.
26418
+ # Forwarding rules reference a target HTTP proxy, and the target proxy then
26419
+ # references a URL map. For more information, read Using Target Proxies and
26420
+ # Forwarding rule concepts. (== resource_for `$api_version`.targetHttpProxies ==)
26421
+ # (== resource_for `$api_version`.regionTargetHttpProxies ==)
25287
26422
  class TargetHttpProxy
25288
26423
  include Google::Apis::Core::Hashable
25289
26424
 
@@ -25651,11 +26786,16 @@ module Google
25651
26786
  end
25652
26787
 
25653
26788
  # Represents a Target HTTPS Proxy resource.
25654
- # A target HTTPS proxy is a component of certain types of load balancers. Global
25655
- # forwarding rules reference a target HTTPS proxy, and the target proxy then
25656
- # references a URL map. For more information, read Using Target Proxies. (==
25657
- # resource_for beta.targetHttpsProxies ==) (== resource_for v1.
25658
- # targetHttpsProxies ==)
26789
+ # Google Compute Engine has two Target HTTPS Proxy resources:
26790
+ # * [Global](/compute/docs/reference/rest/latest/targetHttpsProxies) * [Regional]
26791
+ # (/compute/docs/reference/rest/latest/regionTargetHttpsProxies)
26792
+ # A target HTTPS proxy is a component of GCP HTTPS load balancers.
26793
+ # * targetHttpsProxies are used by external HTTPS load balancers. *
26794
+ # regionTargetHttpsProxies are used by internal HTTPS load balancers.
26795
+ # Forwarding rules reference a target HTTPS proxy, and the target proxy then
26796
+ # references a URL map. For more information, read Using Target Proxies and
26797
+ # Forwarding rule concepts. (== resource_for `$api_version`.targetHttpsProxies ==
26798
+ # ) (== resource_for `$api_version`.regionTargetHttpsProxies ==)
25659
26799
  class TargetHttpsProxy
25660
26800
  include Google::Apis::Core::Hashable
25661
26801
 
@@ -26000,8 +27140,7 @@ module Google
26000
27140
  # You can use a target instance to handle traffic for one or more forwarding
26001
27141
  # rules, which is ideal for forwarding protocol traffic that is managed by a
26002
27142
  # single source. For example, ESP, AH, TCP, or UDP. For more information, read
26003
- # Target instances. (== resource_for beta.targetInstances ==) (== resource_for
26004
- # v1.targetInstances ==)
27143
+ # Target instances. (== resource_for `$api_version`.targetInstances ==)
26005
27144
  class TargetInstance
26006
27145
  include Google::Apis::Core::Hashable
26007
27146
 
@@ -26415,8 +27554,7 @@ module Google
26415
27554
  # Target pools are used for network TCP/UDP load balancing. A target pool
26416
27555
  # references member instances, an associated legacy HttpHealthCheck resource,
26417
27556
  # and, optionally, a backup target pool. For more information, read Using target
26418
- # pools. (== resource_for beta.targetPools ==) (== resource_for v1.targetPools ==
26419
- # )
27557
+ # pools. (== resource_for `$api_version`.targetPools ==)
26420
27558
  class TargetPool
26421
27559
  include Google::Apis::Core::Hashable
26422
27560
 
@@ -27059,8 +28197,7 @@ module Google
27059
28197
  # A target SSL proxy is a component of a SSL Proxy load balancer. Global
27060
28198
  # forwarding rules reference a target SSL proxy, and the target proxy then
27061
28199
  # references an external backend service. For more information, read Using
27062
- # Target Proxies. (== resource_for beta.targetSslProxies ==) (== resource_for v1.
27063
- # targetSslProxies ==)
28200
+ # Target Proxies. (== resource_for `$api_version`.targetSslProxies ==)
27064
28201
  class TargetSslProxy
27065
28202
  include Google::Apis::Core::Hashable
27066
28203
 
@@ -27306,8 +28443,7 @@ module Google
27306
28443
  # A target TCP proxy is a component of a TCP Proxy load balancer. Global
27307
28444
  # forwarding rules reference target TCP proxy, and the target proxy then
27308
28445
  # references an external backend service. For more information, read TCP Proxy
27309
- # Load Balancing Concepts. (== resource_for beta.targetTcpProxies ==) (==
27310
- # resource_for v1.targetTcpProxies ==)
28446
+ # Load Balancing Concepts. (== resource_for `$api_version`.targetTcpProxies ==)
27311
28447
  class TargetTcpProxy
27312
28448
  include Google::Apis::Core::Hashable
27313
28449
 
@@ -27496,8 +28632,8 @@ module Google
27496
28632
 
27497
28633
  # Represents a Target VPN Gateway resource.
27498
28634
  # The target VPN gateway resource represents a Classic Cloud VPN gateway. For
27499
- # more information, read the the Cloud VPN Overview. (== resource_for beta.
27500
- # targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==)
28635
+ # more information, read the the Cloud VPN Overview. (== resource_for `$
28636
+ # api_version`.targetVpnGateways ==)
27501
28637
  class TargetVpnGateway
27502
28638
  include Google::Apis::Core::Hashable
27503
28639
 
@@ -27995,12 +29131,19 @@ module Google
27995
29131
  end
27996
29132
 
27997
29133
  # Represents a URL Map resource.
27998
- # A URL map resource is a component of certain types of load balancers. This
27999
- # resource defines mappings from host names and URL paths to either a backend
28000
- # service or a backend bucket.
28001
- # To use this resource, the backend service must have a loadBalancingScheme of
28002
- # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more
28003
- # information, read URL Map Concepts.
29134
+ # Google Compute Engine has two URL Map resources:
29135
+ # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
29136
+ # docs/reference/rest/latest/regionUrlMaps)
29137
+ # A URL map resource is a component of certain types of GCP load balancers and
29138
+ # Traffic Director.
29139
+ # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
29140
+ # regionUrlMaps are used by internal HTTP(S) load balancers.
29141
+ # This resource defines mappings from host names and URL paths to either a
29142
+ # backend service or a backend bucket.
29143
+ # To use the global urlMaps resource, the backend service must have a
29144
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
29145
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
29146
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
28004
29147
  class UrlMap
28005
29148
  include Google::Apis::Core::Hashable
28006
29149
 
@@ -28562,12 +29705,19 @@ module Google
28562
29705
  include Google::Apis::Core::Hashable
28563
29706
 
28564
29707
  # Represents a URL Map resource.
28565
- # A URL map resource is a component of certain types of load balancers. This
28566
- # resource defines mappings from host names and URL paths to either a backend
28567
- # service or a backend bucket.
28568
- # To use this resource, the backend service must have a loadBalancingScheme of
28569
- # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more
28570
- # information, read URL Map Concepts.
29708
+ # Google Compute Engine has two URL Map resources:
29709
+ # * [Global](/compute/docs/reference/rest/latest/urlMaps) * [Regional](/compute/
29710
+ # docs/reference/rest/latest/regionUrlMaps)
29711
+ # A URL map resource is a component of certain types of GCP load balancers and
29712
+ # Traffic Director.
29713
+ # * urlMaps are used by external HTTP(S) load balancers and Traffic Director. *
29714
+ # regionUrlMaps are used by internal HTTP(S) load balancers.
29715
+ # This resource defines mappings from host names and URL paths to either a
29716
+ # backend service or a backend bucket.
29717
+ # To use the global urlMaps resource, the backend service must have a
29718
+ # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
29719
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
29720
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
28571
29721
  # Corresponds to the JSON property `resource`
28572
29722
  # @return [Google::Apis::ComputeV1::UrlMap]
28573
29723
  attr_accessor :resource
@@ -29048,7 +30198,7 @@ module Google
29048
30198
  end
29049
30199
  end
29050
30200
 
29051
- # Represents a VPN gateway resource.
30201
+ # Represents a VPN gateway resource. Next ID: 13
29052
30202
  class VpnGateway
29053
30203
  include Google::Apis::Core::Hashable
29054
30204
 
@@ -29639,7 +30789,7 @@ module Google
29639
30789
 
29640
30790
  # Represents a Cloud VPN Tunnel resource.
29641
30791
  # For more information about VPN, read the the Cloud VPN Overview. (==
29642
- # resource_for beta.vpnTunnels ==) (== resource_for v1.vpnTunnels ==)
30792
+ # resource_for `$api_version`.vpnTunnels ==)
29643
30793
  class VpnTunnel
29644
30794
  include Google::Apis::Core::Hashable
29645
30795
 
@@ -30348,8 +31498,7 @@ module Google
30348
31498
  # Represents a Zone resource.
30349
31499
  # A zone is a deployment area. These deployment areas are subsets of a region.
30350
31500
  # For example the zone us-east1-a is located in the us-east1 region. For more
30351
- # information, read Regions and Zones. (== resource_for beta.zones ==) (==
30352
- # resource_for v1.zones ==)
31501
+ # information, read Regions and Zones. (== resource_for `$api_version`.zones ==)
30353
31502
  class Zone
30354
31503
  include Google::Apis::Core::Hashable
30355
31504
 
@@ -30587,32 +31736,34 @@ module Google
30587
31736
  # @return [String]
30588
31737
  attr_accessor :etag
30589
31738
 
30590
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
30591
- # access control policies for Cloud Platform resources.
31739
+ # An Identity and Access Management (IAM) policy, which specifies access
31740
+ # controls for Google Cloud resources.
30592
31741
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
30593
31742
  # members` to a single `role`. Members can be user accounts, service accounts,
30594
31743
  # Google groups, and domains (such as G Suite). A `role` is a named list of
30595
- # permissions (defined by IAM or configured by users). A `binding` can
30596
- # optionally specify a `condition`, which is a logic expression that further
30597
- # constrains the role binding based on attributes about the request and/or
30598
- # target resource.
30599
- # **JSON Example**
31744
+ # permissions; each `role` can be an IAM predefined role or a user-created
31745
+ # custom role.
31746
+ # Optionally, a `binding` can specify a `condition`, which is a logical
31747
+ # expression that allows access to a resource only if the expression evaluates
31748
+ # to `true`. A condition can add constraints based on attributes of the request,
31749
+ # the resource, or both.
31750
+ # **JSON example:**
30600
31751
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
30601
31752
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
30602
31753
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
30603
31754
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
30604
31755
  # "condition": ` "title": "expirable access", "description": "Does not grant
30605
31756
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
30606
- # 00:00.000Z')", ` ` ] `
30607
- # **YAML Example**
31757
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
31758
+ # **YAML example:**
30608
31759
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
30609
31760
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
30610
31761
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
30611
31762
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
30612
31763
  # access description: Does not grant access after Sep 2020 expression: request.
30613
- # time < timestamp('2020-10-01T00:00:00.000Z')
30614
- # For a description of IAM and its features, see the [IAM developer's guide](
30615
- # https://cloud.google.com/iam/docs).
31764
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
31765
+ # For a description of IAM and its features, see the [IAM documentation](https://
31766
+ # cloud.google.com/iam/docs/).
30616
31767
  # Corresponds to the JSON property `policy`
30617
31768
  # @return [Google::Apis::ComputeV1::Policy]
30618
31769
  attr_accessor :policy