google-api-client 0.28.7 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. checksums.yaml +4 -4
  2. data/.kokoro/build.bat +9 -6
  3. data/.kokoro/build.sh +2 -32
  4. data/.kokoro/continuous/common.cfg +6 -1
  5. data/.kokoro/continuous/windows.cfg +17 -1
  6. data/.kokoro/osx.sh +2 -33
  7. data/.kokoro/presubmit/common.cfg +6 -1
  8. data/.kokoro/presubmit/windows.cfg +17 -1
  9. data/.kokoro/trampoline.bat +10 -0
  10. data/.kokoro/trampoline.sh +3 -23
  11. data/CHANGELOG.md +138 -0
  12. data/Rakefile +31 -0
  13. data/generated/google/apis/accessapproval_v1beta1.rb +34 -0
  14. data/generated/google/apis/accessapproval_v1beta1/classes.rb +306 -0
  15. data/generated/google/apis/accessapproval_v1beta1/representations.rb +159 -0
  16. data/generated/google/apis/accessapproval_v1beta1/service.rb +728 -0
  17. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +96 -131
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +2 -42
  20. data/generated/google/apis/admin_reports_v1.rb +1 -1
  21. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  22. data/generated/google/apis/alertcenter_v1beta1/classes.rb +98 -0
  23. data/generated/google/apis/alertcenter_v1beta1/representations.rb +25 -0
  24. data/generated/google/apis/alertcenter_v1beta1/service.rb +2 -1
  25. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  26. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +40 -0
  27. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +6 -0
  28. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  29. data/generated/google/apis/androidenterprise_v1/classes.rb +0 -26
  30. data/generated/google/apis/androidenterprise_v1/representations.rb +0 -14
  31. data/generated/google/apis/androidenterprise_v1/service.rb +0 -36
  32. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  33. data/generated/google/apis/androidmanagement_v1/classes.rb +188 -0
  34. data/generated/google/apis/androidmanagement_v1/representations.rb +82 -0
  35. data/generated/google/apis/androidmanagement_v1/service.rb +170 -0
  36. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  37. data/generated/google/apis/androidpublisher_v2/service.rb +6 -12
  38. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  39. data/generated/google/apis/androidpublisher_v3/service.rb +6 -12
  40. data/generated/google/apis/appengine_v1.rb +1 -1
  41. data/generated/google/apis/appengine_v1/service.rb +7 -1
  42. data/generated/google/apis/appengine_v1beta.rb +1 -1
  43. data/generated/google/apis/appengine_v1beta/classes.rb +2 -1
  44. data/generated/google/apis/appengine_v1beta/service.rb +7 -1
  45. data/generated/google/apis/appsactivity_v1.rb +1 -1
  46. data/generated/google/apis/appsactivity_v1/service.rb +4 -3
  47. data/generated/google/apis/bigquery_v2.rb +1 -1
  48. data/generated/google/apis/bigquery_v2/classes.rb +28 -4
  49. data/generated/google/apis/bigquery_v2/representations.rb +13 -0
  50. data/generated/google/apis/bigtableadmin_v1.rb +2 -2
  51. data/generated/google/apis/bigtableadmin_v1/service.rb +1 -1
  52. data/generated/google/apis/bigtableadmin_v2.rb +2 -2
  53. data/generated/google/apis/bigtableadmin_v2/classes.rb +10 -10
  54. data/generated/google/apis/bigtableadmin_v2/service.rb +111 -2
  55. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  56. data/generated/google/apis/calendar_v3.rb +1 -1
  57. data/generated/google/apis/calendar_v3/service.rb +16 -16
  58. data/generated/google/apis/classroom_v1.rb +7 -1
  59. data/generated/google/apis/classroom_v1/classes.rb +77 -0
  60. data/generated/google/apis/classroom_v1/representations.rb +32 -0
  61. data/generated/google/apis/classroom_v1/service.rb +224 -0
  62. data/generated/google/apis/cloudasset_v1.rb +1 -1
  63. data/generated/google/apis/cloudasset_v1/classes.rb +15 -2
  64. data/generated/google/apis/cloudasset_v1/representations.rb +1 -0
  65. data/generated/google/apis/cloudasset_v1/service.rb +3 -2
  66. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudasset_v1beta1/classes.rb +13 -0
  68. data/generated/google/apis/cloudasset_v1beta1/representations.rb +1 -0
  69. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  70. data/generated/google/apis/cloudbilling_v1/service.rb +2 -2
  71. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  72. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1 -1
  73. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  74. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +19 -16
  75. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +6 -5
  76. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  77. data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -10
  78. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  79. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -4
  80. data/generated/google/apis/cloudiot_v1.rb +1 -1
  81. data/generated/google/apis/cloudkms_v1.rb +1 -1
  82. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  83. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  84. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +6 -5
  85. data/generated/google/apis/cloudresourcemanager_v1/service.rb +30 -21
  86. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  87. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +37 -26
  88. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  89. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  90. data/generated/google/apis/cloudscheduler_v1.rb +34 -0
  91. data/generated/google/apis/cloudscheduler_v1/classes.rb +994 -0
  92. data/generated/google/apis/cloudscheduler_v1/representations.rb +297 -0
  93. data/generated/google/apis/cloudscheduler_v1/service.rb +448 -0
  94. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  95. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -2
  96. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  97. data/generated/google/apis/cloudsearch_v1/classes.rb +25 -11
  98. data/generated/google/apis/cloudsearch_v1/service.rb +36 -32
  99. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  100. data/generated/google/apis/cloudtasks_v2/service.rb +13 -13
  101. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  102. data/generated/google/apis/cloudtasks_v2beta2/service.rb +13 -13
  103. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  104. data/generated/google/apis/cloudtasks_v2beta3/service.rb +13 -13
  105. data/generated/google/apis/commentanalyzer_v1alpha1.rb +39 -0
  106. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +484 -0
  107. data/generated/google/apis/commentanalyzer_v1alpha1/representations.rb +210 -0
  108. data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +124 -0
  109. data/generated/google/apis/compute_alpha.rb +1 -1
  110. data/generated/google/apis/compute_alpha/classes.rb +328 -25
  111. data/generated/google/apis/compute_alpha/representations.rb +134 -0
  112. data/generated/google/apis/compute_alpha/service.rb +465 -0
  113. data/generated/google/apis/compute_beta.rb +1 -1
  114. data/generated/google/apis/compute_beta/classes.rb +86 -20
  115. data/generated/google/apis/compute_beta/representations.rb +7 -0
  116. data/generated/google/apis/compute_v1.rb +1 -1
  117. data/generated/google/apis/compute_v1/classes.rb +994 -103
  118. data/generated/google/apis/compute_v1/representations.rb +346 -0
  119. data/generated/google/apis/compute_v1/service.rb +533 -0
  120. data/generated/google/apis/container_v1.rb +1 -1
  121. data/generated/google/apis/container_v1/classes.rb +167 -21
  122. data/generated/google/apis/container_v1/representations.rb +66 -0
  123. data/generated/google/apis/container_v1/service.rb +85 -36
  124. data/generated/google/apis/container_v1beta1.rb +1 -1
  125. data/generated/google/apis/container_v1beta1/classes.rb +86 -21
  126. data/generated/google/apis/container_v1beta1/representations.rb +32 -0
  127. data/generated/google/apis/container_v1beta1/service.rb +38 -38
  128. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  129. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  130. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +95 -6
  131. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +25 -0
  132. data/generated/google/apis/content_v2.rb +1 -1
  133. data/generated/google/apis/content_v2/classes.rb +5 -5
  134. data/generated/google/apis/content_v2/service.rb +6 -6
  135. data/generated/google/apis/content_v2_1.rb +1 -1
  136. data/generated/google/apis/content_v2_1/classes.rb +18 -4
  137. data/generated/google/apis/content_v2_1/representations.rb +2 -0
  138. data/generated/google/apis/content_v2_1/service.rb +6 -6
  139. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  140. data/generated/google/apis/dataflow_v1b3/classes.rb +56 -1
  141. data/generated/google/apis/dataflow_v1b3/representations.rb +39 -0
  142. data/generated/google/apis/dataflow_v1b3/service.rb +251 -0
  143. data/generated/google/apis/datafusion_v1beta1.rb +43 -0
  144. data/generated/google/apis/datafusion_v1beta1/classes.rb +1304 -0
  145. data/generated/google/apis/datafusion_v1beta1/representations.rb +469 -0
  146. data/generated/google/apis/datafusion_v1beta1/service.rb +657 -0
  147. data/generated/google/apis/dataproc_v1.rb +1 -1
  148. data/generated/google/apis/dataproc_v1/classes.rb +5 -5
  149. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  150. data/generated/google/apis/dataproc_v1beta2/classes.rb +37 -24
  151. data/generated/google/apis/datastore_v1.rb +1 -1
  152. data/generated/google/apis/datastore_v1/classes.rb +20 -16
  153. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  154. data/generated/google/apis/datastore_v1beta1/classes.rb +10 -10
  155. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  156. data/generated/google/apis/datastore_v1beta3/classes.rb +10 -6
  157. data/generated/google/apis/dialogflow_v2.rb +1 -1
  158. data/generated/google/apis/dialogflow_v2/classes.rb +236 -0
  159. data/generated/google/apis/dialogflow_v2/representations.rb +99 -0
  160. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  161. data/generated/google/apis/dialogflow_v2beta1/classes.rb +64 -2
  162. data/generated/google/apis/dialogflow_v2beta1/representations.rb +31 -0
  163. data/generated/google/apis/dlp_v2.rb +1 -1
  164. data/generated/google/apis/dlp_v2/classes.rb +19 -2
  165. data/generated/google/apis/dns_v1.rb +1 -1
  166. data/generated/google/apis/dns_v1/classes.rb +202 -93
  167. data/generated/google/apis/dns_v1/service.rb +110 -15
  168. data/generated/google/apis/dns_v1beta2.rb +1 -1
  169. data/generated/google/apis/dns_v1beta2/classes.rb +262 -122
  170. data/generated/google/apis/dns_v1beta2/service.rb +141 -21
  171. data/generated/google/apis/dns_v2beta1.rb +1 -1
  172. data/generated/google/apis/dns_v2beta1/classes.rb +202 -93
  173. data/generated/google/apis/dns_v2beta1/service.rb +110 -15
  174. data/generated/google/apis/docs_v1.rb +1 -1
  175. data/generated/google/apis/docs_v1/classes.rb +10 -0
  176. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  177. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +6 -4
  178. data/generated/google/apis/drive_v2.rb +1 -1
  179. data/generated/google/apis/drive_v2/classes.rb +601 -69
  180. data/generated/google/apis/drive_v2/representations.rb +152 -0
  181. data/generated/google/apis/drive_v2/service.rb +452 -96
  182. data/generated/google/apis/drive_v3.rb +1 -1
  183. data/generated/google/apis/drive_v3/classes.rb +591 -64
  184. data/generated/google/apis/drive_v3/representations.rb +151 -0
  185. data/generated/google/apis/drive_v3/service.rb +407 -77
  186. data/generated/google/apis/driveactivity_v2.rb +1 -1
  187. data/generated/google/apis/driveactivity_v2/classes.rb +149 -17
  188. data/generated/google/apis/driveactivity_v2/representations.rb +69 -0
  189. data/generated/google/apis/file_v1.rb +1 -1
  190. data/generated/google/apis/file_v1/classes.rb +399 -8
  191. data/generated/google/apis/file_v1/representations.rb +121 -0
  192. data/generated/google/apis/file_v1beta1.rb +1 -1
  193. data/generated/google/apis/file_v1beta1/classes.rb +399 -8
  194. data/generated/google/apis/file_v1beta1/representations.rb +121 -0
  195. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  196. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +28 -4
  197. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +4 -0
  198. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  199. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +13 -13
  200. data/generated/google/apis/firebaserules_v1.rb +1 -1
  201. data/generated/google/apis/firebaserules_v1/classes.rb +10 -2
  202. data/generated/google/apis/firestore_v1.rb +1 -1
  203. data/generated/google/apis/firestore_v1/classes.rb +15 -15
  204. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  205. data/generated/google/apis/firestore_v1beta1/classes.rb +15 -15
  206. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  207. data/generated/google/apis/firestore_v1beta2/classes.rb +10 -10
  208. data/generated/google/apis/fitness_v1.rb +1 -1
  209. data/generated/google/apis/fitness_v1/classes.rb +1 -1
  210. data/generated/google/apis/games_v1.rb +2 -2
  211. data/generated/google/apis/gmail_v1.rb +1 -1
  212. data/generated/google/apis/gmail_v1/classes.rb +29 -0
  213. data/generated/google/apis/gmail_v1/representations.rb +13 -0
  214. data/generated/google/apis/gmail_v1/service.rb +76 -0
  215. data/generated/google/apis/healthcare_v1beta1.rb +34 -0
  216. data/generated/google/apis/healthcare_v1beta1/classes.rb +2462 -0
  217. data/generated/google/apis/healthcare_v1beta1/representations.rb +1042 -0
  218. data/generated/google/apis/healthcare_v1beta1/service.rb +3403 -0
  219. data/generated/google/apis/iap_v1.rb +1 -1
  220. data/generated/google/apis/iap_v1beta1.rb +1 -1
  221. data/generated/google/apis/jobs_v2.rb +1 -1
  222. data/generated/google/apis/jobs_v2/classes.rb +9 -8
  223. data/generated/google/apis/jobs_v3.rb +1 -1
  224. data/generated/google/apis/jobs_v3/classes.rb +13 -7
  225. data/generated/google/apis/jobs_v3/service.rb +1 -2
  226. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  227. data/generated/google/apis/jobs_v3p1beta1/classes.rb +13 -7
  228. data/generated/google/apis/jobs_v3p1beta1/service.rb +1 -2
  229. data/generated/google/apis/language_v1.rb +1 -1
  230. data/generated/google/apis/language_v1/classes.rb +3 -2
  231. data/generated/google/apis/language_v1beta2.rb +1 -1
  232. data/generated/google/apis/language_v1beta2/classes.rb +3 -2
  233. data/generated/google/apis/ml_v1.rb +1 -1
  234. data/generated/google/apis/ml_v1/classes.rb +64 -16
  235. data/generated/google/apis/ml_v1/representations.rb +2 -0
  236. data/generated/google/apis/ml_v1/service.rb +5 -5
  237. data/generated/google/apis/monitoring_v3.rb +1 -1
  238. data/generated/google/apis/monitoring_v3/classes.rb +0 -10
  239. data/generated/google/apis/monitoring_v3/representations.rb +0 -1
  240. data/generated/google/apis/oauth2_v1.rb +1 -1
  241. data/generated/google/apis/oauth2_v2.rb +1 -1
  242. data/generated/google/apis/oslogin_v1.rb +3 -2
  243. data/generated/google/apis/oslogin_v1/service.rb +2 -1
  244. data/generated/google/apis/oslogin_v1alpha.rb +3 -2
  245. data/generated/google/apis/oslogin_v1alpha/service.rb +2 -1
  246. data/generated/google/apis/oslogin_v1beta.rb +3 -2
  247. data/generated/google/apis/oslogin_v1beta/service.rb +2 -1
  248. data/generated/google/apis/people_v1.rb +1 -4
  249. data/generated/google/apis/people_v1/classes.rb +19 -11
  250. data/generated/google/apis/people_v1/representations.rb +1 -0
  251. data/generated/google/apis/people_v1/service.rb +1 -0
  252. data/generated/google/apis/plus_domains_v1.rb +2 -5
  253. data/generated/google/apis/plus_domains_v1/service.rb +8 -90
  254. data/generated/google/apis/plus_v1.rb +2 -2
  255. data/generated/google/apis/plus_v1/service.rb +7 -7
  256. data/generated/google/apis/poly_v1.rb +1 -1
  257. data/generated/google/apis/poly_v1/classes.rb +3 -2
  258. data/generated/google/apis/poly_v1/service.rb +11 -8
  259. data/generated/google/apis/pubsub_v1.rb +1 -1
  260. data/generated/google/apis/pubsub_v1/classes.rb +2 -1
  261. data/generated/google/apis/pubsub_v1/service.rb +8 -8
  262. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  263. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  264. data/generated/google/apis/remotebuildexecution_v1/classes.rb +7 -6
  265. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  266. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +5 -4
  267. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  268. data/generated/google/apis/remotebuildexecution_v2/classes.rb +5 -4
  269. data/generated/google/apis/run_v1alpha1.rb +1 -1
  270. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  271. data/generated/google/apis/securitycenter_v1.rb +35 -0
  272. data/generated/google/apis/securitycenter_v1/classes.rb +1627 -0
  273. data/generated/google/apis/securitycenter_v1/representations.rb +569 -0
  274. data/generated/google/apis/securitycenter_v1/service.rb +1110 -0
  275. data/generated/google/apis/securitycenter_v1beta1.rb +35 -0
  276. data/generated/google/apis/securitycenter_v1beta1/classes.rb +1514 -0
  277. data/generated/google/apis/securitycenter_v1beta1/representations.rb +548 -0
  278. data/generated/google/apis/securitycenter_v1beta1/service.rb +1035 -0
  279. data/generated/google/apis/servicebroker_v1.rb +1 -1
  280. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  281. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  282. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  283. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +324 -13
  284. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +174 -0
  285. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +5 -0
  286. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  287. data/generated/google/apis/servicecontrol_v1/classes.rb +2 -1
  288. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  289. data/generated/google/apis/servicemanagement_v1/classes.rb +101 -20
  290. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  291. data/generated/google/apis/servicenetworking_v1/classes.rb +16 -13
  292. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  293. data/generated/google/apis/servicenetworking_v1beta/classes.rb +16 -13
  294. data/generated/google/apis/serviceusage_v1.rb +1 -1
  295. data/generated/google/apis/serviceusage_v1/classes.rb +110 -13
  296. data/generated/google/apis/serviceusage_v1/representations.rb +43 -0
  297. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  298. data/generated/google/apis/serviceusage_v1beta1/classes.rb +110 -13
  299. data/generated/google/apis/serviceusage_v1beta1/representations.rb +43 -0
  300. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  301. data/generated/google/apis/sourcerepo_v1/classes.rb +182 -0
  302. data/generated/google/apis/sourcerepo_v1/representations.rb +45 -0
  303. data/generated/google/apis/sourcerepo_v1/service.rb +35 -0
  304. data/generated/google/apis/spanner_v1.rb +1 -1
  305. data/generated/google/apis/spanner_v1/classes.rb +20 -19
  306. data/generated/google/apis/spanner_v1/service.rb +1 -1
  307. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  308. data/generated/google/apis/sqladmin_v1beta4/classes.rb +9 -2
  309. data/generated/google/apis/sqladmin_v1beta4/representations.rb +1 -0
  310. data/generated/google/apis/storage_v1.rb +1 -1
  311. data/generated/google/apis/storage_v1/classes.rb +144 -0
  312. data/generated/google/apis/storage_v1/representations.rb +56 -0
  313. data/generated/google/apis/storage_v1/service.rb +441 -46
  314. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  315. data/generated/google/apis/storagetransfer_v1/classes.rb +3 -3
  316. data/generated/google/apis/testing_v1.rb +1 -1
  317. data/generated/google/apis/testing_v1/classes.rb +6 -0
  318. data/generated/google/apis/testing_v1/representations.rb +1 -0
  319. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  320. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  321. data/generated/google/apis/toolresults_v1beta3/classes.rb +240 -0
  322. data/generated/google/apis/toolresults_v1beta3/representations.rb +43 -0
  323. data/generated/google/apis/toolresults_v1beta3/service.rb +116 -0
  324. data/generated/google/apis/tpu_v1.rb +1 -1
  325. data/generated/google/apis/tpu_v1/classes.rb +10 -4
  326. data/generated/google/apis/tpu_v1/representations.rb +1 -0
  327. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  328. data/generated/google/apis/tpu_v1alpha1/classes.rb +10 -4
  329. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  330. data/generated/google/apis/vault_v1.rb +1 -1
  331. data/generated/google/apis/vault_v1/classes.rb +37 -18
  332. data/generated/google/apis/vault_v1/representations.rb +3 -0
  333. data/generated/google/apis/vision_v1.rb +1 -1
  334. data/generated/google/apis/vision_v1/classes.rb +84 -47
  335. data/generated/google/apis/vision_v1/service.rb +68 -4
  336. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  337. data/generated/google/apis/vision_v1p1beta1/classes.rb +84 -47
  338. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  339. data/generated/google/apis/vision_v1p2beta1/classes.rb +84 -47
  340. data/generated/google/apis/webmasters_v3.rb +1 -1
  341. data/generated/google/apis/webmasters_v3/classes.rb +0 -166
  342. data/generated/google/apis/webmasters_v3/representations.rb +0 -93
  343. data/generated/google/apis/webmasters_v3/service.rb +0 -171
  344. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  345. data/generated/google/apis/youtube_partner_v1/classes.rb +15 -34
  346. data/generated/google/apis/youtube_partner_v1/representations.rb +4 -17
  347. data/generated/google/apis/youtube_v3.rb +1 -1
  348. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  349. data/generated/google/apis/youtubereporting_v1/classes.rb +2 -2
  350. data/google-api-client.gemspec +1 -1
  351. data/lib/google/apis/version.rb +1 -1
  352. metadata +31 -9
  353. data/.kokoro/common.cfg +0 -22
  354. data/.kokoro/windows.sh +0 -32
  355. data/generated/google/apis/logging_v2beta1.rb +0 -46
  356. data/generated/google/apis/logging_v2beta1/classes.rb +0 -1764
  357. data/generated/google/apis/logging_v2beta1/representations.rb +0 -537
  358. data/generated/google/apis/logging_v2beta1/service.rb +0 -570
@@ -0,0 +1,35 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/securitycenter_v1beta1/service.rb'
16
+ require 'google/apis/securitycenter_v1beta1/classes.rb'
17
+ require 'google/apis/securitycenter_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Security Command Center API
22
+ #
23
+ # Cloud Security Command Center API provides access to temporal views of assets
24
+ # and findings within an organization.
25
+ #
26
+ # @see https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview
27
+ module SecuritycenterV1beta1
28
+ VERSION = 'V1beta1'
29
+ REVISION = '20190419'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,1514 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module SecuritycenterV1beta1
24
+
25
+ # Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
26
+ # Platform (GCP) resource.
27
+ # The Asset is a Cloud SCC resource that captures information about a single
28
+ # GCP resource. All modifications to an Asset are only within the context of
29
+ # Cloud SCC and don't affect the referenced GCP resource.
30
+ class Asset
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # The time at which the asset was created in Cloud SCC.
34
+ # Corresponds to the JSON property `createTime`
35
+ # @return [String]
36
+ attr_accessor :create_time
37
+
38
+ # The relative resource name of this asset. See:
39
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
40
+ # Example:
41
+ # "organizations/123/assets/456".
42
+ # Corresponds to the JSON property `name`
43
+ # @return [String]
44
+ attr_accessor :name
45
+
46
+ # Resource managed properties. These properties are managed and defined by
47
+ # the GCP resource and cannot be modified by the user.
48
+ # Corresponds to the JSON property `resourceProperties`
49
+ # @return [Hash<String,Object>]
50
+ attr_accessor :resource_properties
51
+
52
+ # Cloud SCC managed properties. These properties are managed by Cloud SCC and
53
+ # cannot be modified by the user.
54
+ # Corresponds to the JSON property `securityCenterProperties`
55
+ # @return [Google::Apis::SecuritycenterV1beta1::SecurityCenterProperties]
56
+ attr_accessor :security_center_properties
57
+
58
+ # User specified security marks that are attached to the parent Cloud Security
59
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
60
+ # SCC organization -- they can be modified and viewed by all users who have
61
+ # proper permissions on the organization.
62
+ # Corresponds to the JSON property `securityMarks`
63
+ # @return [Google::Apis::SecuritycenterV1beta1::SecurityMarks]
64
+ attr_accessor :security_marks
65
+
66
+ # The time at which the asset was last updated, added, or deleted in Cloud
67
+ # SCC.
68
+ # Corresponds to the JSON property `updateTime`
69
+ # @return [String]
70
+ attr_accessor :update_time
71
+
72
+ def initialize(**args)
73
+ update!(**args)
74
+ end
75
+
76
+ # Update properties of this object
77
+ def update!(**args)
78
+ @create_time = args[:create_time] if args.key?(:create_time)
79
+ @name = args[:name] if args.key?(:name)
80
+ @resource_properties = args[:resource_properties] if args.key?(:resource_properties)
81
+ @security_center_properties = args[:security_center_properties] if args.key?(:security_center_properties)
82
+ @security_marks = args[:security_marks] if args.key?(:security_marks)
83
+ @update_time = args[:update_time] if args.key?(:update_time)
84
+ end
85
+ end
86
+
87
+ # The configuration used for Asset Discovery runs.
88
+ class AssetDiscoveryConfig
89
+ include Google::Apis::Core::Hashable
90
+
91
+ # The mode to use for filtering asset discovery.
92
+ # Corresponds to the JSON property `inclusionMode`
93
+ # @return [String]
94
+ attr_accessor :inclusion_mode
95
+
96
+ # The project ids to use for filtering asset discovery.
97
+ # Corresponds to the JSON property `projectIds`
98
+ # @return [Array<String>]
99
+ attr_accessor :project_ids
100
+
101
+ def initialize(**args)
102
+ update!(**args)
103
+ end
104
+
105
+ # Update properties of this object
106
+ def update!(**args)
107
+ @inclusion_mode = args[:inclusion_mode] if args.key?(:inclusion_mode)
108
+ @project_ids = args[:project_ids] if args.key?(:project_ids)
109
+ end
110
+ end
111
+
112
+ # Specifies the audit configuration for a service.
113
+ # The configuration determines which permission types are logged, and what
114
+ # identities, if any, are exempted from logging.
115
+ # An AuditConfig must have one or more AuditLogConfigs.
116
+ # If there are AuditConfigs for both `allServices` and a specific service,
117
+ # the union of the two AuditConfigs is used for that service: the log_types
118
+ # specified in each AuditConfig are enabled, and the exempted_members in each
119
+ # AuditLogConfig are exempted.
120
+ # Example Policy with multiple AuditConfigs:
121
+ # `
122
+ # "audit_configs": [
123
+ # `
124
+ # "service": "allServices"
125
+ # "audit_log_configs": [
126
+ # `
127
+ # "log_type": "DATA_READ",
128
+ # "exempted_members": [
129
+ # "user:foo@gmail.com"
130
+ # ]
131
+ # `,
132
+ # `
133
+ # "log_type": "DATA_WRITE",
134
+ # `,
135
+ # `
136
+ # "log_type": "ADMIN_READ",
137
+ # `
138
+ # ]
139
+ # `,
140
+ # `
141
+ # "service": "fooservice.googleapis.com"
142
+ # "audit_log_configs": [
143
+ # `
144
+ # "log_type": "DATA_READ",
145
+ # `,
146
+ # `
147
+ # "log_type": "DATA_WRITE",
148
+ # "exempted_members": [
149
+ # "user:bar@gmail.com"
150
+ # ]
151
+ # `
152
+ # ]
153
+ # `
154
+ # ]
155
+ # `
156
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
157
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
158
+ # bar@gmail.com from DATA_WRITE logging.
159
+ class AuditConfig
160
+ include Google::Apis::Core::Hashable
161
+
162
+ # The configuration for logging of each type of permission.
163
+ # Corresponds to the JSON property `auditLogConfigs`
164
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::AuditLogConfig>]
165
+ attr_accessor :audit_log_configs
166
+
167
+ # Specifies a service that will be enabled for audit logging.
168
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
169
+ # `allServices` is a special value that covers all services.
170
+ # Corresponds to the JSON property `service`
171
+ # @return [String]
172
+ attr_accessor :service
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
181
+ @service = args[:service] if args.key?(:service)
182
+ end
183
+ end
184
+
185
+ # Provides the configuration for logging a type of permissions.
186
+ # Example:
187
+ # `
188
+ # "audit_log_configs": [
189
+ # `
190
+ # "log_type": "DATA_READ",
191
+ # "exempted_members": [
192
+ # "user:foo@gmail.com"
193
+ # ]
194
+ # `,
195
+ # `
196
+ # "log_type": "DATA_WRITE",
197
+ # `
198
+ # ]
199
+ # `
200
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
201
+ # foo@gmail.com from DATA_READ logging.
202
+ class AuditLogConfig
203
+ include Google::Apis::Core::Hashable
204
+
205
+ # Specifies the identities that do not cause logging for this type of
206
+ # permission.
207
+ # Follows the same format of Binding.members.
208
+ # Corresponds to the JSON property `exemptedMembers`
209
+ # @return [Array<String>]
210
+ attr_accessor :exempted_members
211
+
212
+ # The log type that this config enables.
213
+ # Corresponds to the JSON property `logType`
214
+ # @return [String]
215
+ attr_accessor :log_type
216
+
217
+ def initialize(**args)
218
+ update!(**args)
219
+ end
220
+
221
+ # Update properties of this object
222
+ def update!(**args)
223
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
224
+ @log_type = args[:log_type] if args.key?(:log_type)
225
+ end
226
+ end
227
+
228
+ # Associates `members` with a `role`.
229
+ class Binding
230
+ include Google::Apis::Core::Hashable
231
+
232
+ # Represents an expression text. Example:
233
+ # title: "User account presence"
234
+ # description: "Determines whether the request has a user account"
235
+ # expression: "size(request.user) > 0"
236
+ # Corresponds to the JSON property `condition`
237
+ # @return [Google::Apis::SecuritycenterV1beta1::Expr]
238
+ attr_accessor :condition
239
+
240
+ # Specifies the identities requesting access for a Cloud Platform resource.
241
+ # `members` can have the following values:
242
+ # * `allUsers`: A special identifier that represents anyone who is
243
+ # on the internet; with or without a Google account.
244
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
245
+ # who is authenticated with a Google account or a service account.
246
+ # * `user:`emailid``: An email address that represents a specific Google
247
+ # account. For example, `alice@gmail.com` .
248
+ # * `serviceAccount:`emailid``: An email address that represents a service
249
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
250
+ # * `group:`emailid``: An email address that represents a Google group.
251
+ # For example, `admins@example.com`.
252
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
253
+ # users of that domain. For example, `google.com` or `example.com`.
254
+ # Corresponds to the JSON property `members`
255
+ # @return [Array<String>]
256
+ attr_accessor :members
257
+
258
+ # Role that is assigned to `members`.
259
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
260
+ # Corresponds to the JSON property `role`
261
+ # @return [String]
262
+ attr_accessor :role
263
+
264
+ def initialize(**args)
265
+ update!(**args)
266
+ end
267
+
268
+ # Update properties of this object
269
+ def update!(**args)
270
+ @condition = args[:condition] if args.key?(:condition)
271
+ @members = args[:members] if args.key?(:members)
272
+ @role = args[:role] if args.key?(:role)
273
+ end
274
+ end
275
+
276
+ # The request message for Operations.CancelOperation.
277
+ class CancelOperationRequest
278
+ include Google::Apis::Core::Hashable
279
+
280
+ def initialize(**args)
281
+ update!(**args)
282
+ end
283
+
284
+ # Update properties of this object
285
+ def update!(**args)
286
+ end
287
+ end
288
+
289
+ # A generic empty message that you can re-use to avoid defining duplicated
290
+ # empty messages in your APIs. A typical example is to use it as the request
291
+ # or the response type of an API method. For instance:
292
+ # service Foo `
293
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
294
+ # `
295
+ # The JSON representation for `Empty` is empty JSON object ````.
296
+ class Empty
297
+ include Google::Apis::Core::Hashable
298
+
299
+ def initialize(**args)
300
+ update!(**args)
301
+ end
302
+
303
+ # Update properties of this object
304
+ def update!(**args)
305
+ end
306
+ end
307
+
308
+ # Represents an expression text. Example:
309
+ # title: "User account presence"
310
+ # description: "Determines whether the request has a user account"
311
+ # expression: "size(request.user) > 0"
312
+ class Expr
313
+ include Google::Apis::Core::Hashable
314
+
315
+ # An optional description of the expression. This is a longer text which
316
+ # describes the expression, e.g. when hovered over it in a UI.
317
+ # Corresponds to the JSON property `description`
318
+ # @return [String]
319
+ attr_accessor :description
320
+
321
+ # Textual representation of an expression in
322
+ # Common Expression Language syntax.
323
+ # The application context of the containing message determines which
324
+ # well-known feature set of CEL is supported.
325
+ # Corresponds to the JSON property `expression`
326
+ # @return [String]
327
+ attr_accessor :expression
328
+
329
+ # An optional string indicating the location of the expression for error
330
+ # reporting, e.g. a file name and a position in the file.
331
+ # Corresponds to the JSON property `location`
332
+ # @return [String]
333
+ attr_accessor :location
334
+
335
+ # An optional title for the expression, i.e. a short string describing
336
+ # its purpose. This can be used e.g. in UIs which allow to enter the
337
+ # expression.
338
+ # Corresponds to the JSON property `title`
339
+ # @return [String]
340
+ attr_accessor :title
341
+
342
+ def initialize(**args)
343
+ update!(**args)
344
+ end
345
+
346
+ # Update properties of this object
347
+ def update!(**args)
348
+ @description = args[:description] if args.key?(:description)
349
+ @expression = args[:expression] if args.key?(:expression)
350
+ @location = args[:location] if args.key?(:location)
351
+ @title = args[:title] if args.key?(:title)
352
+ end
353
+ end
354
+
355
+ # Cloud Security Command Center (Cloud SCC) finding.
356
+ # A finding is a record of assessment data (security, risk, health or privacy)
357
+ # ingested into Cloud SCC for presentation, notification, analysis,
358
+ # policy testing, and enforcement. For example, an XSS vulnerability in an
359
+ # App Engine application is a finding.
360
+ class Finding
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # The additional taxonomy group within findings from a given source.
364
+ # This field is immutable after creation time.
365
+ # Example: "XSS_FLASH_INJECTION"
366
+ # Corresponds to the JSON property `category`
367
+ # @return [String]
368
+ attr_accessor :category
369
+
370
+ # The time at which the finding was created in Cloud SCC.
371
+ # Corresponds to the JSON property `createTime`
372
+ # @return [String]
373
+ attr_accessor :create_time
374
+
375
+ # The time at which the event took place. For example, if the finding
376
+ # represents an open firewall it would capture the time the open firewall was
377
+ # detected.
378
+ # Corresponds to the JSON property `eventTime`
379
+ # @return [String]
380
+ attr_accessor :event_time
381
+
382
+ # The URI that, if available, points to a web page outside of Cloud SCC
383
+ # where additional information about the finding can be found. This field is
384
+ # guaranteed to be either empty or a well formed URL.
385
+ # Corresponds to the JSON property `externalUri`
386
+ # @return [String]
387
+ attr_accessor :external_uri
388
+
389
+ # The relative resource name of this finding. See:
390
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
391
+ # Example:
392
+ # "organizations/123/sources/456/findings/789"
393
+ # Corresponds to the JSON property `name`
394
+ # @return [String]
395
+ attr_accessor :name
396
+
397
+ # The relative resource name of the source the finding belongs to. See:
398
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
399
+ # This field is immutable after creation time.
400
+ # For example:
401
+ # "organizations/123/sources/456"
402
+ # Corresponds to the JSON property `parent`
403
+ # @return [String]
404
+ attr_accessor :parent
405
+
406
+ # The full resource name of the Google Cloud Platform (GCP) resource this
407
+ # finding is for. See:
408
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
409
+ # This field is immutable after creation time.
410
+ # Corresponds to the JSON property `resourceName`
411
+ # @return [String]
412
+ attr_accessor :resource_name
413
+
414
+ # User specified security marks that are attached to the parent Cloud Security
415
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
416
+ # SCC organization -- they can be modified and viewed by all users who have
417
+ # proper permissions on the organization.
418
+ # Corresponds to the JSON property `securityMarks`
419
+ # @return [Google::Apis::SecuritycenterV1beta1::SecurityMarks]
420
+ attr_accessor :security_marks
421
+
422
+ # Source specific properties. These properties are managed by the source
423
+ # that writes the finding. The key names in the source_properties map must be
424
+ # between 1 and 255 characters, and must start with a letter and contain
425
+ # alphanumeric characters or underscores only.
426
+ # Corresponds to the JSON property `sourceProperties`
427
+ # @return [Hash<String,Object>]
428
+ attr_accessor :source_properties
429
+
430
+ # The state of the finding.
431
+ # Corresponds to the JSON property `state`
432
+ # @return [String]
433
+ attr_accessor :state
434
+
435
+ def initialize(**args)
436
+ update!(**args)
437
+ end
438
+
439
+ # Update properties of this object
440
+ def update!(**args)
441
+ @category = args[:category] if args.key?(:category)
442
+ @create_time = args[:create_time] if args.key?(:create_time)
443
+ @event_time = args[:event_time] if args.key?(:event_time)
444
+ @external_uri = args[:external_uri] if args.key?(:external_uri)
445
+ @name = args[:name] if args.key?(:name)
446
+ @parent = args[:parent] if args.key?(:parent)
447
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
448
+ @security_marks = args[:security_marks] if args.key?(:security_marks)
449
+ @source_properties = args[:source_properties] if args.key?(:source_properties)
450
+ @state = args[:state] if args.key?(:state)
451
+ end
452
+ end
453
+
454
+ # Request message for `GetIamPolicy` method.
455
+ class GetIamPolicyRequest
456
+ include Google::Apis::Core::Hashable
457
+
458
+ def initialize(**args)
459
+ update!(**args)
460
+ end
461
+
462
+ # Update properties of this object
463
+ def update!(**args)
464
+ end
465
+ end
466
+
467
+ # Response of asset discovery run
468
+ class GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse
469
+ include Google::Apis::Core::Hashable
470
+
471
+ # The duration between asset discovery run start and end
472
+ # Corresponds to the JSON property `duration`
473
+ # @return [String]
474
+ attr_accessor :duration
475
+
476
+ # The state of an asset discovery run.
477
+ # Corresponds to the JSON property `state`
478
+ # @return [String]
479
+ attr_accessor :state
480
+
481
+ def initialize(**args)
482
+ update!(**args)
483
+ end
484
+
485
+ # Update properties of this object
486
+ def update!(**args)
487
+ @duration = args[:duration] if args.key?(:duration)
488
+ @state = args[:state] if args.key?(:state)
489
+ end
490
+ end
491
+
492
+ # Response of asset discovery run
493
+ class GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # The duration between asset discovery run start and end
497
+ # Corresponds to the JSON property `duration`
498
+ # @return [String]
499
+ attr_accessor :duration
500
+
501
+ # The state of an asset discovery run.
502
+ # Corresponds to the JSON property `state`
503
+ # @return [String]
504
+ attr_accessor :state
505
+
506
+ def initialize(**args)
507
+ update!(**args)
508
+ end
509
+
510
+ # Update properties of this object
511
+ def update!(**args)
512
+ @duration = args[:duration] if args.key?(:duration)
513
+ @state = args[:state] if args.key?(:state)
514
+ end
515
+ end
516
+
517
+ # Request message for grouping by assets.
518
+ class GroupAssetsRequest
519
+ include Google::Apis::Core::Hashable
520
+
521
+ # When compare_duration is set, the Asset's "state" property is updated to
522
+ # indicate whether the asset was added, removed, or remained present during
523
+ # the compare_duration period of time that precedes the read_time. This is
524
+ # the time between (read_time - compare_duration) and read_time.
525
+ # The state value is derived based on the presence of the asset at the two
526
+ # points in time. Intermediate state changes between the two times don't
527
+ # affect the result. For example, the results aren't affected if the asset is
528
+ # removed and re-created again.
529
+ # Possible "state" values when compare_duration is specified:
530
+ # * "ADDED": indicates that the asset was not present before
531
+ # compare_duration, but present at reference_time.
532
+ # * "REMOVED": indicates that the asset was present at the start of
533
+ # compare_duration, but not present at reference_time.
534
+ # * "ACTIVE": indicates that the asset was present at both the
535
+ # start and the end of the time period defined by
536
+ # compare_duration and reference_time.
537
+ # This field is ignored if `state` is not a field in `group_by`.
538
+ # Corresponds to the JSON property `compareDuration`
539
+ # @return [String]
540
+ attr_accessor :compare_duration
541
+
542
+ # Expression that defines the filter to apply across assets.
543
+ # The expression is a list of zero or more restrictions combined via logical
544
+ # operators `AND` and `OR`.
545
+ # Parentheses are not supported, and `OR` has higher precedence than `AND`.
546
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
547
+ # character in front of them to indicate negation. The fields map to those
548
+ # defined in the Asset resource. Examples include:
549
+ # * name
550
+ # * security_center_properties.resource_name
551
+ # * resource_properties.a_property
552
+ # * security_marks.marks.marka
553
+ # The supported operators are:
554
+ # * `=` for all value types.
555
+ # * `>`, `<`, `>=`, `<=` for integer values.
556
+ # * `:`, meaning substring matching, for strings.
557
+ # The supported value types are:
558
+ # * string literals in quotes.
559
+ # * integer literals without quotes.
560
+ # * boolean literals `true` and `false` without quotes.
561
+ # For example, `resource_properties.size = 100` is a valid filter string.
562
+ # Corresponds to the JSON property `filter`
563
+ # @return [String]
564
+ attr_accessor :filter
565
+
566
+ # Expression that defines what assets fields to use for grouping. The string
567
+ # value should follow SQL syntax: comma separated list of fields. For
568
+ # example:
569
+ # "security_center_properties.resource_project,security_center_properties.
570
+ # project".
571
+ # The following fields are supported when compare_duration is not set:
572
+ # * security_center_properties.resource_project
573
+ # * security_center_properties.resource_type
574
+ # * security_center_properties.resource_parent
575
+ # The following fields are supported when compare_duration is set:
576
+ # * security_center_properties.resource_type
577
+ # Corresponds to the JSON property `groupBy`
578
+ # @return [String]
579
+ attr_accessor :group_by
580
+
581
+ # The maximum number of results to return in a single response. Default is
582
+ # 10, minimum is 1, maximum is 1000.
583
+ # Corresponds to the JSON property `pageSize`
584
+ # @return [Fixnum]
585
+ attr_accessor :page_size
586
+
587
+ # The value returned by the last `GroupAssetsResponse`; indicates
588
+ # that this is a continuation of a prior `GroupAssets` call, and that the
589
+ # system should return the next page of data.
590
+ # Corresponds to the JSON property `pageToken`
591
+ # @return [String]
592
+ attr_accessor :page_token
593
+
594
+ # Time used as a reference point when filtering assets. The filter is limited
595
+ # to assets existing at the supplied time and their values are those at that
596
+ # specific time. Absence of this field will default to the API's version of
597
+ # NOW.
598
+ # Corresponds to the JSON property `readTime`
599
+ # @return [String]
600
+ attr_accessor :read_time
601
+
602
+ def initialize(**args)
603
+ update!(**args)
604
+ end
605
+
606
+ # Update properties of this object
607
+ def update!(**args)
608
+ @compare_duration = args[:compare_duration] if args.key?(:compare_duration)
609
+ @filter = args[:filter] if args.key?(:filter)
610
+ @group_by = args[:group_by] if args.key?(:group_by)
611
+ @page_size = args[:page_size] if args.key?(:page_size)
612
+ @page_token = args[:page_token] if args.key?(:page_token)
613
+ @read_time = args[:read_time] if args.key?(:read_time)
614
+ end
615
+ end
616
+
617
+ # Response message for grouping by assets.
618
+ class GroupAssetsResponse
619
+ include Google::Apis::Core::Hashable
620
+
621
+ # Group results. There exists an element for each existing unique
622
+ # combination of property/values. The element contains a count for the number
623
+ # of times those specific property/values appear.
624
+ # Corresponds to the JSON property `groupByResults`
625
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GroupResult>]
626
+ attr_accessor :group_by_results
627
+
628
+ # Token to retrieve the next page of results, or empty if there are no more
629
+ # results.
630
+ # Corresponds to the JSON property `nextPageToken`
631
+ # @return [String]
632
+ attr_accessor :next_page_token
633
+
634
+ # Time used for executing the groupBy request.
635
+ # Corresponds to the JSON property `readTime`
636
+ # @return [String]
637
+ attr_accessor :read_time
638
+
639
+ def initialize(**args)
640
+ update!(**args)
641
+ end
642
+
643
+ # Update properties of this object
644
+ def update!(**args)
645
+ @group_by_results = args[:group_by_results] if args.key?(:group_by_results)
646
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
647
+ @read_time = args[:read_time] if args.key?(:read_time)
648
+ end
649
+ end
650
+
651
+ # Request message for grouping by findings.
652
+ class GroupFindingsRequest
653
+ include Google::Apis::Core::Hashable
654
+
655
+ # Expression that defines the filter to apply across findings.
656
+ # The expression is a list of one or more restrictions combined via logical
657
+ # operators `AND` and `OR`.
658
+ # Parentheses are not supported, and `OR` has higher precedence than `AND`.
659
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
660
+ # character in front of them to indicate negation. Examples include:
661
+ # * name
662
+ # * source_properties.a_property
663
+ # * security_marks.marks.marka
664
+ # The supported operators are:
665
+ # * `=` for all value types.
666
+ # * `>`, `<`, `>=`, `<=` for integer values.
667
+ # * `:`, meaning substring matching, for strings.
668
+ # The supported value types are:
669
+ # * string literals in quotes.
670
+ # * integer literals without quotes.
671
+ # * boolean literals `true` and `false` without quotes.
672
+ # For example, `source_properties.size = 100` is a valid filter string.
673
+ # Corresponds to the JSON property `filter`
674
+ # @return [String]
675
+ attr_accessor :filter
676
+
677
+ # Expression that defines what assets fields to use for grouping (including
678
+ # `state`). The string value should follow SQL syntax: comma separated list
679
+ # of fields. For example:
680
+ # "parent,resource_name".
681
+ # The following fields are supported:
682
+ # * resource_name
683
+ # * category
684
+ # * state
685
+ # * parent
686
+ # Corresponds to the JSON property `groupBy`
687
+ # @return [String]
688
+ attr_accessor :group_by
689
+
690
+ # The maximum number of results to return in a single response. Default is
691
+ # 10, minimum is 1, maximum is 1000.
692
+ # Corresponds to the JSON property `pageSize`
693
+ # @return [Fixnum]
694
+ attr_accessor :page_size
695
+
696
+ # The value returned by the last `GroupFindingsResponse`; indicates
697
+ # that this is a continuation of a prior `GroupFindings` call, and
698
+ # that the system should return the next page of data.
699
+ # Corresponds to the JSON property `pageToken`
700
+ # @return [String]
701
+ attr_accessor :page_token
702
+
703
+ # Time used as a reference point when filtering findings. The filter is
704
+ # limited to findings existing at the supplied time and their values are
705
+ # those at that specific time. Absence of this field will default to the
706
+ # API's version of NOW.
707
+ # Corresponds to the JSON property `readTime`
708
+ # @return [String]
709
+ attr_accessor :read_time
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @filter = args[:filter] if args.key?(:filter)
718
+ @group_by = args[:group_by] if args.key?(:group_by)
719
+ @page_size = args[:page_size] if args.key?(:page_size)
720
+ @page_token = args[:page_token] if args.key?(:page_token)
721
+ @read_time = args[:read_time] if args.key?(:read_time)
722
+ end
723
+ end
724
+
725
+ # Response message for group by findings.
726
+ class GroupFindingsResponse
727
+ include Google::Apis::Core::Hashable
728
+
729
+ # Group results. There exists an element for each existing unique
730
+ # combination of property/values. The element contains a count for the number
731
+ # of times those specific property/values appear.
732
+ # Corresponds to the JSON property `groupByResults`
733
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GroupResult>]
734
+ attr_accessor :group_by_results
735
+
736
+ # Token to retrieve the next page of results, or empty if there are no more
737
+ # results.
738
+ # Corresponds to the JSON property `nextPageToken`
739
+ # @return [String]
740
+ attr_accessor :next_page_token
741
+
742
+ # Time used for executing the groupBy request.
743
+ # Corresponds to the JSON property `readTime`
744
+ # @return [String]
745
+ attr_accessor :read_time
746
+
747
+ def initialize(**args)
748
+ update!(**args)
749
+ end
750
+
751
+ # Update properties of this object
752
+ def update!(**args)
753
+ @group_by_results = args[:group_by_results] if args.key?(:group_by_results)
754
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
755
+ @read_time = args[:read_time] if args.key?(:read_time)
756
+ end
757
+ end
758
+
759
+ # Result containing the properties and count of a groupBy request.
760
+ class GroupResult
761
+ include Google::Apis::Core::Hashable
762
+
763
+ # Total count of resources for the given properties.
764
+ # Corresponds to the JSON property `count`
765
+ # @return [Fixnum]
766
+ attr_accessor :count
767
+
768
+ # Properties matching the groupBy fields in the request.
769
+ # Corresponds to the JSON property `properties`
770
+ # @return [Hash<String,Object>]
771
+ attr_accessor :properties
772
+
773
+ def initialize(**args)
774
+ update!(**args)
775
+ end
776
+
777
+ # Update properties of this object
778
+ def update!(**args)
779
+ @count = args[:count] if args.key?(:count)
780
+ @properties = args[:properties] if args.key?(:properties)
781
+ end
782
+ end
783
+
784
+ # Response message for listing assets.
785
+ class ListAssetsResponse
786
+ include Google::Apis::Core::Hashable
787
+
788
+ # Assets matching the list request.
789
+ # Corresponds to the JSON property `listAssetsResults`
790
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::ListAssetsResult>]
791
+ attr_accessor :list_assets_results
792
+
793
+ # Token to retrieve the next page of results, or empty if there are no more
794
+ # results.
795
+ # Corresponds to the JSON property `nextPageToken`
796
+ # @return [String]
797
+ attr_accessor :next_page_token
798
+
799
+ # Time used for executing the list request.
800
+ # Corresponds to the JSON property `readTime`
801
+ # @return [String]
802
+ attr_accessor :read_time
803
+
804
+ # The total number of assets matching the query.
805
+ # Corresponds to the JSON property `totalSize`
806
+ # @return [Fixnum]
807
+ attr_accessor :total_size
808
+
809
+ def initialize(**args)
810
+ update!(**args)
811
+ end
812
+
813
+ # Update properties of this object
814
+ def update!(**args)
815
+ @list_assets_results = args[:list_assets_results] if args.key?(:list_assets_results)
816
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
817
+ @read_time = args[:read_time] if args.key?(:read_time)
818
+ @total_size = args[:total_size] if args.key?(:total_size)
819
+ end
820
+ end
821
+
822
+ # Result containing the Asset and its State.
823
+ class ListAssetsResult
824
+ include Google::Apis::Core::Hashable
825
+
826
+ # Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
827
+ # Platform (GCP) resource.
828
+ # The Asset is a Cloud SCC resource that captures information about a single
829
+ # GCP resource. All modifications to an Asset are only within the context of
830
+ # Cloud SCC and don't affect the referenced GCP resource.
831
+ # Corresponds to the JSON property `asset`
832
+ # @return [Google::Apis::SecuritycenterV1beta1::Asset]
833
+ attr_accessor :asset
834
+
835
+ # State of the asset.
836
+ # Corresponds to the JSON property `state`
837
+ # @return [String]
838
+ attr_accessor :state
839
+
840
+ def initialize(**args)
841
+ update!(**args)
842
+ end
843
+
844
+ # Update properties of this object
845
+ def update!(**args)
846
+ @asset = args[:asset] if args.key?(:asset)
847
+ @state = args[:state] if args.key?(:state)
848
+ end
849
+ end
850
+
851
+ # Response message for listing findings.
852
+ class ListFindingsResponse
853
+ include Google::Apis::Core::Hashable
854
+
855
+ # Findings matching the list request.
856
+ # Corresponds to the JSON property `findings`
857
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::Finding>]
858
+ attr_accessor :findings
859
+
860
+ # Token to retrieve the next page of results, or empty if there are no more
861
+ # results.
862
+ # Corresponds to the JSON property `nextPageToken`
863
+ # @return [String]
864
+ attr_accessor :next_page_token
865
+
866
+ # Time used for executing the list request.
867
+ # Corresponds to the JSON property `readTime`
868
+ # @return [String]
869
+ attr_accessor :read_time
870
+
871
+ # The total number of findings matching the query.
872
+ # Corresponds to the JSON property `totalSize`
873
+ # @return [Fixnum]
874
+ attr_accessor :total_size
875
+
876
+ def initialize(**args)
877
+ update!(**args)
878
+ end
879
+
880
+ # Update properties of this object
881
+ def update!(**args)
882
+ @findings = args[:findings] if args.key?(:findings)
883
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
884
+ @read_time = args[:read_time] if args.key?(:read_time)
885
+ @total_size = args[:total_size] if args.key?(:total_size)
886
+ end
887
+ end
888
+
889
+ # The response message for Operations.ListOperations.
890
+ class ListOperationsResponse
891
+ include Google::Apis::Core::Hashable
892
+
893
+ # The standard List next-page token.
894
+ # Corresponds to the JSON property `nextPageToken`
895
+ # @return [String]
896
+ attr_accessor :next_page_token
897
+
898
+ # A list of operations that matches the specified filter in the request.
899
+ # Corresponds to the JSON property `operations`
900
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::Operation>]
901
+ attr_accessor :operations
902
+
903
+ def initialize(**args)
904
+ update!(**args)
905
+ end
906
+
907
+ # Update properties of this object
908
+ def update!(**args)
909
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
910
+ @operations = args[:operations] if args.key?(:operations)
911
+ end
912
+ end
913
+
914
+ # Response message for listing sources.
915
+ class ListSourcesResponse
916
+ include Google::Apis::Core::Hashable
917
+
918
+ # Token to retrieve the next page of results, or empty if there are no more
919
+ # results.
920
+ # Corresponds to the JSON property `nextPageToken`
921
+ # @return [String]
922
+ attr_accessor :next_page_token
923
+
924
+ # Sources belonging to the requested parent.
925
+ # Corresponds to the JSON property `sources`
926
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::Source>]
927
+ attr_accessor :sources
928
+
929
+ def initialize(**args)
930
+ update!(**args)
931
+ end
932
+
933
+ # Update properties of this object
934
+ def update!(**args)
935
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
936
+ @sources = args[:sources] if args.key?(:sources)
937
+ end
938
+ end
939
+
940
+ # This resource represents a long-running operation that is the result of a
941
+ # network API call.
942
+ class Operation
943
+ include Google::Apis::Core::Hashable
944
+
945
+ # If the value is `false`, it means the operation is still in progress.
946
+ # If `true`, the operation is completed, and either `error` or `response` is
947
+ # available.
948
+ # Corresponds to the JSON property `done`
949
+ # @return [Boolean]
950
+ attr_accessor :done
951
+ alias_method :done?, :done
952
+
953
+ # The `Status` type defines a logical error model that is suitable for
954
+ # different programming environments, including REST APIs and RPC APIs. It is
955
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
956
+ # - Simple to use and understand for most users
957
+ # - Flexible enough to meet unexpected needs
958
+ # # Overview
959
+ # The `Status` message contains three pieces of data: error code, error
960
+ # message, and error details. The error code should be an enum value of
961
+ # google.rpc.Code, but it may accept additional error codes if needed. The
962
+ # error message should be a developer-facing English message that helps
963
+ # developers *understand* and *resolve* the error. If a localized user-facing
964
+ # error message is needed, put the localized message in the error details or
965
+ # localize it in the client. The optional error details may contain arbitrary
966
+ # information about the error. There is a predefined set of error detail types
967
+ # in the package `google.rpc` that can be used for common error conditions.
968
+ # # Language mapping
969
+ # The `Status` message is the logical representation of the error model, but it
970
+ # is not necessarily the actual wire format. When the `Status` message is
971
+ # exposed in different client libraries and different wire protocols, it can be
972
+ # mapped differently. For example, it will likely be mapped to some exceptions
973
+ # in Java, but more likely mapped to some error codes in C.
974
+ # # Other uses
975
+ # The error model and the `Status` message can be used in a variety of
976
+ # environments, either with or without APIs, to provide a
977
+ # consistent developer experience across different environments.
978
+ # Example uses of this error model include:
979
+ # - Partial errors. If a service needs to return partial errors to the client,
980
+ # it may embed the `Status` in the normal response to indicate the partial
981
+ # errors.
982
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
983
+ # have a `Status` message for error reporting.
984
+ # - Batch operations. If a client uses batch request and batch response, the
985
+ # `Status` message should be used directly inside batch response, one for
986
+ # each error sub-response.
987
+ # - Asynchronous operations. If an API call embeds asynchronous operation
988
+ # results in its response, the status of those operations should be
989
+ # represented directly using the `Status` message.
990
+ # - Logging. If some API errors are stored in logs, the message `Status` could
991
+ # be used directly after any stripping needed for security/privacy reasons.
992
+ # Corresponds to the JSON property `error`
993
+ # @return [Google::Apis::SecuritycenterV1beta1::Status]
994
+ attr_accessor :error
995
+
996
+ # Service-specific metadata associated with the operation. It typically
997
+ # contains progress information and common metadata such as create time.
998
+ # Some services might not provide such metadata. Any method that returns a
999
+ # long-running operation should document the metadata type, if any.
1000
+ # Corresponds to the JSON property `metadata`
1001
+ # @return [Hash<String,Object>]
1002
+ attr_accessor :metadata
1003
+
1004
+ # The server-assigned name, which is only unique within the same service that
1005
+ # originally returns it. If you use the default HTTP mapping, the
1006
+ # `name` should have the format of `operations/some/unique/name`.
1007
+ # Corresponds to the JSON property `name`
1008
+ # @return [String]
1009
+ attr_accessor :name
1010
+
1011
+ # The normal response of the operation in case of success. If the original
1012
+ # method returns no data on success, such as `Delete`, the response is
1013
+ # `google.protobuf.Empty`. If the original method is standard
1014
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1015
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1016
+ # is the original method name. For example, if the original method name
1017
+ # is `TakeSnapshot()`, the inferred response type is
1018
+ # `TakeSnapshotResponse`.
1019
+ # Corresponds to the JSON property `response`
1020
+ # @return [Hash<String,Object>]
1021
+ attr_accessor :response
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @done = args[:done] if args.key?(:done)
1030
+ @error = args[:error] if args.key?(:error)
1031
+ @metadata = args[:metadata] if args.key?(:metadata)
1032
+ @name = args[:name] if args.key?(:name)
1033
+ @response = args[:response] if args.key?(:response)
1034
+ end
1035
+ end
1036
+
1037
+ # User specified settings that are attached to the Cloud Security Command
1038
+ # Center (Cloud SCC) organization.
1039
+ class OrganizationSettings
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # The configuration used for Asset Discovery runs.
1043
+ # Corresponds to the JSON property `assetDiscoveryConfig`
1044
+ # @return [Google::Apis::SecuritycenterV1beta1::AssetDiscoveryConfig]
1045
+ attr_accessor :asset_discovery_config
1046
+
1047
+ # A flag that indicates if Asset Discovery should be enabled. If the flag is
1048
+ # set to `true`, then discovery of assets will occur. If it is set to `false,
1049
+ # all historical assets will remain, but discovery of future assets will not
1050
+ # occur.
1051
+ # Corresponds to the JSON property `enableAssetDiscovery`
1052
+ # @return [Boolean]
1053
+ attr_accessor :enable_asset_discovery
1054
+ alias_method :enable_asset_discovery?, :enable_asset_discovery
1055
+
1056
+ # The relative resource name of the settings. See:
1057
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1058
+ # Example:
1059
+ # "organizations/123/organizationSettings".
1060
+ # Corresponds to the JSON property `name`
1061
+ # @return [String]
1062
+ attr_accessor :name
1063
+
1064
+ def initialize(**args)
1065
+ update!(**args)
1066
+ end
1067
+
1068
+ # Update properties of this object
1069
+ def update!(**args)
1070
+ @asset_discovery_config = args[:asset_discovery_config] if args.key?(:asset_discovery_config)
1071
+ @enable_asset_discovery = args[:enable_asset_discovery] if args.key?(:enable_asset_discovery)
1072
+ @name = args[:name] if args.key?(:name)
1073
+ end
1074
+ end
1075
+
1076
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1077
+ # specify access control policies for Cloud Platform resources.
1078
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1079
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1080
+ # Google domains, and service accounts. A `role` is a named list of permissions
1081
+ # defined by IAM.
1082
+ # **JSON Example**
1083
+ # `
1084
+ # "bindings": [
1085
+ # `
1086
+ # "role": "roles/owner",
1087
+ # "members": [
1088
+ # "user:mike@example.com",
1089
+ # "group:admins@example.com",
1090
+ # "domain:google.com",
1091
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1092
+ # ]
1093
+ # `,
1094
+ # `
1095
+ # "role": "roles/viewer",
1096
+ # "members": ["user:sean@example.com"]
1097
+ # `
1098
+ # ]
1099
+ # `
1100
+ # **YAML Example**
1101
+ # bindings:
1102
+ # - members:
1103
+ # - user:mike@example.com
1104
+ # - group:admins@example.com
1105
+ # - domain:google.com
1106
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1107
+ # role: roles/owner
1108
+ # - members:
1109
+ # - user:sean@example.com
1110
+ # role: roles/viewer
1111
+ # For a description of IAM and its features, see the
1112
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1113
+ class Policy
1114
+ include Google::Apis::Core::Hashable
1115
+
1116
+ # Specifies cloud audit logging configuration for this policy.
1117
+ # Corresponds to the JSON property `auditConfigs`
1118
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::AuditConfig>]
1119
+ attr_accessor :audit_configs
1120
+
1121
+ # Associates a list of `members` to a `role`.
1122
+ # `bindings` with no members will result in an error.
1123
+ # Corresponds to the JSON property `bindings`
1124
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::Binding>]
1125
+ attr_accessor :bindings
1126
+
1127
+ # `etag` is used for optimistic concurrency control as a way to help
1128
+ # prevent simultaneous updates of a policy from overwriting each other.
1129
+ # It is strongly suggested that systems make use of the `etag` in the
1130
+ # read-modify-write cycle to perform policy updates in order to avoid race
1131
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1132
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1133
+ # ensure that their change will be applied to the same version of the policy.
1134
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1135
+ # policy is overwritten blindly.
1136
+ # Corresponds to the JSON property `etag`
1137
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1138
+ # @return [String]
1139
+ attr_accessor :etag
1140
+
1141
+ # Deprecated.
1142
+ # Corresponds to the JSON property `version`
1143
+ # @return [Fixnum]
1144
+ attr_accessor :version
1145
+
1146
+ def initialize(**args)
1147
+ update!(**args)
1148
+ end
1149
+
1150
+ # Update properties of this object
1151
+ def update!(**args)
1152
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1153
+ @bindings = args[:bindings] if args.key?(:bindings)
1154
+ @etag = args[:etag] if args.key?(:etag)
1155
+ @version = args[:version] if args.key?(:version)
1156
+ end
1157
+ end
1158
+
1159
+ # Request message for running asset discovery for an organization.
1160
+ class RunAssetDiscoveryRequest
1161
+ include Google::Apis::Core::Hashable
1162
+
1163
+ def initialize(**args)
1164
+ update!(**args)
1165
+ end
1166
+
1167
+ # Update properties of this object
1168
+ def update!(**args)
1169
+ end
1170
+ end
1171
+
1172
+ # Cloud SCC managed properties. These properties are managed by Cloud SCC and
1173
+ # cannot be modified by the user.
1174
+ class SecurityCenterProperties
1175
+ include Google::Apis::Core::Hashable
1176
+
1177
+ # The full resource name of the GCP resource this asset
1178
+ # represents. This field is immutable after create time. See:
1179
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
1180
+ # Corresponds to the JSON property `resourceName`
1181
+ # @return [String]
1182
+ attr_accessor :resource_name
1183
+
1184
+ # Owners of the Google Cloud resource.
1185
+ # Corresponds to the JSON property `resourceOwners`
1186
+ # @return [Array<String>]
1187
+ attr_accessor :resource_owners
1188
+
1189
+ # The full resource name of the immediate parent of the resource. See:
1190
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
1191
+ # Corresponds to the JSON property `resourceParent`
1192
+ # @return [String]
1193
+ attr_accessor :resource_parent
1194
+
1195
+ # The full resource name of the project the resource belongs to. See:
1196
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
1197
+ # Corresponds to the JSON property `resourceProject`
1198
+ # @return [String]
1199
+ attr_accessor :resource_project
1200
+
1201
+ # The type of the GCP resource. Examples include: APPLICATION,
1202
+ # PROJECT, and ORGANIZATION. This is a case insensitive field defined by
1203
+ # Cloud SCC and/or the producer of the resource and is immutable
1204
+ # after create time.
1205
+ # Corresponds to the JSON property `resourceType`
1206
+ # @return [String]
1207
+ attr_accessor :resource_type
1208
+
1209
+ def initialize(**args)
1210
+ update!(**args)
1211
+ end
1212
+
1213
+ # Update properties of this object
1214
+ def update!(**args)
1215
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
1216
+ @resource_owners = args[:resource_owners] if args.key?(:resource_owners)
1217
+ @resource_parent = args[:resource_parent] if args.key?(:resource_parent)
1218
+ @resource_project = args[:resource_project] if args.key?(:resource_project)
1219
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
1220
+ end
1221
+ end
1222
+
1223
+ # User specified security marks that are attached to the parent Cloud Security
1224
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
1225
+ # SCC organization -- they can be modified and viewed by all users who have
1226
+ # proper permissions on the organization.
1227
+ class SecurityMarks
1228
+ include Google::Apis::Core::Hashable
1229
+
1230
+ # Mutable user specified security marks belonging to the parent resource.
1231
+ # Constraints are as follows:
1232
+ # - Keys and values are treated as case insensitive
1233
+ # - Keys must be between 1 - 256 characters (inclusive)
1234
+ # - Keys must be letters, numbers, underscores, or dashes
1235
+ # - Values have leading and trailing whitespace trimmed, remaining
1236
+ # characters must be between 1 - 4096 characters (inclusive)
1237
+ # Corresponds to the JSON property `marks`
1238
+ # @return [Hash<String,String>]
1239
+ attr_accessor :marks
1240
+
1241
+ # The relative resource name of the SecurityMarks. See:
1242
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1243
+ # Examples:
1244
+ # "organizations/123/assets/456/securityMarks"
1245
+ # "organizations/123/sources/456/findings/789/securityMarks".
1246
+ # Corresponds to the JSON property `name`
1247
+ # @return [String]
1248
+ attr_accessor :name
1249
+
1250
+ def initialize(**args)
1251
+ update!(**args)
1252
+ end
1253
+
1254
+ # Update properties of this object
1255
+ def update!(**args)
1256
+ @marks = args[:marks] if args.key?(:marks)
1257
+ @name = args[:name] if args.key?(:name)
1258
+ end
1259
+ end
1260
+
1261
+ # Request message for updating a finding's state.
1262
+ class SetFindingStateRequest
1263
+ include Google::Apis::Core::Hashable
1264
+
1265
+ # The time at which the updated state takes effect.
1266
+ # Corresponds to the JSON property `startTime`
1267
+ # @return [String]
1268
+ attr_accessor :start_time
1269
+
1270
+ # The desired State of the finding.
1271
+ # Corresponds to the JSON property `state`
1272
+ # @return [String]
1273
+ attr_accessor :state
1274
+
1275
+ def initialize(**args)
1276
+ update!(**args)
1277
+ end
1278
+
1279
+ # Update properties of this object
1280
+ def update!(**args)
1281
+ @start_time = args[:start_time] if args.key?(:start_time)
1282
+ @state = args[:state] if args.key?(:state)
1283
+ end
1284
+ end
1285
+
1286
+ # Request message for `SetIamPolicy` method.
1287
+ class SetIamPolicyRequest
1288
+ include Google::Apis::Core::Hashable
1289
+
1290
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1291
+ # specify access control policies for Cloud Platform resources.
1292
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1293
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1294
+ # Google domains, and service accounts. A `role` is a named list of permissions
1295
+ # defined by IAM.
1296
+ # **JSON Example**
1297
+ # `
1298
+ # "bindings": [
1299
+ # `
1300
+ # "role": "roles/owner",
1301
+ # "members": [
1302
+ # "user:mike@example.com",
1303
+ # "group:admins@example.com",
1304
+ # "domain:google.com",
1305
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1306
+ # ]
1307
+ # `,
1308
+ # `
1309
+ # "role": "roles/viewer",
1310
+ # "members": ["user:sean@example.com"]
1311
+ # `
1312
+ # ]
1313
+ # `
1314
+ # **YAML Example**
1315
+ # bindings:
1316
+ # - members:
1317
+ # - user:mike@example.com
1318
+ # - group:admins@example.com
1319
+ # - domain:google.com
1320
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1321
+ # role: roles/owner
1322
+ # - members:
1323
+ # - user:sean@example.com
1324
+ # role: roles/viewer
1325
+ # For a description of IAM and its features, see the
1326
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1327
+ # Corresponds to the JSON property `policy`
1328
+ # @return [Google::Apis::SecuritycenterV1beta1::Policy]
1329
+ attr_accessor :policy
1330
+
1331
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1332
+ # the fields in the mask will be modified. If no mask is provided, the
1333
+ # following default mask is used:
1334
+ # paths: "bindings, etag"
1335
+ # This field is only used by Cloud IAM.
1336
+ # Corresponds to the JSON property `updateMask`
1337
+ # @return [String]
1338
+ attr_accessor :update_mask
1339
+
1340
+ def initialize(**args)
1341
+ update!(**args)
1342
+ end
1343
+
1344
+ # Update properties of this object
1345
+ def update!(**args)
1346
+ @policy = args[:policy] if args.key?(:policy)
1347
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1348
+ end
1349
+ end
1350
+
1351
+ # Cloud Security Command Center's (Cloud SCC) finding source. A finding source
1352
+ # is an entity or a mechanism that can produce a finding. A source is like a
1353
+ # container of findings that come from the same scanner, logger, monitor, etc.
1354
+ class Source
1355
+ include Google::Apis::Core::Hashable
1356
+
1357
+ # The description of the source (max of 1024 characters).
1358
+ # Example:
1359
+ # "Cloud Security Scanner is a web security scanner for common
1360
+ # vulnerabilities in App Engine applications. It can automatically
1361
+ # scan and detect four common vulnerabilities, including cross-site-scripting
1362
+ # (XSS), Flash injection, mixed content (HTTP in HTTPS), and
1363
+ # outdated/insecure libraries."
1364
+ # Corresponds to the JSON property `description`
1365
+ # @return [String]
1366
+ attr_accessor :description
1367
+
1368
+ # The source’s display name.
1369
+ # A source’s display name must be unique amongst its siblings, for example,
1370
+ # two sources with the same parent can't share the same display name.
1371
+ # The display name must start and end with a letter or digit, may contain
1372
+ # letters, digits, spaces, hyphens, and underscores, and can be no longer
1373
+ # than 32 characters. This is captured by the regular expression:
1374
+ # [\p`L`\p`N`](`\p`L`\p`N`_- ]`0,30`[\p`L`\p`N`])?.
1375
+ # Corresponds to the JSON property `displayName`
1376
+ # @return [String]
1377
+ attr_accessor :display_name
1378
+
1379
+ # The relative resource name of this source. See:
1380
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1381
+ # Example:
1382
+ # "organizations/123/sources/456"
1383
+ # Corresponds to the JSON property `name`
1384
+ # @return [String]
1385
+ attr_accessor :name
1386
+
1387
+ def initialize(**args)
1388
+ update!(**args)
1389
+ end
1390
+
1391
+ # Update properties of this object
1392
+ def update!(**args)
1393
+ @description = args[:description] if args.key?(:description)
1394
+ @display_name = args[:display_name] if args.key?(:display_name)
1395
+ @name = args[:name] if args.key?(:name)
1396
+ end
1397
+ end
1398
+
1399
+ # The `Status` type defines a logical error model that is suitable for
1400
+ # different programming environments, including REST APIs and RPC APIs. It is
1401
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1402
+ # - Simple to use and understand for most users
1403
+ # - Flexible enough to meet unexpected needs
1404
+ # # Overview
1405
+ # The `Status` message contains three pieces of data: error code, error
1406
+ # message, and error details. The error code should be an enum value of
1407
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1408
+ # error message should be a developer-facing English message that helps
1409
+ # developers *understand* and *resolve* the error. If a localized user-facing
1410
+ # error message is needed, put the localized message in the error details or
1411
+ # localize it in the client. The optional error details may contain arbitrary
1412
+ # information about the error. There is a predefined set of error detail types
1413
+ # in the package `google.rpc` that can be used for common error conditions.
1414
+ # # Language mapping
1415
+ # The `Status` message is the logical representation of the error model, but it
1416
+ # is not necessarily the actual wire format. When the `Status` message is
1417
+ # exposed in different client libraries and different wire protocols, it can be
1418
+ # mapped differently. For example, it will likely be mapped to some exceptions
1419
+ # in Java, but more likely mapped to some error codes in C.
1420
+ # # Other uses
1421
+ # The error model and the `Status` message can be used in a variety of
1422
+ # environments, either with or without APIs, to provide a
1423
+ # consistent developer experience across different environments.
1424
+ # Example uses of this error model include:
1425
+ # - Partial errors. If a service needs to return partial errors to the client,
1426
+ # it may embed the `Status` in the normal response to indicate the partial
1427
+ # errors.
1428
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1429
+ # have a `Status` message for error reporting.
1430
+ # - Batch operations. If a client uses batch request and batch response, the
1431
+ # `Status` message should be used directly inside batch response, one for
1432
+ # each error sub-response.
1433
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1434
+ # results in its response, the status of those operations should be
1435
+ # represented directly using the `Status` message.
1436
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1437
+ # be used directly after any stripping needed for security/privacy reasons.
1438
+ class Status
1439
+ include Google::Apis::Core::Hashable
1440
+
1441
+ # The status code, which should be an enum value of google.rpc.Code.
1442
+ # Corresponds to the JSON property `code`
1443
+ # @return [Fixnum]
1444
+ attr_accessor :code
1445
+
1446
+ # A list of messages that carry the error details. There is a common set of
1447
+ # message types for APIs to use.
1448
+ # Corresponds to the JSON property `details`
1449
+ # @return [Array<Hash<String,Object>>]
1450
+ attr_accessor :details
1451
+
1452
+ # A developer-facing error message, which should be in English. Any
1453
+ # user-facing error message should be localized and sent in the
1454
+ # google.rpc.Status.details field, or localized by the client.
1455
+ # Corresponds to the JSON property `message`
1456
+ # @return [String]
1457
+ attr_accessor :message
1458
+
1459
+ def initialize(**args)
1460
+ update!(**args)
1461
+ end
1462
+
1463
+ # Update properties of this object
1464
+ def update!(**args)
1465
+ @code = args[:code] if args.key?(:code)
1466
+ @details = args[:details] if args.key?(:details)
1467
+ @message = args[:message] if args.key?(:message)
1468
+ end
1469
+ end
1470
+
1471
+ # Request message for `TestIamPermissions` method.
1472
+ class TestIamPermissionsRequest
1473
+ include Google::Apis::Core::Hashable
1474
+
1475
+ # The set of permissions to check for the `resource`. Permissions with
1476
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1477
+ # information see
1478
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1479
+ # Corresponds to the JSON property `permissions`
1480
+ # @return [Array<String>]
1481
+ attr_accessor :permissions
1482
+
1483
+ def initialize(**args)
1484
+ update!(**args)
1485
+ end
1486
+
1487
+ # Update properties of this object
1488
+ def update!(**args)
1489
+ @permissions = args[:permissions] if args.key?(:permissions)
1490
+ end
1491
+ end
1492
+
1493
+ # Response message for `TestIamPermissions` method.
1494
+ class TestIamPermissionsResponse
1495
+ include Google::Apis::Core::Hashable
1496
+
1497
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1498
+ # allowed.
1499
+ # Corresponds to the JSON property `permissions`
1500
+ # @return [Array<String>]
1501
+ attr_accessor :permissions
1502
+
1503
+ def initialize(**args)
1504
+ update!(**args)
1505
+ end
1506
+
1507
+ # Update properties of this object
1508
+ def update!(**args)
1509
+ @permissions = args[:permissions] if args.key?(:permissions)
1510
+ end
1511
+ end
1512
+ end
1513
+ end
1514
+ end