google-api-client 0.34.1 → 0.35.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 (312) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +16 -3
  3. data/CHANGELOG.md +114 -0
  4. data/OVERVIEW.md +36 -0
  5. data/README.md +49 -1
  6. data/Rakefile +1 -1
  7. data/docs/api-keys.md +20 -0
  8. data/docs/auth.md +53 -0
  9. data/docs/client-secrets.md +69 -0
  10. data/docs/getting-started.md +340 -0
  11. data/docs/installation.md +0 -0
  12. data/docs/logging.md +34 -0
  13. data/docs/media-upload.md +25 -0
  14. data/docs/oauth-installed.md +191 -0
  15. data/docs/oauth-server.md +135 -0
  16. data/docs/oauth-web.md +280 -0
  17. data/docs/oauth.md +268 -0
  18. data/docs/pagination.md +29 -0
  19. data/docs/performance.md +25 -0
  20. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  21. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  22. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +9 -0
  23. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  24. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  25. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +9 -0
  26. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  27. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  28. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  29. data/generated/google/apis/androidpublisher_v3/classes.rb +93 -0
  30. data/generated/google/apis/androidpublisher_v3/representations.rb +49 -0
  31. data/generated/google/apis/appengine_v1.rb +1 -1
  32. data/generated/google/apis/appengine_v1beta.rb +1 -1
  33. data/generated/google/apis/appsmarket_v2.rb +1 -1
  34. data/generated/google/apis/bigquery_v2.rb +1 -1
  35. data/generated/google/apis/bigquery_v2/classes.rb +46 -4
  36. data/generated/google/apis/bigquery_v2/representations.rb +17 -0
  37. data/generated/google/apis/bigquery_v2/service.rb +1 -5
  38. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  39. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -5
  40. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  41. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -4
  42. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  43. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -21
  44. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  45. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  46. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +116 -1
  47. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +35 -0
  48. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  49. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  50. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +61 -77
  51. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +16 -17
  52. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +112 -78
  53. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  54. data/generated/google/apis/bigtableadmin_v1/classes.rb +1 -1
  55. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  56. data/generated/google/apis/bigtableadmin_v2/classes.rb +1 -1
  57. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  58. data/generated/google/apis/{sqladmin_v1beta4.rb → billingbudgets_v1beta1.rb} +10 -13
  59. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +392 -0
  60. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +191 -0
  61. data/generated/google/apis/billingbudgets_v1beta1/service.rb +233 -0
  62. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  63. data/generated/google/apis/binaryauthorization_v1/classes.rb +6 -5
  64. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  65. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -5
  66. data/generated/google/apis/books_v1.rb +1 -1
  67. data/generated/google/apis/books_v1/classes.rb +20 -0
  68. data/generated/google/apis/books_v1/representations.rb +3 -0
  69. data/generated/google/apis/calendar_v3.rb +1 -1
  70. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  71. data/generated/google/apis/calendar_v3/service.rb +18 -30
  72. data/generated/google/apis/civicinfo_v2.rb +1 -1
  73. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  74. data/generated/google/apis/civicinfo_v2/representations.rb +0 -58
  75. data/generated/google/apis/cloudasset_v1.rb +1 -1
  76. data/generated/google/apis/cloudasset_v1/classes.rb +6 -5
  77. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  78. data/generated/google/apis/cloudasset_v1beta1/classes.rb +6 -5
  79. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  80. data/generated/google/apis/cloudbilling_v1/classes.rb +17 -0
  81. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  82. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -2
  83. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  84. data/generated/google/apis/cloudbuild_v1/service.rb +18 -18
  85. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  86. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +8 -2
  87. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +1 -0
  88. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +4 -1
  89. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  90. data/generated/google/apis/cloudfunctions_v1/classes.rb +13 -5
  91. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  92. data/generated/google/apis/cloudfunctions_v1/service.rb +3 -1
  93. data/generated/google/apis/cloudiot_v1.rb +1 -1
  94. data/generated/google/apis/cloudiot_v1/classes.rb +6 -5
  95. data/generated/google/apis/cloudkms_v1.rb +1 -1
  96. data/generated/google/apis/cloudkms_v1/classes.rb +6 -5
  97. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  98. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +6 -5
  99. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  100. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +6 -5
  101. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  102. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  103. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  104. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +6 -5
  105. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  106. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +6 -5
  107. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  108. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  109. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  110. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  111. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  112. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -130
  113. data/generated/google/apis/cloudsearch_v1/representations.rb +0 -75
  114. data/generated/google/apis/cloudsearch_v1/service.rb +42 -7
  115. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  116. data/generated/google/apis/cloudtasks_v2/classes.rb +212 -5
  117. data/generated/google/apis/cloudtasks_v2/representations.rb +50 -0
  118. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  119. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +6 -5
  120. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  121. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +6 -5
  122. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  123. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +14 -19
  124. data/generated/google/apis/compute_alpha.rb +1 -1
  125. data/generated/google/apis/compute_alpha/classes.rb +75 -12
  126. data/generated/google/apis/compute_alpha/representations.rb +2 -0
  127. data/generated/google/apis/compute_beta.rb +1 -1
  128. data/generated/google/apis/compute_beta/classes.rb +54 -10
  129. data/generated/google/apis/compute_v1.rb +1 -1
  130. data/generated/google/apis/compute_v1/classes.rb +54 -10
  131. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  132. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +6 -5
  133. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  134. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +6 -5
  135. data/generated/google/apis/content_v2.rb +1 -1
  136. data/generated/google/apis/content_v2/classes.rb +13 -4
  137. data/generated/google/apis/content_v2_1.rb +1 -1
  138. data/generated/google/apis/content_v2_1/classes.rb +13 -4
  139. data/generated/google/apis/datacatalog_v1beta1.rb +35 -0
  140. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1646 -0
  141. data/generated/google/apis/datacatalog_v1beta1/representations.rb +700 -0
  142. data/generated/google/apis/datacatalog_v1beta1/service.rb +1982 -0
  143. data/generated/google/apis/dataproc_v1.rb +1 -1
  144. data/generated/google/apis/dataproc_v1/classes.rb +75 -4
  145. data/generated/google/apis/dataproc_v1/representations.rb +22 -0
  146. data/generated/google/apis/dataproc_v1/service.rb +14 -7
  147. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  148. data/generated/google/apis/dataproc_v1beta2/classes.rb +2 -4
  149. data/generated/google/apis/dataproc_v1beta2/service.rb +14 -7
  150. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  151. data/generated/google/apis/dfareporting_v3_3/classes.rb +21 -1
  152. data/generated/google/apis/dfareporting_v3_3/service.rb +6 -6
  153. data/generated/google/apis/dfareporting_v3_4.rb +40 -0
  154. data/generated/google/apis/dfareporting_v3_4/classes.rb +12717 -0
  155. data/generated/google/apis/dfareporting_v3_4/representations.rb +4595 -0
  156. data/generated/google/apis/dfareporting_v3_4/service.rb +8685 -0
  157. data/generated/google/apis/dialogflow_v2.rb +1 -1
  158. data/generated/google/apis/dialogflow_v2/classes.rb +484 -1
  159. data/generated/google/apis/dialogflow_v2/representations.rb +220 -0
  160. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  161. data/generated/google/apis/dialogflow_v2beta1/classes.rb +497 -1
  162. data/generated/google/apis/dialogflow_v2beta1/representations.rb +221 -0
  163. data/generated/google/apis/dlp_v2.rb +1 -1
  164. data/generated/google/apis/dlp_v2/classes.rb +68 -25
  165. data/generated/google/apis/dlp_v2/representations.rb +9 -4
  166. data/generated/google/apis/dlp_v2/service.rb +1925 -193
  167. data/generated/google/apis/dns_v1beta2.rb +1 -1
  168. data/generated/google/apis/dns_v1beta2/classes.rb +47 -0
  169. data/generated/google/apis/dns_v1beta2/representations.rb +17 -0
  170. data/generated/google/apis/docs_v1.rb +1 -1
  171. data/generated/google/apis/docs_v1/classes.rb +4 -8
  172. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  173. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +34 -0
  174. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +826 -0
  175. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +372 -0
  176. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +371 -0
  177. data/generated/google/apis/drive_v3.rb +1 -1
  178. data/generated/google/apis/drive_v3/classes.rb +12 -3
  179. data/generated/google/apis/fcm_v1.rb +1 -1
  180. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  181. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  182. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  183. data/generated/google/apis/firebase_v1beta1/classes.rb +3 -4
  184. data/generated/google/apis/firebase_v1beta1/service.rb +6 -6
  185. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  186. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +25 -0
  187. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +15 -0
  188. data/generated/google/apis/firebasehosting_v1beta1/service.rb +47 -0
  189. data/generated/google/apis/firebaserules_v1.rb +1 -1
  190. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  191. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  192. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  193. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  194. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  195. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  196. data/generated/google/apis/healthcare_v1beta1/classes.rb +8 -7
  197. data/generated/google/apis/homegraph_v1.rb +1 -1
  198. data/generated/google/apis/homegraph_v1/classes.rb +15 -1
  199. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  200. data/generated/google/apis/iam_v1.rb +1 -1
  201. data/generated/google/apis/iam_v1/classes.rb +6 -5
  202. data/generated/google/apis/logging_v2.rb +1 -1
  203. data/generated/google/apis/logging_v2/classes.rb +18 -2
  204. data/generated/google/apis/logging_v2/representations.rb +2 -0
  205. data/generated/google/apis/ml_v1.rb +1 -1
  206. data/generated/google/apis/ml_v1/classes.rb +173 -97
  207. data/generated/google/apis/ml_v1/representations.rb +58 -0
  208. data/generated/google/apis/ml_v1/service.rb +37 -0
  209. data/generated/google/apis/monitoring_v3.rb +1 -1
  210. data/generated/google/apis/monitoring_v3/classes.rb +780 -6
  211. data/generated/google/apis/monitoring_v3/representations.rb +347 -0
  212. data/generated/google/apis/monitoring_v3/service.rb +382 -0
  213. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  214. data/generated/google/apis/pagespeedonline_v5/classes.rb +8 -0
  215. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  216. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  217. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +6 -5
  218. data/generated/google/apis/pubsub_v1.rb +1 -1
  219. data/generated/google/apis/pubsub_v1/classes.rb +8 -6
  220. data/generated/google/apis/pubsub_v1/service.rb +6 -7
  221. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  222. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -5
  223. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  224. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  225. data/generated/google/apis/recommender_v1beta1/service.rb +10 -8
  226. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  227. data/generated/google/apis/remotebuildexecution_v1/classes.rb +33 -0
  228. data/generated/google/apis/remotebuildexecution_v1/representations.rb +15 -0
  229. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  230. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +33 -0
  231. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +15 -0
  232. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  233. data/generated/google/apis/remotebuildexecution_v2/classes.rb +33 -0
  234. data/generated/google/apis/remotebuildexecution_v2/representations.rb +15 -0
  235. data/generated/google/apis/run_v1.rb +1 -1
  236. data/generated/google/apis/run_v1/classes.rb +8 -169
  237. data/generated/google/apis/run_v1/representations.rb +0 -71
  238. data/generated/google/apis/run_v1/service.rb +229 -1207
  239. data/generated/google/apis/run_v1alpha1.rb +1 -1
  240. data/generated/google/apis/run_v1alpha1/classes.rb +9 -9
  241. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  242. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +6 -5
  243. data/generated/google/apis/securitycenter_v1.rb +1 -1
  244. data/generated/google/apis/securitycenter_v1/classes.rb +66 -11
  245. data/generated/google/apis/securitycenter_v1/representations.rb +19 -0
  246. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  247. data/generated/google/apis/securitycenter_v1beta1/classes.rb +16 -13
  248. data/generated/google/apis/servicebroker_v1.rb +1 -1
  249. data/generated/google/apis/servicebroker_v1/classes.rb +6 -5
  250. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  251. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +6 -5
  252. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  253. data/generated/google/apis/servicebroker_v1beta1/classes.rb +6 -5
  254. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  255. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +3 -2
  256. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  257. data/generated/google/apis/servicecontrol_v1/classes.rb +8 -1
  258. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  259. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  260. data/generated/google/apis/servicemanagement_v1/classes.rb +12 -9
  261. data/generated/google/apis/servicemanagement_v1/service.rb +1 -9
  262. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  263. data/generated/google/apis/servicenetworking_v1/classes.rb +130 -13
  264. data/generated/google/apis/servicenetworking_v1/representations.rb +58 -0
  265. data/generated/google/apis/servicenetworking_v1/service.rb +42 -3
  266. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  267. data/generated/google/apis/servicenetworking_v1beta/classes.rb +3 -2
  268. data/generated/google/apis/serviceusage_v1.rb +1 -1
  269. data/generated/google/apis/serviceusage_v1/classes.rb +3 -2
  270. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  271. data/generated/google/apis/serviceusage_v1beta1/classes.rb +3 -2
  272. data/generated/google/apis/sheets_v4.rb +1 -1
  273. data/generated/google/apis/spanner_v1.rb +1 -1
  274. data/generated/google/apis/spanner_v1/classes.rb +70 -30
  275. data/generated/google/apis/spanner_v1/service.rb +270 -0
  276. data/generated/google/apis/speech_v1.rb +1 -1
  277. data/generated/google/apis/speech_v1/classes.rb +6 -0
  278. data/generated/google/apis/speech_v1/representations.rb +1 -0
  279. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  280. data/generated/google/apis/speech_v1p1beta1/classes.rb +6 -0
  281. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  282. data/generated/google/apis/sql_v1beta4.rb +1 -1
  283. data/generated/google/apis/sql_v1beta4/service.rb +59 -10
  284. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  285. data/generated/google/apis/videointelligence_v1.rb +1 -1
  286. data/generated/google/apis/videointelligence_v1/classes.rb +112 -0
  287. data/generated/google/apis/videointelligence_v1/representations.rb +62 -0
  288. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  289. data/generated/google/apis/videointelligence_v1beta2/classes.rb +112 -0
  290. data/generated/google/apis/videointelligence_v1beta2/representations.rb +62 -0
  291. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  292. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +112 -0
  293. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +62 -0
  294. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  295. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +112 -0
  296. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +62 -0
  297. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  298. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +112 -0
  299. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +62 -0
  300. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  301. data/lib/google/apis/core/api_command.rb +3 -0
  302. data/lib/google/apis/core/http_command.rb +10 -8
  303. data/lib/google/apis/version.rb +1 -1
  304. data/rakelib/devsite/devsite_builder.rb +1 -1
  305. metadata +33 -11
  306. data/generated/google/apis/sqladmin_v1beta4/classes.rb +0 -2633
  307. data/generated/google/apis/sqladmin_v1beta4/representations.rb +0 -1110
  308. data/generated/google/apis/sqladmin_v1beta4/service.rb +0 -1793
  309. data/generated/google/apis/storage_v1beta1.rb +0 -40
  310. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  311. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  312. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
@@ -70,6 +70,18 @@ module Google
70
70
  include Google::Apis::Core::JsonObjectSupport
71
71
  end
72
72
 
73
+ class GoogleCloudMlV1ExplainRequest
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class GoogleCloudMlV1ExplanationConfig
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
73
85
  class GoogleCloudMlV1GetConfigResponse
74
86
  class Representation < Google::Apis::Core::JsonRepresentation; end
75
87
 
@@ -88,6 +100,12 @@ module Google
88
100
  include Google::Apis::Core::JsonObjectSupport
89
101
  end
90
102
 
103
+ class GoogleCloudMlV1IntegratedGradientsAttribution
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
91
109
  class GoogleCloudMlV1Job
92
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
111
 
@@ -178,6 +196,12 @@ module Google
178
196
  include Google::Apis::Core::JsonObjectSupport
179
197
  end
180
198
 
199
+ class GoogleCloudMlV1SampledShapleyAttribution
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
181
205
  class GoogleCloudMlV1SetDefaultVersionRequest
182
206
  class Representation < Google::Apis::Core::JsonRepresentation; end
183
207
 
@@ -337,6 +361,24 @@ module Google
337
361
  end
338
362
  end
339
363
 
364
+ class GoogleCloudMlV1ExplainRequest
365
+ # @private
366
+ class Representation < Google::Apis::Core::JsonRepresentation
367
+ property :http_body, as: 'httpBody', class: Google::Apis::MlV1::GoogleApiHttpBody, decorator: Google::Apis::MlV1::GoogleApiHttpBody::Representation
368
+
369
+ end
370
+ end
371
+
372
+ class GoogleCloudMlV1ExplanationConfig
373
+ # @private
374
+ class Representation < Google::Apis::Core::JsonRepresentation
375
+ property :integrated_gradients_attribution, as: 'integratedGradientsAttribution', class: Google::Apis::MlV1::GoogleCloudMlV1IntegratedGradientsAttribution, decorator: Google::Apis::MlV1::GoogleCloudMlV1IntegratedGradientsAttribution::Representation
376
+
377
+ property :sampled_shapley_attribution, as: 'sampledShapleyAttribution', class: Google::Apis::MlV1::GoogleCloudMlV1SampledShapleyAttribution, decorator: Google::Apis::MlV1::GoogleCloudMlV1SampledShapleyAttribution::Representation
378
+
379
+ end
380
+ end
381
+
340
382
  class GoogleCloudMlV1GetConfigResponse
341
383
  # @private
342
384
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -381,6 +423,13 @@ module Google
381
423
  end
382
424
  end
383
425
 
426
+ class GoogleCloudMlV1IntegratedGradientsAttribution
427
+ # @private
428
+ class Representation < Google::Apis::Core::JsonRepresentation
429
+ property :num_integral_steps, as: 'numIntegralSteps'
430
+ end
431
+ end
432
+
384
433
  class GoogleCloudMlV1Job
385
434
  # @private
386
435
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -553,6 +602,13 @@ module Google
553
602
  end
554
603
  end
555
604
 
605
+ class GoogleCloudMlV1SampledShapleyAttribution
606
+ # @private
607
+ class Representation < Google::Apis::Core::JsonRepresentation
608
+ property :num_paths, as: 'numPaths'
609
+ end
610
+ end
611
+
556
612
  class GoogleCloudMlV1SetDefaultVersionRequest
557
613
  # @private
558
614
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -614,6 +670,8 @@ module Google
614
670
  property :description, as: 'description'
615
671
  property :error_message, as: 'errorMessage'
616
672
  property :etag, :base64 => true, as: 'etag'
673
+ property :explanation_config, as: 'explanationConfig', class: Google::Apis::MlV1::GoogleCloudMlV1ExplanationConfig, decorator: Google::Apis::MlV1::GoogleCloudMlV1ExplanationConfig::Representation
674
+
617
675
  property :framework, as: 'framework'
618
676
  property :is_default, as: 'isDefault'
619
677
  hash :labels, as: 'labels'
@@ -47,6 +47,43 @@ module Google
47
47
  @batch_path = 'batch'
48
48
  end
49
49
 
50
+ # Performs explanation on the data in the request.
51
+ # AI Platform implements a custom `explain` verb on top of an HTTP POST
52
+ # method. <p>For details of the request and response format, see the **guide
53
+ # to the [explain request format](/ml-engine/docs/v1/explain-request)**.
54
+ # @param [String] name
55
+ # Required. The resource name of a model or a version.
56
+ # Authorization: requires the `predict` permission on the specified resource.
57
+ # @param [Google::Apis::MlV1::GoogleCloudMlV1ExplainRequest] google_cloud_ml_v1__explain_request_object
58
+ # @param [String] fields
59
+ # Selector specifying which fields to include in a partial response.
60
+ # @param [String] quota_user
61
+ # Available to use for quota purposes for server-side applications. Can be any
62
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
63
+ # @param [Google::Apis::RequestOptions] options
64
+ # Request-specific options
65
+ #
66
+ # @yield [result, err] Result & error if block supplied
67
+ # @yieldparam result [Google::Apis::MlV1::GoogleApiHttpBody] parsed result object
68
+ # @yieldparam err [StandardError] error object if request failed
69
+ #
70
+ # @return [Google::Apis::MlV1::GoogleApiHttpBody]
71
+ #
72
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
73
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
74
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
75
+ def explain_project(name, google_cloud_ml_v1__explain_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
76
+ command = make_simple_command(:post, 'v1/{+name}:explain', options)
77
+ command.request_representation = Google::Apis::MlV1::GoogleCloudMlV1ExplainRequest::Representation
78
+ command.request_object = google_cloud_ml_v1__explain_request_object
79
+ command.response_representation = Google::Apis::MlV1::GoogleApiHttpBody::Representation
80
+ command.response_class = Google::Apis::MlV1::GoogleApiHttpBody
81
+ command.params['name'] = name unless name.nil?
82
+ command.query['fields'] = fields unless fields.nil?
83
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
84
+ execute_or_queue_command(command, &block)
85
+ end
86
+
50
87
  # Get the service account information associated with your project. You need
51
88
  # this information in order to grant the service account permissions for
52
89
  # the Google Cloud Storage location where you put your model training code
@@ -30,7 +30,7 @@ module Google
30
30
  # @see https://cloud.google.com/monitoring/api/
31
31
  module MonitoringV3
32
32
  VERSION = 'V3'
33
- REVISION = '20191027'
33
+ REVISION = '20191118'
34
34
 
35
35
  # View and manage your data across Google Cloud Platform services
36
36
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -201,6 +201,40 @@ module Google
201
201
  end
202
202
  end
203
203
 
204
+ # App Engine service. Learn more at https://cloud.google.com/appengine.
205
+ class AppEngine
206
+ include Google::Apis::Core::Hashable
207
+
208
+ # The ID of the App Engine module underlying this service. Corresponds to the
209
+ # module_id resource label in the gae_app monitored resource: https://cloud.
210
+ # google.com/monitoring/api/resources#tag_gae_app
211
+ # Corresponds to the JSON property `moduleId`
212
+ # @return [String]
213
+ attr_accessor :module_id
214
+
215
+ def initialize(**args)
216
+ update!(**args)
217
+ end
218
+
219
+ # Update properties of this object
220
+ def update!(**args)
221
+ @module_id = args[:module_id] if args.key?(:module_id)
222
+ end
223
+ end
224
+
225
+ # Future parameters for the availability SLI.
226
+ class AvailabilityCriteria
227
+ include Google::Apis::Core::Hashable
228
+
229
+ def initialize(**args)
230
+ update!(**args)
231
+ end
232
+
233
+ # Update properties of this object
234
+ def update!(**args)
235
+ end
236
+ end
237
+
204
238
  # The authentication parameters to provide to the specified resource or URL that
205
239
  # requires a username and password. Currently, only Basic HTTP authentication (
206
240
  # https://tools.ietf.org/html/rfc7617) is supported in Uptime checks.
@@ -228,6 +262,63 @@ module Google
228
262
  end
229
263
  end
230
264
 
265
+ # An SLI measuring performance on a well-known service type. Performance will be
266
+ # computed on the basis of pre-defined metrics. The type of the service_resource
267
+ # determines the metrics to use and the service_resource.labels and
268
+ # metric_labels are used to construct a monitoring filter to filter that metric
269
+ # down to just the data relevant to this service.
270
+ class BasicSli
271
+ include Google::Apis::Core::Hashable
272
+
273
+ # Future parameters for the availability SLI.
274
+ # Corresponds to the JSON property `availability`
275
+ # @return [Google::Apis::MonitoringV3::AvailabilityCriteria]
276
+ attr_accessor :availability
277
+
278
+ # Parameters for a latency threshold SLI.
279
+ # Corresponds to the JSON property `latency`
280
+ # @return [Google::Apis::MonitoringV3::LatencyCriteria]
281
+ attr_accessor :latency
282
+
283
+ # OPTIONAL: The set of locations to which this SLI is relevant. Telemetry from
284
+ # other locations will not be used to calculate performance for this SLI. If
285
+ # omitted, this SLI applies to all locations in which the Service has activity.
286
+ # For service types that don't support breaking down by location, setting this
287
+ # field will result in an error.
288
+ # Corresponds to the JSON property `location`
289
+ # @return [Array<String>]
290
+ attr_accessor :location
291
+
292
+ # OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from other
293
+ # methods will not be used to calculate performance for this SLI. If omitted,
294
+ # this SLI applies to all the Service's methods. For service types that don't
295
+ # support breaking down by method, setting this field will result in an error.
296
+ # Corresponds to the JSON property `method`
297
+ # @return [Array<String>]
298
+ attr_accessor :method_prop
299
+
300
+ # OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry
301
+ # from other API versions will not be used to calculate performance for this SLI.
302
+ # If omitted, this SLI applies to all API versions. For service types that don'
303
+ # t support breaking down by version, setting this field will result in an error.
304
+ # Corresponds to the JSON property `version`
305
+ # @return [Array<String>]
306
+ attr_accessor :version
307
+
308
+ def initialize(**args)
309
+ update!(**args)
310
+ end
311
+
312
+ # Update properties of this object
313
+ def update!(**args)
314
+ @availability = args[:availability] if args.key?(:availability)
315
+ @latency = args[:latency] if args.key?(:latency)
316
+ @location = args[:location] if args.key?(:location)
317
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
318
+ @version = args[:version] if args.key?(:version)
319
+ end
320
+ end
321
+
231
322
  # BucketOptions describes the bucket boundaries used to create a histogram for
232
323
  # the distribution. The buckets can be in a linear sequence, an exponential
233
324
  # sequence, or each bucket can be specified explicitly. BucketOptions does not
@@ -286,6 +377,68 @@ module Google
286
377
  end
287
378
  end
288
379
 
380
+ # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
381
+ class CloudEndpoints
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # The name of the Cloud Endpoints service underlying this service. Corresponds
385
+ # to the service resource label in the api monitored resource: https://cloud.
386
+ # google.com/monitoring/api/resources#tag_api
387
+ # Corresponds to the JSON property `service`
388
+ # @return [String]
389
+ attr_accessor :service
390
+
391
+ def initialize(**args)
392
+ update!(**args)
393
+ end
394
+
395
+ # Update properties of this object
396
+ def update!(**args)
397
+ @service = args[:service] if args.key?(:service)
398
+ end
399
+ end
400
+
401
+ # Istio service. Learn more at http://istio.io.
402
+ class ClusterIstio
403
+ include Google::Apis::Core::Hashable
404
+
405
+ # The name of the Kubernetes cluster in which this Istio service is defined.
406
+ # Corresponds to the cluster_name resource label in k8s_cluster resources.
407
+ # Corresponds to the JSON property `clusterName`
408
+ # @return [String]
409
+ attr_accessor :cluster_name
410
+
411
+ # The location of the Kubernetes cluster in which this Istio service is defined.
412
+ # Corresponds to the location resource label in k8s_cluster resources.
413
+ # Corresponds to the JSON property `location`
414
+ # @return [String]
415
+ attr_accessor :location
416
+
417
+ # The name of the Istio service underlying this service. Corresponds to the
418
+ # destination_service_name metric label in Istio metrics.
419
+ # Corresponds to the JSON property `serviceName`
420
+ # @return [String]
421
+ attr_accessor :service_name
422
+
423
+ # The namespace of the Istio service underlying this service. Corresponds to the
424
+ # destination_service_namespace metric label in Istio metrics.
425
+ # Corresponds to the JSON property `serviceNamespace`
426
+ # @return [String]
427
+ attr_accessor :service_namespace
428
+
429
+ def initialize(**args)
430
+ update!(**args)
431
+ end
432
+
433
+ # Update properties of this object
434
+ def update!(**args)
435
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
436
+ @location = args[:location] if args.key?(:location)
437
+ @service_name = args[:service_name] if args.key?(:service_name)
438
+ @service_namespace = args[:service_namespace] if args.key?(:service_namespace)
439
+ end
440
+ end
441
+
289
442
  # A collection of data points sent from a collectd-based plugin. See the
290
443
  # collectd documentation for more information.
291
444
  class CollectdPayload
@@ -507,12 +660,15 @@ module Google
507
660
  end
508
661
  end
509
662
 
510
- # Used to perform string matching. It allows substring and regular expressions,
511
- # together with their negations.
663
+ # Optional. Used to perform content matching. This allows matching based on
664
+ # substrings and regular expressions, together with their negations. Only the
665
+ # first 4&nbsp;MB of an HTTP or HTTPS check's response (and the first 1&nbsp;MB
666
+ # of a TCP check's response) are examined for purposes of content matching.
512
667
  class ContentMatcher
513
668
  include Google::Apis::Core::Hashable
514
669
 
515
- # String or regex content to match (max 1024 bytes)
670
+ # String or regex content to match. Maximum 1024 bytes. An empty content string
671
+ # indicates no content matching is to be performed.
516
672
  # Corresponds to the JSON property `content`
517
673
  # @return [String]
518
674
  attr_accessor :content
@@ -583,13 +739,19 @@ module Google
583
739
  class CreateCollectdTimeSeriesResponse
584
740
  include Google::Apis::Core::Hashable
585
741
 
586
- # Records the error status for points that were not written due to an error.
587
- # Failed requests for which nothing is written will return an error response
588
- # instead.
742
+ # Records the error status for points that were not written due to an error in
743
+ # the request.Failed requests for which nothing is written will return an error
744
+ # response instead. Requests where data points were rejected by the backend will
745
+ # set summary instead.
589
746
  # Corresponds to the JSON property `payloadErrors`
590
747
  # @return [Array<Google::Apis::MonitoringV3::CollectdPayloadError>]
591
748
  attr_accessor :payload_errors
592
749
 
750
+ # Summary of the result of a failed request to write data to a time series.
751
+ # Corresponds to the JSON property `summary`
752
+ # @return [Google::Apis::MonitoringV3::CreateTimeSeriesSummary]
753
+ attr_accessor :summary
754
+
593
755
  def initialize(**args)
594
756
  update!(**args)
595
757
  end
@@ -597,6 +759,7 @@ module Google
597
759
  # Update properties of this object
598
760
  def update!(**args)
599
761
  @payload_errors = args[:payload_errors] if args.key?(:payload_errors)
762
+ @summary = args[:summary] if args.key?(:summary)
600
763
  end
601
764
  end
602
765
 
@@ -624,6 +787,51 @@ module Google
624
787
  end
625
788
  end
626
789
 
790
+ # Summary of the result of a failed request to write data to a time series.
791
+ class CreateTimeSeriesSummary
792
+ include Google::Apis::Core::Hashable
793
+
794
+ # The number of points that failed to be written. Order is not guaranteed.
795
+ # Corresponds to the JSON property `errors`
796
+ # @return [Array<Google::Apis::MonitoringV3::Error>]
797
+ attr_accessor :errors
798
+
799
+ # The number of points that were successfully written.
800
+ # Corresponds to the JSON property `successPointCount`
801
+ # @return [Fixnum]
802
+ attr_accessor :success_point_count
803
+
804
+ # The number of points in the request.
805
+ # Corresponds to the JSON property `totalPointCount`
806
+ # @return [Fixnum]
807
+ attr_accessor :total_point_count
808
+
809
+ def initialize(**args)
810
+ update!(**args)
811
+ end
812
+
813
+ # Update properties of this object
814
+ def update!(**args)
815
+ @errors = args[:errors] if args.key?(:errors)
816
+ @success_point_count = args[:success_point_count] if args.key?(:success_point_count)
817
+ @total_point_count = args[:total_point_count] if args.key?(:total_point_count)
818
+ end
819
+ end
820
+
821
+ # Custom view of service telemetry. Currently a place-holder pending final
822
+ # design.
823
+ class Custom
824
+ include Google::Apis::Core::Hashable
825
+
826
+ def initialize(**args)
827
+ update!(**args)
828
+ end
829
+
830
+ # Update properties of this object
831
+ def update!(**args)
832
+ end
833
+ end
834
+
627
835
  # Distribution contains summary statistics for a population of values. It
628
836
  # optionally contains a histogram representing the distribution of those values
629
837
  # across a set of buckets.The summary statistics are the count, mean, sum of the
@@ -715,6 +923,39 @@ module Google
715
923
  end
716
924
  end
717
925
 
926
+ # A DistributionCut defines a TimeSeries and thresholds used for measuring good
927
+ # service and total service. The TimeSeries must have ValueType =
928
+ # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed
929
+ # good_service will be the count of values x in the Distribution such that range.
930
+ # min <= x < range.max.
931
+ class DistributionCut
932
+ include Google::Apis::Core::Hashable
933
+
934
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
935
+ # specifying a TimeSeries aggregating values. Must have ValueType =
936
+ # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
937
+ # Corresponds to the JSON property `distributionFilter`
938
+ # @return [String]
939
+ attr_accessor :distribution_filter
940
+
941
+ # Range of numerical values, inclusive of min and exclusive of max. If the open
942
+ # range "< range.max" is desired, set range.min = -infinity. If the open range ">
943
+ # = range.min" is desired, set range.max = infinity.
944
+ # Corresponds to the JSON property `range`
945
+ # @return [Google::Apis::MonitoringV3::GoogleMonitoringV3Range]
946
+ attr_accessor :range
947
+
948
+ def initialize(**args)
949
+ update!(**args)
950
+ end
951
+
952
+ # Update properties of this object
953
+ def update!(**args)
954
+ @distribution_filter = args[:distribution_filter] if args.key?(:distribution_filter)
955
+ @range = args[:range] if args.key?(:range)
956
+ end
957
+ end
958
+
718
959
  # A content string and a MIME type that describes the content string's format.
719
960
  class Documentation
720
961
  include Google::Apis::Core::Hashable
@@ -792,6 +1033,36 @@ module Google
792
1033
  end
793
1034
  end
794
1035
 
1036
+ # Detailed information about an error category.
1037
+ class Error
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # The number of points that couldn't be written because of status.
1041
+ # Corresponds to the JSON property `pointCount`
1042
+ # @return [Fixnum]
1043
+ attr_accessor :point_count
1044
+
1045
+ # The Status type defines a logical error model that is suitable for different
1046
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
1047
+ # (https://github.com/grpc). Each Status message contains three pieces of data:
1048
+ # error code, error message, and error details.You can find out more about this
1049
+ # error model and how to work with it in the API Design Guide (https://cloud.
1050
+ # google.com/apis/design/errors).
1051
+ # Corresponds to the JSON property `status`
1052
+ # @return [Google::Apis::MonitoringV3::Status]
1053
+ attr_accessor :status
1054
+
1055
+ def initialize(**args)
1056
+ update!(**args)
1057
+ end
1058
+
1059
+ # Update properties of this object
1060
+ def update!(**args)
1061
+ @point_count = args[:point_count] if args.key?(:point_count)
1062
+ @status = args[:status] if args.key?(:status)
1063
+ end
1064
+ end
1065
+
795
1066
  # Exemplars are example points that may be used to annotate aggregated
796
1067
  # distribution values. They are metadata that gives information about a
797
1068
  # particular value added to a Distribution bucket, such as a trace ID that was
@@ -1026,6 +1297,33 @@ module Google
1026
1297
  end
1027
1298
  end
1028
1299
 
1300
+ # Range of numerical values, inclusive of min and exclusive of max. If the open
1301
+ # range "< range.max" is desired, set range.min = -infinity. If the open range ">
1302
+ # = range.min" is desired, set range.max = infinity.
1303
+ class GoogleMonitoringV3Range
1304
+ include Google::Apis::Core::Hashable
1305
+
1306
+ # Range maximum.
1307
+ # Corresponds to the JSON property `max`
1308
+ # @return [Float]
1309
+ attr_accessor :max
1310
+
1311
+ # Range minimum.
1312
+ # Corresponds to the JSON property `min`
1313
+ # @return [Float]
1314
+ attr_accessor :min
1315
+
1316
+ def initialize(**args)
1317
+ update!(**args)
1318
+ end
1319
+
1320
+ # Update properties of this object
1321
+ def update!(**args)
1322
+ @max = args[:max] if args.key?(:max)
1323
+ @min = args[:min] if args.key?(:min)
1324
+ end
1325
+ end
1326
+
1029
1327
  # The description of a dynamic collection of monitored resources. Each group has
1030
1328
  # a filter that is matched against monitored resources and their associated
1031
1329
  # metadata. If a group's filter matches an available monitored resource, then
@@ -1266,6 +1564,26 @@ module Google
1266
1564
  end
1267
1565
  end
1268
1566
 
1567
+ # Parameters for a latency threshold SLI.
1568
+ class LatencyCriteria
1569
+ include Google::Apis::Core::Hashable
1570
+
1571
+ # Good service is defined to be the count of requests made to this service that
1572
+ # return in no more than threshold.
1573
+ # Corresponds to the JSON property `threshold`
1574
+ # @return [String]
1575
+ attr_accessor :threshold
1576
+
1577
+ def initialize(**args)
1578
+ update!(**args)
1579
+ end
1580
+
1581
+ # Update properties of this object
1582
+ def update!(**args)
1583
+ @threshold = args[:threshold] if args.key?(:threshold)
1584
+ end
1585
+ end
1586
+
1269
1587
  # Specifies a linear sequence of buckets that all have the same width (except
1270
1588
  # overflow and underflow). Each bucket represents a constant absolute
1271
1589
  # uncertainty on the specific value in the bucket.There are num_finite_buckets +
@@ -1500,6 +1818,60 @@ module Google
1500
1818
  end
1501
1819
  end
1502
1820
 
1821
+ # The ListServiceLevelObjectives response.
1822
+ class ListServiceLevelObjectivesResponse
1823
+ include Google::Apis::Core::Hashable
1824
+
1825
+ # If there are more results than have been returned, then this field is set to a
1826
+ # non-empty value. To see the additional results, use that value as pageToken in
1827
+ # the next call to this method.
1828
+ # Corresponds to the JSON property `nextPageToken`
1829
+ # @return [String]
1830
+ attr_accessor :next_page_token
1831
+
1832
+ # The ServiceLevelObjectives matching the specified filter.
1833
+ # Corresponds to the JSON property `serviceLevelObjectives`
1834
+ # @return [Array<Google::Apis::MonitoringV3::ServiceLevelObjective>]
1835
+ attr_accessor :service_level_objectives
1836
+
1837
+ def initialize(**args)
1838
+ update!(**args)
1839
+ end
1840
+
1841
+ # Update properties of this object
1842
+ def update!(**args)
1843
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1844
+ @service_level_objectives = args[:service_level_objectives] if args.key?(:service_level_objectives)
1845
+ end
1846
+ end
1847
+
1848
+ # The ListServices response.
1849
+ class ListServicesResponse
1850
+ include Google::Apis::Core::Hashable
1851
+
1852
+ # If there are more results than have been returned, then this field is set to a
1853
+ # non-empty value. To see the additional results, use that value as pageToken in
1854
+ # the next call to this method.
1855
+ # Corresponds to the JSON property `nextPageToken`
1856
+ # @return [String]
1857
+ attr_accessor :next_page_token
1858
+
1859
+ # The Services matching the specified filter.
1860
+ # Corresponds to the JSON property `services`
1861
+ # @return [Array<Google::Apis::MonitoringV3::Service>]
1862
+ attr_accessor :services
1863
+
1864
+ def initialize(**args)
1865
+ update!(**args)
1866
+ end
1867
+
1868
+ # Update properties of this object
1869
+ def update!(**args)
1870
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1871
+ @services = args[:services] if args.key?(:services)
1872
+ end
1873
+ end
1874
+
1503
1875
  # The ListTimeSeries response.
1504
1876
  class ListTimeSeriesResponse
1505
1877
  include Google::Apis::Core::Hashable
@@ -1865,6 +2237,36 @@ module Google
1865
2237
  end
1866
2238
  end
1867
2239
 
2240
+ # A MetricRange is used when each window is good when the value x of a single
2241
+ # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must
2242
+ # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.
2243
+ class MetricRange
2244
+ include Google::Apis::Core::Hashable
2245
+
2246
+ # Range of numerical values, inclusive of min and exclusive of max. If the open
2247
+ # range "< range.max" is desired, set range.min = -infinity. If the open range ">
2248
+ # = range.min" is desired, set range.max = infinity.
2249
+ # Corresponds to the JSON property `range`
2250
+ # @return [Google::Apis::MonitoringV3::GoogleMonitoringV3Range]
2251
+ attr_accessor :range
2252
+
2253
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
2254
+ # specifying the TimeSeries to use for evaluating window quality.
2255
+ # Corresponds to the JSON property `timeSeries`
2256
+ # @return [String]
2257
+ attr_accessor :time_series
2258
+
2259
+ def initialize(**args)
2260
+ update!(**args)
2261
+ end
2262
+
2263
+ # Update properties of this object
2264
+ def update!(**args)
2265
+ @range = args[:range] if args.key?(:range)
2266
+ @time_series = args[:time_series] if args.key?(:time_series)
2267
+ end
2268
+ end
2269
+
1868
2270
  # A condition type that compares a collection of time series against a threshold.
1869
2271
  class MetricThreshold
1870
2272
  include Google::Apis::Core::Hashable
@@ -2318,6 +2720,43 @@ module Google
2318
2720
  end
2319
2721
  end
2320
2722
 
2723
+ # A PerformanceThreshold is used when each window is good when that window has a
2724
+ # sufficiently high performance.
2725
+ class PerformanceThreshold
2726
+ include Google::Apis::Core::Hashable
2727
+
2728
+ # An SLI measuring performance on a well-known service type. Performance will be
2729
+ # computed on the basis of pre-defined metrics. The type of the service_resource
2730
+ # determines the metrics to use and the service_resource.labels and
2731
+ # metric_labels are used to construct a monitoring filter to filter that metric
2732
+ # down to just the data relevant to this service.
2733
+ # Corresponds to the JSON property `basicSliPerformance`
2734
+ # @return [Google::Apis::MonitoringV3::BasicSli]
2735
+ attr_accessor :basic_sli_performance
2736
+
2737
+ # Service Level Indicators for which atomic units of service are counted
2738
+ # directly.
2739
+ # Corresponds to the JSON property `performance`
2740
+ # @return [Google::Apis::MonitoringV3::RequestBasedSli]
2741
+ attr_accessor :performance
2742
+
2743
+ # If window performance >= threshold, the window is counted as good.
2744
+ # Corresponds to the JSON property `threshold`
2745
+ # @return [Float]
2746
+ attr_accessor :threshold
2747
+
2748
+ def initialize(**args)
2749
+ update!(**args)
2750
+ end
2751
+
2752
+ # Update properties of this object
2753
+ def update!(**args)
2754
+ @basic_sli_performance = args[:basic_sli_performance] if args.key?(:basic_sli_performance)
2755
+ @performance = args[:performance] if args.key?(:performance)
2756
+ @threshold = args[:threshold] if args.key?(:threshold)
2757
+ end
2758
+ end
2759
+
2321
2760
  # A single data point in a time series.
2322
2761
  class Point
2323
2762
  include Google::Apis::Core::Hashable
@@ -2383,6 +2822,41 @@ module Google
2383
2822
  end
2384
2823
  end
2385
2824
 
2825
+ # Service Level Indicators for which atomic units of service are counted
2826
+ # directly.
2827
+ class RequestBasedSli
2828
+ include Google::Apis::Core::Hashable
2829
+
2830
+ # A DistributionCut defines a TimeSeries and thresholds used for measuring good
2831
+ # service and total service. The TimeSeries must have ValueType =
2832
+ # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed
2833
+ # good_service will be the count of values x in the Distribution such that range.
2834
+ # min <= x < range.max.
2835
+ # Corresponds to the JSON property `distributionCut`
2836
+ # @return [Google::Apis::MonitoringV3::DistributionCut]
2837
+ attr_accessor :distribution_cut
2838
+
2839
+ # A TimeSeriesRatio specifies two TimeSeries to use for computing the
2840
+ # good_service / total_service ratio. The specified TimeSeries must have
2841
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =
2842
+ # DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two
2843
+ # of good, bad, and total, and the relationship good_service +
2844
+ # bad_service = total_service will be assumed.
2845
+ # Corresponds to the JSON property `goodTotalRatio`
2846
+ # @return [Google::Apis::MonitoringV3::TimeSeriesRatio]
2847
+ attr_accessor :good_total_ratio
2848
+
2849
+ def initialize(**args)
2850
+ update!(**args)
2851
+ end
2852
+
2853
+ # Update properties of this object
2854
+ def update!(**args)
2855
+ @distribution_cut = args[:distribution_cut] if args.key?(:distribution_cut)
2856
+ @good_total_ratio = args[:good_total_ratio] if args.key?(:good_total_ratio)
2857
+ end
2858
+ end
2859
+
2386
2860
  # The resource submessage for group checks. It can be used instead of a
2387
2861
  # monitored resource, when multiple resources are being monitored.
2388
2862
  class ResourceGroup
@@ -2423,6 +2897,187 @@ module Google
2423
2897
  end
2424
2898
  end
2425
2899
 
2900
+ # A Service is a discrete, autonomous, and network-accessible unit, designed to
2901
+ # solve an individual concern (Wikipedia (https://en.wikipedia.org/wiki/Service-
2902
+ # orientation)). In Stackdriver Monitoring, a Service acts as the root resource
2903
+ # under which operational aspects of the service are accessible.
2904
+ class Service
2905
+ include Google::Apis::Core::Hashable
2906
+
2907
+ # App Engine service. Learn more at https://cloud.google.com/appengine.
2908
+ # Corresponds to the JSON property `appEngine`
2909
+ # @return [Google::Apis::MonitoringV3::AppEngine]
2910
+ attr_accessor :app_engine
2911
+
2912
+ # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
2913
+ # Corresponds to the JSON property `cloudEndpoints`
2914
+ # @return [Google::Apis::MonitoringV3::CloudEndpoints]
2915
+ attr_accessor :cloud_endpoints
2916
+
2917
+ # Istio service. Learn more at http://istio.io.
2918
+ # Corresponds to the JSON property `clusterIstio`
2919
+ # @return [Google::Apis::MonitoringV3::ClusterIstio]
2920
+ attr_accessor :cluster_istio
2921
+
2922
+ # Custom view of service telemetry. Currently a place-holder pending final
2923
+ # design.
2924
+ # Corresponds to the JSON property `custom`
2925
+ # @return [Google::Apis::MonitoringV3::Custom]
2926
+ attr_accessor :custom
2927
+
2928
+ # Name used for UI elements listing this Service.
2929
+ # Corresponds to the JSON property `displayName`
2930
+ # @return [String]
2931
+ attr_accessor :display_name
2932
+
2933
+ # Resource name for this Service. Of the form projects/`project_id`/services/`
2934
+ # service_id`.
2935
+ # Corresponds to the JSON property `name`
2936
+ # @return [String]
2937
+ attr_accessor :name
2938
+
2939
+ # Configuration for how to query telemetry on a Service.
2940
+ # Corresponds to the JSON property `telemetry`
2941
+ # @return [Google::Apis::MonitoringV3::Telemetry]
2942
+ attr_accessor :telemetry
2943
+
2944
+ def initialize(**args)
2945
+ update!(**args)
2946
+ end
2947
+
2948
+ # Update properties of this object
2949
+ def update!(**args)
2950
+ @app_engine = args[:app_engine] if args.key?(:app_engine)
2951
+ @cloud_endpoints = args[:cloud_endpoints] if args.key?(:cloud_endpoints)
2952
+ @cluster_istio = args[:cluster_istio] if args.key?(:cluster_istio)
2953
+ @custom = args[:custom] if args.key?(:custom)
2954
+ @display_name = args[:display_name] if args.key?(:display_name)
2955
+ @name = args[:name] if args.key?(:name)
2956
+ @telemetry = args[:telemetry] if args.key?(:telemetry)
2957
+ end
2958
+ end
2959
+
2960
+ # A Service-Level Indicator (SLI) describes the "performance" of a service. For
2961
+ # some services, the SLI is well-defined. In such cases, the SLI can be
2962
+ # described easily by referencing the well-known SLI and providing the needed
2963
+ # parameters. Alternatively, a "custom" SLI can be defined with a query to the
2964
+ # underlying metric store. An SLI is defined to be good_service /
2965
+ # total_service over any queried time interval. The value of performance always
2966
+ # falls into the range 0 <= performance <= 1. A custom SLI describes how to
2967
+ # compute this ratio, whether this is by dividing values from a pair of time
2968
+ # series, cutting a Distribution into good and bad counts, or counting time
2969
+ # windows in which the service complies with a criterion. For separation of
2970
+ # concerns, a single Service-Level Indicator measures performance for only one
2971
+ # aspect of service quality, such as fraction of successful queries or fast-
2972
+ # enough queries.
2973
+ class ServiceLevelIndicator
2974
+ include Google::Apis::Core::Hashable
2975
+
2976
+ # An SLI measuring performance on a well-known service type. Performance will be
2977
+ # computed on the basis of pre-defined metrics. The type of the service_resource
2978
+ # determines the metrics to use and the service_resource.labels and
2979
+ # metric_labels are used to construct a monitoring filter to filter that metric
2980
+ # down to just the data relevant to this service.
2981
+ # Corresponds to the JSON property `basicSli`
2982
+ # @return [Google::Apis::MonitoringV3::BasicSli]
2983
+ attr_accessor :basic_sli
2984
+
2985
+ # Service Level Indicators for which atomic units of service are counted
2986
+ # directly.
2987
+ # Corresponds to the JSON property `requestBased`
2988
+ # @return [Google::Apis::MonitoringV3::RequestBasedSli]
2989
+ attr_accessor :request_based
2990
+
2991
+ # A WindowsBasedSli defines good_service as the count of time windows for which
2992
+ # the provided service was of good quality. Criteria for determining if service
2993
+ # was good are embedded in the window_criterion.
2994
+ # Corresponds to the JSON property `windowsBased`
2995
+ # @return [Google::Apis::MonitoringV3::WindowsBasedSli]
2996
+ attr_accessor :windows_based
2997
+
2998
+ def initialize(**args)
2999
+ update!(**args)
3000
+ end
3001
+
3002
+ # Update properties of this object
3003
+ def update!(**args)
3004
+ @basic_sli = args[:basic_sli] if args.key?(:basic_sli)
3005
+ @request_based = args[:request_based] if args.key?(:request_based)
3006
+ @windows_based = args[:windows_based] if args.key?(:windows_based)
3007
+ end
3008
+ end
3009
+
3010
+ # A Service-Level Objective (SLO) describes a level of desired good service. It
3011
+ # consists of a service-level indicator (SLI), a performance goal, and a period
3012
+ # over which the objective is to be evaluated against that goal. The SLO can use
3013
+ # SLIs defined in a number of different manners. Typical SLOs might include "99%
3014
+ # of requests in each rolling week have latency below 200 milliseconds" or "99.5%
3015
+ # of requests in each calendar month return successfully."
3016
+ class ServiceLevelObjective
3017
+ include Google::Apis::Core::Hashable
3018
+
3019
+ # A calendar period, semantically "since the start of the current <
3020
+ # calendar_period>". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are
3021
+ # supported.
3022
+ # Corresponds to the JSON property `calendarPeriod`
3023
+ # @return [String]
3024
+ attr_accessor :calendar_period
3025
+
3026
+ # Name used for UI elements listing this SLO.
3027
+ # Corresponds to the JSON property `displayName`
3028
+ # @return [String]
3029
+ attr_accessor :display_name
3030
+
3031
+ # The fraction of service that must be good in order for this objective to be
3032
+ # met. 0 < goal <= 1.
3033
+ # Corresponds to the JSON property `goal`
3034
+ # @return [Float]
3035
+ attr_accessor :goal
3036
+
3037
+ # Resource name for this ServiceLevelObjective. Of the form projects/`project_id`
3038
+ # /services/`service_id`/serviceLevelObjectives/`slo_name`.
3039
+ # Corresponds to the JSON property `name`
3040
+ # @return [String]
3041
+ attr_accessor :name
3042
+
3043
+ # A rolling time period, semantically "in the past <rolling_period>". Must be an
3044
+ # integer multiple of 1 day no larger than 30 days.
3045
+ # Corresponds to the JSON property `rollingPeriod`
3046
+ # @return [String]
3047
+ attr_accessor :rolling_period
3048
+
3049
+ # A Service-Level Indicator (SLI) describes the "performance" of a service. For
3050
+ # some services, the SLI is well-defined. In such cases, the SLI can be
3051
+ # described easily by referencing the well-known SLI and providing the needed
3052
+ # parameters. Alternatively, a "custom" SLI can be defined with a query to the
3053
+ # underlying metric store. An SLI is defined to be good_service /
3054
+ # total_service over any queried time interval. The value of performance always
3055
+ # falls into the range 0 <= performance <= 1. A custom SLI describes how to
3056
+ # compute this ratio, whether this is by dividing values from a pair of time
3057
+ # series, cutting a Distribution into good and bad counts, or counting time
3058
+ # windows in which the service complies with a criterion. For separation of
3059
+ # concerns, a single Service-Level Indicator measures performance for only one
3060
+ # aspect of service quality, such as fraction of successful queries or fast-
3061
+ # enough queries.
3062
+ # Corresponds to the JSON property `serviceLevelIndicator`
3063
+ # @return [Google::Apis::MonitoringV3::ServiceLevelIndicator]
3064
+ attr_accessor :service_level_indicator
3065
+
3066
+ def initialize(**args)
3067
+ update!(**args)
3068
+ end
3069
+
3070
+ # Update properties of this object
3071
+ def update!(**args)
3072
+ @calendar_period = args[:calendar_period] if args.key?(:calendar_period)
3073
+ @display_name = args[:display_name] if args.key?(:display_name)
3074
+ @goal = args[:goal] if args.key?(:goal)
3075
+ @name = args[:name] if args.key?(:name)
3076
+ @rolling_period = args[:rolling_period] if args.key?(:rolling_period)
3077
+ @service_level_indicator = args[:service_level_indicator] if args.key?(:service_level_indicator)
3078
+ end
3079
+ end
3080
+
2426
3081
  # SourceContext represents information about the source of a protobuf element,
2427
3082
  # like the file in which it is defined.
2428
3083
  class SourceContext
@@ -2530,6 +3185,26 @@ module Google
2530
3185
  end
2531
3186
  end
2532
3187
 
3188
+ # Configuration for how to query telemetry on a Service.
3189
+ class Telemetry
3190
+ include Google::Apis::Core::Hashable
3191
+
3192
+ # The full name of the resource that defines this service. Formatted as
3193
+ # described in https://cloud.google.com/apis/design/resource_names.
3194
+ # Corresponds to the JSON property `resourceName`
3195
+ # @return [String]
3196
+ attr_accessor :resource_name
3197
+
3198
+ def initialize(**args)
3199
+ update!(**args)
3200
+ end
3201
+
3202
+ # Update properties of this object
3203
+ def update!(**args)
3204
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
3205
+ end
3206
+ end
3207
+
2533
3208
  # A closed time interval. It extends from the start time to the end time, and
2534
3209
  # includes both: [startTime, endTime]. Valid time intervals depend on the
2535
3210
  # MetricKind of the metric value. In no case can the end time be earlier than
@@ -2654,6 +3329,52 @@ module Google
2654
3329
  end
2655
3330
  end
2656
3331
 
3332
+ # A TimeSeriesRatio specifies two TimeSeries to use for computing the
3333
+ # good_service / total_service ratio. The specified TimeSeries must have
3334
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =
3335
+ # DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two
3336
+ # of good, bad, and total, and the relationship good_service +
3337
+ # bad_service = total_service will be assumed.
3338
+ class TimeSeriesRatio
3339
+ include Google::Apis::Core::Hashable
3340
+
3341
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3342
+ # specifying a TimeSeries quantifying bad service, either demanded service that
3343
+ # was not provided or demanded service that was of inadequate quality. Must have
3344
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or
3345
+ # MetricKind = CUMULATIVE.
3346
+ # Corresponds to the JSON property `badServiceFilter`
3347
+ # @return [String]
3348
+ attr_accessor :bad_service_filter
3349
+
3350
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3351
+ # specifying a TimeSeries quantifying good service provided. Must have ValueType
3352
+ # = DOUBLE or ValueType = INT64 and must have MetricKind =
3353
+ # DELTA or MetricKind = CUMULATIVE.
3354
+ # Corresponds to the JSON property `goodServiceFilter`
3355
+ # @return [String]
3356
+ attr_accessor :good_service_filter
3357
+
3358
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3359
+ # specifying a TimeSeries quantifying total demanded service. Must have
3360
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =
3361
+ # DELTA or MetricKind = CUMULATIVE.
3362
+ # Corresponds to the JSON property `totalServiceFilter`
3363
+ # @return [String]
3364
+ attr_accessor :total_service_filter
3365
+
3366
+ def initialize(**args)
3367
+ update!(**args)
3368
+ end
3369
+
3370
+ # Update properties of this object
3371
+ def update!(**args)
3372
+ @bad_service_filter = args[:bad_service_filter] if args.key?(:bad_service_filter)
3373
+ @good_service_filter = args[:good_service_filter] if args.key?(:good_service_filter)
3374
+ @total_service_filter = args[:total_service_filter] if args.key?(:total_service_filter)
3375
+ end
3376
+ end
3377
+
2657
3378
  # Specifies how many time series must fail a predicate to trigger a condition.
2658
3379
  # If not specified, then a `count: 1` trigger is used.
2659
3380
  class Trigger
@@ -2968,6 +3689,59 @@ module Google
2968
3689
  @code = args[:code] if args.key?(:code)
2969
3690
  end
2970
3691
  end
3692
+
3693
+ # A WindowsBasedSli defines good_service as the count of time windows for which
3694
+ # the provided service was of good quality. Criteria for determining if service
3695
+ # was good are embedded in the window_criterion.
3696
+ class WindowsBasedSli
3697
+ include Google::Apis::Core::Hashable
3698
+
3699
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3700
+ # specifying a TimeSeries with ValueType = BOOL. The window is good if any true
3701
+ # values appear in the window.
3702
+ # Corresponds to the JSON property `goodBadMetricFilter`
3703
+ # @return [String]
3704
+ attr_accessor :good_bad_metric_filter
3705
+
3706
+ # A PerformanceThreshold is used when each window is good when that window has a
3707
+ # sufficiently high performance.
3708
+ # Corresponds to the JSON property `goodTotalRatioThreshold`
3709
+ # @return [Google::Apis::MonitoringV3::PerformanceThreshold]
3710
+ attr_accessor :good_total_ratio_threshold
3711
+
3712
+ # A MetricRange is used when each window is good when the value x of a single
3713
+ # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must
3714
+ # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.
3715
+ # Corresponds to the JSON property `metricMeanInRange`
3716
+ # @return [Google::Apis::MonitoringV3::MetricRange]
3717
+ attr_accessor :metric_mean_in_range
3718
+
3719
+ # A MetricRange is used when each window is good when the value x of a single
3720
+ # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must
3721
+ # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.
3722
+ # Corresponds to the JSON property `metricSumInRange`
3723
+ # @return [Google::Apis::MonitoringV3::MetricRange]
3724
+ attr_accessor :metric_sum_in_range
3725
+
3726
+ # Duration over which window quality is evaluated. Must be an integer fraction
3727
+ # of a day and at least 60s.
3728
+ # Corresponds to the JSON property `windowPeriod`
3729
+ # @return [String]
3730
+ attr_accessor :window_period
3731
+
3732
+ def initialize(**args)
3733
+ update!(**args)
3734
+ end
3735
+
3736
+ # Update properties of this object
3737
+ def update!(**args)
3738
+ @good_bad_metric_filter = args[:good_bad_metric_filter] if args.key?(:good_bad_metric_filter)
3739
+ @good_total_ratio_threshold = args[:good_total_ratio_threshold] if args.key?(:good_total_ratio_threshold)
3740
+ @metric_mean_in_range = args[:metric_mean_in_range] if args.key?(:metric_mean_in_range)
3741
+ @metric_sum_in_range = args[:metric_sum_in_range] if args.key?(:metric_sum_in_range)
3742
+ @window_period = args[:window_period] if args.key?(:window_period)
3743
+ end
3744
+ end
2971
3745
  end
2972
3746
  end
2973
3747
  end