google-api-client 0.32.1 → 0.36.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 (491) hide show
  1. checksums.yaml +5 -5
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/.yardopts +16 -3
  9. data/CHANGELOG.md +327 -0
  10. data/Gemfile +1 -0
  11. data/OVERVIEW.md +36 -0
  12. data/README.md +50 -2
  13. data/Rakefile +71 -2
  14. data/docs/api-keys.md +20 -0
  15. data/docs/auth.md +53 -0
  16. data/docs/client-secrets.md +69 -0
  17. data/docs/getting-started.md +340 -0
  18. data/docs/installation.md +0 -0
  19. data/docs/logging.md +34 -0
  20. data/docs/media-upload.md +25 -0
  21. data/docs/oauth-installed.md +191 -0
  22. data/docs/oauth-server.md +135 -0
  23. data/docs/oauth-web.md +280 -0
  24. data/docs/oauth.md +268 -0
  25. data/docs/pagination.md +29 -0
  26. data/docs/performance.md +25 -0
  27. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  28. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  29. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  30. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  31. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  32. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  33. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  34. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  35. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  36. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  37. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +24 -2
  38. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  39. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  40. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -3
  41. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  42. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  43. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  44. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  45. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  46. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  47. data/generated/google/apis/admin_directory_v1.rb +4 -1
  48. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  49. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  50. data/generated/google/apis/admin_reports_v1.rb +2 -2
  51. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  52. data/generated/google/apis/androidpublisher_v3/classes.rb +105 -0
  53. data/generated/google/apis/androidpublisher_v3/representations.rb +51 -0
  54. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  55. data/generated/google/apis/appengine_v1/service.rb +10 -6
  56. data/generated/google/apis/appengine_v1.rb +1 -1
  57. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  58. data/generated/google/apis/appengine_v1beta.rb +1 -1
  59. data/generated/google/apis/appsmarket_v2.rb +1 -1
  60. data/generated/google/apis/bigquery_v2/classes.rb +104 -23
  61. data/generated/google/apis/bigquery_v2/representations.rb +37 -0
  62. data/generated/google/apis/bigquery_v2/service.rb +1 -5
  63. data/generated/google/apis/bigquery_v2.rb +1 -1
  64. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -5
  65. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  66. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  67. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -4
  68. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  69. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -21
  70. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  71. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  72. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +116 -1
  73. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +35 -0
  74. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  75. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  76. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +61 -77
  77. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +16 -17
  78. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +116 -78
  79. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  80. data/generated/google/apis/bigtableadmin_v1/classes.rb +1 -1
  81. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  82. data/generated/google/apis/bigtableadmin_v2/classes.rb +63 -30
  83. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  84. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  85. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +392 -0
  86. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +191 -0
  87. data/generated/google/apis/billingbudgets_v1beta1/service.rb +233 -0
  88. data/generated/google/apis/billingbudgets_v1beta1.rb +35 -0
  89. data/generated/google/apis/binaryauthorization_v1/classes.rb +6 -5
  90. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  91. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  92. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -5
  93. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  94. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  95. data/generated/google/apis/books_v1/classes.rb +20 -0
  96. data/generated/google/apis/books_v1/representations.rb +3 -0
  97. data/generated/google/apis/books_v1.rb +1 -1
  98. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  99. data/generated/google/apis/calendar_v3/service.rb +18 -30
  100. data/generated/google/apis/calendar_v3.rb +1 -1
  101. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  102. data/generated/google/apis/civicinfo_v2/representations.rb +2 -60
  103. data/generated/google/apis/civicinfo_v2.rb +1 -1
  104. data/generated/google/apis/cloudasset_v1/classes.rb +89 -55
  105. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  106. data/generated/google/apis/cloudasset_v1.rb +1 -1
  107. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -40
  108. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  109. data/generated/google/apis/cloudbilling_v1/classes.rb +82 -36
  110. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  111. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  112. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  113. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -2
  114. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  115. data/generated/google/apis/cloudbuild_v1/service.rb +18 -18
  116. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  117. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  118. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  119. data/generated/google/apis/cloudfunctions_v1/classes.rb +13 -5
  120. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  121. data/generated/google/apis/cloudfunctions_v1/service.rb +10 -4
  122. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  123. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  124. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  125. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  126. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  127. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  128. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  129. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  130. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  131. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  132. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  133. data/generated/google/apis/cloudiot_v1/classes.rb +6 -5
  134. data/generated/google/apis/cloudiot_v1.rb +1 -1
  135. data/generated/google/apis/cloudkms_v1/classes.rb +6 -5
  136. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  137. data/generated/google/apis/cloudkms_v1.rb +1 -1
  138. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -40
  139. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  140. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +18 -17
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  142. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  143. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  144. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +10 -13
  145. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  146. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  147. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +10 -13
  148. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  149. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  150. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  151. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  152. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  153. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  154. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -132
  155. data/generated/google/apis/cloudsearch_v1/representations.rb +0 -75
  156. data/generated/google/apis/cloudsearch_v1/service.rb +47 -9
  157. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  158. data/generated/google/apis/cloudshell_v1/classes.rb +24 -1
  159. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  160. data/generated/google/apis/cloudshell_v1.rb +1 -1
  161. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +24 -1
  162. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  163. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  164. data/generated/google/apis/cloudtasks_v2/classes.rb +212 -5
  165. data/generated/google/apis/cloudtasks_v2/representations.rb +50 -0
  166. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  167. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +6 -5
  168. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  169. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +6 -5
  170. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  171. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +14 -19
  172. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  173. data/generated/google/apis/compute_alpha/classes.rb +594 -164
  174. data/generated/google/apis/compute_alpha/representations.rb +110 -2
  175. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  176. data/generated/google/apis/compute_alpha.rb +1 -1
  177. data/generated/google/apis/compute_beta/classes.rb +1070 -276
  178. data/generated/google/apis/compute_beta/representations.rb +284 -0
  179. data/generated/google/apis/compute_beta/service.rb +1242 -532
  180. data/generated/google/apis/compute_beta.rb +1 -1
  181. data/generated/google/apis/compute_v1/classes.rb +335 -133
  182. data/generated/google/apis/compute_v1/representations.rb +24 -0
  183. data/generated/google/apis/compute_v1/service.rb +759 -473
  184. data/generated/google/apis/compute_v1.rb +1 -1
  185. data/generated/google/apis/container_v1/classes.rb +410 -83
  186. data/generated/google/apis/container_v1/representations.rb +134 -0
  187. data/generated/google/apis/container_v1/service.rb +119 -119
  188. data/generated/google/apis/container_v1.rb +1 -1
  189. data/generated/google/apis/container_v1beta1/classes.rb +157 -3
  190. data/generated/google/apis/container_v1beta1/representations.rb +38 -0
  191. data/generated/google/apis/container_v1beta1.rb +1 -1
  192. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +6 -5
  193. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  194. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +6 -5
  195. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  196. data/generated/google/apis/content_v2/classes.rb +35 -223
  197. data/generated/google/apis/content_v2/representations.rb +0 -115
  198. data/generated/google/apis/content_v2/service.rb +0 -160
  199. data/generated/google/apis/content_v2.rb +1 -1
  200. data/generated/google/apis/content_v2_1/classes.rb +69 -21
  201. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  202. data/generated/google/apis/content_v2_1.rb +1 -1
  203. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1646 -0
  204. data/generated/google/apis/datacatalog_v1beta1/representations.rb +700 -0
  205. data/generated/google/apis/datacatalog_v1beta1/service.rb +1982 -0
  206. data/generated/google/apis/{cloudbuild_v1alpha1.rb → datacatalog_v1beta1.rb} +10 -9
  207. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  208. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  209. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  210. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  211. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  212. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  213. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  214. data/generated/google/apis/dataproc_v1/classes.rb +119 -11
  215. data/generated/google/apis/dataproc_v1/representations.rb +39 -0
  216. data/generated/google/apis/dataproc_v1/service.rb +14 -7
  217. data/generated/google/apis/dataproc_v1.rb +1 -1
  218. data/generated/google/apis/dataproc_v1beta2/classes.rb +9 -11
  219. data/generated/google/apis/dataproc_v1beta2/service.rb +26 -19
  220. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  221. data/generated/google/apis/datastore_v1/service.rb +85 -1
  222. data/generated/google/apis/datastore_v1.rb +1 -1
  223. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  224. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  225. data/generated/google/apis/dfareporting_v3_3/classes.rb +21 -1
  226. data/generated/google/apis/dfareporting_v3_3/service.rb +6 -6
  227. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  228. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/classes.rb +1215 -797
  229. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/representations.rb +593 -395
  230. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/service.rb +966 -1074
  231. data/generated/google/apis/{dfareporting_v3_2.rb → dfareporting_v3_4.rb} +6 -6
  232. data/generated/google/apis/dialogflow_v2/classes.rb +509 -8
  233. data/generated/google/apis/dialogflow_v2/representations.rb +222 -0
  234. data/generated/google/apis/dialogflow_v2.rb +1 -1
  235. data/generated/google/apis/dialogflow_v2beta1/classes.rb +530 -8
  236. data/generated/google/apis/dialogflow_v2beta1/representations.rb +224 -0
  237. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  238. data/generated/google/apis/dlp_v2/classes.rb +109 -33
  239. data/generated/google/apis/dlp_v2/representations.rb +23 -3
  240. data/generated/google/apis/dlp_v2/service.rb +1996 -209
  241. data/generated/google/apis/dlp_v2.rb +1 -1
  242. data/generated/google/apis/dns_v1beta2/classes.rb +47 -0
  243. data/generated/google/apis/dns_v1beta2/representations.rb +17 -0
  244. data/generated/google/apis/dns_v1beta2.rb +1 -1
  245. data/generated/google/apis/docs_v1/classes.rb +175 -0
  246. data/generated/google/apis/docs_v1/representations.rb +77 -0
  247. data/generated/google/apis/docs_v1.rb +1 -1
  248. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  249. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +826 -0
  250. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +372 -0
  251. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +371 -0
  252. data/generated/google/apis/{urlshortener_v1.rb → doubleclickbidmanager_v1_1.rb} +11 -11
  253. data/generated/google/apis/drive_v2/classes.rb +2 -1
  254. data/generated/google/apis/drive_v2/service.rb +3 -3
  255. data/generated/google/apis/drive_v2.rb +1 -1
  256. data/generated/google/apis/drive_v3/classes.rb +12 -3
  257. data/generated/google/apis/drive_v3.rb +1 -1
  258. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  259. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  260. data/generated/google/apis/fcm_v1.rb +1 -1
  261. data/generated/google/apis/firebase_v1beta1/classes.rb +18 -4
  262. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  263. data/generated/google/apis/firebase_v1beta1/service.rb +6 -6
  264. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  265. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +62 -0
  266. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +31 -0
  267. data/generated/google/apis/firebasehosting_v1beta1/service.rb +47 -0
  268. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  269. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  270. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  271. data/generated/google/apis/firebaserules_v1.rb +1 -1
  272. data/generated/google/apis/firestore_v1.rb +1 -1
  273. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  274. data/generated/google/apis/fitness_v1/service.rb +1 -1
  275. data/generated/google/apis/fitness_v1.rb +1 -1
  276. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  277. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  278. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  279. data/generated/google/apis/games_management_v1management.rb +1 -1
  280. data/generated/google/apis/games_v1/classes.rb +6 -292
  281. data/generated/google/apis/games_v1/representations.rb +1 -98
  282. data/generated/google/apis/games_v1/service.rb +0 -123
  283. data/generated/google/apis/games_v1.rb +1 -1
  284. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  285. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  286. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  287. data/generated/google/apis/healthcare_v1beta1/classes.rb +213 -16
  288. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  289. data/generated/google/apis/healthcare_v1beta1/service.rb +207 -116
  290. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  291. data/generated/google/apis/homegraph_v1/classes.rb +15 -1
  292. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  293. data/generated/google/apis/homegraph_v1.rb +1 -1
  294. data/generated/google/apis/iam_v1/classes.rb +15 -7
  295. data/generated/google/apis/iam_v1/representations.rb +1 -0
  296. data/generated/google/apis/iam_v1.rb +1 -1
  297. data/generated/google/apis/iap_v1/classes.rb +187 -2
  298. data/generated/google/apis/iap_v1/representations.rb +102 -0
  299. data/generated/google/apis/iap_v1/service.rb +72 -0
  300. data/generated/google/apis/iap_v1.rb +1 -1
  301. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  302. data/generated/google/apis/iap_v1beta1.rb +1 -1
  303. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  304. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  305. data/generated/google/apis/jobs_v2.rb +1 -1
  306. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  307. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  308. data/generated/google/apis/jobs_v3.rb +1 -1
  309. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  310. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  311. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  312. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  313. data/generated/google/apis/licensing_v1/service.rb +81 -37
  314. data/generated/google/apis/licensing_v1.rb +4 -4
  315. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  316. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  317. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  318. data/generated/google/apis/lifesciences_v2beta.rb +35 -0
  319. data/generated/google/apis/logging_v2/classes.rb +30 -2
  320. data/generated/google/apis/logging_v2/representations.rb +4 -0
  321. data/generated/google/apis/logging_v2/service.rb +10 -5
  322. data/generated/google/apis/logging_v2.rb +1 -1
  323. data/generated/google/apis/ml_v1/classes.rb +308 -155
  324. data/generated/google/apis/ml_v1/representations.rb +59 -0
  325. data/generated/google/apis/ml_v1/service.rb +44 -3
  326. data/generated/google/apis/ml_v1.rb +2 -2
  327. data/generated/google/apis/monitoring_v1/classes.rb +1153 -0
  328. data/generated/google/apis/monitoring_v1/representations.rb +528 -0
  329. data/generated/google/apis/{cloudbuild_v1alpha1 → monitoring_v1}/service.rb +86 -63
  330. data/generated/google/apis/monitoring_v1.rb +48 -0
  331. data/generated/google/apis/monitoring_v3/classes.rb +836 -60
  332. data/generated/google/apis/monitoring_v3/representations.rb +348 -0
  333. data/generated/google/apis/monitoring_v3/service.rb +384 -2
  334. data/generated/google/apis/monitoring_v3.rb +1 -1
  335. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  336. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  337. data/generated/google/apis/oslogin_v1.rb +1 -1
  338. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  339. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  340. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  341. data/generated/google/apis/pagespeedonline_v5/classes.rb +8 -0
  342. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  343. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  344. data/generated/google/apis/people_v1/classes.rb +67 -63
  345. data/generated/google/apis/people_v1/service.rb +53 -44
  346. data/generated/google/apis/people_v1.rb +1 -1
  347. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -90
  348. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  349. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  350. data/generated/google/apis/pubsub_v1/classes.rb +8 -6
  351. data/generated/google/apis/pubsub_v1/service.rb +9 -7
  352. data/generated/google/apis/pubsub_v1.rb +1 -1
  353. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -5
  354. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  355. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  356. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  357. data/generated/google/apis/recommender_v1beta1/service.rb +10 -8
  358. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  359. data/generated/google/apis/redis_v1/classes.rb +11 -11
  360. data/generated/google/apis/redis_v1/service.rb +5 -5
  361. data/generated/google/apis/redis_v1.rb +1 -1
  362. data/generated/google/apis/redis_v1beta1/classes.rb +11 -11
  363. data/generated/google/apis/redis_v1beta1/service.rb +5 -5
  364. data/generated/google/apis/redis_v1beta1.rb +1 -1
  365. data/generated/google/apis/remotebuildexecution_v1/classes.rb +113 -0
  366. data/generated/google/apis/remotebuildexecution_v1/representations.rb +50 -0
  367. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  368. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +113 -0
  369. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +50 -0
  370. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  371. data/generated/google/apis/remotebuildexecution_v2/classes.rb +113 -0
  372. data/generated/google/apis/remotebuildexecution_v2/representations.rb +50 -0
  373. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  374. data/generated/google/apis/reseller_v1/service.rb +1 -1
  375. data/generated/google/apis/reseller_v1.rb +1 -1
  376. data/generated/google/apis/run_v1/classes.rb +8 -176
  377. data/generated/google/apis/run_v1/representations.rb +0 -71
  378. data/generated/google/apis/run_v1/service.rb +209 -1125
  379. data/generated/google/apis/run_v1.rb +1 -1
  380. data/generated/google/apis/run_v1alpha1/classes.rb +328 -9
  381. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  382. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  383. data/generated/google/apis/run_v1alpha1.rb +1 -1
  384. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -40
  385. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  386. data/generated/google/apis/securitycenter_v1/classes.rb +159 -66
  387. data/generated/google/apis/securitycenter_v1/representations.rb +19 -0
  388. data/generated/google/apis/securitycenter_v1/service.rb +14 -12
  389. data/generated/google/apis/securitycenter_v1.rb +1 -1
  390. data/generated/google/apis/securitycenter_v1beta1/classes.rb +95 -57
  391. data/generated/google/apis/securitycenter_v1beta1/service.rb +14 -12
  392. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  393. data/generated/google/apis/servicebroker_v1/classes.rb +75 -40
  394. data/generated/google/apis/servicebroker_v1.rb +1 -1
  395. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -40
  396. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  397. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -40
  398. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  399. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +95 -43
  400. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  401. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  402. data/generated/google/apis/servicecontrol_v1/classes.rb +8 -12
  403. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -1
  404. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  405. data/generated/google/apis/servicemanagement_v1/classes.rb +142 -91
  406. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  407. data/generated/google/apis/servicemanagement_v1/service.rb +32 -26
  408. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1/classes.rb +181 -54
  410. data/generated/google/apis/servicenetworking_v1/representations.rb +71 -0
  411. data/generated/google/apis/servicenetworking_v1/service.rb +77 -3
  412. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  413. data/generated/google/apis/servicenetworking_v1beta/classes.rb +32 -43
  414. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  415. data/generated/google/apis/serviceusage_v1/classes.rb +87 -43
  416. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  417. data/generated/google/apis/serviceusage_v1.rb +1 -1
  418. data/generated/google/apis/serviceusage_v1beta1/classes.rb +87 -43
  419. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  420. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  421. data/generated/google/apis/sheets_v4/classes.rb +1371 -232
  422. data/generated/google/apis/sheets_v4/representations.rb +180 -0
  423. data/generated/google/apis/sheets_v4.rb +1 -1
  424. data/generated/google/apis/spanner_v1/classes.rb +70 -30
  425. data/generated/google/apis/spanner_v1/service.rb +270 -0
  426. data/generated/google/apis/spanner_v1.rb +1 -1
  427. data/generated/google/apis/speech_v1/classes.rb +6 -0
  428. data/generated/google/apis/speech_v1/representations.rb +1 -0
  429. data/generated/google/apis/speech_v1.rb +1 -1
  430. data/generated/google/apis/speech_v1p1beta1/classes.rb +6 -0
  431. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  432. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  433. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  434. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  435. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  436. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  437. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/classes.rb +499 -380
  438. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/representations.rb +125 -104
  439. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/service.rb +637 -590
  440. data/generated/google/apis/{sqladmin_v1beta4.rb → sql_v1beta4.rb} +7 -8
  441. data/generated/google/apis/storage_v1.rb +1 -1
  442. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  443. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  444. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  445. data/generated/google/apis/testing_v1/classes.rb +142 -1
  446. data/generated/google/apis/testing_v1/representations.rb +76 -0
  447. data/generated/google/apis/testing_v1.rb +1 -1
  448. data/generated/google/apis/videointelligence_v1/classes.rb +147 -36
  449. data/generated/google/apis/videointelligence_v1/representations.rb +62 -0
  450. data/generated/google/apis/videointelligence_v1.rb +1 -1
  451. data/generated/google/apis/videointelligence_v1beta2/classes.rb +147 -36
  452. data/generated/google/apis/videointelligence_v1beta2/representations.rb +62 -0
  453. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  454. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +147 -36
  455. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +62 -0
  456. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  457. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +147 -36
  458. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +62 -0
  459. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  460. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +147 -36
  461. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +62 -0
  462. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  463. data/generated/google/apis/vision_v1/classes.rb +66 -0
  464. data/generated/google/apis/vision_v1/representations.rb +32 -0
  465. data/generated/google/apis/vision_v1.rb +1 -1
  466. data/generated/google/apis/vision_v1p1beta1/classes.rb +66 -0
  467. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  468. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  469. data/generated/google/apis/vision_v1p2beta1/classes.rb +66 -0
  470. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  471. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  472. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  473. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  474. data/google-api-client.gemspec +6 -3
  475. data/lib/google/apis/core/api_command.rb +3 -0
  476. data/lib/google/apis/core/http_command.rb +10 -8
  477. data/lib/google/apis/core/upload.rb +4 -0
  478. data/lib/google/apis/version.rb +1 -1
  479. data/rakelib/devsite/devsite_builder.rb +126 -0
  480. data/rakelib/devsite/link_checker.rb +64 -0
  481. data/rakelib/devsite/repo_metadata.rb +56 -0
  482. metadata +64 -42
  483. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1168
  484. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -434
  485. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  486. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  487. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
  488. data/generated/google/apis/storage_v1beta1.rb +0 -40
  489. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  490. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  491. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -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
@@ -1240,7 +1538,11 @@ module Google
1240
1538
  # @return [String]
1241
1539
  attr_accessor :description
1242
1540
 
1243
- # The label key.
1541
+ # The key for this label. The key must meet the following criteria:
1542
+ # Does not exceed 100 characters.
1543
+ # Matches the following regular expression: [a-zA-Z][a-zA-Z0-9_]*
1544
+ # The first character must be an upper- or lower-case letter.
1545
+ # The remaining characters must be letters, digits, or underscores.
1244
1546
  # Corresponds to the JSON property `key`
1245
1547
  # @return [String]
1246
1548
  attr_accessor :key
@@ -1262,6 +1564,26 @@ module Google
1262
1564
  end
1263
1565
  end
1264
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
+
1265
1587
  # Specifies a linear sequence of buckets that all have the same width (except
1266
1588
  # overflow and underflow). Each bucket represents a constant absolute
1267
1589
  # uncertainty on the specific value in the bucket.There are num_finite_buckets +
@@ -1496,6 +1818,60 @@ module Google
1496
1818
  end
1497
1819
  end
1498
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
+
1499
1875
  # The ListTimeSeries response.
1500
1876
  class ListTimeSeriesResponse
1501
1877
  include Google::Apis::Core::Hashable
@@ -1636,8 +2012,8 @@ module Google
1636
2012
  # multiple streams on each resource to a single stream for each resource or when
1637
2013
  # aggregating streams across all members of a group of resrouces). Multiple
1638
2014
  # aggregations are applied in the order specified.This field is similar to the
1639
- # one in the MetricService.ListTimeSeries request. It is advisable to use the
1640
- # ListTimeSeries method when debugging this field.
2015
+ # one in the ListTimeSeries request. It is advisable to use the ListTimeSeries
2016
+ # method when debugging this field.
1641
2017
  # Corresponds to the JSON property `aggregations`
1642
2018
  # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1643
2019
  attr_accessor :aggregations
@@ -1652,10 +2028,10 @@ module Google
1652
2028
 
1653
2029
  # A filter that identifies which time series should be compared with the
1654
2030
  # threshold.The filter is similar to the one that is specified in the
1655
- # MetricService.ListTimeSeries request (that call is useful to verify the time
1656
- # series that will be retrieved / processed) and must specify the metric type
1657
- # and optionally may contain restrictions on resource type, resource labels, and
1658
- # metric labels. This field may not exceed 2048 Unicode characters in length.
2031
+ # ListTimeSeries request (that call is useful to verify the time series that
2032
+ # will be retrieved / processed) and must specify the metric type and optionally
2033
+ # may contain restrictions on resource type, resource labels, and metric labels.
2034
+ # This field may not exceed 2048 Unicode characters in length.
1659
2035
  # Corresponds to the JSON property `filter`
1660
2036
  # @return [String]
1661
2037
  attr_accessor :filter
@@ -1747,39 +2123,17 @@ module Google
1747
2123
  # @return [String]
1748
2124
  attr_accessor :type
1749
2125
 
1750
- # The unit in which the metric value is reported. It is only applicable if the
1751
- # value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset
1752
- # of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html)
1753
- # standard:Basic units (UNIT)
1754
- # bit bit
1755
- # By byte
1756
- # s second
1757
- # min minute
1758
- # h hour
1759
- # d dayPrefixes (PREFIX)
1760
- # k kilo (10**3)
1761
- # M mega (10**6)
1762
- # G giga (10**9)
1763
- # T tera (10**12)
1764
- # P peta (10**15)
1765
- # E exa (10**18)
1766
- # Z zetta (10**21)
1767
- # Y yotta (10**24)
1768
- # m milli (10**-3)
1769
- # u micro (10**-6)
1770
- # n nano (10**-9)
1771
- # p pico (10**-12)
1772
- # f femto (10**-15)
1773
- # a atto (10**-18)
1774
- # z zepto (10**-21)
1775
- # y yocto (10**-24)
1776
- # Ki kibi (2**10)
1777
- # Mi mebi (2**20)
1778
- # Gi gibi (2**30)
1779
- # Ti tebi (2**40)GrammarThe grammar also includes these connectors:
1780
- # / division (as an infix operator, e.g. 1/s).
1781
- # . multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is
1782
- # as follows:
2126
+ # Ki kibi (2^10)
2127
+ # Mi mebi (2^20)
2128
+ # Gi gibi (2^30)
2129
+ # Ti tebi (2^40)
2130
+ # Pi pebi (2^50)GrammarThe grammar also includes these connectors:
2131
+ # / division or ratio (as an infix operator). For examples, kBy/`email` or MiBy/
2132
+ # 10ms (although you should almost never have /s in a metric unit; rates should
2133
+ # always be computed at query time from the underlying cumulative or delta
2134
+ # value).
2135
+ # . multiplication or composition (as an infix operator). For examples, GBy.d
2136
+ # or k`watt`.h.The grammar for a unit is as follows:
1783
2137
  # Expression = Component ` "." Component ` ` "/" Component ` ;
1784
2138
  # Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
1785
2139
  # | Annotation
@@ -1787,14 +2141,24 @@ module Google
1787
2141
  # ;
1788
2142
  # Annotation = "`" NAME "`" ;
1789
2143
  # Notes:
1790
- # Annotation is just a comment if it follows a UNIT and is equivalent to 1 if
1791
- # it is used alone. For examples, `requests`/s == 1/s, By`transmitted`/s == By/
1792
- # s.
1793
- # NAME is a sequence of non-blank printable ASCII characters not containing '`'
1794
- # or '`'.
1795
- # 1 represents dimensionless value 1, such as in 1/s.
1796
- # % represents dimensionless value 1/100, and annotates values giving a
1797
- # percentage.
2144
+ # Annotation is just a comment if it follows a UNIT. If the annotation is used
2145
+ # alone, then the unit is equivalent to 1. For examples, `request`/s == 1/s, By`
2146
+ # transmitted`/s == By/s.
2147
+ # NAME is a sequence of non-blank printable ASCII characters not containing `
2148
+ # or `.
2149
+ # 1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/
2150
+ # Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none
2151
+ # of the basic units are appropriate. For example, "new users per day" can be
2152
+ # represented as 1/d or `new-users`/d (and a metric value 5 would mean "5 new
2153
+ # users). Alternatively, "thousands of page views per day" would be represented
2154
+ # as 1000/d or k1/d or k`page_views`/d (and a metric value of 5.3 would mean "
2155
+ # 5300 page views per day").
2156
+ # % represents dimensionless value of 1/100, and annotates values giving a
2157
+ # percentage (so the metric values are typically in the range of 0..100, and a
2158
+ # metric value 3 means "3 percent").
2159
+ # 10^2.% indicates a metric contains a ratio, typically in the range 0..1, that
2160
+ # will be multiplied by 100 and displayed as a percentage (so a metric value 0.
2161
+ # 03 means "3 percent").
1798
2162
  # Corresponds to the JSON property `unit`
1799
2163
  # @return [String]
1800
2164
  attr_accessor :unit
@@ -1861,6 +2225,36 @@ module Google
1861
2225
  end
1862
2226
  end
1863
2227
 
2228
+ # A MetricRange is used when each window is good when the value x of a single
2229
+ # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must
2230
+ # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.
2231
+ class MetricRange
2232
+ include Google::Apis::Core::Hashable
2233
+
2234
+ # Range of numerical values, inclusive of min and exclusive of max. If the open
2235
+ # range "< range.max" is desired, set range.min = -infinity. If the open range ">
2236
+ # = range.min" is desired, set range.max = infinity.
2237
+ # Corresponds to the JSON property `range`
2238
+ # @return [Google::Apis::MonitoringV3::GoogleMonitoringV3Range]
2239
+ attr_accessor :range
2240
+
2241
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
2242
+ # specifying the TimeSeries to use for evaluating window quality.
2243
+ # Corresponds to the JSON property `timeSeries`
2244
+ # @return [String]
2245
+ attr_accessor :time_series
2246
+
2247
+ def initialize(**args)
2248
+ update!(**args)
2249
+ end
2250
+
2251
+ # Update properties of this object
2252
+ def update!(**args)
2253
+ @range = args[:range] if args.key?(:range)
2254
+ @time_series = args[:time_series] if args.key?(:time_series)
2255
+ end
2256
+ end
2257
+
1864
2258
  # A condition type that compares a collection of time series against a threshold.
1865
2259
  class MetricThreshold
1866
2260
  include Google::Apis::Core::Hashable
@@ -1870,8 +2264,8 @@ module Google
1870
2264
  # multiple streams on each resource to a single stream for each resource or when
1871
2265
  # aggregating streams across all members of a group of resrouces). Multiple
1872
2266
  # aggregations are applied in the order specified.This field is similar to the
1873
- # one in the MetricService.ListTimeSeries request. It is advisable to use the
1874
- # ListTimeSeries method when debugging this field.
2267
+ # one in the ListTimeSeries request. It is advisable to use the ListTimeSeries
2268
+ # method when debugging this field.
1875
2269
  # Corresponds to the JSON property `aggregations`
1876
2270
  # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1877
2271
  attr_accessor :aggregations
@@ -1921,10 +2315,10 @@ module Google
1921
2315
 
1922
2316
  # A filter that identifies which time series should be compared with the
1923
2317
  # threshold.The filter is similar to the one that is specified in the
1924
- # MetricService.ListTimeSeries request (that call is useful to verify the time
1925
- # series that will be retrieved / processed) and must specify the metric type
1926
- # and optionally may contain restrictions on resource type, resource labels, and
1927
- # metric labels. This field may not exceed 2048 Unicode characters in length.
2318
+ # ListTimeSeries request (that call is useful to verify the time series that
2319
+ # will be retrieved / processed) and must specify the metric type and optionally
2320
+ # may contain restrictions on resource type, resource labels, and metric labels.
2321
+ # This field may not exceed 2048 Unicode characters in length.
1928
2322
  # Corresponds to the JSON property `filter`
1929
2323
  # @return [String]
1930
2324
  attr_accessor :filter
@@ -2314,6 +2708,43 @@ module Google
2314
2708
  end
2315
2709
  end
2316
2710
 
2711
+ # A PerformanceThreshold is used when each window is good when that window has a
2712
+ # sufficiently high performance.
2713
+ class PerformanceThreshold
2714
+ include Google::Apis::Core::Hashable
2715
+
2716
+ # An SLI measuring performance on a well-known service type. Performance will be
2717
+ # computed on the basis of pre-defined metrics. The type of the service_resource
2718
+ # determines the metrics to use and the service_resource.labels and
2719
+ # metric_labels are used to construct a monitoring filter to filter that metric
2720
+ # down to just the data relevant to this service.
2721
+ # Corresponds to the JSON property `basicSliPerformance`
2722
+ # @return [Google::Apis::MonitoringV3::BasicSli]
2723
+ attr_accessor :basic_sli_performance
2724
+
2725
+ # Service Level Indicators for which atomic units of service are counted
2726
+ # directly.
2727
+ # Corresponds to the JSON property `performance`
2728
+ # @return [Google::Apis::MonitoringV3::RequestBasedSli]
2729
+ attr_accessor :performance
2730
+
2731
+ # If window performance >= threshold, the window is counted as good.
2732
+ # Corresponds to the JSON property `threshold`
2733
+ # @return [Float]
2734
+ attr_accessor :threshold
2735
+
2736
+ def initialize(**args)
2737
+ update!(**args)
2738
+ end
2739
+
2740
+ # Update properties of this object
2741
+ def update!(**args)
2742
+ @basic_sli_performance = args[:basic_sli_performance] if args.key?(:basic_sli_performance)
2743
+ @performance = args[:performance] if args.key?(:performance)
2744
+ @threshold = args[:threshold] if args.key?(:threshold)
2745
+ end
2746
+ end
2747
+
2317
2748
  # A single data point in a time series.
2318
2749
  class Point
2319
2750
  include Google::Apis::Core::Hashable
@@ -2379,6 +2810,41 @@ module Google
2379
2810
  end
2380
2811
  end
2381
2812
 
2813
+ # Service Level Indicators for which atomic units of service are counted
2814
+ # directly.
2815
+ class RequestBasedSli
2816
+ include Google::Apis::Core::Hashable
2817
+
2818
+ # A DistributionCut defines a TimeSeries and thresholds used for measuring good
2819
+ # service and total service. The TimeSeries must have ValueType =
2820
+ # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed
2821
+ # good_service will be the count of values x in the Distribution such that range.
2822
+ # min <= x < range.max.
2823
+ # Corresponds to the JSON property `distributionCut`
2824
+ # @return [Google::Apis::MonitoringV3::DistributionCut]
2825
+ attr_accessor :distribution_cut
2826
+
2827
+ # A TimeSeriesRatio specifies two TimeSeries to use for computing the
2828
+ # good_service / total_service ratio. The specified TimeSeries must have
2829
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =
2830
+ # DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two
2831
+ # of good, bad, and total, and the relationship good_service +
2832
+ # bad_service = total_service will be assumed.
2833
+ # Corresponds to the JSON property `goodTotalRatio`
2834
+ # @return [Google::Apis::MonitoringV3::TimeSeriesRatio]
2835
+ attr_accessor :good_total_ratio
2836
+
2837
+ def initialize(**args)
2838
+ update!(**args)
2839
+ end
2840
+
2841
+ # Update properties of this object
2842
+ def update!(**args)
2843
+ @distribution_cut = args[:distribution_cut] if args.key?(:distribution_cut)
2844
+ @good_total_ratio = args[:good_total_ratio] if args.key?(:good_total_ratio)
2845
+ end
2846
+ end
2847
+
2382
2848
  # The resource submessage for group checks. It can be used instead of a
2383
2849
  # monitored resource, when multiple resources are being monitored.
2384
2850
  class ResourceGroup
@@ -2419,6 +2885,187 @@ module Google
2419
2885
  end
2420
2886
  end
2421
2887
 
2888
+ # A Service is a discrete, autonomous, and network-accessible unit, designed to
2889
+ # solve an individual concern (Wikipedia (https://en.wikipedia.org/wiki/Service-
2890
+ # orientation)). In Stackdriver Monitoring, a Service acts as the root resource
2891
+ # under which operational aspects of the service are accessible.
2892
+ class Service
2893
+ include Google::Apis::Core::Hashable
2894
+
2895
+ # App Engine service. Learn more at https://cloud.google.com/appengine.
2896
+ # Corresponds to the JSON property `appEngine`
2897
+ # @return [Google::Apis::MonitoringV3::AppEngine]
2898
+ attr_accessor :app_engine
2899
+
2900
+ # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
2901
+ # Corresponds to the JSON property `cloudEndpoints`
2902
+ # @return [Google::Apis::MonitoringV3::CloudEndpoints]
2903
+ attr_accessor :cloud_endpoints
2904
+
2905
+ # Istio service. Learn more at http://istio.io.
2906
+ # Corresponds to the JSON property `clusterIstio`
2907
+ # @return [Google::Apis::MonitoringV3::ClusterIstio]
2908
+ attr_accessor :cluster_istio
2909
+
2910
+ # Custom view of service telemetry. Currently a place-holder pending final
2911
+ # design.
2912
+ # Corresponds to the JSON property `custom`
2913
+ # @return [Google::Apis::MonitoringV3::Custom]
2914
+ attr_accessor :custom
2915
+
2916
+ # Name used for UI elements listing this Service.
2917
+ # Corresponds to the JSON property `displayName`
2918
+ # @return [String]
2919
+ attr_accessor :display_name
2920
+
2921
+ # Resource name for this Service. Of the form projects/`project_id`/services/`
2922
+ # service_id`.
2923
+ # Corresponds to the JSON property `name`
2924
+ # @return [String]
2925
+ attr_accessor :name
2926
+
2927
+ # Configuration for how to query telemetry on a Service.
2928
+ # Corresponds to the JSON property `telemetry`
2929
+ # @return [Google::Apis::MonitoringV3::Telemetry]
2930
+ attr_accessor :telemetry
2931
+
2932
+ def initialize(**args)
2933
+ update!(**args)
2934
+ end
2935
+
2936
+ # Update properties of this object
2937
+ def update!(**args)
2938
+ @app_engine = args[:app_engine] if args.key?(:app_engine)
2939
+ @cloud_endpoints = args[:cloud_endpoints] if args.key?(:cloud_endpoints)
2940
+ @cluster_istio = args[:cluster_istio] if args.key?(:cluster_istio)
2941
+ @custom = args[:custom] if args.key?(:custom)
2942
+ @display_name = args[:display_name] if args.key?(:display_name)
2943
+ @name = args[:name] if args.key?(:name)
2944
+ @telemetry = args[:telemetry] if args.key?(:telemetry)
2945
+ end
2946
+ end
2947
+
2948
+ # A Service-Level Indicator (SLI) describes the "performance" of a service. For
2949
+ # some services, the SLI is well-defined. In such cases, the SLI can be
2950
+ # described easily by referencing the well-known SLI and providing the needed
2951
+ # parameters. Alternatively, a "custom" SLI can be defined with a query to the
2952
+ # underlying metric store. An SLI is defined to be good_service /
2953
+ # total_service over any queried time interval. The value of performance always
2954
+ # falls into the range 0 <= performance <= 1. A custom SLI describes how to
2955
+ # compute this ratio, whether this is by dividing values from a pair of time
2956
+ # series, cutting a Distribution into good and bad counts, or counting time
2957
+ # windows in which the service complies with a criterion. For separation of
2958
+ # concerns, a single Service-Level Indicator measures performance for only one
2959
+ # aspect of service quality, such as fraction of successful queries or fast-
2960
+ # enough queries.
2961
+ class ServiceLevelIndicator
2962
+ include Google::Apis::Core::Hashable
2963
+
2964
+ # An SLI measuring performance on a well-known service type. Performance will be
2965
+ # computed on the basis of pre-defined metrics. The type of the service_resource
2966
+ # determines the metrics to use and the service_resource.labels and
2967
+ # metric_labels are used to construct a monitoring filter to filter that metric
2968
+ # down to just the data relevant to this service.
2969
+ # Corresponds to the JSON property `basicSli`
2970
+ # @return [Google::Apis::MonitoringV3::BasicSli]
2971
+ attr_accessor :basic_sli
2972
+
2973
+ # Service Level Indicators for which atomic units of service are counted
2974
+ # directly.
2975
+ # Corresponds to the JSON property `requestBased`
2976
+ # @return [Google::Apis::MonitoringV3::RequestBasedSli]
2977
+ attr_accessor :request_based
2978
+
2979
+ # A WindowsBasedSli defines good_service as the count of time windows for which
2980
+ # the provided service was of good quality. Criteria for determining if service
2981
+ # was good are embedded in the window_criterion.
2982
+ # Corresponds to the JSON property `windowsBased`
2983
+ # @return [Google::Apis::MonitoringV3::WindowsBasedSli]
2984
+ attr_accessor :windows_based
2985
+
2986
+ def initialize(**args)
2987
+ update!(**args)
2988
+ end
2989
+
2990
+ # Update properties of this object
2991
+ def update!(**args)
2992
+ @basic_sli = args[:basic_sli] if args.key?(:basic_sli)
2993
+ @request_based = args[:request_based] if args.key?(:request_based)
2994
+ @windows_based = args[:windows_based] if args.key?(:windows_based)
2995
+ end
2996
+ end
2997
+
2998
+ # A Service-Level Objective (SLO) describes a level of desired good service. It
2999
+ # consists of a service-level indicator (SLI), a performance goal, and a period
3000
+ # over which the objective is to be evaluated against that goal. The SLO can use
3001
+ # SLIs defined in a number of different manners. Typical SLOs might include "99%
3002
+ # of requests in each rolling week have latency below 200 milliseconds" or "99.5%
3003
+ # of requests in each calendar month return successfully."
3004
+ class ServiceLevelObjective
3005
+ include Google::Apis::Core::Hashable
3006
+
3007
+ # A calendar period, semantically "since the start of the current <
3008
+ # calendar_period>". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are
3009
+ # supported.
3010
+ # Corresponds to the JSON property `calendarPeriod`
3011
+ # @return [String]
3012
+ attr_accessor :calendar_period
3013
+
3014
+ # Name used for UI elements listing this SLO.
3015
+ # Corresponds to the JSON property `displayName`
3016
+ # @return [String]
3017
+ attr_accessor :display_name
3018
+
3019
+ # The fraction of service that must be good in order for this objective to be
3020
+ # met. 0 < goal <= 1.
3021
+ # Corresponds to the JSON property `goal`
3022
+ # @return [Float]
3023
+ attr_accessor :goal
3024
+
3025
+ # Resource name for this ServiceLevelObjective. Of the form projects/`project_id`
3026
+ # /services/`service_id`/serviceLevelObjectives/`slo_name`.
3027
+ # Corresponds to the JSON property `name`
3028
+ # @return [String]
3029
+ attr_accessor :name
3030
+
3031
+ # A rolling time period, semantically "in the past <rolling_period>". Must be an
3032
+ # integer multiple of 1 day no larger than 30 days.
3033
+ # Corresponds to the JSON property `rollingPeriod`
3034
+ # @return [String]
3035
+ attr_accessor :rolling_period
3036
+
3037
+ # A Service-Level Indicator (SLI) describes the "performance" of a service. For
3038
+ # some services, the SLI is well-defined. In such cases, the SLI can be
3039
+ # described easily by referencing the well-known SLI and providing the needed
3040
+ # parameters. Alternatively, a "custom" SLI can be defined with a query to the
3041
+ # underlying metric store. An SLI is defined to be good_service /
3042
+ # total_service over any queried time interval. The value of performance always
3043
+ # falls into the range 0 <= performance <= 1. A custom SLI describes how to
3044
+ # compute this ratio, whether this is by dividing values from a pair of time
3045
+ # series, cutting a Distribution into good and bad counts, or counting time
3046
+ # windows in which the service complies with a criterion. For separation of
3047
+ # concerns, a single Service-Level Indicator measures performance for only one
3048
+ # aspect of service quality, such as fraction of successful queries or fast-
3049
+ # enough queries.
3050
+ # Corresponds to the JSON property `serviceLevelIndicator`
3051
+ # @return [Google::Apis::MonitoringV3::ServiceLevelIndicator]
3052
+ attr_accessor :service_level_indicator
3053
+
3054
+ def initialize(**args)
3055
+ update!(**args)
3056
+ end
3057
+
3058
+ # Update properties of this object
3059
+ def update!(**args)
3060
+ @calendar_period = args[:calendar_period] if args.key?(:calendar_period)
3061
+ @display_name = args[:display_name] if args.key?(:display_name)
3062
+ @goal = args[:goal] if args.key?(:goal)
3063
+ @name = args[:name] if args.key?(:name)
3064
+ @rolling_period = args[:rolling_period] if args.key?(:rolling_period)
3065
+ @service_level_indicator = args[:service_level_indicator] if args.key?(:service_level_indicator)
3066
+ end
3067
+ end
3068
+
2422
3069
  # SourceContext represents information about the source of a protobuf element,
2423
3070
  # like the file in which it is defined.
2424
3071
  class SourceContext
@@ -2526,6 +3173,26 @@ module Google
2526
3173
  end
2527
3174
  end
2528
3175
 
3176
+ # Configuration for how to query telemetry on a Service.
3177
+ class Telemetry
3178
+ include Google::Apis::Core::Hashable
3179
+
3180
+ # The full name of the resource that defines this service. Formatted as
3181
+ # described in https://cloud.google.com/apis/design/resource_names.
3182
+ # Corresponds to the JSON property `resourceName`
3183
+ # @return [String]
3184
+ attr_accessor :resource_name
3185
+
3186
+ def initialize(**args)
3187
+ update!(**args)
3188
+ end
3189
+
3190
+ # Update properties of this object
3191
+ def update!(**args)
3192
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
3193
+ end
3194
+ end
3195
+
2529
3196
  # A closed time interval. It extends from the start time to the end time, and
2530
3197
  # includes both: [startTime, endTime]. Valid time intervals depend on the
2531
3198
  # MetricKind of the metric value. In no case can the end time be earlier than
@@ -2650,6 +3317,52 @@ module Google
2650
3317
  end
2651
3318
  end
2652
3319
 
3320
+ # A TimeSeriesRatio specifies two TimeSeries to use for computing the
3321
+ # good_service / total_service ratio. The specified TimeSeries must have
3322
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =
3323
+ # DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two
3324
+ # of good, bad, and total, and the relationship good_service +
3325
+ # bad_service = total_service will be assumed.
3326
+ class TimeSeriesRatio
3327
+ include Google::Apis::Core::Hashable
3328
+
3329
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3330
+ # specifying a TimeSeries quantifying bad service, either demanded service that
3331
+ # was not provided or demanded service that was of inadequate quality. Must have
3332
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or
3333
+ # MetricKind = CUMULATIVE.
3334
+ # Corresponds to the JSON property `badServiceFilter`
3335
+ # @return [String]
3336
+ attr_accessor :bad_service_filter
3337
+
3338
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3339
+ # specifying a TimeSeries quantifying good service provided. Must have ValueType
3340
+ # = DOUBLE or ValueType = INT64 and must have MetricKind =
3341
+ # DELTA or MetricKind = CUMULATIVE.
3342
+ # Corresponds to the JSON property `goodServiceFilter`
3343
+ # @return [String]
3344
+ attr_accessor :good_service_filter
3345
+
3346
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3347
+ # specifying a TimeSeries quantifying total demanded service. Must have
3348
+ # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =
3349
+ # DELTA or MetricKind = CUMULATIVE.
3350
+ # Corresponds to the JSON property `totalServiceFilter`
3351
+ # @return [String]
3352
+ attr_accessor :total_service_filter
3353
+
3354
+ def initialize(**args)
3355
+ update!(**args)
3356
+ end
3357
+
3358
+ # Update properties of this object
3359
+ def update!(**args)
3360
+ @bad_service_filter = args[:bad_service_filter] if args.key?(:bad_service_filter)
3361
+ @good_service_filter = args[:good_service_filter] if args.key?(:good_service_filter)
3362
+ @total_service_filter = args[:total_service_filter] if args.key?(:total_service_filter)
3363
+ end
3364
+ end
3365
+
2653
3366
  # Specifies how many time series must fail a predicate to trigger a condition.
2654
3367
  # If not specified, then a `count: 1` trigger is used.
2655
3368
  class Trigger
@@ -2817,6 +3530,15 @@ module Google
2817
3530
  # @return [Array<Google::Apis::MonitoringV3::InternalChecker>]
2818
3531
  attr_accessor :internal_checkers
2819
3532
 
3533
+ # If this is true, then checks are made only from the 'internal_checkers'. If it
3534
+ # is false, then checks are made only from the 'selected_regions'. It is an
3535
+ # error to provide 'selected_regions' when is_internal is true, or to provide '
3536
+ # internal_checkers' when is_internal is false.
3537
+ # Corresponds to the JSON property `isInternal`
3538
+ # @return [Boolean]
3539
+ attr_accessor :is_internal
3540
+ alias_method :is_internal?, :is_internal
3541
+
2820
3542
  # An object representing a resource that can be used for monitoring, logging,
2821
3543
  # billing, or other purposes. Examples include virtual machine instances,
2822
3544
  # databases, and storage devices such as disks. The type field identifies a
@@ -2883,6 +3605,7 @@ module Google
2883
3605
  @display_name = args[:display_name] if args.key?(:display_name)
2884
3606
  @http_check = args[:http_check] if args.key?(:http_check)
2885
3607
  @internal_checkers = args[:internal_checkers] if args.key?(:internal_checkers)
3608
+ @is_internal = args[:is_internal] if args.key?(:is_internal)
2886
3609
  @monitored_resource = args[:monitored_resource] if args.key?(:monitored_resource)
2887
3610
  @name = args[:name] if args.key?(:name)
2888
3611
  @period = args[:period] if args.key?(:period)
@@ -2954,6 +3677,59 @@ module Google
2954
3677
  @code = args[:code] if args.key?(:code)
2955
3678
  end
2956
3679
  end
3680
+
3681
+ # A WindowsBasedSli defines good_service as the count of time windows for which
3682
+ # the provided service was of good quality. Criteria for determining if service
3683
+ # was good are embedded in the window_criterion.
3684
+ class WindowsBasedSli
3685
+ include Google::Apis::Core::Hashable
3686
+
3687
+ # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters)
3688
+ # specifying a TimeSeries with ValueType = BOOL. The window is good if any true
3689
+ # values appear in the window.
3690
+ # Corresponds to the JSON property `goodBadMetricFilter`
3691
+ # @return [String]
3692
+ attr_accessor :good_bad_metric_filter
3693
+
3694
+ # A PerformanceThreshold is used when each window is good when that window has a
3695
+ # sufficiently high performance.
3696
+ # Corresponds to the JSON property `goodTotalRatioThreshold`
3697
+ # @return [Google::Apis::MonitoringV3::PerformanceThreshold]
3698
+ attr_accessor :good_total_ratio_threshold
3699
+
3700
+ # A MetricRange is used when each window is good when the value x of a single
3701
+ # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must
3702
+ # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.
3703
+ # Corresponds to the JSON property `metricMeanInRange`
3704
+ # @return [Google::Apis::MonitoringV3::MetricRange]
3705
+ attr_accessor :metric_mean_in_range
3706
+
3707
+ # A MetricRange is used when each window is good when the value x of a single
3708
+ # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must
3709
+ # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.
3710
+ # Corresponds to the JSON property `metricSumInRange`
3711
+ # @return [Google::Apis::MonitoringV3::MetricRange]
3712
+ attr_accessor :metric_sum_in_range
3713
+
3714
+ # Duration over which window quality is evaluated. Must be an integer fraction
3715
+ # of a day and at least 60s.
3716
+ # Corresponds to the JSON property `windowPeriod`
3717
+ # @return [String]
3718
+ attr_accessor :window_period
3719
+
3720
+ def initialize(**args)
3721
+ update!(**args)
3722
+ end
3723
+
3724
+ # Update properties of this object
3725
+ def update!(**args)
3726
+ @good_bad_metric_filter = args[:good_bad_metric_filter] if args.key?(:good_bad_metric_filter)
3727
+ @good_total_ratio_threshold = args[:good_total_ratio_threshold] if args.key?(:good_total_ratio_threshold)
3728
+ @metric_mean_in_range = args[:metric_mean_in_range] if args.key?(:metric_mean_in_range)
3729
+ @metric_sum_in_range = args[:metric_sum_in_range] if args.key?(:metric_sum_in_range)
3730
+ @window_period = args[:window_period] if args.key?(:window_period)
3731
+ end
3732
+ end
2957
3733
  end
2958
3734
  end
2959
3735
  end