google-api-client 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +316 -0
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -4
  5. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
  6. data/generated/google/apis/accessapproval_v1/classes.rb +417 -0
  7. data/generated/google/apis/accessapproval_v1/representations.rb +203 -0
  8. data/generated/google/apis/accessapproval_v1/service.rb +869 -0
  9. data/generated/google/apis/{servicebroker_v1.rb → accessapproval_v1.rb} +8 -10
  10. data/generated/google/apis/accesscontextmanager_v1/classes.rb +113 -0
  11. data/generated/google/apis/accesscontextmanager_v1/representations.rb +32 -0
  12. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  13. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +151 -0
  14. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +48 -0
  15. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  17. data/generated/google/apis/adexperiencereport_v1.rb +1 -4
  18. data/generated/google/apis/admob_v1/classes.rb +951 -0
  19. data/generated/google/apis/admob_v1/representations.rb +378 -0
  20. data/generated/google/apis/admob_v1/service.rb +196 -0
  21. data/generated/google/apis/{analytics_v2_4/classes.rb → admob_v1.rb} +11 -6
  22. data/generated/google/apis/alertcenter_v1beta1/classes.rb +252 -0
  23. data/generated/google/apis/alertcenter_v1beta1/representations.rb +126 -0
  24. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  25. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  26. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1/classes.rb +37 -59
  28. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  29. data/generated/google/apis/androidenterprise_v1/service.rb +0 -403
  30. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  31. data/generated/google/apis/androidmanagement_v1/classes.rb +203 -6
  32. data/generated/google/apis/androidmanagement_v1/representations.rb +68 -0
  33. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  34. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  35. data/generated/google/apis/androidpublisher_v2/classes.rb +1 -94
  36. data/generated/google/apis/androidpublisher_v2/representations.rb +0 -50
  37. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  38. data/generated/google/apis/androidpublisher_v3/classes.rb +151 -111
  39. data/generated/google/apis/androidpublisher_v3/representations.rb +69 -56
  40. data/generated/google/apis/androidpublisher_v3/service.rb +158 -0
  41. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  42. data/generated/google/apis/appengine_v1beta/classes.rb +0 -38
  43. data/generated/google/apis/appengine_v1beta/representations.rb +0 -17
  44. data/generated/google/apis/appengine_v1beta.rb +1 -1
  45. data/generated/google/apis/appsactivity_v1.rb +1 -1
  46. data/generated/google/apis/bigquery_v2/classes.rb +8 -1
  47. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  48. data/generated/google/apis/bigquery_v2/service.rb +19 -2
  49. data/generated/google/apis/bigquery_v2.rb +1 -1
  50. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +130 -56
  51. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +2 -0
  52. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +8 -8
  53. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  54. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +49 -0
  55. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +19 -0
  56. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +60 -30
  57. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  58. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -22
  59. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  60. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  61. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +6 -22
  62. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +1 -13
  63. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  64. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +11 -99
  65. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -45
  66. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +1 -70
  67. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  68. data/generated/google/apis/bigtableadmin_v2/classes.rb +124 -55
  69. data/generated/google/apis/bigtableadmin_v2/service.rb +76 -4
  70. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  71. data/generated/google/apis/binaryauthorization_v1/classes.rb +124 -56
  72. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  73. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +124 -56
  74. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  75. data/generated/google/apis/chat_v1/service.rb +5 -2
  76. data/generated/google/apis/chat_v1.rb +1 -1
  77. data/generated/google/apis/classroom_v1.rb +1 -1
  78. data/generated/google/apis/cloudasset_v1/classes.rb +304 -15
  79. data/generated/google/apis/cloudasset_v1/representations.rb +117 -0
  80. data/generated/google/apis/cloudasset_v1/service.rb +175 -1
  81. data/generated/google/apis/cloudasset_v1.rb +2 -2
  82. data/generated/google/apis/cloudasset_v1beta1/classes.rb +49 -15
  83. data/generated/google/apis/cloudasset_v1beta1/service.rb +1 -1
  84. data/generated/google/apis/cloudasset_v1beta1.rb +2 -2
  85. data/generated/google/apis/cloudbilling_v1/classes.rb +110 -57
  86. data/generated/google/apis/cloudbilling_v1/service.rb +8 -6
  87. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  88. data/generated/google/apis/cloudbuild_v1/classes.rb +10 -6
  89. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  90. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1174 -0
  91. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +435 -0
  92. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  93. data/generated/google/apis/{servicebroker_v1alpha1.rb → cloudbuild_v1alpha1.rb} +8 -10
  94. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +1124 -0
  95. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +429 -0
  96. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +232 -0
  97. data/generated/google/apis/cloudbuild_v1alpha2.rb +34 -0
  98. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  99. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  100. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +12 -12
  101. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  102. data/generated/google/apis/cloudfunctions_v1/classes.rb +138 -56
  103. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  104. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  105. data/generated/google/apis/cloudidentity_v1/classes.rb +560 -0
  106. data/generated/google/apis/cloudidentity_v1/representations.rb +226 -0
  107. data/generated/google/apis/cloudidentity_v1/service.rb +20 -13
  108. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  109. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +765 -72
  110. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +289 -0
  111. data/generated/google/apis/cloudidentity_v1beta1/service.rb +189 -79
  112. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  113. data/generated/google/apis/cloudiot_v1/classes.rb +124 -56
  114. data/generated/google/apis/cloudiot_v1.rb +1 -1
  115. data/generated/google/apis/cloudkms_v1/classes.rb +162 -56
  116. data/generated/google/apis/cloudkms_v1/representations.rb +16 -0
  117. data/generated/google/apis/cloudkms_v1.rb +1 -1
  118. data/generated/google/apis/cloudprivatecatalog_v1beta1.rb +1 -1
  119. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +49 -15
  120. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  121. data/generated/google/apis/cloudprofiler_v2.rb +1 -1
  122. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +124 -56
  123. data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -3
  124. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  125. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +124 -56
  126. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +1 -1
  127. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  128. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +124 -56
  129. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  130. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +124 -56
  131. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  132. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  133. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  134. data/generated/google/apis/cloudsearch_v1/classes.rb +11 -2
  135. data/generated/google/apis/cloudsearch_v1/representations.rb +1 -0
  136. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  137. data/generated/google/apis/cloudshell_v1.rb +1 -1
  138. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  139. data/generated/google/apis/cloudtasks_v2/classes.rb +130 -62
  140. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  141. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +124 -56
  142. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  143. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +130 -62
  144. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  145. data/generated/google/apis/cloudtrace_v1/service.rb +6 -0
  146. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  147. data/generated/google/apis/cloudtrace_v2/classes.rb +5 -3
  148. data/generated/google/apis/cloudtrace_v2/service.rb +4 -0
  149. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  150. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  151. data/generated/google/apis/composer_v1/classes.rb +2 -0
  152. data/generated/google/apis/composer_v1.rb +1 -1
  153. data/generated/google/apis/composer_v1beta1/classes.rb +59 -0
  154. data/generated/google/apis/composer_v1beta1/representations.rb +30 -0
  155. data/generated/google/apis/composer_v1beta1.rb +1 -1
  156. data/generated/google/apis/compute_alpha/classes.rb +710 -503
  157. data/generated/google/apis/compute_alpha/representations.rb +51 -51
  158. data/generated/google/apis/compute_alpha/service.rb +1383 -1097
  159. data/generated/google/apis/compute_alpha.rb +1 -1
  160. data/generated/google/apis/compute_beta/classes.rb +2543 -395
  161. data/generated/google/apis/compute_beta/representations.rb +805 -4
  162. data/generated/google/apis/compute_beta/service.rb +7496 -5509
  163. data/generated/google/apis/compute_beta.rb +1 -1
  164. data/generated/google/apis/compute_v1/classes.rb +1713 -562
  165. data/generated/google/apis/compute_v1/representations.rb +441 -0
  166. data/generated/google/apis/compute_v1/service.rb +1513 -860
  167. data/generated/google/apis/compute_v1.rb +1 -1
  168. data/generated/google/apis/container_v1/classes.rb +247 -3
  169. data/generated/google/apis/container_v1/representations.rb +74 -0
  170. data/generated/google/apis/container_v1/service.rb +8 -0
  171. data/generated/google/apis/container_v1.rb +1 -1
  172. data/generated/google/apis/container_v1beta1/classes.rb +284 -80
  173. data/generated/google/apis/container_v1beta1/representations.rb +85 -0
  174. data/generated/google/apis/container_v1beta1/service.rb +129 -121
  175. data/generated/google/apis/container_v1beta1.rb +1 -1
  176. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +124 -56
  177. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  178. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +126 -58
  179. data/generated/google/apis/containeranalysis_v1beta1/service.rb +26 -20
  180. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  181. data/generated/google/apis/content_v2/classes.rb +143 -42
  182. data/generated/google/apis/content_v2/representations.rb +47 -0
  183. data/generated/google/apis/content_v2/service.rb +33 -0
  184. data/generated/google/apis/content_v2.rb +1 -1
  185. data/generated/google/apis/content_v2_1/classes.rb +237 -42
  186. data/generated/google/apis/content_v2_1/representations.rb +94 -0
  187. data/generated/google/apis/content_v2_1/service.rb +77 -0
  188. data/generated/google/apis/content_v2_1.rb +1 -1
  189. data/generated/google/apis/datacatalog_v1beta1/classes.rb +241 -72
  190. data/generated/google/apis/datacatalog_v1beta1/representations.rb +34 -0
  191. data/generated/google/apis/datacatalog_v1beta1/service.rb +159 -69
  192. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  193. data/generated/google/apis/dataflow_v1b3/classes.rb +189 -2
  194. data/generated/google/apis/dataflow_v1b3/representations.rb +97 -0
  195. data/generated/google/apis/dataflow_v1b3/service.rb +38 -0
  196. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  197. data/generated/google/apis/datafusion_v1beta1/classes.rb +134 -387
  198. data/generated/google/apis/datafusion_v1beta1/representations.rb +1 -132
  199. data/generated/google/apis/datafusion_v1beta1/service.rb +5 -1
  200. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  201. data/generated/google/apis/dataproc_v1/classes.rb +229 -165
  202. data/generated/google/apis/dataproc_v1/service.rb +16 -14
  203. data/generated/google/apis/dataproc_v1.rb +1 -1
  204. data/generated/google/apis/dataproc_v1beta2/classes.rb +228 -164
  205. data/generated/google/apis/dataproc_v1beta2/service.rb +28 -26
  206. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  207. data/generated/google/apis/datastore_v1/classes.rb +16 -22
  208. data/generated/google/apis/datastore_v1/service.rb +10 -10
  209. data/generated/google/apis/datastore_v1.rb +1 -1
  210. data/generated/google/apis/datastore_v1beta3/classes.rb +5 -4
  211. data/generated/google/apis/datastore_v1beta3/service.rb +8 -8
  212. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  213. data/generated/google/apis/dfareporting_v3_4/classes.rb +88 -88
  214. data/generated/google/apis/dfareporting_v3_4/representations.rb +39 -39
  215. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  216. data/generated/google/apis/dialogflow_v2/classes.rb +551 -21
  217. data/generated/google/apis/dialogflow_v2/representations.rb +191 -0
  218. data/generated/google/apis/dialogflow_v2/service.rb +477 -0
  219. data/generated/google/apis/dialogflow_v2.rb +1 -1
  220. data/generated/google/apis/dialogflow_v2beta1/classes.rb +449 -21
  221. data/generated/google/apis/dialogflow_v2beta1/representations.rb +160 -0
  222. data/generated/google/apis/dialogflow_v2beta1/service.rb +939 -45
  223. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  224. data/generated/google/apis/dlp_v2/classes.rb +178 -92
  225. data/generated/google/apis/dlp_v2/representations.rb +42 -0
  226. data/generated/google/apis/dlp_v2/service.rb +56 -56
  227. data/generated/google/apis/dlp_v2.rb +1 -1
  228. data/generated/google/apis/dns_v1/classes.rb +70 -0
  229. data/generated/google/apis/dns_v1/representations.rb +32 -0
  230. data/generated/google/apis/dns_v1.rb +1 -1
  231. data/generated/google/apis/dns_v2beta1/classes.rb +70 -0
  232. data/generated/google/apis/dns_v2beta1/representations.rb +32 -0
  233. data/generated/google/apis/dns_v2beta1.rb +1 -1
  234. data/generated/google/apis/docs_v1/classes.rb +427 -18
  235. data/generated/google/apis/docs_v1/representations.rb +131 -0
  236. data/generated/google/apis/docs_v1.rb +1 -1
  237. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  238. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +34 -0
  239. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +16 -0
  240. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  241. data/generated/google/apis/drive_v2/classes.rb +1 -2
  242. data/generated/google/apis/drive_v2/service.rb +0 -92
  243. data/generated/google/apis/drive_v2.rb +1 -1
  244. data/generated/google/apis/driveactivity_v2/classes.rb +6 -0
  245. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  246. data/generated/google/apis/driveactivity_v2.rb +1 -1
  247. data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
  248. data/generated/google/apis/fcm_v1.rb +1 -1
  249. data/generated/google/apis/file_v1/classes.rb +59 -12
  250. data/generated/google/apis/file_v1/representations.rb +19 -2
  251. data/generated/google/apis/file_v1/service.rb +8 -4
  252. data/generated/google/apis/file_v1.rb +1 -1
  253. data/generated/google/apis/file_v1beta1/classes.rb +60 -13
  254. data/generated/google/apis/file_v1beta1/representations.rb +19 -2
  255. data/generated/google/apis/file_v1beta1/service.rb +8 -4
  256. data/generated/google/apis/file_v1beta1.rb +1 -1
  257. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  258. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  259. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +161 -0
  260. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +64 -0
  261. data/generated/google/apis/firebasehosting_v1beta1/service.rb +67 -0
  262. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  263. data/generated/google/apis/firebaserules_v1/classes.rb +87 -0
  264. data/generated/google/apis/firebaserules_v1/representations.rb +37 -0
  265. data/generated/google/apis/firebaserules_v1.rb +1 -1
  266. data/generated/google/apis/firestore_v1/classes.rb +5 -3
  267. data/generated/google/apis/firestore_v1/service.rb +24 -22
  268. data/generated/google/apis/firestore_v1.rb +1 -1
  269. data/generated/google/apis/firestore_v1beta1/classes.rb +5 -3
  270. data/generated/google/apis/firestore_v1beta1/service.rb +16 -14
  271. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  272. data/generated/google/apis/fitness_v1/classes.rb +8 -4
  273. data/generated/google/apis/fitness_v1/service.rb +26 -8
  274. data/generated/google/apis/fitness_v1.rb +11 -11
  275. data/generated/google/apis/games_management_v1management/service.rb +5 -7
  276. data/generated/google/apis/games_management_v1management.rb +1 -1
  277. data/generated/google/apis/genomics_v1.rb +1 -1
  278. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  279. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  280. data/generated/google/apis/gmail_v1/classes.rb +6 -2
  281. data/generated/google/apis/gmail_v1/service.rb +1 -1
  282. data/generated/google/apis/gmail_v1.rb +13 -1
  283. data/generated/google/apis/healthcare_v1beta1/classes.rb +199 -77
  284. data/generated/google/apis/healthcare_v1beta1/representations.rb +4 -0
  285. data/generated/google/apis/healthcare_v1beta1/service.rb +251 -75
  286. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  287. data/generated/google/apis/homegraph_v1.rb +1 -1
  288. data/generated/google/apis/iam_v1/classes.rb +176 -164
  289. data/generated/google/apis/iam_v1/representations.rb +0 -6
  290. data/generated/google/apis/iam_v1/service.rb +11 -21
  291. data/generated/google/apis/iam_v1.rb +1 -1
  292. data/generated/google/apis/iamcredentials_v1/classes.rb +7 -4
  293. data/generated/google/apis/iamcredentials_v1/service.rb +4 -4
  294. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  295. data/generated/google/apis/iap_v1/classes.rb +291 -57
  296. data/generated/google/apis/iap_v1/representations.rb +85 -0
  297. data/generated/google/apis/iap_v1/service.rb +290 -0
  298. data/generated/google/apis/iap_v1.rb +1 -1
  299. data/generated/google/apis/iap_v1beta1/classes.rb +124 -55
  300. data/generated/google/apis/iap_v1beta1.rb +1 -1
  301. data/generated/google/apis/jobs_v3/classes.rb +1 -0
  302. data/generated/google/apis/jobs_v3.rb +1 -1
  303. data/generated/google/apis/jobs_v3p1beta1/classes.rb +8 -2
  304. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  305. data/generated/google/apis/kgsearch_v1.rb +1 -1
  306. data/generated/google/apis/language_v1.rb +1 -1
  307. data/generated/google/apis/language_v1beta1.rb +1 -1
  308. data/generated/google/apis/language_v1beta2/classes.rb +15 -0
  309. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  310. data/generated/google/apis/language_v1beta2.rb +1 -1
  311. data/generated/google/apis/libraryagent_v1.rb +1 -1
  312. data/generated/google/apis/logging_v2/classes.rb +129 -39
  313. data/generated/google/apis/logging_v2/representations.rb +16 -0
  314. data/generated/google/apis/logging_v2/service.rb +186 -1
  315. data/generated/google/apis/logging_v2.rb +3 -2
  316. data/generated/google/apis/manufacturers_v1.rb +1 -1
  317. data/generated/google/apis/ml_v1/classes.rb +145 -47
  318. data/generated/google/apis/ml_v1/representations.rb +15 -0
  319. data/generated/google/apis/ml_v1/service.rb +14 -22
  320. data/generated/google/apis/ml_v1.rb +4 -1
  321. data/generated/google/apis/monitoring_v1/classes.rb +159 -120
  322. data/generated/google/apis/monitoring_v1/representations.rb +0 -18
  323. data/generated/google/apis/monitoring_v1/service.rb +11 -10
  324. data/generated/google/apis/monitoring_v1.rb +1 -1
  325. data/generated/google/apis/monitoring_v3/classes.rb +214 -106
  326. data/generated/google/apis/monitoring_v3/representations.rb +18 -1
  327. data/generated/google/apis/monitoring_v3/service.rb +178 -153
  328. data/generated/google/apis/monitoring_v3.rb +1 -1
  329. data/generated/google/apis/osconfig_v1beta/classes.rb +2357 -0
  330. data/generated/google/apis/osconfig_v1beta/representations.rb +966 -0
  331. data/generated/google/apis/osconfig_v1beta/service.rb +605 -0
  332. data/generated/google/apis/osconfig_v1beta.rb +35 -0
  333. data/generated/google/apis/oslogin_v1/service.rb +0 -1
  334. data/generated/google/apis/oslogin_v1.rb +1 -2
  335. data/generated/google/apis/oslogin_v1alpha/service.rb +0 -1
  336. data/generated/google/apis/oslogin_v1alpha.rb +1 -2
  337. data/generated/google/apis/oslogin_v1beta/service.rb +0 -1
  338. data/generated/google/apis/oslogin_v1beta.rb +1 -2
  339. data/generated/google/apis/pagespeedonline_v5/classes.rb +529 -498
  340. data/generated/google/apis/pagespeedonline_v5/representations.rb +225 -221
  341. data/generated/google/apis/pagespeedonline_v5/service.rb +22 -24
  342. data/generated/google/apis/pagespeedonline_v5.rb +9 -4
  343. data/generated/google/apis/people_v1/classes.rb +14 -13
  344. data/generated/google/apis/people_v1/service.rb +12 -16
  345. data/generated/google/apis/people_v1.rb +4 -1
  346. data/generated/google/apis/policytroubleshooter_v1/classes.rb +752 -0
  347. data/generated/google/apis/policytroubleshooter_v1/representations.rb +203 -0
  348. data/generated/google/apis/policytroubleshooter_v1/service.rb +90 -0
  349. data/generated/google/apis/policytroubleshooter_v1.rb +34 -0
  350. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +71 -19
  351. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  352. data/generated/google/apis/poly_v1.rb +1 -1
  353. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1123 -0
  354. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +530 -0
  355. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1388 -0
  356. data/generated/google/apis/{surveys_v2.rb → prod_tt_sasportal_v1alpha1.rb} +9 -15
  357. data/generated/google/apis/pubsub_v1/classes.rb +194 -56
  358. data/generated/google/apis/pubsub_v1/representations.rb +17 -0
  359. data/generated/google/apis/pubsub_v1.rb +1 -1
  360. data/generated/google/apis/pubsub_v1beta2/classes.rb +124 -56
  361. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  362. data/generated/google/apis/recommender_v1beta1/classes.rb +8 -5
  363. data/generated/google/apis/recommender_v1beta1/service.rb +13 -11
  364. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  365. data/generated/google/apis/redis_v1/classes.rb +10 -3
  366. data/generated/google/apis/redis_v1/representations.rb +1 -0
  367. data/generated/google/apis/redis_v1.rb +1 -1
  368. data/generated/google/apis/redis_v1beta1/classes.rb +29 -3
  369. data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
  370. data/generated/google/apis/redis_v1beta1/service.rb +36 -0
  371. data/generated/google/apis/redis_v1beta1.rb +1 -1
  372. data/generated/google/apis/remotebuildexecution_v1/classes.rb +7 -1
  373. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  374. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  375. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +7 -1
  376. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  377. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  378. data/generated/google/apis/remotebuildexecution_v2/classes.rb +7 -1
  379. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  380. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  381. data/generated/google/apis/run_v1/classes.rb +124 -56
  382. data/generated/google/apis/run_v1/service.rb +0 -30
  383. data/generated/google/apis/run_v1.rb +1 -1
  384. data/generated/google/apis/run_v1alpha1/classes.rb +740 -569
  385. data/generated/google/apis/run_v1alpha1/representations.rb +204 -182
  386. data/generated/google/apis/run_v1alpha1/service.rb +764 -358
  387. data/generated/google/apis/run_v1alpha1.rb +1 -1
  388. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  389. data/generated/google/apis/run_v1beta1.rb +4 -1
  390. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  391. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +49 -15
  392. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  393. data/generated/google/apis/safebrowsing_v4/classes.rb +2 -2
  394. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  395. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1123 -0
  396. data/generated/google/apis/sasportal_v1alpha1/representations.rb +530 -0
  397. data/generated/google/apis/sasportal_v1alpha1/service.rb +1388 -0
  398. data/generated/google/apis/{fusiontables_v1.rb → sasportal_v1alpha1.rb} +11 -14
  399. data/generated/google/apis/script_v1.rb +1 -1
  400. data/generated/google/apis/searchconsole_v1.rb +1 -1
  401. data/generated/google/apis/secretmanager_v1beta1/classes.rb +970 -0
  402. data/generated/google/apis/{servicebroker_v1alpha1 → secretmanager_v1beta1}/representations.rb +140 -119
  403. data/generated/google/apis/secretmanager_v1beta1/service.rb +675 -0
  404. data/generated/google/apis/{servicebroker_v1beta1.rb → secretmanager_v1beta1.rb} +9 -10
  405. data/generated/google/apis/securitycenter_v1/classes.rb +467 -15
  406. data/generated/google/apis/securitycenter_v1/representations.rb +141 -0
  407. data/generated/google/apis/securitycenter_v1/service.rb +6 -0
  408. data/generated/google/apis/securitycenter_v1.rb +1 -1
  409. data/generated/google/apis/securitycenter_v1beta1/classes.rb +442 -15
  410. data/generated/google/apis/securitycenter_v1beta1/representations.rb +138 -0
  411. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  412. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +393 -0
  413. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +138 -0
  414. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  415. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +1999 -0
  416. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +699 -0
  417. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +1315 -0
  418. data/generated/google/apis/securitycenter_v1p1beta1.rb +35 -0
  419. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +225 -3
  420. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +51 -0
  421. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  422. data/generated/google/apis/servicecontrol_v1/classes.rb +242 -3
  423. data/generated/google/apis/servicecontrol_v1/representations.rb +86 -0
  424. data/generated/google/apis/servicecontrol_v1/service.rb +2 -1
  425. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  426. data/generated/google/apis/servicemanagement_v1/classes.rb +169 -18
  427. data/generated/google/apis/servicemanagement_v1/representations.rb +19 -0
  428. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  429. data/generated/google/apis/servicenetworking_v1/classes.rb +178 -3
  430. data/generated/google/apis/servicenetworking_v1/representations.rb +33 -0
  431. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  432. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  433. data/generated/google/apis/servicenetworking_v1beta/classes.rb +156 -3
  434. data/generated/google/apis/servicenetworking_v1beta/representations.rb +20 -0
  435. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  436. data/generated/google/apis/serviceusage_v1/classes.rb +156 -3
  437. data/generated/google/apis/serviceusage_v1/representations.rb +20 -0
  438. data/generated/google/apis/serviceusage_v1.rb +1 -1
  439. data/generated/google/apis/serviceusage_v1beta1/classes.rb +156 -3
  440. data/generated/google/apis/serviceusage_v1beta1/representations.rb +20 -0
  441. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  442. data/generated/google/apis/sheets_v4/classes.rb +380 -31
  443. data/generated/google/apis/sheets_v4/representations.rb +103 -0
  444. data/generated/google/apis/sheets_v4/service.rb +9 -11
  445. data/generated/google/apis/sheets_v4.rb +1 -1
  446. data/generated/google/apis/sourcerepo_v1/classes.rb +172 -65
  447. data/generated/google/apis/sourcerepo_v1/service.rb +9 -1
  448. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  449. data/generated/google/apis/spanner_v1/classes.rb +153 -66
  450. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  451. data/generated/google/apis/spanner_v1/service.rb +7 -2
  452. data/generated/google/apis/spanner_v1.rb +1 -1
  453. data/generated/google/apis/speech_v1/classes.rb +1 -8
  454. data/generated/google/apis/speech_v1/representations.rb +0 -1
  455. data/generated/google/apis/speech_v1.rb +1 -1
  456. data/generated/google/apis/speech_v1p1beta1/classes.rb +3 -8
  457. data/generated/google/apis/speech_v1p1beta1/representations.rb +0 -1
  458. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  459. data/generated/google/apis/sql_v1beta4/classes.rb +204 -5
  460. data/generated/google/apis/sql_v1beta4/representations.rb +84 -0
  461. data/generated/google/apis/sql_v1beta4/service.rb +279 -14
  462. data/generated/google/apis/sql_v1beta4.rb +1 -1
  463. data/generated/google/apis/storage_v1/classes.rb +16 -7
  464. data/generated/google/apis/storage_v1/service.rb +1 -1
  465. data/generated/google/apis/storage_v1.rb +1 -1
  466. data/generated/google/apis/storage_v1beta2/service.rb +1 -1
  467. data/generated/google/apis/storage_v1beta2.rb +1 -1
  468. data/generated/google/apis/storagetransfer_v1/classes.rb +13 -4
  469. data/generated/google/apis/storagetransfer_v1/service.rb +4 -32
  470. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  471. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  472. data/generated/google/apis/tagmanager_v1/classes.rb +2 -0
  473. data/generated/google/apis/tagmanager_v1.rb +1 -1
  474. data/generated/google/apis/tagmanager_v2/classes.rb +170 -0
  475. data/generated/google/apis/tagmanager_v2/representations.rb +49 -0
  476. data/generated/google/apis/tagmanager_v2.rb +1 -1
  477. data/generated/google/apis/tasks_v1/service.rb +4 -1
  478. data/generated/google/apis/tasks_v1.rb +1 -1
  479. data/generated/google/apis/testing_v1/classes.rb +2 -2
  480. data/generated/google/apis/testing_v1.rb +1 -1
  481. data/generated/google/apis/toolresults_v1/classes.rb +696 -0
  482. data/generated/google/apis/toolresults_v1/representations.rb +438 -0
  483. data/generated/google/apis/toolresults_v1/service.rb +59 -0
  484. data/generated/google/apis/{analytics_v2_4/representations.rb → toolresults_v1.rb} +11 -6
  485. data/generated/google/apis/toolresults_v1beta3/classes.rb +374 -2
  486. data/generated/google/apis/toolresults_v1beta3/representations.rb +109 -0
  487. data/generated/google/apis/toolresults_v1beta3/service.rb +98 -0
  488. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  489. data/generated/google/apis/tpu_v1/classes.rb +0 -1
  490. data/generated/google/apis/tpu_v1.rb +1 -1
  491. data/generated/google/apis/tpu_v1alpha1/classes.rb +0 -1
  492. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  493. data/generated/google/apis/translate_v3/classes.rb +943 -0
  494. data/generated/google/apis/translate_v3/representations.rb +439 -0
  495. data/generated/google/apis/translate_v3/service.rb +781 -0
  496. data/generated/google/apis/translate_v3.rb +37 -0
  497. data/generated/google/apis/videointelligence_v1/classes.rb +97 -0
  498. data/generated/google/apis/videointelligence_v1/representations.rb +51 -0
  499. data/generated/google/apis/videointelligence_v1.rb +1 -1
  500. data/generated/google/apis/videointelligence_v1beta2/classes.rb +97 -0
  501. data/generated/google/apis/videointelligence_v1beta2/representations.rb +51 -0
  502. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  503. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +97 -0
  504. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +51 -0
  505. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  506. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +97 -0
  507. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +51 -0
  508. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  509. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +184 -0
  510. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +85 -0
  511. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  512. data/generated/google/apis/vision_v1/service.rb +1 -1
  513. data/generated/google/apis/vision_v1.rb +1 -1
  514. data/generated/google/apis/websecurityscanner_v1/classes.rb +63 -0
  515. data/generated/google/apis/websecurityscanner_v1/representations.rb +31 -0
  516. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  517. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  518. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +63 -0
  519. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +31 -0
  520. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  521. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  522. data/generated/google/apis/youtube_analytics_v2.rb +1 -1
  523. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  524. data/generated/google/apis/youtube_v3/classes.rb +61 -9
  525. data/generated/google/apis/youtube_v3/representations.rb +8 -1
  526. data/generated/google/apis/youtube_v3/service.rb +8 -2
  527. data/generated/google/apis/youtube_v3.rb +1 -1
  528. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  529. data/lib/google/apis/core/base_service.rb +1 -1
  530. data/lib/google/apis/core/http_command.rb +1 -2
  531. data/lib/google/apis/version.rb +1 -1
  532. metadata +51 -39
  533. data/generated/google/apis/analytics_v2_4/service.rb +0 -331
  534. data/generated/google/apis/analytics_v2_4.rb +0 -37
  535. data/generated/google/apis/fusiontables_v1/classes.rb +0 -977
  536. data/generated/google/apis/fusiontables_v1/representations.rb +0 -449
  537. data/generated/google/apis/fusiontables_v1/service.rb +0 -1307
  538. data/generated/google/apis/fusiontables_v2/classes.rb +0 -1049
  539. data/generated/google/apis/fusiontables_v2/representations.rb +0 -457
  540. data/generated/google/apis/fusiontables_v2/service.rb +0 -1431
  541. data/generated/google/apis/fusiontables_v2.rb +0 -37
  542. data/generated/google/apis/plus_domains_v1/classes.rb +0 -2609
  543. data/generated/google/apis/plus_domains_v1/representations.rb +0 -1111
  544. data/generated/google/apis/plus_domains_v1/service.rb +0 -489
  545. data/generated/google/apis/plus_domains_v1.rb +0 -55
  546. data/generated/google/apis/replicapool_v1beta1/classes.rb +0 -918
  547. data/generated/google/apis/replicapool_v1beta1/representations.rb +0 -409
  548. data/generated/google/apis/replicapool_v1beta1/service.rb +0 -489
  549. data/generated/google/apis/replicapool_v1beta1.rb +0 -50
  550. data/generated/google/apis/servicebroker_v1/classes.rb +0 -368
  551. data/generated/google/apis/servicebroker_v1/representations.rb +0 -114
  552. data/generated/google/apis/servicebroker_v1/service.rb +0 -177
  553. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +0 -1072
  554. data/generated/google/apis/servicebroker_v1alpha1/service.rb +0 -737
  555. data/generated/google/apis/servicebroker_v1beta1/classes.rb +0 -1208
  556. data/generated/google/apis/servicebroker_v1beta1/representations.rb +0 -416
  557. data/generated/google/apis/servicebroker_v1beta1/service.rb +0 -926
  558. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  559. data/generated/google/apis/surveys_v2/representations.rb +0 -305
  560. data/generated/google/apis/surveys_v2/service.rb +0 -348
@@ -0,0 +1,752 @@
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 PolicytroubleshooterV1
24
+
25
+ # Information about the member, resource, and permission to check.
26
+ class GoogleCloudPolicytroubleshooterV1AccessTuple
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Required. The full resource name that identifies the resource. For example,
30
+ # `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-
31
+ # instance`.
32
+ # For examples of full resource names for Google Cloud services, see
33
+ # https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
34
+ # Corresponds to the JSON property `fullResourceName`
35
+ # @return [String]
36
+ attr_accessor :full_resource_name
37
+
38
+ # Required. The IAM permission to check for the specified member and resource.
39
+ # For a complete list of IAM permissions, see
40
+ # https://cloud.google.com/iam/help/permissions/reference.
41
+ # For a complete list of predefined IAM roles and the permissions in each
42
+ # role, see https://cloud.google.com/iam/help/roles/reference.
43
+ # Corresponds to the JSON property `permission`
44
+ # @return [String]
45
+ attr_accessor :permission
46
+
47
+ # Required. The member, or principal, whose access you want to check, in the
48
+ # form of
49
+ # the email address that represents that member. For example,
50
+ # `alice@example.com` or
51
+ # `my-service-account@my-project.iam.gserviceaccount.com`.
52
+ # The member must be a Google Account or a service account. Other types of
53
+ # members are not supported.
54
+ # Corresponds to the JSON property `principal`
55
+ # @return [String]
56
+ attr_accessor :principal
57
+
58
+ def initialize(**args)
59
+ update!(**args)
60
+ end
61
+
62
+ # Update properties of this object
63
+ def update!(**args)
64
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
65
+ @permission = args[:permission] if args.key?(:permission)
66
+ @principal = args[:principal] if args.key?(:principal)
67
+ end
68
+ end
69
+
70
+ # Details about how a binding in a policy affects a member's ability to use a
71
+ # permission.
72
+ class GoogleCloudPolicytroubleshooterV1BindingExplanation
73
+ include Google::Apis::Core::Hashable
74
+
75
+ # Required. Indicates whether _this binding_ provides the specified permission
76
+ # to the
77
+ # specified member for the specified resource.
78
+ # This field does _not_ indicate whether the member actually has the
79
+ # permission for the resource. There might be another binding that overrides
80
+ # this binding. To determine whether the member actually has the permission,
81
+ # use the `access` field in the
82
+ # TroubleshootIamPolicyResponse.
83
+ # Corresponds to the JSON property `access`
84
+ # @return [String]
85
+ attr_accessor :access
86
+
87
+ # Represents a textual expression in the Common Expression Language (CEL)
88
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
89
+ # are documented at https://github.com/google/cel-spec.
90
+ # Example (Comparison):
91
+ # title: "Summary size limit"
92
+ # description: "Determines if a summary is less than 100 chars"
93
+ # expression: "document.summary.size() < 100"
94
+ # Example (Equality):
95
+ # title: "Requestor is owner"
96
+ # description: "Determines if requestor is the document owner"
97
+ # expression: "document.owner == request.auth.claims.email"
98
+ # Example (Logic):
99
+ # title: "Public documents"
100
+ # description: "Determine whether the document should be publicly visible"
101
+ # expression: "document.type != 'private' && document.type != 'internal'"
102
+ # Example (Data Manipulation):
103
+ # title: "Notification string"
104
+ # description: "Create a notification string with a timestamp."
105
+ # expression: "'New message received at ' + string(document.create_time)"
106
+ # The exact variables and functions that may be referenced within an expression
107
+ # are determined by the service that evaluates it. See the service
108
+ # documentation for additional information.
109
+ # Corresponds to the JSON property `condition`
110
+ # @return [Google::Apis::PolicytroubleshooterV1::GoogleTypeExpr]
111
+ attr_accessor :condition
112
+
113
+ # Indicates whether each member in the binding includes the member specified
114
+ # in the request, either directly or indirectly. Each key identifies a member
115
+ # in the binding, and each value indicates whether the member in the binding
116
+ # includes the member in the request.
117
+ # For example, suppose that a binding includes the following members:
118
+ # * `user:alice@example.com`
119
+ # * `group:product-eng@example.com`
120
+ # You want to troubleshoot access for `user:bob@example.com`. This user is a
121
+ # member of the group `group:product-eng@example.com`.
122
+ # For the first member in the binding, the key is `user:alice@example.com`,
123
+ # and the `membership` field in the value is set to
124
+ # `MEMBERSHIP_NOT_INCLUDED`.
125
+ # For the second member in the binding, the key is
126
+ # `group:product-eng@example.com`, and the `membership` field in the value is
127
+ # set to `MEMBERSHIP_INCLUDED`.
128
+ # Corresponds to the JSON property `memberships`
129
+ # @return [Hash<String,Google::Apis::PolicytroubleshooterV1::GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership>]
130
+ attr_accessor :memberships
131
+
132
+ # The relevance of this binding to the overall determination for the entire
133
+ # policy.
134
+ # Corresponds to the JSON property `relevance`
135
+ # @return [String]
136
+ attr_accessor :relevance
137
+
138
+ # The role that this binding grants. For example,
139
+ # `roles/compute.serviceAgent`.
140
+ # For a complete list of predefined IAM roles, as well as the permissions in
141
+ # each role, see https://cloud.google.com/iam/help/roles/reference.
142
+ # Corresponds to the JSON property `role`
143
+ # @return [String]
144
+ attr_accessor :role
145
+
146
+ # Indicates whether the role granted by this binding contains the specified
147
+ # permission.
148
+ # Corresponds to the JSON property `rolePermission`
149
+ # @return [String]
150
+ attr_accessor :role_permission
151
+
152
+ # The relevance of the permission's existence, or nonexistence, in the role
153
+ # to the overall determination for the entire policy.
154
+ # Corresponds to the JSON property `rolePermissionRelevance`
155
+ # @return [String]
156
+ attr_accessor :role_permission_relevance
157
+
158
+ def initialize(**args)
159
+ update!(**args)
160
+ end
161
+
162
+ # Update properties of this object
163
+ def update!(**args)
164
+ @access = args[:access] if args.key?(:access)
165
+ @condition = args[:condition] if args.key?(:condition)
166
+ @memberships = args[:memberships] if args.key?(:memberships)
167
+ @relevance = args[:relevance] if args.key?(:relevance)
168
+ @role = args[:role] if args.key?(:role)
169
+ @role_permission = args[:role_permission] if args.key?(:role_permission)
170
+ @role_permission_relevance = args[:role_permission_relevance] if args.key?(:role_permission_relevance)
171
+ end
172
+ end
173
+
174
+ # Details about whether the binding includes the member.
175
+ class GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership
176
+ include Google::Apis::Core::Hashable
177
+
178
+ # Indicates whether the binding includes the member.
179
+ # Corresponds to the JSON property `membership`
180
+ # @return [String]
181
+ attr_accessor :membership
182
+
183
+ # The relevance of the member's status to the overall determination for the
184
+ # binding.
185
+ # Corresponds to the JSON property `relevance`
186
+ # @return [String]
187
+ attr_accessor :relevance
188
+
189
+ def initialize(**args)
190
+ update!(**args)
191
+ end
192
+
193
+ # Update properties of this object
194
+ def update!(**args)
195
+ @membership = args[:membership] if args.key?(:membership)
196
+ @relevance = args[:relevance] if args.key?(:relevance)
197
+ end
198
+ end
199
+
200
+ # Details about how a specific IAM Policy contributed
201
+ # to the access check.
202
+ class GoogleCloudPolicytroubleshooterV1ExplainedPolicy
203
+ include Google::Apis::Core::Hashable
204
+
205
+ # Indicates whether _this policy_ provides the specified permission to the
206
+ # specified member for the specified resource.
207
+ # This field does _not_ indicate whether the member actually has the
208
+ # permission for the resource. There might be another policy that overrides
209
+ # this policy. To determine whether the member actually has the permission,
210
+ # use the `access` field in the
211
+ # TroubleshootIamPolicyResponse.
212
+ # Corresponds to the JSON property `access`
213
+ # @return [String]
214
+ attr_accessor :access
215
+
216
+ # Details about how each binding in the policy affects the member's ability,
217
+ # or inability, to use the permission for the resource.
218
+ # If the sender of the request does not have access to the policy, this field
219
+ # is omitted.
220
+ # Corresponds to the JSON property `bindingExplanations`
221
+ # @return [Array<Google::Apis::PolicytroubleshooterV1::GoogleCloudPolicytroubleshooterV1BindingExplanation>]
222
+ attr_accessor :binding_explanations
223
+
224
+ # The full resource name that identifies the resource. For example,
225
+ # `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-
226
+ # instance`.
227
+ # If the sender of the request does not have access to the policy, this field
228
+ # is omitted.
229
+ # For examples of full resource names for Google Cloud services, see
230
+ # https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
231
+ # Corresponds to the JSON property `fullResourceName`
232
+ # @return [String]
233
+ attr_accessor :full_resource_name
234
+
235
+ # An Identity and Access Management (IAM) policy, which specifies access
236
+ # controls for Google Cloud resources.
237
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
238
+ # `members` to a single `role`. Members can be user accounts, service accounts,
239
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
240
+ # permissions; each `role` can be an IAM predefined role or a user-created
241
+ # custom role.
242
+ # Optionally, a `binding` can specify a `condition`, which is a logical
243
+ # expression that allows access to a resource only if the expression evaluates
244
+ # to `true`. A condition can add constraints based on attributes of the
245
+ # request, the resource, or both.
246
+ # **JSON example:**
247
+ # `
248
+ # "bindings": [
249
+ # `
250
+ # "role": "roles/resourcemanager.organizationAdmin",
251
+ # "members": [
252
+ # "user:mike@example.com",
253
+ # "group:admins@example.com",
254
+ # "domain:google.com",
255
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
256
+ # ]
257
+ # `,
258
+ # `
259
+ # "role": "roles/resourcemanager.organizationViewer",
260
+ # "members": ["user:eve@example.com"],
261
+ # "condition": `
262
+ # "title": "expirable access",
263
+ # "description": "Does not grant access after Sep 2020",
264
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
265
+ # ",
266
+ # `
267
+ # `
268
+ # ],
269
+ # "etag": "BwWWja0YfJA=",
270
+ # "version": 3
271
+ # `
272
+ # **YAML example:**
273
+ # bindings:
274
+ # - members:
275
+ # - user:mike@example.com
276
+ # - group:admins@example.com
277
+ # - domain:google.com
278
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
279
+ # role: roles/resourcemanager.organizationAdmin
280
+ # - members:
281
+ # - user:eve@example.com
282
+ # role: roles/resourcemanager.organizationViewer
283
+ # condition:
284
+ # title: expirable access
285
+ # description: Does not grant access after Sep 2020
286
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
287
+ # - etag: BwWWja0YfJA=
288
+ # - version: 3
289
+ # For a description of IAM and its features, see the
290
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
291
+ # Corresponds to the JSON property `policy`
292
+ # @return [Google::Apis::PolicytroubleshooterV1::GoogleIamV1Policy]
293
+ attr_accessor :policy
294
+
295
+ # The relevance of this policy to the overall determination in the
296
+ # TroubleshootIamPolicyResponse.
297
+ # If the sender of the request does not have access to the policy, this field
298
+ # is omitted.
299
+ # Corresponds to the JSON property `relevance`
300
+ # @return [String]
301
+ attr_accessor :relevance
302
+
303
+ def initialize(**args)
304
+ update!(**args)
305
+ end
306
+
307
+ # Update properties of this object
308
+ def update!(**args)
309
+ @access = args[:access] if args.key?(:access)
310
+ @binding_explanations = args[:binding_explanations] if args.key?(:binding_explanations)
311
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
312
+ @policy = args[:policy] if args.key?(:policy)
313
+ @relevance = args[:relevance] if args.key?(:relevance)
314
+ end
315
+ end
316
+
317
+ # Request for TroubleshootIamPolicy.
318
+ class GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest
319
+ include Google::Apis::Core::Hashable
320
+
321
+ # Information about the member, resource, and permission to check.
322
+ # Corresponds to the JSON property `accessTuple`
323
+ # @return [Google::Apis::PolicytroubleshooterV1::GoogleCloudPolicytroubleshooterV1AccessTuple]
324
+ attr_accessor :access_tuple
325
+
326
+ def initialize(**args)
327
+ update!(**args)
328
+ end
329
+
330
+ # Update properties of this object
331
+ def update!(**args)
332
+ @access_tuple = args[:access_tuple] if args.key?(:access_tuple)
333
+ end
334
+ end
335
+
336
+ # Response for TroubleshootIamPolicy.
337
+ class GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse
338
+ include Google::Apis::Core::Hashable
339
+
340
+ # Indicates whether the member has the specified permission for the specified
341
+ # resource, based on evaluating all of the applicable IAM policies.
342
+ # Corresponds to the JSON property `access`
343
+ # @return [String]
344
+ attr_accessor :access
345
+
346
+ # List of IAM policies that were evaluated to check the member's permissions,
347
+ # with annotations to indicate how each policy contributed to the final
348
+ # result.
349
+ # The list of policies can include the policy for the resource itself. It can
350
+ # also include policies that are inherited from higher levels of the resource
351
+ # hierarchy, including the organization, the folder, and the project.
352
+ # To learn more about the resource hierarchy, see
353
+ # https://cloud.google.com/iam/help/resource-hierarchy.
354
+ # Corresponds to the JSON property `explainedPolicies`
355
+ # @return [Array<Google::Apis::PolicytroubleshooterV1::GoogleCloudPolicytroubleshooterV1ExplainedPolicy>]
356
+ attr_accessor :explained_policies
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ @access = args[:access] if args.key?(:access)
365
+ @explained_policies = args[:explained_policies] if args.key?(:explained_policies)
366
+ end
367
+ end
368
+
369
+ # Specifies the audit configuration for a service.
370
+ # The configuration determines which permission types are logged, and what
371
+ # identities, if any, are exempted from logging.
372
+ # An AuditConfig must have one or more AuditLogConfigs.
373
+ # If there are AuditConfigs for both `allServices` and a specific service,
374
+ # the union of the two AuditConfigs is used for that service: the log_types
375
+ # specified in each AuditConfig are enabled, and the exempted_members in each
376
+ # AuditLogConfig are exempted.
377
+ # Example Policy with multiple AuditConfigs:
378
+ # `
379
+ # "audit_configs": [
380
+ # `
381
+ # "service": "allServices"
382
+ # "audit_log_configs": [
383
+ # `
384
+ # "log_type": "DATA_READ",
385
+ # "exempted_members": [
386
+ # "user:jose@example.com"
387
+ # ]
388
+ # `,
389
+ # `
390
+ # "log_type": "DATA_WRITE",
391
+ # `,
392
+ # `
393
+ # "log_type": "ADMIN_READ",
394
+ # `
395
+ # ]
396
+ # `,
397
+ # `
398
+ # "service": "sampleservice.googleapis.com"
399
+ # "audit_log_configs": [
400
+ # `
401
+ # "log_type": "DATA_READ",
402
+ # `,
403
+ # `
404
+ # "log_type": "DATA_WRITE",
405
+ # "exempted_members": [
406
+ # "user:aliya@example.com"
407
+ # ]
408
+ # `
409
+ # ]
410
+ # `
411
+ # ]
412
+ # `
413
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
414
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
415
+ # aliya@example.com from DATA_WRITE logging.
416
+ class GoogleIamV1AuditConfig
417
+ include Google::Apis::Core::Hashable
418
+
419
+ # The configuration for logging of each type of permission.
420
+ # Corresponds to the JSON property `auditLogConfigs`
421
+ # @return [Array<Google::Apis::PolicytroubleshooterV1::GoogleIamV1AuditLogConfig>]
422
+ attr_accessor :audit_log_configs
423
+
424
+ # Specifies a service that will be enabled for audit logging.
425
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
426
+ # `allServices` is a special value that covers all services.
427
+ # Corresponds to the JSON property `service`
428
+ # @return [String]
429
+ attr_accessor :service
430
+
431
+ def initialize(**args)
432
+ update!(**args)
433
+ end
434
+
435
+ # Update properties of this object
436
+ def update!(**args)
437
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
438
+ @service = args[:service] if args.key?(:service)
439
+ end
440
+ end
441
+
442
+ # Provides the configuration for logging a type of permissions.
443
+ # Example:
444
+ # `
445
+ # "audit_log_configs": [
446
+ # `
447
+ # "log_type": "DATA_READ",
448
+ # "exempted_members": [
449
+ # "user:jose@example.com"
450
+ # ]
451
+ # `,
452
+ # `
453
+ # "log_type": "DATA_WRITE",
454
+ # `
455
+ # ]
456
+ # `
457
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
458
+ # jose@example.com from DATA_READ logging.
459
+ class GoogleIamV1AuditLogConfig
460
+ include Google::Apis::Core::Hashable
461
+
462
+ # Specifies the identities that do not cause logging for this type of
463
+ # permission.
464
+ # Follows the same format of Binding.members.
465
+ # Corresponds to the JSON property `exemptedMembers`
466
+ # @return [Array<String>]
467
+ attr_accessor :exempted_members
468
+
469
+ # The log type that this config enables.
470
+ # Corresponds to the JSON property `logType`
471
+ # @return [String]
472
+ attr_accessor :log_type
473
+
474
+ def initialize(**args)
475
+ update!(**args)
476
+ end
477
+
478
+ # Update properties of this object
479
+ def update!(**args)
480
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
481
+ @log_type = args[:log_type] if args.key?(:log_type)
482
+ end
483
+ end
484
+
485
+ # Associates `members` with a `role`.
486
+ class GoogleIamV1Binding
487
+ include Google::Apis::Core::Hashable
488
+
489
+ # Represents a textual expression in the Common Expression Language (CEL)
490
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
491
+ # are documented at https://github.com/google/cel-spec.
492
+ # Example (Comparison):
493
+ # title: "Summary size limit"
494
+ # description: "Determines if a summary is less than 100 chars"
495
+ # expression: "document.summary.size() < 100"
496
+ # Example (Equality):
497
+ # title: "Requestor is owner"
498
+ # description: "Determines if requestor is the document owner"
499
+ # expression: "document.owner == request.auth.claims.email"
500
+ # Example (Logic):
501
+ # title: "Public documents"
502
+ # description: "Determine whether the document should be publicly visible"
503
+ # expression: "document.type != 'private' && document.type != 'internal'"
504
+ # Example (Data Manipulation):
505
+ # title: "Notification string"
506
+ # description: "Create a notification string with a timestamp."
507
+ # expression: "'New message received at ' + string(document.create_time)"
508
+ # The exact variables and functions that may be referenced within an expression
509
+ # are determined by the service that evaluates it. See the service
510
+ # documentation for additional information.
511
+ # Corresponds to the JSON property `condition`
512
+ # @return [Google::Apis::PolicytroubleshooterV1::GoogleTypeExpr]
513
+ attr_accessor :condition
514
+
515
+ # Specifies the identities requesting access for a Cloud Platform resource.
516
+ # `members` can have the following values:
517
+ # * `allUsers`: A special identifier that represents anyone who is
518
+ # on the internet; with or without a Google account.
519
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
520
+ # who is authenticated with a Google account or a service account.
521
+ # * `user:`emailid``: An email address that represents a specific Google
522
+ # account. For example, `alice@example.com` .
523
+ # * `serviceAccount:`emailid``: An email address that represents a service
524
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
525
+ # * `group:`emailid``: An email address that represents a Google group.
526
+ # For example, `admins@example.com`.
527
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
528
+ # identifier) representing a user that has been recently deleted. For
529
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
530
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
531
+ # retains the role in the binding.
532
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
533
+ # unique identifier) representing a service account that has been recently
534
+ # deleted. For example,
535
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
536
+ # If the service account is undeleted, this value reverts to
537
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
538
+ # role in the binding.
539
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
540
+ # identifier) representing a Google group that has been recently
541
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
542
+ # the group is recovered, this value reverts to `group:`emailid`` and the
543
+ # recovered group retains the role in the binding.
544
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
545
+ # users of that domain. For example, `google.com` or `example.com`.
546
+ # Corresponds to the JSON property `members`
547
+ # @return [Array<String>]
548
+ attr_accessor :members
549
+
550
+ # Role that is assigned to `members`.
551
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
552
+ # Corresponds to the JSON property `role`
553
+ # @return [String]
554
+ attr_accessor :role
555
+
556
+ def initialize(**args)
557
+ update!(**args)
558
+ end
559
+
560
+ # Update properties of this object
561
+ def update!(**args)
562
+ @condition = args[:condition] if args.key?(:condition)
563
+ @members = args[:members] if args.key?(:members)
564
+ @role = args[:role] if args.key?(:role)
565
+ end
566
+ end
567
+
568
+ # An Identity and Access Management (IAM) policy, which specifies access
569
+ # controls for Google Cloud resources.
570
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
571
+ # `members` to a single `role`. Members can be user accounts, service accounts,
572
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
573
+ # permissions; each `role` can be an IAM predefined role or a user-created
574
+ # custom role.
575
+ # Optionally, a `binding` can specify a `condition`, which is a logical
576
+ # expression that allows access to a resource only if the expression evaluates
577
+ # to `true`. A condition can add constraints based on attributes of the
578
+ # request, the resource, or both.
579
+ # **JSON example:**
580
+ # `
581
+ # "bindings": [
582
+ # `
583
+ # "role": "roles/resourcemanager.organizationAdmin",
584
+ # "members": [
585
+ # "user:mike@example.com",
586
+ # "group:admins@example.com",
587
+ # "domain:google.com",
588
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
589
+ # ]
590
+ # `,
591
+ # `
592
+ # "role": "roles/resourcemanager.organizationViewer",
593
+ # "members": ["user:eve@example.com"],
594
+ # "condition": `
595
+ # "title": "expirable access",
596
+ # "description": "Does not grant access after Sep 2020",
597
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
598
+ # ",
599
+ # `
600
+ # `
601
+ # ],
602
+ # "etag": "BwWWja0YfJA=",
603
+ # "version": 3
604
+ # `
605
+ # **YAML example:**
606
+ # bindings:
607
+ # - members:
608
+ # - user:mike@example.com
609
+ # - group:admins@example.com
610
+ # - domain:google.com
611
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
612
+ # role: roles/resourcemanager.organizationAdmin
613
+ # - members:
614
+ # - user:eve@example.com
615
+ # role: roles/resourcemanager.organizationViewer
616
+ # condition:
617
+ # title: expirable access
618
+ # description: Does not grant access after Sep 2020
619
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
620
+ # - etag: BwWWja0YfJA=
621
+ # - version: 3
622
+ # For a description of IAM and its features, see the
623
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
624
+ class GoogleIamV1Policy
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # Specifies cloud audit logging configuration for this policy.
628
+ # Corresponds to the JSON property `auditConfigs`
629
+ # @return [Array<Google::Apis::PolicytroubleshooterV1::GoogleIamV1AuditConfig>]
630
+ attr_accessor :audit_configs
631
+
632
+ # Associates a list of `members` to a `role`. Optionally, may specify a
633
+ # `condition` that determines how and when the `bindings` are applied. Each
634
+ # of the `bindings` must contain at least one member.
635
+ # Corresponds to the JSON property `bindings`
636
+ # @return [Array<Google::Apis::PolicytroubleshooterV1::GoogleIamV1Binding>]
637
+ attr_accessor :bindings
638
+
639
+ # `etag` is used for optimistic concurrency control as a way to help
640
+ # prevent simultaneous updates of a policy from overwriting each other.
641
+ # It is strongly suggested that systems make use of the `etag` in the
642
+ # read-modify-write cycle to perform policy updates in order to avoid race
643
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
644
+ # systems are expected to put that etag in the request to `setIamPolicy` to
645
+ # ensure that their change will be applied to the same version of the policy.
646
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
647
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
648
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
649
+ # the conditions in the version `3` policy are lost.
650
+ # Corresponds to the JSON property `etag`
651
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
652
+ # @return [String]
653
+ attr_accessor :etag
654
+
655
+ # Specifies the format of the policy.
656
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
657
+ # are rejected.
658
+ # Any operation that affects conditional role bindings must specify version
659
+ # `3`. This requirement applies to the following operations:
660
+ # * Getting a policy that includes a conditional role binding
661
+ # * Adding a conditional role binding to a policy
662
+ # * Changing a conditional role binding in a policy
663
+ # * Removing any role binding, with or without a condition, from a policy
664
+ # that includes conditions
665
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
666
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
667
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
668
+ # the conditions in the version `3` policy are lost.
669
+ # If a policy does not include any conditions, operations on that policy may
670
+ # specify any valid version or leave the field unset.
671
+ # Corresponds to the JSON property `version`
672
+ # @return [Fixnum]
673
+ attr_accessor :version
674
+
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
678
+
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
682
+ @bindings = args[:bindings] if args.key?(:bindings)
683
+ @etag = args[:etag] if args.key?(:etag)
684
+ @version = args[:version] if args.key?(:version)
685
+ end
686
+ end
687
+
688
+ # Represents a textual expression in the Common Expression Language (CEL)
689
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
690
+ # are documented at https://github.com/google/cel-spec.
691
+ # Example (Comparison):
692
+ # title: "Summary size limit"
693
+ # description: "Determines if a summary is less than 100 chars"
694
+ # expression: "document.summary.size() < 100"
695
+ # Example (Equality):
696
+ # title: "Requestor is owner"
697
+ # description: "Determines if requestor is the document owner"
698
+ # expression: "document.owner == request.auth.claims.email"
699
+ # Example (Logic):
700
+ # title: "Public documents"
701
+ # description: "Determine whether the document should be publicly visible"
702
+ # expression: "document.type != 'private' && document.type != 'internal'"
703
+ # Example (Data Manipulation):
704
+ # title: "Notification string"
705
+ # description: "Create a notification string with a timestamp."
706
+ # expression: "'New message received at ' + string(document.create_time)"
707
+ # The exact variables and functions that may be referenced within an expression
708
+ # are determined by the service that evaluates it. See the service
709
+ # documentation for additional information.
710
+ class GoogleTypeExpr
711
+ include Google::Apis::Core::Hashable
712
+
713
+ # Optional. Description of the expression. This is a longer text which
714
+ # describes the expression, e.g. when hovered over it in a UI.
715
+ # Corresponds to the JSON property `description`
716
+ # @return [String]
717
+ attr_accessor :description
718
+
719
+ # Textual representation of an expression in Common Expression Language
720
+ # syntax.
721
+ # Corresponds to the JSON property `expression`
722
+ # @return [String]
723
+ attr_accessor :expression
724
+
725
+ # Optional. String indicating the location of the expression for error
726
+ # reporting, e.g. a file name and a position in the file.
727
+ # Corresponds to the JSON property `location`
728
+ # @return [String]
729
+ attr_accessor :location
730
+
731
+ # Optional. Title for the expression, i.e. a short string describing
732
+ # its purpose. This can be used e.g. in UIs which allow to enter the
733
+ # expression.
734
+ # Corresponds to the JSON property `title`
735
+ # @return [String]
736
+ attr_accessor :title
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @description = args[:description] if args.key?(:description)
745
+ @expression = args[:expression] if args.key?(:expression)
746
+ @location = args[:location] if args.key?(:location)
747
+ @title = args[:title] if args.key?(:title)
748
+ end
749
+ end
750
+ end
751
+ end
752
+ end