google-api-client 0.19.8 → 0.20.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 (355) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -4
  3. data/CHANGELOG.md +106 -0
  4. data/MIGRATING.md +3 -3
  5. data/README.md +6 -9
  6. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1 -7
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +0 -1
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +2 -8
  10. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +84 -9
  12. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +33 -0
  13. data/generated/google/apis/admin_directory_v1.rb +1 -1
  14. data/generated/google/apis/admin_directory_v1/classes.rb +11 -10
  15. data/generated/google/apis/admin_directory_v1/service.rb +21 -7
  16. data/generated/google/apis/analytics_v3.rb +1 -1
  17. data/generated/google/apis/analytics_v3/service.rb +1 -1
  18. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  19. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +52 -35
  20. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +33 -20
  21. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  22. data/generated/google/apis/androidenterprise_v1/classes.rb +44 -0
  23. data/generated/google/apis/androidenterprise_v1/representations.rb +17 -0
  24. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  25. data/generated/google/apis/androidmanagement_v1/classes.rb +66 -0
  26. data/generated/google/apis/androidmanagement_v1/representations.rb +10 -0
  27. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  28. data/generated/google/apis/androidpublisher_v2/classes.rb +37 -72
  29. data/generated/google/apis/androidpublisher_v2/representations.rb +5 -34
  30. data/generated/google/apis/androidpublisher_v2/service.rb +6 -52
  31. data/generated/google/apis/appengine_v1.rb +2 -2
  32. data/generated/google/apis/appengine_v1/classes.rb +82 -7
  33. data/generated/google/apis/appengine_v1/representations.rb +32 -0
  34. data/generated/google/apis/appengine_v1/service.rb +2 -2
  35. data/generated/google/apis/appengine_v1alpha.rb +2 -2
  36. data/generated/google/apis/appengine_v1alpha/classes.rb +35 -0
  37. data/generated/google/apis/appengine_v1alpha/representations.rb +16 -0
  38. data/generated/google/apis/appengine_v1alpha/service.rb +2 -2
  39. data/generated/google/apis/appengine_v1beta.rb +2 -2
  40. data/generated/google/apis/appengine_v1beta/classes.rb +51 -7
  41. data/generated/google/apis/appengine_v1beta/representations.rb +17 -0
  42. data/generated/google/apis/appengine_v1beta/service.rb +2 -2
  43. data/generated/google/apis/appengine_v1beta4.rb +2 -2
  44. data/generated/google/apis/appengine_v1beta4/classes.rb +50 -6
  45. data/generated/google/apis/appengine_v1beta4/representations.rb +17 -0
  46. data/generated/google/apis/appengine_v1beta4/service.rb +2 -2
  47. data/generated/google/apis/appengine_v1beta5.rb +2 -2
  48. data/generated/google/apis/appengine_v1beta5/classes.rb +50 -6
  49. data/generated/google/apis/appengine_v1beta5/representations.rb +17 -0
  50. data/generated/google/apis/appengine_v1beta5/service.rb +2 -2
  51. data/generated/google/apis/bigquery_v2.rb +1 -1
  52. data/generated/google/apis/bigquery_v2/classes.rb +19 -11
  53. data/generated/google/apis/bigquery_v2/representations.rb +4 -3
  54. data/generated/google/apis/bigquery_v2/service.rb +9 -1
  55. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  56. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +9 -6
  57. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +1 -0
  58. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +1 -1
  59. data/generated/google/apis/calendar_v3.rb +1 -1
  60. data/generated/google/apis/calendar_v3/classes.rb +3 -1
  61. data/generated/google/apis/{firebaseremoteconfig_v1.rb → chat_v1.rb} +8 -9
  62. data/generated/google/apis/chat_v1/classes.rb +890 -0
  63. data/generated/google/apis/chat_v1/representations.rb +445 -0
  64. data/generated/google/apis/chat_v1/service.rb +344 -0
  65. data/generated/google/apis/cloudbilling_v1.rb +2 -2
  66. data/generated/google/apis/cloudbilling_v1/classes.rb +341 -5
  67. data/generated/google/apis/cloudbilling_v1/representations.rb +103 -0
  68. data/generated/google/apis/cloudbilling_v1/service.rb +217 -10
  69. data/generated/google/apis/cloudbuild_v1.rb +2 -2
  70. data/generated/google/apis/cloudbuild_v1/classes.rb +180 -84
  71. data/generated/google/apis/cloudbuild_v1/representations.rb +35 -0
  72. data/generated/google/apis/cloudbuild_v1/service.rb +25 -25
  73. data/generated/google/apis/cloudiot_v1.rb +2 -2
  74. data/generated/google/apis/cloudiot_v1/classes.rb +13 -142
  75. data/generated/google/apis/cloudiot_v1/representations.rb +0 -32
  76. data/generated/google/apis/cloudiot_v1/service.rb +2 -2
  77. data/generated/google/apis/cloudkms_v1.rb +1 -1
  78. data/generated/google/apis/cloudkms_v1/classes.rb +7 -1
  79. data/generated/google/apis/cloudkms_v1/representations.rb +1 -0
  80. data/generated/google/apis/cloudkms_v1/service.rb +1 -1
  81. data/generated/google/apis/cloudresourcemanager_v1.rb +2 -2
  82. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +2 -2
  83. data/generated/google/apis/cloudresourcemanager_v1/service.rb +4 -5
  84. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +2 -2
  85. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +1 -1
  86. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +6 -6
  87. data/generated/google/apis/{clouduseraccounts_beta.rb → cloudresourcemanager_v2.rb} +10 -16
  88. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +821 -0
  89. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +304 -0
  90. data/generated/google/apis/cloudresourcemanager_v2/service.rb +534 -0
  91. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +2 -2
  92. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +1 -1
  93. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  94. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +7 -0
  95. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +1 -0
  96. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  97. data/generated/google/apis/cloudtrace_v1/classes.rb +2 -0
  98. data/generated/google/apis/compute_alpha.rb +1 -1
  99. data/generated/google/apis/compute_alpha/classes.rb +216 -120
  100. data/generated/google/apis/compute_alpha/representations.rb +25 -1
  101. data/generated/google/apis/compute_alpha/service.rb +1354 -1621
  102. data/generated/google/apis/compute_beta.rb +1 -1
  103. data/generated/google/apis/compute_beta/classes.rb +548 -85
  104. data/generated/google/apis/compute_beta/representations.rb +159 -0
  105. data/generated/google/apis/compute_beta/service.rb +1971 -1460
  106. data/generated/google/apis/compute_v1.rb +1 -1
  107. data/generated/google/apis/compute_v1/classes.rb +206 -70
  108. data/generated/google/apis/compute_v1/representations.rb +32 -0
  109. data/generated/google/apis/compute_v1/service.rb +1184 -1278
  110. data/generated/google/apis/container_v1.rb +1 -1
  111. data/generated/google/apis/container_v1/classes.rb +742 -9
  112. data/generated/google/apis/container_v1/representations.rb +90 -0
  113. data/generated/google/apis/container_v1/service.rb +1380 -100
  114. data/generated/google/apis/container_v1beta1.rb +1 -1
  115. data/generated/google/apis/container_v1beta1/classes.rb +191 -138
  116. data/generated/google/apis/container_v1beta1/representations.rb +2 -0
  117. data/generated/google/apis/container_v1beta1/service.rb +236 -231
  118. data/generated/google/apis/content_v2.rb +1 -1
  119. data/generated/google/apis/content_v2/classes.rb +2690 -1540
  120. data/generated/google/apis/content_v2/representations.rb +491 -0
  121. data/generated/google/apis/content_v2/service.rb +684 -0
  122. data/generated/google/apis/content_v2sandbox.rb +1 -1
  123. data/generated/google/apis/content_v2sandbox/classes.rb +2 -1
  124. data/generated/google/apis/dataflow_v1b3.rb +2 -2
  125. data/generated/google/apis/dataflow_v1b3/classes.rb +95 -0
  126. data/generated/google/apis/dataflow_v1b3/representations.rb +36 -0
  127. data/generated/google/apis/dataflow_v1b3/service.rb +1 -1
  128. data/generated/google/apis/dataproc_v1.rb +1 -1
  129. data/generated/google/apis/dataproc_v1/classes.rb +56 -45
  130. data/generated/google/apis/dataproc_v1/representations.rb +1 -0
  131. data/generated/google/apis/dataproc_v1/service.rb +30 -3
  132. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  133. data/generated/google/apis/dataproc_v1beta2/classes.rb +77 -53
  134. data/generated/google/apis/dataproc_v1beta2/representations.rb +2 -0
  135. data/generated/google/apis/dataproc_v1beta2/service.rb +484 -18
  136. data/generated/google/apis/datastore_v1.rb +1 -1
  137. data/generated/google/apis/datastore_v1/classes.rb +372 -0
  138. data/generated/google/apis/datastore_v1/representations.rb +132 -0
  139. data/generated/google/apis/datastore_v1/service.rb +77 -0
  140. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  141. data/generated/google/apis/datastore_v1beta1/classes.rb +255 -0
  142. data/generated/google/apis/datastore_v1beta1/representations.rb +100 -0
  143. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  144. data/generated/google/apis/datastore_v1beta3/classes.rb +255 -0
  145. data/generated/google/apis/datastore_v1beta3/representations.rb +100 -0
  146. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  147. data/generated/google/apis/deploymentmanager_alpha/classes.rb +6 -1
  148. data/generated/google/apis/deploymentmanager_alpha/service.rb +121 -145
  149. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  150. data/generated/google/apis/deploymentmanager_v2/service.rb +79 -91
  151. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  152. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +6 -1
  153. data/generated/google/apis/deploymentmanager_v2beta/service.rb +121 -145
  154. data/generated/google/apis/dialogflow_v2.rb +35 -0
  155. data/generated/google/apis/dialogflow_v2/classes.rb +3994 -0
  156. data/generated/google/apis/dialogflow_v2/representations.rb +1670 -0
  157. data/generated/google/apis/dialogflow_v2/service.rb +1397 -0
  158. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  159. data/generated/google/apis/dialogflow_v2beta1/classes.rb +39 -11
  160. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -0
  161. data/generated/google/apis/dialogflow_v2beta1/service.rb +559 -16
  162. data/generated/google/apis/dlp_v2.rb +36 -0
  163. data/generated/google/apis/dlp_v2/classes.rb +6431 -0
  164. data/generated/google/apis/dlp_v2/representations.rb +3116 -0
  165. data/generated/google/apis/dlp_v2/service.rb +1300 -0
  166. data/generated/google/apis/dlp_v2beta1.rb +4 -4
  167. data/generated/google/apis/dlp_v2beta1/classes.rb +38 -0
  168. data/generated/google/apis/dlp_v2beta1/representations.rb +17 -0
  169. data/generated/google/apis/dlp_v2beta1/service.rb +3 -3
  170. data/generated/google/apis/dlp_v2beta2.rb +4 -4
  171. data/generated/google/apis/dlp_v2beta2/classes.rb +229 -1
  172. data/generated/google/apis/dlp_v2beta2/representations.rb +91 -0
  173. data/generated/google/apis/dlp_v2beta2/service.rb +3 -3
  174. data/generated/google/apis/dns_v1.rb +1 -1
  175. data/generated/google/apis/dns_v1/classes.rb +496 -0
  176. data/generated/google/apis/dns_v1/representations.rb +188 -0
  177. data/generated/google/apis/dns_v1/service.rb +319 -6
  178. data/generated/google/apis/dns_v1beta2.rb +1 -1
  179. data/generated/google/apis/dns_v1beta2/classes.rb +0 -19
  180. data/generated/google/apis/dns_v1beta2/representations.rb +0 -14
  181. data/generated/google/apis/dns_v1beta2/service.rb +2 -4
  182. data/generated/google/apis/dns_v2beta1.rb +1 -1
  183. data/generated/google/apis/dns_v2beta1/classes.rb +6 -19
  184. data/generated/google/apis/dns_v2beta1/representations.rb +1 -14
  185. data/generated/google/apis/dns_v2beta1/service.rb +2 -4
  186. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  187. data/generated/google/apis/doubleclicksearch_v2/classes.rb +4 -0
  188. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  189. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +2 -2
  190. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  191. data/generated/google/apis/firestore_v1beta1/classes.rb +1 -1
  192. data/generated/google/apis/genomics_v1.rb +1 -1
  193. data/generated/google/apis/genomics_v1/classes.rb +271 -1
  194. data/generated/google/apis/genomics_v1/representations.rb +140 -0
  195. data/generated/google/apis/genomics_v1/service.rb +9 -1
  196. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  197. data/generated/google/apis/genomics_v1alpha2/classes.rb +271 -1
  198. data/generated/google/apis/genomics_v1alpha2/representations.rb +140 -0
  199. data/generated/google/apis/genomics_v1alpha2/service.rb +9 -1
  200. data/generated/google/apis/genomics_v2alpha1.rb +37 -0
  201. data/generated/google/apis/genomics_v2alpha1/classes.rb +1306 -0
  202. data/generated/google/apis/genomics_v2alpha1/representations.rb +535 -0
  203. data/generated/google/apis/genomics_v2alpha1/service.rb +261 -0
  204. data/generated/google/apis/gmail_v1.rb +1 -1
  205. data/generated/google/apis/gmail_v1/classes.rb +2 -1
  206. data/generated/google/apis/iam_v1.rb +1 -1
  207. data/generated/google/apis/iam_v1/classes.rb +1 -1
  208. data/generated/google/apis/language_v1.rb +2 -2
  209. data/generated/google/apis/language_v1/classes.rb +2 -1
  210. data/generated/google/apis/language_v1/service.rb +1 -1
  211. data/generated/google/apis/language_v1beta1.rb +2 -2
  212. data/generated/google/apis/language_v1beta1/service.rb +1 -1
  213. data/generated/google/apis/language_v1beta2.rb +2 -2
  214. data/generated/google/apis/language_v1beta2/classes.rb +2 -1
  215. data/generated/google/apis/language_v1beta2/service.rb +1 -1
  216. data/generated/google/apis/logging_v2.rb +1 -1
  217. data/generated/google/apis/logging_v2beta1.rb +1 -1
  218. data/generated/google/apis/manufacturers_v1.rb +1 -1
  219. data/generated/google/apis/manufacturers_v1/service.rb +14 -11
  220. data/generated/google/apis/ml_v1.rb +2 -2
  221. data/generated/google/apis/ml_v1/classes.rb +180 -5
  222. data/generated/google/apis/ml_v1/representations.rb +49 -0
  223. data/generated/google/apis/ml_v1/service.rb +1 -1
  224. data/generated/google/apis/monitoring_v3.rb +1 -1
  225. data/generated/google/apis/monitoring_v3/classes.rb +797 -2
  226. data/generated/google/apis/monitoring_v3/representations.rb +279 -0
  227. data/generated/google/apis/monitoring_v3/service.rb +612 -0
  228. data/generated/google/apis/oslogin_v1.rb +2 -2
  229. data/generated/google/apis/oslogin_v1/service.rb +1 -1
  230. data/generated/google/apis/oslogin_v1alpha.rb +2 -2
  231. data/generated/google/apis/oslogin_v1alpha/service.rb +1 -1
  232. data/generated/google/apis/oslogin_v1beta.rb +2 -2
  233. data/generated/google/apis/oslogin_v1beta/service.rb +1 -1
  234. data/generated/google/apis/pagespeedonline_v4.rb +32 -0
  235. data/generated/google/apis/pagespeedonline_v4/classes.rb +795 -0
  236. data/generated/google/apis/pagespeedonline_v4/representations.rb +335 -0
  237. data/generated/google/apis/pagespeedonline_v4/service.rb +129 -0
  238. data/generated/google/apis/people_v1.rb +2 -2
  239. data/generated/google/apis/people_v1/classes.rb +5 -2
  240. data/generated/google/apis/people_v1/service.rb +9 -7
  241. data/generated/google/apis/poly_v1.rb +1 -1
  242. data/generated/google/apis/poly_v1/classes.rb +153 -0
  243. data/generated/google/apis/poly_v1/representations.rb +67 -0
  244. data/generated/google/apis/proximitybeacon_v1beta1.rb +2 -2
  245. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +1 -1
  246. data/generated/google/apis/pubsub_v1.rb +1 -1
  247. data/generated/google/apis/pubsub_v1/classes.rb +3 -0
  248. data/generated/google/apis/pubsub_v1/service.rb +7 -0
  249. data/generated/google/apis/script_v1.rb +2 -2
  250. data/generated/google/apis/script_v1/service.rb +1 -1
  251. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  252. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +21 -126
  253. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -30
  254. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +14 -13
  255. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  256. data/generated/google/apis/servicecontrol_v1/classes.rb +2 -1
  257. data/generated/google/apis/servicecontrol_v1/service.rb +9 -6
  258. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  259. data/generated/google/apis/servicemanagement_v1/classes.rb +44 -157
  260. data/generated/google/apis/servicemanagement_v1/representations.rb +2 -48
  261. data/generated/google/apis/servicemanagement_v1/service.rb +9 -0
  262. data/generated/google/apis/{serviceusage_v1.rb → serviceusage_v1beta1.rb} +6 -6
  263. data/generated/google/apis/{serviceusage_v1 → serviceusage_v1beta1}/classes.rb +290 -325
  264. data/generated/google/apis/{serviceusage_v1 → serviceusage_v1beta1}/representations.rb +105 -163
  265. data/generated/google/apis/{serviceusage_v1 → serviceusage_v1beta1}/service.rb +105 -163
  266. data/generated/google/apis/serviceuser_v1.rb +2 -2
  267. data/generated/google/apis/serviceuser_v1/classes.rb +44 -101
  268. data/generated/google/apis/serviceuser_v1/representations.rb +2 -30
  269. data/generated/google/apis/serviceuser_v1/service.rb +1 -1
  270. data/generated/google/apis/sheets_v4.rb +1 -1
  271. data/generated/google/apis/sheets_v4/classes.rb +643 -10
  272. data/generated/google/apis/sheets_v4/representations.rb +53 -0
  273. data/generated/google/apis/slides_v1.rb +1 -1
  274. data/generated/google/apis/slides_v1/classes.rb +92 -9
  275. data/generated/google/apis/slides_v1/representations.rb +21 -0
  276. data/generated/google/apis/slides_v1/service.rb +3 -2
  277. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  278. data/generated/google/apis/sourcerepo_v1/classes.rb +4 -73
  279. data/generated/google/apis/sourcerepo_v1/representations.rb +0 -20
  280. data/generated/google/apis/spanner_v1.rb +1 -1
  281. data/generated/google/apis/spanner_v1/classes.rb +238 -2
  282. data/generated/google/apis/spanner_v1/representations.rb +86 -0
  283. data/generated/google/apis/spanner_v1/service.rb +80 -0
  284. data/generated/google/apis/speech_v1.rb +2 -2
  285. data/generated/google/apis/speech_v1/classes.rb +14 -19
  286. data/generated/google/apis/speech_v1/representations.rb +0 -1
  287. data/generated/google/apis/speech_v1/service.rb +1 -1
  288. data/generated/google/apis/speech_v1beta1.rb +2 -2
  289. data/generated/google/apis/speech_v1beta1/service.rb +1 -1
  290. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  291. data/generated/google/apis/sqladmin_v1beta4/classes.rb +15 -6
  292. data/generated/google/apis/sqladmin_v1beta4/representations.rb +1 -0
  293. data/generated/google/apis/storage_v1.rb +1 -1
  294. data/generated/google/apis/storage_v1/service.rb +3 -6
  295. data/generated/google/apis/storagetransfer_v1.rb +2 -2
  296. data/generated/google/apis/storagetransfer_v1/service.rb +1 -1
  297. data/generated/google/apis/testing_v1.rb +1 -1
  298. data/generated/google/apis/testing_v1/classes.rb +107 -2
  299. data/generated/google/apis/testing_v1/representations.rb +38 -0
  300. data/generated/google/apis/texttospeech_v1beta1.rb +34 -0
  301. data/generated/google/apis/texttospeech_v1beta1/classes.rb +278 -0
  302. data/generated/google/apis/texttospeech_v1beta1/representations.rb +133 -0
  303. data/generated/google/apis/texttospeech_v1beta1/service.rb +128 -0
  304. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  305. data/generated/google/apis/toolresults_v1beta3/classes.rb +30 -16
  306. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  307. data/generated/google/apis/tpu_v1alpha1/classes.rb +57 -0
  308. data/generated/google/apis/tpu_v1alpha1/representations.rb +30 -0
  309. data/generated/google/apis/tpu_v1alpha1/service.rb +73 -1
  310. data/generated/google/apis/vault_v1.rb +1 -1
  311. data/generated/google/apis/vault_v1/classes.rb +29 -3
  312. data/generated/google/apis/vault_v1/representations.rb +15 -0
  313. data/generated/google/apis/vault_v1/service.rb +8 -2
  314. data/generated/google/apis/videointelligence_v1beta1.rb +1 -1
  315. data/generated/google/apis/videointelligence_v1beta1/classes.rb +650 -0
  316. data/generated/google/apis/videointelligence_v1beta1/representations.rb +315 -0
  317. data/generated/google/apis/vision_v1.rb +2 -2
  318. data/generated/google/apis/vision_v1/classes.rb +290 -2
  319. data/generated/google/apis/vision_v1/representations.rb +128 -0
  320. data/generated/google/apis/vision_v1/service.rb +187 -1
  321. data/generated/google/apis/vision_v1p1beta1.rb +2 -2
  322. data/generated/google/apis/vision_v1p1beta1/classes.rb +136 -2
  323. data/generated/google/apis/vision_v1p1beta1/representations.rb +71 -0
  324. data/generated/google/apis/vision_v1p1beta1/service.rb +1 -1
  325. data/generated/google/apis/vision_v1p2beta1.rb +39 -0
  326. data/generated/google/apis/vision_v1p2beta1/classes.rb +2172 -0
  327. data/generated/google/apis/vision_v1p2beta1/representations.rb +895 -0
  328. data/generated/google/apis/vision_v1p2beta1/service.rb +126 -0
  329. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  330. data/generated/google/apis/youtube_v3.rb +1 -1
  331. data/generated/google/apis/youtube_v3/classes.rb +12 -0
  332. data/generated/google/apis/youtube_v3/representations.rb +2 -0
  333. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  334. data/lib/google/apis/core/json_representation.rb +1 -1
  335. data/lib/google/apis/version.rb +3 -3
  336. data/samples/web/Gemfile +3 -0
  337. metadata +38 -26
  338. data/generated/google/apis/clouduseraccounts_alpha.rb +0 -44
  339. data/generated/google/apis/clouduseraccounts_alpha/classes.rb +0 -1188
  340. data/generated/google/apis/clouduseraccounts_alpha/representations.rb +0 -494
  341. data/generated/google/apis/clouduseraccounts_alpha/service.rb +0 -1152
  342. data/generated/google/apis/clouduseraccounts_beta/classes.rb +0 -845
  343. data/generated/google/apis/clouduseraccounts_beta/representations.rb +0 -352
  344. data/generated/google/apis/clouduseraccounts_beta/service.rb +0 -908
  345. data/generated/google/apis/clouduseraccounts_vm_alpha.rb +0 -44
  346. data/generated/google/apis/clouduseraccounts_vm_alpha/classes.rb +0 -1188
  347. data/generated/google/apis/clouduseraccounts_vm_alpha/representations.rb +0 -494
  348. data/generated/google/apis/clouduseraccounts_vm_alpha/service.rb +0 -1152
  349. data/generated/google/apis/clouduseraccounts_vm_beta.rb +0 -44
  350. data/generated/google/apis/clouduseraccounts_vm_beta/classes.rb +0 -845
  351. data/generated/google/apis/clouduseraccounts_vm_beta/representations.rb +0 -352
  352. data/generated/google/apis/clouduseraccounts_vm_beta/service.rb +0 -908
  353. data/generated/google/apis/firebaseremoteconfig_v1/classes.rb +0 -200
  354. data/generated/google/apis/firebaseremoteconfig_v1/representations.rb +0 -89
  355. data/generated/google/apis/firebaseremoteconfig_v1/service.rb +0 -153
@@ -18,14 +18,14 @@ require 'google/apis/ml_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Google Cloud Machine Learning Engine
21
+ # Cloud Machine Learning Engine
22
22
  #
23
23
  # An API to enable creating and using machine learning models.
24
24
  #
25
25
  # @see https://cloud.google.com/ml/
26
26
  module MlV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180210'
28
+ REVISION = '20180327'
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'
@@ -179,10 +179,34 @@ module Google
179
179
  end
180
180
  end
181
181
 
182
+ #
183
+ class GoogleCloudMlV1Config
184
+ include Google::Apis::Core::Hashable
185
+
186
+ # The service account Cloud ML uses to run on TPU node.
187
+ # Corresponds to the JSON property `tpuServiceAccount`
188
+ # @return [String]
189
+ attr_accessor :tpu_service_account
190
+
191
+ def initialize(**args)
192
+ update!(**args)
193
+ end
194
+
195
+ # Update properties of this object
196
+ def update!(**args)
197
+ @tpu_service_account = args[:tpu_service_account] if args.key?(:tpu_service_account)
198
+ end
199
+ end
200
+
182
201
  # Returns service account information associated with a project.
183
202
  class GoogleCloudMlV1GetConfigResponse
184
203
  include Google::Apis::Core::Hashable
185
204
 
205
+ #
206
+ # Corresponds to the JSON property `config`
207
+ # @return [Google::Apis::MlV1::GoogleCloudMlV1Config]
208
+ attr_accessor :config
209
+
186
210
  # The service account Cloud ML uses to access resources in the project.
187
211
  # Corresponds to the JSON property `serviceAccount`
188
212
  # @return [String]
@@ -199,6 +223,7 @@ module Google
199
223
 
200
224
  # Update properties of this object
201
225
  def update!(**args)
226
+ @config = args[:config] if args.key?(:config)
202
227
  @service_account = args[:service_account] if args.key?(:service_account)
203
228
  @service_account_project = args[:service_account_project] if args.key?(:service_account_project)
204
229
  end
@@ -376,6 +401,7 @@ module Google
376
401
  # file referenced from the --config command-line argument. For
377
402
  # details, see the guide to
378
403
  # <a href="/ml-engine/docs/training-jobs">submitting a training job</a>.
404
+ # Next ID: 22
379
405
  # Corresponds to the JSON property `trainingInput`
380
406
  # @return [Google::Apis::MlV1::GoogleCloudMlV1TrainingInput]
381
407
  attr_accessor :training_input
@@ -568,7 +594,6 @@ module Google
568
594
  # information about all of the versions of a given model by calling
569
595
  # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.
570
596
  # versions/list).
571
- # LINT.IfChange
572
597
  # Corresponds to the JSON property `defaultVersion`
573
598
  # @return [Google::Apis::MlV1::GoogleCloudMlV1Version]
574
599
  attr_accessor :default_version
@@ -666,7 +691,6 @@ module Google
666
691
  # information about all of the versions of a given model by calling
667
692
  # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.
668
693
  # versions/list).
669
- # LINT.IfChange
670
694
  # Corresponds to the JSON property `version`
671
695
  # @return [Google::Apis::MlV1::GoogleCloudMlV1Version]
672
696
  attr_accessor :version
@@ -706,7 +730,7 @@ module Google
706
730
  # @return [Array<Float>]
707
731
  attr_accessor :discrete_values
708
732
 
709
- # Required if typeis `DOUBLE` or `INTEGER`. This field
733
+ # Required if type is `DOUBLE` or `INTEGER`. This field
710
734
  # should be unset if type is `CATEGORICAL`. This value should be integers if
711
735
  # type is `INTEGER`.
712
736
  # Corresponds to the JSON property `maxValue`
@@ -961,6 +985,7 @@ module Google
961
985
  # file referenced from the --config command-line argument. For
962
986
  # details, see the guide to
963
987
  # <a href="/ml-engine/docs/training-jobs">submitting a training job</a>.
988
+ # Next ID: 22
964
989
  class GoogleCloudMlV1TrainingInput
965
990
  include Google::Apis::Core::Hashable
966
991
 
@@ -976,7 +1001,7 @@ module Google
976
1001
 
977
1002
  # Optional. A Google Cloud Storage path in which to store training outputs
978
1003
  # and other data needed for training. This path is passed to your TensorFlow
979
- # program as the 'job_dir' command-line argument. The benefit of specifying
1004
+ # program as the '--job-dir' command-line argument. The benefit of specifying
980
1005
  # this field is that Cloud ML validates the path for use in training.
981
1006
  # Corresponds to the JSON property `jobDir`
982
1007
  # @return [String]
@@ -1195,7 +1220,6 @@ module Google
1195
1220
  # information about all of the versions of a given model by calling
1196
1221
  # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.
1197
1222
  # versions/list).
1198
- # LINT.IfChange
1199
1223
  class GoogleCloudMlV1Version
1200
1224
  include Google::Apis::Core::Hashable
1201
1225
 
@@ -1235,6 +1259,15 @@ module Google
1235
1259
  # @return [String]
1236
1260
  attr_accessor :error_message
1237
1261
 
1262
+ # Optional. The machine learning framework Cloud ML Engine uses to train
1263
+ # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
1264
+ # and `XGBOOST`. If you do not specify a framework, Cloud ML Engine uses
1265
+ # TensorFlow. If you choose `SCIKIT_LEARN` or `XGBOOST`, you must also set
1266
+ # the runtime version of the model to 1.4 or greater.
1267
+ # Corresponds to the JSON property `framework`
1268
+ # @return [String]
1269
+ attr_accessor :framework
1270
+
1238
1271
  # Output only. If true, this version will be used to handle prediction
1239
1272
  # requests that do not specify a version.
1240
1273
  # You can change the default version by calling
@@ -1261,6 +1294,13 @@ module Google
1261
1294
  # @return [String]
1262
1295
  attr_accessor :name
1263
1296
 
1297
+ # Optional. The version of Python used in prediction. If not set, the default
1298
+ # version is '2.7'. Python '3.5' is available when `runtime_version` is set
1299
+ # to '1.4' and above. Python '2.7' works with all supported runtime versions.
1300
+ # Corresponds to the JSON property `pythonVersion`
1301
+ # @return [String]
1302
+ attr_accessor :python_version
1303
+
1264
1304
  # Optional. The Google Cloud ML runtime version to use for this deployment.
1265
1305
  # If not set, Google Cloud ML will choose a version.
1266
1306
  # Corresponds to the JSON property `runtimeVersion`
@@ -1283,15 +1323,134 @@ module Google
1283
1323
  @deployment_uri = args[:deployment_uri] if args.key?(:deployment_uri)
1284
1324
  @description = args[:description] if args.key?(:description)
1285
1325
  @error_message = args[:error_message] if args.key?(:error_message)
1326
+ @framework = args[:framework] if args.key?(:framework)
1286
1327
  @is_default = args[:is_default] if args.key?(:is_default)
1287
1328
  @last_use_time = args[:last_use_time] if args.key?(:last_use_time)
1288
1329
  @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling)
1289
1330
  @name = args[:name] if args.key?(:name)
1331
+ @python_version = args[:python_version] if args.key?(:python_version)
1290
1332
  @runtime_version = args[:runtime_version] if args.key?(:runtime_version)
1291
1333
  @state = args[:state] if args.key?(:state)
1292
1334
  end
1293
1335
  end
1294
1336
 
1337
+ # Specifies the audit configuration for a service.
1338
+ # The configuration determines which permission types are logged, and what
1339
+ # identities, if any, are exempted from logging.
1340
+ # An AuditConfig must have one or more AuditLogConfigs.
1341
+ # If there are AuditConfigs for both `allServices` and a specific service,
1342
+ # the union of the two AuditConfigs is used for that service: the log_types
1343
+ # specified in each AuditConfig are enabled, and the exempted_members in each
1344
+ # AuditLogConfig are exempted.
1345
+ # Example Policy with multiple AuditConfigs:
1346
+ # `
1347
+ # "audit_configs": [
1348
+ # `
1349
+ # "service": "allServices"
1350
+ # "audit_log_configs": [
1351
+ # `
1352
+ # "log_type": "DATA_READ",
1353
+ # "exempted_members": [
1354
+ # "user:foo@gmail.com"
1355
+ # ]
1356
+ # `,
1357
+ # `
1358
+ # "log_type": "DATA_WRITE",
1359
+ # `,
1360
+ # `
1361
+ # "log_type": "ADMIN_READ",
1362
+ # `
1363
+ # ]
1364
+ # `,
1365
+ # `
1366
+ # "service": "fooservice.googleapis.com"
1367
+ # "audit_log_configs": [
1368
+ # `
1369
+ # "log_type": "DATA_READ",
1370
+ # `,
1371
+ # `
1372
+ # "log_type": "DATA_WRITE",
1373
+ # "exempted_members": [
1374
+ # "user:bar@gmail.com"
1375
+ # ]
1376
+ # `
1377
+ # ]
1378
+ # `
1379
+ # ]
1380
+ # `
1381
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1382
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
1383
+ # bar@gmail.com from DATA_WRITE logging.
1384
+ class GoogleIamV1AuditConfig
1385
+ include Google::Apis::Core::Hashable
1386
+
1387
+ # The configuration for logging of each type of permission.
1388
+ # Next ID: 4
1389
+ # Corresponds to the JSON property `auditLogConfigs`
1390
+ # @return [Array<Google::Apis::MlV1::GoogleIamV1AuditLogConfig>]
1391
+ attr_accessor :audit_log_configs
1392
+
1393
+ # Specifies a service that will be enabled for audit logging.
1394
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1395
+ # `allServices` is a special value that covers all services.
1396
+ # Corresponds to the JSON property `service`
1397
+ # @return [String]
1398
+ attr_accessor :service
1399
+
1400
+ def initialize(**args)
1401
+ update!(**args)
1402
+ end
1403
+
1404
+ # Update properties of this object
1405
+ def update!(**args)
1406
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1407
+ @service = args[:service] if args.key?(:service)
1408
+ end
1409
+ end
1410
+
1411
+ # Provides the configuration for logging a type of permissions.
1412
+ # Example:
1413
+ # `
1414
+ # "audit_log_configs": [
1415
+ # `
1416
+ # "log_type": "DATA_READ",
1417
+ # "exempted_members": [
1418
+ # "user:foo@gmail.com"
1419
+ # ]
1420
+ # `,
1421
+ # `
1422
+ # "log_type": "DATA_WRITE",
1423
+ # `
1424
+ # ]
1425
+ # `
1426
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
1427
+ # foo@gmail.com from DATA_READ logging.
1428
+ class GoogleIamV1AuditLogConfig
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # Specifies the identities that do not cause logging for this type of
1432
+ # permission.
1433
+ # Follows the same format of Binding.members.
1434
+ # Corresponds to the JSON property `exemptedMembers`
1435
+ # @return [Array<String>]
1436
+ attr_accessor :exempted_members
1437
+
1438
+ # The log type that this config enables.
1439
+ # Corresponds to the JSON property `logType`
1440
+ # @return [String]
1441
+ attr_accessor :log_type
1442
+
1443
+ def initialize(**args)
1444
+ update!(**args)
1445
+ end
1446
+
1447
+ # Update properties of this object
1448
+ def update!(**args)
1449
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1450
+ @log_type = args[:log_type] if args.key?(:log_type)
1451
+ end
1452
+ end
1453
+
1295
1454
  # Associates `members` with a `role`.
1296
1455
  class GoogleIamV1Binding
1297
1456
  include Google::Apis::Core::Hashable
@@ -1361,6 +1520,11 @@ module Google
1361
1520
  class GoogleIamV1Policy
1362
1521
  include Google::Apis::Core::Hashable
1363
1522
 
1523
+ # Specifies cloud audit logging configuration for this policy.
1524
+ # Corresponds to the JSON property `auditConfigs`
1525
+ # @return [Array<Google::Apis::MlV1::GoogleIamV1AuditConfig>]
1526
+ attr_accessor :audit_configs
1527
+
1364
1528
  # Associates a list of `members` to a `role`.
1365
1529
  # `bindings` with no members will result in an error.
1366
1530
  # Corresponds to the JSON property `bindings`
@@ -1392,6 +1556,7 @@ module Google
1392
1556
 
1393
1557
  # Update properties of this object
1394
1558
  def update!(**args)
1559
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1395
1560
  @bindings = args[:bindings] if args.key?(:bindings)
1396
1561
  @etag = args[:etag] if args.key?(:etag)
1397
1562
  @version = args[:version] if args.key?(:version)
@@ -1432,6 +1597,15 @@ module Google
1432
1597
  # @return [Google::Apis::MlV1::GoogleIamV1Policy]
1433
1598
  attr_accessor :policy
1434
1599
 
1600
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1601
+ # the fields in the mask will be modified. If no mask is provided, the
1602
+ # following default mask is used:
1603
+ # paths: "bindings, etag"
1604
+ # This field is only used by Cloud IAM.
1605
+ # Corresponds to the JSON property `updateMask`
1606
+ # @return [String]
1607
+ attr_accessor :update_mask
1608
+
1435
1609
  def initialize(**args)
1436
1610
  update!(**args)
1437
1611
  end
@@ -1439,6 +1613,7 @@ module Google
1439
1613
  # Update properties of this object
1440
1614
  def update!(**args)
1441
1615
  @policy = args[:policy] if args.key?(:policy)
1616
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1442
1617
  end
1443
1618
  end
1444
1619
 
@@ -52,6 +52,12 @@ module Google
52
52
  include Google::Apis::Core::JsonObjectSupport
53
53
  end
54
54
 
55
+ class GoogleCloudMlV1Config
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
55
61
  class GoogleCloudMlV1GetConfigResponse
56
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
63
 
@@ -172,6 +178,18 @@ module Google
172
178
  include Google::Apis::Core::JsonObjectSupport
173
179
  end
174
180
 
181
+ class GoogleIamV1AuditConfig
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
187
+ class GoogleIamV1AuditLogConfig
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
175
193
  class GoogleIamV1Binding
176
194
  class Representation < Google::Apis::Core::JsonRepresentation; end
177
195
 
@@ -264,9 +282,18 @@ module Google
264
282
  end
265
283
  end
266
284
 
285
+ class GoogleCloudMlV1Config
286
+ # @private
287
+ class Representation < Google::Apis::Core::JsonRepresentation
288
+ property :tpu_service_account, as: 'tpuServiceAccount'
289
+ end
290
+ end
291
+
267
292
  class GoogleCloudMlV1GetConfigResponse
268
293
  # @private
269
294
  class Representation < Google::Apis::Core::JsonRepresentation
295
+ property :config, as: 'config', class: Google::Apis::MlV1::GoogleCloudMlV1Config, decorator: Google::Apis::MlV1::GoogleCloudMlV1Config::Representation
296
+
270
297
  property :service_account, as: 'serviceAccount'
271
298
  property :service_account_project, :numeric_string => true, as: 'serviceAccountProject'
272
299
  end
@@ -493,16 +520,35 @@ module Google
493
520
  property :deployment_uri, as: 'deploymentUri'
494
521
  property :description, as: 'description'
495
522
  property :error_message, as: 'errorMessage'
523
+ property :framework, as: 'framework'
496
524
  property :is_default, as: 'isDefault'
497
525
  property :last_use_time, as: 'lastUseTime'
498
526
  property :manual_scaling, as: 'manualScaling', class: Google::Apis::MlV1::GoogleCloudMlV1ManualScaling, decorator: Google::Apis::MlV1::GoogleCloudMlV1ManualScaling::Representation
499
527
 
500
528
  property :name, as: 'name'
529
+ property :python_version, as: 'pythonVersion'
501
530
  property :runtime_version, as: 'runtimeVersion'
502
531
  property :state, as: 'state'
503
532
  end
504
533
  end
505
534
 
535
+ class GoogleIamV1AuditConfig
536
+ # @private
537
+ class Representation < Google::Apis::Core::JsonRepresentation
538
+ collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::MlV1::GoogleIamV1AuditLogConfig, decorator: Google::Apis::MlV1::GoogleIamV1AuditLogConfig::Representation
539
+
540
+ property :service, as: 'service'
541
+ end
542
+ end
543
+
544
+ class GoogleIamV1AuditLogConfig
545
+ # @private
546
+ class Representation < Google::Apis::Core::JsonRepresentation
547
+ collection :exempted_members, as: 'exemptedMembers'
548
+ property :log_type, as: 'logType'
549
+ end
550
+ end
551
+
506
552
  class GoogleIamV1Binding
507
553
  # @private
508
554
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -514,6 +560,8 @@ module Google
514
560
  class GoogleIamV1Policy
515
561
  # @private
516
562
  class Representation < Google::Apis::Core::JsonRepresentation
563
+ collection :audit_configs, as: 'auditConfigs', class: Google::Apis::MlV1::GoogleIamV1AuditConfig, decorator: Google::Apis::MlV1::GoogleIamV1AuditConfig::Representation
564
+
517
565
  collection :bindings, as: 'bindings', class: Google::Apis::MlV1::GoogleIamV1Binding, decorator: Google::Apis::MlV1::GoogleIamV1Binding::Representation
518
566
 
519
567
  property :etag, :base64 => true, as: 'etag'
@@ -526,6 +574,7 @@ module Google
526
574
  class Representation < Google::Apis::Core::JsonRepresentation
527
575
  property :policy, as: 'policy', class: Google::Apis::MlV1::GoogleIamV1Policy, decorator: Google::Apis::MlV1::GoogleIamV1Policy::Representation
528
576
 
577
+ property :update_mask, as: 'updateMask'
529
578
  end
530
579
  end
531
580
 
@@ -20,7 +20,7 @@ require 'google/apis/errors'
20
20
  module Google
21
21
  module Apis
22
22
  module MlV1
23
- # Google Cloud Machine Learning Engine
23
+ # Cloud Machine Learning Engine
24
24
  #
25
25
  # An API to enable creating and using machine learning models.
26
26
  #
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/monitoring/api/
28
28
  module MonitoringV3
29
29
  VERSION = 'V3'
30
- REVISION = '20180205'
30
+ REVISION = '20180303'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,6 +22,174 @@ module Google
22
22
  module Apis
23
23
  module MonitoringV3
24
24
 
25
+ # Describes how to combine multiple time series to provide different views of
26
+ # the data. Aggregation consists of an alignment step on individual time series (
27
+ # alignment_period and per_series_aligner) followed by an optional reduction
28
+ # step of the data across the aligned time series (cross_series_reducer and
29
+ # group_by_fields). For more details, see Aggregation.
30
+ class Aggregation
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # The alignment period for per-time series alignment. If present,
34
+ # alignmentPeriod must be at least 60 seconds. After per-time series alignment,
35
+ # each time series will contain data points only on the period boundaries. If
36
+ # perSeriesAligner is not specified or equals ALIGN_NONE, then this field is
37
+ # ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then
38
+ # this field must be defined; otherwise an error is returned.
39
+ # Corresponds to the JSON property `alignmentPeriod`
40
+ # @return [String]
41
+ attr_accessor :alignment_period
42
+
43
+ # The approach to be used to combine time series. Not all reducer functions may
44
+ # be applied to all time series, depending on the metric type and the value type
45
+ # of the original time series. Reduction may change the metric type of value
46
+ # type of the time series.Time series data must be aligned in order to perform
47
+ # cross-time series reduction. If crossSeriesReducer is specified, then
48
+ # perSeriesAligner must be specified and not equal ALIGN_NONE and
49
+ # alignmentPeriod must be specified; otherwise, an error is returned.
50
+ # Corresponds to the JSON property `crossSeriesReducer`
51
+ # @return [String]
52
+ attr_accessor :cross_series_reducer
53
+
54
+ # The set of fields to preserve when crossSeriesReducer is specified. The
55
+ # groupByFields determine how the time series are partitioned into subsets prior
56
+ # to applying the aggregation function. Each subset contains time series that
57
+ # have the same value for each of the grouping fields. Each individual time
58
+ # series is a member of exactly one subset. The crossSeriesReducer is applied to
59
+ # each subset of time series. It is not possible to reduce across different
60
+ # resource types, so this field implicitly contains resource.type. Fields not
61
+ # specified in groupByFields are aggregated away. If groupByFields is not
62
+ # specified and all the time series have the same resource type, then the time
63
+ # series are aggregated into a single output time series. If crossSeriesReducer
64
+ # is not defined, this field is ignored.
65
+ # Corresponds to the JSON property `groupByFields`
66
+ # @return [Array<String>]
67
+ attr_accessor :group_by_fields
68
+
69
+ # The approach to be used to align individual time series. Not all alignment
70
+ # functions may be applied to all time series, depending on the metric type and
71
+ # value type of the original time series. Alignment may change the metric type
72
+ # or the value type of the time series.Time series data must be aligned in order
73
+ # to perform cross-time series reduction. If crossSeriesReducer is specified,
74
+ # then perSeriesAligner must be specified and not equal ALIGN_NONE and
75
+ # alignmentPeriod must be specified; otherwise, an error is returned.
76
+ # Corresponds to the JSON property `perSeriesAligner`
77
+ # @return [String]
78
+ attr_accessor :per_series_aligner
79
+
80
+ def initialize(**args)
81
+ update!(**args)
82
+ end
83
+
84
+ # Update properties of this object
85
+ def update!(**args)
86
+ @alignment_period = args[:alignment_period] if args.key?(:alignment_period)
87
+ @cross_series_reducer = args[:cross_series_reducer] if args.key?(:cross_series_reducer)
88
+ @group_by_fields = args[:group_by_fields] if args.key?(:group_by_fields)
89
+ @per_series_aligner = args[:per_series_aligner] if args.key?(:per_series_aligner)
90
+ end
91
+ end
92
+
93
+ # A description of the conditions under which some aspect of your system is
94
+ # considered to be "unhealthy" and the ways to notify people or services about
95
+ # this state. For an overview of alert policies, see Introduction to Alerting.
96
+ class AlertPolicy
97
+ include Google::Apis::Core::Hashable
98
+
99
+ # How to combine the results of multiple conditions to determine if an incident
100
+ # should be opened.
101
+ # Corresponds to the JSON property `combiner`
102
+ # @return [String]
103
+ attr_accessor :combiner
104
+
105
+ # A list of conditions for the policy. The conditions are combined by AND or OR
106
+ # according to the combiner field. If the combined conditions evaluate to true,
107
+ # then an incident is created. A policy can have from one to six conditions.
108
+ # Corresponds to the JSON property `conditions`
109
+ # @return [Array<Google::Apis::MonitoringV3::Condition>]
110
+ attr_accessor :conditions
111
+
112
+ # Describes a change made to a configuration.
113
+ # Corresponds to the JSON property `creationRecord`
114
+ # @return [Google::Apis::MonitoringV3::MutationRecord]
115
+ attr_accessor :creation_record
116
+
117
+ # A short name or phrase used to identify the policy in dashboards,
118
+ # notifications, and incidents. To avoid confusion, don't use the same display
119
+ # name for multiple policies in the same project. The name is limited to 512
120
+ # Unicode characters.
121
+ # Corresponds to the JSON property `displayName`
122
+ # @return [String]
123
+ attr_accessor :display_name
124
+
125
+ # A content string and a MIME type that describes the content string's format.
126
+ # Corresponds to the JSON property `documentation`
127
+ # @return [Google::Apis::MonitoringV3::Documentation]
128
+ attr_accessor :documentation
129
+
130
+ # Whether or not the policy is enabled. On write, the default interpretation if
131
+ # unset is that the policy is enabled. On read, clients should not make any
132
+ # assumption about the state if it has not been populated. The field should
133
+ # always be populated on List and Get operations, unless a field projection has
134
+ # been specified that strips it out.
135
+ # Corresponds to the JSON property `enabled`
136
+ # @return [Boolean]
137
+ attr_accessor :enabled
138
+ alias_method :enabled?, :enabled
139
+
140
+ # Describes a change made to a configuration.
141
+ # Corresponds to the JSON property `mutationRecord`
142
+ # @return [Google::Apis::MonitoringV3::MutationRecord]
143
+ attr_accessor :mutation_record
144
+
145
+ # Required if the policy exists. The resource name for this policy. The syntax
146
+ # is:
147
+ # projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
148
+ # [ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy is
149
+ # created. When calling the alertPolicies.create method, do not include the name
150
+ # field in the alerting policy passed as part of the request.
151
+ # Corresponds to the JSON property `name`
152
+ # @return [String]
153
+ attr_accessor :name
154
+
155
+ # Identifies the notification channels to which notifications should be sent
156
+ # when incidents are opened or closed or when new violations occur on an already
157
+ # opened incident. Each element of this array corresponds to the name field in
158
+ # each of the NotificationChannel objects that are returned from the
159
+ # ListNotificationChannels method. The syntax of the entries in this field is:
160
+ # projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
161
+ # Corresponds to the JSON property `notificationChannels`
162
+ # @return [Array<String>]
163
+ attr_accessor :notification_channels
164
+
165
+ # User-supplied key/value data to be used for organizing and identifying the
166
+ # AlertPolicy objects.The field can contain up to 64 entries. Each key and value
167
+ # is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels
168
+ # and values can contain only lowercase letters, numerals, underscores, and
169
+ # dashes. Keys must begin with a letter.
170
+ # Corresponds to the JSON property `userLabels`
171
+ # @return [Hash<String,String>]
172
+ attr_accessor :user_labels
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @combiner = args[:combiner] if args.key?(:combiner)
181
+ @conditions = args[:conditions] if args.key?(:conditions)
182
+ @creation_record = args[:creation_record] if args.key?(:creation_record)
183
+ @display_name = args[:display_name] if args.key?(:display_name)
184
+ @documentation = args[:documentation] if args.key?(:documentation)
185
+ @enabled = args[:enabled] if args.key?(:enabled)
186
+ @mutation_record = args[:mutation_record] if args.key?(:mutation_record)
187
+ @name = args[:name] if args.key?(:name)
188
+ @notification_channels = args[:notification_channels] if args.key?(:notification_channels)
189
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
190
+ end
191
+ end
192
+
25
193
  # A type of authentication to perform against the specified resource or URL that
26
194
  # uses username and password. Currently, only Basic authentication is supported
27
195
  # in Uptime Monitoring.
@@ -327,13 +495,70 @@ module Google
327
495
  end
328
496
  end
329
497
 
498
+ # A condition is a true/false test that determines when an alerting policy
499
+ # should open an incident. If a condition evaluates to true, it signifies that
500
+ # something is wrong.
501
+ class Condition
502
+ include Google::Apis::Core::Hashable
503
+
504
+ # A condition type that checks that monitored resources are reporting data. The
505
+ # configuration defines a metric and a set of monitored resources. The predicate
506
+ # is considered in violation when a time series for the specified metric of a
507
+ # monitored resource does not include any data in the specified duration.
508
+ # Corresponds to the JSON property `conditionAbsent`
509
+ # @return [Google::Apis::MonitoringV3::MetricAbsence]
510
+ attr_accessor :condition_absent
511
+
512
+ # A condition type that compares a collection of time series against a threshold.
513
+ # Corresponds to the JSON property `conditionThreshold`
514
+ # @return [Google::Apis::MonitoringV3::MetricThreshold]
515
+ attr_accessor :condition_threshold
516
+
517
+ # A short name or phrase used to identify the condition in dashboards,
518
+ # notifications, and incidents. To avoid confusion, don't use the same display
519
+ # name for multiple conditions in the same policy.
520
+ # Corresponds to the JSON property `displayName`
521
+ # @return [String]
522
+ attr_accessor :display_name
523
+
524
+ # Required if the condition exists. The unique resource name for this condition.
525
+ # Its syntax is:
526
+ # projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]
527
+ # [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is
528
+ # created as part of a new or updated alerting policy.When calling the
529
+ # alertPolicies.create method, do not include the name field in the conditions
530
+ # of the requested alerting policy. Stackdriver Monitoring creates the condition
531
+ # identifiers and includes them in the new policy.When calling the alertPolicies.
532
+ # update method to update a policy, including a condition name causes the
533
+ # existing condition to be updated. Conditions without names are added to the
534
+ # updated policy. Existing conditions are deleted if they are not updated.Best
535
+ # practice is to preserve [CONDITION_ID] if you make only small changes, such as
536
+ # those to condition thresholds, durations, or trigger values. Otherwise, treat
537
+ # the change as a new condition and let the existing condition be deleted.
538
+ # Corresponds to the JSON property `name`
539
+ # @return [String]
540
+ attr_accessor :name
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ @condition_absent = args[:condition_absent] if args.key?(:condition_absent)
549
+ @condition_threshold = args[:condition_threshold] if args.key?(:condition_threshold)
550
+ @display_name = args[:display_name] if args.key?(:display_name)
551
+ @name = args[:name] if args.key?(:name)
552
+ end
553
+ end
554
+
330
555
  # Used to perform string matching. Currently, this matches on the exact content.
331
556
  # In the future, it can be expanded to allow for regular expressions and more
332
557
  # complex matching.
333
558
  class ContentMatcher
334
559
  include Google::Apis::Core::Hashable
335
560
 
336
- # String content to match
561
+ # String content to match (max 1024 bytes)
337
562
  # Corresponds to the JSON property `content`
338
563
  # @return [String]
339
564
  attr_accessor :content
@@ -522,6 +747,35 @@ module Google
522
747
  end
523
748
  end
524
749
 
750
+ # A content string and a MIME type that describes the content string's format.
751
+ class Documentation
752
+ include Google::Apis::Core::Hashable
753
+
754
+ # The text of the documentation, interpreted according to mime_type. The content
755
+ # may not exceed 8,192 Unicode characters and may not exceed more than 10,240
756
+ # bytes when encoded in UTF-8 format, whichever is smaller.
757
+ # Corresponds to the JSON property `content`
758
+ # @return [String]
759
+ attr_accessor :content
760
+
761
+ # The format of the content field. Presently, only the value "text/markdown" is
762
+ # supported. See Markdown (https://en.wikipedia.org/wiki/Markdown) for more
763
+ # information.
764
+ # Corresponds to the JSON property `mimeType`
765
+ # @return [String]
766
+ attr_accessor :mime_type
767
+
768
+ def initialize(**args)
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @content = args[:content] if args.key?(:content)
775
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
776
+ end
777
+ end
778
+
525
779
  # A generic empty message that you can re-use to avoid defining duplicated empty
526
780
  # messages in your APIs. A typical example is to use it as the request or the
527
781
  # response type of an API method. For instance:
@@ -677,6 +931,63 @@ module Google
677
931
  end
678
932
  end
679
933
 
934
+ # The GetNotificationChannelVerificationCode request.
935
+ class GetNotificationChannelVerificationCodeRequest
936
+ include Google::Apis::Core::Hashable
937
+
938
+ # The desired expiration time. If specified, the API will guarantee that the
939
+ # returned code will not be valid after the specified timestamp; however, the
940
+ # API cannot guarantee that the returned code will be valid for at least as long
941
+ # as the requested time (the API puts an upper bound on the amount of time for
942
+ # which a code may be valid). If omitted, a default expiration will be used,
943
+ # which may be less than the max permissible expiration (so specifying an
944
+ # expiration may extend the code's lifetime over omitting an expiration, even
945
+ # though the API does impose an upper limit on the maximum expiration that is
946
+ # permitted).
947
+ # Corresponds to the JSON property `expireTime`
948
+ # @return [String]
949
+ attr_accessor :expire_time
950
+
951
+ def initialize(**args)
952
+ update!(**args)
953
+ end
954
+
955
+ # Update properties of this object
956
+ def update!(**args)
957
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
958
+ end
959
+ end
960
+
961
+ # The GetNotificationChannelVerificationCode request.
962
+ class GetNotificationChannelVerificationCodeResponse
963
+ include Google::Apis::Core::Hashable
964
+
965
+ # The verification code, which may be used to verify other channels that have an
966
+ # equivalent identity (i.e. other channels of the same type with the same
967
+ # fingerprint such as other email channels with the same email address or other
968
+ # sms channels with the same number).
969
+ # Corresponds to the JSON property `code`
970
+ # @return [String]
971
+ attr_accessor :code
972
+
973
+ # The expiration time associated with the code that was returned. If an
974
+ # expiration was provided in the request, this is the minimum of the requested
975
+ # expiration in the request and the max permitted expiration.
976
+ # Corresponds to the JSON property `expireTime`
977
+ # @return [String]
978
+ attr_accessor :expire_time
979
+
980
+ def initialize(**args)
981
+ update!(**args)
982
+ end
983
+
984
+ # Update properties of this object
985
+ def update!(**args)
986
+ @code = args[:code] if args.key?(:code)
987
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
988
+ end
989
+ end
990
+
680
991
  # The description of a dynamic collection of monitored resources. Each group has
681
992
  # a filter that is matched against monitored resources and their associated
682
993
  # metadata. If a group's filter matches an available monitored resource, then
@@ -924,6 +1235,33 @@ module Google
924
1235
  end
925
1236
  end
926
1237
 
1238
+ # The protocol for the ListAlertPolicies response.
1239
+ class ListAlertPoliciesResponse
1240
+ include Google::Apis::Core::Hashable
1241
+
1242
+ # The returned alert policies.
1243
+ # Corresponds to the JSON property `alertPolicies`
1244
+ # @return [Array<Google::Apis::MonitoringV3::AlertPolicy>]
1245
+ attr_accessor :alert_policies
1246
+
1247
+ # If there might be more results than were returned, then this field is set to a
1248
+ # non-empty value. To see the additional results, use that value as pageToken in
1249
+ # the next call to this method.
1250
+ # Corresponds to the JSON property `nextPageToken`
1251
+ # @return [String]
1252
+ attr_accessor :next_page_token
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ @alert_policies = args[:alert_policies] if args.key?(:alert_policies)
1261
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1262
+ end
1263
+ end
1264
+
927
1265
  # The ListGroupMembers response.
928
1266
  class ListGroupMembersResponse
929
1267
  include Google::Apis::Core::Hashable
@@ -1040,6 +1378,61 @@ module Google
1040
1378
  end
1041
1379
  end
1042
1380
 
1381
+ # The ListNotificationChannelDescriptors response.
1382
+ class ListNotificationChannelDescriptorsResponse
1383
+ include Google::Apis::Core::Hashable
1384
+
1385
+ # The monitored resource descriptors supported for the specified project,
1386
+ # optionally filtered.
1387
+ # Corresponds to the JSON property `channelDescriptors`
1388
+ # @return [Array<Google::Apis::MonitoringV3::NotificationChannelDescriptor>]
1389
+ attr_accessor :channel_descriptors
1390
+
1391
+ # If not empty, indicates that there may be more results that match the request.
1392
+ # Use the value in the page_token field in a subsequent request to fetch the
1393
+ # next set of results. If empty, all results have been returned.
1394
+ # Corresponds to the JSON property `nextPageToken`
1395
+ # @return [String]
1396
+ attr_accessor :next_page_token
1397
+
1398
+ def initialize(**args)
1399
+ update!(**args)
1400
+ end
1401
+
1402
+ # Update properties of this object
1403
+ def update!(**args)
1404
+ @channel_descriptors = args[:channel_descriptors] if args.key?(:channel_descriptors)
1405
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1406
+ end
1407
+ end
1408
+
1409
+ # The ListNotificationChannels response.
1410
+ class ListNotificationChannelsResponse
1411
+ include Google::Apis::Core::Hashable
1412
+
1413
+ # If not empty, indicates that there may be more results that match the request.
1414
+ # Use the value in the page_token field in a subsequent request to fetch the
1415
+ # next set of results. If empty, all results have been returned.
1416
+ # Corresponds to the JSON property `nextPageToken`
1417
+ # @return [String]
1418
+ attr_accessor :next_page_token
1419
+
1420
+ # The notification channels defined for the specified project.
1421
+ # Corresponds to the JSON property `notificationChannels`
1422
+ # @return [Array<Google::Apis::MonitoringV3::NotificationChannel>]
1423
+ attr_accessor :notification_channels
1424
+
1425
+ def initialize(**args)
1426
+ update!(**args)
1427
+ end
1428
+
1429
+ # Update properties of this object
1430
+ def update!(**args)
1431
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1432
+ @notification_channels = args[:notification_channels] if args.key?(:notification_channels)
1433
+ end
1434
+ end
1435
+
1043
1436
  # The ListTimeSeries response.
1044
1437
  class ListTimeSeriesResponse
1045
1438
  include Google::Apis::Core::Hashable
@@ -1161,6 +1554,61 @@ module Google
1161
1554
  end
1162
1555
  end
1163
1556
 
1557
+ # A condition type that checks that monitored resources are reporting data. The
1558
+ # configuration defines a metric and a set of monitored resources. The predicate
1559
+ # is considered in violation when a time series for the specified metric of a
1560
+ # monitored resource does not include any data in the specified duration.
1561
+ class MetricAbsence
1562
+ include Google::Apis::Core::Hashable
1563
+
1564
+ # Specifies the alignment of data points in individual time series as well as
1565
+ # how to combine the retrieved time series together (such as when aggregating
1566
+ # multiple streams on each resource to a single stream for each resource or when
1567
+ # aggregating streams across all members of a group of resrouces). Multiple
1568
+ # aggregations are applied in the order specified.This field is similar to the
1569
+ # one in the MetricService.ListTimeSeries request. It is advisable to use the
1570
+ # ListTimeSeries method when debugging this field.
1571
+ # Corresponds to the JSON property `aggregations`
1572
+ # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1573
+ attr_accessor :aggregations
1574
+
1575
+ # The amount of time that a time series must fail to report new data to be
1576
+ # considered failing. Currently, only values that are a multiple of a minute--e.
1577
+ # g. 60, 120, or 300 seconds--are supported. If an invalid value is given, an
1578
+ # error will be returned. The Duration.nanos field is ignored.
1579
+ # Corresponds to the JSON property `duration`
1580
+ # @return [String]
1581
+ attr_accessor :duration
1582
+
1583
+ # A filter that identifies which time series should be compared with the
1584
+ # threshold.The filter is similar to the one that is specified in the
1585
+ # MetricService.ListTimeSeries request (that call is useful to verify the time
1586
+ # series that will be retrieved / processed) and must specify the metric type
1587
+ # and optionally may contain restrictions on resource type, resource labels, and
1588
+ # metric labels. This field may not exceed 2048 Unicode characters in length.
1589
+ # Corresponds to the JSON property `filter`
1590
+ # @return [String]
1591
+ attr_accessor :filter
1592
+
1593
+ # Specifies how many time series must fail a predicate to trigger a condition.
1594
+ # If not specified, then a `count: 1` trigger is used.
1595
+ # Corresponds to the JSON property `trigger`
1596
+ # @return [Google::Apis::MonitoringV3::Trigger]
1597
+ attr_accessor :trigger
1598
+
1599
+ def initialize(**args)
1600
+ update!(**args)
1601
+ end
1602
+
1603
+ # Update properties of this object
1604
+ def update!(**args)
1605
+ @aggregations = args[:aggregations] if args.key?(:aggregations)
1606
+ @duration = args[:duration] if args.key?(:duration)
1607
+ @filter = args[:filter] if args.key?(:filter)
1608
+ @trigger = args[:trigger] if args.key?(:trigger)
1609
+ end
1610
+ end
1611
+
1164
1612
  # Defines a metric type and its schema. Once a metric descriptor is created,
1165
1613
  # deleting or altering it stops data collection and makes the metric type's
1166
1614
  # existing data unusable.
@@ -1241,6 +1689,106 @@ module Google
1241
1689
  end
1242
1690
  end
1243
1691
 
1692
+ # A condition type that compares a collection of time series against a threshold.
1693
+ class MetricThreshold
1694
+ include Google::Apis::Core::Hashable
1695
+
1696
+ # Specifies the alignment of data points in individual time series as well as
1697
+ # how to combine the retrieved time series together (such as when aggregating
1698
+ # multiple streams on each resource to a single stream for each resource or when
1699
+ # aggregating streams across all members of a group of resrouces). Multiple
1700
+ # aggregations are applied in the order specified.This field is similar to the
1701
+ # one in the MetricService.ListTimeSeries request. It is advisable to use the
1702
+ # ListTimeSeries method when debugging this field.
1703
+ # Corresponds to the JSON property `aggregations`
1704
+ # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1705
+ attr_accessor :aggregations
1706
+
1707
+ # The comparison to apply between the time series (indicated by filter and
1708
+ # aggregation) and the threshold (indicated by threshold_value). The comparison
1709
+ # is applied on each time series, with the time series on the left-hand side and
1710
+ # the threshold on the right-hand side.Only COMPARISON_LT and COMPARISON_GT are
1711
+ # supported currently.
1712
+ # Corresponds to the JSON property `comparison`
1713
+ # @return [String]
1714
+ attr_accessor :comparison
1715
+
1716
+ # Specifies the alignment of data points in individual time series selected by
1717
+ # denominatorFilter as well as how to combine the retrieved time series together
1718
+ # (such as when aggregating multiple streams on each resource to a single stream
1719
+ # for each resource or when aggregating streams across all members of a group of
1720
+ # resources).When computing ratios, the aggregations and
1721
+ # denominator_aggregations fields must use the same alignment period and produce
1722
+ # time series that have the same periodicity and labels.This field is similar to
1723
+ # the one in the MetricService.ListTimeSeries request. It is advisable to use
1724
+ # the ListTimeSeries method when debugging this field.
1725
+ # Corresponds to the JSON property `denominatorAggregations`
1726
+ # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1727
+ attr_accessor :denominator_aggregations
1728
+
1729
+ # A filter that identifies a time series that should be used as the denominator
1730
+ # of a ratio that will be compared with the threshold. If a denominator_filter
1731
+ # is specified, the time series specified by the filter field will be used as
1732
+ # the numerator.The filter is similar to the one that is specified in the
1733
+ # MetricService.ListTimeSeries request (that call is useful to verify the time
1734
+ # series that will be retrieved / processed) and must specify the metric type
1735
+ # and optionally may contain restrictions on resource type, resource labels, and
1736
+ # metric labels. This field may not exceed 2048 Unicode characters in length.
1737
+ # Corresponds to the JSON property `denominatorFilter`
1738
+ # @return [String]
1739
+ attr_accessor :denominator_filter
1740
+
1741
+ # The amount of time that a time series must violate the threshold to be
1742
+ # considered failing. Currently, only values that are a multiple of a minute--e.
1743
+ # g. 60, 120, or 300 seconds--are supported. If an invalid value is given, an
1744
+ # error will be returned. The Duration.nanos field is ignored. When choosing a
1745
+ # duration, it is useful to keep in mind the frequency of the underlying time
1746
+ # series data (which may also be affected by any alignments specified in the
1747
+ # aggregation field); a good duration is long enough so that a single outlier
1748
+ # does not generate spurious alerts, but short enough that unhealthy states are
1749
+ # detected and alerted on quickly.
1750
+ # Corresponds to the JSON property `duration`
1751
+ # @return [String]
1752
+ attr_accessor :duration
1753
+
1754
+ # A filter that identifies which time series should be compared with the
1755
+ # threshold.The filter is similar to the one that is specified in the
1756
+ # MetricService.ListTimeSeries request (that call is useful to verify the time
1757
+ # series that will be retrieved / processed) and must specify the metric type
1758
+ # and optionally may contain restrictions on resource type, resource labels, and
1759
+ # metric labels. This field may not exceed 2048 Unicode characters in length.
1760
+ # Corresponds to the JSON property `filter`
1761
+ # @return [String]
1762
+ attr_accessor :filter
1763
+
1764
+ # A value against which to compare the time series.
1765
+ # Corresponds to the JSON property `thresholdValue`
1766
+ # @return [Float]
1767
+ attr_accessor :threshold_value
1768
+
1769
+ # Specifies how many time series must fail a predicate to trigger a condition.
1770
+ # If not specified, then a `count: 1` trigger is used.
1771
+ # Corresponds to the JSON property `trigger`
1772
+ # @return [Google::Apis::MonitoringV3::Trigger]
1773
+ attr_accessor :trigger
1774
+
1775
+ def initialize(**args)
1776
+ update!(**args)
1777
+ end
1778
+
1779
+ # Update properties of this object
1780
+ def update!(**args)
1781
+ @aggregations = args[:aggregations] if args.key?(:aggregations)
1782
+ @comparison = args[:comparison] if args.key?(:comparison)
1783
+ @denominator_aggregations = args[:denominator_aggregations] if args.key?(:denominator_aggregations)
1784
+ @denominator_filter = args[:denominator_filter] if args.key?(:denominator_filter)
1785
+ @duration = args[:duration] if args.key?(:duration)
1786
+ @filter = args[:filter] if args.key?(:filter)
1787
+ @threshold_value = args[:threshold_value] if args.key?(:threshold_value)
1788
+ @trigger = args[:trigger] if args.key?(:trigger)
1789
+ end
1790
+ end
1791
+
1244
1792
  # An object representing a resource that can be used for monitoring, logging,
1245
1793
  # billing, or other purposes. Examples include virtual machine instances,
1246
1794
  # databases, and storage devices such as disks. The type field identifies a
@@ -1380,6 +1928,188 @@ module Google
1380
1928
  end
1381
1929
  end
1382
1930
 
1931
+ # Describes a change made to a configuration.
1932
+ class MutationRecord
1933
+ include Google::Apis::Core::Hashable
1934
+
1935
+ # When the change occurred.
1936
+ # Corresponds to the JSON property `mutateTime`
1937
+ # @return [String]
1938
+ attr_accessor :mutate_time
1939
+
1940
+ # The email address of the user making the change.
1941
+ # Corresponds to the JSON property `mutatedBy`
1942
+ # @return [String]
1943
+ attr_accessor :mutated_by
1944
+
1945
+ def initialize(**args)
1946
+ update!(**args)
1947
+ end
1948
+
1949
+ # Update properties of this object
1950
+ def update!(**args)
1951
+ @mutate_time = args[:mutate_time] if args.key?(:mutate_time)
1952
+ @mutated_by = args[:mutated_by] if args.key?(:mutated_by)
1953
+ end
1954
+ end
1955
+
1956
+ # A NotificationChannel is a medium through which an alert is delivered when a
1957
+ # policy violation is detected. Examples of channels include email, SMS, and
1958
+ # third-party messaging applications. Fields containing sensitive information
1959
+ # like authentication tokens or contact info are only partially populated on
1960
+ # retrieval.
1961
+ class NotificationChannel
1962
+ include Google::Apis::Core::Hashable
1963
+
1964
+ # An optional human-readable description of this notification channel. This
1965
+ # description may provide additional details, beyond the display name, for the
1966
+ # channel. This may not exceeed 1024 Unicode characters.
1967
+ # Corresponds to the JSON property `description`
1968
+ # @return [String]
1969
+ attr_accessor :description
1970
+
1971
+ # An optional human-readable name for this notification channel. It is
1972
+ # recommended that you specify a non-empty and unique name in order to make it
1973
+ # easier to identify the channels in your project, though this is not enforced.
1974
+ # The display name is limited to 512 Unicode characters.
1975
+ # Corresponds to the JSON property `displayName`
1976
+ # @return [String]
1977
+ attr_accessor :display_name
1978
+
1979
+ # Whether notifications are forwarded to the described channel. This makes it
1980
+ # possible to disable delivery of notifications to a particular channel without
1981
+ # removing the channel from all alerting policies that reference the channel.
1982
+ # This is a more convenient approach when the change is temporary and you want
1983
+ # to receive notifications from the same set of alerting policies on the channel
1984
+ # at some point in the future.
1985
+ # Corresponds to the JSON property `enabled`
1986
+ # @return [Boolean]
1987
+ attr_accessor :enabled
1988
+ alias_method :enabled?, :enabled
1989
+
1990
+ # Configuration fields that define the channel and its behavior. The permissible
1991
+ # and required labels are specified in the NotificationChannelDescriptor.labels
1992
+ # of the NotificationChannelDescriptor corresponding to the type field.
1993
+ # Corresponds to the JSON property `labels`
1994
+ # @return [Hash<String,String>]
1995
+ attr_accessor :labels
1996
+
1997
+ # The full REST resource name for this channel. The syntax is:
1998
+ # projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
1999
+ # The [CHANNEL_ID] is automatically assigned by the server on creation.
2000
+ # Corresponds to the JSON property `name`
2001
+ # @return [String]
2002
+ attr_accessor :name
2003
+
2004
+ # The type of the notification channel. This field matches the value of the
2005
+ # NotificationChannelDescriptor.type field.
2006
+ # Corresponds to the JSON property `type`
2007
+ # @return [String]
2008
+ attr_accessor :type
2009
+
2010
+ # User-supplied key/value data that does not need to conform to the
2011
+ # corresponding NotificationChannelDescriptor's schema, unlike the labels field.
2012
+ # This field is intended to be used for organizing and identifying the
2013
+ # NotificationChannel objects.The field can contain up to 64 entries. Each key
2014
+ # and value is limited to 63 Unicode characters or 128 bytes, whichever is
2015
+ # smaller. Labels and values can contain only lowercase letters, numerals,
2016
+ # underscores, and dashes. Keys must begin with a letter.
2017
+ # Corresponds to the JSON property `userLabels`
2018
+ # @return [Hash<String,String>]
2019
+ attr_accessor :user_labels
2020
+
2021
+ # Indicates whether this channel has been verified or not. On a
2022
+ # ListNotificationChannels or GetNotificationChannel operation, this field is
2023
+ # expected to be populated.If the value is UNVERIFIED, then it indicates that
2024
+ # the channel is non-functioning (it both requires verification and lacks
2025
+ # verification); otherwise, it is assumed that the channel works.If the channel
2026
+ # is neither VERIFIED nor UNVERIFIED, it implies that the channel is of a type
2027
+ # that does not require verification or that this specific channel has been
2028
+ # exempted from verification because it was created prior to verification being
2029
+ # required for channels of this type.This field cannot be modified using a
2030
+ # standard UpdateNotificationChannel operation. To change the value of this
2031
+ # field, you must call VerifyNotificationChannel.
2032
+ # Corresponds to the JSON property `verificationStatus`
2033
+ # @return [String]
2034
+ attr_accessor :verification_status
2035
+
2036
+ def initialize(**args)
2037
+ update!(**args)
2038
+ end
2039
+
2040
+ # Update properties of this object
2041
+ def update!(**args)
2042
+ @description = args[:description] if args.key?(:description)
2043
+ @display_name = args[:display_name] if args.key?(:display_name)
2044
+ @enabled = args[:enabled] if args.key?(:enabled)
2045
+ @labels = args[:labels] if args.key?(:labels)
2046
+ @name = args[:name] if args.key?(:name)
2047
+ @type = args[:type] if args.key?(:type)
2048
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
2049
+ @verification_status = args[:verification_status] if args.key?(:verification_status)
2050
+ end
2051
+ end
2052
+
2053
+ # A description of a notification channel. The descriptor includes the
2054
+ # properties of the channel and the set of labels or fields that must be
2055
+ # specified to configure channels of a given type.
2056
+ class NotificationChannelDescriptor
2057
+ include Google::Apis::Core::Hashable
2058
+
2059
+ # A human-readable description of the notification channel type. The description
2060
+ # may include a description of the properties of the channel and pointers to
2061
+ # external documentation.
2062
+ # Corresponds to the JSON property `description`
2063
+ # @return [String]
2064
+ attr_accessor :description
2065
+
2066
+ # A human-readable name for the notification channel type. This form of the name
2067
+ # is suitable for a user interface.
2068
+ # Corresponds to the JSON property `displayName`
2069
+ # @return [String]
2070
+ attr_accessor :display_name
2071
+
2072
+ # The set of labels that must be defined to identify a particular channel of the
2073
+ # corresponding type. Each label includes a description for how that field
2074
+ # should be populated.
2075
+ # Corresponds to the JSON property `labels`
2076
+ # @return [Array<Google::Apis::MonitoringV3::LabelDescriptor>]
2077
+ attr_accessor :labels
2078
+
2079
+ # The full REST resource name for this descriptor. The syntax is:
2080
+ # projects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE]
2081
+ # In the above, [TYPE] is the value of the type field.
2082
+ # Corresponds to the JSON property `name`
2083
+ # @return [String]
2084
+ attr_accessor :name
2085
+
2086
+ # The tiers that support this notification channel; the project service tier
2087
+ # must be one of the supported_tiers.
2088
+ # Corresponds to the JSON property `supportedTiers`
2089
+ # @return [Array<String>]
2090
+ attr_accessor :supported_tiers
2091
+
2092
+ # The type of notification channel, such as "email", "sms", etc. Notification
2093
+ # channel types are globally unique.
2094
+ # Corresponds to the JSON property `type`
2095
+ # @return [String]
2096
+ attr_accessor :type
2097
+
2098
+ def initialize(**args)
2099
+ update!(**args)
2100
+ end
2101
+
2102
+ # Update properties of this object
2103
+ def update!(**args)
2104
+ @description = args[:description] if args.key?(:description)
2105
+ @display_name = args[:display_name] if args.key?(:display_name)
2106
+ @labels = args[:labels] if args.key?(:labels)
2107
+ @name = args[:name] if args.key?(:name)
2108
+ @supported_tiers = args[:supported_tiers] if args.key?(:supported_tiers)
2109
+ @type = args[:type] if args.key?(:type)
2110
+ end
2111
+ end
2112
+
1383
2113
  # A protocol buffer option, which can be attached to a message, field,
1384
2114
  # enumeration, etc.
1385
2115
  class Option
@@ -1491,6 +2221,19 @@ module Google
1491
2221
  end
1492
2222
  end
1493
2223
 
2224
+ # The SendNotificationChannelVerificationCode request.
2225
+ class SendNotificationChannelVerificationCodeRequest
2226
+ include Google::Apis::Core::Hashable
2227
+
2228
+ def initialize(**args)
2229
+ update!(**args)
2230
+ end
2231
+
2232
+ # Update properties of this object
2233
+ def update!(**args)
2234
+ end
2235
+ end
2236
+
1494
2237
  # SourceContext represents information about the source of a protobuf element,
1495
2238
  # like the file in which it is defined.
1496
2239
  class SourceContext
@@ -1711,6 +2454,34 @@ module Google
1711
2454
  end
1712
2455
  end
1713
2456
 
2457
+ # Specifies how many time series must fail a predicate to trigger a condition.
2458
+ # If not specified, then a `count: 1` trigger is used.
2459
+ class Trigger
2460
+ include Google::Apis::Core::Hashable
2461
+
2462
+ # The absolute number of time series that must fail the predicate for the
2463
+ # condition to be triggered.
2464
+ # Corresponds to the JSON property `count`
2465
+ # @return [Fixnum]
2466
+ attr_accessor :count
2467
+
2468
+ # The percentage of time series that must fail the predicate for the condition
2469
+ # to be triggered.
2470
+ # Corresponds to the JSON property `percent`
2471
+ # @return [Float]
2472
+ attr_accessor :percent
2473
+
2474
+ def initialize(**args)
2475
+ update!(**args)
2476
+ end
2477
+
2478
+ # Update properties of this object
2479
+ def update!(**args)
2480
+ @count = args[:count] if args.key?(:count)
2481
+ @percent = args[:percent] if args.key?(:percent)
2482
+ end
2483
+ end
2484
+
1714
2485
  # A protocol buffer message type.
1715
2486
  class Type
1716
2487
  include Google::Apis::Core::Hashable
@@ -1882,7 +2653,7 @@ module Google
1882
2653
 
1883
2654
  # How often, in seconds, the uptime check is performed. Currently, the only
1884
2655
  # supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and
1885
- # 900s (15 minutes). Required.
2656
+ # 900s (15 minutes). Optional, defaults to 300s.
1886
2657
  # Corresponds to the JSON property `period`
1887
2658
  # @return [String]
1888
2659
  attr_accessor :period
@@ -1970,6 +2741,30 @@ module Google
1970
2741
  @region = args[:region] if args.key?(:region)
1971
2742
  end
1972
2743
  end
2744
+
2745
+ # The VerifyNotificationChannel request.
2746
+ class VerifyNotificationChannelRequest
2747
+ include Google::Apis::Core::Hashable
2748
+
2749
+ # The verification code that was delivered to the channel as a result of
2750
+ # invoking the SendNotificationChannelVerificationCode API method or that was
2751
+ # retrieved from a verified channel via GetNotificationChannelVerificationCode.
2752
+ # For example, one might have "G-123456" or "TKNZGhhd2EyN3I1MnRnMjRv" (in
2753
+ # general, one is only guaranteed that the code is valid UTF-8; one should not
2754
+ # make any assumptions regarding the structure or format of the code).
2755
+ # Corresponds to the JSON property `code`
2756
+ # @return [String]
2757
+ attr_accessor :code
2758
+
2759
+ def initialize(**args)
2760
+ update!(**args)
2761
+ end
2762
+
2763
+ # Update properties of this object
2764
+ def update!(**args)
2765
+ @code = args[:code] if args.key?(:code)
2766
+ end
2767
+ end
1973
2768
  end
1974
2769
  end
1975
2770
  end