google-api-client 0.39.3 → 0.40.2

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 (416) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +242 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +3 -1
  5. data/generated/google/apis/admob_v1.rb +1 -1
  6. data/generated/google/apis/admob_v1/classes.rb +5 -6
  7. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  8. data/generated/google/apis/androidenterprise_v1/classes.rb +547 -724
  9. data/generated/google/apis/androidenterprise_v1/representations.rb +0 -54
  10. data/generated/google/apis/androidenterprise_v1/service.rb +540 -795
  11. data/generated/google/apis/androidpublisher_v3.rb +3 -3
  12. data/generated/google/apis/androidpublisher_v3/classes.rb +473 -736
  13. data/generated/google/apis/androidpublisher_v3/representations.rb +10 -201
  14. data/generated/google/apis/androidpublisher_v3/service.rb +531 -863
  15. data/generated/google/apis/apigee_v1.rb +1 -1
  16. data/generated/google/apis/apigee_v1/classes.rb +58 -10
  17. data/generated/google/apis/apigee_v1/representations.rb +7 -0
  18. data/generated/google/apis/apigee_v1/service.rb +24 -14
  19. data/generated/google/apis/appsmarket_v2.rb +3 -3
  20. data/generated/google/apis/appsmarket_v2/classes.rb +160 -159
  21. data/generated/google/apis/appsmarket_v2/representations.rb +78 -78
  22. data/generated/google/apis/appsmarket_v2/service.rb +24 -39
  23. data/generated/google/apis/artifactregistry_v1beta1.rb +38 -0
  24. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +1123 -0
  25. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +441 -0
  26. data/generated/google/apis/artifactregistry_v1beta1/service.rb +957 -0
  27. data/generated/google/apis/bigquery_v2.rb +1 -1
  28. data/generated/google/apis/bigquery_v2/classes.rb +54 -1
  29. data/generated/google/apis/bigquery_v2/representations.rb +4 -0
  30. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  31. data/generated/google/apis/bigqueryreservation_v1/classes.rb +2 -0
  32. data/generated/google/apis/bigqueryreservation_v1/service.rb +8 -8
  33. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  34. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +20 -14
  35. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +93 -68
  36. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  37. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  38. data/generated/google/apis/bigtableadmin_v2/service.rb +4 -4
  39. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  40. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +21 -0
  41. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +6 -0
  42. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  43. data/generated/google/apis/books_v1.rb +1 -1
  44. data/generated/google/apis/books_v1/service.rb +2 -2
  45. data/generated/google/apis/calendar_v3.rb +1 -1
  46. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  47. data/generated/google/apis/{pagespeedonline_v2.rb → chromeuxreport_v1.rb} +10 -10
  48. data/generated/google/apis/chromeuxreport_v1/classes.rb +297 -0
  49. data/generated/google/apis/chromeuxreport_v1/representations.rb +147 -0
  50. data/generated/google/apis/chromeuxreport_v1/service.rb +92 -0
  51. data/generated/google/apis/cloudasset_v1.rb +1 -1
  52. data/generated/google/apis/cloudasset_v1/classes.rb +70 -43
  53. data/generated/google/apis/cloudasset_v1/representations.rb +2 -0
  54. data/generated/google/apis/cloudasset_v1/service.rb +14 -11
  55. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudasset_v1beta1/classes.rb +29 -16
  57. data/generated/google/apis/cloudasset_v1beta1/service.rb +16 -7
  58. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  59. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +48 -16
  60. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +2 -0
  61. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +15 -16
  62. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  63. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +26 -8
  64. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +24 -3
  65. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  66. data/generated/google/apis/cloudbuild_v1/classes.rb +17 -4
  67. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  68. data/generated/google/apis/cloudbuild_v1/service.rb +163 -0
  69. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  70. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +156 -2
  71. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +61 -0
  72. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +121 -0
  73. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  74. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +156 -2
  75. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +61 -0
  76. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +121 -0
  77. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  78. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +6 -0
  79. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +1 -0
  80. data/generated/google/apis/cloudiot_v1.rb +1 -1
  81. data/generated/google/apis/cloudiot_v1/classes.rb +26 -10
  82. data/generated/google/apis/cloudkms_v1.rb +1 -1
  83. data/generated/google/apis/cloudkms_v1/classes.rb +288 -7
  84. data/generated/google/apis/cloudkms_v1/representations.rb +17 -0
  85. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  86. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +6 -6
  87. data/generated/google/apis/cloudresourcemanager_v1/service.rb +6 -8
  88. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  89. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -6
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +8 -8
  91. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +6 -6
  93. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  94. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +6 -6
  95. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  96. data/generated/google/apis/cloudsearch_v1/classes.rb +8 -6
  97. data/generated/google/apis/cloudsearch_v1/service.rb +1 -1
  98. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  99. data/generated/google/apis/cloudtasks_v2/classes.rb +8 -6
  100. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  101. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +11 -2
  102. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +1 -0
  103. data/generated/google/apis/composer_v1beta1.rb +1 -1
  104. data/generated/google/apis/composer_v1beta1/classes.rb +58 -0
  105. data/generated/google/apis/composer_v1beta1/representations.rb +30 -0
  106. data/generated/google/apis/composer_v1beta1/service.rb +5 -0
  107. data/generated/google/apis/compute_alpha.rb +1 -1
  108. data/generated/google/apis/compute_alpha/classes.rb +318 -166
  109. data/generated/google/apis/compute_alpha/representations.rb +80 -33
  110. data/generated/google/apis/compute_alpha/service.rb +194 -0
  111. data/generated/google/apis/compute_beta.rb +1 -1
  112. data/generated/google/apis/compute_beta/classes.rb +237 -83
  113. data/generated/google/apis/compute_beta/representations.rb +52 -0
  114. data/generated/google/apis/compute_v1.rb +1 -1
  115. data/generated/google/apis/compute_v1/classes.rb +155 -58
  116. data/generated/google/apis/compute_v1/representations.rb +21 -0
  117. data/generated/google/apis/compute_v1/service.rb +83 -0
  118. data/generated/google/apis/container_v1.rb +1 -1
  119. data/generated/google/apis/container_v1/classes.rb +2 -4
  120. data/generated/google/apis/container_v1beta1.rb +1 -1
  121. data/generated/google/apis/container_v1beta1/classes.rb +62 -4
  122. data/generated/google/apis/container_v1beta1/representations.rb +33 -0
  123. data/generated/google/apis/content_v2.rb +1 -1
  124. data/generated/google/apis/content_v2/classes.rb +34 -0
  125. data/generated/google/apis/content_v2/representations.rb +16 -0
  126. data/generated/google/apis/content_v2/service.rb +5 -1
  127. data/generated/google/apis/content_v2_1.rb +1 -1
  128. data/generated/google/apis/content_v2_1/classes.rb +363 -5
  129. data/generated/google/apis/content_v2_1/representations.rb +136 -0
  130. data/generated/google/apis/content_v2_1/service.rb +85 -1
  131. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  132. data/generated/google/apis/datacatalog_v1beta1/classes.rb +26 -10
  133. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  134. data/generated/google/apis/dataflow_v1b3/classes.rb +331 -0
  135. data/generated/google/apis/dataflow_v1b3/representations.rb +164 -0
  136. data/generated/google/apis/dataflow_v1b3/service.rb +261 -0
  137. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  138. data/generated/google/apis/datafusion_v1beta1/classes.rb +64 -19
  139. data/generated/google/apis/datafusion_v1beta1/representations.rb +16 -0
  140. data/generated/google/apis/datafusion_v1beta1/service.rb +49 -2
  141. data/generated/google/apis/dataproc_v1.rb +1 -1
  142. data/generated/google/apis/dataproc_v1/classes.rb +22 -22
  143. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  144. data/generated/google/apis/dataproc_v1beta2/classes.rb +49 -35
  145. data/generated/google/apis/dataproc_v1beta2/service.rb +35 -21
  146. data/generated/google/apis/datastore_v1.rb +1 -1
  147. data/generated/google/apis/datastore_v1/classes.rb +1 -1
  148. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  149. data/generated/google/apis/datastore_v1beta3/classes.rb +1 -1
  150. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  151. data/generated/google/apis/deploymentmanager_alpha/classes.rb +362 -176
  152. data/generated/google/apis/deploymentmanager_alpha/representations.rb +22 -4
  153. data/generated/google/apis/deploymentmanager_alpha/service.rb +198 -311
  154. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  155. data/generated/google/apis/deploymentmanager_v2/classes.rb +295 -146
  156. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -1
  157. data/generated/google/apis/deploymentmanager_v2/service.rb +101 -99
  158. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  159. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +350 -170
  160. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +18 -1
  161. data/generated/google/apis/deploymentmanager_v2beta/service.rb +154 -152
  162. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  163. data/generated/google/apis/dfareporting_v3_3/classes.rb +2 -2
  164. data/generated/google/apis/dfareporting_v3_3/service.rb +2 -2
  165. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  166. data/generated/google/apis/dfareporting_v3_4/classes.rb +2 -2
  167. data/generated/google/apis/dfareporting_v3_4/service.rb +2 -2
  168. data/generated/google/apis/dialogflow_v2.rb +1 -1
  169. data/generated/google/apis/dialogflow_v2/classes.rb +549 -9
  170. data/generated/google/apis/dialogflow_v2/representations.rb +234 -0
  171. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  172. data/generated/google/apis/dialogflow_v2beta1/classes.rb +540 -8
  173. data/generated/google/apis/dialogflow_v2beta1/representations.rb +234 -0
  174. data/generated/google/apis/dialogflow_v2beta1/service.rb +46 -2
  175. data/generated/google/apis/displayvideo_v1.rb +1 -1
  176. data/generated/google/apis/displayvideo_v1/classes.rb +612 -0
  177. data/generated/google/apis/displayvideo_v1/representations.rb +314 -0
  178. data/generated/google/apis/displayvideo_v1/service.rb +1968 -337
  179. data/generated/google/apis/dlp_v2.rb +1 -1
  180. data/generated/google/apis/dlp_v2/classes.rb +17 -27
  181. data/generated/google/apis/dlp_v2/service.rb +247 -204
  182. data/generated/google/apis/dns_v1.rb +1 -1
  183. data/generated/google/apis/dns_v1/classes.rb +160 -261
  184. data/generated/google/apis/dns_v1/representations.rb +17 -0
  185. data/generated/google/apis/dns_v1/service.rb +21 -141
  186. data/generated/google/apis/dns_v1beta2.rb +1 -1
  187. data/generated/google/apis/dns_v1beta2/classes.rb +189 -273
  188. data/generated/google/apis/dns_v1beta2/representations.rb +32 -0
  189. data/generated/google/apis/dns_v1beta2/service.rb +21 -141
  190. data/generated/google/apis/dns_v2beta1.rb +1 -1
  191. data/generated/google/apis/dns_v2beta1/classes.rb +160 -261
  192. data/generated/google/apis/dns_v2beta1/representations.rb +17 -0
  193. data/generated/google/apis/dns_v2beta1/service.rb +21 -141
  194. data/generated/google/apis/fcm_v1.rb +1 -1
  195. data/generated/google/apis/file_v1.rb +1 -1
  196. data/generated/google/apis/file_v1/classes.rb +31 -0
  197. data/generated/google/apis/file_v1/representations.rb +15 -0
  198. data/generated/google/apis/file_v1beta1.rb +1 -1
  199. data/generated/google/apis/file_v1beta1/classes.rb +98 -0
  200. data/generated/google/apis/file_v1beta1/representations.rb +34 -0
  201. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  202. data/generated/google/apis/firebase_v1beta1/classes.rb +2 -12
  203. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  204. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +30 -25
  205. data/generated/google/apis/{pagespeedonline_v4.rb → firebaseml_v1.rb} +12 -10
  206. data/generated/google/apis/firebaseml_v1/classes.rb +213 -0
  207. data/generated/google/apis/firebaseml_v1/representations.rb +112 -0
  208. data/generated/google/apis/firebaseml_v1/service.rb +181 -0
  209. data/generated/google/apis/fitness_v1.rb +4 -4
  210. data/generated/google/apis/fitness_v1/classes.rb +185 -158
  211. data/generated/google/apis/fitness_v1/service.rb +187 -215
  212. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  213. data/generated/google/apis/games_configuration_v1configuration/service.rb +1 -1
  214. data/generated/google/apis/games_management_v1management.rb +1 -1
  215. data/generated/google/apis/games_management_v1management/service.rb +1 -1
  216. data/generated/google/apis/games_v1.rb +1 -1
  217. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  218. data/generated/google/apis/genomics_v2alpha1/classes.rb +84 -0
  219. data/generated/google/apis/genomics_v2alpha1/representations.rb +28 -0
  220. data/generated/google/apis/genomics_v2alpha1/service.rb +38 -2
  221. data/generated/google/apis/gmail_v1.rb +3 -2
  222. data/generated/google/apis/gmail_v1/classes.rb +263 -200
  223. data/generated/google/apis/gmail_v1/service.rb +551 -743
  224. data/generated/google/apis/groupsmigration_v1.rb +3 -2
  225. data/generated/google/apis/groupsmigration_v1/service.rb +10 -17
  226. data/generated/google/apis/healthcare_v1.rb +1 -1
  227. data/generated/google/apis/healthcare_v1/classes.rb +39 -30
  228. data/generated/google/apis/healthcare_v1/service.rb +64 -32
  229. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  230. data/generated/google/apis/healthcare_v1beta1/classes.rb +41 -37
  231. data/generated/google/apis/healthcare_v1beta1/service.rb +165 -147
  232. data/generated/google/apis/homegraph_v1.rb +1 -1
  233. data/generated/google/apis/homegraph_v1/classes.rb +3 -0
  234. data/generated/google/apis/iam_v1.rb +1 -1
  235. data/generated/google/apis/iam_v1/classes.rb +111 -93
  236. data/generated/google/apis/iam_v1/service.rb +166 -144
  237. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  238. data/generated/google/apis/iamcredentials_v1/classes.rb +30 -5
  239. data/generated/google/apis/jobs_v3.rb +1 -1
  240. data/generated/google/apis/jobs_v3/classes.rb +4 -2
  241. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  242. data/generated/google/apis/jobs_v3p1beta1/classes.rb +4 -2
  243. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  244. data/generated/google/apis/memcache_v1beta2/classes.rb +66 -23
  245. data/generated/google/apis/memcache_v1beta2/representations.rb +15 -0
  246. data/generated/google/apis/memcache_v1beta2/service.rb +5 -2
  247. data/generated/google/apis/ml_v1.rb +1 -1
  248. data/generated/google/apis/ml_v1/classes.rb +84 -18
  249. data/generated/google/apis/ml_v1/representations.rb +4 -0
  250. data/generated/google/apis/ml_v1/service.rb +11 -6
  251. data/generated/google/apis/monitoring_v1.rb +1 -1
  252. data/generated/google/apis/monitoring_v1/classes.rb +46 -0
  253. data/generated/google/apis/monitoring_v1/representations.rb +18 -0
  254. data/generated/google/apis/monitoring_v3.rb +1 -1
  255. data/generated/google/apis/monitoring_v3/classes.rb +17 -0
  256. data/generated/google/apis/monitoring_v3/representations.rb +2 -0
  257. data/generated/google/apis/monitoring_v3/service.rb +1 -1
  258. data/generated/google/apis/networkmanagement_v1.rb +35 -0
  259. data/generated/google/apis/networkmanagement_v1/classes.rb +1868 -0
  260. data/generated/google/apis/networkmanagement_v1/representations.rb +661 -0
  261. data/generated/google/apis/networkmanagement_v1/service.rb +667 -0
  262. data/generated/google/apis/osconfig_v1.rb +1 -1
  263. data/generated/google/apis/osconfig_v1/classes.rb +2 -2
  264. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  265. data/generated/google/apis/osconfig_v1beta/classes.rb +6 -7
  266. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  267. data/generated/google/apis/pagespeedonline_v5/classes.rb +7 -0
  268. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  269. data/generated/google/apis/people_v1.rb +1 -1
  270. data/generated/google/apis/people_v1/classes.rb +216 -0
  271. data/generated/google/apis/people_v1/representations.rb +82 -0
  272. data/generated/google/apis/people_v1/service.rb +371 -9
  273. data/generated/google/apis/playcustomapp_v1.rb +3 -3
  274. data/generated/google/apis/playcustomapp_v1/classes.rb +7 -0
  275. data/generated/google/apis/playcustomapp_v1/representations.rb +1 -0
  276. data/generated/google/apis/playcustomapp_v1/service.rb +11 -19
  277. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  278. data/generated/google/apis/policytroubleshooter_v1/classes.rb +6 -6
  279. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  280. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +6 -6
  281. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  282. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +30 -0
  283. data/generated/google/apis/pubsub_v1.rb +1 -1
  284. data/generated/google/apis/pubsub_v1/classes.rb +70 -15
  285. data/generated/google/apis/pubsub_v1/representations.rb +28 -0
  286. data/generated/google/apis/pubsub_v1/service.rb +35 -1
  287. data/generated/google/apis/{pagespeedonline_v1.rb → recommender_v1.rb} +11 -9
  288. data/generated/google/apis/recommender_v1/classes.rb +505 -0
  289. data/generated/google/apis/recommender_v1/representations.rb +232 -0
  290. data/generated/google/apis/recommender_v1/service.rb +266 -0
  291. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  292. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  293. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  294. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  295. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  296. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  297. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  298. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  299. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  300. data/generated/google/apis/run_v1.rb +1 -1
  301. data/generated/google/apis/run_v1/classes.rb +9 -0
  302. data/generated/google/apis/run_v1/representations.rb +1 -0
  303. data/generated/google/apis/run_v1alpha1.rb +1 -1
  304. data/generated/google/apis/run_v1alpha1/classes.rb +9 -0
  305. data/generated/google/apis/run_v1alpha1/representations.rb +1 -0
  306. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  307. data/generated/google/apis/sasportal_v1alpha1/service.rb +30 -0
  308. data/generated/google/apis/secretmanager_v1.rb +1 -1
  309. data/generated/google/apis/secretmanager_v1/classes.rb +32 -19
  310. data/generated/google/apis/secretmanager_v1/service.rb +3 -0
  311. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  312. data/generated/google/apis/secretmanager_v1beta1/classes.rb +29 -16
  313. data/generated/google/apis/secretmanager_v1beta1/service.rb +3 -0
  314. data/generated/google/apis/securitycenter_v1.rb +1 -1
  315. data/generated/google/apis/securitycenter_v1/classes.rb +133 -18
  316. data/generated/google/apis/securitycenter_v1/representations.rb +38 -0
  317. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  318. data/generated/google/apis/securitycenter_v1beta1/classes.rb +133 -18
  319. data/generated/google/apis/securitycenter_v1beta1/representations.rb +38 -0
  320. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  321. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +100 -0
  322. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +38 -0
  323. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  324. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +133 -18
  325. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +38 -0
  326. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  327. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +205 -75
  328. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +32 -2
  329. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  330. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +211 -75
  331. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +33 -2
  332. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  333. data/generated/google/apis/servicecontrol_v1/classes.rb +6 -6
  334. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  335. data/generated/google/apis/servicemanagement_v1/classes.rb +6 -43
  336. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -2
  337. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  338. data/generated/google/apis/servicenetworking_v1/classes.rb +488 -75
  339. data/generated/google/apis/servicenetworking_v1/representations.rb +209 -2
  340. data/generated/google/apis/servicenetworking_v1/service.rb +187 -0
  341. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  342. data/generated/google/apis/servicenetworking_v1beta/classes.rb +297 -75
  343. data/generated/google/apis/servicenetworking_v1beta/representations.rb +130 -2
  344. data/generated/google/apis/serviceusage_v1.rb +1 -1
  345. data/generated/google/apis/serviceusage_v1/classes.rb +197 -75
  346. data/generated/google/apis/serviceusage_v1/representations.rb +32 -2
  347. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  348. data/generated/google/apis/serviceusage_v1beta1/classes.rb +203 -75
  349. data/generated/google/apis/serviceusage_v1beta1/representations.rb +33 -2
  350. data/generated/google/apis/serviceusage_v1beta1/service.rb +34 -0
  351. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  352. data/generated/google/apis/sourcerepo_v1/classes.rb +23 -10
  353. data/generated/google/apis/sourcerepo_v1/service.rb +3 -0
  354. data/generated/google/apis/spanner_v1.rb +1 -1
  355. data/generated/google/apis/spanner_v1/classes.rb +30 -12
  356. data/generated/google/apis/spanner_v1/service.rb +8 -8
  357. data/generated/google/apis/sql_v1beta4.rb +1 -1
  358. data/generated/google/apis/sql_v1beta4/classes.rb +7 -0
  359. data/generated/google/apis/sql_v1beta4/representations.rb +1 -0
  360. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  361. data/generated/google/apis/storagetransfer_v1/classes.rb +2 -1
  362. data/generated/google/apis/tasks_v1.rb +3 -3
  363. data/generated/google/apis/tasks_v1/classes.rb +26 -25
  364. data/generated/google/apis/tasks_v1/representations.rb +4 -8
  365. data/generated/google/apis/tasks_v1/service.rb +79 -128
  366. data/generated/google/apis/testing_v1.rb +1 -1
  367. data/generated/google/apis/testing_v1/classes.rb +2 -1
  368. data/generated/google/apis/texttospeech_v1.rb +1 -1
  369. data/generated/google/apis/texttospeech_v1/classes.rb +1 -1
  370. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  371. data/generated/google/apis/texttospeech_v1beta1/classes.rb +1 -1
  372. data/generated/google/apis/tpu_v1.rb +1 -1
  373. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  374. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  375. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  376. data/generated/google/apis/translate_v3.rb +1 -1
  377. data/generated/google/apis/verifiedaccess_v1.rb +3 -3
  378. data/generated/google/apis/verifiedaccess_v1/service.rb +2 -2
  379. data/generated/google/apis/videointelligence_v1.rb +1 -1
  380. data/generated/google/apis/videointelligence_v1/classes.rb +1 -1
  381. data/generated/google/apis/videointelligence_v1/service.rb +32 -0
  382. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  383. data/generated/google/apis/videointelligence_v1beta2/classes.rb +1 -1
  384. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  385. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +1 -1
  386. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  387. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +1 -1
  388. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  389. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +1 -1
  390. data/generated/google/apis/websecurityscanner_v1.rb +2 -2
  391. data/generated/google/apis/websecurityscanner_v1/classes.rb +7 -5
  392. data/generated/google/apis/websecurityscanner_v1/service.rb +1 -1
  393. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  394. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +5 -4
  395. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  396. data/generated/google/apis/websecurityscanner_v1beta.rb +2 -2
  397. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +9 -7
  398. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  399. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  400. data/generated/google/apis/youtube_v3.rb +5 -5
  401. data/generated/google/apis/youtube_v3/classes.rb +1260 -1244
  402. data/generated/google/apis/youtube_v3/representations.rb +64 -192
  403. data/generated/google/apis/youtube_v3/service.rb +1827 -2154
  404. data/lib/google/apis/core/api_command.rb +12 -7
  405. data/lib/google/apis/options.rb +5 -1
  406. data/lib/google/apis/version.rb +1 -1
  407. metadata +23 -15
  408. data/generated/google/apis/pagespeedonline_v1/classes.rb +0 -542
  409. data/generated/google/apis/pagespeedonline_v1/representations.rb +0 -258
  410. data/generated/google/apis/pagespeedonline_v1/service.rb +0 -116
  411. data/generated/google/apis/pagespeedonline_v2/classes.rb +0 -621
  412. data/generated/google/apis/pagespeedonline_v2/representations.rb +0 -273
  413. data/generated/google/apis/pagespeedonline_v2/service.rb +0 -116
  414. data/generated/google/apis/pagespeedonline_v4/classes.rb +0 -795
  415. data/generated/google/apis/pagespeedonline_v4/representations.rb +0 -335
  416. data/generated/google/apis/pagespeedonline_v4/service.rb +0 -125
@@ -502,6 +502,40 @@ module Google
502
502
  execute_or_queue_command(command, &block)
503
503
  end
504
504
 
505
+ # Detaches a subscription from this topic. All messages retained in the
506
+ # subscription are dropped. Subsequent `Pull` and `StreamingPull` requests
507
+ # will return FAILED_PRECONDITION. If the subscription is a push
508
+ # subscription, pushes to the endpoint will stop.
509
+ # @param [String] subscription
510
+ # Required. The subscription to detach.
511
+ # Format is `projects/`project`/subscriptions/`subscription``.
512
+ # @param [String] fields
513
+ # Selector specifying which fields to include in a partial response.
514
+ # @param [String] quota_user
515
+ # Available to use for quota purposes for server-side applications. Can be any
516
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
517
+ # @param [Google::Apis::RequestOptions] options
518
+ # Request-specific options
519
+ #
520
+ # @yield [result, err] Result & error if block supplied
521
+ # @yieldparam result [Google::Apis::PubsubV1::DetachSubscriptionResponse] parsed result object
522
+ # @yieldparam err [StandardError] error object if request failed
523
+ #
524
+ # @return [Google::Apis::PubsubV1::DetachSubscriptionResponse]
525
+ #
526
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
527
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
528
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
529
+ def detach_project_subscription(subscription, fields: nil, quota_user: nil, options: nil, &block)
530
+ command = make_simple_command(:post, 'v1/{+subscription}:detach', options)
531
+ command.response_representation = Google::Apis::PubsubV1::DetachSubscriptionResponse::Representation
532
+ command.response_class = Google::Apis::PubsubV1::DetachSubscriptionResponse
533
+ command.params['subscription'] = subscription unless subscription.nil?
534
+ command.query['fields'] = fields unless fields.nil?
535
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
536
+ execute_or_queue_command(command, &block)
537
+ end
538
+
505
539
  # Gets the configuration details of a subscription.
506
540
  # @param [String] subscription
507
541
  # Required. The name of the subscription to get.
@@ -1264,7 +1298,7 @@ module Google
1264
1298
  execute_or_queue_command(command, &block)
1265
1299
  end
1266
1300
 
1267
- # Lists the names of the subscriptions on this topic.
1301
+ # Lists the names of the attached subscriptions on this topic.
1268
1302
  # @param [String] topic
1269
1303
  # Required. The name of the topic that subscriptions are attached to.
1270
1304
  # Format is `projects/`project`/topics/`topic``.
@@ -12,21 +12,23 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/pagespeedonline_v1/service.rb'
16
- require 'google/apis/pagespeedonline_v1/classes.rb'
17
- require 'google/apis/pagespeedonline_v1/representations.rb'
15
+ require 'google/apis/recommender_v1/service.rb'
16
+ require 'google/apis/recommender_v1/classes.rb'
17
+ require 'google/apis/recommender_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # PageSpeed Insights API
21
+ # Recommender API
22
22
  #
23
- # Analyzes the performance of a web page and provides tailored suggestions to
24
- # make that page faster.
23
+ #
25
24
  #
26
- # @see https://developers.google.com/speed/docs/insights/v1/getting_started
27
- module PagespeedonlineV1
25
+ # @see https://cloud.google.com/recommender/docs/
26
+ module RecommenderV1
28
27
  VERSION = 'V1'
29
- REVISION = '20180606'
28
+ REVISION = '20200516'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
30
32
  end
31
33
  end
32
34
  end
@@ -0,0 +1,505 @@
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 RecommenderV1
24
+
25
+ # Contains metadata about how much money a recommendation can save or incur.
26
+ class GoogleCloudRecommenderV1CostProjection
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::RecommenderV1::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 GoogleCloudRecommenderV1Impact
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::RecommenderV1::GoogleCloudRecommenderV1CostProjection]
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 GoogleCloudRecommenderV1ListRecommendationsResponse
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::RecommenderV1::GoogleCloudRecommenderV1Recommendation>]
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 GoogleCloudRecommenderV1MarkRecommendationClaimedRequest
103
+ include Google::Apis::Core::Hashable
104
+
105
+ # Required. 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
+ # Keys must match the regex /^a-z0-9`0,62`$/.
113
+ # Values must match the regex /^[a-zA-Z0-9_./-]`0,255`$/.
114
+ # Corresponds to the JSON property `stateMetadata`
115
+ # @return [Hash<String,String>]
116
+ attr_accessor :state_metadata
117
+
118
+ def initialize(**args)
119
+ update!(**args)
120
+ end
121
+
122
+ # Update properties of this object
123
+ def update!(**args)
124
+ @etag = args[:etag] if args.key?(:etag)
125
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
126
+ end
127
+ end
128
+
129
+ # Request for the `MarkRecommendationFailed` Method.
130
+ class GoogleCloudRecommenderV1MarkRecommendationFailedRequest
131
+ include Google::Apis::Core::Hashable
132
+
133
+ # Required. Fingerprint of the Recommendation. Provides optimistic locking.
134
+ # Corresponds to the JSON property `etag`
135
+ # @return [String]
136
+ attr_accessor :etag
137
+
138
+ # State properties to include with this state. Overwrites any existing
139
+ # `state_metadata`.
140
+ # Keys must match the regex /^a-z0-9`0,62`$/.
141
+ # Values must match the regex /^[a-zA-Z0-9_./-]`0,255`$/.
142
+ # Corresponds to the JSON property `stateMetadata`
143
+ # @return [Hash<String,String>]
144
+ attr_accessor :state_metadata
145
+
146
+ def initialize(**args)
147
+ update!(**args)
148
+ end
149
+
150
+ # Update properties of this object
151
+ def update!(**args)
152
+ @etag = args[:etag] if args.key?(:etag)
153
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
154
+ end
155
+ end
156
+
157
+ # Request for the `MarkRecommendationSucceeded` Method.
158
+ class GoogleCloudRecommenderV1MarkRecommendationSucceededRequest
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # Required. Fingerprint of the Recommendation. Provides optimistic locking.
162
+ # Corresponds to the JSON property `etag`
163
+ # @return [String]
164
+ attr_accessor :etag
165
+
166
+ # State properties to include with this state. Overwrites any existing
167
+ # `state_metadata`.
168
+ # Keys must match the regex /^a-z0-9`0,62`$/.
169
+ # Values must match the regex /^[a-zA-Z0-9_./-]`0,255`$/.
170
+ # Corresponds to the JSON property `stateMetadata`
171
+ # @return [Hash<String,String>]
172
+ attr_accessor :state_metadata
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @etag = args[:etag] if args.key?(:etag)
181
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
182
+ end
183
+ end
184
+
185
+ # Contains an operation for a resource loosely based on the JSON-PATCH format
186
+ # with support for:
187
+ # * Custom filters for describing partial array patch.
188
+ # * Extended path values for describing nested arrays.
189
+ # * Custom fields for describing the resource for which the operation is being
190
+ # described.
191
+ # * Allows extension to custom operations not natively supported by RFC6902.
192
+ # See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
193
+ class GoogleCloudRecommenderV1Operation
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move',
197
+ # 'copy', 'test' and custom operations. This field is case-insensitive and
198
+ # always populated.
199
+ # Corresponds to the JSON property `action`
200
+ # @return [String]
201
+ attr_accessor :action
202
+
203
+ # Path to the target field being operated on. If the operation is at the
204
+ # resource level, then path should be "/". This field is always populated.
205
+ # Corresponds to the JSON property `path`
206
+ # @return [String]
207
+ attr_accessor :path
208
+
209
+ # Set of filters to apply if `path` refers to array elements or nested array
210
+ # elements in order to narrow down to a single unique element that is being
211
+ # tested/modified.
212
+ # This is intended to be an exact match per filter. To perform advanced
213
+ # matching, use path_value_matchers.
214
+ # * Example: `
215
+ # "/versions/*/name" : "it-123"
216
+ # "/versions/*/targetSize/percent": 20
217
+ # `
218
+ # * Example: `
219
+ # "/bindings/*/role": "roles/admin"
220
+ # "/bindings/*/condition" : null
221
+ # `
222
+ # * Example: `
223
+ # "/bindings/*/role": "roles/admin"
224
+ # "/bindings/*/members/*" : ["x@google.com", "y@google.com"]
225
+ # `
226
+ # When both path_filters and path_value_matchers are set, an implicit AND
227
+ # must be performed.
228
+ # Corresponds to the JSON property `pathFilters`
229
+ # @return [Hash<String,Object>]
230
+ attr_accessor :path_filters
231
+
232
+ # Similar to path_filters, this contains set of filters to apply if `path`
233
+ # field referes to array elements. This is meant to support value matching
234
+ # beyond exact match. To perform exact match, use path_filters.
235
+ # When both path_filters and path_value_matchers are set, an implicit AND
236
+ # must be performed.
237
+ # Corresponds to the JSON property `pathValueMatchers`
238
+ # @return [Hash<String,Google::Apis::RecommenderV1::GoogleCloudRecommenderV1ValueMatcher>]
239
+ attr_accessor :path_value_matchers
240
+
241
+ # Contains the fully qualified resource name. This field is always populated.
242
+ # ex: //cloudresourcemanager.googleapis.com/projects/foo.
243
+ # Corresponds to the JSON property `resource`
244
+ # @return [String]
245
+ attr_accessor :resource
246
+
247
+ # Type of GCP resource being modified/tested. This field is always populated.
248
+ # Example: cloudresourcemanager.googleapis.com/Project,
249
+ # compute.googleapis.com/Instance
250
+ # Corresponds to the JSON property `resourceType`
251
+ # @return [String]
252
+ attr_accessor :resource_type
253
+
254
+ # Can be set with action 'copy' or 'move' to indicate the source field within
255
+ # resource or source_resource, ignored if provided for other operation types.
256
+ # Corresponds to the JSON property `sourcePath`
257
+ # @return [String]
258
+ attr_accessor :source_path
259
+
260
+ # Can be set with action 'copy' to copy resource configuration across
261
+ # different resources of the same type. Example: A resource clone can be
262
+ # done via action = 'copy', path = "/", from = "/",
263
+ # source_resource = <source> and resource_name = <target>.
264
+ # This field is empty for all other values of `action`.
265
+ # Corresponds to the JSON property `sourceResource`
266
+ # @return [String]
267
+ attr_accessor :source_resource
268
+
269
+ # Value for the `path` field. Will be set for actions:'add'/'replace'.
270
+ # Maybe set for action: 'test'. Either this or `value_matcher` will be set
271
+ # for 'test' operation. An exact match must be performed.
272
+ # Corresponds to the JSON property `value`
273
+ # @return [Object]
274
+ attr_accessor :value
275
+
276
+ # Contains various matching options for values for a GCP resource field.
277
+ # Corresponds to the JSON property `valueMatcher`
278
+ # @return [Google::Apis::RecommenderV1::GoogleCloudRecommenderV1ValueMatcher]
279
+ attr_accessor :value_matcher
280
+
281
+ def initialize(**args)
282
+ update!(**args)
283
+ end
284
+
285
+ # Update properties of this object
286
+ def update!(**args)
287
+ @action = args[:action] if args.key?(:action)
288
+ @path = args[:path] if args.key?(:path)
289
+ @path_filters = args[:path_filters] if args.key?(:path_filters)
290
+ @path_value_matchers = args[:path_value_matchers] if args.key?(:path_value_matchers)
291
+ @resource = args[:resource] if args.key?(:resource)
292
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
293
+ @source_path = args[:source_path] if args.key?(:source_path)
294
+ @source_resource = args[:source_resource] if args.key?(:source_resource)
295
+ @value = args[:value] if args.key?(:value)
296
+ @value_matcher = args[:value_matcher] if args.key?(:value_matcher)
297
+ end
298
+ end
299
+
300
+ # Group of operations that need to be performed atomically.
301
+ class GoogleCloudRecommenderV1OperationGroup
302
+ include Google::Apis::Core::Hashable
303
+
304
+ # List of operations across one or more resources that belong to this group.
305
+ # Loosely based on RFC6902 and should be performed in the order they appear.
306
+ # Corresponds to the JSON property `operations`
307
+ # @return [Array<Google::Apis::RecommenderV1::GoogleCloudRecommenderV1Operation>]
308
+ attr_accessor :operations
309
+
310
+ def initialize(**args)
311
+ update!(**args)
312
+ end
313
+
314
+ # Update properties of this object
315
+ def update!(**args)
316
+ @operations = args[:operations] if args.key?(:operations)
317
+ end
318
+ end
319
+
320
+ # A recommendation along with a suggested action. E.g., a rightsizing
321
+ # recommendation for an underutilized VM, IAM role recommendations, etc
322
+ class GoogleCloudRecommenderV1Recommendation
323
+ include Google::Apis::Core::Hashable
324
+
325
+ # Optional set of additional impact that this recommendation may have when
326
+ # trying to optimize for the primary category. These may be positive
327
+ # or negative.
328
+ # Corresponds to the JSON property `additionalImpact`
329
+ # @return [Array<Google::Apis::RecommenderV1::GoogleCloudRecommenderV1Impact>]
330
+ attr_accessor :additional_impact
331
+
332
+ # Contains what resources are changing and how they are changing.
333
+ # Corresponds to the JSON property `content`
334
+ # @return [Google::Apis::RecommenderV1::GoogleCloudRecommenderV1RecommendationContent]
335
+ attr_accessor :content
336
+
337
+ # Free-form human readable summary in English. The maximum length is 500
338
+ # characters.
339
+ # Corresponds to the JSON property `description`
340
+ # @return [String]
341
+ attr_accessor :description
342
+
343
+ # Fingerprint of the Recommendation. Provides optimistic locking when
344
+ # updating states.
345
+ # Corresponds to the JSON property `etag`
346
+ # @return [String]
347
+ attr_accessor :etag
348
+
349
+ # Last time this recommendation was refreshed by the system that created it
350
+ # in the first place.
351
+ # Corresponds to the JSON property `lastRefreshTime`
352
+ # @return [String]
353
+ attr_accessor :last_refresh_time
354
+
355
+ # Name of recommendation.
356
+ # Corresponds to the JSON property `name`
357
+ # @return [String]
358
+ attr_accessor :name
359
+
360
+ # Contains the impact a recommendation can have for a given category.
361
+ # Corresponds to the JSON property `primaryImpact`
362
+ # @return [Google::Apis::RecommenderV1::GoogleCloudRecommenderV1Impact]
363
+ attr_accessor :primary_impact
364
+
365
+ # Contains an identifier for a subtype of recommendations produced for the
366
+ # same recommender. Subtype is a function of content and impact, meaning a
367
+ # new subtype might be added when significant changes to `content` or
368
+ # `primary_impact.category` are introduced. See the Recommenders section
369
+ # to see a list of subtypes for a given Recommender.
370
+ # Examples:
371
+ # For recommender = "google.iam.policy.Recommender",
372
+ # recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
373
+ # Corresponds to the JSON property `recommenderSubtype`
374
+ # @return [String]
375
+ attr_accessor :recommender_subtype
376
+
377
+ # Information for state. Contains state and metadata.
378
+ # Corresponds to the JSON property `stateInfo`
379
+ # @return [Google::Apis::RecommenderV1::GoogleCloudRecommenderV1RecommendationStateInfo]
380
+ attr_accessor :state_info
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @additional_impact = args[:additional_impact] if args.key?(:additional_impact)
389
+ @content = args[:content] if args.key?(:content)
390
+ @description = args[:description] if args.key?(:description)
391
+ @etag = args[:etag] if args.key?(:etag)
392
+ @last_refresh_time = args[:last_refresh_time] if args.key?(:last_refresh_time)
393
+ @name = args[:name] if args.key?(:name)
394
+ @primary_impact = args[:primary_impact] if args.key?(:primary_impact)
395
+ @recommender_subtype = args[:recommender_subtype] if args.key?(:recommender_subtype)
396
+ @state_info = args[:state_info] if args.key?(:state_info)
397
+ end
398
+ end
399
+
400
+ # Contains what resources are changing and how they are changing.
401
+ class GoogleCloudRecommenderV1RecommendationContent
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # Operations to one or more Google Cloud resources grouped in such a way
405
+ # that, all operations within one group are expected to be performed
406
+ # atomically and in an order.
407
+ # Corresponds to the JSON property `operationGroups`
408
+ # @return [Array<Google::Apis::RecommenderV1::GoogleCloudRecommenderV1OperationGroup>]
409
+ attr_accessor :operation_groups
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @operation_groups = args[:operation_groups] if args.key?(:operation_groups)
418
+ end
419
+ end
420
+
421
+ # Information for state. Contains state and metadata.
422
+ class GoogleCloudRecommenderV1RecommendationStateInfo
423
+ include Google::Apis::Core::Hashable
424
+
425
+ # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
426
+ # Corresponds to the JSON property `state`
427
+ # @return [String]
428
+ attr_accessor :state
429
+
430
+ # A map of metadata for the state, provided by user or automations systems.
431
+ # Corresponds to the JSON property `stateMetadata`
432
+ # @return [Hash<String,String>]
433
+ attr_accessor :state_metadata
434
+
435
+ def initialize(**args)
436
+ update!(**args)
437
+ end
438
+
439
+ # Update properties of this object
440
+ def update!(**args)
441
+ @state = args[:state] if args.key?(:state)
442
+ @state_metadata = args[:state_metadata] if args.key?(:state_metadata)
443
+ end
444
+ end
445
+
446
+ # Contains various matching options for values for a GCP resource field.
447
+ class GoogleCloudRecommenderV1ValueMatcher
448
+ include Google::Apis::Core::Hashable
449
+
450
+ # To be used for full regex matching. The regular expression is using the
451
+ # Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be
452
+ # used with RE2::FullMatch
453
+ # Corresponds to the JSON property `matchesPattern`
454
+ # @return [String]
455
+ attr_accessor :matches_pattern
456
+
457
+ def initialize(**args)
458
+ update!(**args)
459
+ end
460
+
461
+ # Update properties of this object
462
+ def update!(**args)
463
+ @matches_pattern = args[:matches_pattern] if args.key?(:matches_pattern)
464
+ end
465
+ end
466
+
467
+ # Represents an amount of money with its currency type.
468
+ class GoogleTypeMoney
469
+ include Google::Apis::Core::Hashable
470
+
471
+ # The 3-letter currency code defined in ISO 4217.
472
+ # Corresponds to the JSON property `currencyCode`
473
+ # @return [String]
474
+ attr_accessor :currency_code
475
+
476
+ # Number of nano (10^-9) units of the amount.
477
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
478
+ # If `units` is positive, `nanos` must be positive or zero.
479
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
480
+ # If `units` is negative, `nanos` must be negative or zero.
481
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
482
+ # Corresponds to the JSON property `nanos`
483
+ # @return [Fixnum]
484
+ attr_accessor :nanos
485
+
486
+ # The whole units of the amount.
487
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
488
+ # Corresponds to the JSON property `units`
489
+ # @return [Fixnum]
490
+ attr_accessor :units
491
+
492
+ def initialize(**args)
493
+ update!(**args)
494
+ end
495
+
496
+ # Update properties of this object
497
+ def update!(**args)
498
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
499
+ @nanos = args[:nanos] if args.key?(:nanos)
500
+ @units = args[:units] if args.key?(:units)
501
+ end
502
+ end
503
+ end
504
+ end
505
+ end