google-api-client 0.32.1 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +159 -0
  3. data/README.md +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  11. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  12. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  14. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +15 -2
  15. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +16 -3
  17. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  18. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  20. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  22. data/generated/google/apis/admin_directory_v1.rb +4 -1
  23. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  24. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  25. data/generated/google/apis/admin_reports_v1.rb +2 -2
  26. data/generated/google/apis/androidpublisher_v3/classes.rb +12 -0
  27. data/generated/google/apis/androidpublisher_v3/representations.rb +2 -0
  28. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  29. data/generated/google/apis/appengine_v1/service.rb +10 -6
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  32. data/generated/google/apis/appengine_v1beta.rb +1 -1
  33. data/generated/google/apis/bigquery_v2/classes.rb +25 -19
  34. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  35. data/generated/google/apis/bigquery_v2.rb +1 -1
  36. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  37. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  38. data/generated/google/apis/bigtableadmin_v2/classes.rb +62 -29
  39. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  40. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  41. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  42. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  43. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  44. data/generated/google/apis/civicinfo_v2/representations.rb +2 -2
  45. data/generated/google/apis/civicinfo_v2.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  47. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  48. data/generated/google/apis/cloudasset_v1.rb +1 -1
  49. data/generated/google/apis/cloudbilling_v1/classes.rb +65 -36
  50. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  51. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  52. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  53. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/cloudfunctions_v1/service.rb +7 -3
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  58. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  59. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  60. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  61. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  62. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  63. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  64. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  65. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  66. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  68. data/generated/google/apis/cloudkms_v1.rb +1 -1
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -12
  70. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  71. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +4 -8
  72. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  73. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  74. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +4 -8
  75. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  77. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  78. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  79. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  80. data/generated/google/apis/cloudshell_v1/classes.rb +22 -0
  81. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  82. data/generated/google/apis/cloudshell_v1.rb +1 -1
  83. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +22 -0
  84. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  85. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  86. data/generated/google/apis/compute_alpha/classes.rb +519 -152
  87. data/generated/google/apis/compute_alpha/representations.rb +108 -2
  88. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  89. data/generated/google/apis/compute_alpha.rb +1 -1
  90. data/generated/google/apis/compute_beta/classes.rb +1016 -266
  91. data/generated/google/apis/compute_beta/representations.rb +284 -0
  92. data/generated/google/apis/compute_beta/service.rb +1242 -532
  93. data/generated/google/apis/compute_beta.rb +1 -1
  94. data/generated/google/apis/compute_v1/classes.rb +283 -125
  95. data/generated/google/apis/compute_v1/representations.rb +24 -0
  96. data/generated/google/apis/compute_v1/service.rb +759 -473
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/container_v1/classes.rb +207 -5
  99. data/generated/google/apis/container_v1/representations.rb +85 -0
  100. data/generated/google/apis/container_v1.rb +1 -1
  101. data/generated/google/apis/container_v1beta1/classes.rb +125 -3
  102. data/generated/google/apis/container_v1beta1/representations.rb +22 -0
  103. data/generated/google/apis/container_v1beta1.rb +1 -1
  104. data/generated/google/apis/content_v2/classes.rb +23 -220
  105. data/generated/google/apis/content_v2/representations.rb +0 -115
  106. data/generated/google/apis/content_v2/service.rb +0 -160
  107. data/generated/google/apis/content_v2.rb +1 -1
  108. data/generated/google/apis/content_v2_1/classes.rb +57 -18
  109. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  110. data/generated/google/apis/content_v2_1.rb +1 -1
  111. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  112. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  113. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  114. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  115. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  116. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  117. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  118. data/generated/google/apis/datastore_v1/service.rb +85 -1
  119. data/generated/google/apis/datastore_v1.rb +1 -1
  120. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  121. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  122. data/generated/google/apis/dialogflow_v2/classes.rb +25 -7
  123. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  124. data/generated/google/apis/dialogflow_v2.rb +1 -1
  125. data/generated/google/apis/dialogflow_v2beta1/classes.rb +33 -7
  126. data/generated/google/apis/dialogflow_v2beta1/representations.rb +3 -0
  127. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  128. data/generated/google/apis/dlp_v2/classes.rb +19 -11
  129. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  130. data/generated/google/apis/dlp_v2/service.rb +43 -0
  131. data/generated/google/apis/dlp_v2.rb +1 -1
  132. data/generated/google/apis/docs_v1/classes.rb +175 -0
  133. data/generated/google/apis/docs_v1/representations.rb +77 -0
  134. data/generated/google/apis/docs_v1.rb +1 -1
  135. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  136. data/generated/google/apis/drive_v2/classes.rb +2 -1
  137. data/generated/google/apis/drive_v2/service.rb +3 -3
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v3.rb +1 -1
  140. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +37 -0
  141. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +16 -0
  142. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  143. data/generated/google/apis/firestore_v1.rb +1 -1
  144. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  145. data/generated/google/apis/fitness_v1/service.rb +1 -1
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  148. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  149. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  150. data/generated/google/apis/games_management_v1management.rb +1 -1
  151. data/generated/google/apis/games_v1/classes.rb +6 -292
  152. data/generated/google/apis/games_v1/representations.rb +1 -98
  153. data/generated/google/apis/games_v1/service.rb +0 -123
  154. data/generated/google/apis/games_v1.rb +1 -1
  155. data/generated/google/apis/healthcare_v1beta1/classes.rb +205 -9
  156. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  157. data/generated/google/apis/healthcare_v1beta1/service.rb +198 -104
  158. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  159. data/generated/google/apis/iam_v1/classes.rb +9 -2
  160. data/generated/google/apis/iam_v1/representations.rb +1 -0
  161. data/generated/google/apis/iam_v1.rb +1 -1
  162. data/generated/google/apis/iap_v1/classes.rb +187 -2
  163. data/generated/google/apis/iap_v1/representations.rb +102 -0
  164. data/generated/google/apis/iap_v1/service.rb +72 -0
  165. data/generated/google/apis/iap_v1.rb +1 -1
  166. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  167. data/generated/google/apis/iap_v1beta1.rb +1 -1
  168. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  169. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  170. data/generated/google/apis/jobs_v2.rb +1 -1
  171. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  172. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  173. data/generated/google/apis/jobs_v3.rb +1 -1
  174. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  175. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  176. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  178. data/generated/google/apis/licensing_v1/service.rb +81 -37
  179. data/generated/google/apis/licensing_v1.rb +4 -4
  180. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  181. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  182. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  183. data/generated/google/apis/{urlshortener_v1.rb → lifesciences_v2beta.rb} +12 -11
  184. data/generated/google/apis/logging_v2/classes.rb +12 -0
  185. data/generated/google/apis/logging_v2/representations.rb +2 -0
  186. data/generated/google/apis/logging_v2/service.rb +10 -5
  187. data/generated/google/apis/logging_v2.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +66 -23
  189. data/generated/google/apis/ml_v1/representations.rb +1 -0
  190. data/generated/google/apis/ml_v1/service.rb +7 -3
  191. data/generated/google/apis/ml_v1.rb +2 -2
  192. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  193. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  194. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  195. data/generated/google/apis/monitoring_v1.rb +36 -0
  196. data/generated/google/apis/monitoring_v3/classes.rb +27 -13
  197. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  198. data/generated/google/apis/monitoring_v3/service.rb +2 -2
  199. data/generated/google/apis/monitoring_v3.rb +1 -1
  200. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  201. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  202. data/generated/google/apis/oslogin_v1.rb +1 -1
  203. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  204. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  205. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  206. data/generated/google/apis/people_v1/classes.rb +67 -63
  207. data/generated/google/apis/people_v1/service.rb +53 -44
  208. data/generated/google/apis/people_v1.rb +1 -1
  209. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +5 -4
  210. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  211. data/generated/google/apis/pubsub_v1/service.rb +3 -0
  212. data/generated/google/apis/pubsub_v1.rb +1 -1
  213. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  214. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  215. data/generated/google/apis/remotebuildexecution_v1/classes.rb +24 -0
  216. data/generated/google/apis/remotebuildexecution_v1/representations.rb +4 -0
  217. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  218. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +24 -0
  219. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +4 -0
  220. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  221. data/generated/google/apis/remotebuildexecution_v2/classes.rb +24 -0
  222. data/generated/google/apis/remotebuildexecution_v2/representations.rb +4 -0
  223. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  224. data/generated/google/apis/reseller_v1/service.rb +1 -1
  225. data/generated/google/apis/reseller_v1.rb +1 -1
  226. data/generated/google/apis/run_v1/classes.rb +0 -7
  227. data/generated/google/apis/run_v1/service.rb +156 -94
  228. data/generated/google/apis/run_v1.rb +1 -1
  229. data/generated/google/apis/run_v1alpha1/classes.rb +319 -0
  230. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  231. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  232. data/generated/google/apis/run_v1alpha1.rb +1 -1
  233. data/generated/google/apis/securitycenter_v1/classes.rb +2 -2
  234. data/generated/google/apis/securitycenter_v1.rb +1 -1
  235. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -2
  236. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  237. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +63 -0
  238. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  239. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  240. data/generated/google/apis/servicecontrol_v1/classes.rb +0 -11
  241. data/generated/google/apis/servicecontrol_v1/representations.rb +0 -1
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicemanagement_v1/classes.rb +33 -7
  244. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  245. data/generated/google/apis/servicemanagement_v1/service.rb +31 -17
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/serviceusage_v1/classes.rb +55 -0
  248. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  249. data/generated/google/apis/serviceusage_v1.rb +1 -1
  250. data/generated/google/apis/serviceusage_v1beta1/classes.rb +55 -0
  251. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  252. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  253. data/generated/google/apis/sheets_v4/classes.rb +389 -0
  254. data/generated/google/apis/sheets_v4/representations.rb +79 -0
  255. data/generated/google/apis/sheets_v4.rb +1 -1
  256. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  257. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  258. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  259. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  260. data/generated/google/apis/sql_v1beta4/classes.rb +2752 -0
  261. data/generated/google/apis/sql_v1beta4/representations.rb +1131 -0
  262. data/generated/google/apis/sql_v1beta4/service.rb +1791 -0
  263. data/generated/google/apis/sql_v1beta4.rb +37 -0
  264. data/generated/google/apis/storage_v1.rb +1 -1
  265. data/generated/google/apis/testing_v1/classes.rb +142 -1
  266. data/generated/google/apis/testing_v1/representations.rb +76 -0
  267. data/generated/google/apis/testing_v1.rb +1 -1
  268. data/generated/google/apis/videointelligence_v1/classes.rb +35 -36
  269. data/generated/google/apis/videointelligence_v1.rb +1 -1
  270. data/generated/google/apis/videointelligence_v1beta2/classes.rb +35 -36
  271. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  272. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +35 -36
  273. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +35 -36
  275. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  276. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +35 -36
  277. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  278. data/generated/google/apis/vision_v1.rb +1 -1
  279. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  280. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  281. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  282. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  283. data/google-api-client.gemspec +6 -3
  284. data/lib/google/apis/version.rb +1 -1
  285. metadata +28 -30
  286. data/generated/google/apis/dfareporting_v3_2/classes.rb +0 -12299
  287. data/generated/google/apis/dfareporting_v3_2/representations.rb +0 -4397
  288. data/generated/google/apis/dfareporting_v3_2/service.rb +0 -8793
  289. data/generated/google/apis/dfareporting_v3_2.rb +0 -40
  290. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  291. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  292. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -18,14 +18,14 @@ require 'google/apis/ml_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Cloud Machine Learning Engine
21
+ # AI Platform Training & Prediction API
22
22
  #
23
23
  # An API to enable creating and using machine learning models.
24
24
  #
25
25
  # @see https://cloud.google.com/ml/
26
26
  module MlV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190928'
28
+ REVISION = '20191025'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -0,0 +1,260 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module MonitoringV1
24
+
25
+ # A set of (label, value) pairs which were dropped during aggregation, attached
26
+ # to google.api.Distribution.Exemplars in google.api.Distribution values during
27
+ # aggregation.These values are used in combination with the label values that
28
+ # remain on the aggregated Distribution timeseries to construct the full label
29
+ # set for the exemplar values. The resulting full label set may be used to
30
+ # identify the specific task/job/instance (for example) which may be
31
+ # contributing to a long-tail, while allowing the storage savings of only
32
+ # storing aggregated distribution values for a large group.Note that there are
33
+ # no guarantees on ordering of the labels from exemplar-to-exemplar and from
34
+ # distribution-to-distribution in the same stream, and there may be duplicates.
35
+ # It is up to clients to resolve any ambiguities.
36
+ class DroppedLabels
37
+ include Google::Apis::Core::Hashable
38
+
39
+ # Map from label to its value, for all labels dropped in any aggregation.
40
+ # Corresponds to the JSON property `label`
41
+ # @return [Hash<String,String>]
42
+ attr_accessor :label
43
+
44
+ def initialize(**args)
45
+ update!(**args)
46
+ end
47
+
48
+ # Update properties of this object
49
+ def update!(**args)
50
+ @label = args[:label] if args.key?(:label)
51
+ end
52
+ end
53
+
54
+ # A single field of a message type.
55
+ class Field
56
+ include Google::Apis::Core::Hashable
57
+
58
+ # The field cardinality.
59
+ # Corresponds to the JSON property `cardinality`
60
+ # @return [String]
61
+ attr_accessor :cardinality
62
+
63
+ # The string value of the default value of this field. Proto2 syntax only.
64
+ # Corresponds to the JSON property `defaultValue`
65
+ # @return [String]
66
+ attr_accessor :default_value
67
+
68
+ # The field JSON name.
69
+ # Corresponds to the JSON property `jsonName`
70
+ # @return [String]
71
+ attr_accessor :json_name
72
+
73
+ # The field type.
74
+ # Corresponds to the JSON property `kind`
75
+ # @return [String]
76
+ attr_accessor :kind
77
+
78
+ # The field name.
79
+ # Corresponds to the JSON property `name`
80
+ # @return [String]
81
+ attr_accessor :name
82
+
83
+ # The field number.
84
+ # Corresponds to the JSON property `number`
85
+ # @return [Fixnum]
86
+ attr_accessor :number
87
+
88
+ # The index of the field type in Type.oneofs, for message or enumeration types.
89
+ # The first type has index 1; zero means the type is not in the list.
90
+ # Corresponds to the JSON property `oneofIndex`
91
+ # @return [Fixnum]
92
+ attr_accessor :oneof_index
93
+
94
+ # The protocol buffer options.
95
+ # Corresponds to the JSON property `options`
96
+ # @return [Array<Google::Apis::MonitoringV1::Option>]
97
+ attr_accessor :options
98
+
99
+ # Whether to use alternative packed wire representation.
100
+ # Corresponds to the JSON property `packed`
101
+ # @return [Boolean]
102
+ attr_accessor :packed
103
+ alias_method :packed?, :packed
104
+
105
+ # The field type URL, without the scheme, for message or enumeration types.
106
+ # Example: "type.googleapis.com/google.protobuf.Timestamp".
107
+ # Corresponds to the JSON property `typeUrl`
108
+ # @return [String]
109
+ attr_accessor :type_url
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @cardinality = args[:cardinality] if args.key?(:cardinality)
118
+ @default_value = args[:default_value] if args.key?(:default_value)
119
+ @json_name = args[:json_name] if args.key?(:json_name)
120
+ @kind = args[:kind] if args.key?(:kind)
121
+ @name = args[:name] if args.key?(:name)
122
+ @number = args[:number] if args.key?(:number)
123
+ @oneof_index = args[:oneof_index] if args.key?(:oneof_index)
124
+ @options = args[:options] if args.key?(:options)
125
+ @packed = args[:packed] if args.key?(:packed)
126
+ @type_url = args[:type_url] if args.key?(:type_url)
127
+ end
128
+ end
129
+
130
+ # A protocol buffer option, which can be attached to a message, field,
131
+ # enumeration, etc.
132
+ class Option
133
+ include Google::Apis::Core::Hashable
134
+
135
+ # The option's name. For protobuf built-in options (options defined in
136
+ # descriptor.proto), this is the short name. For example, "map_entry". For
137
+ # custom options, it should be the fully-qualified name. For example, "google.
138
+ # api.http".
139
+ # Corresponds to the JSON property `name`
140
+ # @return [String]
141
+ attr_accessor :name
142
+
143
+ # The option's value packed in an Any message. If the value is a primitive, the
144
+ # corresponding wrapper type defined in google/protobuf/wrappers.proto should be
145
+ # used. If the value is an enum, it should be stored as an int32 value using the
146
+ # google.protobuf.Int32Value type.
147
+ # Corresponds to the JSON property `value`
148
+ # @return [Hash<String,Object>]
149
+ attr_accessor :value
150
+
151
+ def initialize(**args)
152
+ update!(**args)
153
+ end
154
+
155
+ # Update properties of this object
156
+ def update!(**args)
157
+ @name = args[:name] if args.key?(:name)
158
+ @value = args[:value] if args.key?(:value)
159
+ end
160
+ end
161
+
162
+ # SourceContext represents information about the source of a protobuf element,
163
+ # like the file in which it is defined.
164
+ class SourceContext
165
+ include Google::Apis::Core::Hashable
166
+
167
+ # The path-qualified name of the .proto file that contained the associated
168
+ # protobuf element. For example: "google/protobuf/source_context.proto".
169
+ # Corresponds to the JSON property `fileName`
170
+ # @return [String]
171
+ attr_accessor :file_name
172
+
173
+ def initialize(**args)
174
+ update!(**args)
175
+ end
176
+
177
+ # Update properties of this object
178
+ def update!(**args)
179
+ @file_name = args[:file_name] if args.key?(:file_name)
180
+ end
181
+ end
182
+
183
+ # The context of a span, attached to google.api.Distribution.Exemplars in google.
184
+ # api.Distribution values during aggregation.It contains the name of a span with
185
+ # format: projects/PROJECT_ID/traces/TRACE_ID/spans/SPAN_ID
186
+ class SpanContext
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # The resource name of the span in the following format:
190
+ # projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]
191
+ # TRACE_ID is a unique identifier for a trace within a project; it is a 32-
192
+ # character hexadecimal encoding of a 16-byte array.SPAN_ID is a unique
193
+ # identifier for a span within a trace; it is a 16-character hexadecimal
194
+ # encoding of an 8-byte array.
195
+ # Corresponds to the JSON property `spanName`
196
+ # @return [String]
197
+ attr_accessor :span_name
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ @span_name = args[:span_name] if args.key?(:span_name)
206
+ end
207
+ end
208
+
209
+ # A protocol buffer message type.
210
+ class Type
211
+ include Google::Apis::Core::Hashable
212
+
213
+ # The list of fields.
214
+ # Corresponds to the JSON property `fields`
215
+ # @return [Array<Google::Apis::MonitoringV1::Field>]
216
+ attr_accessor :fields
217
+
218
+ # The fully qualified message name.
219
+ # Corresponds to the JSON property `name`
220
+ # @return [String]
221
+ attr_accessor :name
222
+
223
+ # The list of types appearing in oneof definitions in this type.
224
+ # Corresponds to the JSON property `oneofs`
225
+ # @return [Array<String>]
226
+ attr_accessor :oneofs
227
+
228
+ # The protocol buffer options.
229
+ # Corresponds to the JSON property `options`
230
+ # @return [Array<Google::Apis::MonitoringV1::Option>]
231
+ attr_accessor :options
232
+
233
+ # SourceContext represents information about the source of a protobuf element,
234
+ # like the file in which it is defined.
235
+ # Corresponds to the JSON property `sourceContext`
236
+ # @return [Google::Apis::MonitoringV1::SourceContext]
237
+ attr_accessor :source_context
238
+
239
+ # The source syntax.
240
+ # Corresponds to the JSON property `syntax`
241
+ # @return [String]
242
+ attr_accessor :syntax
243
+
244
+ def initialize(**args)
245
+ update!(**args)
246
+ end
247
+
248
+ # Update properties of this object
249
+ def update!(**args)
250
+ @fields = args[:fields] if args.key?(:fields)
251
+ @name = args[:name] if args.key?(:name)
252
+ @oneofs = args[:oneofs] if args.key?(:oneofs)
253
+ @options = args[:options] if args.key?(:options)
254
+ @source_context = args[:source_context] if args.key?(:source_context)
255
+ @syntax = args[:syntax] if args.key?(:syntax)
256
+ end
257
+ end
258
+ end
259
+ end
260
+ end
@@ -0,0 +1,123 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module MonitoringV1
24
+
25
+ class DroppedLabels
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class Field
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class Option
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class SourceContext
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class SpanContext
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class Type
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class DroppedLabels
62
+ # @private
63
+ class Representation < Google::Apis::Core::JsonRepresentation
64
+ hash :label, as: 'label'
65
+ end
66
+ end
67
+
68
+ class Field
69
+ # @private
70
+ class Representation < Google::Apis::Core::JsonRepresentation
71
+ property :cardinality, as: 'cardinality'
72
+ property :default_value, as: 'defaultValue'
73
+ property :json_name, as: 'jsonName'
74
+ property :kind, as: 'kind'
75
+ property :name, as: 'name'
76
+ property :number, as: 'number'
77
+ property :oneof_index, as: 'oneofIndex'
78
+ collection :options, as: 'options', class: Google::Apis::MonitoringV1::Option, decorator: Google::Apis::MonitoringV1::Option::Representation
79
+
80
+ property :packed, as: 'packed'
81
+ property :type_url, as: 'typeUrl'
82
+ end
83
+ end
84
+
85
+ class Option
86
+ # @private
87
+ class Representation < Google::Apis::Core::JsonRepresentation
88
+ property :name, as: 'name'
89
+ hash :value, as: 'value'
90
+ end
91
+ end
92
+
93
+ class SourceContext
94
+ # @private
95
+ class Representation < Google::Apis::Core::JsonRepresentation
96
+ property :file_name, as: 'fileName'
97
+ end
98
+ end
99
+
100
+ class SpanContext
101
+ # @private
102
+ class Representation < Google::Apis::Core::JsonRepresentation
103
+ property :span_name, as: 'spanName'
104
+ end
105
+ end
106
+
107
+ class Type
108
+ # @private
109
+ class Representation < Google::Apis::Core::JsonRepresentation
110
+ collection :fields, as: 'fields', class: Google::Apis::MonitoringV1::Field, decorator: Google::Apis::MonitoringV1::Field::Representation
111
+
112
+ property :name, as: 'name'
113
+ collection :oneofs, as: 'oneofs'
114
+ collection :options, as: 'options', class: Google::Apis::MonitoringV1::Option, decorator: Google::Apis::MonitoringV1::Option::Representation
115
+
116
+ property :source_context, as: 'sourceContext', class: Google::Apis::MonitoringV1::SourceContext, decorator: Google::Apis::MonitoringV1::SourceContext::Representation
117
+
118
+ property :syntax, as: 'syntax'
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,64 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module MonitoringV1
23
+ # Stackdriver Monitoring API
24
+ #
25
+ # Manages your Stackdriver Monitoring data and configurations. Most projects
26
+ # must be associated with a Stackdriver account, with a few exceptions as noted
27
+ # on the individual method pages. The table entries below are presented in
28
+ # alphabetical order, not in order of common use. For explanations of the
29
+ # concepts found in the table entries, read the Stackdriver Monitoring
30
+ # documentation.
31
+ #
32
+ # @example
33
+ # require 'google/apis/monitoring_v1'
34
+ #
35
+ # Monitoring = Google::Apis::MonitoringV1 # Alias the module
36
+ # service = Monitoring::MonitoringService.new
37
+ #
38
+ # @see https://cloud.google.com/monitoring/api/
39
+ class MonitoringService < Google::Apis::Core::BaseService
40
+ # @return [String]
41
+ # API key. Your API key identifies your project and provides you with API access,
42
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
43
+ attr_accessor :key
44
+
45
+ # @return [String]
46
+ # Available to use for quota purposes for server-side applications. Can be any
47
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
48
+ attr_accessor :quota_user
49
+
50
+ def initialize
51
+ super('https://monitoring.googleapis.com/', '')
52
+ @batch_path = 'batch'
53
+ end
54
+
55
+ protected
56
+
57
+ def apply_command_defaults(command)
58
+ command.query['key'] = key unless key.nil?
59
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,36 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/monitoring_v1/service.rb'
16
+ require 'google/apis/monitoring_v1/classes.rb'
17
+ require 'google/apis/monitoring_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Stackdriver Monitoring API
22
+ #
23
+ # Manages your Stackdriver Monitoring data and configurations. Most projects
24
+ # must be associated with a Stackdriver account, with a few exceptions as noted
25
+ # on the individual method pages. The table entries below are presented in
26
+ # alphabetical order, not in order of common use. For explanations of the
27
+ # concepts found in the table entries, read the Stackdriver Monitoring
28
+ # documentation.
29
+ #
30
+ # @see https://cloud.google.com/monitoring/api/
31
+ module MonitoringV1
32
+ VERSION = 'V1'
33
+ REVISION = '20191005'
34
+ end
35
+ end
36
+ end
@@ -1240,7 +1240,11 @@ module Google
1240
1240
  # @return [String]
1241
1241
  attr_accessor :description
1242
1242
 
1243
- # The label key.
1243
+ # The key for this label. The key must meet the following criteria:
1244
+ # Does not exceed 100 characters.
1245
+ # Matches the following regular expression: [a-zA-Z][a-zA-Z0-9_]*
1246
+ # The first character must be an upper- or lower-case letter.
1247
+ # The remaining characters must be letters, digits, or underscores.
1244
1248
  # Corresponds to the JSON property `key`
1245
1249
  # @return [String]
1246
1250
  attr_accessor :key
@@ -1636,8 +1640,8 @@ module Google
1636
1640
  # multiple streams on each resource to a single stream for each resource or when
1637
1641
  # aggregating streams across all members of a group of resrouces). Multiple
1638
1642
  # 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.
1643
+ # one in the ListTimeSeries request. It is advisable to use the ListTimeSeries
1644
+ # method when debugging this field.
1641
1645
  # Corresponds to the JSON property `aggregations`
1642
1646
  # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1643
1647
  attr_accessor :aggregations
@@ -1652,10 +1656,10 @@ module Google
1652
1656
 
1653
1657
  # A filter that identifies which time series should be compared with the
1654
1658
  # 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.
1659
+ # ListTimeSeries request (that call is useful to verify the time series that
1660
+ # will be retrieved / processed) and must specify the metric type and optionally
1661
+ # may contain restrictions on resource type, resource labels, and metric labels.
1662
+ # This field may not exceed 2048 Unicode characters in length.
1659
1663
  # Corresponds to the JSON property `filter`
1660
1664
  # @return [String]
1661
1665
  attr_accessor :filter
@@ -1870,8 +1874,8 @@ module Google
1870
1874
  # multiple streams on each resource to a single stream for each resource or when
1871
1875
  # aggregating streams across all members of a group of resrouces). Multiple
1872
1876
  # 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.
1877
+ # one in the ListTimeSeries request. It is advisable to use the ListTimeSeries
1878
+ # method when debugging this field.
1875
1879
  # Corresponds to the JSON property `aggregations`
1876
1880
  # @return [Array<Google::Apis::MonitoringV3::Aggregation>]
1877
1881
  attr_accessor :aggregations
@@ -1921,10 +1925,10 @@ module Google
1921
1925
 
1922
1926
  # A filter that identifies which time series should be compared with the
1923
1927
  # 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.
1928
+ # ListTimeSeries request (that call is useful to verify the time series that
1929
+ # will be retrieved / processed) and must specify the metric type and optionally
1930
+ # may contain restrictions on resource type, resource labels, and metric labels.
1931
+ # This field may not exceed 2048 Unicode characters in length.
1928
1932
  # Corresponds to the JSON property `filter`
1929
1933
  # @return [String]
1930
1934
  attr_accessor :filter
@@ -2817,6 +2821,15 @@ module Google
2817
2821
  # @return [Array<Google::Apis::MonitoringV3::InternalChecker>]
2818
2822
  attr_accessor :internal_checkers
2819
2823
 
2824
+ # If this is true, then checks are made only from the 'internal_checkers'. If it
2825
+ # is false, then checks are made only from the 'selected_regions'. It is an
2826
+ # error to provide 'selected_regions' when is_internal is true, or to provide '
2827
+ # internal_checkers' when is_internal is false.
2828
+ # Corresponds to the JSON property `isInternal`
2829
+ # @return [Boolean]
2830
+ attr_accessor :is_internal
2831
+ alias_method :is_internal?, :is_internal
2832
+
2820
2833
  # An object representing a resource that can be used for monitoring, logging,
2821
2834
  # billing, or other purposes. Examples include virtual machine instances,
2822
2835
  # databases, and storage devices such as disks. The type field identifies a
@@ -2883,6 +2896,7 @@ module Google
2883
2896
  @display_name = args[:display_name] if args.key?(:display_name)
2884
2897
  @http_check = args[:http_check] if args.key?(:http_check)
2885
2898
  @internal_checkers = args[:internal_checkers] if args.key?(:internal_checkers)
2899
+ @is_internal = args[:is_internal] if args.key?(:is_internal)
2886
2900
  @monitored_resource = args[:monitored_resource] if args.key?(:monitored_resource)
2887
2901
  @name = args[:name] if args.key?(:name)
2888
2902
  @period = args[:period] if args.key?(:period)
@@ -1074,6 +1074,7 @@ module Google
1074
1074
 
1075
1075
  collection :internal_checkers, as: 'internalCheckers', class: Google::Apis::MonitoringV3::InternalChecker, decorator: Google::Apis::MonitoringV3::InternalChecker::Representation
1076
1076
 
1077
+ property :is_internal, as: 'isInternal'
1077
1078
  property :monitored_resource, as: 'monitoredResource', class: Google::Apis::MonitoringV3::MonitoredResource, decorator: Google::Apis::MonitoringV3::MonitoredResource::Representation
1078
1079
 
1079
1080
  property :name, as: 'name'
@@ -1265,8 +1265,8 @@ module Google
1265
1265
  # Optional. The beginning of the time interval. The default value for the start
1266
1266
  # time is the end time. The start time must not be later than the end time.
1267
1267
  # @param [String] order_by
1268
- # Unsupported: must be left blank. The points in each time series are returned
1269
- # in reverse time order.
1268
+ # Unsupported: must be left blank. The points in each time series are currently
1269
+ # returned in reverse time order (most recent to oldest).
1270
1270
  # @param [Fixnum] page_size
1271
1271
  # A positive number that is the maximum number of results to return. If
1272
1272
  # page_size is empty or more than 100,000 results, the effective page_size is
@@ -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 = '20190929'
33
+ REVISION = '20191027'
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'
@@ -66,7 +66,7 @@ module Google
66
66
  class LoginProfile
67
67
  include Google::Apis::Core::Hashable
68
68
 
69
- # A unique user ID.
69
+ # Required. A unique user ID.
70
70
  # Corresponds to the JSON property `name`
71
71
  # @return [String]
72
72
  attr_accessor :name