google-api-client 0.31.0 → 0.32.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 (295) hide show
  1. checksums.yaml +4 -4
  2. data/.kokoro/continuous/linux.cfg +11 -1
  3. data/.kokoro/continuous/osx.cfg +5 -0
  4. data/.kokoro/continuous/windows.cfg +10 -0
  5. data/.kokoro/presubmit/linux.cfg +11 -1
  6. data/.kokoro/presubmit/osx.cfg +5 -0
  7. data/.kokoro/presubmit/windows.cfg +10 -0
  8. data/CHANGELOG.md +107 -0
  9. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  10. data/generated/google/apis/androidmanagement_v1/classes.rb +12 -1
  11. data/generated/google/apis/androidmanagement_v1/representations.rb +1 -0
  12. data/generated/google/apis/bigquery_v2.rb +1 -1
  13. data/generated/google/apis/bigquery_v2/classes.rb +241 -0
  14. data/generated/google/apis/bigquery_v2/representations.rb +115 -0
  15. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  16. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +62 -29
  17. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  18. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +2 -2
  19. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -26
  20. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  21. data/generated/google/apis/bigqueryreservation_v1/classes.rb +7 -7
  22. data/generated/google/apis/bigqueryreservation_v1/representations.rb +3 -3
  23. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  24. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -175
  25. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -65
  26. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -140
  27. data/generated/google/apis/bigqueryreservation_v1beta1.rb +37 -0
  28. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +497 -0
  29. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +236 -0
  30. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +713 -0
  31. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  32. data/generated/google/apis/binaryauthorization_v1/classes.rb +307 -0
  33. data/generated/google/apis/binaryauthorization_v1/representations.rb +88 -0
  34. data/generated/google/apis/binaryauthorization_v1/service.rb +230 -0
  35. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  36. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +62 -29
  37. data/generated/google/apis/blogger_v3.rb +1 -1
  38. data/generated/google/apis/blogger_v3/service.rb +6 -6
  39. data/generated/google/apis/calendar_v3.rb +1 -1
  40. data/generated/google/apis/calendar_v3/classes.rb +1 -0
  41. data/generated/google/apis/cloudasset_v1.rb +1 -1
  42. data/generated/google/apis/cloudasset_v1/classes.rb +72 -29
  43. data/generated/google/apis/cloudasset_v1/representations.rb +1 -0
  44. data/generated/google/apis/cloudasset_v1/service.rb +1 -1
  45. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1beta1/classes.rb +62 -29
  47. data/generated/google/apis/cloudasset_v1beta1/service.rb +2 -2
  48. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  49. data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -2
  50. data/generated/google/apis/cloudfunctions_v1/service.rb +10 -7
  51. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  52. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +1 -1
  53. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +7 -6
  54. data/generated/google/apis/cloudidentity_v1.rb +4 -1
  55. data/generated/google/apis/cloudidentity_v1beta1.rb +4 -1
  56. data/generated/google/apis/cloudiot_v1.rb +1 -1
  57. data/generated/google/apis/cloudiot_v1/classes.rb +68 -35
  58. data/generated/google/apis/cloudiot_v1/service.rb +18 -17
  59. data/generated/google/apis/cloudkms_v1.rb +1 -1
  60. data/generated/google/apis/cloudkms_v1/classes.rb +77 -35
  61. data/generated/google/apis/cloudkms_v1/service.rb +33 -27
  62. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  63. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +62 -29
  64. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  65. data/generated/google/apis/cloudsearch_v1/classes.rb +354 -0
  66. data/generated/google/apis/cloudsearch_v1/representations.rb +196 -0
  67. data/generated/google/apis/cloudsearch_v1/service.rb +314 -2
  68. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  69. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +62 -29
  70. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  71. data/generated/google/apis/cloudtrace_v1/classes.rb +1 -1
  72. data/generated/google/apis/cloudtrace_v1/service.rb +10 -10
  73. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  74. data/generated/google/apis/cloudtrace_v2/classes.rb +3 -3
  75. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  76. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +7 -10
  77. data/generated/google/apis/compute_alpha.rb +1 -1
  78. data/generated/google/apis/compute_alpha/classes.rb +38 -42
  79. data/generated/google/apis/compute_alpha/representations.rb +5 -16
  80. data/generated/google/apis/compute_beta.rb +1 -1
  81. data/generated/google/apis/compute_beta/classes.rb +10 -5
  82. data/generated/google/apis/compute_v1.rb +1 -1
  83. data/generated/google/apis/compute_v1/classes.rb +1327 -4
  84. data/generated/google/apis/compute_v1/representations.rb +439 -0
  85. data/generated/google/apis/container_v1.rb +1 -1
  86. data/generated/google/apis/container_v1/classes.rb +111 -0
  87. data/generated/google/apis/container_v1/representations.rb +51 -0
  88. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  89. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +76 -30
  90. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1 -0
  91. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  92. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +70 -30
  93. data/generated/google/apis/content_v2.rb +1 -1
  94. data/generated/google/apis/content_v2/service.rb +0 -226
  95. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  96. data/generated/google/apis/dataflow_v1b3/classes.rb +42 -0
  97. data/generated/google/apis/dataflow_v1b3/representations.rb +4 -0
  98. data/generated/google/apis/dataproc_v1.rb +1 -1
  99. data/generated/google/apis/dataproc_v1/classes.rb +324 -38
  100. data/generated/google/apis/dataproc_v1/representations.rb +97 -0
  101. data/generated/google/apis/dataproc_v1/service.rb +613 -1
  102. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  103. data/generated/google/apis/dataproc_v1beta2/classes.rb +100 -54
  104. data/generated/google/apis/dataproc_v1beta2/service.rb +29 -22
  105. data/generated/google/apis/dialogflow_v2.rb +1 -1
  106. data/generated/google/apis/dialogflow_v2/classes.rb +363 -167
  107. data/generated/google/apis/dialogflow_v2/representations.rb +160 -49
  108. data/generated/google/apis/dialogflow_v2/service.rb +1 -1
  109. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  110. data/generated/google/apis/dialogflow_v2beta1/classes.rb +433 -178
  111. data/generated/google/apis/dialogflow_v2beta1/representations.rb +199 -59
  112. data/generated/google/apis/dialogflow_v2beta1/service.rb +39 -0
  113. data/generated/google/apis/dlp_v2.rb +1 -1
  114. data/generated/google/apis/dlp_v2/classes.rb +3 -4
  115. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  116. data/generated/google/apis/drive_v2.rb +1 -1
  117. data/generated/google/apis/drive_v2/classes.rb +2 -2
  118. data/generated/google/apis/drive_v3.rb +1 -1
  119. data/generated/google/apis/drive_v3/classes.rb +2 -2
  120. data/generated/google/apis/fcm_v1.rb +1 -1
  121. data/generated/google/apis/fcm_v1/classes.rb +9 -4
  122. data/generated/google/apis/file_v1.rb +1 -1
  123. data/generated/google/apis/file_v1/classes.rb +8 -0
  124. data/generated/google/apis/file_v1/representations.rb +1 -0
  125. data/generated/google/apis/file_v1/service.rb +2 -0
  126. data/generated/google/apis/file_v1beta1.rb +1 -1
  127. data/generated/google/apis/file_v1beta1/classes.rb +8 -0
  128. data/generated/google/apis/file_v1beta1/representations.rb +1 -0
  129. data/generated/google/apis/file_v1beta1/service.rb +2 -0
  130. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  131. data/generated/google/apis/firebase_v1beta1/classes.rb +41 -4
  132. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  133. data/generated/google/apis/firebase_v1beta1/service.rb +22 -14
  134. data/generated/google/apis/fitness_v1.rb +19 -19
  135. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  136. data/generated/google/apis/healthcare_v1beta1/classes.rb +136 -100
  137. data/generated/google/apis/healthcare_v1beta1/representations.rb +1 -1
  138. data/generated/google/apis/healthcare_v1beta1/service.rb +124 -119
  139. data/generated/google/apis/iam_v1.rb +1 -1
  140. data/generated/google/apis/iam_v1/classes.rb +87 -41
  141. data/generated/google/apis/iap_v1.rb +1 -1
  142. data/generated/google/apis/iap_v1/classes.rb +62 -29
  143. data/generated/google/apis/iap_v1beta1.rb +1 -1
  144. data/generated/google/apis/iap_v1beta1/classes.rb +62 -29
  145. data/generated/google/apis/ml_v1.rb +1 -1
  146. data/generated/google/apis/ml_v1/classes.rb +114 -49
  147. data/generated/google/apis/ml_v1/representations.rb +2 -0
  148. data/generated/google/apis/ml_v1/service.rb +12 -6
  149. data/generated/google/apis/monitoring_v3.rb +1 -1
  150. data/generated/google/apis/monitoring_v3/classes.rb +14 -10
  151. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  152. data/generated/google/apis/oslogin_v1.rb +1 -1
  153. data/generated/google/apis/oslogin_v1/classes.rb +12 -0
  154. data/generated/google/apis/oslogin_v1/representations.rb +2 -0
  155. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  156. data/generated/google/apis/oslogin_v1alpha/classes.rb +12 -0
  157. data/generated/google/apis/oslogin_v1alpha/representations.rb +2 -0
  158. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  159. data/generated/google/apis/oslogin_v1beta/classes.rb +12 -0
  160. data/generated/google/apis/oslogin_v1beta/representations.rb +2 -0
  161. data/generated/google/apis/policytroubleshooter_v1beta.rb +34 -0
  162. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +621 -0
  163. data/generated/google/apis/policytroubleshooter_v1beta/representations.rb +203 -0
  164. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +91 -0
  165. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  166. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +7 -4
  167. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +60 -58
  168. data/generated/google/apis/recommender_v1beta1.rb +34 -0
  169. data/generated/google/apis/recommender_v1beta1/classes.rb +502 -0
  170. data/generated/google/apis/recommender_v1beta1/representations.rb +232 -0
  171. data/generated/google/apis/recommender_v1beta1/service.rb +262 -0
  172. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  173. data/generated/google/apis/remotebuildexecution_v1/classes.rb +49 -1100
  174. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -276
  175. data/generated/google/apis/remotebuildexecution_v1/service.rb +0 -77
  176. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  177. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +12 -990
  178. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -245
  179. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  180. data/generated/google/apis/remotebuildexecution_v2/classes.rb +12 -990
  181. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -245
  182. data/generated/google/apis/run_v1.rb +1 -1
  183. data/generated/google/apis/run_v1/classes.rb +3553 -33
  184. data/generated/google/apis/run_v1/representations.rb +1186 -4
  185. data/generated/google/apis/run_v1/service.rb +2509 -23
  186. data/generated/google/apis/run_v1alpha1.rb +1 -1
  187. data/generated/google/apis/run_v1alpha1/classes.rb +103 -140
  188. data/generated/google/apis/run_v1alpha1/representations.rb +5 -43
  189. data/generated/google/apis/run_v1beta1.rb +35 -0
  190. data/generated/google/apis/run_v1beta1/classes.rb +1209 -0
  191. data/generated/google/apis/run_v1beta1/representations.rb +421 -0
  192. data/generated/google/apis/run_v1beta1/service.rb +172 -0
  193. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  194. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +62 -29
  195. data/generated/google/apis/safebrowsing_v4.rb +5 -2
  196. data/generated/google/apis/safebrowsing_v4/service.rb +4 -1
  197. data/generated/google/apis/securitycenter_v1.rb +1 -1
  198. data/generated/google/apis/securitycenter_v1/classes.rb +70 -35
  199. data/generated/google/apis/securitycenter_v1/service.rb +13 -12
  200. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  201. data/generated/google/apis/securitycenter_v1beta1/classes.rb +71 -35
  202. data/generated/google/apis/securitycenter_v1beta1/service.rb +13 -12
  203. data/generated/google/apis/servicebroker_v1.rb +1 -1
  204. data/generated/google/apis/servicebroker_v1/classes.rb +62 -29
  205. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  206. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +62 -29
  207. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  208. data/generated/google/apis/servicebroker_v1beta1/classes.rb +62 -29
  209. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  210. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +11 -2
  211. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  212. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  213. data/generated/google/apis/servicemanagement_v1/classes.rb +63 -33
  214. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  215. data/generated/google/apis/servicenetworking_v1/classes.rb +11 -2
  216. data/generated/google/apis/servicenetworking_v1/representations.rb +1 -0
  217. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  218. data/generated/google/apis/servicenetworking_v1beta/classes.rb +11 -2
  219. data/generated/google/apis/servicenetworking_v1beta/representations.rb +1 -0
  220. data/generated/google/apis/serviceusage_v1.rb +1 -1
  221. data/generated/google/apis/serviceusage_v1/classes.rb +11 -2
  222. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  223. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  224. data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -2
  225. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  226. data/generated/google/apis/spanner_v1.rb +1 -1
  227. data/generated/google/apis/spanner_v1/classes.rb +78 -2
  228. data/generated/google/apis/spanner_v1/representations.rb +44 -0
  229. data/generated/google/apis/spanner_v1/service.rb +35 -0
  230. data/generated/google/apis/speech_v1.rb +1 -1
  231. data/generated/google/apis/speech_v1/classes.rb +73 -19
  232. data/generated/google/apis/speech_v1/representations.rb +18 -0
  233. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  234. data/generated/google/apis/speech_v1p1beta1/classes.rb +31 -35
  235. data/generated/google/apis/speech_v2beta.rb +1 -1
  236. data/generated/google/apis/speech_v2beta/classes.rb +6 -6
  237. data/generated/google/apis/speech_v2beta/representations.rb +2 -2
  238. data/generated/google/apis/storage_v1.rb +1 -1
  239. data/generated/google/apis/storage_v1/classes.rb +1 -1
  240. data/generated/google/apis/storage_v1/representations.rb +2 -1
  241. data/generated/google/apis/storage_v1beta1.rb +1 -1
  242. data/generated/google/apis/storage_v1beta2.rb +1 -1
  243. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  244. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  245. data/generated/google/apis/streetviewpublish_v1/service.rb +9 -5
  246. data/generated/google/apis/testing_v1.rb +1 -1
  247. data/generated/google/apis/testing_v1/classes.rb +42 -0
  248. data/generated/google/apis/testing_v1/representations.rb +18 -0
  249. data/generated/google/apis/texttospeech_v1.rb +1 -1
  250. data/generated/google/apis/texttospeech_v1/classes.rb +6 -5
  251. data/generated/google/apis/texttospeech_v1/service.rb +1 -1
  252. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  253. data/generated/google/apis/texttospeech_v1beta1/classes.rb +6 -5
  254. data/generated/google/apis/texttospeech_v1beta1/service.rb +1 -1
  255. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  256. data/generated/google/apis/toolresults_v1beta3/classes.rb +1 -1
  257. data/generated/google/apis/translate_v3beta1.rb +1 -1
  258. data/generated/google/apis/translate_v3beta1/classes.rb +22 -16
  259. data/generated/google/apis/translate_v3beta1/service.rb +31 -31
  260. data/generated/google/apis/videointelligence_v1.rb +1 -1
  261. data/generated/google/apis/videointelligence_v1/classes.rb +45 -10
  262. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  263. data/generated/google/apis/videointelligence_v1beta2/classes.rb +45 -10
  264. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  265. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +45 -10
  266. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  267. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +45 -10
  268. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  269. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +45 -10
  270. data/generated/google/apis/vision_v1.rb +1 -1
  271. data/generated/google/apis/vision_v1/classes.rb +6 -156
  272. data/generated/google/apis/vision_v1/representations.rb +0 -44
  273. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/vision_v1p1beta1/classes.rb +6 -156
  275. data/generated/google/apis/vision_v1p1beta1/representations.rb +0 -44
  276. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  277. data/generated/google/apis/vision_v1p2beta1/classes.rb +6 -156
  278. data/generated/google/apis/vision_v1p2beta1/representations.rb +0 -44
  279. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  280. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  281. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +21 -31
  282. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  283. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  284. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +30 -42
  285. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  286. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  287. data/generated/google/apis/youtube_partner_v1/classes.rb +0 -83
  288. data/generated/google/apis/youtube_partner_v1/representations.rb +0 -35
  289. data/generated/google/apis/youtube_partner_v1/service.rb +0 -100
  290. data/lib/google/apis/version.rb +1 -1
  291. metadata +18 -6
  292. data/generated/google/apis/dfareporting_v3_1.rb +0 -40
  293. data/generated/google/apis/dfareporting_v3_1/classes.rb +0 -11998
  294. data/generated/google/apis/dfareporting_v3_1/representations.rb +0 -4313
  295. data/generated/google/apis/dfareporting_v3_1/service.rb +0 -8688
@@ -84,6 +84,7 @@ module Google
84
84
  property :gecos, as: 'gecos'
85
85
  property :gid, :numeric_string => true, as: 'gid'
86
86
  property :home_directory, as: 'homeDirectory'
87
+ property :name, as: 'name'
87
88
  property :operating_system_type, as: 'operatingSystemType'
88
89
  property :primary, as: 'primary'
89
90
  property :shell, as: 'shell'
@@ -99,6 +100,7 @@ module Google
99
100
  property :expiration_time_usec, :numeric_string => true, as: 'expirationTimeUsec'
100
101
  property :fingerprint, as: 'fingerprint'
101
102
  property :key, as: 'key'
103
+ property :name, as: 'name'
102
104
  end
103
105
  end
104
106
  end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/compute/docs/oslogin/
27
27
  module OsloginV1alpha
28
28
  VERSION = 'V1alpha'
29
- REVISION = '20190429'
29
+ REVISION = '20190921'
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'
@@ -117,6 +117,11 @@ module Google
117
117
  # @return [String]
118
118
  attr_accessor :home_directory
119
119
 
120
+ # Output only. The canonical resource name.
121
+ # Corresponds to the JSON property `name`
122
+ # @return [String]
123
+ attr_accessor :name
124
+
120
125
  # The operating system type where this account applies.
121
126
  # Corresponds to the JSON property `operatingSystemType`
122
127
  # @return [String]
@@ -159,6 +164,7 @@ module Google
159
164
  @gecos = args[:gecos] if args.key?(:gecos)
160
165
  @gid = args[:gid] if args.key?(:gid)
161
166
  @home_directory = args[:home_directory] if args.key?(:home_directory)
167
+ @name = args[:name] if args.key?(:name)
162
168
  @operating_system_type = args[:operating_system_type] if args.key?(:operating_system_type)
163
169
  @primary = args[:primary] if args.key?(:primary)
164
170
  @shell = args[:shell] if args.key?(:shell)
@@ -189,6 +195,11 @@ module Google
189
195
  # @return [String]
190
196
  attr_accessor :key
191
197
 
198
+ # Output only. The canonical resource name.
199
+ # Corresponds to the JSON property `name`
200
+ # @return [String]
201
+ attr_accessor :name
202
+
192
203
  def initialize(**args)
193
204
  update!(**args)
194
205
  end
@@ -198,6 +209,7 @@ module Google
198
209
  @expiration_time_usec = args[:expiration_time_usec] if args.key?(:expiration_time_usec)
199
210
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
200
211
  @key = args[:key] if args.key?(:key)
212
+ @name = args[:name] if args.key?(:name)
201
213
  end
202
214
  end
203
215
  end
@@ -84,6 +84,7 @@ module Google
84
84
  property :gecos, as: 'gecos'
85
85
  property :gid, :numeric_string => true, as: 'gid'
86
86
  property :home_directory, as: 'homeDirectory'
87
+ property :name, as: 'name'
87
88
  property :operating_system_type, as: 'operatingSystemType'
88
89
  property :primary, as: 'primary'
89
90
  property :shell, as: 'shell'
@@ -99,6 +100,7 @@ module Google
99
100
  property :expiration_time_usec, :numeric_string => true, as: 'expirationTimeUsec'
100
101
  property :fingerprint, as: 'fingerprint'
101
102
  property :key, as: 'key'
103
+ property :name, as: 'name'
102
104
  end
103
105
  end
104
106
  end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/compute/docs/oslogin/
27
27
  module OsloginV1beta
28
28
  VERSION = 'V1beta'
29
- REVISION = '20190429'
29
+ REVISION = '20190921'
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'
@@ -117,6 +117,11 @@ module Google
117
117
  # @return [String]
118
118
  attr_accessor :home_directory
119
119
 
120
+ # Output only. The canonical resource name.
121
+ # Corresponds to the JSON property `name`
122
+ # @return [String]
123
+ attr_accessor :name
124
+
120
125
  # The operating system type where this account applies.
121
126
  # Corresponds to the JSON property `operatingSystemType`
122
127
  # @return [String]
@@ -159,6 +164,7 @@ module Google
159
164
  @gecos = args[:gecos] if args.key?(:gecos)
160
165
  @gid = args[:gid] if args.key?(:gid)
161
166
  @home_directory = args[:home_directory] if args.key?(:home_directory)
167
+ @name = args[:name] if args.key?(:name)
162
168
  @operating_system_type = args[:operating_system_type] if args.key?(:operating_system_type)
163
169
  @primary = args[:primary] if args.key?(:primary)
164
170
  @shell = args[:shell] if args.key?(:shell)
@@ -189,6 +195,11 @@ module Google
189
195
  # @return [String]
190
196
  attr_accessor :key
191
197
 
198
+ # Output only. The canonical resource name.
199
+ # Corresponds to the JSON property `name`
200
+ # @return [String]
201
+ attr_accessor :name
202
+
192
203
  def initialize(**args)
193
204
  update!(**args)
194
205
  end
@@ -198,6 +209,7 @@ module Google
198
209
  @expiration_time_usec = args[:expiration_time_usec] if args.key?(:expiration_time_usec)
199
210
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
200
211
  @key = args[:key] if args.key?(:key)
212
+ @name = args[:name] if args.key?(:name)
201
213
  end
202
214
  end
203
215
  end
@@ -84,6 +84,7 @@ module Google
84
84
  property :gecos, as: 'gecos'
85
85
  property :gid, :numeric_string => true, as: 'gid'
86
86
  property :home_directory, as: 'homeDirectory'
87
+ property :name, as: 'name'
87
88
  property :operating_system_type, as: 'operatingSystemType'
88
89
  property :primary, as: 'primary'
89
90
  property :shell, as: 'shell'
@@ -99,6 +100,7 @@ module Google
99
100
  property :expiration_time_usec, :numeric_string => true, as: 'expirationTimeUsec'
100
101
  property :fingerprint, as: 'fingerprint'
101
102
  property :key, as: 'key'
103
+ property :name, as: 'name'
102
104
  end
103
105
  end
104
106
  end
@@ -0,0 +1,34 @@
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/policytroubleshooter_v1beta/service.rb'
16
+ require 'google/apis/policytroubleshooter_v1beta/classes.rb'
17
+ require 'google/apis/policytroubleshooter_v1beta/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Policy Troubleshooter API
22
+ #
23
+ #
24
+ #
25
+ # @see https://cloud.google.com/iam/
26
+ module PolicytroubleshooterV1beta
27
+ VERSION = 'V1beta'
28
+ REVISION = '20190929'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,621 @@
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 PolicytroubleshooterV1beta
24
+
25
+ # AccessTuple defines information required for checking an access attempt.
26
+ # In other words, this is the tuple given to `CheckAccess`.
27
+ class GoogleCloudPolicytroubleshooterV1betaAccessTuple
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Required. A full resource name according to
31
+ # https://cloud.google.com/apis/design/resource_names. This is the full
32
+ # resource name of the resource that access is checked against.
33
+ # Corresponds to the JSON property `fullResourceName`
34
+ # @return [String]
35
+ attr_accessor :full_resource_name
36
+
37
+ # Required. The Cloud IAM permission under which defines the kind of access
38
+ # being explained. Example: "resourcemanager.projects.get" would explain
39
+ # if and why the principal has the resourcemanager.projects.get permission
40
+ # on the resource specified in full_resource_name declared in this structure.
41
+ # See https://cloud.google.com/iam/docs/testing-permissions
42
+ # Corresponds to the JSON property `permission`
43
+ # @return [String]
44
+ attr_accessor :permission
45
+
46
+ # Required. The principal on behalf of who the access is explained for.
47
+ # The format is one of the principal's email addresses associated with
48
+ # its gaia account. It must be an account that can appear as an actor.
49
+ # For example groups are not supported. Currently, service accounts, users
50
+ # are supported.
51
+ # Corresponds to the JSON property `principal`
52
+ # @return [String]
53
+ attr_accessor :principal
54
+
55
+ def initialize(**args)
56
+ update!(**args)
57
+ end
58
+
59
+ # Update properties of this object
60
+ def update!(**args)
61
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
62
+ @permission = args[:permission] if args.key?(:permission)
63
+ @principal = args[:principal] if args.key?(:principal)
64
+ end
65
+ end
66
+
67
+ # Binding Explanation.
68
+ class GoogleCloudPolicytroubleshooterV1betaBindingExplanation
69
+ include Google::Apis::Core::Hashable
70
+
71
+ # REQUIRED: Access decision for this binding.
72
+ # Corresponds to the JSON property `access`
73
+ # @return [String]
74
+ attr_accessor :access
75
+
76
+ # Represents an expression text. Example:
77
+ # title: "User account presence"
78
+ # description: "Determines whether the request has a user account"
79
+ # expression: "size(request.user) > 0"
80
+ # Corresponds to the JSON property `condition`
81
+ # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleTypeExpr]
82
+ attr_accessor :condition
83
+
84
+ # For each member in the binding, provides information
85
+ # whether or not the principal from the request is included
86
+ # in the member by which the CheckResult is keyed.
87
+ # May indicate that the caller has no access to this information.
88
+ # example key: 'group:cloud-iam-assist-eng@google.com'
89
+ # example value '`NOT_GRANTED, HIGH`
90
+ # Corresponds to the JSON property `memberships`
91
+ # @return [Hash<String,Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership>]
92
+ attr_accessor :memberships
93
+
94
+ # Bubbles up role_permission level relavance to BindingExplanation object.
95
+ # If role permission is NORMAL, then binding relevance is NORMAL.
96
+ # If role permission is HIGH, then binding relevance is HIGH.
97
+ # Corresponds to the JSON property `relevance`
98
+ # @return [String]
99
+ attr_accessor :relevance
100
+
101
+ # The role that this binding grants in the policy.
102
+ # for example "roles/compute.serviceAgent"
103
+ # Corresponds to the JSON property `role`
104
+ # @return [String]
105
+ attr_accessor :role
106
+
107
+ # Whether the role of this binding contains the checked permission
108
+ # Corresponds to the JSON property `rolePermission`
109
+ # @return [String]
110
+ attr_accessor :role_permission
111
+
112
+ #
113
+ # Corresponds to the JSON property `rolePermissionRelevance`
114
+ # @return [String]
115
+ attr_accessor :role_permission_relevance
116
+
117
+ def initialize(**args)
118
+ update!(**args)
119
+ end
120
+
121
+ # Update properties of this object
122
+ def update!(**args)
123
+ @access = args[:access] if args.key?(:access)
124
+ @condition = args[:condition] if args.key?(:condition)
125
+ @memberships = args[:memberships] if args.key?(:memberships)
126
+ @relevance = args[:relevance] if args.key?(:relevance)
127
+ @role = args[:role] if args.key?(:role)
128
+ @role_permission = args[:role_permission] if args.key?(:role_permission)
129
+ @role_permission_relevance = args[:role_permission_relevance] if args.key?(:role_permission_relevance)
130
+ end
131
+ end
132
+
133
+ #
134
+ class GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership
135
+ include Google::Apis::Core::Hashable
136
+
137
+ #
138
+ # Corresponds to the JSON property `membership`
139
+ # @return [String]
140
+ attr_accessor :membership
141
+
142
+ #
143
+ # Corresponds to the JSON property `relevance`
144
+ # @return [String]
145
+ attr_accessor :relevance
146
+
147
+ def initialize(**args)
148
+ update!(**args)
149
+ end
150
+
151
+ # Update properties of this object
152
+ def update!(**args)
153
+ @membership = args[:membership] if args.key?(:membership)
154
+ @relevance = args[:relevance] if args.key?(:relevance)
155
+ end
156
+ end
157
+
158
+ # An explained IAM policy combines the raw policy in the context
159
+ # of the resource which it is attached to along with detailed
160
+ # evaluation on the evaluation parameters provided through the request.
161
+ class GoogleCloudPolicytroubleshooterV1betaExplainedPolicy
162
+ include Google::Apis::Core::Hashable
163
+
164
+ # Access decision for this section of the resource's effective policy.
165
+ # Corresponds to the JSON property `access`
166
+ # @return [String]
167
+ attr_accessor :access
168
+
169
+ # Detailed binding evaluation explanations provide information
170
+ # about how each binding contributes to the principal's
171
+ # access or the lack thereof.
172
+ # Corresponds to the JSON property `bindingExplanations`
173
+ # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaBindingExplanation>]
174
+ attr_accessor :binding_explanations
175
+
176
+ # Resource that this section of the effective policy attaches to.
177
+ # Corresponds to the JSON property `fullResourceName`
178
+ # @return [String]
179
+ attr_accessor :full_resource_name
180
+
181
+ # Defines an Identity and Access Management (IAM) policy. It is used to
182
+ # specify access control policies for Cloud Platform resources.
183
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
184
+ # `members` to a single `role`. Members can be user accounts, service accounts,
185
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
186
+ # permissions (defined by IAM or configured by users). A `binding` can
187
+ # optionally specify a `condition`, which is a logic expression that further
188
+ # constrains the role binding based on attributes about the request and/or
189
+ # target resource.
190
+ # **JSON Example**
191
+ # `
192
+ # "bindings": [
193
+ # `
194
+ # "role": "roles/resourcemanager.organizationAdmin",
195
+ # "members": [
196
+ # "user:mike@example.com",
197
+ # "group:admins@example.com",
198
+ # "domain:google.com",
199
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
200
+ # ]
201
+ # `,
202
+ # `
203
+ # "role": "roles/resourcemanager.organizationViewer",
204
+ # "members": ["user:eve@example.com"],
205
+ # "condition": `
206
+ # "title": "expirable access",
207
+ # "description": "Does not grant access after Sep 2020",
208
+ # "expression": "request.time <
209
+ # timestamp('2020-10-01T00:00:00.000Z')",
210
+ # `
211
+ # `
212
+ # ]
213
+ # `
214
+ # **YAML Example**
215
+ # bindings:
216
+ # - members:
217
+ # - user:mike@example.com
218
+ # - group:admins@example.com
219
+ # - domain:google.com
220
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
221
+ # role: roles/resourcemanager.organizationAdmin
222
+ # - members:
223
+ # - user:eve@example.com
224
+ # role: roles/resourcemanager.organizationViewer
225
+ # condition:
226
+ # title: expirable access
227
+ # description: Does not grant access after Sep 2020
228
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
229
+ # For a description of IAM and its features, see the
230
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
231
+ # Corresponds to the JSON property `policy`
232
+ # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1Policy]
233
+ attr_accessor :policy
234
+
235
+ # Relevance of this Policy.
236
+ # Corresponds to the JSON property `relevance`
237
+ # @return [String]
238
+ attr_accessor :relevance
239
+
240
+ def initialize(**args)
241
+ update!(**args)
242
+ end
243
+
244
+ # Update properties of this object
245
+ def update!(**args)
246
+ @access = args[:access] if args.key?(:access)
247
+ @binding_explanations = args[:binding_explanations] if args.key?(:binding_explanations)
248
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
249
+ @policy = args[:policy] if args.key?(:policy)
250
+ @relevance = args[:relevance] if args.key?(:relevance)
251
+ end
252
+ end
253
+
254
+ # TroubleshootIamPolicyRequest is used in TroubleshootIamPolicy
255
+ class GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest
256
+ include Google::Apis::Core::Hashable
257
+
258
+ # AccessTuple defines information required for checking an access attempt.
259
+ # In other words, this is the tuple given to `CheckAccess`.
260
+ # Corresponds to the JSON property `accessTuple`
261
+ # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaAccessTuple]
262
+ attr_accessor :access_tuple
263
+
264
+ def initialize(**args)
265
+ update!(**args)
266
+ end
267
+
268
+ # Update properties of this object
269
+ def update!(**args)
270
+ @access_tuple = args[:access_tuple] if args.key?(:access_tuple)
271
+ end
272
+ end
273
+
274
+ # TroubleshootIamPolicyResponse is used in TroubleshootIamPolicy.
275
+ class GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse
276
+ include Google::Apis::Core::Hashable
277
+
278
+ # Reflects whether the probed access was granted, denied
279
+ # or ultimately could not be decided from the caller's point of view.
280
+ # Corresponds to the JSON property `access`
281
+ # @return [String]
282
+ attr_accessor :access
283
+
284
+ # List of explained policies.
285
+ # Each explanation corresponds to one policy along the ancestry path.
286
+ # Corresponds to the JSON property `explainedPolicies`
287
+ # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleCloudPolicytroubleshooterV1betaExplainedPolicy>]
288
+ attr_accessor :explained_policies
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @access = args[:access] if args.key?(:access)
297
+ @explained_policies = args[:explained_policies] if args.key?(:explained_policies)
298
+ end
299
+ end
300
+
301
+ # Specifies the audit configuration for a service.
302
+ # The configuration determines which permission types are logged, and what
303
+ # identities, if any, are exempted from logging.
304
+ # An AuditConfig must have one or more AuditLogConfigs.
305
+ # If there are AuditConfigs for both `allServices` and a specific service,
306
+ # the union of the two AuditConfigs is used for that service: the log_types
307
+ # specified in each AuditConfig are enabled, and the exempted_members in each
308
+ # AuditLogConfig are exempted.
309
+ # Example Policy with multiple AuditConfigs:
310
+ # `
311
+ # "audit_configs": [
312
+ # `
313
+ # "service": "allServices"
314
+ # "audit_log_configs": [
315
+ # `
316
+ # "log_type": "DATA_READ",
317
+ # "exempted_members": [
318
+ # "user:jose@example.com"
319
+ # ]
320
+ # `,
321
+ # `
322
+ # "log_type": "DATA_WRITE",
323
+ # `,
324
+ # `
325
+ # "log_type": "ADMIN_READ",
326
+ # `
327
+ # ]
328
+ # `,
329
+ # `
330
+ # "service": "sampleservice.googleapis.com"
331
+ # "audit_log_configs": [
332
+ # `
333
+ # "log_type": "DATA_READ",
334
+ # `,
335
+ # `
336
+ # "log_type": "DATA_WRITE",
337
+ # "exempted_members": [
338
+ # "user:aliya@example.com"
339
+ # ]
340
+ # `
341
+ # ]
342
+ # `
343
+ # ]
344
+ # `
345
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
346
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
347
+ # aliya@example.com from DATA_WRITE logging.
348
+ class GoogleIamV1AuditConfig
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # The configuration for logging of each type of permission.
352
+ # Corresponds to the JSON property `auditLogConfigs`
353
+ # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1AuditLogConfig>]
354
+ attr_accessor :audit_log_configs
355
+
356
+ # Specifies a service that will be enabled for audit logging.
357
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
358
+ # `allServices` is a special value that covers all services.
359
+ # Corresponds to the JSON property `service`
360
+ # @return [String]
361
+ attr_accessor :service
362
+
363
+ def initialize(**args)
364
+ update!(**args)
365
+ end
366
+
367
+ # Update properties of this object
368
+ def update!(**args)
369
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
370
+ @service = args[:service] if args.key?(:service)
371
+ end
372
+ end
373
+
374
+ # Provides the configuration for logging a type of permissions.
375
+ # Example:
376
+ # `
377
+ # "audit_log_configs": [
378
+ # `
379
+ # "log_type": "DATA_READ",
380
+ # "exempted_members": [
381
+ # "user:jose@example.com"
382
+ # ]
383
+ # `,
384
+ # `
385
+ # "log_type": "DATA_WRITE",
386
+ # `
387
+ # ]
388
+ # `
389
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
390
+ # jose@example.com from DATA_READ logging.
391
+ class GoogleIamV1AuditLogConfig
392
+ include Google::Apis::Core::Hashable
393
+
394
+ # Specifies the identities that do not cause logging for this type of
395
+ # permission.
396
+ # Follows the same format of Binding.members.
397
+ # Corresponds to the JSON property `exemptedMembers`
398
+ # @return [Array<String>]
399
+ attr_accessor :exempted_members
400
+
401
+ # The log type that this config enables.
402
+ # Corresponds to the JSON property `logType`
403
+ # @return [String]
404
+ attr_accessor :log_type
405
+
406
+ def initialize(**args)
407
+ update!(**args)
408
+ end
409
+
410
+ # Update properties of this object
411
+ def update!(**args)
412
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
413
+ @log_type = args[:log_type] if args.key?(:log_type)
414
+ end
415
+ end
416
+
417
+ # Associates `members` with a `role`.
418
+ class GoogleIamV1Binding
419
+ include Google::Apis::Core::Hashable
420
+
421
+ # Represents an expression text. Example:
422
+ # title: "User account presence"
423
+ # description: "Determines whether the request has a user account"
424
+ # expression: "size(request.user) > 0"
425
+ # Corresponds to the JSON property `condition`
426
+ # @return [Google::Apis::PolicytroubleshooterV1beta::GoogleTypeExpr]
427
+ attr_accessor :condition
428
+
429
+ # Specifies the identities requesting access for a Cloud Platform resource.
430
+ # `members` can have the following values:
431
+ # * `allUsers`: A special identifier that represents anyone who is
432
+ # on the internet; with or without a Google account.
433
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
434
+ # who is authenticated with a Google account or a service account.
435
+ # * `user:`emailid``: An email address that represents a specific Google
436
+ # account. For example, `alice@example.com` .
437
+ # * `serviceAccount:`emailid``: An email address that represents a service
438
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
439
+ # * `group:`emailid``: An email address that represents a Google group.
440
+ # For example, `admins@example.com`.
441
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
442
+ # users of that domain. For example, `google.com` or `example.com`.
443
+ # Corresponds to the JSON property `members`
444
+ # @return [Array<String>]
445
+ attr_accessor :members
446
+
447
+ # Role that is assigned to `members`.
448
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
449
+ # Corresponds to the JSON property `role`
450
+ # @return [String]
451
+ attr_accessor :role
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ @condition = args[:condition] if args.key?(:condition)
460
+ @members = args[:members] if args.key?(:members)
461
+ @role = args[:role] if args.key?(:role)
462
+ end
463
+ end
464
+
465
+ # Defines an Identity and Access Management (IAM) policy. It is used to
466
+ # specify access control policies for Cloud Platform resources.
467
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
468
+ # `members` to a single `role`. Members can be user accounts, service accounts,
469
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
470
+ # permissions (defined by IAM or configured by users). A `binding` can
471
+ # optionally specify a `condition`, which is a logic expression that further
472
+ # constrains the role binding based on attributes about the request and/or
473
+ # target resource.
474
+ # **JSON Example**
475
+ # `
476
+ # "bindings": [
477
+ # `
478
+ # "role": "roles/resourcemanager.organizationAdmin",
479
+ # "members": [
480
+ # "user:mike@example.com",
481
+ # "group:admins@example.com",
482
+ # "domain:google.com",
483
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
484
+ # ]
485
+ # `,
486
+ # `
487
+ # "role": "roles/resourcemanager.organizationViewer",
488
+ # "members": ["user:eve@example.com"],
489
+ # "condition": `
490
+ # "title": "expirable access",
491
+ # "description": "Does not grant access after Sep 2020",
492
+ # "expression": "request.time <
493
+ # timestamp('2020-10-01T00:00:00.000Z')",
494
+ # `
495
+ # `
496
+ # ]
497
+ # `
498
+ # **YAML Example**
499
+ # bindings:
500
+ # - members:
501
+ # - user:mike@example.com
502
+ # - group:admins@example.com
503
+ # - domain:google.com
504
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
505
+ # role: roles/resourcemanager.organizationAdmin
506
+ # - members:
507
+ # - user:eve@example.com
508
+ # role: roles/resourcemanager.organizationViewer
509
+ # condition:
510
+ # title: expirable access
511
+ # description: Does not grant access after Sep 2020
512
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
513
+ # For a description of IAM and its features, see the
514
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
515
+ class GoogleIamV1Policy
516
+ include Google::Apis::Core::Hashable
517
+
518
+ # Specifies cloud audit logging configuration for this policy.
519
+ # Corresponds to the JSON property `auditConfigs`
520
+ # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1AuditConfig>]
521
+ attr_accessor :audit_configs
522
+
523
+ # Associates a list of `members` to a `role`. Optionally may specify a
524
+ # `condition` that determines when binding is in effect.
525
+ # `bindings` with no members will result in an error.
526
+ # Corresponds to the JSON property `bindings`
527
+ # @return [Array<Google::Apis::PolicytroubleshooterV1beta::GoogleIamV1Binding>]
528
+ attr_accessor :bindings
529
+
530
+ # `etag` is used for optimistic concurrency control as a way to help
531
+ # prevent simultaneous updates of a policy from overwriting each other.
532
+ # It is strongly suggested that systems make use of the `etag` in the
533
+ # read-modify-write cycle to perform policy updates in order to avoid race
534
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
535
+ # systems are expected to put that etag in the request to `setIamPolicy` to
536
+ # ensure that their change will be applied to the same version of the policy.
537
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
538
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy,
539
+ # 'setIamPolicy' will not fail even if either of incoming or stored policy
540
+ # does not meet the version requirements.
541
+ # Corresponds to the JSON property `etag`
542
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
543
+ # @return [String]
544
+ attr_accessor :etag
545
+
546
+ # Specifies the format of the policy.
547
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
548
+ # rejected.
549
+ # Operations affecting conditional bindings must specify version 3. This can
550
+ # be either setting a conditional policy, modifying a conditional binding,
551
+ # or removing a conditional binding from the stored conditional policy.
552
+ # Operations on non-conditional policies may specify any valid value or
553
+ # leave the field unset.
554
+ # If no etag is provided in the call to `setIamPolicy`, any version
555
+ # compliance checks on the incoming and/or stored policy is skipped.
556
+ # Corresponds to the JSON property `version`
557
+ # @return [Fixnum]
558
+ attr_accessor :version
559
+
560
+ def initialize(**args)
561
+ update!(**args)
562
+ end
563
+
564
+ # Update properties of this object
565
+ def update!(**args)
566
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
567
+ @bindings = args[:bindings] if args.key?(:bindings)
568
+ @etag = args[:etag] if args.key?(:etag)
569
+ @version = args[:version] if args.key?(:version)
570
+ end
571
+ end
572
+
573
+ # Represents an expression text. Example:
574
+ # title: "User account presence"
575
+ # description: "Determines whether the request has a user account"
576
+ # expression: "size(request.user) > 0"
577
+ class GoogleTypeExpr
578
+ include Google::Apis::Core::Hashable
579
+
580
+ # An optional description of the expression. This is a longer text which
581
+ # describes the expression, e.g. when hovered over it in a UI.
582
+ # Corresponds to the JSON property `description`
583
+ # @return [String]
584
+ attr_accessor :description
585
+
586
+ # Textual representation of an expression in
587
+ # Common Expression Language syntax.
588
+ # The application context of the containing message determines which
589
+ # well-known feature set of CEL is supported.
590
+ # Corresponds to the JSON property `expression`
591
+ # @return [String]
592
+ attr_accessor :expression
593
+
594
+ # An optional string indicating the location of the expression for error
595
+ # reporting, e.g. a file name and a position in the file.
596
+ # Corresponds to the JSON property `location`
597
+ # @return [String]
598
+ attr_accessor :location
599
+
600
+ # An optional title for the expression, i.e. a short string describing
601
+ # its purpose. This can be used e.g. in UIs which allow to enter the
602
+ # expression.
603
+ # Corresponds to the JSON property `title`
604
+ # @return [String]
605
+ attr_accessor :title
606
+
607
+ def initialize(**args)
608
+ update!(**args)
609
+ end
610
+
611
+ # Update properties of this object
612
+ def update!(**args)
613
+ @description = args[:description] if args.key?(:description)
614
+ @expression = args[:expression] if args.key?(:expression)
615
+ @location = args[:location] if args.key?(:location)
616
+ @title = args[:title] if args.key?(:title)
617
+ end
618
+ end
619
+ end
620
+ end
621
+ end