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
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://developers.google.com/poly/
28
28
  module PolyV1
29
29
  VERSION = 'V1'
30
- REVISION = '20190309'
30
+ REVISION = '20190409'
31
31
  end
32
32
  end
33
33
  end
@@ -560,8 +560,9 @@ module Google
560
560
  end
561
561
  end
562
562
 
563
- # A response message from a request to startImport.
564
- # This is returned in the response field of the Operation.
563
+ # A response message from a request to
564
+ # startImport. This is returned in the response
565
+ # field of the Operation.
565
566
  class StartAssetImportResponse
566
567
  include Google::Apis::Core::Hashable
567
568
 
@@ -51,7 +51,8 @@ module Google
51
51
 
52
52
  # Returns detailed information about an asset given its name.
53
53
  # PRIVATE assets are returned only if
54
- # the currently authenticated user (via OAuth token) is the author of the asset.
54
+ # the currently authenticated user (via OAuth token) is the author of the
55
+ # asset.
55
56
  # @param [String] name
56
57
  # Required. An asset's name in the form `assets/`ASSET_ID``.
57
58
  # @param [String] fields
@@ -81,14 +82,13 @@ module Google
81
82
  execute_or_queue_command(command, &block)
82
83
  end
83
84
 
84
- # Lists all public, remixable assets. These are assets with an access level of
85
- # PUBLIC and published under the
85
+ # Lists all public, remixable assets. These are assets with an access level
86
+ # of PUBLIC and published under the
86
87
  # CC-By license.
87
88
  # @param [String] category
88
89
  # Filter assets based on the specified category. Supported values are:
89
- # `animals`, `architecture`, `art`, `food`, `nature`, `objects`, `people`, `
90
- # scenes`,
91
- # `technology`, and `transport`.
90
+ # `animals`, `architecture`, `art`, `food`, `nature`, `objects`, `people`,
91
+ # `scenes`, `technology`, and `transport`.
92
92
  # @param [Boolean] curated
93
93
  # Return only assets that have been curated by the Poly team.
94
94
  # @param [String] format
@@ -114,7 +114,8 @@ module Google
114
114
  # @param [String] page_token
115
115
  # Specifies a continuation token from a previous search whose results were
116
116
  # split into multiple pages. To get the next page, submit the same request
117
- # specifying the value from next_page_token.
117
+ # specifying the value from
118
+ # next_page_token.
118
119
  # @param [String] fields
119
120
  # Selector specifying which fields to include in a partial response.
120
121
  # @param [String] quota_user
@@ -176,7 +177,9 @@ module Google
176
177
  # next_page_token.
177
178
  # @param [String] visibility
178
179
  # The visibility of the assets to be returned.
179
- # Defaults to VISIBILITY_UNSPECIFIED which returns all assets.
180
+ # Defaults to
181
+ # VISIBILITY_UNSPECIFIED
182
+ # which returns all assets.
180
183
  # @param [String] fields
181
184
  # Selector specifying which fields to include in a partial response.
182
185
  # @param [String] quota_user
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/pubsub/docs
26
26
  module PubsubV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190314'
28
+ REVISION = '20190412'
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'
@@ -959,7 +959,8 @@ module Google
959
959
  # messages are not expunged from the subscription's backlog, even if they are
960
960
  # acknowledged, until they fall out of the `message_retention_duration`
961
961
  # window. This must be true if you would like to
962
- # <a href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
962
+ # <a
963
+ # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
963
964
  # Seek to a timestamp</a>.
964
965
  # Corresponds to the JSON property `retainAckedMessages`
965
966
  # @return [Boolean]
@@ -61,10 +61,10 @@ module Google
61
61
  # the request, the server will assign a random
62
62
  # name for this snapshot on the same project as the subscription, conforming
63
63
  # to the
64
- # [resource name format](https://cloud.google.com/pubsub/docs/admin#
65
- # resource_names).
66
- # The generated name is populated in the returned Snapshot object. Note that
67
- # for REST API requests, you must specify a name in the request.
64
+ # [resource name
65
+ # format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
66
+ # generated name is populated in the returned Snapshot object. Note that for
67
+ # REST API requests, you must specify a name in the request.
68
68
  # @param [String] name
69
69
  # Optional user-provided name for this snapshot.
70
70
  # If the name is not provided in the request, the server will assign a random
@@ -414,10 +414,10 @@ module Google
414
414
  # If the name is not provided in the request, the server will assign a random
415
415
  # name for this subscription on the same project as the topic, conforming
416
416
  # to the
417
- # [resource name format](https://cloud.google.com/pubsub/docs/admin#
418
- # resource_names).
419
- # The generated name is populated in the returned Subscription object.
420
- # Note that for REST API requests, you must specify a name in the request.
417
+ # [resource name
418
+ # format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
419
+ # generated name is populated in the returned Subscription object. Note that
420
+ # for REST API requests, you must specify a name in the request.
421
421
  # @param [String] name
422
422
  # The name of the subscription. It must have the format
423
423
  # `"projects/`project`/subscriptions/`subscription`"`. ``subscription`` must
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/pubsub/docs
26
26
  module PubsubV1beta2
27
27
  VERSION = 'V1beta2'
28
- REVISION = '20190314'
28
+ REVISION = '20190412'
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'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/remote-build-execution/docs/
26
26
  module RemotebuildexecutionV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190312'
28
+ REVISION = '20190415'
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'
@@ -1855,8 +1855,9 @@ module Google
1855
1855
  include Google::Apis::Core::Hashable
1856
1856
 
1857
1857
  # The update mask applies to worker_pool. For the `FieldMask` definition,
1858
- # see https://developers.google.com/protocol-buffers/docs/reference/google.
1859
- # protobuf#fieldmask
1858
+ # see
1859
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#
1860
+ # fieldmask
1860
1861
  # If an empty update_mask is provided, only the non-default valued field in
1861
1862
  # the worker pool field will be updated. Note that in order to update a field
1862
1863
  # to the default value (zero, false, empty string) an explicit update_mask
@@ -1893,8 +1894,8 @@ module Google
1893
1894
  attr_accessor :disk_size_gb
1894
1895
 
1895
1896
  # Required. Disk Type to use for the worker.
1896
- # See [Storage options](https://cloud.google.com/compute/docs/disks/#
1897
- # introduction).
1897
+ # See [Storage
1898
+ # options](https://cloud.google.com/compute/docs/disks/#introduction).
1898
1899
  # Currently only `pd-standard` is supported.
1899
1900
  # Corresponds to the JSON property `diskType`
1900
1901
  # @return [String]
@@ -3847,8 +3848,8 @@ module Google
3847
3848
  # If present, provides a compact representation of all the messages that have
3848
3849
  # been received by the caller for the given entity, e.g., it could be a
3849
3850
  # sequence number or a multi-part timestamp/version vector. This marker can
3850
- # be provided in the Request message, allowing the caller to resume the stream
3851
- # watching at a specific point without fetching the initial state.
3851
+ # be provided in the Request message, allowing the caller to resume the
3852
+ # stream watching at a specific point without fetching the initial state.
3852
3853
  # Corresponds to the JSON property `resumeMarker`
3853
3854
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
3854
3855
  # @return [String]
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/remote-build-execution/docs/
26
26
  module RemotebuildexecutionV1alpha
27
27
  VERSION = 'V1alpha'
28
- REVISION = '20190312'
28
+ REVISION = '20190415'
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'
@@ -1836,8 +1836,9 @@ module Google
1836
1836
  include Google::Apis::Core::Hashable
1837
1837
 
1838
1838
  # The update mask applies to worker_pool. For the `FieldMask` definition,
1839
- # see https://developers.google.com/protocol-buffers/docs/reference/google.
1840
- # protobuf#fieldmask
1839
+ # see
1840
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#
1841
+ # fieldmask
1841
1842
  # If an empty update_mask is provided, only the non-default valued field in
1842
1843
  # the worker pool field will be updated. Note that in order to update a field
1843
1844
  # to the default value (zero, false, empty string) an explicit update_mask
@@ -1874,8 +1875,8 @@ module Google
1874
1875
  attr_accessor :disk_size_gb
1875
1876
 
1876
1877
  # Required. Disk Type to use for the worker.
1877
- # See [Storage options](https://cloud.google.com/compute/docs/disks/#
1878
- # introduction).
1878
+ # See [Storage
1879
+ # options](https://cloud.google.com/compute/docs/disks/#introduction).
1879
1880
  # Currently only `pd-standard` is supported.
1880
1881
  # Corresponds to the JSON property `diskType`
1881
1882
  # @return [String]
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/remote-build-execution/docs/
26
26
  module RemotebuildexecutionV2
27
27
  VERSION = 'V2'
28
- REVISION = '20190312'
28
+ REVISION = '20190415'
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'
@@ -2589,8 +2589,9 @@ module Google
2589
2589
  include Google::Apis::Core::Hashable
2590
2590
 
2591
2591
  # The update mask applies to worker_pool. For the `FieldMask` definition,
2592
- # see https://developers.google.com/protocol-buffers/docs/reference/google.
2593
- # protobuf#fieldmask
2592
+ # see
2593
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#
2594
+ # fieldmask
2594
2595
  # If an empty update_mask is provided, only the non-default valued field in
2595
2596
  # the worker pool field will be updated. Note that in order to update a field
2596
2597
  # to the default value (zero, false, empty string) an explicit update_mask
@@ -2627,8 +2628,8 @@ module Google
2627
2628
  attr_accessor :disk_size_gb
2628
2629
 
2629
2630
  # Required. Disk Type to use for the worker.
2630
- # See [Storage options](https://cloud.google.com/compute/docs/disks/#
2631
- # introduction).
2631
+ # See [Storage
2632
+ # options](https://cloud.google.com/compute/docs/disks/#introduction).
2632
2633
  # Currently only `pd-standard` is supported.
2633
2634
  # Corresponds to the JSON property `diskType`
2634
2635
  # @return [String]
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/run/
27
27
  module RunV1alpha1
28
28
  VERSION = 'V1alpha1'
29
- REVISION = '20190329'
29
+ REVISION = '20190415'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -28,7 +28,7 @@ module Google
28
28
  # @see https://cloud.google.com/deployment-manager/runtime-configurator/
29
29
  module RuntimeconfigV1beta1
30
30
  VERSION = 'V1beta1'
31
- REVISION = '20190318'
31
+ REVISION = '20190415'
32
32
 
33
33
  # View and manage your data across Google Cloud Platform services
34
34
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -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_v1/service.rb'
16
+ require 'google/apis/securitycenter_v1/classes.rb'
17
+ require 'google/apis/securitycenter_v1/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 SecuritycenterV1
28
+ VERSION = 'V1'
29
+ REVISION = '20190426'
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,1627 @@
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 SecuritycenterV1
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
+ # IAM Policy information associated with the GCP resource described by the
39
+ # Cloud SCC asset. This information is managed and defined by the GCP
40
+ # resource and cannot be modified by the user.
41
+ # Corresponds to the JSON property `iamPolicy`
42
+ # @return [Google::Apis::SecuritycenterV1::IamPolicy]
43
+ attr_accessor :iam_policy
44
+
45
+ # The relative resource name of this asset. See:
46
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
47
+ # Example:
48
+ # "organizations/123/assets/456".
49
+ # Corresponds to the JSON property `name`
50
+ # @return [String]
51
+ attr_accessor :name
52
+
53
+ # Resource managed properties. These properties are managed and defined by
54
+ # the GCP resource and cannot be modified by the user.
55
+ # Corresponds to the JSON property `resourceProperties`
56
+ # @return [Hash<String,Object>]
57
+ attr_accessor :resource_properties
58
+
59
+ # Cloud SCC managed properties. These properties are managed by Cloud SCC and
60
+ # cannot be modified by the user.
61
+ # Corresponds to the JSON property `securityCenterProperties`
62
+ # @return [Google::Apis::SecuritycenterV1::SecurityCenterProperties]
63
+ attr_accessor :security_center_properties
64
+
65
+ # User specified security marks that are attached to the parent Cloud Security
66
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
67
+ # SCC organization -- they can be modified and viewed by all users who have
68
+ # proper permissions on the organization.
69
+ # Corresponds to the JSON property `securityMarks`
70
+ # @return [Google::Apis::SecuritycenterV1::SecurityMarks]
71
+ attr_accessor :security_marks
72
+
73
+ # The time at which the asset was last updated, added, or deleted in Cloud
74
+ # SCC.
75
+ # Corresponds to the JSON property `updateTime`
76
+ # @return [String]
77
+ attr_accessor :update_time
78
+
79
+ def initialize(**args)
80
+ update!(**args)
81
+ end
82
+
83
+ # Update properties of this object
84
+ def update!(**args)
85
+ @create_time = args[:create_time] if args.key?(:create_time)
86
+ @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
87
+ @name = args[:name] if args.key?(:name)
88
+ @resource_properties = args[:resource_properties] if args.key?(:resource_properties)
89
+ @security_center_properties = args[:security_center_properties] if args.key?(:security_center_properties)
90
+ @security_marks = args[:security_marks] if args.key?(:security_marks)
91
+ @update_time = args[:update_time] if args.key?(:update_time)
92
+ end
93
+ end
94
+
95
+ # The configuration used for Asset Discovery runs.
96
+ class AssetDiscoveryConfig
97
+ include Google::Apis::Core::Hashable
98
+
99
+ # The mode to use for filtering asset discovery.
100
+ # Corresponds to the JSON property `inclusionMode`
101
+ # @return [String]
102
+ attr_accessor :inclusion_mode
103
+
104
+ # The project ids to use for filtering asset discovery.
105
+ # Corresponds to the JSON property `projectIds`
106
+ # @return [Array<String>]
107
+ attr_accessor :project_ids
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @inclusion_mode = args[:inclusion_mode] if args.key?(:inclusion_mode)
116
+ @project_ids = args[:project_ids] if args.key?(:project_ids)
117
+ end
118
+ end
119
+
120
+ # Specifies the audit configuration for a service.
121
+ # The configuration determines which permission types are logged, and what
122
+ # identities, if any, are exempted from logging.
123
+ # An AuditConfig must have one or more AuditLogConfigs.
124
+ # If there are AuditConfigs for both `allServices` and a specific service,
125
+ # the union of the two AuditConfigs is used for that service: the log_types
126
+ # specified in each AuditConfig are enabled, and the exempted_members in each
127
+ # AuditLogConfig are exempted.
128
+ # Example Policy with multiple AuditConfigs:
129
+ # `
130
+ # "audit_configs": [
131
+ # `
132
+ # "service": "allServices"
133
+ # "audit_log_configs": [
134
+ # `
135
+ # "log_type": "DATA_READ",
136
+ # "exempted_members": [
137
+ # "user:foo@gmail.com"
138
+ # ]
139
+ # `,
140
+ # `
141
+ # "log_type": "DATA_WRITE",
142
+ # `,
143
+ # `
144
+ # "log_type": "ADMIN_READ",
145
+ # `
146
+ # ]
147
+ # `,
148
+ # `
149
+ # "service": "fooservice.googleapis.com"
150
+ # "audit_log_configs": [
151
+ # `
152
+ # "log_type": "DATA_READ",
153
+ # `,
154
+ # `
155
+ # "log_type": "DATA_WRITE",
156
+ # "exempted_members": [
157
+ # "user:bar@gmail.com"
158
+ # ]
159
+ # `
160
+ # ]
161
+ # `
162
+ # ]
163
+ # `
164
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
165
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
166
+ # bar@gmail.com from DATA_WRITE logging.
167
+ class AuditConfig
168
+ include Google::Apis::Core::Hashable
169
+
170
+ # The configuration for logging of each type of permission.
171
+ # Corresponds to the JSON property `auditLogConfigs`
172
+ # @return [Array<Google::Apis::SecuritycenterV1::AuditLogConfig>]
173
+ attr_accessor :audit_log_configs
174
+
175
+ # Specifies a service that will be enabled for audit logging.
176
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
177
+ # `allServices` is a special value that covers all services.
178
+ # Corresponds to the JSON property `service`
179
+ # @return [String]
180
+ attr_accessor :service
181
+
182
+ def initialize(**args)
183
+ update!(**args)
184
+ end
185
+
186
+ # Update properties of this object
187
+ def update!(**args)
188
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
189
+ @service = args[:service] if args.key?(:service)
190
+ end
191
+ end
192
+
193
+ # Provides the configuration for logging a type of permissions.
194
+ # Example:
195
+ # `
196
+ # "audit_log_configs": [
197
+ # `
198
+ # "log_type": "DATA_READ",
199
+ # "exempted_members": [
200
+ # "user:foo@gmail.com"
201
+ # ]
202
+ # `,
203
+ # `
204
+ # "log_type": "DATA_WRITE",
205
+ # `
206
+ # ]
207
+ # `
208
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
209
+ # foo@gmail.com from DATA_READ logging.
210
+ class AuditLogConfig
211
+ include Google::Apis::Core::Hashable
212
+
213
+ # Specifies the identities that do not cause logging for this type of
214
+ # permission.
215
+ # Follows the same format of Binding.members.
216
+ # Corresponds to the JSON property `exemptedMembers`
217
+ # @return [Array<String>]
218
+ attr_accessor :exempted_members
219
+
220
+ # The log type that this config enables.
221
+ # Corresponds to the JSON property `logType`
222
+ # @return [String]
223
+ attr_accessor :log_type
224
+
225
+ def initialize(**args)
226
+ update!(**args)
227
+ end
228
+
229
+ # Update properties of this object
230
+ def update!(**args)
231
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
232
+ @log_type = args[:log_type] if args.key?(:log_type)
233
+ end
234
+ end
235
+
236
+ # Associates `members` with a `role`.
237
+ class Binding
238
+ include Google::Apis::Core::Hashable
239
+
240
+ # Represents an expression text. Example:
241
+ # title: "User account presence"
242
+ # description: "Determines whether the request has a user account"
243
+ # expression: "size(request.user) > 0"
244
+ # Corresponds to the JSON property `condition`
245
+ # @return [Google::Apis::SecuritycenterV1::Expr]
246
+ attr_accessor :condition
247
+
248
+ # Specifies the identities requesting access for a Cloud Platform resource.
249
+ # `members` can have the following values:
250
+ # * `allUsers`: A special identifier that represents anyone who is
251
+ # on the internet; with or without a Google account.
252
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
253
+ # who is authenticated with a Google account or a service account.
254
+ # * `user:`emailid``: An email address that represents a specific Google
255
+ # account. For example, `alice@gmail.com` .
256
+ # * `serviceAccount:`emailid``: An email address that represents a service
257
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
258
+ # * `group:`emailid``: An email address that represents a Google group.
259
+ # For example, `admins@example.com`.
260
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
261
+ # users of that domain. For example, `google.com` or `example.com`.
262
+ # Corresponds to the JSON property `members`
263
+ # @return [Array<String>]
264
+ attr_accessor :members
265
+
266
+ # Role that is assigned to `members`.
267
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
268
+ # Corresponds to the JSON property `role`
269
+ # @return [String]
270
+ attr_accessor :role
271
+
272
+ def initialize(**args)
273
+ update!(**args)
274
+ end
275
+
276
+ # Update properties of this object
277
+ def update!(**args)
278
+ @condition = args[:condition] if args.key?(:condition)
279
+ @members = args[:members] if args.key?(:members)
280
+ @role = args[:role] if args.key?(:role)
281
+ end
282
+ end
283
+
284
+ # A generic empty message that you can re-use to avoid defining duplicated
285
+ # empty messages in your APIs. A typical example is to use it as the request
286
+ # or the response type of an API method. For instance:
287
+ # service Foo `
288
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
289
+ # `
290
+ # The JSON representation for `Empty` is empty JSON object ````.
291
+ class Empty
292
+ include Google::Apis::Core::Hashable
293
+
294
+ def initialize(**args)
295
+ update!(**args)
296
+ end
297
+
298
+ # Update properties of this object
299
+ def update!(**args)
300
+ end
301
+ end
302
+
303
+ # Represents an expression text. Example:
304
+ # title: "User account presence"
305
+ # description: "Determines whether the request has a user account"
306
+ # expression: "size(request.user) > 0"
307
+ class Expr
308
+ include Google::Apis::Core::Hashable
309
+
310
+ # An optional description of the expression. This is a longer text which
311
+ # describes the expression, e.g. when hovered over it in a UI.
312
+ # Corresponds to the JSON property `description`
313
+ # @return [String]
314
+ attr_accessor :description
315
+
316
+ # Textual representation of an expression in
317
+ # Common Expression Language syntax.
318
+ # The application context of the containing message determines which
319
+ # well-known feature set of CEL is supported.
320
+ # Corresponds to the JSON property `expression`
321
+ # @return [String]
322
+ attr_accessor :expression
323
+
324
+ # An optional string indicating the location of the expression for error
325
+ # reporting, e.g. a file name and a position in the file.
326
+ # Corresponds to the JSON property `location`
327
+ # @return [String]
328
+ attr_accessor :location
329
+
330
+ # An optional title for the expression, i.e. a short string describing
331
+ # its purpose. This can be used e.g. in UIs which allow to enter the
332
+ # expression.
333
+ # Corresponds to the JSON property `title`
334
+ # @return [String]
335
+ attr_accessor :title
336
+
337
+ def initialize(**args)
338
+ update!(**args)
339
+ end
340
+
341
+ # Update properties of this object
342
+ def update!(**args)
343
+ @description = args[:description] if args.key?(:description)
344
+ @expression = args[:expression] if args.key?(:expression)
345
+ @location = args[:location] if args.key?(:location)
346
+ @title = args[:title] if args.key?(:title)
347
+ end
348
+ end
349
+
350
+ # Cloud Security Command Center (Cloud SCC) finding.
351
+ # A finding is a record of assessment data (security, risk, health or privacy)
352
+ # ingested into Cloud SCC for presentation, notification, analysis,
353
+ # policy testing, and enforcement. For example, an XSS vulnerability in an
354
+ # App Engine application is a finding.
355
+ class Finding
356
+ include Google::Apis::Core::Hashable
357
+
358
+ # The additional taxonomy group within findings from a given source.
359
+ # This field is immutable after creation time.
360
+ # Example: "XSS_FLASH_INJECTION"
361
+ # Corresponds to the JSON property `category`
362
+ # @return [String]
363
+ attr_accessor :category
364
+
365
+ # The time at which the finding was created in Cloud SCC.
366
+ # Corresponds to the JSON property `createTime`
367
+ # @return [String]
368
+ attr_accessor :create_time
369
+
370
+ # The time at which the event took place. For example, if the finding
371
+ # represents an open firewall it would capture the time the open firewall was
372
+ # detected.
373
+ # Corresponds to the JSON property `eventTime`
374
+ # @return [String]
375
+ attr_accessor :event_time
376
+
377
+ # The URI that, if available, points to a web page outside of Cloud SCC
378
+ # where additional information about the finding can be found. This field is
379
+ # guaranteed to be either empty or a well formed URL.
380
+ # Corresponds to the JSON property `externalUri`
381
+ # @return [String]
382
+ attr_accessor :external_uri
383
+
384
+ # The relative resource name of this finding. See:
385
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
386
+ # Example:
387
+ # "organizations/123/sources/456/findings/789"
388
+ # Corresponds to the JSON property `name`
389
+ # @return [String]
390
+ attr_accessor :name
391
+
392
+ # The relative resource name of the source the finding belongs to. See:
393
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
394
+ # This field is immutable after creation time.
395
+ # For example:
396
+ # "organizations/123/sources/456"
397
+ # Corresponds to the JSON property `parent`
398
+ # @return [String]
399
+ attr_accessor :parent
400
+
401
+ # The full resource name of the Google Cloud Platform (GCP) resource this
402
+ # finding is for. See:
403
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
404
+ # This field is immutable after creation time.
405
+ # Corresponds to the JSON property `resourceName`
406
+ # @return [String]
407
+ attr_accessor :resource_name
408
+
409
+ # User specified security marks that are attached to the parent Cloud Security
410
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
411
+ # SCC organization -- they can be modified and viewed by all users who have
412
+ # proper permissions on the organization.
413
+ # Corresponds to the JSON property `securityMarks`
414
+ # @return [Google::Apis::SecuritycenterV1::SecurityMarks]
415
+ attr_accessor :security_marks
416
+
417
+ # Source specific properties. These properties are managed by the source
418
+ # that writes the finding. The key names in the source_properties map must be
419
+ # between 1 and 255 characters, and must start with a letter and contain
420
+ # alphanumeric characters or underscores only.
421
+ # Corresponds to the JSON property `sourceProperties`
422
+ # @return [Hash<String,Object>]
423
+ attr_accessor :source_properties
424
+
425
+ # The state of the finding.
426
+ # Corresponds to the JSON property `state`
427
+ # @return [String]
428
+ attr_accessor :state
429
+
430
+ def initialize(**args)
431
+ update!(**args)
432
+ end
433
+
434
+ # Update properties of this object
435
+ def update!(**args)
436
+ @category = args[:category] if args.key?(:category)
437
+ @create_time = args[:create_time] if args.key?(:create_time)
438
+ @event_time = args[:event_time] if args.key?(:event_time)
439
+ @external_uri = args[:external_uri] if args.key?(:external_uri)
440
+ @name = args[:name] if args.key?(:name)
441
+ @parent = args[:parent] if args.key?(:parent)
442
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
443
+ @security_marks = args[:security_marks] if args.key?(:security_marks)
444
+ @source_properties = args[:source_properties] if args.key?(:source_properties)
445
+ @state = args[:state] if args.key?(:state)
446
+ end
447
+ end
448
+
449
+ # Request message for `GetIamPolicy` method.
450
+ class GetIamPolicyRequest
451
+ include Google::Apis::Core::Hashable
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ end
460
+ end
461
+
462
+ # Response of asset discovery run
463
+ class GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse
464
+ include Google::Apis::Core::Hashable
465
+
466
+ # The duration between asset discovery run start and end
467
+ # Corresponds to the JSON property `duration`
468
+ # @return [String]
469
+ attr_accessor :duration
470
+
471
+ # The state of an asset discovery run.
472
+ # Corresponds to the JSON property `state`
473
+ # @return [String]
474
+ attr_accessor :state
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @duration = args[:duration] if args.key?(:duration)
483
+ @state = args[:state] if args.key?(:state)
484
+ end
485
+ end
486
+
487
+ # Response of asset discovery run
488
+ class GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse
489
+ include Google::Apis::Core::Hashable
490
+
491
+ # The duration between asset discovery run start and end
492
+ # Corresponds to the JSON property `duration`
493
+ # @return [String]
494
+ attr_accessor :duration
495
+
496
+ # The state of an asset discovery run.
497
+ # Corresponds to the JSON property `state`
498
+ # @return [String]
499
+ attr_accessor :state
500
+
501
+ def initialize(**args)
502
+ update!(**args)
503
+ end
504
+
505
+ # Update properties of this object
506
+ def update!(**args)
507
+ @duration = args[:duration] if args.key?(:duration)
508
+ @state = args[:state] if args.key?(:state)
509
+ end
510
+ end
511
+
512
+ # Request message for grouping by assets.
513
+ class GroupAssetsRequest
514
+ include Google::Apis::Core::Hashable
515
+
516
+ # When compare_duration is set, the GroupResult's "state_change" property is
517
+ # updated to indicate whether the asset was added, removed, or remained
518
+ # present during the compare_duration period of time that precedes the
519
+ # read_time. This is the time between (read_time - compare_duration) and
520
+ # read_time.
521
+ # The state change value is derived based on the presence of the asset at the
522
+ # two points in time. Intermediate state changes between the two times don't
523
+ # affect the result. For example, the results aren't affected if the asset is
524
+ # removed and re-created again.
525
+ # Possible "state_change" values when compare_duration is specified:
526
+ # * "ADDED": indicates that the asset was not present at the start of
527
+ # compare_duration, but present at reference_time.
528
+ # * "REMOVED": indicates that the asset was present at the start of
529
+ # compare_duration, but not present at reference_time.
530
+ # * "ACTIVE": indicates that the asset was present at both the
531
+ # start and the end of the time period defined by
532
+ # compare_duration and reference_time.
533
+ # If compare_duration is not specified, then the only possible state_change
534
+ # is "UNUSED", which will be the state_change set for all assets present at
535
+ # read_time.
536
+ # If this field is set then `state_change` must be a specified field in
537
+ # `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 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
+ # The following field and operator combinations are supported:
562
+ # * name: `=`
563
+ # * update_time: `>`, `<`, `>=`, `<=`, `=`
564
+ # * create_time: `>`, `<`, `>=`, `<=`, `=`
565
+ # * iam_policy.policy_blob: `=`, `:`
566
+ # * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
567
+ # * security_marks: `=`, `:`
568
+ # * security_center_properties.resource_name: `=`, `:`
569
+ # * security_center_properties.resource_type: `=`, `:`
570
+ # * security_center_properties.resource_parent: `=`, `:`
571
+ # * security_center_properties.resource_project: `=`, `:`
572
+ # * security_center_properties.resource_owners: `=`, `:`
573
+ # For example, `resource_properties.size = 100` is a valid filter string.
574
+ # Corresponds to the JSON property `filter`
575
+ # @return [String]
576
+ attr_accessor :filter
577
+
578
+ # Expression that defines what assets fields to use for grouping. The string
579
+ # value should follow SQL syntax: comma separated list of fields. For
580
+ # example:
581
+ # "security_center_properties.resource_project,security_center_properties.
582
+ # project".
583
+ # The following fields are supported when compare_duration is not set:
584
+ # * security_center_properties.resource_project
585
+ # * security_center_properties.resource_type
586
+ # * security_center_properties.resource_parent
587
+ # The following fields are supported when compare_duration is set:
588
+ # * security_center_properties.resource_type
589
+ # Corresponds to the JSON property `groupBy`
590
+ # @return [String]
591
+ attr_accessor :group_by
592
+
593
+ # The maximum number of results to return in a single response. Default is
594
+ # 10, minimum is 1, maximum is 1000.
595
+ # Corresponds to the JSON property `pageSize`
596
+ # @return [Fixnum]
597
+ attr_accessor :page_size
598
+
599
+ # The value returned by the last `GroupAssetsResponse`; indicates
600
+ # that this is a continuation of a prior `GroupAssets` call, and that the
601
+ # system should return the next page of data.
602
+ # Corresponds to the JSON property `pageToken`
603
+ # @return [String]
604
+ attr_accessor :page_token
605
+
606
+ # Time used as a reference point when filtering assets. The filter is limited
607
+ # to assets existing at the supplied time and their values are those at that
608
+ # specific time. Absence of this field will default to the API's version of
609
+ # NOW.
610
+ # Corresponds to the JSON property `readTime`
611
+ # @return [String]
612
+ attr_accessor :read_time
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @compare_duration = args[:compare_duration] if args.key?(:compare_duration)
621
+ @filter = args[:filter] if args.key?(:filter)
622
+ @group_by = args[:group_by] if args.key?(:group_by)
623
+ @page_size = args[:page_size] if args.key?(:page_size)
624
+ @page_token = args[:page_token] if args.key?(:page_token)
625
+ @read_time = args[:read_time] if args.key?(:read_time)
626
+ end
627
+ end
628
+
629
+ # Response message for grouping by assets.
630
+ class GroupAssetsResponse
631
+ include Google::Apis::Core::Hashable
632
+
633
+ # Group results. There exists an element for each existing unique
634
+ # combination of property/values. The element contains a count for the number
635
+ # of times those specific property/values appear.
636
+ # Corresponds to the JSON property `groupByResults`
637
+ # @return [Array<Google::Apis::SecuritycenterV1::GroupResult>]
638
+ attr_accessor :group_by_results
639
+
640
+ # Token to retrieve the next page of results, or empty if there are no more
641
+ # results.
642
+ # Corresponds to the JSON property `nextPageToken`
643
+ # @return [String]
644
+ attr_accessor :next_page_token
645
+
646
+ # Time used for executing the groupBy request.
647
+ # Corresponds to the JSON property `readTime`
648
+ # @return [String]
649
+ attr_accessor :read_time
650
+
651
+ # The total number of results matching the query.
652
+ # Corresponds to the JSON property `totalSize`
653
+ # @return [Fixnum]
654
+ attr_accessor :total_size
655
+
656
+ def initialize(**args)
657
+ update!(**args)
658
+ end
659
+
660
+ # Update properties of this object
661
+ def update!(**args)
662
+ @group_by_results = args[:group_by_results] if args.key?(:group_by_results)
663
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
664
+ @read_time = args[:read_time] if args.key?(:read_time)
665
+ @total_size = args[:total_size] if args.key?(:total_size)
666
+ end
667
+ end
668
+
669
+ # Request message for grouping by findings.
670
+ class GroupFindingsRequest
671
+ include Google::Apis::Core::Hashable
672
+
673
+ # When compare_duration is set, the GroupResult's "state_change" attribute is
674
+ # updated to indicate whether the finding had its state changed, the
675
+ # finding's state remained unchanged, or if the finding was added during the
676
+ # compare_duration period of time that precedes the read_time. This is the
677
+ # time between (read_time - compare_duration) and read_time.
678
+ # The state_change value is derived based on the presence and state of the
679
+ # finding at the two points in time. Intermediate state changes between the
680
+ # two times don't affect the result. For example, the results aren't affected
681
+ # if the finding is made inactive and then active again.
682
+ # Possible "state_change" values when compare_duration is specified:
683
+ # * "CHANGED": indicates that the finding was present at the start of
684
+ # compare_duration, but changed its state at read_time.
685
+ # * "UNCHANGED": indicates that the finding was present at the start of
686
+ # compare_duration and did not change state at read_time.
687
+ # * "ADDED": indicates that the finding was not present at the start
688
+ # of compare_duration, but was present at read_time.
689
+ # If compare_duration is not specified, then the only possible state_change
690
+ # is "UNUSED", which will be the state_change set for all findings present
691
+ # at read_time.
692
+ # If this field is set then `state_change` must be a specified field in
693
+ # `group_by`.
694
+ # Corresponds to the JSON property `compareDuration`
695
+ # @return [String]
696
+ attr_accessor :compare_duration
697
+
698
+ # Expression that defines the filter to apply across findings.
699
+ # The expression is a list of one or more restrictions combined via logical
700
+ # operators `AND` and `OR`.
701
+ # Parentheses are supported, and `OR` has higher precedence than `AND`.
702
+ # Restrictions have the form `<field> <operator> <value>` and may have a `-`
703
+ # character in front of them to indicate negation. Examples include:
704
+ # * name
705
+ # * source_properties.a_property
706
+ # * security_marks.marks.marka
707
+ # The supported operators are:
708
+ # * `=` for all value types.
709
+ # * `>`, `<`, `>=`, `<=` for integer values.
710
+ # * `:`, meaning substring matching, for strings.
711
+ # The supported value types are:
712
+ # * string literals in quotes.
713
+ # * integer literals without quotes.
714
+ # * boolean literals `true` and `false` without quotes.
715
+ # The following field and operator combinations are supported:
716
+ # * name: `=`
717
+ # * parent: `=`, `:`
718
+ # * resource_name: `=`, `:`
719
+ # * state: `=`, `:`
720
+ # * category: `=`, `:`
721
+ # * external_uri: `=`, `:`
722
+ # * event_time: `>`, `<`, `>=`, `<=`
723
+ # * security_marks: `=`, `:`
724
+ # * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
725
+ # For example, `source_properties.size = 100` is a valid filter string.
726
+ # Corresponds to the JSON property `filter`
727
+ # @return [String]
728
+ attr_accessor :filter
729
+
730
+ # Expression that defines what assets fields to use for grouping (including
731
+ # `state_change`). The string value should follow SQL syntax: comma separated
732
+ # list of fields. For example: "parent,resource_name".
733
+ # The following fields are supported:
734
+ # * resource_name
735
+ # * category
736
+ # * state
737
+ # * parent
738
+ # The following fields are supported when compare_duration is set:
739
+ # * state_change
740
+ # Corresponds to the JSON property `groupBy`
741
+ # @return [String]
742
+ attr_accessor :group_by
743
+
744
+ # The maximum number of results to return in a single response. Default is
745
+ # 10, minimum is 1, maximum is 1000.
746
+ # Corresponds to the JSON property `pageSize`
747
+ # @return [Fixnum]
748
+ attr_accessor :page_size
749
+
750
+ # The value returned by the last `GroupFindingsResponse`; indicates
751
+ # that this is a continuation of a prior `GroupFindings` call, and
752
+ # that the system should return the next page of data.
753
+ # Corresponds to the JSON property `pageToken`
754
+ # @return [String]
755
+ attr_accessor :page_token
756
+
757
+ # Time used as a reference point when filtering findings. The filter is
758
+ # limited to findings existing at the supplied time and their values are
759
+ # those at that specific time. Absence of this field will default to the
760
+ # API's version of NOW.
761
+ # Corresponds to the JSON property `readTime`
762
+ # @return [String]
763
+ attr_accessor :read_time
764
+
765
+ def initialize(**args)
766
+ update!(**args)
767
+ end
768
+
769
+ # Update properties of this object
770
+ def update!(**args)
771
+ @compare_duration = args[:compare_duration] if args.key?(:compare_duration)
772
+ @filter = args[:filter] if args.key?(:filter)
773
+ @group_by = args[:group_by] if args.key?(:group_by)
774
+ @page_size = args[:page_size] if args.key?(:page_size)
775
+ @page_token = args[:page_token] if args.key?(:page_token)
776
+ @read_time = args[:read_time] if args.key?(:read_time)
777
+ end
778
+ end
779
+
780
+ # Response message for group by findings.
781
+ class GroupFindingsResponse
782
+ include Google::Apis::Core::Hashable
783
+
784
+ # Group results. There exists an element for each existing unique
785
+ # combination of property/values. The element contains a count for the number
786
+ # of times those specific property/values appear.
787
+ # Corresponds to the JSON property `groupByResults`
788
+ # @return [Array<Google::Apis::SecuritycenterV1::GroupResult>]
789
+ attr_accessor :group_by_results
790
+
791
+ # Token to retrieve the next page of results, or empty if there are no more
792
+ # results.
793
+ # Corresponds to the JSON property `nextPageToken`
794
+ # @return [String]
795
+ attr_accessor :next_page_token
796
+
797
+ # Time used for executing the groupBy request.
798
+ # Corresponds to the JSON property `readTime`
799
+ # @return [String]
800
+ attr_accessor :read_time
801
+
802
+ # The total number of results matching the query.
803
+ # Corresponds to the JSON property `totalSize`
804
+ # @return [Fixnum]
805
+ attr_accessor :total_size
806
+
807
+ def initialize(**args)
808
+ update!(**args)
809
+ end
810
+
811
+ # Update properties of this object
812
+ def update!(**args)
813
+ @group_by_results = args[:group_by_results] if args.key?(:group_by_results)
814
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
815
+ @read_time = args[:read_time] if args.key?(:read_time)
816
+ @total_size = args[:total_size] if args.key?(:total_size)
817
+ end
818
+ end
819
+
820
+ # Result containing the properties and count of a groupBy request.
821
+ class GroupResult
822
+ include Google::Apis::Core::Hashable
823
+
824
+ # Total count of resources for the given properties.
825
+ # Corresponds to the JSON property `count`
826
+ # @return [Fixnum]
827
+ attr_accessor :count
828
+
829
+ # Properties matching the groupBy fields in the request.
830
+ # Corresponds to the JSON property `properties`
831
+ # @return [Hash<String,Object>]
832
+ attr_accessor :properties
833
+
834
+ def initialize(**args)
835
+ update!(**args)
836
+ end
837
+
838
+ # Update properties of this object
839
+ def update!(**args)
840
+ @count = args[:count] if args.key?(:count)
841
+ @properties = args[:properties] if args.key?(:properties)
842
+ end
843
+ end
844
+
845
+ # IAM Policy information associated with the GCP resource described by the
846
+ # Cloud SCC asset. This information is managed and defined by the GCP
847
+ # resource and cannot be modified by the user.
848
+ class IamPolicy
849
+ include Google::Apis::Core::Hashable
850
+
851
+ # The JSON representation of the Policy associated with the asset.
852
+ # See https://cloud.google.com/iam/reference/rest/v1/Policy for format
853
+ # details.
854
+ # Corresponds to the JSON property `policyBlob`
855
+ # @return [String]
856
+ attr_accessor :policy_blob
857
+
858
+ def initialize(**args)
859
+ update!(**args)
860
+ end
861
+
862
+ # Update properties of this object
863
+ def update!(**args)
864
+ @policy_blob = args[:policy_blob] if args.key?(:policy_blob)
865
+ end
866
+ end
867
+
868
+ # Response message for listing assets.
869
+ class ListAssetsResponse
870
+ include Google::Apis::Core::Hashable
871
+
872
+ # Assets matching the list request.
873
+ # Corresponds to the JSON property `listAssetsResults`
874
+ # @return [Array<Google::Apis::SecuritycenterV1::ListAssetsResult>]
875
+ attr_accessor :list_assets_results
876
+
877
+ # Token to retrieve the next page of results, or empty if there are no more
878
+ # results.
879
+ # Corresponds to the JSON property `nextPageToken`
880
+ # @return [String]
881
+ attr_accessor :next_page_token
882
+
883
+ # Time used for executing the list request.
884
+ # Corresponds to the JSON property `readTime`
885
+ # @return [String]
886
+ attr_accessor :read_time
887
+
888
+ # The total number of assets matching the query.
889
+ # Corresponds to the JSON property `totalSize`
890
+ # @return [Fixnum]
891
+ attr_accessor :total_size
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @list_assets_results = args[:list_assets_results] if args.key?(:list_assets_results)
900
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
901
+ @read_time = args[:read_time] if args.key?(:read_time)
902
+ @total_size = args[:total_size] if args.key?(:total_size)
903
+ end
904
+ end
905
+
906
+ # Result containing the Asset and its State.
907
+ class ListAssetsResult
908
+ include Google::Apis::Core::Hashable
909
+
910
+ # Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
911
+ # Platform (GCP) resource.
912
+ # The Asset is a Cloud SCC resource that captures information about a single
913
+ # GCP resource. All modifications to an Asset are only within the context of
914
+ # Cloud SCC and don't affect the referenced GCP resource.
915
+ # Corresponds to the JSON property `asset`
916
+ # @return [Google::Apis::SecuritycenterV1::Asset]
917
+ attr_accessor :asset
918
+
919
+ # State change of the asset between the points in time.
920
+ # Corresponds to the JSON property `stateChange`
921
+ # @return [String]
922
+ attr_accessor :state_change
923
+
924
+ def initialize(**args)
925
+ update!(**args)
926
+ end
927
+
928
+ # Update properties of this object
929
+ def update!(**args)
930
+ @asset = args[:asset] if args.key?(:asset)
931
+ @state_change = args[:state_change] if args.key?(:state_change)
932
+ end
933
+ end
934
+
935
+ # Response message for listing findings.
936
+ class ListFindingsResponse
937
+ include Google::Apis::Core::Hashable
938
+
939
+ # Findings matching the list request.
940
+ # Corresponds to the JSON property `listFindingsResults`
941
+ # @return [Array<Google::Apis::SecuritycenterV1::ListFindingsResult>]
942
+ attr_accessor :list_findings_results
943
+
944
+ # Token to retrieve the next page of results, or empty if there are no more
945
+ # results.
946
+ # Corresponds to the JSON property `nextPageToken`
947
+ # @return [String]
948
+ attr_accessor :next_page_token
949
+
950
+ # Time used for executing the list request.
951
+ # Corresponds to the JSON property `readTime`
952
+ # @return [String]
953
+ attr_accessor :read_time
954
+
955
+ # The total number of findings matching the query.
956
+ # Corresponds to the JSON property `totalSize`
957
+ # @return [Fixnum]
958
+ attr_accessor :total_size
959
+
960
+ def initialize(**args)
961
+ update!(**args)
962
+ end
963
+
964
+ # Update properties of this object
965
+ def update!(**args)
966
+ @list_findings_results = args[:list_findings_results] if args.key?(:list_findings_results)
967
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
968
+ @read_time = args[:read_time] if args.key?(:read_time)
969
+ @total_size = args[:total_size] if args.key?(:total_size)
970
+ end
971
+ end
972
+
973
+ # Result containing the Finding and its StateChange.
974
+ class ListFindingsResult
975
+ include Google::Apis::Core::Hashable
976
+
977
+ # Cloud Security Command Center (Cloud SCC) finding.
978
+ # A finding is a record of assessment data (security, risk, health or privacy)
979
+ # ingested into Cloud SCC for presentation, notification, analysis,
980
+ # policy testing, and enforcement. For example, an XSS vulnerability in an
981
+ # App Engine application is a finding.
982
+ # Corresponds to the JSON property `finding`
983
+ # @return [Google::Apis::SecuritycenterV1::Finding]
984
+ attr_accessor :finding
985
+
986
+ # State change of the finding between the points in time.
987
+ # Corresponds to the JSON property `stateChange`
988
+ # @return [String]
989
+ attr_accessor :state_change
990
+
991
+ def initialize(**args)
992
+ update!(**args)
993
+ end
994
+
995
+ # Update properties of this object
996
+ def update!(**args)
997
+ @finding = args[:finding] if args.key?(:finding)
998
+ @state_change = args[:state_change] if args.key?(:state_change)
999
+ end
1000
+ end
1001
+
1002
+ # The response message for Operations.ListOperations.
1003
+ class ListOperationsResponse
1004
+ include Google::Apis::Core::Hashable
1005
+
1006
+ # The standard List next-page token.
1007
+ # Corresponds to the JSON property `nextPageToken`
1008
+ # @return [String]
1009
+ attr_accessor :next_page_token
1010
+
1011
+ # A list of operations that matches the specified filter in the request.
1012
+ # Corresponds to the JSON property `operations`
1013
+ # @return [Array<Google::Apis::SecuritycenterV1::Operation>]
1014
+ attr_accessor :operations
1015
+
1016
+ def initialize(**args)
1017
+ update!(**args)
1018
+ end
1019
+
1020
+ # Update properties of this object
1021
+ def update!(**args)
1022
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1023
+ @operations = args[:operations] if args.key?(:operations)
1024
+ end
1025
+ end
1026
+
1027
+ # Response message for listing sources.
1028
+ class ListSourcesResponse
1029
+ include Google::Apis::Core::Hashable
1030
+
1031
+ # Token to retrieve the next page of results, or empty if there are no more
1032
+ # results.
1033
+ # Corresponds to the JSON property `nextPageToken`
1034
+ # @return [String]
1035
+ attr_accessor :next_page_token
1036
+
1037
+ # Sources belonging to the requested parent.
1038
+ # Corresponds to the JSON property `sources`
1039
+ # @return [Array<Google::Apis::SecuritycenterV1::Source>]
1040
+ attr_accessor :sources
1041
+
1042
+ def initialize(**args)
1043
+ update!(**args)
1044
+ end
1045
+
1046
+ # Update properties of this object
1047
+ def update!(**args)
1048
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1049
+ @sources = args[:sources] if args.key?(:sources)
1050
+ end
1051
+ end
1052
+
1053
+ # This resource represents a long-running operation that is the result of a
1054
+ # network API call.
1055
+ class Operation
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ # If the value is `false`, it means the operation is still in progress.
1059
+ # If `true`, the operation is completed, and either `error` or `response` is
1060
+ # available.
1061
+ # Corresponds to the JSON property `done`
1062
+ # @return [Boolean]
1063
+ attr_accessor :done
1064
+ alias_method :done?, :done
1065
+
1066
+ # The `Status` type defines a logical error model that is suitable for
1067
+ # different programming environments, including REST APIs and RPC APIs. It is
1068
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1069
+ # - Simple to use and understand for most users
1070
+ # - Flexible enough to meet unexpected needs
1071
+ # # Overview
1072
+ # The `Status` message contains three pieces of data: error code, error
1073
+ # message, and error details. The error code should be an enum value of
1074
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1075
+ # error message should be a developer-facing English message that helps
1076
+ # developers *understand* and *resolve* the error. If a localized user-facing
1077
+ # error message is needed, put the localized message in the error details or
1078
+ # localize it in the client. The optional error details may contain arbitrary
1079
+ # information about the error. There is a predefined set of error detail types
1080
+ # in the package `google.rpc` that can be used for common error conditions.
1081
+ # # Language mapping
1082
+ # The `Status` message is the logical representation of the error model, but it
1083
+ # is not necessarily the actual wire format. When the `Status` message is
1084
+ # exposed in different client libraries and different wire protocols, it can be
1085
+ # mapped differently. For example, it will likely be mapped to some exceptions
1086
+ # in Java, but more likely mapped to some error codes in C.
1087
+ # # Other uses
1088
+ # The error model and the `Status` message can be used in a variety of
1089
+ # environments, either with or without APIs, to provide a
1090
+ # consistent developer experience across different environments.
1091
+ # Example uses of this error model include:
1092
+ # - Partial errors. If a service needs to return partial errors to the client,
1093
+ # it may embed the `Status` in the normal response to indicate the partial
1094
+ # errors.
1095
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1096
+ # have a `Status` message for error reporting.
1097
+ # - Batch operations. If a client uses batch request and batch response, the
1098
+ # `Status` message should be used directly inside batch response, one for
1099
+ # each error sub-response.
1100
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1101
+ # results in its response, the status of those operations should be
1102
+ # represented directly using the `Status` message.
1103
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1104
+ # be used directly after any stripping needed for security/privacy reasons.
1105
+ # Corresponds to the JSON property `error`
1106
+ # @return [Google::Apis::SecuritycenterV1::Status]
1107
+ attr_accessor :error
1108
+
1109
+ # Service-specific metadata associated with the operation. It typically
1110
+ # contains progress information and common metadata such as create time.
1111
+ # Some services might not provide such metadata. Any method that returns a
1112
+ # long-running operation should document the metadata type, if any.
1113
+ # Corresponds to the JSON property `metadata`
1114
+ # @return [Hash<String,Object>]
1115
+ attr_accessor :metadata
1116
+
1117
+ # The server-assigned name, which is only unique within the same service that
1118
+ # originally returns it. If you use the default HTTP mapping, the
1119
+ # `name` should have the format of `operations/some/unique/name`.
1120
+ # Corresponds to the JSON property `name`
1121
+ # @return [String]
1122
+ attr_accessor :name
1123
+
1124
+ # The normal response of the operation in case of success. If the original
1125
+ # method returns no data on success, such as `Delete`, the response is
1126
+ # `google.protobuf.Empty`. If the original method is standard
1127
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1128
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1129
+ # is the original method name. For example, if the original method name
1130
+ # is `TakeSnapshot()`, the inferred response type is
1131
+ # `TakeSnapshotResponse`.
1132
+ # Corresponds to the JSON property `response`
1133
+ # @return [Hash<String,Object>]
1134
+ attr_accessor :response
1135
+
1136
+ def initialize(**args)
1137
+ update!(**args)
1138
+ end
1139
+
1140
+ # Update properties of this object
1141
+ def update!(**args)
1142
+ @done = args[:done] if args.key?(:done)
1143
+ @error = args[:error] if args.key?(:error)
1144
+ @metadata = args[:metadata] if args.key?(:metadata)
1145
+ @name = args[:name] if args.key?(:name)
1146
+ @response = args[:response] if args.key?(:response)
1147
+ end
1148
+ end
1149
+
1150
+ # User specified settings that are attached to the Cloud Security Command
1151
+ # Center (Cloud SCC) organization.
1152
+ class OrganizationSettings
1153
+ include Google::Apis::Core::Hashable
1154
+
1155
+ # The configuration used for Asset Discovery runs.
1156
+ # Corresponds to the JSON property `assetDiscoveryConfig`
1157
+ # @return [Google::Apis::SecuritycenterV1::AssetDiscoveryConfig]
1158
+ attr_accessor :asset_discovery_config
1159
+
1160
+ # A flag that indicates if Asset Discovery should be enabled. If the flag is
1161
+ # set to `true`, then discovery of assets will occur. If it is set to `false,
1162
+ # all historical assets will remain, but discovery of future assets will not
1163
+ # occur.
1164
+ # Corresponds to the JSON property `enableAssetDiscovery`
1165
+ # @return [Boolean]
1166
+ attr_accessor :enable_asset_discovery
1167
+ alias_method :enable_asset_discovery?, :enable_asset_discovery
1168
+
1169
+ # The relative resource name of the settings. See:
1170
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1171
+ # Example:
1172
+ # "organizations/123/organizationSettings".
1173
+ # Corresponds to the JSON property `name`
1174
+ # @return [String]
1175
+ attr_accessor :name
1176
+
1177
+ def initialize(**args)
1178
+ update!(**args)
1179
+ end
1180
+
1181
+ # Update properties of this object
1182
+ def update!(**args)
1183
+ @asset_discovery_config = args[:asset_discovery_config] if args.key?(:asset_discovery_config)
1184
+ @enable_asset_discovery = args[:enable_asset_discovery] if args.key?(:enable_asset_discovery)
1185
+ @name = args[:name] if args.key?(:name)
1186
+ end
1187
+ end
1188
+
1189
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1190
+ # specify access control policies for Cloud Platform resources.
1191
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1192
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1193
+ # Google domains, and service accounts. A `role` is a named list of permissions
1194
+ # defined by IAM.
1195
+ # **JSON Example**
1196
+ # `
1197
+ # "bindings": [
1198
+ # `
1199
+ # "role": "roles/owner",
1200
+ # "members": [
1201
+ # "user:mike@example.com",
1202
+ # "group:admins@example.com",
1203
+ # "domain:google.com",
1204
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1205
+ # ]
1206
+ # `,
1207
+ # `
1208
+ # "role": "roles/viewer",
1209
+ # "members": ["user:sean@example.com"]
1210
+ # `
1211
+ # ]
1212
+ # `
1213
+ # **YAML Example**
1214
+ # bindings:
1215
+ # - members:
1216
+ # - user:mike@example.com
1217
+ # - group:admins@example.com
1218
+ # - domain:google.com
1219
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1220
+ # role: roles/owner
1221
+ # - members:
1222
+ # - user:sean@example.com
1223
+ # role: roles/viewer
1224
+ # For a description of IAM and its features, see the
1225
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1226
+ class Policy
1227
+ include Google::Apis::Core::Hashable
1228
+
1229
+ # Specifies cloud audit logging configuration for this policy.
1230
+ # Corresponds to the JSON property `auditConfigs`
1231
+ # @return [Array<Google::Apis::SecuritycenterV1::AuditConfig>]
1232
+ attr_accessor :audit_configs
1233
+
1234
+ # Associates a list of `members` to a `role`.
1235
+ # `bindings` with no members will result in an error.
1236
+ # Corresponds to the JSON property `bindings`
1237
+ # @return [Array<Google::Apis::SecuritycenterV1::Binding>]
1238
+ attr_accessor :bindings
1239
+
1240
+ # `etag` is used for optimistic concurrency control as a way to help
1241
+ # prevent simultaneous updates of a policy from overwriting each other.
1242
+ # It is strongly suggested that systems make use of the `etag` in the
1243
+ # read-modify-write cycle to perform policy updates in order to avoid race
1244
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1245
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1246
+ # ensure that their change will be applied to the same version of the policy.
1247
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1248
+ # policy is overwritten blindly.
1249
+ # Corresponds to the JSON property `etag`
1250
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1251
+ # @return [String]
1252
+ attr_accessor :etag
1253
+
1254
+ # Deprecated.
1255
+ # Corresponds to the JSON property `version`
1256
+ # @return [Fixnum]
1257
+ attr_accessor :version
1258
+
1259
+ def initialize(**args)
1260
+ update!(**args)
1261
+ end
1262
+
1263
+ # Update properties of this object
1264
+ def update!(**args)
1265
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1266
+ @bindings = args[:bindings] if args.key?(:bindings)
1267
+ @etag = args[:etag] if args.key?(:etag)
1268
+ @version = args[:version] if args.key?(:version)
1269
+ end
1270
+ end
1271
+
1272
+ # Request message for running asset discovery for an organization.
1273
+ class RunAssetDiscoveryRequest
1274
+ include Google::Apis::Core::Hashable
1275
+
1276
+ def initialize(**args)
1277
+ update!(**args)
1278
+ end
1279
+
1280
+ # Update properties of this object
1281
+ def update!(**args)
1282
+ end
1283
+ end
1284
+
1285
+ # Cloud SCC managed properties. These properties are managed by Cloud SCC and
1286
+ # cannot be modified by the user.
1287
+ class SecurityCenterProperties
1288
+ include Google::Apis::Core::Hashable
1289
+
1290
+ # The full resource name of the GCP resource this asset
1291
+ # represents. This field is immutable after create time. See:
1292
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
1293
+ # Corresponds to the JSON property `resourceName`
1294
+ # @return [String]
1295
+ attr_accessor :resource_name
1296
+
1297
+ # Owners of the Google Cloud resource.
1298
+ # Corresponds to the JSON property `resourceOwners`
1299
+ # @return [Array<String>]
1300
+ attr_accessor :resource_owners
1301
+
1302
+ # The full resource name of the immediate parent of the resource. See:
1303
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
1304
+ # Corresponds to the JSON property `resourceParent`
1305
+ # @return [String]
1306
+ attr_accessor :resource_parent
1307
+
1308
+ # The full resource name of the project the resource belongs to. See:
1309
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
1310
+ # Corresponds to the JSON property `resourceProject`
1311
+ # @return [String]
1312
+ attr_accessor :resource_project
1313
+
1314
+ # The type of the GCP resource. Examples include: APPLICATION,
1315
+ # PROJECT, and ORGANIZATION. This is a case insensitive field defined by
1316
+ # Cloud SCC and/or the producer of the resource and is immutable
1317
+ # after create time.
1318
+ # Corresponds to the JSON property `resourceType`
1319
+ # @return [String]
1320
+ attr_accessor :resource_type
1321
+
1322
+ def initialize(**args)
1323
+ update!(**args)
1324
+ end
1325
+
1326
+ # Update properties of this object
1327
+ def update!(**args)
1328
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
1329
+ @resource_owners = args[:resource_owners] if args.key?(:resource_owners)
1330
+ @resource_parent = args[:resource_parent] if args.key?(:resource_parent)
1331
+ @resource_project = args[:resource_project] if args.key?(:resource_project)
1332
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
1333
+ end
1334
+ end
1335
+
1336
+ # User specified security marks that are attached to the parent Cloud Security
1337
+ # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
1338
+ # SCC organization -- they can be modified and viewed by all users who have
1339
+ # proper permissions on the organization.
1340
+ class SecurityMarks
1341
+ include Google::Apis::Core::Hashable
1342
+
1343
+ # Mutable user specified security marks belonging to the parent resource.
1344
+ # Constraints are as follows:
1345
+ # - Keys and values are treated as case insensitive
1346
+ # - Keys must be between 1 - 256 characters (inclusive)
1347
+ # - Keys must be letters, numbers, underscores, or dashes
1348
+ # - Values have leading and trailing whitespace trimmed, remaining
1349
+ # characters must be between 1 - 4096 characters (inclusive)
1350
+ # Corresponds to the JSON property `marks`
1351
+ # @return [Hash<String,String>]
1352
+ attr_accessor :marks
1353
+
1354
+ # The relative resource name of the SecurityMarks. See:
1355
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1356
+ # Examples:
1357
+ # "organizations/123/assets/456/securityMarks"
1358
+ # "organizations/123/sources/456/findings/789/securityMarks".
1359
+ # Corresponds to the JSON property `name`
1360
+ # @return [String]
1361
+ attr_accessor :name
1362
+
1363
+ def initialize(**args)
1364
+ update!(**args)
1365
+ end
1366
+
1367
+ # Update properties of this object
1368
+ def update!(**args)
1369
+ @marks = args[:marks] if args.key?(:marks)
1370
+ @name = args[:name] if args.key?(:name)
1371
+ end
1372
+ end
1373
+
1374
+ # Request message for updating a finding's state.
1375
+ class SetFindingStateRequest
1376
+ include Google::Apis::Core::Hashable
1377
+
1378
+ # The time at which the updated state takes effect.
1379
+ # Corresponds to the JSON property `startTime`
1380
+ # @return [String]
1381
+ attr_accessor :start_time
1382
+
1383
+ # The desired State of the finding.
1384
+ # Corresponds to the JSON property `state`
1385
+ # @return [String]
1386
+ attr_accessor :state
1387
+
1388
+ def initialize(**args)
1389
+ update!(**args)
1390
+ end
1391
+
1392
+ # Update properties of this object
1393
+ def update!(**args)
1394
+ @start_time = args[:start_time] if args.key?(:start_time)
1395
+ @state = args[:state] if args.key?(:state)
1396
+ end
1397
+ end
1398
+
1399
+ # Request message for `SetIamPolicy` method.
1400
+ class SetIamPolicyRequest
1401
+ include Google::Apis::Core::Hashable
1402
+
1403
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1404
+ # specify access control policies for Cloud Platform resources.
1405
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1406
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1407
+ # Google domains, and service accounts. A `role` is a named list of permissions
1408
+ # defined by IAM.
1409
+ # **JSON Example**
1410
+ # `
1411
+ # "bindings": [
1412
+ # `
1413
+ # "role": "roles/owner",
1414
+ # "members": [
1415
+ # "user:mike@example.com",
1416
+ # "group:admins@example.com",
1417
+ # "domain:google.com",
1418
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1419
+ # ]
1420
+ # `,
1421
+ # `
1422
+ # "role": "roles/viewer",
1423
+ # "members": ["user:sean@example.com"]
1424
+ # `
1425
+ # ]
1426
+ # `
1427
+ # **YAML Example**
1428
+ # bindings:
1429
+ # - members:
1430
+ # - user:mike@example.com
1431
+ # - group:admins@example.com
1432
+ # - domain:google.com
1433
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1434
+ # role: roles/owner
1435
+ # - members:
1436
+ # - user:sean@example.com
1437
+ # role: roles/viewer
1438
+ # For a description of IAM and its features, see the
1439
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1440
+ # Corresponds to the JSON property `policy`
1441
+ # @return [Google::Apis::SecuritycenterV1::Policy]
1442
+ attr_accessor :policy
1443
+
1444
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1445
+ # the fields in the mask will be modified. If no mask is provided, the
1446
+ # following default mask is used:
1447
+ # paths: "bindings, etag"
1448
+ # This field is only used by Cloud IAM.
1449
+ # Corresponds to the JSON property `updateMask`
1450
+ # @return [String]
1451
+ attr_accessor :update_mask
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @policy = args[:policy] if args.key?(:policy)
1460
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1461
+ end
1462
+ end
1463
+
1464
+ # Cloud Security Command Center's (Cloud SCC) finding source. A finding source
1465
+ # is an entity or a mechanism that can produce a finding. A source is like a
1466
+ # container of findings that come from the same scanner, logger, monitor, etc.
1467
+ class Source
1468
+ include Google::Apis::Core::Hashable
1469
+
1470
+ # The description of the source (max of 1024 characters).
1471
+ # Example:
1472
+ # "Cloud Security Scanner is a web security scanner for common
1473
+ # vulnerabilities in App Engine applications. It can automatically
1474
+ # scan and detect four common vulnerabilities, including cross-site-scripting
1475
+ # (XSS), Flash injection, mixed content (HTTP in HTTPS), and
1476
+ # outdated/insecure libraries."
1477
+ # Corresponds to the JSON property `description`
1478
+ # @return [String]
1479
+ attr_accessor :description
1480
+
1481
+ # The source's display name.
1482
+ # A source's display name must be unique amongst its siblings, for example,
1483
+ # two sources with the same parent can't share the same display name.
1484
+ # The display name must start and end with a letter or digit, may contain
1485
+ # letters, digits, spaces, hyphens, and underscores, and can be no longer
1486
+ # than 32 characters. This is captured by the regular expression:
1487
+ # [\p`L`\p`N`](`\p`L`\p`N`_- ]`0,30`[\p`L`\p`N`])?.
1488
+ # Corresponds to the JSON property `displayName`
1489
+ # @return [String]
1490
+ attr_accessor :display_name
1491
+
1492
+ # The relative resource name of this source. See:
1493
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1494
+ # Example:
1495
+ # "organizations/123/sources/456"
1496
+ # Corresponds to the JSON property `name`
1497
+ # @return [String]
1498
+ attr_accessor :name
1499
+
1500
+ def initialize(**args)
1501
+ update!(**args)
1502
+ end
1503
+
1504
+ # Update properties of this object
1505
+ def update!(**args)
1506
+ @description = args[:description] if args.key?(:description)
1507
+ @display_name = args[:display_name] if args.key?(:display_name)
1508
+ @name = args[:name] if args.key?(:name)
1509
+ end
1510
+ end
1511
+
1512
+ # The `Status` type defines a logical error model that is suitable for
1513
+ # different programming environments, including REST APIs and RPC APIs. It is
1514
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1515
+ # - Simple to use and understand for most users
1516
+ # - Flexible enough to meet unexpected needs
1517
+ # # Overview
1518
+ # The `Status` message contains three pieces of data: error code, error
1519
+ # message, and error details. The error code should be an enum value of
1520
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1521
+ # error message should be a developer-facing English message that helps
1522
+ # developers *understand* and *resolve* the error. If a localized user-facing
1523
+ # error message is needed, put the localized message in the error details or
1524
+ # localize it in the client. The optional error details may contain arbitrary
1525
+ # information about the error. There is a predefined set of error detail types
1526
+ # in the package `google.rpc` that can be used for common error conditions.
1527
+ # # Language mapping
1528
+ # The `Status` message is the logical representation of the error model, but it
1529
+ # is not necessarily the actual wire format. When the `Status` message is
1530
+ # exposed in different client libraries and different wire protocols, it can be
1531
+ # mapped differently. For example, it will likely be mapped to some exceptions
1532
+ # in Java, but more likely mapped to some error codes in C.
1533
+ # # Other uses
1534
+ # The error model and the `Status` message can be used in a variety of
1535
+ # environments, either with or without APIs, to provide a
1536
+ # consistent developer experience across different environments.
1537
+ # Example uses of this error model include:
1538
+ # - Partial errors. If a service needs to return partial errors to the client,
1539
+ # it may embed the `Status` in the normal response to indicate the partial
1540
+ # errors.
1541
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1542
+ # have a `Status` message for error reporting.
1543
+ # - Batch operations. If a client uses batch request and batch response, the
1544
+ # `Status` message should be used directly inside batch response, one for
1545
+ # each error sub-response.
1546
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1547
+ # results in its response, the status of those operations should be
1548
+ # represented directly using the `Status` message.
1549
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1550
+ # be used directly after any stripping needed for security/privacy reasons.
1551
+ class Status
1552
+ include Google::Apis::Core::Hashable
1553
+
1554
+ # The status code, which should be an enum value of google.rpc.Code.
1555
+ # Corresponds to the JSON property `code`
1556
+ # @return [Fixnum]
1557
+ attr_accessor :code
1558
+
1559
+ # A list of messages that carry the error details. There is a common set of
1560
+ # message types for APIs to use.
1561
+ # Corresponds to the JSON property `details`
1562
+ # @return [Array<Hash<String,Object>>]
1563
+ attr_accessor :details
1564
+
1565
+ # A developer-facing error message, which should be in English. Any
1566
+ # user-facing error message should be localized and sent in the
1567
+ # google.rpc.Status.details field, or localized by the client.
1568
+ # Corresponds to the JSON property `message`
1569
+ # @return [String]
1570
+ attr_accessor :message
1571
+
1572
+ def initialize(**args)
1573
+ update!(**args)
1574
+ end
1575
+
1576
+ # Update properties of this object
1577
+ def update!(**args)
1578
+ @code = args[:code] if args.key?(:code)
1579
+ @details = args[:details] if args.key?(:details)
1580
+ @message = args[:message] if args.key?(:message)
1581
+ end
1582
+ end
1583
+
1584
+ # Request message for `TestIamPermissions` method.
1585
+ class TestIamPermissionsRequest
1586
+ include Google::Apis::Core::Hashable
1587
+
1588
+ # The set of permissions to check for the `resource`. Permissions with
1589
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1590
+ # information see
1591
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1592
+ # Corresponds to the JSON property `permissions`
1593
+ # @return [Array<String>]
1594
+ attr_accessor :permissions
1595
+
1596
+ def initialize(**args)
1597
+ update!(**args)
1598
+ end
1599
+
1600
+ # Update properties of this object
1601
+ def update!(**args)
1602
+ @permissions = args[:permissions] if args.key?(:permissions)
1603
+ end
1604
+ end
1605
+
1606
+ # Response message for `TestIamPermissions` method.
1607
+ class TestIamPermissionsResponse
1608
+ include Google::Apis::Core::Hashable
1609
+
1610
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1611
+ # allowed.
1612
+ # Corresponds to the JSON property `permissions`
1613
+ # @return [Array<String>]
1614
+ attr_accessor :permissions
1615
+
1616
+ def initialize(**args)
1617
+ update!(**args)
1618
+ end
1619
+
1620
+ # Update properties of this object
1621
+ def update!(**args)
1622
+ @permissions = args[:permissions] if args.key?(:permissions)
1623
+ end
1624
+ end
1625
+ end
1626
+ end
1627
+ end