google-api-client 0.46.1 → 0.50.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 (496) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.github/workflows/release-please.yml +77 -0
  4. data/.gitignore +2 -0
  5. data/.kokoro/trampoline.sh +0 -0
  6. data/CHANGELOG.md +666 -191
  7. data/Gemfile +1 -0
  8. data/Rakefile +31 -3
  9. data/api_list_config.yaml +8 -0
  10. data/bin/generate-api +77 -15
  11. data/generated/google/apis/accessapproval_v1.rb +1 -1
  12. data/generated/google/apis/accessapproval_v1/classes.rb +13 -15
  13. data/generated/google/apis/accessapproval_v1/service.rb +12 -9
  14. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  15. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  16. data/generated/google/apis/admin_directory_v1.rb +1 -1
  17. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  18. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  19. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  20. data/generated/google/apis/admin_reports_v1.rb +1 -1
  21. data/generated/google/apis/admob_v1.rb +4 -1
  22. data/generated/google/apis/admob_v1/classes.rb +29 -29
  23. data/generated/google/apis/admob_v1/service.rb +4 -0
  24. data/generated/google/apis/admob_v1beta.rb +38 -0
  25. data/generated/google/apis/admob_v1beta/classes.rb +1035 -0
  26. data/generated/google/apis/admob_v1beta/representations.rb +472 -0
  27. data/generated/google/apis/admob_v1beta/service.rb +279 -0
  28. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  29. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +19 -18
  30. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +12 -13
  31. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  32. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +179 -50
  33. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +50 -14
  34. data/generated/google/apis/analyticsdata_v1alpha/service.rb +49 -38
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +6 -0
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  38. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  39. data/generated/google/apis/androidmanagement_v1/classes.rb +29 -26
  40. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  41. data/generated/google/apis/androidpublisher_v3/classes.rb +2 -1
  42. data/generated/google/apis/androidpublisher_v3/service.rb +5 -2
  43. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  44. data/generated/google/apis/apigateway_v1beta/classes.rb +8 -5
  45. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  46. data/generated/google/apis/apigee_v1.rb +1 -1
  47. data/generated/google/apis/apigee_v1/classes.rb +377 -137
  48. data/generated/google/apis/apigee_v1/representations.rb +109 -18
  49. data/generated/google/apis/apigee_v1/service.rb +673 -56
  50. data/generated/google/apis/area120tables_v1alpha1.rb +46 -0
  51. data/generated/google/apis/area120tables_v1alpha1/classes.rb +481 -0
  52. data/generated/google/apis/area120tables_v1alpha1/representations.rb +279 -0
  53. data/generated/google/apis/area120tables_v1alpha1/service.rb +448 -0
  54. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  55. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +7 -7
  56. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -1
  57. data/generated/google/apis/assuredworkloads_v1beta1.rb +1 -1
  58. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +20 -0
  59. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +2 -0
  60. data/generated/google/apis/bigquery_v2.rb +1 -1
  61. data/generated/google/apis/bigquery_v2/classes.rb +158 -5
  62. data/generated/google/apis/bigquery_v2/representations.rb +67 -0
  63. data/generated/google/apis/bigquery_v2/service.rb +46 -0
  64. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  65. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -0
  66. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +1 -0
  67. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  68. data/generated/google/apis/billingbudgets_v1/classes.rb +12 -1
  69. data/generated/google/apis/billingbudgets_v1/representations.rb +1 -0
  70. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  71. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +12 -1
  72. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  73. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  74. data/generated/google/apis/binaryauthorization_v1/classes.rb +3 -4
  75. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  76. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +3 -4
  77. data/generated/google/apis/books_v1.rb +1 -1
  78. data/generated/google/apis/books_v1/service.rb +52 -52
  79. data/generated/google/apis/calendar_v3.rb +1 -1
  80. data/generated/google/apis/calendar_v3/classes.rb +2 -2
  81. data/generated/google/apis/chat_v1.rb +1 -1
  82. data/generated/google/apis/chat_v1/classes.rb +7 -0
  83. data/generated/google/apis/chat_v1/representations.rb +1 -0
  84. data/generated/google/apis/civicinfo_v2.rb +1 -1
  85. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  86. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  87. data/generated/google/apis/classroom_v1.rb +1 -1
  88. data/generated/google/apis/classroom_v1/classes.rb +21 -21
  89. data/generated/google/apis/cloudasset_v1.rb +1 -1
  90. data/generated/google/apis/cloudasset_v1/classes.rb +1122 -0
  91. data/generated/google/apis/cloudasset_v1/representations.rb +474 -0
  92. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  93. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  94. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  95. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  96. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  97. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  98. data/generated/google/apis/cloudbilling_v1/classes.rb +1 -1
  99. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  100. data/generated/google/apis/cloudbuild_v1/classes.rb +2 -1
  101. data/generated/google/apis/cloudbuild_v1/service.rb +10 -2
  102. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  103. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  104. data/generated/google/apis/cloudidentity_v1/service.rb +7 -3
  105. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  106. data/generated/google/apis/cloudidentity_v1beta1/service.rb +29 -17
  107. data/generated/google/apis/cloudiot_v1.rb +1 -1
  108. data/generated/google/apis/cloudiot_v1/classes.rb +1 -2
  109. data/generated/google/apis/cloudkms_v1.rb +1 -1
  110. data/generated/google/apis/cloudkms_v1/classes.rb +1 -2
  111. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  112. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +401 -7
  113. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +280 -1
  114. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +401 -7
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +280 -1
  117. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +405 -11
  119. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +280 -1
  120. data/generated/google/apis/cloudresourcemanager_v2/service.rb +13 -13
  121. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  122. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +405 -11
  123. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +280 -1
  124. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +13 -13
  125. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  126. data/generated/google/apis/cloudtasks_v2/classes.rb +1 -2
  127. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  128. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +1 -2
  129. data/generated/google/apis/cloudtasks_v2beta2/service.rb +12 -2
  130. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  131. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +1 -2
  132. data/generated/google/apis/compute_v1.rb +1 -1
  133. data/generated/google/apis/compute_v1/classes.rb +282 -29
  134. data/generated/google/apis/compute_v1/representations.rb +43 -0
  135. data/generated/google/apis/compute_v1/service.rb +4 -1
  136. data/generated/google/apis/container_v1.rb +1 -1
  137. data/generated/google/apis/container_v1/classes.rb +22 -10
  138. data/generated/google/apis/container_v1beta1.rb +1 -1
  139. data/generated/google/apis/container_v1beta1/classes.rb +51 -10
  140. data/generated/google/apis/container_v1beta1/representations.rb +15 -0
  141. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  142. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +1 -2
  143. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  144. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -2
  145. data/generated/google/apis/content_v2.rb +3 -4
  146. data/generated/google/apis/content_v2/classes.rb +511 -1219
  147. data/generated/google/apis/content_v2/service.rb +380 -651
  148. data/generated/google/apis/content_v2_1.rb +3 -4
  149. data/generated/google/apis/content_v2_1/classes.rb +1353 -1061
  150. data/generated/google/apis/content_v2_1/representations.rb +342 -0
  151. data/generated/google/apis/content_v2_1/service.rb +948 -809
  152. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  153. data/generated/google/apis/datacatalog_v1beta1/classes.rb +26 -12
  154. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -0
  155. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  156. data/generated/google/apis/dataflow_v1b3/classes.rb +12 -0
  157. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  158. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  159. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  160. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  161. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  162. data/generated/google/apis/datamigration_v1beta1.rb +34 -0
  163. data/generated/google/apis/datamigration_v1beta1/classes.rb +1670 -0
  164. data/generated/google/apis/datamigration_v1beta1/representations.rb +678 -0
  165. data/generated/google/apis/datamigration_v1beta1/service.rb +1172 -0
  166. data/generated/google/apis/dataproc_v1.rb +1 -1
  167. data/generated/google/apis/dataproc_v1/classes.rb +18 -7
  168. data/generated/google/apis/dataproc_v1/representations.rb +1 -0
  169. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  170. data/generated/google/apis/dataproc_v1beta2/classes.rb +18 -7
  171. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  172. data/generated/google/apis/datastore_v1.rb +1 -1
  173. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  174. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  175. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  176. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  177. data/generated/google/apis/deploymentmanager_v2/classes.rb +209 -558
  178. data/generated/google/apis/deploymentmanager_v2/representations.rb +1 -132
  179. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  180. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  181. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +253 -609
  182. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +1 -132
  183. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  184. data/generated/google/apis/dfareporting_v3_3.rb +2 -2
  185. data/generated/google/apis/dfareporting_v3_3/classes.rb +6 -6
  186. data/generated/google/apis/dfareporting_v3_3/service.rb +12 -12
  187. data/generated/google/apis/dfareporting_v3_4.rb +2 -2
  188. data/generated/google/apis/dfareporting_v3_4/classes.rb +6 -6
  189. data/generated/google/apis/dfareporting_v3_4/service.rb +12 -12
  190. data/generated/google/apis/dialogflow_v2.rb +1 -1
  191. data/generated/google/apis/dialogflow_v2/classes.rb +649 -385
  192. data/generated/google/apis/dialogflow_v2/representations.rb +279 -192
  193. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  194. data/generated/google/apis/dialogflow_v2beta1/classes.rb +649 -385
  195. data/generated/google/apis/dialogflow_v2beta1/representations.rb +283 -196
  196. data/generated/google/apis/dialogflow_v2beta1/service.rb +14 -8
  197. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  198. data/generated/google/apis/dialogflow_v3beta1/classes.rb +712 -391
  199. data/generated/google/apis/dialogflow_v3beta1/representations.rb +301 -195
  200. data/generated/google/apis/dialogflow_v3beta1/service.rb +1 -1
  201. data/generated/google/apis/displayvideo_v1.rb +1 -1
  202. data/generated/google/apis/displayvideo_v1/classes.rb +241 -63
  203. data/generated/google/apis/displayvideo_v1/representations.rb +77 -0
  204. data/generated/google/apis/displayvideo_v1/service.rb +257 -17
  205. data/generated/google/apis/dlp_v2.rb +1 -1
  206. data/generated/google/apis/dlp_v2/classes.rb +39 -32
  207. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  208. data/generated/google/apis/dns_v1.rb +2 -2
  209. data/generated/google/apis/dns_v1/classes.rb +181 -0
  210. data/generated/google/apis/dns_v1/representations.rb +83 -0
  211. data/generated/google/apis/dns_v1/service.rb +1 -1
  212. data/generated/google/apis/dns_v1beta2.rb +2 -2
  213. data/generated/google/apis/dns_v1beta2/classes.rb +195 -1
  214. data/generated/google/apis/dns_v1beta2/representations.rb +95 -0
  215. data/generated/google/apis/dns_v1beta2/service.rb +177 -1
  216. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  217. data/generated/google/apis/domains_v1alpha2/classes.rb +1534 -0
  218. data/generated/google/apis/domains_v1alpha2/representations.rb +605 -0
  219. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  220. data/generated/google/apis/domains_v1beta1.rb +34 -0
  221. data/generated/google/apis/domains_v1beta1/classes.rb +1534 -0
  222. data/generated/google/apis/domains_v1beta1/representations.rb +605 -0
  223. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  224. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  225. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +2 -1
  226. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  227. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +2 -1
  228. data/generated/google/apis/drive_v2.rb +1 -1
  229. data/generated/google/apis/drive_v2/classes.rb +22 -20
  230. data/generated/google/apis/drive_v2/service.rb +2 -2
  231. data/generated/google/apis/drive_v3.rb +1 -1
  232. data/generated/google/apis/drive_v3/classes.rb +12 -9
  233. data/generated/google/apis/eventarc_v1beta1.rb +34 -0
  234. data/generated/google/apis/eventarc_v1beta1/classes.rb +937 -0
  235. data/generated/google/apis/eventarc_v1beta1/representations.rb +380 -0
  236. data/generated/google/apis/eventarc_v1beta1/service.rb +579 -0
  237. data/generated/google/apis/file_v1.rb +1 -1
  238. data/generated/google/apis/file_v1/classes.rb +505 -4
  239. data/generated/google/apis/file_v1/representations.rb +203 -0
  240. data/generated/google/apis/file_v1/service.rb +229 -1
  241. data/generated/google/apis/file_v1beta1.rb +1 -1
  242. data/generated/google/apis/file_v1beta1/classes.rb +346 -6
  243. data/generated/google/apis/file_v1beta1/representations.rb +149 -0
  244. data/generated/google/apis/file_v1beta1/service.rb +6 -2
  245. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  246. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  247. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  248. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  249. data/generated/google/apis/firestore_v1.rb +1 -1
  250. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  251. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  252. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  253. data/generated/google/apis/fitness_v1.rb +1 -1
  254. data/generated/google/apis/fitness_v1/service.rb +3 -1
  255. data/generated/google/apis/games_v1.rb +1 -1
  256. data/generated/google/apis/games_v1/classes.rb +300 -0
  257. data/generated/google/apis/games_v1/representations.rb +116 -0
  258. data/generated/google/apis/games_v1/service.rb +34 -0
  259. data/generated/google/apis/gameservices_v1.rb +1 -1
  260. data/generated/google/apis/gameservices_v1/classes.rb +16 -16
  261. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  262. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  263. data/generated/google/apis/gameservices_v1beta/classes.rb +16 -16
  264. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  265. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  266. data/generated/google/apis/genomics_v2alpha1/classes.rb +25 -0
  267. data/generated/google/apis/genomics_v2alpha1/representations.rb +15 -0
  268. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  269. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  270. data/generated/google/apis/healthcare_v1.rb +1 -1
  271. data/generated/google/apis/healthcare_v1/classes.rb +10 -4
  272. data/generated/google/apis/healthcare_v1/representations.rb +1 -0
  273. data/generated/google/apis/healthcare_v1/service.rb +2 -1
  274. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  275. data/generated/google/apis/healthcare_v1beta1/classes.rb +350 -46
  276. data/generated/google/apis/healthcare_v1beta1/representations.rb +150 -18
  277. data/generated/google/apis/healthcare_v1beta1/service.rb +91 -13
  278. data/generated/google/apis/iam_v1.rb +2 -5
  279. data/generated/google/apis/iam_v1/classes.rb +8 -11
  280. data/generated/google/apis/iam_v1/representations.rb +0 -1
  281. data/generated/google/apis/iam_v1/service.rb +1 -4
  282. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  283. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  284. data/generated/google/apis/iap_v1.rb +1 -1
  285. data/generated/google/apis/iap_v1/classes.rb +1 -13
  286. data/generated/google/apis/iap_v1/representations.rb +0 -1
  287. data/generated/google/apis/iap_v1beta1.rb +1 -1
  288. data/generated/google/apis/iap_v1beta1/classes.rb +1 -2
  289. data/generated/google/apis/licensing_v1.rb +1 -1
  290. data/generated/google/apis/localservices_v1.rb +1 -1
  291. data/generated/google/apis/localservices_v1/classes.rb +7 -0
  292. data/generated/google/apis/localservices_v1/representations.rb +2 -0
  293. data/generated/google/apis/localservices_v1/service.rb +20 -20
  294. data/generated/google/apis/logging_v2.rb +1 -1
  295. data/generated/google/apis/logging_v2/classes.rb +186 -10
  296. data/generated/google/apis/logging_v2/representations.rb +77 -0
  297. data/generated/google/apis/logging_v2/service.rb +446 -25
  298. data/generated/google/apis/managedidentities_v1.rb +1 -1
  299. data/generated/google/apis/managedidentities_v1/classes.rb +347 -7
  300. data/generated/google/apis/managedidentities_v1/representations.rb +149 -0
  301. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  302. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  303. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +426 -15
  304. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +182 -1
  305. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  306. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  307. data/generated/google/apis/managedidentities_v1beta1/classes.rb +427 -15
  308. data/generated/google/apis/managedidentities_v1beta1/representations.rb +182 -1
  309. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  310. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  311. data/generated/google/apis/memcache_v1beta2/classes.rb +345 -4
  312. data/generated/google/apis/memcache_v1beta2/representations.rb +149 -0
  313. data/generated/google/apis/ml_v1.rb +1 -1
  314. data/generated/google/apis/ml_v1/classes.rb +273 -79
  315. data/generated/google/apis/ml_v1/representations.rb +43 -0
  316. data/generated/google/apis/ml_v1/service.rb +35 -0
  317. data/generated/google/apis/monitoring_v3.rb +1 -1
  318. data/generated/google/apis/monitoring_v3/classes.rb +19 -13
  319. data/generated/google/apis/monitoring_v3/service.rb +50 -1
  320. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  321. data/generated/google/apis/networkmanagement_v1/classes.rb +6 -0
  322. data/generated/google/apis/networkmanagement_v1/representations.rb +1 -0
  323. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  324. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +57 -0
  325. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +31 -0
  326. data/generated/google/apis/notebooks_v1.rb +34 -0
  327. data/generated/google/apis/notebooks_v1/classes.rb +1461 -0
  328. data/generated/google/apis/notebooks_v1/representations.rb +581 -0
  329. data/generated/google/apis/notebooks_v1/service.rb +1042 -0
  330. data/generated/google/apis/people_v1.rb +1 -1
  331. data/generated/google/apis/people_v1/classes.rb +49 -49
  332. data/generated/google/apis/people_v1/service.rb +21 -18
  333. data/generated/google/apis/playablelocations_v3.rb +1 -1
  334. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  335. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  336. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  337. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  338. data/generated/google/apis/poly_v1.rb +3 -4
  339. data/generated/google/apis/poly_v1/classes.rb +65 -79
  340. data/generated/google/apis/poly_v1/service.rb +50 -63
  341. data/generated/google/apis/privateca_v1beta1.rb +36 -0
  342. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  343. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  344. data/generated/google/apis/privateca_v1beta1/service.rb +1437 -0
  345. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  346. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  347. data/generated/google/apis/pubsub_v1.rb +1 -1
  348. data/generated/google/apis/pubsub_v1/classes.rb +1 -2
  349. data/generated/google/apis/pubsub_v1/service.rb +2 -2
  350. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  351. data/generated/google/apis/pubsub_v1beta2/classes.rb +1 -2
  352. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  353. data/generated/google/apis/realtimebidding_v1/classes.rb +578 -33
  354. data/generated/google/apis/realtimebidding_v1/representations.rb +232 -0
  355. data/generated/google/apis/realtimebidding_v1/service.rb +454 -4
  356. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  357. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  358. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  359. data/generated/google/apis/recommender_v1.rb +1 -1
  360. data/generated/google/apis/recommender_v1/classes.rb +1 -1
  361. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  362. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  363. data/generated/google/apis/redis_v1.rb +1 -1
  364. data/generated/google/apis/redis_v1/classes.rb +86 -0
  365. data/generated/google/apis/redis_v1/representations.rb +34 -0
  366. data/generated/google/apis/redis_v1/service.rb +34 -0
  367. data/generated/google/apis/redis_v1beta1.rb +1 -1
  368. data/generated/google/apis/redis_v1beta1/classes.rb +58 -0
  369. data/generated/google/apis/redis_v1beta1/representations.rb +20 -0
  370. data/generated/google/apis/run_v1.rb +1 -1
  371. data/generated/google/apis/run_v1/classes.rb +7 -6
  372. data/generated/google/apis/run_v1alpha1.rb +1 -1
  373. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  374. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +0 -7
  375. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +0 -1
  376. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  377. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  378. data/generated/google/apis/sasportal_v1alpha1/service.rb +109 -0
  379. data/generated/google/apis/secretmanager_v1.rb +1 -1
  380. data/generated/google/apis/secretmanager_v1/classes.rb +0 -7
  381. data/generated/google/apis/secretmanager_v1/representations.rb +0 -1
  382. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  383. data/generated/google/apis/secretmanager_v1beta1/classes.rb +0 -7
  384. data/generated/google/apis/secretmanager_v1beta1/representations.rb +0 -1
  385. data/generated/google/apis/securitycenter_v1.rb +1 -1
  386. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  387. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  388. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +6 -64
  389. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -18
  390. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  391. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +6 -64
  392. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -18
  393. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  394. data/generated/google/apis/servicecontrol_v1/classes.rb +77 -2
  395. data/generated/google/apis/servicecontrol_v1/representations.rb +10 -0
  396. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  397. data/generated/google/apis/servicecontrol_v2/classes.rb +62 -0
  398. data/generated/google/apis/servicecontrol_v2/representations.rb +8 -0
  399. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  400. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +27 -8
  401. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  402. data/generated/google/apis/servicemanagement_v1/classes.rb +6 -64
  403. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -18
  404. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  405. data/generated/google/apis/servicenetworking_v1/classes.rb +207 -65
  406. data/generated/google/apis/servicenetworking_v1/representations.rb +77 -14
  407. data/generated/google/apis/servicenetworking_v1/service.rb +82 -2
  408. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1beta/classes.rb +140 -65
  410. data/generated/google/apis/servicenetworking_v1beta/representations.rb +46 -14
  411. data/generated/google/apis/serviceusage_v1.rb +1 -1
  412. data/generated/google/apis/serviceusage_v1/classes.rb +6 -64
  413. data/generated/google/apis/serviceusage_v1/representations.rb +0 -18
  414. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  415. data/generated/google/apis/serviceusage_v1beta1/classes.rb +36 -64
  416. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -18
  417. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  418. data/generated/google/apis/sheets_v4.rb +1 -1
  419. data/generated/google/apis/sheets_v4/classes.rb +23 -7
  420. data/generated/google/apis/sheets_v4/representations.rb +3 -0
  421. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  422. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +0 -34
  423. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -16
  424. data/generated/google/apis/smartdevicemanagement_v1/service.rb +3 -8
  425. data/generated/google/apis/spanner_v1.rb +1 -1
  426. data/generated/google/apis/spanner_v1/classes.rb +2 -3
  427. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  428. data/generated/google/apis/sqladmin_v1beta4/classes.rb +28 -4
  429. data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
  430. data/generated/google/apis/storage_v1.rb +1 -1
  431. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  432. data/generated/google/apis/storagetransfer_v1/classes.rb +82 -50
  433. data/generated/google/apis/storagetransfer_v1/representations.rb +4 -0
  434. data/generated/google/apis/storagetransfer_v1/service.rb +20 -21
  435. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  436. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  437. data/generated/google/apis/sts_v1beta.rb +1 -1
  438. data/generated/google/apis/sts_v1beta/classes.rb +12 -11
  439. data/generated/google/apis/tagmanager_v2.rb +1 -1
  440. data/generated/google/apis/tagmanager_v2/classes.rb +12 -0
  441. data/generated/google/apis/tagmanager_v2/representations.rb +3 -0
  442. data/generated/google/apis/testing_v1.rb +1 -1
  443. data/generated/google/apis/testing_v1/classes.rb +45 -33
  444. data/generated/google/apis/testing_v1/representations.rb +1 -0
  445. data/generated/google/apis/testing_v1/service.rb +4 -4
  446. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  447. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  448. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  449. data/generated/google/apis/tpu_v1.rb +1 -1
  450. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  451. data/generated/google/apis/tpu_v1/service.rb +8 -8
  452. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  453. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  454. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  455. data/generated/google/apis/transcoder_v1beta1.rb +34 -0
  456. data/generated/google/apis/transcoder_v1beta1/classes.rb +1684 -0
  457. data/generated/google/apis/transcoder_v1beta1/representations.rb +756 -0
  458. data/generated/google/apis/transcoder_v1beta1/service.rb +329 -0
  459. data/generated/google/apis/translate_v3.rb +1 -1
  460. data/generated/google/apis/translate_v3/classes.rb +2 -1
  461. data/generated/google/apis/translate_v3beta1.rb +1 -1
  462. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  463. data/generated/google/apis/vault_v1.rb +1 -1
  464. data/generated/google/apis/vault_v1/classes.rb +333 -0
  465. data/generated/google/apis/vault_v1/representations.rb +162 -0
  466. data/generated/google/apis/vault_v1/service.rb +151 -0
  467. data/generated/google/apis/videointelligence_v1.rb +1 -1
  468. data/generated/google/apis/videointelligence_v1/service.rb +0 -62
  469. data/generated/google/apis/vision_v1.rb +1 -1
  470. data/generated/google/apis/vision_v1/classes.rb +16 -16
  471. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  472. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  473. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  474. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  475. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  476. data/generated/google/apis/youtube_v3.rb +1 -1
  477. data/generated/google/apis/youtube_v3/service.rb +8 -8
  478. data/google-api-client.gemspec +25 -25
  479. data/lib/google/apis/core/api_command.rb +1 -0
  480. data/lib/google/apis/core/http_command.rb +2 -1
  481. data/lib/google/apis/options.rb +8 -5
  482. data/lib/google/apis/version.rb +1 -1
  483. data/synth.py +40 -0
  484. metadata +47 -16
  485. data/generated/google/apis/displayvideo_v1beta.rb +0 -38
  486. data/generated/google/apis/displayvideo_v1beta/classes.rb +0 -146
  487. data/generated/google/apis/displayvideo_v1beta/representations.rb +0 -72
  488. data/generated/google/apis/displayvideo_v1beta/service.rb +0 -161
  489. data/generated/google/apis/displayvideo_v1beta2.rb +0 -38
  490. data/generated/google/apis/displayvideo_v1beta2/classes.rb +0 -146
  491. data/generated/google/apis/displayvideo_v1beta2/representations.rb +0 -72
  492. data/generated/google/apis/displayvideo_v1beta2/service.rb +0 -130
  493. data/generated/google/apis/displayvideo_v1dev.rb +0 -38
  494. data/generated/google/apis/displayvideo_v1dev/classes.rb +0 -146
  495. data/generated/google/apis/displayvideo_v1dev/representations.rb +0 -72
  496. data/generated/google/apis/displayvideo_v1dev/service.rb +0 -130
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/google-apps/calendar/firstapp
26
26
  module CalendarV3
27
27
  VERSION = 'V3'
28
- REVISION = '20200917'
28
+ REVISION = '20201028'
29
29
 
30
30
  # See, edit, share, and permanently delete all the calendars you can access using Google Calendar
31
31
  AUTH_CALENDAR = 'https://www.googleapis.com/auth/calendar'
@@ -819,8 +819,8 @@ module Google
819
819
  # display the entry points. However, it should disallow modifications.
820
820
  # The possible values are:
821
821
  # - "eventHangout" for Hangouts for consumers (http://hangouts.google.com)
822
- # - "eventNamedHangout" for classic Hangouts for G Suite users (http://hangouts.
823
- # google.com)
822
+ # - "eventNamedHangout" for classic Hangouts for Google Workspace users (http://
823
+ # hangouts.google.com)
824
824
  # - "hangoutsMeet" for Google Meet (http://meet.google.com)
825
825
  # - "addOn" for 3P conference providers
826
826
  # Corresponds to the JSON property `type`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/hangouts/chat
26
26
  module ChatV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200919'
28
+ REVISION = '20201028'
29
29
  end
30
30
  end
31
31
  end
@@ -1088,6 +1088,12 @@ module Google
1088
1088
  # @return [String]
1089
1089
  attr_accessor :domain_id
1090
1090
 
1091
+ # True when the user is deleted or the user's proifle is not visible.
1092
+ # Corresponds to the JSON property `isAnonymous`
1093
+ # @return [Boolean]
1094
+ attr_accessor :is_anonymous
1095
+ alias_method :is_anonymous?, :is_anonymous
1096
+
1091
1097
  # Resource name, in the format "users/*".
1092
1098
  # Corresponds to the JSON property `name`
1093
1099
  # @return [String]
@@ -1106,6 +1112,7 @@ module Google
1106
1112
  def update!(**args)
1107
1113
  @display_name = args[:display_name] if args.key?(:display_name)
1108
1114
  @domain_id = args[:domain_id] if args.key?(:domain_id)
1115
+ @is_anonymous = args[:is_anonymous] if args.key?(:is_anonymous)
1109
1116
  @name = args[:name] if args.key?(:name)
1110
1117
  @type = args[:type] if args.key?(:type)
1111
1118
  end
@@ -540,6 +540,7 @@ module Google
540
540
  class Representation < Google::Apis::Core::JsonRepresentation
541
541
  property :display_name, as: 'displayName'
542
542
  property :domain_id, as: 'domainId'
543
+ property :is_anonymous, as: 'isAnonymous'
543
544
  property :name, as: 'name'
544
545
  property :type, as: 'type'
545
546
  end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/civic-information/
27
27
  module CivicinfoV2
28
28
  VERSION = 'V2'
29
- REVISION = '20200908'
29
+ REVISION = '20201012'
30
30
  end
31
31
  end
32
32
  end
@@ -32,13 +32,6 @@ module Google
32
32
  # @return [Google::Apis::CivicinfoV2::AdministrativeBody]
33
33
  attr_accessor :election_administration_body
34
34
 
35
- # An ID for this object. IDs may change in future requests and should not be
36
- # cached. Access to this field requires special access that can be requested
37
- # from the Request more link on the Quotas page.
38
- # Corresponds to the JSON property `id`
39
- # @return [String]
40
- attr_accessor :id
41
-
42
35
  # Describes information about a regional election administrative area.
43
36
  # Corresponds to the JSON property `local_jurisdiction`
44
37
  # @return [Google::Apis::CivicinfoV2::AdministrationRegion]
@@ -62,7 +55,6 @@ module Google
62
55
  # Update properties of this object
63
56
  def update!(**args)
64
57
  @election_administration_body = args[:election_administration_body] if args.key?(:election_administration_body)
65
- @id = args[:id] if args.key?(:id)
66
58
  @local_jurisdiction = args[:local_jurisdiction] if args.key?(:local_jurisdiction)
67
59
  @name = args[:name] if args.key?(:name)
68
60
  @sources = args[:sources] if args.key?(:sources)
@@ -300,13 +292,6 @@ module Google
300
292
  # @return [String]
301
293
  attr_accessor :electorate_specifications
302
294
 
303
- # An ID for this object. IDs may change in future requests and should not be
304
- # cached. Access to this field requires special access that can be requested
305
- # from the Request more link on the Quotas page.
306
- # Corresponds to the JSON property `id`
307
- # @return [String]
308
- attr_accessor :id
309
-
310
295
  # The levels of government of the office for this contest. There may be more
311
296
  # than one in cases where a jurisdiction effectively acts at two different
312
297
  # levels of government; for example, the mayor of the District of Columbia acts
@@ -441,7 +426,6 @@ module Google
441
426
  @candidates = args[:candidates] if args.key?(:candidates)
442
427
  @district = args[:district] if args.key?(:district)
443
428
  @electorate_specifications = args[:electorate_specifications] if args.key?(:electorate_specifications)
444
- @id = args[:id] if args.key?(:id)
445
429
  @level = args[:level] if args.key?(:level)
446
430
  @number_elected = args[:number_elected] if args.key?(:number_elected)
447
431
  @number_voting_for = args[:number_voting_for] if args.key?(:number_voting_for)
@@ -845,13 +829,6 @@ module Google
845
829
  # @return [String]
846
830
  attr_accessor :end_date
847
831
 
848
- # An ID for this object. IDs may change in future requests and should not be
849
- # cached. Access to this field requires special access that can be requested
850
- # from the Request more link on the Quotas page.
851
- # Corresponds to the JSON property `id`
852
- # @return [String]
853
- attr_accessor :id
854
-
855
832
  # Latitude of the location, in degrees north of the equator. Note this field may
856
833
  # not be available for some locations.
857
834
  # Corresponds to the JSON property `latitude`
@@ -906,7 +883,6 @@ module Google
906
883
  def update!(**args)
907
884
  @address = args[:address] if args.key?(:address)
908
885
  @end_date = args[:end_date] if args.key?(:end_date)
909
- @id = args[:id] if args.key?(:id)
910
886
  @latitude = args[:latitude] if args.key?(:latitude)
911
887
  @longitude = args[:longitude] if args.key?(:longitude)
912
888
  @name = args[:name] if args.key?(:name)
@@ -147,7 +147,6 @@ module Google
147
147
  class Representation < Google::Apis::Core::JsonRepresentation
148
148
  property :election_administration_body, as: 'electionAdministrationBody', class: Google::Apis::CivicinfoV2::AdministrativeBody, decorator: Google::Apis::CivicinfoV2::AdministrativeBody::Representation
149
149
 
150
- property :id, as: 'id'
151
150
  property :local_jurisdiction, as: 'local_jurisdiction', class: Google::Apis::CivicinfoV2::AdministrationRegion, decorator: Google::Apis::CivicinfoV2::AdministrationRegion::Representation
152
151
 
153
152
  property :name, as: 'name'
@@ -213,7 +212,6 @@ module Google
213
212
  property :district, as: 'district', class: Google::Apis::CivicinfoV2::ElectoralDistrict, decorator: Google::Apis::CivicinfoV2::ElectoralDistrict::Representation
214
213
 
215
214
  property :electorate_specifications, as: 'electorateSpecifications'
216
- property :id, as: 'id'
217
215
  collection :level, as: 'level'
218
216
  property :number_elected, :numeric_string => true, as: 'numberElected'
219
217
  property :number_voting_for, :numeric_string => true, as: 'numberVotingFor'
@@ -339,7 +337,6 @@ module Google
339
337
  property :address, as: 'address', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
340
338
 
341
339
  property :end_date, as: 'endDate'
342
- property :id, as: 'id'
343
340
  property :latitude, as: 'latitude'
344
341
  property :longitude, as: 'longitude'
345
342
  property :name, as: 'name'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200915'
28
+ REVISION = '20201012'
29
29
 
30
30
  # View and manage announcements in Google Classroom
31
31
  AUTH_CLASSROOM_ANNOUNCEMENTS = 'https://www.googleapis.com/auth/classroom.announcements'
@@ -526,14 +526,14 @@ module Google
526
526
  # @return [String]
527
527
  attr_accessor :description
528
528
 
529
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
530
- # and time zone are either specified elsewhere or are not significant. The date
531
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
532
- # date, with non-zero year, month and day values * A month and day value, with a
533
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
534
- # values * A year and month value, with a zero day, e.g. a credit card
535
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
536
- # Timestamp`.
529
+ # Represents a whole or partial calendar date, such as a birthday. The time of
530
+ # day and time zone are either specified elsewhere or are insignificant. The
531
+ # date is relative to the Gregorian Calendar. This can represent one of the
532
+ # following: * A full date, with non-zero year, month, and day values * A month
533
+ # and day value, with a zero year, such as an anniversary * A year on its own,
534
+ # with zero month and day values * A year and month value, with a zero day, such
535
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
536
+ # google.protobuf.Timestamp`.
537
537
  # Corresponds to the JSON property `dueDate`
538
538
  # @return [Google::Apis::ClassroomV1::Date]
539
539
  attr_accessor :due_date
@@ -768,31 +768,31 @@ module Google
768
768
  end
769
769
  end
770
770
 
771
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
772
- # and time zone are either specified elsewhere or are not significant. The date
773
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
774
- # date, with non-zero year, month and day values * A month and day value, with a
775
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
776
- # values * A year and month value, with a zero day, e.g. a credit card
777
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
778
- # Timestamp`.
771
+ # Represents a whole or partial calendar date, such as a birthday. The time of
772
+ # day and time zone are either specified elsewhere or are insignificant. The
773
+ # date is relative to the Gregorian Calendar. This can represent one of the
774
+ # following: * A full date, with non-zero year, month, and day values * A month
775
+ # and day value, with a zero year, such as an anniversary * A year on its own,
776
+ # with zero month and day values * A year and month value, with a zero day, such
777
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
778
+ # google.protobuf.Timestamp`.
779
779
  class Date
780
780
  include Google::Apis::Core::Hashable
781
781
 
782
- # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
783
- # specifying a year by itself or a year and month where the day is not
784
- # significant.
782
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
783
+ # specify a year by itself or a year and month where the day isn't significant.
785
784
  # Corresponds to the JSON property `day`
786
785
  # @return [Fixnum]
787
786
  attr_accessor :day
788
787
 
789
- # Month of year. Must be from 1 to 12, or 0 if specifying a year without a month
788
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
790
789
  # and day.
791
790
  # Corresponds to the JSON property `month`
792
791
  # @return [Fixnum]
793
792
  attr_accessor :month
794
793
 
795
- # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
794
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
795
+ # year.
796
796
  # Corresponds to the JSON property `year`
797
797
  # @return [Fixnum]
798
798
  attr_accessor :year
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200911'
28
+ REVISION = '20201106'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,6 +22,94 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1
24
24
 
25
+ # Specifies roles and/or permissions to analyze, to determine both the
26
+ # identities possessing them and the resources they control. If multiple values
27
+ # are specified, results will include roles or permissions matching any of them.
28
+ # The total number of roles and permissions should be equal or less than 10.
29
+ class AccessSelector
30
+ include Google::Apis::Core::Hashable
31
+
32
+ # Optional. The permissions to appear in result.
33
+ # Corresponds to the JSON property `permissions`
34
+ # @return [Array<String>]
35
+ attr_accessor :permissions
36
+
37
+ # Optional. The roles to appear in result.
38
+ # Corresponds to the JSON property `roles`
39
+ # @return [Array<String>]
40
+ attr_accessor :roles
41
+
42
+ def initialize(**args)
43
+ update!(**args)
44
+ end
45
+
46
+ # Update properties of this object
47
+ def update!(**args)
48
+ @permissions = args[:permissions] if args.key?(:permissions)
49
+ @roles = args[:roles] if args.key?(:roles)
50
+ end
51
+ end
52
+
53
+ # A request message for AssetService.AnalyzeIamPolicyLongrunning.
54
+ class AnalyzeIamPolicyLongrunningRequest
55
+ include Google::Apis::Core::Hashable
56
+
57
+ # IAM policy analysis query message.
58
+ # Corresponds to the JSON property `analysisQuery`
59
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisQuery]
60
+ attr_accessor :analysis_query
61
+
62
+ # Output configuration for export IAM policy analysis destination.
63
+ # Corresponds to the JSON property `outputConfig`
64
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisOutputConfig]
65
+ attr_accessor :output_config
66
+
67
+ def initialize(**args)
68
+ update!(**args)
69
+ end
70
+
71
+ # Update properties of this object
72
+ def update!(**args)
73
+ @analysis_query = args[:analysis_query] if args.key?(:analysis_query)
74
+ @output_config = args[:output_config] if args.key?(:output_config)
75
+ end
76
+ end
77
+
78
+ # A response message for AssetService.AnalyzeIamPolicy.
79
+ class AnalyzeIamPolicyResponse
80
+ include Google::Apis::Core::Hashable
81
+
82
+ # Represents whether all entries in the main_analysis and
83
+ # service_account_impersonation_analysis have been fully explored to answer the
84
+ # query in the request.
85
+ # Corresponds to the JSON property `fullyExplored`
86
+ # @return [Boolean]
87
+ attr_accessor :fully_explored
88
+ alias_method :fully_explored?, :fully_explored
89
+
90
+ # An analysis message to group the query and results.
91
+ # Corresponds to the JSON property `mainAnalysis`
92
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysis]
93
+ attr_accessor :main_analysis
94
+
95
+ # The service account impersonation analysis if AnalyzeIamPolicyRequest.
96
+ # analyze_service_account_impersonation is enabled.
97
+ # Corresponds to the JSON property `serviceAccountImpersonationAnalysis`
98
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysis>]
99
+ attr_accessor :service_account_impersonation_analysis
100
+
101
+ def initialize(**args)
102
+ update!(**args)
103
+ end
104
+
105
+ # Update properties of this object
106
+ def update!(**args)
107
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
108
+ @main_analysis = args[:main_analysis] if args.key?(:main_analysis)
109
+ @service_account_impersonation_analysis = args[:service_account_impersonation_analysis] if args.key?(:service_account_impersonation_analysis)
110
+ end
111
+ end
112
+
25
113
  # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
26
114
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
27
115
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
@@ -111,6 +199,11 @@ module Google
111
199
  # @return [Array<Google::Apis::CloudassetV1::GoogleCloudOrgpolicyV1Policy>]
112
200
  attr_accessor :org_policy
113
201
 
202
+ # The inventory details of a VM.
203
+ # Corresponds to the JSON property `osInventory`
204
+ # @return [Google::Apis::CloudassetV1::Inventory]
205
+ attr_accessor :os_inventory
206
+
114
207
  # A representation of a Google Cloud resource.
115
208
  # Corresponds to the JSON property `resource`
116
209
  # @return [Google::Apis::CloudassetV1::Resource]
@@ -148,6 +241,7 @@ module Google
148
241
  @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
149
242
  @name = args[:name] if args.key?(:name)
150
243
  @org_policy = args[:org_policy] if args.key?(:org_policy)
244
+ @os_inventory = args[:os_inventory] if args.key?(:os_inventory)
151
245
  @resource = args[:resource] if args.key?(:resource)
152
246
  @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
153
247
  @update_time = args[:update_time] if args.key?(:update_time)
@@ -697,6 +791,273 @@ module Google
697
791
  end
698
792
  end
699
793
 
794
+ # An IAM role or permission under analysis.
795
+ class GoogleCloudAssetV1Access
796
+ include Google::Apis::Core::Hashable
797
+
798
+ # Represents the detailed state of an entity under analysis, such as a resource,
799
+ # an identity or an access.
800
+ # Corresponds to the JSON property `analysisState`
801
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
802
+ attr_accessor :analysis_state
803
+
804
+ # The permission.
805
+ # Corresponds to the JSON property `permission`
806
+ # @return [String]
807
+ attr_accessor :permission
808
+
809
+ # The role.
810
+ # Corresponds to the JSON property `role`
811
+ # @return [String]
812
+ attr_accessor :role
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
821
+ @permission = args[:permission] if args.key?(:permission)
822
+ @role = args[:role] if args.key?(:role)
823
+ end
824
+ end
825
+
826
+ # An access control list, derived from the above IAM policy binding, which
827
+ # contains a set of resources and accesses. May include one item from each set
828
+ # to compose an access control entry. NOTICE that there could be multiple access
829
+ # control lists for one IAM policy binding. The access control lists are created
830
+ # based on resource and access combinations. For example, assume we have the
831
+ # following cases in one IAM policy binding: - Permission P1 and P2 apply to
832
+ # resource R1 and R2; - Permission P3 applies to resource R2 and R3; This will
833
+ # result in the following access control lists: - AccessControlList 1: [R1, R2],
834
+ # [P1, P2] - AccessControlList 2: [R2, R3], [P3]
835
+ class GoogleCloudAssetV1AccessControlList
836
+ include Google::Apis::Core::Hashable
837
+
838
+ # The accesses that match one of the following conditions: - The access_selector,
839
+ # if it is specified in request; - Otherwise, access specifiers reachable from
840
+ # the policy binding's role.
841
+ # Corresponds to the JSON property `accesses`
842
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Access>]
843
+ attr_accessor :accesses
844
+
845
+ # Resource edges of the graph starting from the policy attached resource to any
846
+ # descendant resources. The Edge.source_node contains the full resource name of
847
+ # a parent resource and Edge.target_node contains the full resource name of a
848
+ # child resource. This field is present only if the output_resource_edges option
849
+ # is enabled in request.
850
+ # Corresponds to the JSON property `resourceEdges`
851
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge>]
852
+ attr_accessor :resource_edges
853
+
854
+ # The resources that match one of the following conditions: - The
855
+ # resource_selector, if it is specified in request; - Otherwise, resources
856
+ # reachable from the policy attached resource.
857
+ # Corresponds to the JSON property `resources`
858
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource>]
859
+ attr_accessor :resources
860
+
861
+ def initialize(**args)
862
+ update!(**args)
863
+ end
864
+
865
+ # Update properties of this object
866
+ def update!(**args)
867
+ @accesses = args[:accesses] if args.key?(:accesses)
868
+ @resource_edges = args[:resource_edges] if args.key?(:resource_edges)
869
+ @resources = args[:resources] if args.key?(:resources)
870
+ end
871
+ end
872
+
873
+ # A BigQuery destination.
874
+ class GoogleCloudAssetV1BigQueryDestination
875
+ include Google::Apis::Core::Hashable
876
+
877
+ # Required. The BigQuery dataset in format "projects/projectId/datasets/
878
+ # datasetId", to which the analysis results should be exported. If this dataset
879
+ # does not exist, the export call will return an INVALID_ARGUMENT error.
880
+ # Corresponds to the JSON property `dataset`
881
+ # @return [String]
882
+ attr_accessor :dataset
883
+
884
+ # The partition key for BigQuery partitioned table.
885
+ # Corresponds to the JSON property `partitionKey`
886
+ # @return [String]
887
+ attr_accessor :partition_key
888
+
889
+ # Required. The prefix of the BigQuery tables to which the analysis results will
890
+ # be written. Tables will be created based on this table_prefix if not exist: *
891
+ # _analysis table will contain export operation's metadata. * _analysis_result
892
+ # will contain all the IamPolicyAnalysisResult. When [partition_key] is
893
+ # specified, both tables will be partitioned based on the [partition_key].
894
+ # Corresponds to the JSON property `tablePrefix`
895
+ # @return [String]
896
+ attr_accessor :table_prefix
897
+
898
+ # Optional. Specifies the action that occurs if the destination table or
899
+ # partition already exists. The following values are supported: * WRITE_TRUNCATE:
900
+ # If the table or partition already exists, BigQuery overwrites the entire
901
+ # table or all the partitions data. * WRITE_APPEND: If the table or partition
902
+ # already exists, BigQuery appends the data to the table or the latest partition.
903
+ # * WRITE_EMPTY: If the table already exists and contains data, an error is
904
+ # returned. The default value is WRITE_APPEND. Each action is atomic and only
905
+ # occurs if BigQuery is able to complete the job successfully. Details are at
906
+ # https://cloud.google.com/bigquery/docs/loading-data-local#
907
+ # appending_to_or_overwriting_a_table_using_a_local_file.
908
+ # Corresponds to the JSON property `writeDisposition`
909
+ # @return [String]
910
+ attr_accessor :write_disposition
911
+
912
+ def initialize(**args)
913
+ update!(**args)
914
+ end
915
+
916
+ # Update properties of this object
917
+ def update!(**args)
918
+ @dataset = args[:dataset] if args.key?(:dataset)
919
+ @partition_key = args[:partition_key] if args.key?(:partition_key)
920
+ @table_prefix = args[:table_prefix] if args.key?(:table_prefix)
921
+ @write_disposition = args[:write_disposition] if args.key?(:write_disposition)
922
+ end
923
+ end
924
+
925
+ # A directional edge.
926
+ class GoogleCloudAssetV1Edge
927
+ include Google::Apis::Core::Hashable
928
+
929
+ # The source node of the edge. For example, it could be a full resource name for
930
+ # a resource node or an email of an identity.
931
+ # Corresponds to the JSON property `sourceNode`
932
+ # @return [String]
933
+ attr_accessor :source_node
934
+
935
+ # The target node of the edge. For example, it could be a full resource name for
936
+ # a resource node or an email of an identity.
937
+ # Corresponds to the JSON property `targetNode`
938
+ # @return [String]
939
+ attr_accessor :target_node
940
+
941
+ def initialize(**args)
942
+ update!(**args)
943
+ end
944
+
945
+ # Update properties of this object
946
+ def update!(**args)
947
+ @source_node = args[:source_node] if args.key?(:source_node)
948
+ @target_node = args[:target_node] if args.key?(:target_node)
949
+ end
950
+ end
951
+
952
+ # A Cloud Storage location.
953
+ class GoogleCloudAssetV1GcsDestination
954
+ include Google::Apis::Core::Hashable
955
+
956
+ # Required. The uri of the Cloud Storage object. It's the same uri that is used
957
+ # by gsutil. For example: "gs://bucket_name/object_name". See [Quickstart: Using
958
+ # the gsutil tool] (https://cloud.google.com/storage/docs/quickstart-gsutil) for
959
+ # examples.
960
+ # Corresponds to the JSON property `uri`
961
+ # @return [String]
962
+ attr_accessor :uri
963
+
964
+ def initialize(**args)
965
+ update!(**args)
966
+ end
967
+
968
+ # Update properties of this object
969
+ def update!(**args)
970
+ @uri = args[:uri] if args.key?(:uri)
971
+ end
972
+ end
973
+
974
+ # An identity under analysis.
975
+ class GoogleCloudAssetV1Identity
976
+ include Google::Apis::Core::Hashable
977
+
978
+ # Represents the detailed state of an entity under analysis, such as a resource,
979
+ # an identity or an access.
980
+ # Corresponds to the JSON property `analysisState`
981
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
982
+ attr_accessor :analysis_state
983
+
984
+ # The identity name in any form of members appear in [IAM policy binding](https:/
985
+ # /cloud.google.com/iam/reference/rest/v1/Binding), such as: - user:foo@google.
986
+ # com - group:group1@google.com - serviceAccount:s1@prj1.iam.gserviceaccount.com
987
+ # - projectOwner:some_project_id - domain:google.com - allUsers - etc.
988
+ # Corresponds to the JSON property `name`
989
+ # @return [String]
990
+ attr_accessor :name
991
+
992
+ def initialize(**args)
993
+ update!(**args)
994
+ end
995
+
996
+ # Update properties of this object
997
+ def update!(**args)
998
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
999
+ @name = args[:name] if args.key?(:name)
1000
+ end
1001
+ end
1002
+
1003
+ # The identities and group edges.
1004
+ class GoogleCloudAssetV1IdentityList
1005
+ include Google::Apis::Core::Hashable
1006
+
1007
+ # Group identity edges of the graph starting from the binding's group members to
1008
+ # any node of the identities. The Edge.source_node contains a group, such as `
1009
+ # group:parent@google.com`. The Edge.target_node contains a member of the group,
1010
+ # such as `group:child@google.com` or `user:foo@google.com`. This field is
1011
+ # present only if the output_group_edges option is enabled in request.
1012
+ # Corresponds to the JSON property `groupEdges`
1013
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge>]
1014
+ attr_accessor :group_edges
1015
+
1016
+ # Only the identities that match one of the following conditions will be
1017
+ # presented: - The identity_selector, if it is specified in request; - Otherwise,
1018
+ # identities reachable from the policy binding's members.
1019
+ # Corresponds to the JSON property `identities`
1020
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Identity>]
1021
+ attr_accessor :identities
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @group_edges = args[:group_edges] if args.key?(:group_edges)
1030
+ @identities = args[:identities] if args.key?(:identities)
1031
+ end
1032
+ end
1033
+
1034
+ # A Google Cloud resource under analysis.
1035
+ class GoogleCloudAssetV1Resource
1036
+ include Google::Apis::Core::Hashable
1037
+
1038
+ # Represents the detailed state of an entity under analysis, such as a resource,
1039
+ # an identity or an access.
1040
+ # Corresponds to the JSON property `analysisState`
1041
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
1042
+ attr_accessor :analysis_state
1043
+
1044
+ # The [full resource name](https://cloud.google.com/asset-inventory/docs/
1045
+ # resource-name-format)
1046
+ # Corresponds to the JSON property `fullResourceName`
1047
+ # @return [String]
1048
+ attr_accessor :full_resource_name
1049
+
1050
+ def initialize(**args)
1051
+ update!(**args)
1052
+ end
1053
+
1054
+ # Update properties of this object
1055
+ def update!(**args)
1056
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
1057
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
1058
+ end
1059
+ end
1060
+
700
1061
  # Used in `policy_type` to specify how `boolean_policy` will behave at this
701
1062
  # resource.
702
1063
  class GoogleCloudOrgpolicyV1BooleanPolicy
@@ -1464,6 +1825,206 @@ module Google
1464
1825
  end
1465
1826
  end
1466
1827
 
1828
+ # An analysis message to group the query and results.
1829
+ class IamPolicyAnalysis
1830
+ include Google::Apis::Core::Hashable
1831
+
1832
+ # IAM policy analysis query message.
1833
+ # Corresponds to the JSON property `analysisQuery`
1834
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisQuery]
1835
+ attr_accessor :analysis_query
1836
+
1837
+ # A list of IamPolicyAnalysisResult that matches the analysis query, or empty if
1838
+ # no result is found.
1839
+ # Corresponds to the JSON property `analysisResults`
1840
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysisResult>]
1841
+ attr_accessor :analysis_results
1842
+
1843
+ # Represents whether all entries in the analysis_results have been fully
1844
+ # explored to answer the query.
1845
+ # Corresponds to the JSON property `fullyExplored`
1846
+ # @return [Boolean]
1847
+ attr_accessor :fully_explored
1848
+ alias_method :fully_explored?, :fully_explored
1849
+
1850
+ # A list of non-critical errors happened during the query handling.
1851
+ # Corresponds to the JSON property `nonCriticalErrors`
1852
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysisState>]
1853
+ attr_accessor :non_critical_errors
1854
+
1855
+ def initialize(**args)
1856
+ update!(**args)
1857
+ end
1858
+
1859
+ # Update properties of this object
1860
+ def update!(**args)
1861
+ @analysis_query = args[:analysis_query] if args.key?(:analysis_query)
1862
+ @analysis_results = args[:analysis_results] if args.key?(:analysis_results)
1863
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
1864
+ @non_critical_errors = args[:non_critical_errors] if args.key?(:non_critical_errors)
1865
+ end
1866
+ end
1867
+
1868
+ # Output configuration for export IAM policy analysis destination.
1869
+ class IamPolicyAnalysisOutputConfig
1870
+ include Google::Apis::Core::Hashable
1871
+
1872
+ # A BigQuery destination.
1873
+ # Corresponds to the JSON property `bigqueryDestination`
1874
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1BigQueryDestination]
1875
+ attr_accessor :bigquery_destination
1876
+
1877
+ # A Cloud Storage location.
1878
+ # Corresponds to the JSON property `gcsDestination`
1879
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1GcsDestination]
1880
+ attr_accessor :gcs_destination
1881
+
1882
+ def initialize(**args)
1883
+ update!(**args)
1884
+ end
1885
+
1886
+ # Update properties of this object
1887
+ def update!(**args)
1888
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
1889
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
1890
+ end
1891
+ end
1892
+
1893
+ # IAM policy analysis query message.
1894
+ class IamPolicyAnalysisQuery
1895
+ include Google::Apis::Core::Hashable
1896
+
1897
+ # Specifies roles and/or permissions to analyze, to determine both the
1898
+ # identities possessing them and the resources they control. If multiple values
1899
+ # are specified, results will include roles or permissions matching any of them.
1900
+ # The total number of roles and permissions should be equal or less than 10.
1901
+ # Corresponds to the JSON property `accessSelector`
1902
+ # @return [Google::Apis::CloudassetV1::AccessSelector]
1903
+ attr_accessor :access_selector
1904
+
1905
+ # Specifies an identity for which to determine resource access, based on roles
1906
+ # assigned either directly to them or to the groups they belong to, directly or
1907
+ # indirectly.
1908
+ # Corresponds to the JSON property `identitySelector`
1909
+ # @return [Google::Apis::CloudassetV1::IdentitySelector]
1910
+ attr_accessor :identity_selector
1911
+
1912
+ # Contains query options.
1913
+ # Corresponds to the JSON property `options`
1914
+ # @return [Google::Apis::CloudassetV1::Options]
1915
+ attr_accessor :options
1916
+
1917
+ # Specifies the resource to analyze for access policies, which may be set
1918
+ # directly on the resource, or on ancestors such as organizations, folders or
1919
+ # projects.
1920
+ # Corresponds to the JSON property `resourceSelector`
1921
+ # @return [Google::Apis::CloudassetV1::ResourceSelector]
1922
+ attr_accessor :resource_selector
1923
+
1924
+ # Required. The relative name of the root asset. Only resources and IAM policies
1925
+ # within the scope will be analyzed. This can only be an organization number (
1926
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
1927
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
1928
+ # projects/12345"). To know how to get organization id, visit [here ](https://
1929
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
1930
+ # retrieving_your_organization_id). To know how to get folder or project id,
1931
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
1932
+ # folders#viewing_or_listing_folders_and_projects).
1933
+ # Corresponds to the JSON property `scope`
1934
+ # @return [String]
1935
+ attr_accessor :scope
1936
+
1937
+ def initialize(**args)
1938
+ update!(**args)
1939
+ end
1940
+
1941
+ # Update properties of this object
1942
+ def update!(**args)
1943
+ @access_selector = args[:access_selector] if args.key?(:access_selector)
1944
+ @identity_selector = args[:identity_selector] if args.key?(:identity_selector)
1945
+ @options = args[:options] if args.key?(:options)
1946
+ @resource_selector = args[:resource_selector] if args.key?(:resource_selector)
1947
+ @scope = args[:scope] if args.key?(:scope)
1948
+ end
1949
+ end
1950
+
1951
+ # IAM Policy analysis result, consisting of one IAM policy binding and derived
1952
+ # access control lists.
1953
+ class IamPolicyAnalysisResult
1954
+ include Google::Apis::Core::Hashable
1955
+
1956
+ # The access control lists derived from the iam_binding that match or
1957
+ # potentially match resource and access selectors specified in the request.
1958
+ # Corresponds to the JSON property `accessControlLists`
1959
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1AccessControlList>]
1960
+ attr_accessor :access_control_lists
1961
+
1962
+ # The [full resource name](https://cloud.google.com/asset-inventory/docs/
1963
+ # resource-name-format) of the resource to which the iam_binding policy attaches.
1964
+ # Corresponds to the JSON property `attachedResourceFullName`
1965
+ # @return [String]
1966
+ attr_accessor :attached_resource_full_name
1967
+
1968
+ # Represents whether all analyses on the iam_binding have successfully finished.
1969
+ # Corresponds to the JSON property `fullyExplored`
1970
+ # @return [Boolean]
1971
+ attr_accessor :fully_explored
1972
+ alias_method :fully_explored?, :fully_explored
1973
+
1974
+ # Associates `members` with a `role`.
1975
+ # Corresponds to the JSON property `iamBinding`
1976
+ # @return [Google::Apis::CloudassetV1::Binding]
1977
+ attr_accessor :iam_binding
1978
+
1979
+ # The identities and group edges.
1980
+ # Corresponds to the JSON property `identityList`
1981
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1IdentityList]
1982
+ attr_accessor :identity_list
1983
+
1984
+ def initialize(**args)
1985
+ update!(**args)
1986
+ end
1987
+
1988
+ # Update properties of this object
1989
+ def update!(**args)
1990
+ @access_control_lists = args[:access_control_lists] if args.key?(:access_control_lists)
1991
+ @attached_resource_full_name = args[:attached_resource_full_name] if args.key?(:attached_resource_full_name)
1992
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
1993
+ @iam_binding = args[:iam_binding] if args.key?(:iam_binding)
1994
+ @identity_list = args[:identity_list] if args.key?(:identity_list)
1995
+ end
1996
+ end
1997
+
1998
+ # Represents the detailed state of an entity under analysis, such as a resource,
1999
+ # an identity or an access.
2000
+ class IamPolicyAnalysisState
2001
+ include Google::Apis::Core::Hashable
2002
+
2003
+ # The human-readable description of the cause of failure.
2004
+ # Corresponds to the JSON property `cause`
2005
+ # @return [String]
2006
+ attr_accessor :cause
2007
+
2008
+ # The Google standard error code that best describes the state. For example: -
2009
+ # OK means the analysis on this entity has been successfully finished; -
2010
+ # PERMISSION_DENIED means an access denied error is encountered; -
2011
+ # DEADLINE_EXCEEDED means the analysis on this entity hasn't been started in
2012
+ # time;
2013
+ # Corresponds to the JSON property `code`
2014
+ # @return [String]
2015
+ attr_accessor :code
2016
+
2017
+ def initialize(**args)
2018
+ update!(**args)
2019
+ end
2020
+
2021
+ # Update properties of this object
2022
+ def update!(**args)
2023
+ @cause = args[:cause] if args.key?(:cause)
2024
+ @code = args[:code] if args.key?(:code)
2025
+ end
2026
+ end
2027
+
1467
2028
  # A result of IAM Policy search, containing information of an IAM policy.
1468
2029
  class IamPolicySearchResult
1469
2030
  include Google::Apis::Core::Hashable
@@ -1537,6 +2098,114 @@ module Google
1537
2098
  end
1538
2099
  end
1539
2100
 
2101
+ # Specifies an identity for which to determine resource access, based on roles
2102
+ # assigned either directly to them or to the groups they belong to, directly or
2103
+ # indirectly.
2104
+ class IdentitySelector
2105
+ include Google::Apis::Core::Hashable
2106
+
2107
+ # Required. The identity appear in the form of members in [IAM policy binding](
2108
+ # https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of
2109
+ # supported forms are: "user:mike@example.com", "group:admins@example.com", "
2110
+ # domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com".
2111
+ # Notice that wildcard characters (such as * and ?) are not supported. You must
2112
+ # give a specific identity.
2113
+ # Corresponds to the JSON property `identity`
2114
+ # @return [String]
2115
+ attr_accessor :identity
2116
+
2117
+ def initialize(**args)
2118
+ update!(**args)
2119
+ end
2120
+
2121
+ # Update properties of this object
2122
+ def update!(**args)
2123
+ @identity = args[:identity] if args.key?(:identity)
2124
+ end
2125
+ end
2126
+
2127
+ # The inventory details of a VM.
2128
+ class Inventory
2129
+ include Google::Apis::Core::Hashable
2130
+
2131
+ # Inventory items related to the VM keyed by an opaque unique identifier for
2132
+ # each inventory item. The identifier is unique to each distinct and addressable
2133
+ # inventory item and will change, when there is a new package version.
2134
+ # Corresponds to the JSON property `items`
2135
+ # @return [Hash<String,Google::Apis::CloudassetV1::Item>]
2136
+ attr_accessor :items
2137
+
2138
+ # Operating system information for the VM.
2139
+ # Corresponds to the JSON property `osInfo`
2140
+ # @return [Google::Apis::CloudassetV1::OsInfo]
2141
+ attr_accessor :os_info
2142
+
2143
+ def initialize(**args)
2144
+ update!(**args)
2145
+ end
2146
+
2147
+ # Update properties of this object
2148
+ def update!(**args)
2149
+ @items = args[:items] if args.key?(:items)
2150
+ @os_info = args[:os_info] if args.key?(:os_info)
2151
+ end
2152
+ end
2153
+
2154
+ # A single piece of inventory on a VM.
2155
+ class Item
2156
+ include Google::Apis::Core::Hashable
2157
+
2158
+ # Software package information of the operating system.
2159
+ # Corresponds to the JSON property `availablePackage`
2160
+ # @return [Google::Apis::CloudassetV1::SoftwarePackage]
2161
+ attr_accessor :available_package
2162
+
2163
+ # When this inventory item was first detected.
2164
+ # Corresponds to the JSON property `createTime`
2165
+ # @return [String]
2166
+ attr_accessor :create_time
2167
+
2168
+ # Identifier for this item, unique across items for this VM.
2169
+ # Corresponds to the JSON property `id`
2170
+ # @return [String]
2171
+ attr_accessor :id
2172
+
2173
+ # Software package information of the operating system.
2174
+ # Corresponds to the JSON property `installedPackage`
2175
+ # @return [Google::Apis::CloudassetV1::SoftwarePackage]
2176
+ attr_accessor :installed_package
2177
+
2178
+ # The origin of this inventory item.
2179
+ # Corresponds to the JSON property `originType`
2180
+ # @return [String]
2181
+ attr_accessor :origin_type
2182
+
2183
+ # The specific type of inventory, correlating to its specific details.
2184
+ # Corresponds to the JSON property `type`
2185
+ # @return [String]
2186
+ attr_accessor :type
2187
+
2188
+ # When this inventory item was last modified.
2189
+ # Corresponds to the JSON property `updateTime`
2190
+ # @return [String]
2191
+ attr_accessor :update_time
2192
+
2193
+ def initialize(**args)
2194
+ update!(**args)
2195
+ end
2196
+
2197
+ # Update properties of this object
2198
+ def update!(**args)
2199
+ @available_package = args[:available_package] if args.key?(:available_package)
2200
+ @create_time = args[:create_time] if args.key?(:create_time)
2201
+ @id = args[:id] if args.key?(:id)
2202
+ @installed_package = args[:installed_package] if args.key?(:installed_package)
2203
+ @origin_type = args[:origin_type] if args.key?(:origin_type)
2204
+ @type = args[:type] if args.key?(:type)
2205
+ @update_time = args[:update_time] if args.key?(:update_time)
2206
+ end
2207
+ end
2208
+
1540
2209
  #
1541
2210
  class ListFeedsResponse
1542
2211
  include Google::Apis::Core::Hashable
@@ -1618,6 +2287,160 @@ module Google
1618
2287
  end
1619
2288
  end
1620
2289
 
2290
+ # Contains query options.
2291
+ class Options
2292
+ include Google::Apis::Core::Hashable
2293
+
2294
+ # Optional. If true, the response will include access analysis from identities
2295
+ # to resources via service account impersonation. This is a very expensive
2296
+ # operation, because many derived queries will be executed. We highly recommend
2297
+ # you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if
2298
+ # the request analyzes for which resources user A has permission P, and there's
2299
+ # an IAM policy states user A has iam.serviceAccounts.getAccessToken permission
2300
+ # to a service account SA, and there's another IAM policy states service account
2301
+ # SA has permission P to a GCP folder F, then user A potentially has access to
2302
+ # the GCP folder F. And those advanced analysis results will be included in
2303
+ # AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another
2304
+ # example, if the request analyzes for who has permission P to a GCP folder F,
2305
+ # and there's an IAM policy states user A has iam.serviceAccounts.actAs
2306
+ # permission to a service account SA, and there's another IAM policy states
2307
+ # service account SA has permission P to the GCP folder F, then user A
2308
+ # potentially has access to the GCP folder F. And those advanced analysis
2309
+ # results will be included in AnalyzeIamPolicyResponse.
2310
+ # service_account_impersonation_analysis. Default is false.
2311
+ # Corresponds to the JSON property `analyzeServiceAccountImpersonation`
2312
+ # @return [Boolean]
2313
+ attr_accessor :analyze_service_account_impersonation
2314
+ alias_method :analyze_service_account_impersonation?, :analyze_service_account_impersonation
2315
+
2316
+ # Optional. If true, the identities section of the result will expand any Google
2317
+ # groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.
2318
+ # identity_selector is specified, the identity in the result will be determined
2319
+ # by the selector, and this flag is not allowed to set. Default is false.
2320
+ # Corresponds to the JSON property `expandGroups`
2321
+ # @return [Boolean]
2322
+ attr_accessor :expand_groups
2323
+ alias_method :expand_groups?, :expand_groups
2324
+
2325
+ # Optional. If true and IamPolicyAnalysisQuery.resource_selector is not
2326
+ # specified, the resource section of the result will expand any resource
2327
+ # attached to an IAM policy to include resources lower in the resource hierarchy.
2328
+ # For example, if the request analyzes for which resources user A has
2329
+ # permission P, and the results include an IAM policy with P on a GCP folder,
2330
+ # the results will also include resources in that folder with permission P. If
2331
+ # true and IamPolicyAnalysisQuery.resource_selector is specified, the resource
2332
+ # section of the result will expand the specified resource to include resources
2333
+ # lower in the resource hierarchy. Only project or lower resources are supported.
2334
+ # Folder and organization resource cannot be used together with this option.
2335
+ # For example, if the request analyzes for which users have permission P on a
2336
+ # GCP project with this option enabled, the results will include all users who
2337
+ # have permission P on that project or any lower resource. Default is false.
2338
+ # Corresponds to the JSON property `expandResources`
2339
+ # @return [Boolean]
2340
+ attr_accessor :expand_resources
2341
+ alias_method :expand_resources?, :expand_resources
2342
+
2343
+ # Optional. If true, the access section of result will expand any roles
2344
+ # appearing in IAM policy bindings to include their permissions. If
2345
+ # IamPolicyAnalysisQuery.access_selector is specified, the access section of the
2346
+ # result will be determined by the selector, and this flag is not allowed to set.
2347
+ # Default is false.
2348
+ # Corresponds to the JSON property `expandRoles`
2349
+ # @return [Boolean]
2350
+ attr_accessor :expand_roles
2351
+ alias_method :expand_roles?, :expand_roles
2352
+
2353
+ # Optional. If true, the result will output group identity edges, starting from
2354
+ # the binding's group members, to any expanded identities. Default is false.
2355
+ # Corresponds to the JSON property `outputGroupEdges`
2356
+ # @return [Boolean]
2357
+ attr_accessor :output_group_edges
2358
+ alias_method :output_group_edges?, :output_group_edges
2359
+
2360
+ # Optional. If true, the result will output resource edges, starting from the
2361
+ # policy attached resource, to any expanded resources. Default is false.
2362
+ # Corresponds to the JSON property `outputResourceEdges`
2363
+ # @return [Boolean]
2364
+ attr_accessor :output_resource_edges
2365
+ alias_method :output_resource_edges?, :output_resource_edges
2366
+
2367
+ def initialize(**args)
2368
+ update!(**args)
2369
+ end
2370
+
2371
+ # Update properties of this object
2372
+ def update!(**args)
2373
+ @analyze_service_account_impersonation = args[:analyze_service_account_impersonation] if args.key?(:analyze_service_account_impersonation)
2374
+ @expand_groups = args[:expand_groups] if args.key?(:expand_groups)
2375
+ @expand_resources = args[:expand_resources] if args.key?(:expand_resources)
2376
+ @expand_roles = args[:expand_roles] if args.key?(:expand_roles)
2377
+ @output_group_edges = args[:output_group_edges] if args.key?(:output_group_edges)
2378
+ @output_resource_edges = args[:output_resource_edges] if args.key?(:output_resource_edges)
2379
+ end
2380
+ end
2381
+
2382
+ # Operating system information for the VM.
2383
+ class OsInfo
2384
+ include Google::Apis::Core::Hashable
2385
+
2386
+ # The system architecture of the operating system.
2387
+ # Corresponds to the JSON property `architecture`
2388
+ # @return [String]
2389
+ attr_accessor :architecture
2390
+
2391
+ # The VM hostname.
2392
+ # Corresponds to the JSON property `hostname`
2393
+ # @return [String]
2394
+ attr_accessor :hostname
2395
+
2396
+ # The kernel release of the operating system.
2397
+ # Corresponds to the JSON property `kernelRelease`
2398
+ # @return [String]
2399
+ attr_accessor :kernel_release
2400
+
2401
+ # The kernel version of the operating system.
2402
+ # Corresponds to the JSON property `kernelVersion`
2403
+ # @return [String]
2404
+ attr_accessor :kernel_version
2405
+
2406
+ # The operating system long name. For example 'Debian GNU/Linux 9' or 'Microsoft
2407
+ # Window Server 2019 Datacenter'.
2408
+ # Corresponds to the JSON property `longName`
2409
+ # @return [String]
2410
+ attr_accessor :long_name
2411
+
2412
+ # The current version of the OS Config agent running on the VM.
2413
+ # Corresponds to the JSON property `osconfigAgentVersion`
2414
+ # @return [String]
2415
+ attr_accessor :osconfig_agent_version
2416
+
2417
+ # The operating system short name. For example, 'windows' or 'debian'.
2418
+ # Corresponds to the JSON property `shortName`
2419
+ # @return [String]
2420
+ attr_accessor :short_name
2421
+
2422
+ # The version of the operating system.
2423
+ # Corresponds to the JSON property `version`
2424
+ # @return [String]
2425
+ attr_accessor :version
2426
+
2427
+ def initialize(**args)
2428
+ update!(**args)
2429
+ end
2430
+
2431
+ # Update properties of this object
2432
+ def update!(**args)
2433
+ @architecture = args[:architecture] if args.key?(:architecture)
2434
+ @hostname = args[:hostname] if args.key?(:hostname)
2435
+ @kernel_release = args[:kernel_release] if args.key?(:kernel_release)
2436
+ @kernel_version = args[:kernel_version] if args.key?(:kernel_version)
2437
+ @long_name = args[:long_name] if args.key?(:long_name)
2438
+ @osconfig_agent_version = args[:osconfig_agent_version] if args.key?(:osconfig_agent_version)
2439
+ @short_name = args[:short_name] if args.key?(:short_name)
2440
+ @version = args[:version] if args.key?(:version)
2441
+ end
2442
+ end
2443
+
1621
2444
  # Output configuration for export assets destination.
1622
2445
  class OutputConfig
1623
2446
  include Google::Apis::Core::Hashable
@@ -1968,6 +2791,30 @@ module Google
1968
2791
  end
1969
2792
  end
1970
2793
 
2794
+ # Specifies the resource to analyze for access policies, which may be set
2795
+ # directly on the resource, or on ancestors such as organizations, folders or
2796
+ # projects.
2797
+ class ResourceSelector
2798
+ include Google::Apis::Core::Hashable
2799
+
2800
+ # Required. The [full resource name] (https://cloud.google.com/asset-inventory/
2801
+ # docs/resource-name-format) of a resource of [supported resource types](https://
2802
+ # cloud.google.com/asset-inventory/docs/supported-asset-types#
2803
+ # analyzable_asset_types).
2804
+ # Corresponds to the JSON property `fullResourceName`
2805
+ # @return [String]
2806
+ attr_accessor :full_resource_name
2807
+
2808
+ def initialize(**args)
2809
+ update!(**args)
2810
+ end
2811
+
2812
+ # Update properties of this object
2813
+ def update!(**args)
2814
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
2815
+ end
2816
+ end
2817
+
1971
2818
  # Search all IAM policies response.
1972
2819
  class SearchAllIamPoliciesResponse
1973
2820
  include Google::Apis::Core::Hashable
@@ -2024,6 +2871,77 @@ module Google
2024
2871
  end
2025
2872
  end
2026
2873
 
2874
+ # Software package information of the operating system.
2875
+ class SoftwarePackage
2876
+ include Google::Apis::Core::Hashable
2877
+
2878
+ # Information related to the a standard versioned package. This includes package
2879
+ # info for APT, Yum, Zypper, and Googet package managers.
2880
+ # Corresponds to the JSON property `aptPackage`
2881
+ # @return [Google::Apis::CloudassetV1::VersionedPackage]
2882
+ attr_accessor :apt_package
2883
+
2884
+ # Information related to the a standard versioned package. This includes package
2885
+ # info for APT, Yum, Zypper, and Googet package managers.
2886
+ # Corresponds to the JSON property `cosPackage`
2887
+ # @return [Google::Apis::CloudassetV1::VersionedPackage]
2888
+ attr_accessor :cos_package
2889
+
2890
+ # Information related to the a standard versioned package. This includes package
2891
+ # info for APT, Yum, Zypper, and Googet package managers.
2892
+ # Corresponds to the JSON property `googetPackage`
2893
+ # @return [Google::Apis::CloudassetV1::VersionedPackage]
2894
+ attr_accessor :googet_package
2895
+
2896
+ # Information related to a Quick Fix Engineering package. Fields are taken from
2897
+ # Windows QuickFixEngineering Interface and match the source names: https://docs.
2898
+ # microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
2899
+ # Corresponds to the JSON property `qfePackage`
2900
+ # @return [Google::Apis::CloudassetV1::WindowsQuickFixEngineeringPackage]
2901
+ attr_accessor :qfe_package
2902
+
2903
+ # Details related to a Windows Update package. Field data and names are taken
2904
+ # from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/
2905
+ # windows/win32/api/_wua/ Descriptive fields like title, and description are
2906
+ # localized based on the locale of the VM being updated.
2907
+ # Corresponds to the JSON property `wuaPackage`
2908
+ # @return [Google::Apis::CloudassetV1::WindowsUpdatePackage]
2909
+ attr_accessor :wua_package
2910
+
2911
+ # Information related to the a standard versioned package. This includes package
2912
+ # info for APT, Yum, Zypper, and Googet package managers.
2913
+ # Corresponds to the JSON property `yumPackage`
2914
+ # @return [Google::Apis::CloudassetV1::VersionedPackage]
2915
+ attr_accessor :yum_package
2916
+
2917
+ # Information related to the a standard versioned package. This includes package
2918
+ # info for APT, Yum, Zypper, and Googet package managers.
2919
+ # Corresponds to the JSON property `zypperPackage`
2920
+ # @return [Google::Apis::CloudassetV1::VersionedPackage]
2921
+ attr_accessor :zypper_package
2922
+
2923
+ # Details related to a Zypper Patch.
2924
+ # Corresponds to the JSON property `zypperPatch`
2925
+ # @return [Google::Apis::CloudassetV1::ZypperPatch]
2926
+ attr_accessor :zypper_patch
2927
+
2928
+ def initialize(**args)
2929
+ update!(**args)
2930
+ end
2931
+
2932
+ # Update properties of this object
2933
+ def update!(**args)
2934
+ @apt_package = args[:apt_package] if args.key?(:apt_package)
2935
+ @cos_package = args[:cos_package] if args.key?(:cos_package)
2936
+ @googet_package = args[:googet_package] if args.key?(:googet_package)
2937
+ @qfe_package = args[:qfe_package] if args.key?(:qfe_package)
2938
+ @wua_package = args[:wua_package] if args.key?(:wua_package)
2939
+ @yum_package = args[:yum_package] if args.key?(:yum_package)
2940
+ @zypper_package = args[:zypper_package] if args.key?(:zypper_package)
2941
+ @zypper_patch = args[:zypper_patch] if args.key?(:zypper_patch)
2942
+ end
2943
+ end
2944
+
2027
2945
  # The `Status` type defines a logical error model that is suitable for different
2028
2946
  # programming environments, including REST APIs and RPC APIs. It is used by [
2029
2947
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2173,6 +3091,210 @@ module Google
2173
3091
  @update_mask = args[:update_mask] if args.key?(:update_mask)
2174
3092
  end
2175
3093
  end
3094
+
3095
+ # Information related to the a standard versioned package. This includes package
3096
+ # info for APT, Yum, Zypper, and Googet package managers.
3097
+ class VersionedPackage
3098
+ include Google::Apis::Core::Hashable
3099
+
3100
+ # The system architecture this package is intended for.
3101
+ # Corresponds to the JSON property `architecture`
3102
+ # @return [String]
3103
+ attr_accessor :architecture
3104
+
3105
+ # The name of the package.
3106
+ # Corresponds to the JSON property `packageName`
3107
+ # @return [String]
3108
+ attr_accessor :package_name
3109
+
3110
+ # The version of the package.
3111
+ # Corresponds to the JSON property `version`
3112
+ # @return [String]
3113
+ attr_accessor :version
3114
+
3115
+ def initialize(**args)
3116
+ update!(**args)
3117
+ end
3118
+
3119
+ # Update properties of this object
3120
+ def update!(**args)
3121
+ @architecture = args[:architecture] if args.key?(:architecture)
3122
+ @package_name = args[:package_name] if args.key?(:package_name)
3123
+ @version = args[:version] if args.key?(:version)
3124
+ end
3125
+ end
3126
+
3127
+ # Information related to a Quick Fix Engineering package. Fields are taken from
3128
+ # Windows QuickFixEngineering Interface and match the source names: https://docs.
3129
+ # microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
3130
+ class WindowsQuickFixEngineeringPackage
3131
+ include Google::Apis::Core::Hashable
3132
+
3133
+ # A short textual description of the QFE update.
3134
+ # Corresponds to the JSON property `caption`
3135
+ # @return [String]
3136
+ attr_accessor :caption
3137
+
3138
+ # A textual description of the QFE update.
3139
+ # Corresponds to the JSON property `description`
3140
+ # @return [String]
3141
+ attr_accessor :description
3142
+
3143
+ # Unique identifier associated with a particular QFE update.
3144
+ # Corresponds to the JSON property `hotFixId`
3145
+ # @return [String]
3146
+ attr_accessor :hot_fix_id
3147
+
3148
+ # Date that the QFE update was installed. Mapped from installed_on field.
3149
+ # Corresponds to the JSON property `installTime`
3150
+ # @return [String]
3151
+ attr_accessor :install_time
3152
+
3153
+ def initialize(**args)
3154
+ update!(**args)
3155
+ end
3156
+
3157
+ # Update properties of this object
3158
+ def update!(**args)
3159
+ @caption = args[:caption] if args.key?(:caption)
3160
+ @description = args[:description] if args.key?(:description)
3161
+ @hot_fix_id = args[:hot_fix_id] if args.key?(:hot_fix_id)
3162
+ @install_time = args[:install_time] if args.key?(:install_time)
3163
+ end
3164
+ end
3165
+
3166
+ # Categories specified by the Windows Update.
3167
+ class WindowsUpdateCategory
3168
+ include Google::Apis::Core::Hashable
3169
+
3170
+ # The identifier of the windows update category.
3171
+ # Corresponds to the JSON property `id`
3172
+ # @return [String]
3173
+ attr_accessor :id
3174
+
3175
+ # The name of the windows update category.
3176
+ # Corresponds to the JSON property `name`
3177
+ # @return [String]
3178
+ attr_accessor :name
3179
+
3180
+ def initialize(**args)
3181
+ update!(**args)
3182
+ end
3183
+
3184
+ # Update properties of this object
3185
+ def update!(**args)
3186
+ @id = args[:id] if args.key?(:id)
3187
+ @name = args[:name] if args.key?(:name)
3188
+ end
3189
+ end
3190
+
3191
+ # Details related to a Windows Update package. Field data and names are taken
3192
+ # from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/
3193
+ # windows/win32/api/_wua/ Descriptive fields like title, and description are
3194
+ # localized based on the locale of the VM being updated.
3195
+ class WindowsUpdatePackage
3196
+ include Google::Apis::Core::Hashable
3197
+
3198
+ # The categories that are associated with this update package.
3199
+ # Corresponds to the JSON property `categories`
3200
+ # @return [Array<Google::Apis::CloudassetV1::WindowsUpdateCategory>]
3201
+ attr_accessor :categories
3202
+
3203
+ # The localized description of the update package.
3204
+ # Corresponds to the JSON property `description`
3205
+ # @return [String]
3206
+ attr_accessor :description
3207
+
3208
+ # A collection of Microsoft Knowledge Base article IDs that are associated with
3209
+ # the update package.
3210
+ # Corresponds to the JSON property `kbArticleIds`
3211
+ # @return [Array<String>]
3212
+ attr_accessor :kb_article_ids
3213
+
3214
+ # The last published date of the update, in (UTC) date and time.
3215
+ # Corresponds to the JSON property `lastDeploymentChangeTime`
3216
+ # @return [String]
3217
+ attr_accessor :last_deployment_change_time
3218
+
3219
+ # A collection of URLs that provide more information about the update package.
3220
+ # Corresponds to the JSON property `moreInfoUrls`
3221
+ # @return [Array<String>]
3222
+ attr_accessor :more_info_urls
3223
+
3224
+ # The revision number of this update package.
3225
+ # Corresponds to the JSON property `revisionNumber`
3226
+ # @return [Fixnum]
3227
+ attr_accessor :revision_number
3228
+
3229
+ # A hyperlink to the language-specific support information for the update.
3230
+ # Corresponds to the JSON property `supportUrl`
3231
+ # @return [String]
3232
+ attr_accessor :support_url
3233
+
3234
+ # The localized title of the update package.
3235
+ # Corresponds to the JSON property `title`
3236
+ # @return [String]
3237
+ attr_accessor :title
3238
+
3239
+ # Gets the identifier of an update package. Stays the same across revisions.
3240
+ # Corresponds to the JSON property `updateId`
3241
+ # @return [String]
3242
+ attr_accessor :update_id
3243
+
3244
+ def initialize(**args)
3245
+ update!(**args)
3246
+ end
3247
+
3248
+ # Update properties of this object
3249
+ def update!(**args)
3250
+ @categories = args[:categories] if args.key?(:categories)
3251
+ @description = args[:description] if args.key?(:description)
3252
+ @kb_article_ids = args[:kb_article_ids] if args.key?(:kb_article_ids)
3253
+ @last_deployment_change_time = args[:last_deployment_change_time] if args.key?(:last_deployment_change_time)
3254
+ @more_info_urls = args[:more_info_urls] if args.key?(:more_info_urls)
3255
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
3256
+ @support_url = args[:support_url] if args.key?(:support_url)
3257
+ @title = args[:title] if args.key?(:title)
3258
+ @update_id = args[:update_id] if args.key?(:update_id)
3259
+ end
3260
+ end
3261
+
3262
+ # Details related to a Zypper Patch.
3263
+ class ZypperPatch
3264
+ include Google::Apis::Core::Hashable
3265
+
3266
+ # The category of the patch.
3267
+ # Corresponds to the JSON property `category`
3268
+ # @return [String]
3269
+ attr_accessor :category
3270
+
3271
+ # The name of the patch.
3272
+ # Corresponds to the JSON property `patchName`
3273
+ # @return [String]
3274
+ attr_accessor :patch_name
3275
+
3276
+ # The severity specified for this patch
3277
+ # Corresponds to the JSON property `severity`
3278
+ # @return [String]
3279
+ attr_accessor :severity
3280
+
3281
+ # Any summary information provided about this patch.
3282
+ # Corresponds to the JSON property `summary`
3283
+ # @return [String]
3284
+ attr_accessor :summary
3285
+
3286
+ def initialize(**args)
3287
+ update!(**args)
3288
+ end
3289
+
3290
+ # Update properties of this object
3291
+ def update!(**args)
3292
+ @category = args[:category] if args.key?(:category)
3293
+ @patch_name = args[:patch_name] if args.key?(:patch_name)
3294
+ @severity = args[:severity] if args.key?(:severity)
3295
+ @summary = args[:summary] if args.key?(:summary)
3296
+ end
3297
+ end
2176
3298
  end
2177
3299
  end
2178
3300
  end