google-api-client 0.37.0 → 0.38.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 (570) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +401 -0
  3. data/api_list_config.yaml +2 -0
  4. data/api_names.yaml +2 -0
  5. data/bin/generate-api +9 -1
  6. data/generated/google/apis/accessapproval_v1.rb +1 -1
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +244 -56
  9. data/generated/google/apis/accesscontextmanager_v1/representations.rb +105 -6
  10. data/generated/google/apis/accesscontextmanager_v1/service.rb +143 -5
  11. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  12. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +26 -97
  13. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -22
  14. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +6 -5
  15. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +10 -3
  17. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  19. data/generated/google/apis/admin_directory_v1/classes.rb +0 -147
  20. data/generated/google/apis/admin_directory_v1/representations.rb +0 -54
  21. data/generated/google/apis/admin_directory_v1/service.rb +0 -60
  22. data/generated/google/apis/admin_directory_v1.rb +1 -1
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsensehost_v4_1/service.rb +5 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/alertcenter_v1beta1/classes.rb +8 -8
  27. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  28. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -2
  29. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  30. data/generated/google/apis/androidenterprise_v1/classes.rb +2 -2
  31. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  32. data/generated/google/apis/androidmanagement_v1/service.rb +2 -2
  33. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  34. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  35. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  36. data/generated/google/apis/androidpublisher_v3/classes.rb +195 -2
  37. data/generated/google/apis/androidpublisher_v3/representations.rb +89 -0
  38. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  39. data/generated/google/apis/appengine_v1.rb +1 -1
  40. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  41. data/generated/google/apis/appengine_v1beta.rb +1 -1
  42. data/generated/google/apis/bigquery_v2/classes.rb +224 -5
  43. data/generated/google/apis/bigquery_v2/representations.rb +65 -0
  44. data/generated/google/apis/bigquery_v2.rb +1 -1
  45. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  46. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  47. data/generated/google/apis/bigqueryreservation_v1/classes.rb +413 -0
  48. data/generated/google/apis/bigqueryreservation_v1/representations.rb +194 -0
  49. data/generated/google/apis/bigqueryreservation_v1/service.rb +745 -0
  50. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  51. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  52. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +160 -9
  53. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +72 -0
  54. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +131 -14
  55. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  56. data/generated/google/apis/bigtableadmin_v1/classes.rb +20 -17
  57. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  58. data/generated/google/apis/bigtableadmin_v2/classes.rb +26 -21
  59. data/generated/google/apis/bigtableadmin_v2/service.rb +93 -53
  60. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  61. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +2 -2
  62. data/generated/google/apis/billingbudgets_v1beta1/service.rb +11 -0
  63. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  64. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  65. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  66. data/generated/google/apis/blogger_v2/classes.rb +297 -45
  67. data/generated/google/apis/blogger_v2/representations.rb +105 -26
  68. data/generated/google/apis/blogger_v2/service.rb +79 -134
  69. data/generated/google/apis/blogger_v2.rb +5 -4
  70. data/generated/google/apis/blogger_v3/classes.rb +60 -53
  71. data/generated/google/apis/blogger_v3/representations.rb +10 -18
  72. data/generated/google/apis/blogger_v3/service.rb +183 -463
  73. data/generated/google/apis/blogger_v3.rb +4 -3
  74. data/generated/google/apis/books_v1/classes.rb +86 -0
  75. data/generated/google/apis/books_v1/representations.rb +37 -0
  76. data/generated/google/apis/books_v1.rb +1 -1
  77. data/generated/google/apis/calendar_v3/classes.rb +1 -14
  78. data/generated/google/apis/calendar_v3.rb +1 -1
  79. data/generated/google/apis/chat_v1/classes.rb +14 -3
  80. data/generated/google/apis/chat_v1/representations.rb +1 -0
  81. data/generated/google/apis/chat_v1.rb +1 -1
  82. data/generated/google/apis/classroom_v1.rb +1 -1
  83. data/generated/google/apis/cloudasset_v1/classes.rb +178 -123
  84. data/generated/google/apis/cloudasset_v1/representations.rb +20 -6
  85. data/generated/google/apis/cloudasset_v1/service.rb +2 -2
  86. data/generated/google/apis/cloudasset_v1.rb +1 -1
  87. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  88. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +669 -0
  89. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +199 -0
  90. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +187 -0
  91. data/generated/google/apis/cloudasset_v1p1beta1.rb +34 -0
  92. data/generated/google/apis/cloudbuild_v1/classes.rb +35 -1
  93. data/generated/google/apis/cloudbuild_v1/representations.rb +4 -0
  94. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  95. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +17 -0
  96. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +2 -0
  97. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -5
  98. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  99. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +17 -0
  100. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +2 -0
  101. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  102. data/generated/google/apis/clouddebugger_v2/classes.rb +8 -0
  103. data/generated/google/apis/clouddebugger_v2/service.rb +1 -1
  104. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  105. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +1 -1
  106. data/generated/google/apis/clouderrorreporting_v1beta1.rb +2 -2
  107. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  108. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  109. data/generated/google/apis/cloudidentity_v1/classes.rb +0 -560
  110. data/generated/google/apis/cloudidentity_v1/representations.rb +0 -226
  111. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  112. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +238 -148
  113. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +109 -63
  114. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -2
  115. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  116. data/generated/google/apis/cloudiot_v1.rb +1 -1
  117. data/generated/google/apis/cloudkms_v1.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -0
  119. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  120. data/generated/google/apis/cloudsearch_v1/classes.rb +52 -52
  121. data/generated/google/apis/cloudsearch_v1/service.rb +12 -0
  122. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  123. data/generated/google/apis/cloudshell_v1.rb +1 -1
  124. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  125. data/generated/google/apis/cloudtasks_v2/classes.rb +30 -0
  126. data/generated/google/apis/cloudtasks_v2/representations.rb +15 -0
  127. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  128. data/generated/google/apis/cloudtasks_v2beta2/service.rb +6 -1
  129. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  130. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  131. data/generated/google/apis/cloudtrace_v1/service.rb +4 -4
  132. data/generated/google/apis/cloudtrace_v1.rb +5 -5
  133. data/generated/google/apis/cloudtrace_v2/service.rb +4 -4
  134. data/generated/google/apis/cloudtrace_v2.rb +5 -5
  135. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +143 -0
  136. data/generated/google/apis/{oauth2_v1 → cloudtrace_v2beta1}/representations.rb +36 -27
  137. data/generated/google/apis/cloudtrace_v2beta1/service.rb +258 -0
  138. data/generated/google/apis/cloudtrace_v2beta1.rb +44 -0
  139. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +2 -2
  140. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  141. data/generated/google/apis/composer_v1/classes.rb +178 -0
  142. data/generated/google/apis/composer_v1/representations.rb +54 -0
  143. data/generated/google/apis/composer_v1.rb +1 -1
  144. data/generated/google/apis/composer_v1beta1/classes.rb +37 -6
  145. data/generated/google/apis/composer_v1beta1/representations.rb +4 -0
  146. data/generated/google/apis/composer_v1beta1.rb +1 -1
  147. data/generated/google/apis/compute_alpha/classes.rb +1510 -353
  148. data/generated/google/apis/compute_alpha/representations.rb +319 -32
  149. data/generated/google/apis/compute_alpha/service.rb +4471 -2784
  150. data/generated/google/apis/compute_alpha.rb +1 -1
  151. data/generated/google/apis/compute_beta/classes.rb +917 -260
  152. data/generated/google/apis/compute_beta/representations.rb +247 -16
  153. data/generated/google/apis/compute_beta/service.rb +3370 -2229
  154. data/generated/google/apis/compute_beta.rb +1 -1
  155. data/generated/google/apis/compute_v1/classes.rb +960 -152
  156. data/generated/google/apis/compute_v1/representations.rb +326 -0
  157. data/generated/google/apis/compute_v1/service.rb +3155 -2026
  158. data/generated/google/apis/compute_v1.rb +1 -1
  159. data/generated/google/apis/container_v1/classes.rb +268 -90
  160. data/generated/google/apis/container_v1/representations.rb +70 -0
  161. data/generated/google/apis/container_v1/service.rb +118 -118
  162. data/generated/google/apis/container_v1.rb +1 -1
  163. data/generated/google/apis/container_v1beta1/classes.rb +136 -142
  164. data/generated/google/apis/container_v1beta1/representations.rb +25 -51
  165. data/generated/google/apis/container_v1beta1/service.rb +2 -2
  166. data/generated/google/apis/container_v1beta1.rb +1 -1
  167. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  168. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  169. data/generated/google/apis/content_v2/classes.rb +1078 -141
  170. data/generated/google/apis/content_v2/service.rb +3 -1
  171. data/generated/google/apis/content_v2.rb +1 -1
  172. data/generated/google/apis/content_v2_1/classes.rb +1068 -164
  173. data/generated/google/apis/content_v2_1/representations.rb +102 -0
  174. data/generated/google/apis/content_v2_1/service.rb +146 -1
  175. data/generated/google/apis/content_v2_1.rb +1 -1
  176. data/generated/google/apis/customsearch_v1/classes.rb +1194 -353
  177. data/generated/google/apis/customsearch_v1/representations.rb +166 -95
  178. data/generated/google/apis/customsearch_v1/service.rb +373 -104
  179. data/generated/google/apis/customsearch_v1.rb +3 -3
  180. data/generated/google/apis/datacatalog_v1beta1/classes.rb +30 -14
  181. data/generated/google/apis/datacatalog_v1beta1/representations.rb +2 -0
  182. data/generated/google/apis/datacatalog_v1beta1/service.rb +206 -41
  183. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  184. data/generated/google/apis/dataflow_v1b3/classes.rb +260 -0
  185. data/generated/google/apis/dataflow_v1b3/representations.rb +115 -0
  186. data/generated/google/apis/dataflow_v1b3/service.rb +327 -0
  187. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  188. data/generated/google/apis/datafusion_v1beta1/classes.rb +27 -1
  189. data/generated/google/apis/datafusion_v1beta1/representations.rb +15 -0
  190. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  191. data/generated/google/apis/dataproc_v1/classes.rb +155 -4
  192. data/generated/google/apis/dataproc_v1/representations.rb +46 -0
  193. data/generated/google/apis/dataproc_v1/service.rb +72 -15
  194. data/generated/google/apis/dataproc_v1.rb +1 -1
  195. data/generated/google/apis/dataproc_v1beta2/classes.rb +205 -6
  196. data/generated/google/apis/dataproc_v1beta2/representations.rb +81 -0
  197. data/generated/google/apis/dataproc_v1beta2/service.rb +148 -15
  198. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  199. data/generated/google/apis/datastore_v1.rb +1 -1
  200. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  201. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  202. data/generated/google/apis/dfareporting_v3_3/classes.rb +19 -13
  203. data/generated/google/apis/dfareporting_v3_3/service.rb +5 -4
  204. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  205. data/generated/google/apis/dfareporting_v3_4/classes.rb +152 -22
  206. data/generated/google/apis/dfareporting_v3_4/representations.rb +46 -1
  207. data/generated/google/apis/dfareporting_v3_4/service.rb +5 -4
  208. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  209. data/generated/google/apis/dialogflow_v2/classes.rb +160 -360
  210. data/generated/google/apis/dialogflow_v2/representations.rb +1 -95
  211. data/generated/google/apis/dialogflow_v2/service.rb +478 -303
  212. data/generated/google/apis/dialogflow_v2.rb +1 -1
  213. data/generated/google/apis/dialogflow_v2beta1/classes.rb +162 -363
  214. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -95
  215. data/generated/google/apis/dialogflow_v2beta1/service.rb +172 -924
  216. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  217. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  218. data/generated/google/apis/displayvideo_v1/classes.rb +382 -0
  219. data/generated/google/apis/displayvideo_v1/representations.rb +167 -0
  220. data/generated/google/apis/displayvideo_v1/service.rb +176 -0
  221. data/generated/google/apis/displayvideo_v1.rb +38 -0
  222. data/generated/google/apis/dlp_v2/classes.rb +515 -2
  223. data/generated/google/apis/dlp_v2/representations.rb +212 -0
  224. data/generated/google/apis/dlp_v2/service.rb +119 -0
  225. data/generated/google/apis/dlp_v2.rb +1 -1
  226. data/generated/google/apis/docs_v1/classes.rb +22 -0
  227. data/generated/google/apis/docs_v1/representations.rb +3 -0
  228. data/generated/google/apis/docs_v1.rb +1 -1
  229. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  230. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  231. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  232. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -1
  233. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +9 -2
  234. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  235. data/generated/google/apis/doubleclicksearch_v2/service.rb +0 -55
  236. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  237. data/generated/google/apis/drive_v2/classes.rb +54 -2
  238. data/generated/google/apis/drive_v2/representations.rb +18 -0
  239. data/generated/google/apis/drive_v2/service.rb +81 -9
  240. data/generated/google/apis/drive_v2.rb +1 -1
  241. data/generated/google/apis/drive_v3/classes.rb +54 -2
  242. data/generated/google/apis/drive_v3/representations.rb +18 -0
  243. data/generated/google/apis/drive_v3/service.rb +37 -4
  244. data/generated/google/apis/drive_v3.rb +1 -1
  245. data/generated/google/apis/driveactivity_v2.rb +1 -1
  246. data/generated/google/apis/file_v1/classes.rb +4 -161
  247. data/generated/google/apis/file_v1/representations.rb +0 -34
  248. data/generated/google/apis/file_v1/service.rb +1 -1
  249. data/generated/google/apis/file_v1.rb +1 -1
  250. data/generated/google/apis/file_v1beta1/classes.rb +4 -161
  251. data/generated/google/apis/file_v1beta1/representations.rb +0 -34
  252. data/generated/google/apis/file_v1beta1.rb +1 -1
  253. data/generated/google/apis/firebase_v1beta1/service.rb +11 -8
  254. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  255. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  256. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +6 -6
  257. data/generated/google/apis/firebasehosting_v1beta1/service.rb +762 -3
  258. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  259. data/generated/google/apis/firebaserules_v1.rb +1 -1
  260. data/generated/google/apis/firestore_v1/classes.rb +11 -2
  261. data/generated/google/apis/firestore_v1/representations.rb +2 -0
  262. data/generated/google/apis/firestore_v1/service.rb +2 -2
  263. data/generated/google/apis/firestore_v1.rb +1 -1
  264. data/generated/google/apis/firestore_v1beta1/classes.rb +11 -2
  265. data/generated/google/apis/firestore_v1beta1/representations.rb +2 -0
  266. data/generated/google/apis/firestore_v1beta1/service.rb +2 -2
  267. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  268. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  269. data/generated/google/apis/fitness_v1/classes.rb +10 -5
  270. data/generated/google/apis/fitness_v1/service.rb +14 -10
  271. data/generated/google/apis/fitness_v1.rb +1 -1
  272. data/generated/google/apis/games_configuration_v1configuration/classes.rb +39 -53
  273. data/generated/google/apis/games_configuration_v1configuration/service.rb +58 -169
  274. data/generated/google/apis/games_configuration_v1configuration.rb +4 -3
  275. data/generated/google/apis/games_management_v1management/classes.rb +7 -0
  276. data/generated/google/apis/games_management_v1management/representations.rb +1 -0
  277. data/generated/google/apis/games_management_v1management.rb +1 -1
  278. data/generated/google/apis/games_v1/classes.rb +13 -0
  279. data/generated/google/apis/games_v1/representations.rb +2 -0
  280. data/generated/google/apis/games_v1.rb +1 -1
  281. data/generated/google/apis/gameservices_v1beta/classes.rb +2342 -0
  282. data/generated/google/apis/gameservices_v1beta/representations.rb +971 -0
  283. data/generated/google/apis/gameservices_v1beta/service.rb +1469 -0
  284. data/generated/google/apis/gameservices_v1beta.rb +34 -0
  285. data/generated/google/apis/genomics_v1.rb +1 -1
  286. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  287. data/generated/google/apis/genomics_v2alpha1/service.rb +34 -0
  288. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  289. data/generated/google/apis/gmail_v1/classes.rb +258 -199
  290. data/generated/google/apis/gmail_v1/service.rb +552 -744
  291. data/generated/google/apis/gmail_v1.rb +3 -2
  292. data/generated/google/apis/healthcare_v1/classes.rb +2639 -0
  293. data/generated/google/apis/healthcare_v1/representations.rb +1114 -0
  294. data/generated/google/apis/healthcare_v1/service.rb +3470 -0
  295. data/generated/google/apis/{toolresults_v1.rb → healthcare_v1.rb} +11 -8
  296. data/generated/google/apis/healthcare_v1beta1/classes.rb +576 -26
  297. data/generated/google/apis/healthcare_v1beta1/representations.rb +236 -1
  298. data/generated/google/apis/healthcare_v1beta1/service.rb +147 -18
  299. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  300. data/generated/google/apis/homegraph_v1/classes.rb +67 -63
  301. data/generated/google/apis/homegraph_v1/service.rb +43 -47
  302. data/generated/google/apis/homegraph_v1.rb +1 -1
  303. data/generated/google/apis/iam_v1.rb +1 -1
  304. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  305. data/generated/google/apis/iap_v1/classes.rb +190 -0
  306. data/generated/google/apis/iap_v1/representations.rb +66 -0
  307. data/generated/google/apis/iap_v1.rb +1 -1
  308. data/generated/google/apis/iap_v1beta1.rb +1 -1
  309. data/generated/google/apis/indexing_v3.rb +1 -1
  310. data/generated/google/apis/jobs_v2.rb +1 -1
  311. data/generated/google/apis/jobs_v3.rb +1 -1
  312. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  313. data/generated/google/apis/language_v1/classes.rb +6 -6
  314. data/generated/google/apis/language_v1.rb +1 -1
  315. data/generated/google/apis/language_v1beta1/classes.rb +5 -5
  316. data/generated/google/apis/language_v1beta1.rb +1 -1
  317. data/generated/google/apis/language_v1beta2/classes.rb +8 -7
  318. data/generated/google/apis/language_v1beta2.rb +1 -1
  319. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  320. data/generated/google/apis/logging_v2/classes.rb +108 -38
  321. data/generated/google/apis/logging_v2/representations.rb +33 -2
  322. data/generated/google/apis/logging_v2/service.rb +689 -10
  323. data/generated/google/apis/logging_v2.rb +6 -7
  324. data/generated/google/apis/managedidentities_v1/classes.rb +1571 -0
  325. data/generated/google/apis/managedidentities_v1/representations.rb +560 -0
  326. data/generated/google/apis/managedidentities_v1/service.rb +779 -0
  327. data/generated/google/apis/managedidentities_v1.rb +35 -0
  328. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +1570 -0
  329. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +560 -0
  330. data/generated/google/apis/managedidentities_v1alpha1/service.rb +782 -0
  331. data/generated/google/apis/managedidentities_v1alpha1.rb +35 -0
  332. data/generated/google/apis/managedidentities_v1beta1/classes.rb +1568 -0
  333. data/generated/google/apis/managedidentities_v1beta1/representations.rb +560 -0
  334. data/generated/google/apis/managedidentities_v1beta1/service.rb +778 -0
  335. data/generated/google/apis/managedidentities_v1beta1.rb +35 -0
  336. data/generated/google/apis/manufacturers_v1/classes.rb +7 -0
  337. data/generated/google/apis/manufacturers_v1/representations.rb +1 -0
  338. data/generated/google/apis/manufacturers_v1.rb +1 -1
  339. data/generated/google/apis/memcache_v1beta2/classes.rb +1575 -0
  340. data/generated/google/apis/memcache_v1beta2/representations.rb +557 -0
  341. data/generated/google/apis/memcache_v1beta2/service.rb +674 -0
  342. data/generated/google/apis/memcache_v1beta2.rb +35 -0
  343. data/generated/google/apis/ml_v1/classes.rb +1021 -56
  344. data/generated/google/apis/ml_v1/representations.rb +481 -0
  345. data/generated/google/apis/ml_v1/service.rb +491 -0
  346. data/generated/google/apis/ml_v1.rb +1 -1
  347. data/generated/google/apis/monitoring_v1/classes.rb +54 -15
  348. data/generated/google/apis/monitoring_v1/representations.rb +3 -0
  349. data/generated/google/apis/monitoring_v1/service.rb +7 -8
  350. data/generated/google/apis/monitoring_v1.rb +7 -8
  351. data/generated/google/apis/monitoring_v3/classes.rb +311 -35
  352. data/generated/google/apis/monitoring_v3/representations.rb +128 -0
  353. data/generated/google/apis/monitoring_v3/service.rb +79 -35
  354. data/generated/google/apis/monitoring_v3.rb +7 -8
  355. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +1856 -0
  356. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +661 -0
  357. data/generated/google/apis/networkmanagement_v1beta1/service.rb +664 -0
  358. data/generated/google/apis/{cloudprivatecatalog_v1beta1.rb → networkmanagement_v1beta1.rb} +9 -9
  359. data/generated/google/apis/oauth2_v2/classes.rb +1 -81
  360. data/generated/google/apis/oauth2_v2/representations.rb +2 -36
  361. data/generated/google/apis/oauth2_v2/service.rb +10 -42
  362. data/generated/google/apis/oauth2_v2.rb +5 -5
  363. data/generated/google/apis/osconfig_v1/classes.rb +1223 -0
  364. data/generated/google/apis/osconfig_v1/representations.rb +506 -0
  365. data/generated/google/apis/osconfig_v1/service.rb +386 -0
  366. data/generated/google/apis/{mirror_v1.rb → osconfig_v1.rb} +11 -13
  367. data/generated/google/apis/osconfig_v1beta/classes.rb +10 -2
  368. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  369. data/generated/google/apis/oslogin_v1.rb +1 -1
  370. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  371. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  372. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  373. data/generated/google/apis/people_v1/classes.rb +30 -12
  374. data/generated/google/apis/people_v1/representations.rb +1 -0
  375. data/generated/google/apis/people_v1/service.rb +12 -24
  376. data/generated/google/apis/people_v1.rb +1 -1
  377. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +4 -3
  378. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +282 -0
  379. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  380. data/generated/google/apis/pubsub_v1/classes.rb +25 -17
  381. data/generated/google/apis/pubsub_v1/service.rb +23 -22
  382. data/generated/google/apis/pubsub_v1.rb +1 -1
  383. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  384. data/generated/google/apis/pubsub_v1beta2/classes.rb +5 -2
  385. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  386. data/generated/google/apis/recommender_v1beta1/classes.rb +212 -1
  387. data/generated/google/apis/recommender_v1beta1/representations.rb +96 -0
  388. data/generated/google/apis/recommender_v1beta1/service.rb +123 -0
  389. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  390. data/generated/google/apis/redis_v1/classes.rb +30 -7
  391. data/generated/google/apis/redis_v1/representations.rb +13 -0
  392. data/generated/google/apis/redis_v1/service.rb +36 -0
  393. data/generated/google/apis/redis_v1.rb +1 -1
  394. data/generated/google/apis/redis_v1beta1/classes.rb +11 -7
  395. data/generated/google/apis/redis_v1beta1.rb +1 -1
  396. data/generated/google/apis/remotebuildexecution_v1/classes.rb +171 -37
  397. data/generated/google/apis/remotebuildexecution_v1/representations.rb +28 -0
  398. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  399. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +171 -37
  400. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +28 -0
  401. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  402. data/generated/google/apis/remotebuildexecution_v2/classes.rb +181 -45
  403. data/generated/google/apis/remotebuildexecution_v2/representations.rb +29 -0
  404. data/generated/google/apis/remotebuildexecution_v2/service.rb +5 -1
  405. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  406. data/generated/google/apis/run_v1/classes.rb +138 -13
  407. data/generated/google/apis/run_v1/representations.rb +61 -0
  408. data/generated/google/apis/run_v1/service.rb +346 -0
  409. data/generated/google/apis/run_v1.rb +1 -1
  410. data/generated/google/apis/run_v1alpha1/classes.rb +431 -280
  411. data/generated/google/apis/run_v1alpha1/representations.rb +156 -105
  412. data/generated/google/apis/run_v1alpha1/service.rb +874 -448
  413. data/generated/google/apis/run_v1alpha1.rb +1 -1
  414. data/generated/google/apis/run_v1beta1.rb +1 -1
  415. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  416. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  417. data/generated/google/apis/sasportal_v1alpha1/classes.rb +4 -3
  418. data/generated/google/apis/sasportal_v1alpha1/service.rb +282 -0
  419. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  420. data/generated/google/apis/script_v1.rb +1 -1
  421. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/classes.rb +478 -761
  422. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/representations.rb +105 -116
  423. data/generated/google/apis/secretmanager_v1/service.rb +678 -0
  424. data/generated/google/apis/secretmanager_v1.rb +35 -0
  425. data/generated/google/apis/secretmanager_v1beta1/service.rb +5 -2
  426. data/generated/google/apis/secretmanager_v1beta1.rb +3 -3
  427. data/generated/google/apis/securitycenter_v1/classes.rb +293 -117
  428. data/generated/google/apis/securitycenter_v1/representations.rb +61 -0
  429. data/generated/google/apis/securitycenter_v1/service.rb +205 -9
  430. data/generated/google/apis/securitycenter_v1.rb +4 -4
  431. data/generated/google/apis/securitycenter_v1beta1/classes.rb +292 -107
  432. data/generated/google/apis/securitycenter_v1beta1/representations.rb +54 -2
  433. data/generated/google/apis/securitycenter_v1beta1/service.rb +39 -39
  434. data/generated/google/apis/securitycenter_v1beta1.rb +4 -4
  435. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +237 -54
  436. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +52 -0
  437. data/generated/google/apis/securitycenter_v1p1alpha1/service.rb +3 -3
  438. data/generated/google/apis/securitycenter_v1p1alpha1.rb +4 -4
  439. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +279 -80
  440. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +52 -0
  441. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +23 -9
  442. data/generated/google/apis/securitycenter_v1p1beta1.rb +4 -4
  443. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +105 -13
  444. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +18 -0
  445. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  446. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +4170 -0
  447. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1308 -0
  448. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +428 -0
  449. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1.rb → serviceconsumermanagement_v1beta1.rb} +8 -9
  450. data/generated/google/apis/servicecontrol_v1/classes.rb +2 -2
  451. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  452. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +800 -0
  453. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +304 -0
  454. data/generated/google/apis/servicedirectory_v1beta1/service.rb +992 -0
  455. data/generated/google/apis/{proximitybeacon_v1beta1.rb → servicedirectory_v1beta1.rb} +11 -10
  456. data/generated/google/apis/servicemanagement_v1/classes.rb +135 -7
  457. data/generated/google/apis/servicemanagement_v1/representations.rb +19 -0
  458. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  459. data/generated/google/apis/servicenetworking_v1/classes.rb +254 -6
  460. data/generated/google/apis/servicenetworking_v1/representations.rb +91 -0
  461. data/generated/google/apis/servicenetworking_v1/service.rb +53 -21
  462. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  463. data/generated/google/apis/servicenetworking_v1beta/classes.rb +205 -6
  464. data/generated/google/apis/servicenetworking_v1beta/representations.rb +74 -0
  465. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  466. data/generated/google/apis/serviceusage_v1/classes.rb +180 -13
  467. data/generated/google/apis/serviceusage_v1/representations.rb +62 -0
  468. data/generated/google/apis/serviceusage_v1/service.rb +42 -0
  469. data/generated/google/apis/serviceusage_v1.rb +1 -1
  470. data/generated/google/apis/serviceusage_v1beta1/classes.rb +407 -13
  471. data/generated/google/apis/serviceusage_v1beta1/representations.rb +150 -0
  472. data/generated/google/apis/serviceusage_v1beta1/service.rb +472 -0
  473. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  474. data/generated/google/apis/sheets_v4/classes.rb +2 -2
  475. data/generated/google/apis/sheets_v4.rb +1 -1
  476. data/generated/google/apis/slides_v1.rb +1 -1
  477. data/generated/google/apis/spanner_v1/classes.rb +501 -12
  478. data/generated/google/apis/spanner_v1/representations.rb +193 -0
  479. data/generated/google/apis/spanner_v1/service.rb +498 -10
  480. data/generated/google/apis/spanner_v1.rb +1 -1
  481. data/generated/google/apis/speech_v1/classes.rb +7 -3
  482. data/generated/google/apis/speech_v1/representations.rb +1 -0
  483. data/generated/google/apis/speech_v1.rb +1 -1
  484. data/generated/google/apis/speech_v1p1beta1/classes.rb +7 -3
  485. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  486. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  487. data/generated/google/apis/speech_v2beta1/classes.rb +7 -0
  488. data/generated/google/apis/speech_v2beta1/representations.rb +1 -0
  489. data/generated/google/apis/speech_v2beta1.rb +1 -1
  490. data/generated/google/apis/sql_v1beta4/classes.rb +3 -3
  491. data/generated/google/apis/sql_v1beta4/service.rb +54 -384
  492. data/generated/google/apis/sql_v1beta4.rb +1 -1
  493. data/generated/google/apis/storage_v1/classes.rb +18 -0
  494. data/generated/google/apis/storage_v1/representations.rb +2 -0
  495. data/generated/google/apis/storage_v1/service.rb +28 -3
  496. data/generated/google/apis/storage_v1.rb +1 -1
  497. data/generated/google/apis/storagetransfer_v1/classes.rb +279 -87
  498. data/generated/google/apis/storagetransfer_v1/representations.rb +52 -0
  499. data/generated/google/apis/storagetransfer_v1/service.rb +17 -11
  500. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  501. data/generated/google/apis/streetviewpublish_v1/service.rb +1 -1
  502. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  503. data/generated/google/apis/tagmanager_v1.rb +1 -1
  504. data/generated/google/apis/tagmanager_v2.rb +1 -1
  505. data/generated/google/apis/testing_v1/classes.rb +36 -1
  506. data/generated/google/apis/testing_v1/representations.rb +16 -0
  507. data/generated/google/apis/testing_v1.rb +1 -1
  508. data/generated/google/apis/texttospeech_v1.rb +1 -1
  509. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  510. data/generated/google/apis/toolresults_v1beta3/classes.rb +217 -0
  511. data/generated/google/apis/toolresults_v1beta3/representations.rb +84 -0
  512. data/generated/google/apis/toolresults_v1beta3/service.rb +76 -29
  513. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  514. data/generated/google/apis/tpu_v1.rb +1 -1
  515. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  516. data/generated/google/apis/translate_v3/classes.rb +6 -3
  517. data/generated/google/apis/translate_v3.rb +1 -1
  518. data/generated/google/apis/translate_v3beta1.rb +1 -1
  519. data/generated/google/apis/vault_v1.rb +1 -1
  520. data/generated/google/apis/videointelligence_v1/classes.rb +757 -17
  521. data/generated/google/apis/videointelligence_v1/representations.rb +356 -0
  522. data/generated/google/apis/videointelligence_v1.rb +1 -1
  523. data/generated/google/apis/videointelligence_v1beta2/classes.rb +757 -17
  524. data/generated/google/apis/videointelligence_v1beta2/representations.rb +356 -0
  525. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  526. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +757 -17
  527. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +356 -0
  528. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  529. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +757 -17
  530. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +356 -0
  531. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  532. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +757 -17
  533. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +356 -0
  534. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  535. data/generated/google/apis/vision_v1/classes.rb +1 -1
  536. data/generated/google/apis/vision_v1.rb +1 -1
  537. data/generated/google/apis/vision_v1p1beta1/classes.rb +1 -1
  538. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  539. data/generated/google/apis/vision_v1p2beta1/classes.rb +1 -1
  540. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  541. data/generated/google/apis/websecurityscanner_v1/classes.rb +6 -0
  542. data/generated/google/apis/websecurityscanner_v1/representations.rb +1 -0
  543. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  544. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +6 -0
  545. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +1 -0
  546. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  547. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  548. data/generated/google/apis/youtube_v3/classes.rb +79 -33
  549. data/generated/google/apis/youtube_v3/representations.rb +33 -4
  550. data/generated/google/apis/youtube_v3.rb +4 -1
  551. data/lib/google/apis/core/api_command.rb +4 -0
  552. data/lib/google/apis/generator/annotator.rb +1 -1
  553. data/lib/google/apis/version.rb +1 -1
  554. metadata +60 -27
  555. data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +0 -358
  556. data/generated/google/apis/cloudprivatecatalog_v1beta1/representations.rb +0 -123
  557. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +0 -486
  558. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +0 -1081
  559. data/generated/google/apis/mirror_v1/classes.rb +0 -1072
  560. data/generated/google/apis/mirror_v1/representations.rb +0 -390
  561. data/generated/google/apis/mirror_v1/service.rb +0 -928
  562. data/generated/google/apis/oauth2_v1/classes.rb +0 -197
  563. data/generated/google/apis/oauth2_v1/service.rb +0 -160
  564. data/generated/google/apis/oauth2_v1.rb +0 -40
  565. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +0 -845
  566. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +0 -350
  567. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +0 -933
  568. data/generated/google/apis/toolresults_v1/classes.rb +0 -696
  569. data/generated/google/apis/toolresults_v1/representations.rb +0 -438
  570. data/generated/google/apis/toolresults_v1/service.rb +0 -59
@@ -0,0 +1,1575 @@
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 MemcacheV1beta2
24
+
25
+ # Request for ApplyParameters.
26
+ class ApplyParametersRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Whether to apply instance-level parameter group to all nodes. If set to
30
+ # true, will explicitly restrict users from specifying any nodes, and apply
31
+ # parameter group updates to all nodes within the instance.
32
+ # Corresponds to the JSON property `applyAll`
33
+ # @return [Boolean]
34
+ attr_accessor :apply_all
35
+ alias_method :apply_all?, :apply_all
36
+
37
+ # Nodes to which we should apply the instance-level parameter group.
38
+ # Corresponds to the JSON property `nodeIds`
39
+ # @return [Array<String>]
40
+ attr_accessor :node_ids
41
+
42
+ def initialize(**args)
43
+ update!(**args)
44
+ end
45
+
46
+ # Update properties of this object
47
+ def update!(**args)
48
+ @apply_all = args[:apply_all] if args.key?(:apply_all)
49
+ @node_ids = args[:node_ids] if args.key?(:node_ids)
50
+ end
51
+ end
52
+
53
+ # Specifies the audit configuration for a service.
54
+ # The configuration determines which permission types are logged, and what
55
+ # identities, if any, are exempted from logging.
56
+ # An AuditConfig must have one or more AuditLogConfigs.
57
+ # If there are AuditConfigs for both `allServices` and a specific service,
58
+ # the union of the two AuditConfigs is used for that service: the log_types
59
+ # specified in each AuditConfig are enabled, and the exempted_members in each
60
+ # AuditLogConfig are exempted.
61
+ # Example Policy with multiple AuditConfigs:
62
+ # `
63
+ # "audit_configs": [
64
+ # `
65
+ # "service": "allServices"
66
+ # "audit_log_configs": [
67
+ # `
68
+ # "log_type": "DATA_READ",
69
+ # "exempted_members": [
70
+ # "user:jose@example.com"
71
+ # ]
72
+ # `,
73
+ # `
74
+ # "log_type": "DATA_WRITE",
75
+ # `,
76
+ # `
77
+ # "log_type": "ADMIN_READ",
78
+ # `
79
+ # ]
80
+ # `,
81
+ # `
82
+ # "service": "sampleservice.googleapis.com"
83
+ # "audit_log_configs": [
84
+ # `
85
+ # "log_type": "DATA_READ",
86
+ # `,
87
+ # `
88
+ # "log_type": "DATA_WRITE",
89
+ # "exempted_members": [
90
+ # "user:aliya@example.com"
91
+ # ]
92
+ # `
93
+ # ]
94
+ # `
95
+ # ]
96
+ # `
97
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
98
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
99
+ # aliya@example.com from DATA_WRITE logging.
100
+ class AuditConfig
101
+ include Google::Apis::Core::Hashable
102
+
103
+ # The configuration for logging of each type of permission.
104
+ # Corresponds to the JSON property `auditLogConfigs`
105
+ # @return [Array<Google::Apis::MemcacheV1beta2::AuditLogConfig>]
106
+ attr_accessor :audit_log_configs
107
+
108
+ # Specifies a service that will be enabled for audit logging.
109
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
110
+ # `allServices` is a special value that covers all services.
111
+ # Corresponds to the JSON property `service`
112
+ # @return [String]
113
+ attr_accessor :service
114
+
115
+ def initialize(**args)
116
+ update!(**args)
117
+ end
118
+
119
+ # Update properties of this object
120
+ def update!(**args)
121
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
122
+ @service = args[:service] if args.key?(:service)
123
+ end
124
+ end
125
+
126
+ # Provides the configuration for logging a type of permissions.
127
+ # Example:
128
+ # `
129
+ # "audit_log_configs": [
130
+ # `
131
+ # "log_type": "DATA_READ",
132
+ # "exempted_members": [
133
+ # "user:jose@example.com"
134
+ # ]
135
+ # `,
136
+ # `
137
+ # "log_type": "DATA_WRITE",
138
+ # `
139
+ # ]
140
+ # `
141
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
142
+ # jose@example.com from DATA_READ logging.
143
+ class AuditLogConfig
144
+ include Google::Apis::Core::Hashable
145
+
146
+ # Specifies the identities that do not cause logging for this type of
147
+ # permission.
148
+ # Follows the same format of Binding.members.
149
+ # Corresponds to the JSON property `exemptedMembers`
150
+ # @return [Array<String>]
151
+ attr_accessor :exempted_members
152
+
153
+ # The log type that this config enables.
154
+ # Corresponds to the JSON property `logType`
155
+ # @return [String]
156
+ attr_accessor :log_type
157
+
158
+ def initialize(**args)
159
+ update!(**args)
160
+ end
161
+
162
+ # Update properties of this object
163
+ def update!(**args)
164
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
165
+ @log_type = args[:log_type] if args.key?(:log_type)
166
+ end
167
+ end
168
+
169
+ # Associates `members` with a `role`.
170
+ class Binding
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # Represents a textual expression in the Common Expression Language (CEL)
174
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
175
+ # are documented at https://github.com/google/cel-spec.
176
+ # Example (Comparison):
177
+ # title: "Summary size limit"
178
+ # description: "Determines if a summary is less than 100 chars"
179
+ # expression: "document.summary.size() < 100"
180
+ # Example (Equality):
181
+ # title: "Requestor is owner"
182
+ # description: "Determines if requestor is the document owner"
183
+ # expression: "document.owner == request.auth.claims.email"
184
+ # Example (Logic):
185
+ # title: "Public documents"
186
+ # description: "Determine whether the document should be publicly visible"
187
+ # expression: "document.type != 'private' && document.type != 'internal'"
188
+ # Example (Data Manipulation):
189
+ # title: "Notification string"
190
+ # description: "Create a notification string with a timestamp."
191
+ # expression: "'New message received at ' + string(document.create_time)"
192
+ # The exact variables and functions that may be referenced within an expression
193
+ # are determined by the service that evaluates it. See the service
194
+ # documentation for additional information.
195
+ # Corresponds to the JSON property `condition`
196
+ # @return [Google::Apis::MemcacheV1beta2::Expr]
197
+ attr_accessor :condition
198
+
199
+ # Specifies the identities requesting access for a Cloud Platform resource.
200
+ # `members` can have the following values:
201
+ # * `allUsers`: A special identifier that represents anyone who is
202
+ # on the internet; with or without a Google account.
203
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
204
+ # who is authenticated with a Google account or a service account.
205
+ # * `user:`emailid``: An email address that represents a specific Google
206
+ # account. For example, `alice@example.com` .
207
+ # * `serviceAccount:`emailid``: An email address that represents a service
208
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
209
+ # * `group:`emailid``: An email address that represents a Google group.
210
+ # For example, `admins@example.com`.
211
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
212
+ # identifier) representing a user that has been recently deleted. For
213
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
214
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
215
+ # retains the role in the binding.
216
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
217
+ # unique identifier) representing a service account that has been recently
218
+ # deleted. For example,
219
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
220
+ # If the service account is undeleted, this value reverts to
221
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
222
+ # role in the binding.
223
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
224
+ # identifier) representing a Google group that has been recently
225
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
226
+ # the group is recovered, this value reverts to `group:`emailid`` and the
227
+ # recovered group retains the role in the binding.
228
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
229
+ # users of that domain. For example, `google.com` or `example.com`.
230
+ # Corresponds to the JSON property `members`
231
+ # @return [Array<String>]
232
+ attr_accessor :members
233
+
234
+ # Role that is assigned to `members`.
235
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
236
+ # Corresponds to the JSON property `role`
237
+ # @return [String]
238
+ attr_accessor :role
239
+
240
+ def initialize(**args)
241
+ update!(**args)
242
+ end
243
+
244
+ # Update properties of this object
245
+ def update!(**args)
246
+ @condition = args[:condition] if args.key?(:condition)
247
+ @members = args[:members] if args.key?(:members)
248
+ @role = args[:role] if args.key?(:role)
249
+ end
250
+ end
251
+
252
+ # The request message for Operations.CancelOperation.
253
+ class CancelOperationRequest
254
+ include Google::Apis::Core::Hashable
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ end
263
+ end
264
+
265
+ # A generic empty message that you can re-use to avoid defining duplicated
266
+ # empty messages in your APIs. A typical example is to use it as the request
267
+ # or the response type of an API method. For instance:
268
+ # service Foo `
269
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
270
+ # `
271
+ # The JSON representation for `Empty` is empty JSON object ````.
272
+ class Empty
273
+ include Google::Apis::Core::Hashable
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ end
282
+ end
283
+
284
+ # Represents a textual expression in the Common Expression Language (CEL)
285
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
286
+ # are documented at https://github.com/google/cel-spec.
287
+ # Example (Comparison):
288
+ # title: "Summary size limit"
289
+ # description: "Determines if a summary is less than 100 chars"
290
+ # expression: "document.summary.size() < 100"
291
+ # Example (Equality):
292
+ # title: "Requestor is owner"
293
+ # description: "Determines if requestor is the document owner"
294
+ # expression: "document.owner == request.auth.claims.email"
295
+ # Example (Logic):
296
+ # title: "Public documents"
297
+ # description: "Determine whether the document should be publicly visible"
298
+ # expression: "document.type != 'private' && document.type != 'internal'"
299
+ # Example (Data Manipulation):
300
+ # title: "Notification string"
301
+ # description: "Create a notification string with a timestamp."
302
+ # expression: "'New message received at ' + string(document.create_time)"
303
+ # The exact variables and functions that may be referenced within an expression
304
+ # are determined by the service that evaluates it. See the service
305
+ # documentation for additional information.
306
+ class Expr
307
+ include Google::Apis::Core::Hashable
308
+
309
+ # Optional. Description of the expression. This is a longer text which
310
+ # describes the expression, e.g. when hovered over it in a UI.
311
+ # Corresponds to the JSON property `description`
312
+ # @return [String]
313
+ attr_accessor :description
314
+
315
+ # Textual representation of an expression in Common Expression Language
316
+ # syntax.
317
+ # Corresponds to the JSON property `expression`
318
+ # @return [String]
319
+ attr_accessor :expression
320
+
321
+ # Optional. String indicating the location of the expression for error
322
+ # reporting, e.g. a file name and a position in the file.
323
+ # Corresponds to the JSON property `location`
324
+ # @return [String]
325
+ attr_accessor :location
326
+
327
+ # Optional. Title for the expression, i.e. a short string describing
328
+ # its purpose. This can be used e.g. in UIs which allow to enter the
329
+ # expression.
330
+ # Corresponds to the JSON property `title`
331
+ # @return [String]
332
+ attr_accessor :title
333
+
334
+ def initialize(**args)
335
+ update!(**args)
336
+ end
337
+
338
+ # Update properties of this object
339
+ def update!(**args)
340
+ @description = args[:description] if args.key?(:description)
341
+ @expression = args[:expression] if args.key?(:expression)
342
+ @location = args[:location] if args.key?(:location)
343
+ @title = args[:title] if args.key?(:title)
344
+ end
345
+ end
346
+
347
+ # Metadata for the given google.cloud.location.Location.
348
+ class GoogleCloudMemcacheV1beta2LocationMetadata
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # Output only. The set of available zones in the location. The map is keyed
352
+ # by the lowercase ID of each zone, as defined by GCE. These keys can be
353
+ # specified in the `zones` field when creating a Memcached instance.
354
+ # Corresponds to the JSON property `availableZones`
355
+ # @return [Hash<String,Google::Apis::MemcacheV1beta2::ZoneMetadata>]
356
+ attr_accessor :available_zones
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ @available_zones = args[:available_zones] if args.key?(:available_zones)
365
+ end
366
+ end
367
+
368
+ # Represents the metadata of a long-running operation.
369
+ class GoogleCloudMemcacheV1beta2OperationMetadata
370
+ include Google::Apis::Core::Hashable
371
+
372
+ # API version used to start the operation.
373
+ # Corresponds to the JSON property `apiVersion`
374
+ # @return [String]
375
+ attr_accessor :api_version
376
+
377
+ # Identifies whether the user has requested cancellation
378
+ # of the operation. Operations that have successfully been cancelled
379
+ # have Operation.error value with a google.rpc.Status.code of 1,
380
+ # corresponding to `Code.CANCELLED`.
381
+ # Corresponds to the JSON property `cancelRequested`
382
+ # @return [Boolean]
383
+ attr_accessor :cancel_requested
384
+ alias_method :cancel_requested?, :cancel_requested
385
+
386
+ # Time when the operation was created.
387
+ # Corresponds to the JSON property `createTime`
388
+ # @return [String]
389
+ attr_accessor :create_time
390
+
391
+ # Time when the operation finished running.
392
+ # Corresponds to the JSON property `endTime`
393
+ # @return [String]
394
+ attr_accessor :end_time
395
+
396
+ # Human-readable status of the operation, if any.
397
+ # Corresponds to the JSON property `statusDetail`
398
+ # @return [String]
399
+ attr_accessor :status_detail
400
+
401
+ # Server-defined resource path for the target of the operation.
402
+ # Corresponds to the JSON property `target`
403
+ # @return [String]
404
+ attr_accessor :target
405
+
406
+ # Name of the verb executed by the operation.
407
+ # Corresponds to the JSON property `verb`
408
+ # @return [String]
409
+ attr_accessor :verb
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @api_version = args[:api_version] if args.key?(:api_version)
418
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
419
+ @create_time = args[:create_time] if args.key?(:create_time)
420
+ @end_time = args[:end_time] if args.key?(:end_time)
421
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
422
+ @target = args[:target] if args.key?(:target)
423
+ @verb = args[:verb] if args.key?(:verb)
424
+ end
425
+ end
426
+
427
+ #
428
+ class GoogleCloudSaasacceleratorManagementProvidersV1Instance
429
+ include Google::Apis::Core::Hashable
430
+
431
+ # consumer_defined_name is the name that is set by the consumer. On the other
432
+ # hand Name field represents system-assigned id of an instance so consumers
433
+ # are not necessarily aware of it.
434
+ # consumer_defined_name is used for notification/UI purposes for consumer to
435
+ # recognize their instances.
436
+ # Corresponds to the JSON property `consumerDefinedName`
437
+ # @return [String]
438
+ attr_accessor :consumer_defined_name
439
+
440
+ # Output only. Timestamp when the resource was created.
441
+ # Corresponds to the JSON property `createTime`
442
+ # @return [String]
443
+ attr_accessor :create_time
444
+
445
+ # Optional. Resource labels to represent user provided metadata. Each label
446
+ # is a key-value pair, where both the key and the value are arbitrary strings
447
+ # provided by the user.
448
+ # Corresponds to the JSON property `labels`
449
+ # @return [Hash<String,String>]
450
+ attr_accessor :labels
451
+
452
+ # The MaintenancePolicies that have been attached to the instance.
453
+ # The key must be of the type name of the oneof policy name defined in
454
+ # MaintenancePolicy, and the referenced policy must define the same policy
455
+ # type. For complete details of MaintenancePolicy, please refer to
456
+ # go/cloud-saas-mw-ug.
457
+ # Corresponds to the JSON property `maintenancePolicyNames`
458
+ # @return [Hash<String,String>]
459
+ attr_accessor :maintenance_policy_names
460
+
461
+ # The MaintenanceSchedule contains the scheduling information of published
462
+ # maintenance schedule.
463
+ # Corresponds to the JSON property `maintenanceSchedules`
464
+ # @return [Hash<String,Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>]
465
+ attr_accessor :maintenance_schedules
466
+
467
+ # Unique name of the resource. It uses the form:
468
+ # `projects/`project_id`/locations/`location_id`/instances/`instance_id``
469
+ # Corresponds to the JSON property `name`
470
+ # @return [String]
471
+ attr_accessor :name
472
+
473
+ # Output only. Custom string attributes used primarily to expose
474
+ # producer-specific information in monitoring dashboards.
475
+ # See go/get-instance-metadata.
476
+ # Corresponds to the JSON property `producerMetadata`
477
+ # @return [Hash<String,String>]
478
+ attr_accessor :producer_metadata
479
+
480
+ # Output only. The list of data plane resources provisioned for this
481
+ # instance, e.g. compute VMs. See go/get-instance-metadata.
482
+ # Corresponds to the JSON property `provisionedResources`
483
+ # @return [Array<Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource>]
484
+ attr_accessor :provisioned_resources
485
+
486
+ # Link to the SLM instance template. Only populated when updating SLM
487
+ # instances via SSA's Actuation service adaptor.
488
+ # Service producers with custom control plane (e.g. Cloud SQL) doesn't
489
+ # need to populate this field. Instead they should use software_versions.
490
+ # Corresponds to the JSON property `slmInstanceTemplate`
491
+ # @return [String]
492
+ attr_accessor :slm_instance_template
493
+
494
+ # SloMetadata contains resources required for proper SLO classification of the
495
+ # instance.
496
+ # Corresponds to the JSON property `sloMetadata`
497
+ # @return [Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata]
498
+ attr_accessor :slo_metadata
499
+
500
+ # Software versions that are used to deploy this instance. This can be
501
+ # mutated by rollout services.
502
+ # Corresponds to the JSON property `softwareVersions`
503
+ # @return [Hash<String,String>]
504
+ attr_accessor :software_versions
505
+
506
+ # Output only. Current lifecycle state of the resource (e.g. if it's being
507
+ # created or ready to use).
508
+ # Corresponds to the JSON property `state`
509
+ # @return [String]
510
+ attr_accessor :state
511
+
512
+ # Output only. ID of the associated GCP tenant project.
513
+ # See go/get-instance-metadata.
514
+ # Corresponds to the JSON property `tenantProjectId`
515
+ # @return [String]
516
+ attr_accessor :tenant_project_id
517
+
518
+ # Output only. Timestamp when the resource was last modified.
519
+ # Corresponds to the JSON property `updateTime`
520
+ # @return [String]
521
+ attr_accessor :update_time
522
+
523
+ def initialize(**args)
524
+ update!(**args)
525
+ end
526
+
527
+ # Update properties of this object
528
+ def update!(**args)
529
+ @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name)
530
+ @create_time = args[:create_time] if args.key?(:create_time)
531
+ @labels = args[:labels] if args.key?(:labels)
532
+ @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names)
533
+ @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules)
534
+ @name = args[:name] if args.key?(:name)
535
+ @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata)
536
+ @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources)
537
+ @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template)
538
+ @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata)
539
+ @software_versions = args[:software_versions] if args.key?(:software_versions)
540
+ @state = args[:state] if args.key?(:state)
541
+ @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id)
542
+ @update_time = args[:update_time] if args.key?(:update_time)
543
+ end
544
+ end
545
+
546
+ # Maintenance schedule which is exposed to customer and potentially end user,
547
+ # indicating published upcoming future maintenance schedule
548
+ class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule
549
+ include Google::Apis::Core::Hashable
550
+
551
+ # Can this scheduled update be rescheduled?
552
+ # By default, it's true and API needs to do explicitly check whether it's
553
+ # set, if it's set as false explicitly, it's false
554
+ # Corresponds to the JSON property `canReschedule`
555
+ # @return [Boolean]
556
+ attr_accessor :can_reschedule
557
+ alias_method :can_reschedule?, :can_reschedule
558
+
559
+ # The scheduled end time for the maintenance.
560
+ # Corresponds to the JSON property `endTime`
561
+ # @return [String]
562
+ attr_accessor :end_time
563
+
564
+ # The rollout management policy this maintenance schedule is associated
565
+ # with. When doing reschedule update request, the reschedule should be
566
+ # against this given policy.
567
+ # Corresponds to the JSON property `rolloutManagementPolicy`
568
+ # @return [String]
569
+ attr_accessor :rollout_management_policy
570
+
571
+ # The scheduled start time for the maintenance.
572
+ # Corresponds to the JSON property `startTime`
573
+ # @return [String]
574
+ attr_accessor :start_time
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
583
+ @end_time = args[:end_time] if args.key?(:end_time)
584
+ @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy)
585
+ @start_time = args[:start_time] if args.key?(:start_time)
586
+ end
587
+ end
588
+
589
+ # Node information for custom per-node SLO implementations.
590
+ # SSA does not support per-node SLO, but producers can populate per-node
591
+ # information in SloMetadata for custom precomputations.
592
+ # SSA Eligibility Exporter will emit per-node metric based on this information.
593
+ class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata
594
+ include Google::Apis::Core::Hashable
595
+
596
+ # By default node is eligible if instance is eligible.
597
+ # But individual node might be excluded from SLO by adding entry here.
598
+ # For semantic see SloMetadata.exclusions.
599
+ # If both instance and node level exclusions are present for time period,
600
+ # the node level's reason will be reported by Eligibility Exporter.
601
+ # Corresponds to the JSON property `exclusions`
602
+ # @return [Array<Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion>]
603
+ attr_accessor :exclusions
604
+
605
+ # The location of the node, if different from instance location.
606
+ # Corresponds to the JSON property `location`
607
+ # @return [String]
608
+ attr_accessor :location
609
+
610
+ # The id of the node.
611
+ # This should be equal to SaasInstanceNode.node_id.
612
+ # Corresponds to the JSON property `nodeId`
613
+ # @return [String]
614
+ attr_accessor :node_id
615
+
616
+ def initialize(**args)
617
+ update!(**args)
618
+ end
619
+
620
+ # Update properties of this object
621
+ def update!(**args)
622
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
623
+ @location = args[:location] if args.key?(:location)
624
+ @node_id = args[:node_id] if args.key?(:node_id)
625
+ end
626
+ end
627
+
628
+ # Describes provisioned dataplane resources.
629
+ class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource
630
+ include Google::Apis::Core::Hashable
631
+
632
+ # Type of the resource. This can be either a GCP resource or a custom one
633
+ # (e.g. another cloud provider's VM). For GCP compute resources use singular
634
+ # form of the names listed in GCP compute API documentation
635
+ # (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with
636
+ # 'compute-', for example: 'compute-instance', 'compute-disk',
637
+ # 'compute-autoscaler'.
638
+ # Corresponds to the JSON property `resourceType`
639
+ # @return [String]
640
+ attr_accessor :resource_type
641
+
642
+ # URL identifying the resource, e.g.
643
+ # "https://www.googleapis.com/compute/v1/projects/...)".
644
+ # Corresponds to the JSON property `resourceUrl`
645
+ # @return [String]
646
+ attr_accessor :resource_url
647
+
648
+ def initialize(**args)
649
+ update!(**args)
650
+ end
651
+
652
+ # Update properties of this object
653
+ def update!(**args)
654
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
655
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
656
+ end
657
+ end
658
+
659
+ # SloEligibility is a tuple containing eligibility value: true if an instance
660
+ # is eligible for SLO calculation or false if it should be excluded from all
661
+ # SLO-related calculations along with a user-defined reason.
662
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility
663
+ include Google::Apis::Core::Hashable
664
+
665
+ # Whether an instance is eligible or ineligible.
666
+ # Corresponds to the JSON property `eligible`
667
+ # @return [Boolean]
668
+ attr_accessor :eligible
669
+ alias_method :eligible?, :eligible
670
+
671
+ # User-defined reason for the current value of instance eligibility. Usually,
672
+ # this can be directly mapped to the internal state. An empty reason is
673
+ # allowed.
674
+ # Corresponds to the JSON property `reason`
675
+ # @return [String]
676
+ attr_accessor :reason
677
+
678
+ def initialize(**args)
679
+ update!(**args)
680
+ end
681
+
682
+ # Update properties of this object
683
+ def update!(**args)
684
+ @eligible = args[:eligible] if args.key?(:eligible)
685
+ @reason = args[:reason] if args.key?(:reason)
686
+ end
687
+ end
688
+
689
+ # SloExclusion represents an exclusion in SLI calculation applies to all SLOs.
690
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion
691
+ include Google::Apis::Core::Hashable
692
+
693
+ # Exclusion duration. No restrictions on the possible values.
694
+ # When an ongoing operation is taking longer than initially expected,
695
+ # an existing entry in the exclusion list can be updated by extending the
696
+ # duration. This is supported by the subsystem exporting eligibility data
697
+ # as long as such extension is committed at least 10 minutes before the
698
+ # original exclusion expiration - otherwise it is possible that there will
699
+ # be "gaps" in the exclusion application in the exported timeseries.
700
+ # Corresponds to the JSON property `duration`
701
+ # @return [String]
702
+ attr_accessor :duration
703
+
704
+ # Human-readable reason for the exclusion.
705
+ # This should be a static string (e.g. "Disruptive update in progress")
706
+ # and should not contain dynamically generated data (e.g. instance name).
707
+ # Can be left empty.
708
+ # Corresponds to the JSON property `reason`
709
+ # @return [String]
710
+ attr_accessor :reason
711
+
712
+ # Name of an SLI that this exclusion applies to. Can be left empty,
713
+ # signaling that the instance should be excluded from all SLIs defined
714
+ # in the service SLO configuration.
715
+ # Corresponds to the JSON property `sliName`
716
+ # @return [String]
717
+ attr_accessor :sli_name
718
+
719
+ # Start time of the exclusion. No alignment (e.g. to a full minute) needed.
720
+ # Corresponds to the JSON property `startTime`
721
+ # @return [String]
722
+ attr_accessor :start_time
723
+
724
+ def initialize(**args)
725
+ update!(**args)
726
+ end
727
+
728
+ # Update properties of this object
729
+ def update!(**args)
730
+ @duration = args[:duration] if args.key?(:duration)
731
+ @reason = args[:reason] if args.key?(:reason)
732
+ @sli_name = args[:sli_name] if args.key?(:sli_name)
733
+ @start_time = args[:start_time] if args.key?(:start_time)
734
+ end
735
+ end
736
+
737
+ # SloMetadata contains resources required for proper SLO classification of the
738
+ # instance.
739
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
740
+ include Google::Apis::Core::Hashable
741
+
742
+ # SloEligibility is a tuple containing eligibility value: true if an instance
743
+ # is eligible for SLO calculation or false if it should be excluded from all
744
+ # SLO-related calculations along with a user-defined reason.
745
+ # Corresponds to the JSON property `eligibility`
746
+ # @return [Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility]
747
+ attr_accessor :eligibility
748
+
749
+ # List of SLO exclusion windows. When multiple entries in the list match
750
+ # (matching the exclusion time-window against current time point)
751
+ # the exclusion reason used in the first matching entry will be published.
752
+ # It is not needed to include expired exclusion in this list, as only the
753
+ # currently applicable exclusions are taken into account by the eligibility
754
+ # exporting subsystem (the historical state of exclusions will be reflected
755
+ # in the historically produced timeseries regardless of the current state).
756
+ # This field can be used to mark the instance as temporary ineligible
757
+ # for the purpose of SLO calculation. For permanent instance SLO exclusion,
758
+ # use of custom instance eligibility is recommended. See 'eligibility' field
759
+ # below.
760
+ # Corresponds to the JSON property `exclusions`
761
+ # @return [Array<Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion>]
762
+ attr_accessor :exclusions
763
+
764
+ # Optional. List of nodes.
765
+ # Some producers need to use per-node metadata to calculate SLO.
766
+ # This field allows such producers to publish per-node SLO meta data,
767
+ # which will be consumed by SSA Eligibility Exporter and published in the
768
+ # form of per node metric to Monarch.
769
+ # Corresponds to the JSON property `nodes`
770
+ # @return [Array<Google::Apis::MemcacheV1beta2::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata>]
771
+ attr_accessor :nodes
772
+
773
+ # Name of the SLO tier the Instance belongs to. This name will be expected to
774
+ # match the tiers specified in the service SLO configuration.
775
+ # Field is mandatory and must not be empty.
776
+ # Corresponds to the JSON property `tier`
777
+ # @return [String]
778
+ attr_accessor :tier
779
+
780
+ def initialize(**args)
781
+ update!(**args)
782
+ end
783
+
784
+ # Update properties of this object
785
+ def update!(**args)
786
+ @eligibility = args[:eligibility] if args.key?(:eligibility)
787
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
788
+ @nodes = args[:nodes] if args.key?(:nodes)
789
+ @tier = args[:tier] if args.key?(:tier)
790
+ end
791
+ end
792
+
793
+ #
794
+ class Instance
795
+ include Google::Apis::Core::Hashable
796
+
797
+ # Optional. The full name of the Google Compute Engine
798
+ # [network](/compute/docs/networks-and-firewalls#networks) to which the
799
+ # instance is connected. If left unspecified, the `default` network
800
+ # will be used.
801
+ # Corresponds to the JSON property `authorizedNetwork`
802
+ # @return [String]
803
+ attr_accessor :authorized_network
804
+
805
+ # Output only. The time the instance was created.
806
+ # Corresponds to the JSON property `createTime`
807
+ # @return [String]
808
+ attr_accessor :create_time
809
+
810
+ # Output only. Endpoint for Discovery API
811
+ # Corresponds to the JSON property `discoveryEndpoint`
812
+ # @return [String]
813
+ attr_accessor :discovery_endpoint
814
+
815
+ # Optional. User provided name for the instance only used for display
816
+ # purposes. Cannot be more than 80 characters.
817
+ # Corresponds to the JSON property `displayName`
818
+ # @return [String]
819
+ attr_accessor :display_name
820
+
821
+ # List of messages that describe current statuses of memcached instance.
822
+ # Corresponds to the JSON property `instanceMessages`
823
+ # @return [Array<Google::Apis::MemcacheV1beta2::InstanceMessage>]
824
+ attr_accessor :instance_messages
825
+
826
+ # Optional. Resource labels to represent user-provided metadata.
827
+ # Refer to cloud documentation on labels for more details.
828
+ # https://cloud.google.com/compute/docs/labeling-resources
829
+ # Corresponds to the JSON property `labels`
830
+ # @return [Hash<String,String>]
831
+ attr_accessor :labels
832
+
833
+ # Output only. The full version of memcached server running on this instance.
834
+ # System automatically determines the full memcached version for an instance
835
+ # based on the input MemcacheVersion.
836
+ # The full version format will be "memcached-1.5.16".
837
+ # Corresponds to the JSON property `memcacheFullVersion`
838
+ # @return [String]
839
+ attr_accessor :memcache_full_version
840
+
841
+ # Output only. List of Memcached nodes.
842
+ # Refer to [Node] message for more details.
843
+ # Corresponds to the JSON property `memcacheNodes`
844
+ # @return [Array<Google::Apis::MemcacheV1beta2::Node>]
845
+ attr_accessor :memcache_nodes
846
+
847
+ # Optional. The major version of Memcached software.
848
+ # If not provided, latest supported version will be used. Currently the
849
+ # latest supported major version is MEMCACHE_1_5.
850
+ # The minor version will be automatically determined by our system based on
851
+ # the latest supported minor version.
852
+ # Corresponds to the JSON property `memcacheVersion`
853
+ # @return [String]
854
+ attr_accessor :memcache_version
855
+
856
+ # Required. Unique name of the resource in this scope including project and
857
+ # location using the form:
858
+ # `projects/`project_id`/locations/`location_id`/instances/`instance_id``
859
+ # Note: Memcached instances are managed and addressed at regional level so
860
+ # location_id here refers to a GCP region; however, users may choose which
861
+ # zones Memcached nodes within an instances should be provisioned in.
862
+ # Refer to [zones] field for more details.
863
+ # Corresponds to the JSON property `name`
864
+ # @return [String]
865
+ attr_accessor :name
866
+
867
+ # Configuration for a Memcached Node.
868
+ # Corresponds to the JSON property `nodeConfig`
869
+ # @return [Google::Apis::MemcacheV1beta2::NodeConfig]
870
+ attr_accessor :node_config
871
+
872
+ # Required. Number of nodes in the Memcached instance.
873
+ # Corresponds to the JSON property `nodeCount`
874
+ # @return [Fixnum]
875
+ attr_accessor :node_count
876
+
877
+ # Optional: User defined parameters to apply to the memcached process
878
+ # on each node.
879
+ # Corresponds to the JSON property `parameters`
880
+ # @return [Google::Apis::MemcacheV1beta2::MemcacheParameters]
881
+ attr_accessor :parameters
882
+
883
+ # Output only. The state of this Memcached instance.
884
+ # Corresponds to the JSON property `state`
885
+ # @return [String]
886
+ attr_accessor :state
887
+
888
+ # Output only. The time the instance was updated.
889
+ # Corresponds to the JSON property `updateTime`
890
+ # @return [String]
891
+ attr_accessor :update_time
892
+
893
+ # Optional. Zones where Memcached nodes should be provisioned in.
894
+ # Memcached nodes will be equally distributed across these zones. If not
895
+ # provided, the service will by default create nodes in all zones in the
896
+ # region for the instance.
897
+ # Corresponds to the JSON property `zones`
898
+ # @return [Array<String>]
899
+ attr_accessor :zones
900
+
901
+ def initialize(**args)
902
+ update!(**args)
903
+ end
904
+
905
+ # Update properties of this object
906
+ def update!(**args)
907
+ @authorized_network = args[:authorized_network] if args.key?(:authorized_network)
908
+ @create_time = args[:create_time] if args.key?(:create_time)
909
+ @discovery_endpoint = args[:discovery_endpoint] if args.key?(:discovery_endpoint)
910
+ @display_name = args[:display_name] if args.key?(:display_name)
911
+ @instance_messages = args[:instance_messages] if args.key?(:instance_messages)
912
+ @labels = args[:labels] if args.key?(:labels)
913
+ @memcache_full_version = args[:memcache_full_version] if args.key?(:memcache_full_version)
914
+ @memcache_nodes = args[:memcache_nodes] if args.key?(:memcache_nodes)
915
+ @memcache_version = args[:memcache_version] if args.key?(:memcache_version)
916
+ @name = args[:name] if args.key?(:name)
917
+ @node_config = args[:node_config] if args.key?(:node_config)
918
+ @node_count = args[:node_count] if args.key?(:node_count)
919
+ @parameters = args[:parameters] if args.key?(:parameters)
920
+ @state = args[:state] if args.key?(:state)
921
+ @update_time = args[:update_time] if args.key?(:update_time)
922
+ @zones = args[:zones] if args.key?(:zones)
923
+ end
924
+ end
925
+
926
+ #
927
+ class InstanceMessage
928
+ include Google::Apis::Core::Hashable
929
+
930
+ # A code that correspond to one type of user-facing message.
931
+ # Corresponds to the JSON property `code`
932
+ # @return [String]
933
+ attr_accessor :code
934
+
935
+ # Message on memcached instance which will be exposed to users.
936
+ # Corresponds to the JSON property `message`
937
+ # @return [String]
938
+ attr_accessor :message
939
+
940
+ def initialize(**args)
941
+ update!(**args)
942
+ end
943
+
944
+ # Update properties of this object
945
+ def update!(**args)
946
+ @code = args[:code] if args.key?(:code)
947
+ @message = args[:message] if args.key?(:message)
948
+ end
949
+ end
950
+
951
+ # Response for ListInstances.
952
+ class ListInstancesResponse
953
+ include Google::Apis::Core::Hashable
954
+
955
+ # Token to retrieve the next page of results, or empty if there are no more
956
+ # results in the list.
957
+ # Corresponds to the JSON property `nextPageToken`
958
+ # @return [String]
959
+ attr_accessor :next_page_token
960
+
961
+ # A list of Memcached instances in the project in the specified location,
962
+ # or across all locations.
963
+ # If the `location_id` in the parent field of the request is "-", all regions
964
+ # available to the project are queried, and the results aggregated.
965
+ # Corresponds to the JSON property `resources`
966
+ # @return [Array<Google::Apis::MemcacheV1beta2::Instance>]
967
+ attr_accessor :resources
968
+
969
+ # Locations that could not be reached.
970
+ # Corresponds to the JSON property `unreachable`
971
+ # @return [Array<String>]
972
+ attr_accessor :unreachable
973
+
974
+ def initialize(**args)
975
+ update!(**args)
976
+ end
977
+
978
+ # Update properties of this object
979
+ def update!(**args)
980
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
981
+ @resources = args[:resources] if args.key?(:resources)
982
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
983
+ end
984
+ end
985
+
986
+ # The response message for Locations.ListLocations.
987
+ class ListLocationsResponse
988
+ include Google::Apis::Core::Hashable
989
+
990
+ # A list of locations that matches the specified filter in the request.
991
+ # Corresponds to the JSON property `locations`
992
+ # @return [Array<Google::Apis::MemcacheV1beta2::Location>]
993
+ attr_accessor :locations
994
+
995
+ # The standard List next-page token.
996
+ # Corresponds to the JSON property `nextPageToken`
997
+ # @return [String]
998
+ attr_accessor :next_page_token
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ @locations = args[:locations] if args.key?(:locations)
1007
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1008
+ end
1009
+ end
1010
+
1011
+ # The response message for Operations.ListOperations.
1012
+ class ListOperationsResponse
1013
+ include Google::Apis::Core::Hashable
1014
+
1015
+ # The standard List next-page token.
1016
+ # Corresponds to the JSON property `nextPageToken`
1017
+ # @return [String]
1018
+ attr_accessor :next_page_token
1019
+
1020
+ # A list of operations that matches the specified filter in the request.
1021
+ # Corresponds to the JSON property `operations`
1022
+ # @return [Array<Google::Apis::MemcacheV1beta2::Operation>]
1023
+ attr_accessor :operations
1024
+
1025
+ def initialize(**args)
1026
+ update!(**args)
1027
+ end
1028
+
1029
+ # Update properties of this object
1030
+ def update!(**args)
1031
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1032
+ @operations = args[:operations] if args.key?(:operations)
1033
+ end
1034
+ end
1035
+
1036
+ # A resource that represents Google Cloud Platform location.
1037
+ class Location
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # The friendly name for this location, typically a nearby city name.
1041
+ # For example, "Tokyo".
1042
+ # Corresponds to the JSON property `displayName`
1043
+ # @return [String]
1044
+ attr_accessor :display_name
1045
+
1046
+ # Cross-service attributes for the location. For example
1047
+ # `"cloud.googleapis.com/region": "us-east1"`
1048
+ # Corresponds to the JSON property `labels`
1049
+ # @return [Hash<String,String>]
1050
+ attr_accessor :labels
1051
+
1052
+ # The canonical id for this location. For example: `"us-east1"`.
1053
+ # Corresponds to the JSON property `locationId`
1054
+ # @return [String]
1055
+ attr_accessor :location_id
1056
+
1057
+ # Service-specific metadata. For example the available capacity at the given
1058
+ # location.
1059
+ # Corresponds to the JSON property `metadata`
1060
+ # @return [Hash<String,Object>]
1061
+ attr_accessor :metadata
1062
+
1063
+ # Resource name for the location, which may vary between implementations.
1064
+ # For example: `"projects/example-project/locations/us-east1"`
1065
+ # Corresponds to the JSON property `name`
1066
+ # @return [String]
1067
+ attr_accessor :name
1068
+
1069
+ def initialize(**args)
1070
+ update!(**args)
1071
+ end
1072
+
1073
+ # Update properties of this object
1074
+ def update!(**args)
1075
+ @display_name = args[:display_name] if args.key?(:display_name)
1076
+ @labels = args[:labels] if args.key?(:labels)
1077
+ @location_id = args[:location_id] if args.key?(:location_id)
1078
+ @metadata = args[:metadata] if args.key?(:metadata)
1079
+ @name = args[:name] if args.key?(:name)
1080
+ end
1081
+ end
1082
+
1083
+ #
1084
+ class MemcacheParameters
1085
+ include Google::Apis::Core::Hashable
1086
+
1087
+ # Output only. The unique ID associated with this set of parameters. Users
1088
+ # can use this id to determine if the parameters associated with the instance
1089
+ # differ from the parameters associated with the nodes and any action needs
1090
+ # to be taken to apply parameters on nodes.
1091
+ # Corresponds to the JSON property `id`
1092
+ # @return [String]
1093
+ attr_accessor :id
1094
+
1095
+ # User defined set of parameters to use in the memcached process.
1096
+ # Corresponds to the JSON property `params`
1097
+ # @return [Hash<String,String>]
1098
+ attr_accessor :params
1099
+
1100
+ def initialize(**args)
1101
+ update!(**args)
1102
+ end
1103
+
1104
+ # Update properties of this object
1105
+ def update!(**args)
1106
+ @id = args[:id] if args.key?(:id)
1107
+ @params = args[:params] if args.key?(:params)
1108
+ end
1109
+ end
1110
+
1111
+ #
1112
+ class Node
1113
+ include Google::Apis::Core::Hashable
1114
+
1115
+ # Output only. Hostname or IP address of the Memcached node used by the
1116
+ # clients to connect to the Memcached server on this node.
1117
+ # Corresponds to the JSON property `host`
1118
+ # @return [String]
1119
+ attr_accessor :host
1120
+
1121
+ # Output only. Identifier of the Memcached node. The node id does not
1122
+ # include project or location like the Memcached instance name.
1123
+ # Corresponds to the JSON property `nodeId`
1124
+ # @return [String]
1125
+ attr_accessor :node_id
1126
+
1127
+ # User defined parameters currently applied to the node.
1128
+ # Corresponds to the JSON property `parameters`
1129
+ # @return [Google::Apis::MemcacheV1beta2::MemcacheParameters]
1130
+ attr_accessor :parameters
1131
+
1132
+ # Output only. The port number of the Memcached server on this node.
1133
+ # Corresponds to the JSON property `port`
1134
+ # @return [Fixnum]
1135
+ attr_accessor :port
1136
+
1137
+ # Output only. Current state of the Memcached node.
1138
+ # Corresponds to the JSON property `state`
1139
+ # @return [String]
1140
+ attr_accessor :state
1141
+
1142
+ # Output only. Location (GCP Zone) for the Memcached node.
1143
+ # Corresponds to the JSON property `zone`
1144
+ # @return [String]
1145
+ attr_accessor :zone
1146
+
1147
+ def initialize(**args)
1148
+ update!(**args)
1149
+ end
1150
+
1151
+ # Update properties of this object
1152
+ def update!(**args)
1153
+ @host = args[:host] if args.key?(:host)
1154
+ @node_id = args[:node_id] if args.key?(:node_id)
1155
+ @parameters = args[:parameters] if args.key?(:parameters)
1156
+ @port = args[:port] if args.key?(:port)
1157
+ @state = args[:state] if args.key?(:state)
1158
+ @zone = args[:zone] if args.key?(:zone)
1159
+ end
1160
+ end
1161
+
1162
+ # Configuration for a Memcached Node.
1163
+ class NodeConfig
1164
+ include Google::Apis::Core::Hashable
1165
+
1166
+ # Required. Number of cpus per Memcached node.
1167
+ # Corresponds to the JSON property `cpuCount`
1168
+ # @return [Fixnum]
1169
+ attr_accessor :cpu_count
1170
+
1171
+ # Required. Memory size in MiB for each Memcached node.
1172
+ # Corresponds to the JSON property `memorySizeMb`
1173
+ # @return [Fixnum]
1174
+ attr_accessor :memory_size_mb
1175
+
1176
+ def initialize(**args)
1177
+ update!(**args)
1178
+ end
1179
+
1180
+ # Update properties of this object
1181
+ def update!(**args)
1182
+ @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
1183
+ @memory_size_mb = args[:memory_size_mb] if args.key?(:memory_size_mb)
1184
+ end
1185
+ end
1186
+
1187
+ # This resource represents a long-running operation that is the result of a
1188
+ # network API call.
1189
+ class Operation
1190
+ include Google::Apis::Core::Hashable
1191
+
1192
+ # If the value is `false`, it means the operation is still in progress.
1193
+ # If `true`, the operation is completed, and either `error` or `response` is
1194
+ # available.
1195
+ # Corresponds to the JSON property `done`
1196
+ # @return [Boolean]
1197
+ attr_accessor :done
1198
+ alias_method :done?, :done
1199
+
1200
+ # The `Status` type defines a logical error model that is suitable for
1201
+ # different programming environments, including REST APIs and RPC APIs. It is
1202
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1203
+ # three pieces of data: error code, error message, and error details.
1204
+ # You can find out more about this error model and how to work with it in the
1205
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1206
+ # Corresponds to the JSON property `error`
1207
+ # @return [Google::Apis::MemcacheV1beta2::Status]
1208
+ attr_accessor :error
1209
+
1210
+ # Service-specific metadata associated with the operation. It typically
1211
+ # contains progress information and common metadata such as create time.
1212
+ # Some services might not provide such metadata. Any method that returns a
1213
+ # long-running operation should document the metadata type, if any.
1214
+ # Corresponds to the JSON property `metadata`
1215
+ # @return [Hash<String,Object>]
1216
+ attr_accessor :metadata
1217
+
1218
+ # The server-assigned name, which is only unique within the same service that
1219
+ # originally returns it. If you use the default HTTP mapping, the
1220
+ # `name` should be a resource name ending with `operations/`unique_id``.
1221
+ # Corresponds to the JSON property `name`
1222
+ # @return [String]
1223
+ attr_accessor :name
1224
+
1225
+ # The normal response of the operation in case of success. If the original
1226
+ # method returns no data on success, such as `Delete`, the response is
1227
+ # `google.protobuf.Empty`. If the original method is standard
1228
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1229
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1230
+ # is the original method name. For example, if the original method name
1231
+ # is `TakeSnapshot()`, the inferred response type is
1232
+ # `TakeSnapshotResponse`.
1233
+ # Corresponds to the JSON property `response`
1234
+ # @return [Hash<String,Object>]
1235
+ attr_accessor :response
1236
+
1237
+ def initialize(**args)
1238
+ update!(**args)
1239
+ end
1240
+
1241
+ # Update properties of this object
1242
+ def update!(**args)
1243
+ @done = args[:done] if args.key?(:done)
1244
+ @error = args[:error] if args.key?(:error)
1245
+ @metadata = args[:metadata] if args.key?(:metadata)
1246
+ @name = args[:name] if args.key?(:name)
1247
+ @response = args[:response] if args.key?(:response)
1248
+ end
1249
+ end
1250
+
1251
+ # An Identity and Access Management (IAM) policy, which specifies access
1252
+ # controls for Google Cloud resources.
1253
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1254
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1255
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1256
+ # permissions; each `role` can be an IAM predefined role or a user-created
1257
+ # custom role.
1258
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1259
+ # expression that allows access to a resource only if the expression evaluates
1260
+ # to `true`. A condition can add constraints based on attributes of the
1261
+ # request, the resource, or both.
1262
+ # **JSON example:**
1263
+ # `
1264
+ # "bindings": [
1265
+ # `
1266
+ # "role": "roles/resourcemanager.organizationAdmin",
1267
+ # "members": [
1268
+ # "user:mike@example.com",
1269
+ # "group:admins@example.com",
1270
+ # "domain:google.com",
1271
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1272
+ # ]
1273
+ # `,
1274
+ # `
1275
+ # "role": "roles/resourcemanager.organizationViewer",
1276
+ # "members": ["user:eve@example.com"],
1277
+ # "condition": `
1278
+ # "title": "expirable access",
1279
+ # "description": "Does not grant access after Sep 2020",
1280
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1281
+ # ",
1282
+ # `
1283
+ # `
1284
+ # ],
1285
+ # "etag": "BwWWja0YfJA=",
1286
+ # "version": 3
1287
+ # `
1288
+ # **YAML example:**
1289
+ # bindings:
1290
+ # - members:
1291
+ # - user:mike@example.com
1292
+ # - group:admins@example.com
1293
+ # - domain:google.com
1294
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1295
+ # role: roles/resourcemanager.organizationAdmin
1296
+ # - members:
1297
+ # - user:eve@example.com
1298
+ # role: roles/resourcemanager.organizationViewer
1299
+ # condition:
1300
+ # title: expirable access
1301
+ # description: Does not grant access after Sep 2020
1302
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1303
+ # - etag: BwWWja0YfJA=
1304
+ # - version: 3
1305
+ # For a description of IAM and its features, see the
1306
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1307
+ class Policy
1308
+ include Google::Apis::Core::Hashable
1309
+
1310
+ # Specifies cloud audit logging configuration for this policy.
1311
+ # Corresponds to the JSON property `auditConfigs`
1312
+ # @return [Array<Google::Apis::MemcacheV1beta2::AuditConfig>]
1313
+ attr_accessor :audit_configs
1314
+
1315
+ # Associates a list of `members` to a `role`. Optionally, may specify a
1316
+ # `condition` that determines how and when the `bindings` are applied. Each
1317
+ # of the `bindings` must contain at least one member.
1318
+ # Corresponds to the JSON property `bindings`
1319
+ # @return [Array<Google::Apis::MemcacheV1beta2::Binding>]
1320
+ attr_accessor :bindings
1321
+
1322
+ # `etag` is used for optimistic concurrency control as a way to help
1323
+ # prevent simultaneous updates of a policy from overwriting each other.
1324
+ # It is strongly suggested that systems make use of the `etag` in the
1325
+ # read-modify-write cycle to perform policy updates in order to avoid race
1326
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1327
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1328
+ # ensure that their change will be applied to the same version of the policy.
1329
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1330
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1331
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1332
+ # the conditions in the version `3` policy are lost.
1333
+ # Corresponds to the JSON property `etag`
1334
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1335
+ # @return [String]
1336
+ attr_accessor :etag
1337
+
1338
+ # Specifies the format of the policy.
1339
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1340
+ # are rejected.
1341
+ # Any operation that affects conditional role bindings must specify version
1342
+ # `3`. This requirement applies to the following operations:
1343
+ # * Getting a policy that includes a conditional role binding
1344
+ # * Adding a conditional role binding to a policy
1345
+ # * Changing a conditional role binding in a policy
1346
+ # * Removing any role binding, with or without a condition, from a policy
1347
+ # that includes conditions
1348
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1349
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1350
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1351
+ # the conditions in the version `3` policy are lost.
1352
+ # If a policy does not include any conditions, operations on that policy may
1353
+ # specify any valid version or leave the field unset.
1354
+ # Corresponds to the JSON property `version`
1355
+ # @return [Fixnum]
1356
+ attr_accessor :version
1357
+
1358
+ def initialize(**args)
1359
+ update!(**args)
1360
+ end
1361
+
1362
+ # Update properties of this object
1363
+ def update!(**args)
1364
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1365
+ @bindings = args[:bindings] if args.key?(:bindings)
1366
+ @etag = args[:etag] if args.key?(:etag)
1367
+ @version = args[:version] if args.key?(:version)
1368
+ end
1369
+ end
1370
+
1371
+ # Request message for `SetIamPolicy` method.
1372
+ class SetIamPolicyRequest
1373
+ include Google::Apis::Core::Hashable
1374
+
1375
+ # An Identity and Access Management (IAM) policy, which specifies access
1376
+ # controls for Google Cloud resources.
1377
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1378
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1379
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1380
+ # permissions; each `role` can be an IAM predefined role or a user-created
1381
+ # custom role.
1382
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1383
+ # expression that allows access to a resource only if the expression evaluates
1384
+ # to `true`. A condition can add constraints based on attributes of the
1385
+ # request, the resource, or both.
1386
+ # **JSON example:**
1387
+ # `
1388
+ # "bindings": [
1389
+ # `
1390
+ # "role": "roles/resourcemanager.organizationAdmin",
1391
+ # "members": [
1392
+ # "user:mike@example.com",
1393
+ # "group:admins@example.com",
1394
+ # "domain:google.com",
1395
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1396
+ # ]
1397
+ # `,
1398
+ # `
1399
+ # "role": "roles/resourcemanager.organizationViewer",
1400
+ # "members": ["user:eve@example.com"],
1401
+ # "condition": `
1402
+ # "title": "expirable access",
1403
+ # "description": "Does not grant access after Sep 2020",
1404
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1405
+ # ",
1406
+ # `
1407
+ # `
1408
+ # ],
1409
+ # "etag": "BwWWja0YfJA=",
1410
+ # "version": 3
1411
+ # `
1412
+ # **YAML example:**
1413
+ # bindings:
1414
+ # - members:
1415
+ # - user:mike@example.com
1416
+ # - group:admins@example.com
1417
+ # - domain:google.com
1418
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1419
+ # role: roles/resourcemanager.organizationAdmin
1420
+ # - members:
1421
+ # - user:eve@example.com
1422
+ # role: roles/resourcemanager.organizationViewer
1423
+ # condition:
1424
+ # title: expirable access
1425
+ # description: Does not grant access after Sep 2020
1426
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1427
+ # - etag: BwWWja0YfJA=
1428
+ # - version: 3
1429
+ # For a description of IAM and its features, see the
1430
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1431
+ # Corresponds to the JSON property `policy`
1432
+ # @return [Google::Apis::MemcacheV1beta2::Policy]
1433
+ attr_accessor :policy
1434
+
1435
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1436
+ # the fields in the mask will be modified. If no mask is provided, the
1437
+ # following default mask is used:
1438
+ # paths: "bindings, etag"
1439
+ # This field is only used by Cloud IAM.
1440
+ # Corresponds to the JSON property `updateMask`
1441
+ # @return [String]
1442
+ attr_accessor :update_mask
1443
+
1444
+ def initialize(**args)
1445
+ update!(**args)
1446
+ end
1447
+
1448
+ # Update properties of this object
1449
+ def update!(**args)
1450
+ @policy = args[:policy] if args.key?(:policy)
1451
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1452
+ end
1453
+ end
1454
+
1455
+ # The `Status` type defines a logical error model that is suitable for
1456
+ # different programming environments, including REST APIs and RPC APIs. It is
1457
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1458
+ # three pieces of data: error code, error message, and error details.
1459
+ # You can find out more about this error model and how to work with it in the
1460
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1461
+ class Status
1462
+ include Google::Apis::Core::Hashable
1463
+
1464
+ # The status code, which should be an enum value of google.rpc.Code.
1465
+ # Corresponds to the JSON property `code`
1466
+ # @return [Fixnum]
1467
+ attr_accessor :code
1468
+
1469
+ # A list of messages that carry the error details. There is a common set of
1470
+ # message types for APIs to use.
1471
+ # Corresponds to the JSON property `details`
1472
+ # @return [Array<Hash<String,Object>>]
1473
+ attr_accessor :details
1474
+
1475
+ # A developer-facing error message, which should be in English. Any
1476
+ # user-facing error message should be localized and sent in the
1477
+ # google.rpc.Status.details field, or localized by the client.
1478
+ # Corresponds to the JSON property `message`
1479
+ # @return [String]
1480
+ attr_accessor :message
1481
+
1482
+ def initialize(**args)
1483
+ update!(**args)
1484
+ end
1485
+
1486
+ # Update properties of this object
1487
+ def update!(**args)
1488
+ @code = args[:code] if args.key?(:code)
1489
+ @details = args[:details] if args.key?(:details)
1490
+ @message = args[:message] if args.key?(:message)
1491
+ end
1492
+ end
1493
+
1494
+ # Request message for `TestIamPermissions` method.
1495
+ class TestIamPermissionsRequest
1496
+ include Google::Apis::Core::Hashable
1497
+
1498
+ # The set of permissions to check for the `resource`. Permissions with
1499
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1500
+ # information see
1501
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1502
+ # Corresponds to the JSON property `permissions`
1503
+ # @return [Array<String>]
1504
+ attr_accessor :permissions
1505
+
1506
+ def initialize(**args)
1507
+ update!(**args)
1508
+ end
1509
+
1510
+ # Update properties of this object
1511
+ def update!(**args)
1512
+ @permissions = args[:permissions] if args.key?(:permissions)
1513
+ end
1514
+ end
1515
+
1516
+ # Response message for `TestIamPermissions` method.
1517
+ class TestIamPermissionsResponse
1518
+ include Google::Apis::Core::Hashable
1519
+
1520
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1521
+ # allowed.
1522
+ # Corresponds to the JSON property `permissions`
1523
+ # @return [Array<String>]
1524
+ attr_accessor :permissions
1525
+
1526
+ def initialize(**args)
1527
+ update!(**args)
1528
+ end
1529
+
1530
+ # Update properties of this object
1531
+ def update!(**args)
1532
+ @permissions = args[:permissions] if args.key?(:permissions)
1533
+ end
1534
+ end
1535
+
1536
+ # Request for UpdateParameters.
1537
+ class UpdateParametersRequest
1538
+ include Google::Apis::Core::Hashable
1539
+
1540
+ # The parameters to apply to the instance.
1541
+ # Corresponds to the JSON property `parameters`
1542
+ # @return [Google::Apis::MemcacheV1beta2::MemcacheParameters]
1543
+ attr_accessor :parameters
1544
+
1545
+ # Required. Mask of fields to update.
1546
+ # Corresponds to the JSON property `updateMask`
1547
+ # @return [String]
1548
+ attr_accessor :update_mask
1549
+
1550
+ def initialize(**args)
1551
+ update!(**args)
1552
+ end
1553
+
1554
+ # Update properties of this object
1555
+ def update!(**args)
1556
+ @parameters = args[:parameters] if args.key?(:parameters)
1557
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1558
+ end
1559
+ end
1560
+
1561
+ #
1562
+ class ZoneMetadata
1563
+ include Google::Apis::Core::Hashable
1564
+
1565
+ def initialize(**args)
1566
+ update!(**args)
1567
+ end
1568
+
1569
+ # Update properties of this object
1570
+ def update!(**args)
1571
+ end
1572
+ end
1573
+ end
1574
+ end
1575
+ end