google-api-client 0.41.0 → 0.42.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 (299) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +149 -0
  3. data/bin/generate-api +1 -3
  4. data/generated/google/apis/accessapproval_v1/service.rb +3 -0
  5. data/generated/google/apis/accessapproval_v1.rb +1 -1
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +3 -0
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/admin_directory_v1/classes.rb +31 -0
  9. data/generated/google/apis/admin_directory_v1/representations.rb +16 -0
  10. data/generated/google/apis/admin_directory_v1/service.rb +3 -5
  11. data/generated/google/apis/admin_directory_v1.rb +1 -1
  12. data/generated/google/apis/admob_v1/service.rb +1 -1
  13. data/generated/google/apis/admob_v1.rb +1 -1
  14. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +32 -26
  15. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  16. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  17. data/generated/google/apis/androidpublisher_v3/classes.rb +78 -0
  18. data/generated/google/apis/androidpublisher_v3/representations.rb +44 -0
  19. data/generated/google/apis/androidpublisher_v3/service.rb +149 -1
  20. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  21. data/generated/google/apis/apigee_v1/classes.rb +1481 -107
  22. data/generated/google/apis/apigee_v1/representations.rb +559 -0
  23. data/generated/google/apis/apigee_v1/service.rb +1162 -117
  24. data/generated/google/apis/apigee_v1.rb +1 -1
  25. data/generated/google/apis/appsmarket_v2.rb +1 -1
  26. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  27. data/generated/google/apis/bigquery_v2/classes.rb +36 -6
  28. data/generated/google/apis/bigquery_v2/representations.rb +4 -0
  29. data/generated/google/apis/bigquery_v2.rb +1 -1
  30. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -6
  31. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  32. data/generated/google/apis/bigqueryreservation_v1/classes.rb +34 -0
  33. data/generated/google/apis/bigqueryreservation_v1/representations.rb +16 -0
  34. data/generated/google/apis/bigqueryreservation_v1/service.rb +60 -0
  35. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  36. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +8 -0
  37. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  38. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  39. data/generated/google/apis/bigtableadmin_v2/classes.rb +6 -6
  40. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  41. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +3 -3
  42. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  43. data/generated/google/apis/civicinfo_v2/classes.rb +21 -801
  44. data/generated/google/apis/civicinfo_v2/representations.rb +1 -295
  45. data/generated/google/apis/civicinfo_v2/service.rb +28 -63
  46. data/generated/google/apis/civicinfo_v2.rb +2 -2
  47. data/generated/google/apis/classroom_v1/service.rb +4 -3
  48. data/generated/google/apis/classroom_v1.rb +1 -1
  49. data/generated/google/apis/cloudasset_v1/classes.rb +391 -3
  50. data/generated/google/apis/cloudasset_v1/representations.rb +101 -0
  51. data/generated/google/apis/cloudasset_v1/service.rb +178 -0
  52. data/generated/google/apis/cloudasset_v1.rb +1 -1
  53. data/generated/google/apis/cloudbilling_v1/classes.rb +38 -6
  54. data/generated/google/apis/cloudbilling_v1/representations.rb +16 -0
  55. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  56. data/generated/google/apis/cloudbuild_v1/classes.rb +271 -11
  57. data/generated/google/apis/cloudbuild_v1/representations.rb +130 -4
  58. data/generated/google/apis/cloudbuild_v1/service.rb +0 -136
  59. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  60. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +284 -24
  61. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +135 -9
  62. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -47
  63. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  64. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +284 -24
  65. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +135 -9
  66. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +0 -47
  67. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  68. data/generated/google/apis/cloudfunctions_v1/classes.rb +20 -6
  69. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  70. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  71. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  72. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  73. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  74. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  75. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +7 -1
  76. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +1 -0
  77. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  78. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +2 -3
  79. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  80. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +2 -3
  81. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  82. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  83. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  84. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  85. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  86. data/generated/google/apis/composer_v1beta1/classes.rb +4 -3
  87. data/generated/google/apis/composer_v1beta1/service.rb +13 -0
  88. data/generated/google/apis/composer_v1beta1.rb +1 -1
  89. data/generated/google/apis/compute_alpha/classes.rb +99 -61
  90. data/generated/google/apis/compute_alpha/representations.rb +3 -0
  91. data/generated/google/apis/compute_alpha/service.rb +32 -33
  92. data/generated/google/apis/compute_alpha.rb +1 -1
  93. data/generated/google/apis/compute_beta/classes.rb +317 -60
  94. data/generated/google/apis/compute_beta/representations.rb +72 -0
  95. data/generated/google/apis/compute_beta/service.rb +308 -33
  96. data/generated/google/apis/compute_beta.rb +1 -1
  97. data/generated/google/apis/compute_v1/classes.rb +676 -58
  98. data/generated/google/apis/compute_v1/representations.rb +199 -0
  99. data/generated/google/apis/compute_v1/service.rb +522 -33
  100. data/generated/google/apis/compute_v1.rb +1 -1
  101. data/generated/google/apis/container_v1/classes.rb +123 -5
  102. data/generated/google/apis/container_v1/representations.rb +50 -0
  103. data/generated/google/apis/container_v1.rb +1 -1
  104. data/generated/google/apis/container_v1beta1/classes.rb +121 -17
  105. data/generated/google/apis/container_v1beta1/representations.rb +37 -0
  106. data/generated/google/apis/container_v1beta1.rb +1 -1
  107. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -1
  108. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  109. data/generated/google/apis/content_v2_1/classes.rb +172 -0
  110. data/generated/google/apis/content_v2_1/representations.rb +71 -0
  111. data/generated/google/apis/content_v2_1.rb +1 -1
  112. data/generated/google/apis/customsearch_v1/classes.rb +1606 -0
  113. data/generated/google/apis/customsearch_v1/representations.rb +372 -0
  114. data/generated/google/apis/customsearch_v1/service.rb +608 -0
  115. data/generated/google/apis/{androidpublisher_v1.rb → customsearch_v1.rb} +8 -8
  116. data/generated/google/apis/datacatalog_v1beta1/classes.rb +34 -10
  117. data/generated/google/apis/datacatalog_v1beta1/representations.rb +13 -0
  118. data/generated/google/apis/datacatalog_v1beta1/service.rb +37 -0
  119. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  120. data/generated/google/apis/dataflow_v1b3/classes.rb +19 -0
  121. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  122. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  123. data/generated/google/apis/dataproc_v1/classes.rb +6 -5
  124. data/generated/google/apis/dataproc_v1.rb +1 -1
  125. data/generated/google/apis/dataproc_v1beta2/classes.rb +35 -5
  126. data/generated/google/apis/dataproc_v1beta2/representations.rb +4 -0
  127. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  128. data/generated/google/apis/dialogflow_v2/classes.rb +268 -28
  129. data/generated/google/apis/dialogflow_v2/representations.rb +93 -0
  130. data/generated/google/apis/dialogflow_v2.rb +1 -1
  131. data/generated/google/apis/dialogflow_v2beta1/classes.rb +272 -30
  132. data/generated/google/apis/dialogflow_v2beta1/representations.rb +93 -0
  133. data/generated/google/apis/dialogflow_v2beta1/service.rb +50 -44
  134. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  135. data/generated/google/apis/displayvideo_v1/classes.rb +117 -10
  136. data/generated/google/apis/displayvideo_v1/representations.rb +11 -0
  137. data/generated/google/apis/displayvideo_v1/service.rb +78 -5
  138. data/generated/google/apis/displayvideo_v1.rb +1 -1
  139. data/generated/google/apis/dlp_v2.rb +1 -1
  140. data/generated/google/apis/dns_v1/classes.rb +313 -162
  141. data/generated/google/apis/dns_v1/service.rb +247 -180
  142. data/generated/google/apis/dns_v1.rb +4 -4
  143. data/generated/google/apis/dns_v1beta2/classes.rb +325 -171
  144. data/generated/google/apis/dns_v1beta2/service.rb +247 -180
  145. data/generated/google/apis/dns_v1beta2.rb +4 -4
  146. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  147. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  148. data/generated/google/apis/doubleclicksearch_v2/classes.rb +127 -111
  149. data/generated/google/apis/doubleclicksearch_v2/representations.rb +4 -6
  150. data/generated/google/apis/doubleclicksearch_v2/service.rb +47 -78
  151. data/generated/google/apis/doubleclicksearch_v2.rb +4 -4
  152. data/generated/google/apis/drive_v2/classes.rb +9 -0
  153. data/generated/google/apis/drive_v2/representations.rb +1 -0
  154. data/generated/google/apis/drive_v2.rb +1 -1
  155. data/generated/google/apis/drive_v3/classes.rb +9 -0
  156. data/generated/google/apis/drive_v3/representations.rb +1 -0
  157. data/generated/google/apis/drive_v3.rb +1 -1
  158. data/generated/google/apis/fcm_v1.rb +1 -1
  159. data/generated/google/apis/file_v1.rb +1 -1
  160. data/generated/google/apis/file_v1beta1.rb +1 -1
  161. data/generated/google/apis/firebasehosting_v1/classes.rb +186 -0
  162. data/generated/google/apis/{androidpublisher_v2 → firebasehosting_v1}/representations.rb +22 -32
  163. data/generated/google/apis/firebasehosting_v1/service.rb +183 -0
  164. data/generated/google/apis/{androidpublisher_v2.rb → firebasehosting_v1.rb} +11 -12
  165. data/generated/google/apis/firebasehosting_v1beta1/service.rb +2 -0
  166. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  167. data/generated/google/apis/games_v1/classes.rb +354 -2112
  168. data/generated/google/apis/games_v1/representations.rb +12 -647
  169. data/generated/google/apis/games_v1/service.rb +212 -1154
  170. data/generated/google/apis/games_v1.rb +6 -4
  171. data/generated/google/apis/gameservices_v1/classes.rb +2354 -0
  172. data/generated/google/apis/gameservices_v1/representations.rb +971 -0
  173. data/generated/google/apis/gameservices_v1/service.rb +1472 -0
  174. data/generated/google/apis/{groupsmigration_v1.rb → gameservices_v1.rb} +10 -11
  175. data/generated/google/apis/gameservices_v1beta/classes.rb +6 -6
  176. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  177. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +306 -0
  178. data/generated/google/apis/gmailpostmastertools_v1beta1/representations.rb +141 -0
  179. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +236 -0
  180. data/generated/google/apis/{androidpublisher_v1_1.rb → gmailpostmastertools_v1beta1.rb} +11 -12
  181. data/generated/google/apis/groupssettings_v1/classes.rb +1 -1
  182. data/generated/google/apis/groupssettings_v1.rb +1 -1
  183. data/generated/google/apis/healthcare_v1/classes.rb +6 -6
  184. data/generated/google/apis/healthcare_v1.rb +1 -1
  185. data/generated/google/apis/healthcare_v1beta1/classes.rb +6 -6
  186. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  187. data/generated/google/apis/logging_v2/classes.rb +69 -21
  188. data/generated/google/apis/logging_v2.rb +1 -1
  189. data/generated/google/apis/managedidentities_v1/classes.rb +54 -10
  190. data/generated/google/apis/managedidentities_v1/representations.rb +15 -0
  191. data/generated/google/apis/managedidentities_v1/service.rb +3 -0
  192. data/generated/google/apis/managedidentities_v1.rb +1 -1
  193. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +54 -10
  194. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +15 -0
  195. data/generated/google/apis/managedidentities_v1alpha1/service.rb +3 -0
  196. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  197. data/generated/google/apis/managedidentities_v1beta1/classes.rb +54 -10
  198. data/generated/google/apis/managedidentities_v1beta1/representations.rb +15 -0
  199. data/generated/google/apis/managedidentities_v1beta1/service.rb +3 -0
  200. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  201. data/generated/google/apis/ml_v1/classes.rb +14 -6
  202. data/generated/google/apis/ml_v1/representations.rb +1 -0
  203. data/generated/google/apis/ml_v1.rb +1 -1
  204. data/generated/google/apis/monitoring_v3/classes.rb +12 -4
  205. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  206. data/generated/google/apis/monitoring_v3/service.rb +8 -5
  207. data/generated/google/apis/monitoring_v3.rb +1 -1
  208. data/generated/google/apis/people_v1.rb +4 -1
  209. data/generated/google/apis/playablelocations_v3/classes.rb +633 -0
  210. data/generated/google/apis/playablelocations_v3/representations.rb +273 -0
  211. data/generated/google/apis/playablelocations_v3/service.rb +157 -0
  212. data/generated/google/apis/{androidpublisher_v1/classes.rb → playablelocations_v3.rb} +11 -6
  213. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +92 -0
  214. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +46 -0
  215. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +477 -0
  216. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  217. data/generated/google/apis/pubsub_v1/classes.rb +28 -30
  218. data/generated/google/apis/pubsub_v1/service.rb +35 -44
  219. data/generated/google/apis/pubsub_v1.rb +1 -1
  220. data/generated/google/apis/realtimebidding_v1/classes.rb +1436 -0
  221. data/generated/google/apis/realtimebidding_v1/representations.rb +565 -0
  222. data/generated/google/apis/realtimebidding_v1/service.rb +661 -0
  223. data/generated/google/apis/realtimebidding_v1.rb +40 -0
  224. data/generated/google/apis/recommender_v1/classes.rb +211 -0
  225. data/generated/google/apis/recommender_v1/representations.rb +96 -0
  226. data/generated/google/apis/recommender_v1/service.rb +123 -0
  227. data/generated/google/apis/recommender_v1.rb +1 -1
  228. data/generated/google/apis/redis_v1/classes.rb +1 -1
  229. data/generated/google/apis/redis_v1/service.rb +1 -1
  230. data/generated/google/apis/redis_v1.rb +1 -1
  231. data/generated/google/apis/redis_v1beta1/classes.rb +1 -1
  232. data/generated/google/apis/redis_v1beta1/service.rb +1 -1
  233. data/generated/google/apis/redis_v1beta1.rb +1 -1
  234. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  235. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  236. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  237. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  238. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  239. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  240. data/generated/google/apis/run_v1/classes.rb +1 -3
  241. data/generated/google/apis/run_v1.rb +1 -1
  242. data/generated/google/apis/run_v1alpha1.rb +1 -1
  243. data/generated/google/apis/run_v1beta1.rb +1 -1
  244. data/generated/google/apis/sasportal_v1alpha1/classes.rb +92 -0
  245. data/generated/google/apis/sasportal_v1alpha1/representations.rb +46 -0
  246. data/generated/google/apis/sasportal_v1alpha1/service.rb +477 -0
  247. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  248. data/generated/google/apis/secretmanager_v1.rb +1 -1
  249. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  250. data/generated/google/apis/securitycenter_v1/service.rb +4 -5
  251. data/generated/google/apis/securitycenter_v1.rb +1 -1
  252. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +2 -5
  253. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  254. data/generated/google/apis/servicecontrol_v1/classes.rb +6 -0
  255. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  256. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  257. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -0
  258. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  259. data/generated/google/apis/sheets_v4/classes.rb +90 -0
  260. data/generated/google/apis/sheets_v4.rb +1 -1
  261. data/generated/google/apis/spanner_v1/classes.rb +25 -20
  262. data/generated/google/apis/spanner_v1/service.rb +7 -0
  263. data/generated/google/apis/spanner_v1.rb +1 -1
  264. data/generated/google/apis/speech_v1.rb +1 -1
  265. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  266. data/generated/google/apis/storage_v1/service.rb +2 -3
  267. data/generated/google/apis/storage_v1.rb +1 -1
  268. data/generated/google/apis/testing_v1/classes.rb +17 -6
  269. data/generated/google/apis/testing_v1/representations.rb +1 -0
  270. data/generated/google/apis/testing_v1.rb +1 -1
  271. data/generated/google/apis/texttospeech_v1.rb +1 -1
  272. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  273. data/generated/google/apis/vectortile_v1/classes.rb +881 -0
  274. data/generated/google/apis/vectortile_v1/representations.rb +329 -0
  275. data/generated/google/apis/vectortile_v1/service.rb +268 -0
  276. data/generated/google/apis/{androidpublisher_v1/representations.rb → vectortile_v1.rb} +11 -6
  277. data/generated/google/apis/webfonts_v1/classes.rb +4 -3
  278. data/generated/google/apis/webfonts_v1/representations.rb +1 -2
  279. data/generated/google/apis/webfonts_v1/service.rb +14 -21
  280. data/generated/google/apis/webfonts_v1.rb +5 -5
  281. data/generated/google/apis/youtube_partner_v1/classes.rb +1616 -1076
  282. data/generated/google/apis/youtube_partner_v1/representations.rb +357 -256
  283. data/generated/google/apis/youtube_partner_v1/service.rb +942 -1362
  284. data/generated/google/apis/youtube_partner_v1.rb +4 -3
  285. data/generated/google/apis/youtube_v3/classes.rb +554 -0
  286. data/generated/google/apis/youtube_v3/representations.rb +281 -0
  287. data/generated/google/apis/youtube_v3/service.rb +259 -0
  288. data/generated/google/apis/youtube_v3.rb +1 -1
  289. data/lib/google/apis/version.rb +1 -1
  290. metadata +31 -19
  291. data/generated/google/apis/androidpublisher_v1/service.rb +0 -64
  292. data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -94
  293. data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -45
  294. data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -104
  295. data/generated/google/apis/androidpublisher_v2/classes.rb +0 -223
  296. data/generated/google/apis/androidpublisher_v2/service.rb +0 -160
  297. data/generated/google/apis/groupsmigration_v1/classes.rb +0 -51
  298. data/generated/google/apis/groupsmigration_v1/representations.rb +0 -40
  299. data/generated/google/apis/groupsmigration_v1/service.rb +0 -100
@@ -676,20 +676,14 @@ module Google
676
676
  end
677
677
  end
678
678
 
679
- # Container message for hash values.
680
- class HashProp
679
+ # HTTPDelivery is the delivery configuration for an HTTP notification.
680
+ class HttpDelivery
681
681
  include Google::Apis::Core::Hashable
682
682
 
683
- # The type of hash that was performed.
684
- # Corresponds to the JSON property `type`
683
+ # The URI to which JSON-containing HTTP POST requests should be sent.
684
+ # Corresponds to the JSON property `uri`
685
685
  # @return [String]
686
- attr_accessor :type
687
-
688
- # The hash value.
689
- # Corresponds to the JSON property `value`
690
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
691
- # @return [String]
692
- attr_accessor :value
686
+ attr_accessor :uri
693
687
 
694
688
  def initialize(**args)
695
689
  update!(**args)
@@ -697,24 +691,24 @@ module Google
697
691
 
698
692
  # Update properties of this object
699
693
  def update!(**args)
700
- @type = args[:type] if args.key?(:type)
701
- @value = args[:value] if args.key?(:value)
694
+ @uri = args[:uri] if args.key?(:uri)
702
695
  end
703
696
  end
704
697
 
705
- # The response message for Operations.ListOperations.
706
- class ListOperationsResponse
698
+ # Container message for hash values.
699
+ class HashProp
707
700
  include Google::Apis::Core::Hashable
708
701
 
709
- # The standard List next-page token.
710
- # Corresponds to the JSON property `nextPageToken`
702
+ # The type of hash that was performed.
703
+ # Corresponds to the JSON property `type`
711
704
  # @return [String]
712
- attr_accessor :next_page_token
705
+ attr_accessor :type
713
706
 
714
- # A list of operations that matches the specified filter in the request.
715
- # Corresponds to the JSON property `operations`
716
- # @return [Array<Google::Apis::CloudbuildV1alpha1::Operation>]
717
- attr_accessor :operations
707
+ # The hash value.
708
+ # Corresponds to the JSON property `value`
709
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
710
+ # @return [String]
711
+ attr_accessor :value
718
712
 
719
713
  def initialize(**args)
720
714
  update!(**args)
@@ -722,8 +716,8 @@ module Google
722
716
 
723
717
  # Update properties of this object
724
718
  def update!(**args)
725
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
726
- @operations = args[:operations] if args.key?(:operations)
719
+ @type = args[:type] if args.key?(:type)
720
+ @value = args[:value] if args.key?(:value)
727
721
  end
728
722
  end
729
723
 
@@ -783,6 +777,198 @@ module Google
783
777
  end
784
778
  end
785
779
 
780
+ # Notification is the container which holds the data that is relevant to this
781
+ # particular notification.
782
+ class Notification
783
+ include Google::Apis::Core::Hashable
784
+
785
+ # The filter string to use for notification filtering.
786
+ # Currently, this is assumed to be a CEL program.
787
+ # See https://opensource.google/projects/cel for more.
788
+ # Corresponds to the JSON property `filter`
789
+ # @return [String]
790
+ attr_accessor :filter
791
+
792
+ # HTTPDelivery is the delivery configuration for an HTTP notification.
793
+ # Corresponds to the JSON property `httpDelivery`
794
+ # @return [Google::Apis::CloudbuildV1alpha1::HttpDelivery]
795
+ attr_accessor :http_delivery
796
+
797
+ # SlackDelivery is the delivery configuration for delivering Slack messages via
798
+ # webhooks. See Slack webhook documentation at:
799
+ # https://api.slack.com/messaging/webhooks.
800
+ # Corresponds to the JSON property `slackDelivery`
801
+ # @return [Google::Apis::CloudbuildV1alpha1::SlackDelivery]
802
+ attr_accessor :slack_delivery
803
+
804
+ # SMTPDelivery is the delivery configuration for an SMTP (email) notification.
805
+ # Corresponds to the JSON property `smtpDelivery`
806
+ # @return [Google::Apis::CloudbuildV1alpha1::SmtpDelivery]
807
+ attr_accessor :smtp_delivery
808
+
809
+ # Escape hatch for users to supply custom delivery configs.
810
+ # Corresponds to the JSON property `structDelivery`
811
+ # @return [Hash<String,Object>]
812
+ attr_accessor :struct_delivery
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @filter = args[:filter] if args.key?(:filter)
821
+ @http_delivery = args[:http_delivery] if args.key?(:http_delivery)
822
+ @slack_delivery = args[:slack_delivery] if args.key?(:slack_delivery)
823
+ @smtp_delivery = args[:smtp_delivery] if args.key?(:smtp_delivery)
824
+ @struct_delivery = args[:struct_delivery] if args.key?(:struct_delivery)
825
+ end
826
+ end
827
+
828
+ # NotifierConfig is the top-level configuration message.
829
+ class NotifierConfig
830
+ include Google::Apis::Core::Hashable
831
+
832
+ # The API version of this configuration format.
833
+ # Corresponds to the JSON property `apiVersion`
834
+ # @return [String]
835
+ attr_accessor :api_version
836
+
837
+ # The type of notifier to use (e.g. SMTPNotifier).
838
+ # Corresponds to the JSON property `kind`
839
+ # @return [String]
840
+ attr_accessor :kind
841
+
842
+ # NotifierMetadata contains the data which can be used to reference or describe
843
+ # this notifier.
844
+ # Corresponds to the JSON property `metadata`
845
+ # @return [Google::Apis::CloudbuildV1alpha1::NotifierMetadata]
846
+ attr_accessor :metadata
847
+
848
+ # NotifierSpec is the configuration container for notifications.
849
+ # Corresponds to the JSON property `spec`
850
+ # @return [Google::Apis::CloudbuildV1alpha1::NotifierSpec]
851
+ attr_accessor :spec
852
+
853
+ def initialize(**args)
854
+ update!(**args)
855
+ end
856
+
857
+ # Update properties of this object
858
+ def update!(**args)
859
+ @api_version = args[:api_version] if args.key?(:api_version)
860
+ @kind = args[:kind] if args.key?(:kind)
861
+ @metadata = args[:metadata] if args.key?(:metadata)
862
+ @spec = args[:spec] if args.key?(:spec)
863
+ end
864
+ end
865
+
866
+ # NotifierMetadata contains the data which can be used to reference or describe
867
+ # this notifier.
868
+ class NotifierMetadata
869
+ include Google::Apis::Core::Hashable
870
+
871
+ # The human-readable and user-given name for the notifier.
872
+ # For example: "repo-merge-email-notifier".
873
+ # Corresponds to the JSON property `name`
874
+ # @return [String]
875
+ attr_accessor :name
876
+
877
+ # The string representing the name and version of notifier to deploy.
878
+ # Expected to be of the form of "<registry-path>/<name>:<version>".
879
+ # For example: "gcr.io/my-project/notifiers/smtp:1.2.34".
880
+ # Corresponds to the JSON property `notifier`
881
+ # @return [String]
882
+ attr_accessor :notifier
883
+
884
+ def initialize(**args)
885
+ update!(**args)
886
+ end
887
+
888
+ # Update properties of this object
889
+ def update!(**args)
890
+ @name = args[:name] if args.key?(:name)
891
+ @notifier = args[:notifier] if args.key?(:notifier)
892
+ end
893
+ end
894
+
895
+ # NotifierSecret is the container that maps a secret name (reference) to its
896
+ # Google Cloud Secret Manager resource path.
897
+ class NotifierSecret
898
+ include Google::Apis::Core::Hashable
899
+
900
+ # Name is the local name of the secret, such as the verbatim string
901
+ # "my-smtp-password".
902
+ # Corresponds to the JSON property `name`
903
+ # @return [String]
904
+ attr_accessor :name
905
+
906
+ # Value is interpreted to be a resource path for fetching the actual
907
+ # (versioned) secret data for this secret. For example, this would be a
908
+ # Google Cloud Secret Manager secret version resource path like:
909
+ # "projects/my-project/secrets/my-secret/versions/latest".
910
+ # Corresponds to the JSON property `value`
911
+ # @return [String]
912
+ attr_accessor :value
913
+
914
+ def initialize(**args)
915
+ update!(**args)
916
+ end
917
+
918
+ # Update properties of this object
919
+ def update!(**args)
920
+ @name = args[:name] if args.key?(:name)
921
+ @value = args[:value] if args.key?(:value)
922
+ end
923
+ end
924
+
925
+ # NotifierSecretRef contains the reference to a secret stored in the
926
+ # corresponding NotifierSpec.
927
+ class NotifierSecretRef
928
+ include Google::Apis::Core::Hashable
929
+
930
+ # The value of `secret_ref` should be a `name` that is registered in a
931
+ # `Secret` in the `secrets` list of the `Spec`.
932
+ # Corresponds to the JSON property `secretRef`
933
+ # @return [String]
934
+ attr_accessor :secret_ref
935
+
936
+ def initialize(**args)
937
+ update!(**args)
938
+ end
939
+
940
+ # Update properties of this object
941
+ def update!(**args)
942
+ @secret_ref = args[:secret_ref] if args.key?(:secret_ref)
943
+ end
944
+ end
945
+
946
+ # NotifierSpec is the configuration container for notifications.
947
+ class NotifierSpec
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # Notification is the container which holds the data that is relevant to this
951
+ # particular notification.
952
+ # Corresponds to the JSON property `notification`
953
+ # @return [Google::Apis::CloudbuildV1alpha1::Notification]
954
+ attr_accessor :notification
955
+
956
+ # Configurations for secret resources used by this particular notifier.
957
+ # Corresponds to the JSON property `secrets`
958
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::NotifierSecret>]
959
+ attr_accessor :secrets
960
+
961
+ def initialize(**args)
962
+ update!(**args)
963
+ end
964
+
965
+ # Update properties of this object
966
+ def update!(**args)
967
+ @notification = args[:notification] if args.key?(:notification)
968
+ @secrets = args[:secrets] if args.key?(:secrets)
969
+ end
970
+ end
971
+
786
972
  # This resource represents a long-running operation that is the result of a
787
973
  # network API call.
788
974
  class Operation
@@ -972,6 +1158,58 @@ module Google
972
1158
  end
973
1159
  end
974
1160
 
1161
+ # SMTPDelivery is the delivery configuration for an SMTP (email) notification.
1162
+ class SmtpDelivery
1163
+ include Google::Apis::Core::Hashable
1164
+
1165
+ # This is the SMTP account/email that appears in the `From:` of the email.
1166
+ # If empty, it is assumed to be sender.
1167
+ # Corresponds to the JSON property `fromAddress`
1168
+ # @return [String]
1169
+ attr_accessor :from_address
1170
+
1171
+ # NotifierSecretRef contains the reference to a secret stored in the
1172
+ # corresponding NotifierSpec.
1173
+ # Corresponds to the JSON property `password`
1174
+ # @return [Google::Apis::CloudbuildV1alpha1::NotifierSecretRef]
1175
+ attr_accessor :password
1176
+
1177
+ # The SMTP port of the server.
1178
+ # Corresponds to the JSON property `port`
1179
+ # @return [String]
1180
+ attr_accessor :port
1181
+
1182
+ # This is the list of addresses to which we send the email (i.e. in the `To:`
1183
+ # of the email).
1184
+ # Corresponds to the JSON property `recipientAddresses`
1185
+ # @return [Array<String>]
1186
+ attr_accessor :recipient_addresses
1187
+
1188
+ # This is the SMTP account/email that is used to send the message.
1189
+ # Corresponds to the JSON property `senderAddress`
1190
+ # @return [String]
1191
+ attr_accessor :sender_address
1192
+
1193
+ # The address of the SMTP server.
1194
+ # Corresponds to the JSON property `server`
1195
+ # @return [String]
1196
+ attr_accessor :server
1197
+
1198
+ def initialize(**args)
1199
+ update!(**args)
1200
+ end
1201
+
1202
+ # Update properties of this object
1203
+ def update!(**args)
1204
+ @from_address = args[:from_address] if args.key?(:from_address)
1205
+ @password = args[:password] if args.key?(:password)
1206
+ @port = args[:port] if args.key?(:port)
1207
+ @recipient_addresses = args[:recipient_addresses] if args.key?(:recipient_addresses)
1208
+ @sender_address = args[:sender_address] if args.key?(:sender_address)
1209
+ @server = args[:server] if args.key?(:server)
1210
+ end
1211
+ end
1212
+
975
1213
  # Pairs a set of secret environment variables containing encrypted
976
1214
  # values with the Cloud KMS key to use to decrypt the value.
977
1215
  class Secret
@@ -1002,6 +1240,28 @@ module Google
1002
1240
  end
1003
1241
  end
1004
1242
 
1243
+ # SlackDelivery is the delivery configuration for delivering Slack messages via
1244
+ # webhooks. See Slack webhook documentation at:
1245
+ # https://api.slack.com/messaging/webhooks.
1246
+ class SlackDelivery
1247
+ include Google::Apis::Core::Hashable
1248
+
1249
+ # NotifierSecretRef contains the reference to a secret stored in the
1250
+ # corresponding NotifierSpec.
1251
+ # Corresponds to the JSON property `webhookUri`
1252
+ # @return [Google::Apis::CloudbuildV1alpha1::NotifierSecretRef]
1253
+ attr_accessor :webhook_uri
1254
+
1255
+ def initialize(**args)
1256
+ update!(**args)
1257
+ end
1258
+
1259
+ # Update properties of this object
1260
+ def update!(**args)
1261
+ @webhook_uri = args[:webhook_uri] if args.key?(:webhook_uri)
1262
+ end
1263
+ end
1264
+
1005
1265
  # Location of the source in a supported storage service.
1006
1266
  class Source
1007
1267
  include Google::Apis::Core::Hashable
@@ -88,13 +88,13 @@ module Google
88
88
  include Google::Apis::Core::JsonObjectSupport
89
89
  end
90
90
 
91
- class HashProp
91
+ class HttpDelivery
92
92
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
93
 
94
94
  include Google::Apis::Core::JsonObjectSupport
95
95
  end
96
96
 
97
- class ListOperationsResponse
97
+ class HashProp
98
98
  class Representation < Google::Apis::Core::JsonRepresentation; end
99
99
 
100
100
  include Google::Apis::Core::JsonObjectSupport
@@ -112,6 +112,42 @@ module Google
112
112
  include Google::Apis::Core::JsonObjectSupport
113
113
  end
114
114
 
115
+ class Notification
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class NotifierConfig
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class NotifierMetadata
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class NotifierSecret
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class NotifierSecretRef
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class NotifierSpec
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
115
151
  class Operation
116
152
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
153
 
@@ -130,12 +166,24 @@ module Google
130
166
  include Google::Apis::Core::JsonObjectSupport
131
167
  end
132
168
 
169
+ class SmtpDelivery
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
133
175
  class Secret
134
176
  class Representation < Google::Apis::Core::JsonRepresentation; end
135
177
 
136
178
  include Google::Apis::Core::JsonObjectSupport
137
179
  end
138
180
 
181
+ class SlackDelivery
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
139
187
  class Source
140
188
  class Representation < Google::Apis::Core::JsonRepresentation; end
141
189
 
@@ -328,20 +376,18 @@ module Google
328
376
  end
329
377
  end
330
378
 
331
- class HashProp
379
+ class HttpDelivery
332
380
  # @private
333
381
  class Representation < Google::Apis::Core::JsonRepresentation
334
- property :type, as: 'type'
335
- property :value, :base64 => true, as: 'value'
382
+ property :uri, as: 'uri'
336
383
  end
337
384
  end
338
385
 
339
- class ListOperationsResponse
386
+ class HashProp
340
387
  # @private
341
388
  class Representation < Google::Apis::Core::JsonRepresentation
342
- property :next_page_token, as: 'nextPageToken'
343
- collection :operations, as: 'operations', class: Google::Apis::CloudbuildV1alpha1::Operation, decorator: Google::Apis::CloudbuildV1alpha1::Operation::Representation
344
-
389
+ property :type, as: 'type'
390
+ property :value, :base64 => true, as: 'value'
345
391
  end
346
392
  end
347
393
 
@@ -362,6 +408,65 @@ module Google
362
408
  end
363
409
  end
364
410
 
411
+ class Notification
412
+ # @private
413
+ class Representation < Google::Apis::Core::JsonRepresentation
414
+ property :filter, as: 'filter'
415
+ property :http_delivery, as: 'httpDelivery', class: Google::Apis::CloudbuildV1alpha1::HttpDelivery, decorator: Google::Apis::CloudbuildV1alpha1::HttpDelivery::Representation
416
+
417
+ property :slack_delivery, as: 'slackDelivery', class: Google::Apis::CloudbuildV1alpha1::SlackDelivery, decorator: Google::Apis::CloudbuildV1alpha1::SlackDelivery::Representation
418
+
419
+ property :smtp_delivery, as: 'smtpDelivery', class: Google::Apis::CloudbuildV1alpha1::SmtpDelivery, decorator: Google::Apis::CloudbuildV1alpha1::SmtpDelivery::Representation
420
+
421
+ hash :struct_delivery, as: 'structDelivery'
422
+ end
423
+ end
424
+
425
+ class NotifierConfig
426
+ # @private
427
+ class Representation < Google::Apis::Core::JsonRepresentation
428
+ property :api_version, as: 'apiVersion'
429
+ property :kind, as: 'kind'
430
+ property :metadata, as: 'metadata', class: Google::Apis::CloudbuildV1alpha1::NotifierMetadata, decorator: Google::Apis::CloudbuildV1alpha1::NotifierMetadata::Representation
431
+
432
+ property :spec, as: 'spec', class: Google::Apis::CloudbuildV1alpha1::NotifierSpec, decorator: Google::Apis::CloudbuildV1alpha1::NotifierSpec::Representation
433
+
434
+ end
435
+ end
436
+
437
+ class NotifierMetadata
438
+ # @private
439
+ class Representation < Google::Apis::Core::JsonRepresentation
440
+ property :name, as: 'name'
441
+ property :notifier, as: 'notifier'
442
+ end
443
+ end
444
+
445
+ class NotifierSecret
446
+ # @private
447
+ class Representation < Google::Apis::Core::JsonRepresentation
448
+ property :name, as: 'name'
449
+ property :value, as: 'value'
450
+ end
451
+ end
452
+
453
+ class NotifierSecretRef
454
+ # @private
455
+ class Representation < Google::Apis::Core::JsonRepresentation
456
+ property :secret_ref, as: 'secretRef'
457
+ end
458
+ end
459
+
460
+ class NotifierSpec
461
+ # @private
462
+ class Representation < Google::Apis::Core::JsonRepresentation
463
+ property :notification, as: 'notification', class: Google::Apis::CloudbuildV1alpha1::Notification, decorator: Google::Apis::CloudbuildV1alpha1::Notification::Representation
464
+
465
+ collection :secrets, as: 'secrets', class: Google::Apis::CloudbuildV1alpha1::NotifierSecret, decorator: Google::Apis::CloudbuildV1alpha1::NotifierSecret::Representation
466
+
467
+ end
468
+ end
469
+
365
470
  class Operation
366
471
  # @private
367
472
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -402,6 +507,19 @@ module Google
402
507
  end
403
508
  end
404
509
 
510
+ class SmtpDelivery
511
+ # @private
512
+ class Representation < Google::Apis::Core::JsonRepresentation
513
+ property :from_address, as: 'fromAddress'
514
+ property :password, as: 'password', class: Google::Apis::CloudbuildV1alpha1::NotifierSecretRef, decorator: Google::Apis::CloudbuildV1alpha1::NotifierSecretRef::Representation
515
+
516
+ property :port, as: 'port'
517
+ collection :recipient_addresses, as: 'recipientAddresses'
518
+ property :sender_address, as: 'senderAddress'
519
+ property :server, as: 'server'
520
+ end
521
+ end
522
+
405
523
  class Secret
406
524
  # @private
407
525
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -410,6 +528,14 @@ module Google
410
528
  end
411
529
  end
412
530
 
531
+ class SlackDelivery
532
+ # @private
533
+ class Representation < Google::Apis::Core::JsonRepresentation
534
+ property :webhook_uri, as: 'webhookUri', class: Google::Apis::CloudbuildV1alpha1::NotifierSecretRef, decorator: Google::Apis::CloudbuildV1alpha1::NotifierSecretRef::Representation
535
+
536
+ end
537
+ end
538
+
413
539
  class Source
414
540
  # @private
415
541
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -121,53 +121,6 @@ module Google
121
121
  execute_or_queue_command(command, &block)
122
122
  end
123
123
 
124
- # Lists operations that match the specified filter in the request. If the
125
- # server doesn't support this method, it returns `UNIMPLEMENTED`.
126
- # NOTE: the `name` binding allows API services to override the binding
127
- # to use different resource name schemes, such as `users/*/operations`. To
128
- # override the binding, API services can add a binding such as
129
- # `"/v1/`name=users/*`/operations"` to their service configuration.
130
- # For backwards compatibility, the default name includes the operations
131
- # collection id, however overriding users must ensure the name binding
132
- # is the parent resource, without the operations collection id.
133
- # @param [String] name
134
- # The name of the operation's parent resource.
135
- # @param [String] filter
136
- # The standard list filter.
137
- # @param [Fixnum] page_size
138
- # The standard list page size.
139
- # @param [String] page_token
140
- # The standard list page token.
141
- # @param [String] fields
142
- # Selector specifying which fields to include in a partial response.
143
- # @param [String] quota_user
144
- # Available to use for quota purposes for server-side applications. Can be any
145
- # arbitrary string assigned to a user, but should not exceed 40 characters.
146
- # @param [Google::Apis::RequestOptions] options
147
- # Request-specific options
148
- #
149
- # @yield [result, err] Result & error if block supplied
150
- # @yieldparam result [Google::Apis::CloudbuildV1alpha1::ListOperationsResponse] parsed result object
151
- # @yieldparam err [StandardError] error object if request failed
152
- #
153
- # @return [Google::Apis::CloudbuildV1alpha1::ListOperationsResponse]
154
- #
155
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
156
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
157
- # @raise [Google::Apis::AuthorizationError] Authorization is required
158
- def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
159
- command = make_simple_command(:get, 'v1alpha1/{+name}/operations', options)
160
- command.response_representation = Google::Apis::CloudbuildV1alpha1::ListOperationsResponse::Representation
161
- command.response_class = Google::Apis::CloudbuildV1alpha1::ListOperationsResponse
162
- command.params['name'] = name unless name.nil?
163
- command.query['filter'] = filter unless filter.nil?
164
- command.query['pageSize'] = page_size unless page_size.nil?
165
- command.query['pageToken'] = page_token unless page_token.nil?
166
- command.query['fields'] = fields unless fields.nil?
167
- command.query['quotaUser'] = quota_user unless quota_user.nil?
168
- execute_or_queue_command(command, &block)
169
- end
170
-
171
124
  # Creates a `WorkerPool` to run the builds, and returns the new worker pool.
172
125
  # @param [String] parent
173
126
  # ID of the parent project.
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/cloud-build/docs/
26
26
  module CloudbuildV1alpha1
27
27
  VERSION = 'V1alpha1'
28
- REVISION = '20200606'
28
+ REVISION = '20200626'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'