google-api-client 0.19.8 → 0.20.0

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