google-api-client 0.31.0 → 0.32.0

Sign up to get free protection for your applications and to get access to all the features.
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