google-api-client 0.31.0 → 0.32.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 (295) hide show
  1. checksums.yaml +4 -4
  2. data/.kokoro/continuous/linux.cfg +11 -1
  3. data/.kokoro/continuous/osx.cfg +5 -0
  4. data/.kokoro/continuous/windows.cfg +10 -0
  5. data/.kokoro/presubmit/linux.cfg +11 -1
  6. data/.kokoro/presubmit/osx.cfg +5 -0
  7. data/.kokoro/presubmit/windows.cfg +10 -0
  8. data/CHANGELOG.md +107 -0
  9. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  10. data/generated/google/apis/androidmanagement_v1/classes.rb +12 -1
  11. data/generated/google/apis/androidmanagement_v1/representations.rb +1 -0
  12. data/generated/google/apis/bigquery_v2.rb +1 -1
  13. data/generated/google/apis/bigquery_v2/classes.rb +241 -0
  14. data/generated/google/apis/bigquery_v2/representations.rb +115 -0
  15. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  16. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +62 -29
  17. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  18. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +2 -2
  19. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -26
  20. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  21. data/generated/google/apis/bigqueryreservation_v1/classes.rb +7 -7
  22. data/generated/google/apis/bigqueryreservation_v1/representations.rb +3 -3
  23. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  24. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -175
  25. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -65
  26. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -140
  27. data/generated/google/apis/bigqueryreservation_v1beta1.rb +37 -0
  28. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +497 -0
  29. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +236 -0
  30. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +713 -0
  31. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  32. data/generated/google/apis/binaryauthorization_v1/classes.rb +307 -0
  33. data/generated/google/apis/binaryauthorization_v1/representations.rb +88 -0
  34. data/generated/google/apis/binaryauthorization_v1/service.rb +230 -0
  35. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  36. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +62 -29
  37. data/generated/google/apis/blogger_v3.rb +1 -1
  38. data/generated/google/apis/blogger_v3/service.rb +6 -6
  39. data/generated/google/apis/calendar_v3.rb +1 -1
  40. data/generated/google/apis/calendar_v3/classes.rb +1 -0
  41. data/generated/google/apis/cloudasset_v1.rb +1 -1
  42. data/generated/google/apis/cloudasset_v1/classes.rb +72 -29
  43. data/generated/google/apis/cloudasset_v1/representations.rb +1 -0
  44. data/generated/google/apis/cloudasset_v1/service.rb +1 -1
  45. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1beta1/classes.rb +62 -29
  47. data/generated/google/apis/cloudasset_v1beta1/service.rb +2 -2
  48. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  49. data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -2
  50. data/generated/google/apis/cloudfunctions_v1/service.rb +10 -7
  51. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  52. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +1 -1
  53. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +7 -6
  54. data/generated/google/apis/cloudidentity_v1.rb +4 -1
  55. data/generated/google/apis/cloudidentity_v1beta1.rb +4 -1
  56. data/generated/google/apis/cloudiot_v1.rb +1 -1
  57. data/generated/google/apis/cloudiot_v1/classes.rb +68 -35
  58. data/generated/google/apis/cloudiot_v1/service.rb +18 -17
  59. data/generated/google/apis/cloudkms_v1.rb +1 -1
  60. data/generated/google/apis/cloudkms_v1/classes.rb +77 -35
  61. data/generated/google/apis/cloudkms_v1/service.rb +33 -27
  62. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  63. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +62 -29
  64. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  65. data/generated/google/apis/cloudsearch_v1/classes.rb +354 -0
  66. data/generated/google/apis/cloudsearch_v1/representations.rb +196 -0
  67. data/generated/google/apis/cloudsearch_v1/service.rb +314 -2
  68. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  69. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +62 -29
  70. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  71. data/generated/google/apis/cloudtrace_v1/classes.rb +1 -1
  72. data/generated/google/apis/cloudtrace_v1/service.rb +10 -10
  73. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  74. data/generated/google/apis/cloudtrace_v2/classes.rb +3 -3
  75. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  76. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +7 -10
  77. data/generated/google/apis/compute_alpha.rb +1 -1
  78. data/generated/google/apis/compute_alpha/classes.rb +38 -42
  79. data/generated/google/apis/compute_alpha/representations.rb +5 -16
  80. data/generated/google/apis/compute_beta.rb +1 -1
  81. data/generated/google/apis/compute_beta/classes.rb +10 -5
  82. data/generated/google/apis/compute_v1.rb +1 -1
  83. data/generated/google/apis/compute_v1/classes.rb +1327 -4
  84. data/generated/google/apis/compute_v1/representations.rb +439 -0
  85. data/generated/google/apis/container_v1.rb +1 -1
  86. data/generated/google/apis/container_v1/classes.rb +111 -0
  87. data/generated/google/apis/container_v1/representations.rb +51 -0
  88. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  89. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +76 -30
  90. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1 -0
  91. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  92. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +70 -30
  93. data/generated/google/apis/content_v2.rb +1 -1
  94. data/generated/google/apis/content_v2/service.rb +0 -226
  95. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  96. data/generated/google/apis/dataflow_v1b3/classes.rb +42 -0
  97. data/generated/google/apis/dataflow_v1b3/representations.rb +4 -0
  98. data/generated/google/apis/dataproc_v1.rb +1 -1
  99. data/generated/google/apis/dataproc_v1/classes.rb +324 -38
  100. data/generated/google/apis/dataproc_v1/representations.rb +97 -0
  101. data/generated/google/apis/dataproc_v1/service.rb +613 -1
  102. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  103. data/generated/google/apis/dataproc_v1beta2/classes.rb +100 -54
  104. data/generated/google/apis/dataproc_v1beta2/service.rb +29 -22
  105. data/generated/google/apis/dialogflow_v2.rb +1 -1
  106. data/generated/google/apis/dialogflow_v2/classes.rb +363 -167
  107. data/generated/google/apis/dialogflow_v2/representations.rb +160 -49
  108. data/generated/google/apis/dialogflow_v2/service.rb +1 -1
  109. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  110. data/generated/google/apis/dialogflow_v2beta1/classes.rb +433 -178
  111. data/generated/google/apis/dialogflow_v2beta1/representations.rb +199 -59
  112. data/generated/google/apis/dialogflow_v2beta1/service.rb +39 -0
  113. data/generated/google/apis/dlp_v2.rb +1 -1
  114. data/generated/google/apis/dlp_v2/classes.rb +3 -4
  115. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  116. data/generated/google/apis/drive_v2.rb +1 -1
  117. data/generated/google/apis/drive_v2/classes.rb +2 -2
  118. data/generated/google/apis/drive_v3.rb +1 -1
  119. data/generated/google/apis/drive_v3/classes.rb +2 -2
  120. data/generated/google/apis/fcm_v1.rb +1 -1
  121. data/generated/google/apis/fcm_v1/classes.rb +9 -4
  122. data/generated/google/apis/file_v1.rb +1 -1
  123. data/generated/google/apis/file_v1/classes.rb +8 -0
  124. data/generated/google/apis/file_v1/representations.rb +1 -0
  125. data/generated/google/apis/file_v1/service.rb +2 -0
  126. data/generated/google/apis/file_v1beta1.rb +1 -1
  127. data/generated/google/apis/file_v1beta1/classes.rb +8 -0
  128. data/generated/google/apis/file_v1beta1/representations.rb +1 -0
  129. data/generated/google/apis/file_v1beta1/service.rb +2 -0
  130. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  131. data/generated/google/apis/firebase_v1beta1/classes.rb +41 -4
  132. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  133. data/generated/google/apis/firebase_v1beta1/service.rb +22 -14
  134. data/generated/google/apis/fitness_v1.rb +19 -19
  135. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  136. data/generated/google/apis/healthcare_v1beta1/classes.rb +136 -100
  137. data/generated/google/apis/healthcare_v1beta1/representations.rb +1 -1
  138. data/generated/google/apis/healthcare_v1beta1/service.rb +124 -119
  139. data/generated/google/apis/iam_v1.rb +1 -1
  140. data/generated/google/apis/iam_v1/classes.rb +87 -41
  141. data/generated/google/apis/iap_v1.rb +1 -1
  142. data/generated/google/apis/iap_v1/classes.rb +62 -29
  143. data/generated/google/apis/iap_v1beta1.rb +1 -1
  144. data/generated/google/apis/iap_v1beta1/classes.rb +62 -29
  145. data/generated/google/apis/ml_v1.rb +1 -1
  146. data/generated/google/apis/ml_v1/classes.rb +114 -49
  147. data/generated/google/apis/ml_v1/representations.rb +2 -0
  148. data/generated/google/apis/ml_v1/service.rb +12 -6
  149. data/generated/google/apis/monitoring_v3.rb +1 -1
  150. data/generated/google/apis/monitoring_v3/classes.rb +14 -10
  151. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  152. data/generated/google/apis/oslogin_v1.rb +1 -1
  153. data/generated/google/apis/oslogin_v1/classes.rb +12 -0
  154. data/generated/google/apis/oslogin_v1/representations.rb +2 -0
  155. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  156. data/generated/google/apis/oslogin_v1alpha/classes.rb +12 -0
  157. data/generated/google/apis/oslogin_v1alpha/representations.rb +2 -0
  158. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  159. data/generated/google/apis/oslogin_v1beta/classes.rb +12 -0
  160. data/generated/google/apis/oslogin_v1beta/representations.rb +2 -0
  161. data/generated/google/apis/policytroubleshooter_v1beta.rb +34 -0
  162. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +621 -0
  163. data/generated/google/apis/policytroubleshooter_v1beta/representations.rb +203 -0
  164. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +91 -0
  165. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  166. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +7 -4
  167. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +60 -58
  168. data/generated/google/apis/recommender_v1beta1.rb +34 -0
  169. data/generated/google/apis/recommender_v1beta1/classes.rb +502 -0
  170. data/generated/google/apis/recommender_v1beta1/representations.rb +232 -0
  171. data/generated/google/apis/recommender_v1beta1/service.rb +262 -0
  172. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  173. data/generated/google/apis/remotebuildexecution_v1/classes.rb +49 -1100
  174. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -276
  175. data/generated/google/apis/remotebuildexecution_v1/service.rb +0 -77
  176. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  177. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +12 -990
  178. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -245
  179. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  180. data/generated/google/apis/remotebuildexecution_v2/classes.rb +12 -990
  181. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -245
  182. data/generated/google/apis/run_v1.rb +1 -1
  183. data/generated/google/apis/run_v1/classes.rb +3553 -33
  184. data/generated/google/apis/run_v1/representations.rb +1186 -4
  185. data/generated/google/apis/run_v1/service.rb +2509 -23
  186. data/generated/google/apis/run_v1alpha1.rb +1 -1
  187. data/generated/google/apis/run_v1alpha1/classes.rb +103 -140
  188. data/generated/google/apis/run_v1alpha1/representations.rb +5 -43
  189. data/generated/google/apis/run_v1beta1.rb +35 -0
  190. data/generated/google/apis/run_v1beta1/classes.rb +1209 -0
  191. data/generated/google/apis/run_v1beta1/representations.rb +421 -0
  192. data/generated/google/apis/run_v1beta1/service.rb +172 -0
  193. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  194. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +62 -29
  195. data/generated/google/apis/safebrowsing_v4.rb +5 -2
  196. data/generated/google/apis/safebrowsing_v4/service.rb +4 -1
  197. data/generated/google/apis/securitycenter_v1.rb +1 -1
  198. data/generated/google/apis/securitycenter_v1/classes.rb +70 -35
  199. data/generated/google/apis/securitycenter_v1/service.rb +13 -12
  200. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  201. data/generated/google/apis/securitycenter_v1beta1/classes.rb +71 -35
  202. data/generated/google/apis/securitycenter_v1beta1/service.rb +13 -12
  203. data/generated/google/apis/servicebroker_v1.rb +1 -1
  204. data/generated/google/apis/servicebroker_v1/classes.rb +62 -29
  205. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  206. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +62 -29
  207. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  208. data/generated/google/apis/servicebroker_v1beta1/classes.rb +62 -29
  209. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  210. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +11 -2
  211. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  212. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  213. data/generated/google/apis/servicemanagement_v1/classes.rb +63 -33
  214. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  215. data/generated/google/apis/servicenetworking_v1/classes.rb +11 -2
  216. data/generated/google/apis/servicenetworking_v1/representations.rb +1 -0
  217. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  218. data/generated/google/apis/servicenetworking_v1beta/classes.rb +11 -2
  219. data/generated/google/apis/servicenetworking_v1beta/representations.rb +1 -0
  220. data/generated/google/apis/serviceusage_v1.rb +1 -1
  221. data/generated/google/apis/serviceusage_v1/classes.rb +11 -2
  222. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  223. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  224. data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -2
  225. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  226. data/generated/google/apis/spanner_v1.rb +1 -1
  227. data/generated/google/apis/spanner_v1/classes.rb +78 -2
  228. data/generated/google/apis/spanner_v1/representations.rb +44 -0
  229. data/generated/google/apis/spanner_v1/service.rb +35 -0
  230. data/generated/google/apis/speech_v1.rb +1 -1
  231. data/generated/google/apis/speech_v1/classes.rb +73 -19
  232. data/generated/google/apis/speech_v1/representations.rb +18 -0
  233. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  234. data/generated/google/apis/speech_v1p1beta1/classes.rb +31 -35
  235. data/generated/google/apis/speech_v2beta.rb +1 -1
  236. data/generated/google/apis/speech_v2beta/classes.rb +6 -6
  237. data/generated/google/apis/speech_v2beta/representations.rb +2 -2
  238. data/generated/google/apis/storage_v1.rb +1 -1
  239. data/generated/google/apis/storage_v1/classes.rb +1 -1
  240. data/generated/google/apis/storage_v1/representations.rb +2 -1
  241. data/generated/google/apis/storage_v1beta1.rb +1 -1
  242. data/generated/google/apis/storage_v1beta2.rb +1 -1
  243. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  244. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  245. data/generated/google/apis/streetviewpublish_v1/service.rb +9 -5
  246. data/generated/google/apis/testing_v1.rb +1 -1
  247. data/generated/google/apis/testing_v1/classes.rb +42 -0
  248. data/generated/google/apis/testing_v1/representations.rb +18 -0
  249. data/generated/google/apis/texttospeech_v1.rb +1 -1
  250. data/generated/google/apis/texttospeech_v1/classes.rb +6 -5
  251. data/generated/google/apis/texttospeech_v1/service.rb +1 -1
  252. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  253. data/generated/google/apis/texttospeech_v1beta1/classes.rb +6 -5
  254. data/generated/google/apis/texttospeech_v1beta1/service.rb +1 -1
  255. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  256. data/generated/google/apis/toolresults_v1beta3/classes.rb +1 -1
  257. data/generated/google/apis/translate_v3beta1.rb +1 -1
  258. data/generated/google/apis/translate_v3beta1/classes.rb +22 -16
  259. data/generated/google/apis/translate_v3beta1/service.rb +31 -31
  260. data/generated/google/apis/videointelligence_v1.rb +1 -1
  261. data/generated/google/apis/videointelligence_v1/classes.rb +45 -10
  262. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  263. data/generated/google/apis/videointelligence_v1beta2/classes.rb +45 -10
  264. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  265. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +45 -10
  266. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  267. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +45 -10
  268. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  269. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +45 -10
  270. data/generated/google/apis/vision_v1.rb +1 -1
  271. data/generated/google/apis/vision_v1/classes.rb +6 -156
  272. data/generated/google/apis/vision_v1/representations.rb +0 -44
  273. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/vision_v1p1beta1/classes.rb +6 -156
  275. data/generated/google/apis/vision_v1p1beta1/representations.rb +0 -44
  276. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  277. data/generated/google/apis/vision_v1p2beta1/classes.rb +6 -156
  278. data/generated/google/apis/vision_v1p2beta1/representations.rb +0 -44
  279. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  280. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  281. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +21 -31
  282. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  283. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  284. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +30 -42
  285. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  286. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  287. data/generated/google/apis/youtube_partner_v1/classes.rb +0 -83
  288. data/generated/google/apis/youtube_partner_v1/representations.rb +0 -35
  289. data/generated/google/apis/youtube_partner_v1/service.rb +0 -100
  290. data/lib/google/apis/version.rb +1 -1
  291. metadata +18 -6
  292. data/generated/google/apis/dfareporting_v3_1.rb +0 -40
  293. data/generated/google/apis/dfareporting_v3_1/classes.rb +0 -11998
  294. data/generated/google/apis/dfareporting_v3_1/representations.rb +0 -4313
  295. data/generated/google/apis/dfareporting_v3_1/service.rb +0 -8688
@@ -0,0 +1,34 @@
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/recommender_v1beta1/service.rb'
16
+ require 'google/apis/recommender_v1beta1/classes.rb'
17
+ require 'google/apis/recommender_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Recommender API
22
+ #
23
+ #
24
+ #
25
+ # @see https://cloud.google.com/recommender/docs/
26
+ module RecommenderV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20190922'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,502 @@
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 RecommenderV1beta1
24
+
25
+ # Contains metadata about how much money a recommendation can save or incur.
26
+ class GoogleCloudRecommenderV1beta1CostProjection
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Represents an amount of money with its currency type.
30
+ # Corresponds to the JSON property `cost`
31
+ # @return [Google::Apis::RecommenderV1beta1::GoogleTypeMoney]
32
+ attr_accessor :cost
33
+
34
+ # Duration for which this cost applies.
35
+ # Corresponds to the JSON property `duration`
36
+ # @return [String]
37
+ attr_accessor :duration
38
+
39
+ def initialize(**args)
40
+ update!(**args)
41
+ end
42
+
43
+ # Update properties of this object
44
+ def update!(**args)
45
+ @cost = args[:cost] if args.key?(:cost)
46
+ @duration = args[:duration] if args.key?(:duration)
47
+ end
48
+ end
49
+
50
+ # Contains the impact a recommendation can have for a given category.
51
+ class GoogleCloudRecommenderV1beta1Impact
52
+ include Google::Apis::Core::Hashable
53
+
54
+ # Category that is being targeted.
55
+ # Corresponds to the JSON property `category`
56
+ # @return [String]
57
+ attr_accessor :category
58
+
59
+ # Contains metadata about how much money a recommendation can save or incur.
60
+ # Corresponds to the JSON property `costProjection`
61
+ # @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1CostProjection]
62
+ attr_accessor :cost_projection
63
+
64
+ def initialize(**args)
65
+ update!(**args)
66
+ end
67
+
68
+ # Update properties of this object
69
+ def update!(**args)
70
+ @category = args[:category] if args.key?(:category)
71
+ @cost_projection = args[:cost_projection] if args.key?(:cost_projection)
72
+ end
73
+ end
74
+
75
+ # Response to the `ListRecommendations` method.
76
+ class GoogleCloudRecommenderV1beta1ListRecommendationsResponse
77
+ include Google::Apis::Core::Hashable
78
+
79
+ # A token that can be used to request the next page of results. This field is
80
+ # empty if there are no additional results.
81
+ # Corresponds to the JSON property `nextPageToken`
82
+ # @return [String]
83
+ attr_accessor :next_page_token
84
+
85
+ # The set of recommendations for the `parent` resource.
86
+ # Corresponds to the JSON property `recommendations`
87
+ # @return [Array<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Recommendation>]
88
+ attr_accessor :recommendations
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
97
+ @recommendations = args[:recommendations] if args.key?(:recommendations)
98
+ end
99
+ end
100
+
101
+ # Request for the `MarkRecommendationClaimed` Method.
102
+ class GoogleCloudRecommenderV1beta1MarkRecommendationClaimedRequest
103
+ include Google::Apis::Core::Hashable
104
+
105
+ # Fingerprint of the Recommendation. Provides optimistic locking.
106
+ # Corresponds to the JSON property `etag`
107
+ # @return [String]
108
+ attr_accessor :etag
109
+
110
+ # State properties to include with this state. Overwrites any existing
111
+ # `state_metadata`.
112
+ # Corresponds to the JSON property `stateMetadata`
113
+ # @return [Hash<String,String>]
114
+ attr_accessor :state_metadata
115
+
116
+ def initialize(**args)
117
+ update!(**args)
118
+ end
119
+
120
+ # Update properties of this object
121
+ def update!(**args)
122
+ @etag = args[:etag] if args.key?(:etag)
123
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
124
+ end
125
+ end
126
+
127
+ # Request for the `MarkRecommendationFailed` Method.
128
+ class GoogleCloudRecommenderV1beta1MarkRecommendationFailedRequest
129
+ include Google::Apis::Core::Hashable
130
+
131
+ # Fingerprint of the Recommendation. Provides optimistic locking.
132
+ # Corresponds to the JSON property `etag`
133
+ # @return [String]
134
+ attr_accessor :etag
135
+
136
+ # State properties to include with this state. Overwrites any existing
137
+ # `state_metadata`.
138
+ # Corresponds to the JSON property `stateMetadata`
139
+ # @return [Hash<String,String>]
140
+ attr_accessor :state_metadata
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @etag = args[:etag] if args.key?(:etag)
149
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
150
+ end
151
+ end
152
+
153
+ # Request for the `MarkRecommendationSucceeded` Method.
154
+ class GoogleCloudRecommenderV1beta1MarkRecommendationSucceededRequest
155
+ include Google::Apis::Core::Hashable
156
+
157
+ # Fingerprint of the Recommendation. Provides optimistic locking.
158
+ # Corresponds to the JSON property `etag`
159
+ # @return [String]
160
+ attr_accessor :etag
161
+
162
+ # State properties to include with this state. Overwrites any existing
163
+ # `state_metadata`.
164
+ # Corresponds to the JSON property `stateMetadata`
165
+ # @return [Hash<String,String>]
166
+ attr_accessor :state_metadata
167
+
168
+ def initialize(**args)
169
+ update!(**args)
170
+ end
171
+
172
+ # Update properties of this object
173
+ def update!(**args)
174
+ @etag = args[:etag] if args.key?(:etag)
175
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
176
+ end
177
+ end
178
+
179
+ # Contains an operation for a resource loosely based on the JSON-PATCH format
180
+ # with support for:
181
+ # * Custom filters for describing partial array patch.
182
+ # * Extended path values for describing nested arrays.
183
+ # * Custom fields for describing the resource for which the operation is being
184
+ # described.
185
+ # * Allows extension to custom operations not natively supported by RFC6902.
186
+ # See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
187
+ class GoogleCloudRecommenderV1beta1Operation
188
+ include Google::Apis::Core::Hashable
189
+
190
+ # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move',
191
+ # 'copy', 'test' and custom operations. This field is case-insensitive and
192
+ # always populated.
193
+ # Corresponds to the JSON property `action`
194
+ # @return [String]
195
+ attr_accessor :action
196
+
197
+ # Path to the target field being operated on. If the operation is at the
198
+ # resource level, then path should be "/". This field is always populated.
199
+ # Corresponds to the JSON property `path`
200
+ # @return [String]
201
+ attr_accessor :path
202
+
203
+ # Set of filters to apply if `path` refers to array elements or nested array
204
+ # elements in order to narrow down to a single unique element that is being
205
+ # tested/modified.
206
+ # This is intended to be an exact match per filter. To perform advanced
207
+ # matching, use path_value_matchers.
208
+ # * Example: `
209
+ # "/versions/*/name" : "it-123"
210
+ # "/versions/*/targetSize/percent": 20
211
+ # `
212
+ # * Example: `
213
+ # "/bindings/*/role": "roles/admin"
214
+ # "/bindings/*/condition" : null
215
+ # `
216
+ # * Example: `
217
+ # "/bindings/*/role": "roles/admin"
218
+ # "/bindings/*/members/*" : ["x@google.com", "y@google.com"]
219
+ # `
220
+ # When both path_filters and path_value_matchers are set, an implicit AND
221
+ # must be performed.
222
+ # Corresponds to the JSON property `pathFilters`
223
+ # @return [Hash<String,Object>]
224
+ attr_accessor :path_filters
225
+
226
+ # Similar to path_filters, this contains set of filters to apply if `path`
227
+ # field referes to array elements. This is meant to support value matching
228
+ # beyond exact match. To perform exact match, use path_filters.
229
+ # When both path_filters and path_value_matchers are set, an implicit AND
230
+ # must be performed.
231
+ # Corresponds to the JSON property `pathValueMatchers`
232
+ # @return [Hash<String,Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1ValueMatcher>]
233
+ attr_accessor :path_value_matchers
234
+
235
+ # Contains the fully qualified resource name. This field is always populated.
236
+ # ex: //cloudresourcemanager.googleapis.com/projects/foo.
237
+ # Corresponds to the JSON property `resource`
238
+ # @return [String]
239
+ attr_accessor :resource
240
+
241
+ # Type of GCP resource being modified/tested. This field is always populated.
242
+ # Example: cloudresourcemanager.googleapis.com/Project,
243
+ # compute.googleapis.com/Instance
244
+ # Corresponds to the JSON property `resourceType`
245
+ # @return [String]
246
+ attr_accessor :resource_type
247
+
248
+ # Can be set with action 'copy' or 'move' to indicate the source field within
249
+ # resource or source_resource, ignored if provided for other operation types.
250
+ # Corresponds to the JSON property `sourcePath`
251
+ # @return [String]
252
+ attr_accessor :source_path
253
+
254
+ # Can be set with action 'copy' to copy resource configuration across
255
+ # different resources of the same type. Example: A resource clone can be
256
+ # done via action = 'copy', path = "/", from = "/",
257
+ # source_resource = <source> and resource_name = <target>.
258
+ # This field is empty for all other values of `action`.
259
+ # Corresponds to the JSON property `sourceResource`
260
+ # @return [String]
261
+ attr_accessor :source_resource
262
+
263
+ # Value for the `path` field. Will be set for actions:'add'/'replace'.
264
+ # Maybe set for action: 'test'. Either this or `value_matcher` will be set
265
+ # for 'test' operation. An exact match must be performed.
266
+ # Corresponds to the JSON property `value`
267
+ # @return [Object]
268
+ attr_accessor :value
269
+
270
+ # Contains various matching options for values for a GCP resource field.
271
+ # Corresponds to the JSON property `valueMatcher`
272
+ # @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1ValueMatcher]
273
+ attr_accessor :value_matcher
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @action = args[:action] if args.key?(:action)
282
+ @path = args[:path] if args.key?(:path)
283
+ @path_filters = args[:path_filters] if args.key?(:path_filters)
284
+ @path_value_matchers = args[:path_value_matchers] if args.key?(:path_value_matchers)
285
+ @resource = args[:resource] if args.key?(:resource)
286
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
287
+ @source_path = args[:source_path] if args.key?(:source_path)
288
+ @source_resource = args[:source_resource] if args.key?(:source_resource)
289
+ @value = args[:value] if args.key?(:value)
290
+ @value_matcher = args[:value_matcher] if args.key?(:value_matcher)
291
+ end
292
+ end
293
+
294
+ # Group of operations that need to be performed atomically.
295
+ class GoogleCloudRecommenderV1beta1OperationGroup
296
+ include Google::Apis::Core::Hashable
297
+
298
+ # List of operations across one or more resources that belong to this group.
299
+ # Loosely based on RFC6902 and should be performed in the order they appear.
300
+ # Corresponds to the JSON property `operations`
301
+ # @return [Array<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Operation>]
302
+ attr_accessor :operations
303
+
304
+ def initialize(**args)
305
+ update!(**args)
306
+ end
307
+
308
+ # Update properties of this object
309
+ def update!(**args)
310
+ @operations = args[:operations] if args.key?(:operations)
311
+ end
312
+ end
313
+
314
+ # A recommendation along with a suggested action. E.g., a rightsizing
315
+ # recommendation for an underutilized VM, IAM role recommendations, etc
316
+ class GoogleCloudRecommenderV1beta1Recommendation
317
+ include Google::Apis::Core::Hashable
318
+
319
+ # Optional set of additional impact that this recommendation may have when
320
+ # trying to optimize for the primary category. These may be positive
321
+ # or negative.
322
+ # Corresponds to the JSON property `additionalImpact`
323
+ # @return [Array<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Impact>]
324
+ attr_accessor :additional_impact
325
+
326
+ # Contains what resources are changing and how they are changing.
327
+ # Corresponds to the JSON property `content`
328
+ # @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationContent]
329
+ attr_accessor :content
330
+
331
+ # Free-form human readable summary in English. The maximum length is 500
332
+ # characters.
333
+ # Corresponds to the JSON property `description`
334
+ # @return [String]
335
+ attr_accessor :description
336
+
337
+ # Fingerprint of the Recommendation. Provides optimistic locking when
338
+ # updating states.
339
+ # Corresponds to the JSON property `etag`
340
+ # @return [String]
341
+ attr_accessor :etag
342
+
343
+ # Last time this recommendation was refreshed by the system that created it
344
+ # in the first place.
345
+ # Corresponds to the JSON property `lastRefreshTime`
346
+ # @return [String]
347
+ attr_accessor :last_refresh_time
348
+
349
+ # Name of recommendation.
350
+ # A project recommendation is represented as
351
+ # projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/
352
+ # recommendations/[RECOMMENDATION_ID]
353
+ # Corresponds to the JSON property `name`
354
+ # @return [String]
355
+ attr_accessor :name
356
+
357
+ # Contains the impact a recommendation can have for a given category.
358
+ # Corresponds to the JSON property `primaryImpact`
359
+ # @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1Impact]
360
+ attr_accessor :primary_impact
361
+
362
+ # Contains an identifier for a subtype of recommendations produced for the
363
+ # same recommender. Subtype is a function of content and impact, meaning a
364
+ # new subtype might be added when significant changes to `content` or
365
+ # `primary_impact.category` are introduced. See the Recommenders section
366
+ # to see a list of subtypes for a given Recommender.
367
+ # Examples:
368
+ # For recommender = "google.iam.policy.Recommender",
369
+ # recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
370
+ # Corresponds to the JSON property `recommenderSubtype`
371
+ # @return [String]
372
+ attr_accessor :recommender_subtype
373
+
374
+ # Information for state. Contains state and metadata.
375
+ # Corresponds to the JSON property `stateInfo`
376
+ # @return [Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1RecommendationStateInfo]
377
+ attr_accessor :state_info
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @additional_impact = args[:additional_impact] if args.key?(:additional_impact)
386
+ @content = args[:content] if args.key?(:content)
387
+ @description = args[:description] if args.key?(:description)
388
+ @etag = args[:etag] if args.key?(:etag)
389
+ @last_refresh_time = args[:last_refresh_time] if args.key?(:last_refresh_time)
390
+ @name = args[:name] if args.key?(:name)
391
+ @primary_impact = args[:primary_impact] if args.key?(:primary_impact)
392
+ @recommender_subtype = args[:recommender_subtype] if args.key?(:recommender_subtype)
393
+ @state_info = args[:state_info] if args.key?(:state_info)
394
+ end
395
+ end
396
+
397
+ # Contains what resources are changing and how they are changing.
398
+ class GoogleCloudRecommenderV1beta1RecommendationContent
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # Operations to one or more Google Cloud resources grouped in such a way
402
+ # that, all operations within one group are expected to be performed
403
+ # atomically and in an order.
404
+ # Corresponds to the JSON property `operationGroups`
405
+ # @return [Array<Google::Apis::RecommenderV1beta1::GoogleCloudRecommenderV1beta1OperationGroup>]
406
+ attr_accessor :operation_groups
407
+
408
+ def initialize(**args)
409
+ update!(**args)
410
+ end
411
+
412
+ # Update properties of this object
413
+ def update!(**args)
414
+ @operation_groups = args[:operation_groups] if args.key?(:operation_groups)
415
+ end
416
+ end
417
+
418
+ # Information for state. Contains state and metadata.
419
+ class GoogleCloudRecommenderV1beta1RecommendationStateInfo
420
+ include Google::Apis::Core::Hashable
421
+
422
+ # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
423
+ # Corresponds to the JSON property `state`
424
+ # @return [String]
425
+ attr_accessor :state
426
+
427
+ # A map of metadata for the state, provided by user or automations systems.
428
+ # Corresponds to the JSON property `stateMetadata`
429
+ # @return [Hash<String,String>]
430
+ attr_accessor :state_metadata
431
+
432
+ def initialize(**args)
433
+ update!(**args)
434
+ end
435
+
436
+ # Update properties of this object
437
+ def update!(**args)
438
+ @state = args[:state] if args.key?(:state)
439
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
440
+ end
441
+ end
442
+
443
+ # Contains various matching options for values for a GCP resource field.
444
+ class GoogleCloudRecommenderV1beta1ValueMatcher
445
+ include Google::Apis::Core::Hashable
446
+
447
+ # To be used for full regex matching. The regular expression is using the
448
+ # Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be
449
+ # used with RE2::FullMatch
450
+ # Corresponds to the JSON property `matchesPattern`
451
+ # @return [String]
452
+ attr_accessor :matches_pattern
453
+
454
+ def initialize(**args)
455
+ update!(**args)
456
+ end
457
+
458
+ # Update properties of this object
459
+ def update!(**args)
460
+ @matches_pattern = args[:matches_pattern] if args.key?(:matches_pattern)
461
+ end
462
+ end
463
+
464
+ # Represents an amount of money with its currency type.
465
+ class GoogleTypeMoney
466
+ include Google::Apis::Core::Hashable
467
+
468
+ # The 3-letter currency code defined in ISO 4217.
469
+ # Corresponds to the JSON property `currencyCode`
470
+ # @return [String]
471
+ attr_accessor :currency_code
472
+
473
+ # Number of nano (10^-9) units of the amount.
474
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
475
+ # If `units` is positive, `nanos` must be positive or zero.
476
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
477
+ # If `units` is negative, `nanos` must be negative or zero.
478
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
479
+ # Corresponds to the JSON property `nanos`
480
+ # @return [Fixnum]
481
+ attr_accessor :nanos
482
+
483
+ # The whole units of the amount.
484
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
485
+ # Corresponds to the JSON property `units`
486
+ # @return [Fixnum]
487
+ attr_accessor :units
488
+
489
+ def initialize(**args)
490
+ update!(**args)
491
+ end
492
+
493
+ # Update properties of this object
494
+ def update!(**args)
495
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
496
+ @nanos = args[:nanos] if args.key?(:nanos)
497
+ @units = args[:units] if args.key?(:units)
498
+ end
499
+ end
500
+ end
501
+ end
502
+ end