google-api-client 0.46.2 → 0.51.0

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