google-api-client 0.32.1 → 0.40.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 (948) hide show
  1. checksums.yaml +5 -5
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/.yardopts +16 -2
  9. data/CHANGELOG.md +1354 -0
  10. data/Gemfile +1 -0
  11. data/OVERVIEW.md +36 -0
  12. data/README.md +50 -2
  13. data/Rakefile +71 -2
  14. data/api_list_config.yaml +1 -0
  15. data/api_names.yaml +2 -0
  16. data/bin/generate-api +10 -2
  17. data/docs/api-keys.md +20 -0
  18. data/docs/auth.md +53 -0
  19. data/docs/client-secrets.md +69 -0
  20. data/docs/getting-started.md +340 -0
  21. data/docs/installation.md +0 -0
  22. data/docs/logging.md +34 -0
  23. data/docs/media-upload.md +25 -0
  24. data/docs/oauth-installed.md +191 -0
  25. data/docs/oauth-server.md +135 -0
  26. data/docs/oauth-web.md +280 -0
  27. data/docs/oauth.md +268 -0
  28. data/docs/pagination.md +29 -0
  29. data/docs/performance.md +25 -0
  30. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -4
  31. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
  32. data/generated/google/apis/accessapproval_v1/classes.rb +417 -0
  33. data/generated/google/apis/accessapproval_v1/representations.rb +203 -0
  34. data/generated/google/apis/accessapproval_v1/service.rb +869 -0
  35. data/generated/google/apis/{servicebroker_v1.rb → accessapproval_v1.rb} +8 -10
  36. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  37. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  38. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  39. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  40. data/generated/google/apis/accesscontextmanager_v1/classes.rb +357 -56
  41. data/generated/google/apis/accesscontextmanager_v1/representations.rb +137 -6
  42. data/generated/google/apis/accesscontextmanager_v1/service.rb +143 -5
  43. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  44. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +133 -125
  45. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +21 -27
  46. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +6 -5
  47. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  48. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +35 -5
  49. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +4 -0
  50. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  51. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +24 -2
  52. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  53. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  54. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -3
  55. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  56. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  57. data/generated/google/apis/adexperiencereport_v1.rb +1 -4
  58. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  59. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  60. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  61. data/generated/google/apis/admin_directory_v1/classes.rb +4 -150
  62. data/generated/google/apis/admin_directory_v1/representations.rb +0 -54
  63. data/generated/google/apis/admin_directory_v1/service.rb +0 -60
  64. data/generated/google/apis/admin_directory_v1.rb +4 -1
  65. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  66. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  67. data/generated/google/apis/admin_reports_v1.rb +2 -2
  68. data/generated/google/apis/admob_v1/classes.rb +951 -0
  69. data/generated/google/apis/admob_v1/representations.rb +378 -0
  70. data/generated/google/apis/admob_v1/service.rb +196 -0
  71. data/generated/google/apis/{analytics_v2_4/classes.rb → admob_v1.rb} +11 -6
  72. data/generated/google/apis/adsense_v1_4.rb +1 -1
  73. data/generated/google/apis/adsensehost_v4_1/service.rb +5 -1
  74. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  75. data/generated/google/apis/alertcenter_v1beta1/classes.rb +259 -7
  76. data/generated/google/apis/alertcenter_v1beta1/representations.rb +126 -0
  77. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  78. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  79. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -2
  80. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  81. data/generated/google/apis/androidenterprise_v1/classes.rb +39 -60
  82. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  83. data/generated/google/apis/androidenterprise_v1/service.rb +0 -403
  84. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  85. data/generated/google/apis/androidmanagement_v1/classes.rb +203 -6
  86. data/generated/google/apis/androidmanagement_v1/representations.rb +68 -0
  87. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  88. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  89. data/generated/google/apis/androidpublisher_v1/classes.rb +0 -41
  90. data/generated/google/apis/androidpublisher_v1/representations.rb +0 -16
  91. data/generated/google/apis/androidpublisher_v1/service.rb +1 -81
  92. data/generated/google/apis/androidpublisher_v1.rb +1 -4
  93. data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -41
  94. data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -16
  95. data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -80
  96. data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
  97. data/generated/google/apis/androidpublisher_v2/classes.rb +37 -1755
  98. data/generated/google/apis/androidpublisher_v2/representations.rb +15 -804
  99. data/generated/google/apis/androidpublisher_v2/service.rb +0 -2359
  100. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  101. data/generated/google/apis/androidpublisher_v3/classes.rb +404 -65
  102. data/generated/google/apis/androidpublisher_v3/representations.rb +180 -27
  103. data/generated/google/apis/androidpublisher_v3/service.rb +162 -3
  104. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  105. data/generated/google/apis/apigee_v1/classes.rb +4928 -0
  106. data/generated/google/apis/apigee_v1/representations.rb +1822 -0
  107. data/generated/google/apis/apigee_v1/service.rb +5578 -0
  108. data/generated/google/apis/apigee_v1.rb +40 -0
  109. data/generated/google/apis/appengine_v1/classes.rb +7 -0
  110. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  111. data/generated/google/apis/appengine_v1/service.rb +10 -6
  112. data/generated/google/apis/appengine_v1.rb +1 -1
  113. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  114. data/generated/google/apis/appengine_v1beta/classes.rb +7 -38
  115. data/generated/google/apis/appengine_v1beta/representations.rb +1 -17
  116. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  117. data/generated/google/apis/appengine_v1beta.rb +1 -1
  118. data/generated/google/apis/appsactivity_v1.rb +1 -1
  119. data/generated/google/apis/appsmarket_v2.rb +1 -1
  120. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → artifactregistry_v1beta1}/classes.rb +591 -765
  121. data/generated/google/apis/{servicebroker_v1alpha1 → artifactregistry_v1beta1}/representations.rb +128 -115
  122. data/generated/google/apis/artifactregistry_v1beta1/service.rb +957 -0
  123. data/generated/google/apis/artifactregistry_v1beta1.rb +38 -0
  124. data/generated/google/apis/bigquery_v2/classes.rb +993 -43
  125. data/generated/google/apis/bigquery_v2/representations.rb +273 -2
  126. data/generated/google/apis/bigquery_v2/service.rb +137 -4
  127. data/generated/google/apis/bigquery_v2.rb +1 -1
  128. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +149 -59
  129. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +2 -0
  130. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +11 -10
  131. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  132. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +49 -0
  133. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +19 -0
  134. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +90 -34
  135. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  136. data/generated/google/apis/bigqueryreservation_v1/classes.rb +392 -16
  137. data/generated/google/apis/bigqueryreservation_v1/representations.rb +174 -6
  138. data/generated/google/apis/bigqueryreservation_v1/service.rb +758 -0
  139. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  140. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +109 -10
  141. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +26 -3
  142. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  143. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  144. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +166 -160
  145. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +49 -38
  146. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +257 -146
  147. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  148. data/generated/google/apis/bigtableadmin_v1/classes.rb +21 -18
  149. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  150. data/generated/google/apis/bigtableadmin_v2/classes.rb +189 -82
  151. data/generated/google/apis/bigtableadmin_v2/service.rb +170 -58
  152. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  153. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +413 -0
  154. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +197 -0
  155. data/generated/google/apis/billingbudgets_v1beta1/service.rb +244 -0
  156. data/generated/google/apis/{servicebroker_v1beta1.rb → billingbudgets_v1beta1.rb} +9 -10
  157. data/generated/google/apis/binaryauthorization_v1/classes.rb +143 -58
  158. data/generated/google/apis/binaryauthorization_v1/service.rb +10 -2
  159. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  160. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +139 -57
  161. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +10 -2
  162. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  163. data/generated/google/apis/blogger_v2/classes.rb +297 -45
  164. data/generated/google/apis/blogger_v2/representations.rb +105 -26
  165. data/generated/google/apis/blogger_v2/service.rb +79 -134
  166. data/generated/google/apis/blogger_v2.rb +5 -4
  167. data/generated/google/apis/blogger_v3/classes.rb +60 -53
  168. data/generated/google/apis/blogger_v3/representations.rb +10 -18
  169. data/generated/google/apis/blogger_v3/service.rb +183 -463
  170. data/generated/google/apis/blogger_v3.rb +4 -3
  171. data/generated/google/apis/books_v1/classes.rb +494 -242
  172. data/generated/google/apis/books_v1/representations.rb +145 -72
  173. data/generated/google/apis/books_v1/service.rb +354 -484
  174. data/generated/google/apis/books_v1.rb +3 -3
  175. data/generated/google/apis/calendar_v3/classes.rb +8 -21
  176. data/generated/google/apis/calendar_v3/service.rb +18 -30
  177. data/generated/google/apis/calendar_v3.rb +1 -1
  178. data/generated/google/apis/chat_v1/classes.rb +29 -3
  179. data/generated/google/apis/chat_v1/representations.rb +3 -0
  180. data/generated/google/apis/chat_v1/service.rb +5 -2
  181. data/generated/google/apis/chat_v1.rb +1 -1
  182. data/generated/google/apis/chromeuxreport_v1/classes.rb +297 -0
  183. data/generated/google/apis/chromeuxreport_v1/representations.rb +147 -0
  184. data/generated/google/apis/chromeuxreport_v1/service.rb +92 -0
  185. data/generated/google/apis/{pagespeedonline_v1.rb → chromeuxreport_v1.rb} +9 -9
  186. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  187. data/generated/google/apis/civicinfo_v2/representations.rb +2 -60
  188. data/generated/google/apis/civicinfo_v2.rb +1 -1
  189. data/generated/google/apis/classroom_v1/classes.rb +14 -14
  190. data/generated/google/apis/classroom_v1/service.rb +11 -11
  191. data/generated/google/apis/classroom_v1.rb +1 -1
  192. data/generated/google/apis/cloudasset_v1/classes.rb +917 -195
  193. data/generated/google/apis/cloudasset_v1/representations.rb +234 -6
  194. data/generated/google/apis/cloudasset_v1/service.rb +363 -12
  195. data/generated/google/apis/cloudasset_v1.rb +2 -2
  196. data/generated/google/apis/cloudasset_v1beta1/classes.rb +139 -57
  197. data/generated/google/apis/cloudasset_v1beta1/service.rb +13 -4
  198. data/generated/google/apis/cloudasset_v1beta1.rb +2 -2
  199. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +701 -0
  200. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +201 -0
  201. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +189 -0
  202. data/generated/google/apis/cloudasset_v1p1beta1.rb +34 -0
  203. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +924 -0
  204. data/generated/google/apis/cloudasset_v1p4beta1/representations.rb +377 -0
  205. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +217 -0
  206. data/generated/google/apis/cloudasset_v1p4beta1.rb +34 -0
  207. data/generated/google/apis/cloudbilling_v1/classes.rb +179 -68
  208. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  209. data/generated/google/apis/cloudbilling_v1/service.rb +16 -9
  210. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  211. data/generated/google/apis/cloudbuild_v1/classes.rb +55 -10
  212. data/generated/google/apis/cloudbuild_v1/representations.rb +5 -0
  213. data/generated/google/apis/cloudbuild_v1/service.rb +139 -18
  214. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  215. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +170 -5
  216. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +63 -0
  217. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +121 -5
  218. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  219. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +1283 -0
  220. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +491 -0
  221. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +353 -0
  222. data/generated/google/apis/cloudbuild_v1alpha2.rb +34 -0
  223. data/generated/google/apis/clouddebugger_v2/classes.rb +34 -0
  224. data/generated/google/apis/clouddebugger_v2/representations.rb +4 -0
  225. data/generated/google/apis/clouddebugger_v2/service.rb +24 -17
  226. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  227. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  228. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +13 -13
  229. data/generated/google/apis/clouderrorreporting_v1beta1.rb +2 -2
  230. data/generated/google/apis/cloudfunctions_v1/classes.rb +161 -59
  231. data/generated/google/apis/cloudfunctions_v1/representations.rb +3 -0
  232. data/generated/google/apis/cloudfunctions_v1/service.rb +13 -4
  233. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  234. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  235. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  236. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  237. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  238. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  239. data/generated/google/apis/cloudidentity_v1/service.rb +22 -14
  240. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  241. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1009 -69
  242. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +390 -0
  243. data/generated/google/apis/cloudidentity_v1beta1/service.rb +189 -78
  244. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  245. data/generated/google/apis/cloudiot_v1/classes.rb +142 -57
  246. data/generated/google/apis/cloudiot_v1.rb +1 -1
  247. data/generated/google/apis/cloudkms_v1/classes.rb +461 -61
  248. data/generated/google/apis/cloudkms_v1/representations.rb +33 -0
  249. data/generated/google/apis/cloudkms_v1/service.rb +15 -3
  250. data/generated/google/apis/cloudkms_v1.rb +1 -1
  251. data/generated/google/apis/cloudprofiler_v2.rb +1 -1
  252. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +155 -71
  253. data/generated/google/apis/cloudresourcemanager_v1/service.rb +6 -3
  254. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  255. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +143 -59
  256. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +1 -1
  257. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  258. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +147 -67
  259. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  260. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  261. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +147 -67
  262. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  263. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  264. data/generated/google/apis/cloudscheduler_v1/classes.rb +3 -2
  265. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  266. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +3 -2
  267. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  268. data/generated/google/apis/cloudsearch_v1/classes.rb +86 -195
  269. data/generated/google/apis/cloudsearch_v1/representations.rb +1 -75
  270. data/generated/google/apis/cloudsearch_v1/service.rb +62 -10
  271. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  272. data/generated/google/apis/cloudshell_v1/classes.rb +24 -1
  273. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  274. data/generated/google/apis/cloudshell_v1.rb +1 -1
  275. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +30 -1
  276. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +5 -0
  277. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  278. data/generated/google/apis/cloudtasks_v2/classes.rb +388 -70
  279. data/generated/google/apis/cloudtasks_v2/representations.rb +65 -0
  280. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  281. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +148 -66
  282. data/generated/google/apis/cloudtasks_v2beta2/service.rb +6 -1
  283. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  284. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +156 -74
  285. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  286. data/generated/google/apis/cloudtrace_v1/service.rb +10 -4
  287. data/generated/google/apis/cloudtrace_v1.rb +5 -5
  288. data/generated/google/apis/cloudtrace_v2/classes.rb +8 -7
  289. data/generated/google/apis/cloudtrace_v2/service.rb +8 -4
  290. data/generated/google/apis/cloudtrace_v2.rb +5 -5
  291. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +143 -0
  292. data/generated/google/apis/{oauth2_v1 → cloudtrace_v2beta1}/representations.rb +36 -27
  293. data/generated/google/apis/cloudtrace_v2beta1/service.rb +258 -0
  294. data/generated/google/apis/cloudtrace_v2beta1.rb +44 -0
  295. data/generated/google/apis/composer_v1/classes.rb +180 -0
  296. data/generated/google/apis/composer_v1/representations.rb +54 -0
  297. data/generated/google/apis/composer_v1.rb +1 -1
  298. data/generated/google/apis/composer_v1beta1/classes.rb +152 -5
  299. data/generated/google/apis/composer_v1beta1/representations.rb +64 -0
  300. data/generated/google/apis/composer_v1beta1/service.rb +5 -0
  301. data/generated/google/apis/composer_v1beta1.rb +1 -1
  302. data/generated/google/apis/compute_alpha/classes.rb +3252 -973
  303. data/generated/google/apis/compute_alpha/representations.rb +634 -69
  304. data/generated/google/apis/compute_alpha/service.rb +9085 -6210
  305. data/generated/google/apis/compute_alpha.rb +1 -1
  306. data/generated/google/apis/compute_beta/classes.rb +4787 -1066
  307. data/generated/google/apis/compute_beta/representations.rb +1394 -31
  308. data/generated/google/apis/compute_beta/service.rb +8858 -5018
  309. data/generated/google/apis/compute_beta.rb +1 -1
  310. data/generated/google/apis/compute_v1/classes.rb +2976 -599
  311. data/generated/google/apis/compute_v1/representations.rb +850 -0
  312. data/generated/google/apis/compute_v1/service.rb +4634 -2481
  313. data/generated/google/apis/compute_v1.rb +1 -1
  314. data/generated/google/apis/container_v1/classes.rb +925 -164
  315. data/generated/google/apis/container_v1/representations.rb +278 -0
  316. data/generated/google/apis/container_v1/service.rb +175 -158
  317. data/generated/google/apis/container_v1.rb +1 -1
  318. data/generated/google/apis/container_v1beta1/classes.rb +803 -340
  319. data/generated/google/apis/container_v1beta1/representations.rb +185 -39
  320. data/generated/google/apis/container_v1beta1/service.rb +294 -277
  321. data/generated/google/apis/container_v1beta1.rb +1 -1
  322. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +142 -57
  323. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  324. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +478 -59
  325. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +159 -0
  326. data/generated/google/apis/containeranalysis_v1beta1/service.rb +26 -20
  327. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  328. data/generated/google/apis/content_v2/classes.rb +1566 -634
  329. data/generated/google/apis/content_v2/representations.rb +78 -115
  330. data/generated/google/apis/content_v2/service.rb +81 -206
  331. data/generated/google/apis/content_v2.rb +1 -1
  332. data/generated/google/apis/content_v2_1/classes.rb +2706 -683
  333. data/generated/google/apis/content_v2_1/representations.rb +551 -0
  334. data/generated/google/apis/content_v2_1/service.rb +520 -46
  335. data/generated/google/apis/content_v2_1.rb +1 -1
  336. data/generated/google/apis/customsearch_v1/classes.rb +1194 -353
  337. data/generated/google/apis/customsearch_v1/representations.rb +166 -95
  338. data/generated/google/apis/customsearch_v1/service.rb +373 -104
  339. data/generated/google/apis/customsearch_v1.rb +3 -3
  340. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1907 -0
  341. data/generated/google/apis/datacatalog_v1beta1/representations.rb +739 -0
  342. data/generated/google/apis/datacatalog_v1beta1/service.rb +2247 -0
  343. data/generated/google/apis/{cloudprivatecatalog_v1beta1.rb → datacatalog_v1beta1.rb} +9 -9
  344. data/generated/google/apis/dataflow_v1b3/classes.rb +786 -11
  345. data/generated/google/apis/dataflow_v1b3/representations.rb +377 -1
  346. data/generated/google/apis/dataflow_v1b3/service.rb +626 -0
  347. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  348. data/generated/google/apis/datafusion_v1beta1/classes.rb +245 -362
  349. data/generated/google/apis/datafusion_v1beta1/representations.rb +29 -112
  350. data/generated/google/apis/datafusion_v1beta1/service.rb +15 -2
  351. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  352. data/generated/google/apis/dataproc_v1/classes.rb +533 -177
  353. data/generated/google/apis/dataproc_v1/representations.rb +85 -0
  354. data/generated/google/apis/dataproc_v1/service.rb +102 -36
  355. data/generated/google/apis/dataproc_v1.rb +1 -1
  356. data/generated/google/apis/dataproc_v1beta2/classes.rb +477 -182
  357. data/generated/google/apis/dataproc_v1beta2/representations.rb +81 -0
  358. data/generated/google/apis/dataproc_v1beta2/service.rb +199 -43
  359. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  360. data/generated/google/apis/datastore_v1/classes.rb +17 -23
  361. data/generated/google/apis/datastore_v1/service.rb +93 -9
  362. data/generated/google/apis/datastore_v1.rb +1 -1
  363. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  364. data/generated/google/apis/datastore_v1beta3/classes.rb +6 -5
  365. data/generated/google/apis/datastore_v1beta3/service.rb +7 -7
  366. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  367. data/generated/google/apis/deploymentmanager_alpha/classes.rb +362 -176
  368. data/generated/google/apis/deploymentmanager_alpha/representations.rb +22 -4
  369. data/generated/google/apis/deploymentmanager_alpha/service.rb +198 -311
  370. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  371. data/generated/google/apis/deploymentmanager_v2/classes.rb +295 -146
  372. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -1
  373. data/generated/google/apis/deploymentmanager_v2/service.rb +101 -99
  374. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  375. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +350 -170
  376. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +18 -1
  377. data/generated/google/apis/deploymentmanager_v2beta/service.rb +154 -152
  378. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  379. data/generated/google/apis/dfareporting_v3_3/classes.rb +39 -13
  380. data/generated/google/apis/dfareporting_v3_3/service.rb +9 -8
  381. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  382. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/classes.rb +1361 -813
  383. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/representations.rb +639 -396
  384. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/service.rb +969 -1076
  385. data/generated/google/apis/{dfareporting_v3_2.rb → dfareporting_v3_4.rb} +6 -6
  386. data/generated/google/apis/dialogflow_v2/classes.rb +1778 -219
  387. data/generated/google/apis/dialogflow_v2/representations.rb +603 -0
  388. data/generated/google/apis/dialogflow_v2/service.rb +849 -158
  389. data/generated/google/apis/dialogflow_v2.rb +1 -1
  390. data/generated/google/apis/dialogflow_v2beta1/classes.rb +1776 -242
  391. data/generated/google/apis/dialogflow_v2beta1/representations.rb +592 -0
  392. data/generated/google/apis/dialogflow_v2beta1/service.rb +436 -172
  393. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  394. data/generated/google/apis/dialogflow_v3alpha1/classes.rb +5579 -0
  395. data/generated/google/apis/dialogflow_v3alpha1/representations.rb +2295 -0
  396. data/generated/google/apis/dialogflow_v3alpha1/service.rb +296 -0
  397. data/generated/google/apis/dialogflow_v3alpha1.rb +38 -0
  398. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  399. data/generated/google/apis/displayvideo_v1/classes.rb +7527 -0
  400. data/generated/google/apis/displayvideo_v1/representations.rb +3034 -0
  401. data/generated/google/apis/displayvideo_v1/service.rb +3126 -0
  402. data/generated/google/apis/displayvideo_v1.rb +38 -0
  403. data/generated/google/apis/dlp_v2/classes.rb +798 -130
  404. data/generated/google/apis/dlp_v2/representations.rb +277 -3
  405. data/generated/google/apis/dlp_v2/service.rb +2074 -231
  406. data/generated/google/apis/dlp_v2.rb +1 -1
  407. data/generated/google/apis/dns_v1/classes.rb +220 -251
  408. data/generated/google/apis/dns_v1/representations.rb +49 -0
  409. data/generated/google/apis/dns_v1/service.rb +21 -141
  410. data/generated/google/apis/dns_v1.rb +1 -1
  411. data/generated/google/apis/dns_v1beta2/classes.rb +224 -261
  412. data/generated/google/apis/dns_v1beta2/representations.rb +49 -0
  413. data/generated/google/apis/dns_v1beta2/service.rb +21 -141
  414. data/generated/google/apis/dns_v1beta2.rb +1 -1
  415. data/generated/google/apis/dns_v2beta1/classes.rb +220 -251
  416. data/generated/google/apis/dns_v2beta1/representations.rb +49 -0
  417. data/generated/google/apis/dns_v2beta1/service.rb +21 -141
  418. data/generated/google/apis/dns_v2beta1.rb +1 -1
  419. data/generated/google/apis/docs_v1/classes.rb +608 -2
  420. data/generated/google/apis/docs_v1/representations.rb +211 -0
  421. data/generated/google/apis/docs_v1.rb +1 -1
  422. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  423. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  424. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  425. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +860 -0
  426. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +388 -0
  427. data/generated/google/apis/{surveys_v2 → doubleclickbidmanager_v1_1}/service.rb +140 -110
  428. data/generated/google/apis/{proximitybeacon_v1beta1.rb → doubleclickbidmanager_v1_1.rb} +11 -11
  429. data/generated/google/apis/doubleclicksearch_v2/service.rb +0 -55
  430. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  431. data/generated/google/apis/drive_v2/classes.rb +58 -5
  432. data/generated/google/apis/drive_v2/representations.rb +18 -0
  433. data/generated/google/apis/drive_v2/service.rb +92 -118
  434. data/generated/google/apis/drive_v2.rb +1 -1
  435. data/generated/google/apis/drive_v3/classes.rb +66 -5
  436. data/generated/google/apis/drive_v3/representations.rb +18 -0
  437. data/generated/google/apis/drive_v3/service.rb +46 -14
  438. data/generated/google/apis/drive_v3.rb +1 -1
  439. data/generated/google/apis/driveactivity_v2/classes.rb +15 -5
  440. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  441. data/generated/google/apis/driveactivity_v2.rb +1 -1
  442. data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
  443. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  444. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  445. data/generated/google/apis/fcm_v1.rb +1 -1
  446. data/generated/google/apis/file_v1/classes.rb +1235 -158
  447. data/generated/google/apis/file_v1/representations.rb +401 -22
  448. data/generated/google/apis/file_v1/service.rb +14 -10
  449. data/generated/google/apis/file_v1.rb +1 -1
  450. data/generated/google/apis/file_v1beta1/classes.rb +1236 -159
  451. data/generated/google/apis/file_v1beta1/representations.rb +401 -22
  452. data/generated/google/apis/file_v1beta1/service.rb +18 -11
  453. data/generated/google/apis/file_v1beta1.rb +1 -1
  454. data/generated/google/apis/firebase_v1beta1/classes.rb +20 -16
  455. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  456. data/generated/google/apis/firebase_v1beta1/service.rb +22 -16
  457. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  458. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  459. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +174 -1
  460. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +65 -0
  461. data/generated/google/apis/firebasehosting_v1beta1/service.rb +805 -2
  462. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  463. data/generated/google/apis/firebaseml_v1/classes.rb +213 -0
  464. data/generated/google/apis/{servicebroker_v1 → firebaseml_v1}/representations.rb +26 -28
  465. data/generated/google/apis/firebaseml_v1/service.rb +181 -0
  466. data/generated/google/apis/firebaseml_v1.rb +34 -0
  467. data/generated/google/apis/firebaseml_v1beta2/classes.rb +344 -0
  468. data/generated/google/apis/{cloudprivatecatalog_v1beta1 → firebaseml_v1beta2}/representations.rb +62 -31
  469. data/generated/google/apis/firebaseml_v1beta2/service.rb +267 -0
  470. data/generated/google/apis/firebaseml_v1beta2.rb +34 -0
  471. data/generated/google/apis/firebaserules_v1/classes.rb +113 -0
  472. data/generated/google/apis/firebaserules_v1/representations.rb +52 -0
  473. data/generated/google/apis/firebaserules_v1.rb +1 -1
  474. data/generated/google/apis/firestore_v1/classes.rb +16 -5
  475. data/generated/google/apis/firestore_v1/representations.rb +2 -0
  476. data/generated/google/apis/firestore_v1/service.rb +26 -24
  477. data/generated/google/apis/firestore_v1.rb +1 -1
  478. data/generated/google/apis/firestore_v1beta1/classes.rb +16 -5
  479. data/generated/google/apis/firestore_v1beta1/representations.rb +2 -0
  480. data/generated/google/apis/firestore_v1beta1/service.rb +18 -16
  481. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  482. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  483. data/generated/google/apis/fitness_v1/classes.rb +189 -153
  484. data/generated/google/apis/fitness_v1/service.rb +192 -198
  485. data/generated/google/apis/fitness_v1.rb +14 -14
  486. data/generated/google/apis/games_configuration_v1configuration/classes.rb +38 -53
  487. data/generated/google/apis/games_configuration_v1configuration/service.rb +58 -169
  488. data/generated/google/apis/games_configuration_v1configuration.rb +4 -3
  489. data/generated/google/apis/games_management_v1management/classes.rb +50 -109
  490. data/generated/google/apis/games_management_v1management/representations.rb +0 -30
  491. data/generated/google/apis/games_management_v1management/service.rb +116 -452
  492. data/generated/google/apis/games_management_v1management.rb +6 -4
  493. data/generated/google/apis/games_v1/classes.rb +14 -293
  494. data/generated/google/apis/games_v1/representations.rb +2 -98
  495. data/generated/google/apis/games_v1/service.rb +3 -135
  496. data/generated/google/apis/games_v1.rb +1 -1
  497. data/generated/google/apis/gameservices_v1beta/classes.rb +2354 -0
  498. data/generated/google/apis/gameservices_v1beta/representations.rb +971 -0
  499. data/generated/google/apis/gameservices_v1beta/service.rb +1472 -0
  500. data/generated/google/apis/gameservices_v1beta.rb +34 -0
  501. data/generated/google/apis/genomics_v1.rb +1 -1
  502. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  503. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  504. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  505. data/generated/google/apis/genomics_v2alpha1/service.rb +34 -0
  506. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  507. data/generated/google/apis/gmail_v1/classes.rb +6 -2
  508. data/generated/google/apis/gmail_v1/service.rb +1 -1
  509. data/generated/google/apis/gmail_v1.rb +13 -1
  510. data/generated/google/apis/healthcare_v1/classes.rb +2659 -0
  511. data/generated/google/apis/healthcare_v1/representations.rb +1114 -0
  512. data/generated/google/apis/healthcare_v1/service.rb +3439 -0
  513. data/generated/google/apis/healthcare_v1.rb +34 -0
  514. data/generated/google/apis/healthcare_v1beta1/classes.rb +1013 -128
  515. data/generated/google/apis/healthcare_v1beta1/representations.rb +341 -1
  516. data/generated/google/apis/healthcare_v1beta1/service.rb +762 -275
  517. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  518. data/generated/google/apis/homegraph_v1/classes.rb +79 -56
  519. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  520. data/generated/google/apis/homegraph_v1/service.rb +43 -47
  521. data/generated/google/apis/homegraph_v1.rb +1 -1
  522. data/generated/google/apis/iam_v1/classes.rb +201 -169
  523. data/generated/google/apis/iam_v1/representations.rb +1 -6
  524. data/generated/google/apis/iam_v1/service.rb +18 -21
  525. data/generated/google/apis/iam_v1.rb +1 -1
  526. data/generated/google/apis/iamcredentials_v1/classes.rb +40 -8
  527. data/generated/google/apis/iamcredentials_v1/service.rb +4 -4
  528. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  529. data/generated/google/apis/iap_v1/classes.rb +691 -59
  530. data/generated/google/apis/iap_v1/representations.rb +254 -0
  531. data/generated/google/apis/iap_v1/service.rb +362 -0
  532. data/generated/google/apis/iap_v1.rb +1 -1
  533. data/generated/google/apis/iap_v1beta1/classes.rb +144 -59
  534. data/generated/google/apis/iap_v1beta1.rb +1 -1
  535. data/generated/google/apis/indexing_v3.rb +1 -1
  536. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  537. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  538. data/generated/google/apis/jobs_v2.rb +1 -1
  539. data/generated/google/apis/jobs_v3/classes.rb +180 -0
  540. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  541. data/generated/google/apis/jobs_v3.rb +1 -1
  542. data/generated/google/apis/jobs_v3p1beta1/classes.rb +187 -2
  543. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  544. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  545. data/generated/google/apis/kgsearch_v1.rb +1 -1
  546. data/generated/google/apis/language_v1/classes.rb +6 -6
  547. data/generated/google/apis/language_v1.rb +1 -1
  548. data/generated/google/apis/language_v1beta1/classes.rb +5 -5
  549. data/generated/google/apis/language_v1beta1.rb +1 -1
  550. data/generated/google/apis/language_v1beta2/classes.rb +23 -7
  551. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  552. data/generated/google/apis/language_v1beta2.rb +1 -1
  553. data/generated/google/apis/libraryagent_v1.rb +1 -1
  554. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  555. data/generated/google/apis/licensing_v1/service.rb +81 -37
  556. data/generated/google/apis/licensing_v1.rb +4 -4
  557. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  558. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  559. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  560. data/generated/google/apis/lifesciences_v2beta.rb +35 -0
  561. data/generated/google/apis/logging_v2/classes.rb +292 -91
  562. data/generated/google/apis/logging_v2/representations.rb +51 -0
  563. data/generated/google/apis/logging_v2/service.rb +888 -15
  564. data/generated/google/apis/logging_v2.rb +6 -6
  565. data/generated/google/apis/managedidentities_v1/classes.rb +1571 -0
  566. data/generated/google/apis/managedidentities_v1/representations.rb +560 -0
  567. data/generated/google/apis/managedidentities_v1/service.rb +779 -0
  568. data/generated/google/apis/managedidentities_v1.rb +35 -0
  569. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +1570 -0
  570. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +560 -0
  571. data/generated/google/apis/managedidentities_v1alpha1/service.rb +782 -0
  572. data/generated/google/apis/{servicebroker_v1alpha1.rb → managedidentities_v1alpha1.rb} +9 -10
  573. data/generated/google/apis/managedidentities_v1beta1/classes.rb +1568 -0
  574. data/generated/google/apis/managedidentities_v1beta1/representations.rb +560 -0
  575. data/generated/google/apis/managedidentities_v1beta1/service.rb +778 -0
  576. data/generated/google/apis/managedidentities_v1beta1.rb +35 -0
  577. data/generated/google/apis/manufacturers_v1/classes.rb +7 -0
  578. data/generated/google/apis/manufacturers_v1/representations.rb +1 -0
  579. data/generated/google/apis/manufacturers_v1.rb +1 -1
  580. data/generated/google/apis/memcache_v1beta2/classes.rb +1587 -0
  581. data/generated/google/apis/memcache_v1beta2/representations.rb +557 -0
  582. data/generated/google/apis/memcache_v1beta2/service.rb +677 -0
  583. data/generated/google/apis/memcache_v1beta2.rb +35 -0
  584. data/generated/google/apis/ml_v1/classes.rb +1518 -233
  585. data/generated/google/apis/ml_v1/representations.rb +559 -0
  586. data/generated/google/apis/ml_v1/service.rb +560 -25
  587. data/generated/google/apis/ml_v1.rb +5 -2
  588. data/generated/google/apis/monitoring_v1/classes.rb +1231 -0
  589. data/generated/google/apis/monitoring_v1/representations.rb +513 -0
  590. data/generated/google/apis/monitoring_v1/service.rb +246 -0
  591. data/generated/google/apis/monitoring_v1.rb +47 -0
  592. data/generated/google/apis/monitoring_v3/classes.rb +1330 -172
  593. data/generated/google/apis/monitoring_v3/representations.rb +482 -1
  594. data/generated/google/apis/monitoring_v3/service.rb +614 -162
  595. data/generated/google/apis/monitoring_v3.rb +7 -8
  596. data/generated/google/apis/networkmanagement_v1/classes.rb +1868 -0
  597. data/generated/google/apis/networkmanagement_v1/representations.rb +661 -0
  598. data/generated/google/apis/networkmanagement_v1/service.rb +667 -0
  599. data/generated/google/apis/networkmanagement_v1.rb +35 -0
  600. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +1868 -0
  601. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +661 -0
  602. data/generated/google/apis/networkmanagement_v1beta1/service.rb +667 -0
  603. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1.rb → networkmanagement_v1beta1.rb} +9 -9
  604. data/generated/google/apis/oauth2_v2/classes.rb +1 -81
  605. data/generated/google/apis/oauth2_v2/representations.rb +2 -36
  606. data/generated/google/apis/oauth2_v2/service.rb +10 -42
  607. data/generated/google/apis/oauth2_v2.rb +5 -5
  608. data/generated/google/apis/osconfig_v1/classes.rb +1225 -0
  609. data/generated/google/apis/osconfig_v1/representations.rb +506 -0
  610. data/generated/google/apis/osconfig_v1/service.rb +386 -0
  611. data/generated/google/apis/osconfig_v1.rb +35 -0
  612. data/generated/google/apis/osconfig_v1beta/classes.rb +2362 -0
  613. data/generated/google/apis/osconfig_v1beta/representations.rb +966 -0
  614. data/generated/google/apis/osconfig_v1beta/service.rb +605 -0
  615. data/generated/google/apis/osconfig_v1beta.rb +35 -0
  616. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  617. data/generated/google/apis/oslogin_v1/service.rb +10 -7
  618. data/generated/google/apis/oslogin_v1.rb +1 -2
  619. data/generated/google/apis/oslogin_v1alpha/service.rb +0 -1
  620. data/generated/google/apis/oslogin_v1alpha.rb +1 -2
  621. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  622. data/generated/google/apis/oslogin_v1beta/service.rb +9 -6
  623. data/generated/google/apis/oslogin_v1beta.rb +1 -2
  624. data/generated/google/apis/pagespeedonline_v5/classes.rb +534 -495
  625. data/generated/google/apis/pagespeedonline_v5/representations.rb +226 -221
  626. data/generated/google/apis/pagespeedonline_v5/service.rb +22 -24
  627. data/generated/google/apis/pagespeedonline_v5.rb +9 -4
  628. data/generated/google/apis/people_v1/classes.rb +104 -81
  629. data/generated/google/apis/people_v1/representations.rb +1 -0
  630. data/generated/google/apis/people_v1/service.rb +72 -79
  631. data/generated/google/apis/people_v1.rb +10 -1
  632. data/generated/google/apis/policytroubleshooter_v1/classes.rb +765 -0
  633. data/generated/google/apis/policytroubleshooter_v1/representations.rb +203 -0
  634. data/generated/google/apis/policytroubleshooter_v1/service.rb +90 -0
  635. data/generated/google/apis/policytroubleshooter_v1.rb +34 -0
  636. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +254 -111
  637. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  638. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  639. data/generated/google/apis/poly_v1.rb +1 -1
  640. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1137 -0
  641. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +532 -0
  642. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1676 -0
  643. data/generated/google/apis/{pagespeedonline_v4.rb → prod_tt_sasportal_v1alpha1.rb} +12 -10
  644. data/generated/google/apis/pubsub_v1/classes.rb +248 -76
  645. data/generated/google/apis/pubsub_v1/representations.rb +18 -0
  646. data/generated/google/apis/pubsub_v1/service.rb +43 -31
  647. data/generated/google/apis/pubsub_v1.rb +1 -1
  648. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  649. data/generated/google/apis/pubsub_v1beta2/classes.rb +144 -59
  650. data/generated/google/apis/pubsub_v1beta2/service.rb +10 -2
  651. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  652. data/generated/google/apis/recommender_v1beta1/classes.rb +221 -7
  653. data/generated/google/apis/recommender_v1beta1/representations.rb +96 -0
  654. data/generated/google/apis/recommender_v1beta1/service.rb +146 -19
  655. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  656. data/generated/google/apis/redis_v1/classes.rb +48 -18
  657. data/generated/google/apis/redis_v1/representations.rb +14 -0
  658. data/generated/google/apis/redis_v1/service.rb +41 -5
  659. data/generated/google/apis/redis_v1.rb +1 -1
  660. data/generated/google/apis/redis_v1beta1/classes.rb +48 -18
  661. data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
  662. data/generated/google/apis/redis_v1beta1/service.rb +41 -5
  663. data/generated/google/apis/redis_v1beta1.rb +1 -1
  664. data/generated/google/apis/remotebuildexecution_v1/classes.rb +352 -37
  665. data/generated/google/apis/remotebuildexecution_v1/representations.rb +99 -0
  666. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  667. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +352 -37
  668. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +99 -0
  669. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  670. data/generated/google/apis/remotebuildexecution_v2/classes.rb +362 -45
  671. data/generated/google/apis/remotebuildexecution_v2/representations.rb +100 -0
  672. data/generated/google/apis/remotebuildexecution_v2/service.rb +5 -1
  673. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  674. data/generated/google/apis/reseller_v1/service.rb +1 -1
  675. data/generated/google/apis/reseller_v1.rb +1 -1
  676. data/generated/google/apis/run_v1/classes.rb +308 -325
  677. data/generated/google/apis/run_v1/representations.rb +63 -103
  678. data/generated/google/apis/run_v1/service.rb +336 -933
  679. data/generated/google/apis/run_v1.rb +1 -1
  680. data/generated/google/apis/run_v1alpha1/classes.rb +1045 -392
  681. data/generated/google/apis/run_v1alpha1/representations.rb +343 -144
  682. data/generated/google/apis/run_v1alpha1/service.rb +1735 -492
  683. data/generated/google/apis/run_v1alpha1.rb +1 -1
  684. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  685. data/generated/google/apis/run_v1beta1.rb +4 -1
  686. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  687. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +139 -57
  688. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +8 -5
  689. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  690. data/generated/google/apis/safebrowsing_v4/classes.rb +2 -2
  691. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  692. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1137 -0
  693. data/generated/google/apis/sasportal_v1alpha1/representations.rb +532 -0
  694. data/generated/google/apis/sasportal_v1alpha1/service.rb +1676 -0
  695. data/generated/google/apis/{pagespeedonline_v2.rb → sasportal_v1alpha1.rb} +12 -10
  696. data/generated/google/apis/script_v1/classes.rb +4 -22
  697. data/generated/google/apis/script_v1.rb +1 -1
  698. data/generated/google/apis/searchconsole_v1.rb +1 -1
  699. data/generated/google/apis/secretmanager_v1/classes.rb +982 -0
  700. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/representations.rb +105 -116
  701. data/generated/google/apis/secretmanager_v1/service.rb +681 -0
  702. data/generated/google/apis/secretmanager_v1.rb +35 -0
  703. data/generated/google/apis/secretmanager_v1beta1/classes.rb +982 -0
  704. data/generated/google/apis/{servicebroker_v1beta1 → secretmanager_v1beta1}/representations.rb +114 -142
  705. data/generated/google/apis/secretmanager_v1beta1/service.rb +681 -0
  706. data/generated/google/apis/secretmanager_v1beta1.rb +35 -0
  707. data/generated/google/apis/securitycenter_v1/classes.rb +862 -138
  708. data/generated/google/apis/securitycenter_v1/representations.rb +221 -0
  709. data/generated/google/apis/securitycenter_v1/service.rb +225 -21
  710. data/generated/google/apis/securitycenter_v1.rb +4 -4
  711. data/generated/google/apis/securitycenter_v1beta1/classes.rb +782 -125
  712. data/generated/google/apis/securitycenter_v1beta1/representations.rb +192 -2
  713. data/generated/google/apis/securitycenter_v1beta1/service.rb +53 -51
  714. data/generated/google/apis/securitycenter_v1beta1.rb +4 -4
  715. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +568 -0
  716. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +190 -0
  717. data/generated/google/apis/securitycenter_v1p1alpha1/service.rb +3 -3
  718. data/generated/google/apis/securitycenter_v1p1alpha1.rb +4 -4
  719. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +2205 -0
  720. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +751 -0
  721. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +1329 -0
  722. data/generated/google/apis/securitycenter_v1p1beta1.rb +35 -0
  723. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +419 -64
  724. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +98 -0
  725. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  726. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +4159 -0
  727. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1307 -0
  728. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +428 -0
  729. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +34 -0
  730. data/generated/google/apis/servicecontrol_v1/classes.rb +255 -20
  731. data/generated/google/apis/servicecontrol_v1/representations.rb +87 -1
  732. data/generated/google/apis/servicecontrol_v1/service.rb +2 -1
  733. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  734. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +816 -0
  735. data/generated/google/apis/{surveys_v2 → servicedirectory_v1beta1}/representations.rb +103 -104
  736. data/generated/google/apis/servicedirectory_v1beta1/service.rb +992 -0
  737. data/generated/google/apis/servicedirectory_v1beta1.rb +35 -0
  738. data/generated/google/apis/servicemanagement_v1/classes.rb +459 -125
  739. data/generated/google/apis/servicemanagement_v1/representations.rb +61 -0
  740. data/generated/google/apis/servicemanagement_v1/service.rb +40 -29
  741. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  742. data/generated/google/apis/servicenetworking_v1/classes.rb +986 -68
  743. data/generated/google/apis/servicenetworking_v1/representations.rb +403 -0
  744. data/generated/google/apis/servicenetworking_v1/service.rb +351 -23
  745. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  746. data/generated/google/apis/servicenetworking_v1beta/classes.rb +575 -57
  747. data/generated/google/apis/servicenetworking_v1beta/representations.rb +223 -0
  748. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  749. data/generated/google/apis/serviceusage_v1/classes.rb +417 -64
  750. data/generated/google/apis/serviceusage_v1/representations.rb +110 -0
  751. data/generated/google/apis/serviceusage_v1/service.rb +42 -0
  752. data/generated/google/apis/serviceusage_v1.rb +1 -1
  753. data/generated/google/apis/serviceusage_v1beta1/classes.rb +644 -64
  754. data/generated/google/apis/serviceusage_v1beta1/representations.rb +198 -0
  755. data/generated/google/apis/serviceusage_v1beta1/service.rb +472 -0
  756. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  757. data/generated/google/apis/sheets_v4/classes.rb +1741 -253
  758. data/generated/google/apis/sheets_v4/representations.rb +283 -0
  759. data/generated/google/apis/sheets_v4/service.rb +9 -11
  760. data/generated/google/apis/sheets_v4.rb +1 -1
  761. data/generated/google/apis/slides_v1/classes.rb +1 -1
  762. data/generated/google/apis/slides_v1/service.rb +1 -1
  763. data/generated/google/apis/slides_v1.rb +1 -1
  764. data/generated/google/apis/sourcerepo_v1/classes.rb +173 -67
  765. data/generated/google/apis/sourcerepo_v1/service.rb +9 -1
  766. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  767. data/generated/google/apis/spanner_v1/classes.rb +706 -71
  768. data/generated/google/apis/spanner_v1/representations.rb +194 -0
  769. data/generated/google/apis/spanner_v1/service.rb +770 -7
  770. data/generated/google/apis/spanner_v1.rb +1 -1
  771. data/generated/google/apis/speech_v1/classes.rb +15 -11
  772. data/generated/google/apis/speech_v1/representations.rb +2 -1
  773. data/generated/google/apis/speech_v1.rb +1 -1
  774. data/generated/google/apis/speech_v1p1beta1/classes.rb +197 -11
  775. data/generated/google/apis/speech_v1p1beta1/representations.rb +79 -1
  776. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  777. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +16 -8
  778. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +7 -6
  779. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  780. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  781. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/classes.rb +701 -383
  782. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/representations.rb +209 -104
  783. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/service.rb +579 -597
  784. data/generated/google/apis/{sqladmin_v1beta4.rb → sql_v1beta4.rb} +7 -8
  785. data/generated/google/apis/storage_v1/classes.rb +73 -7
  786. data/generated/google/apis/storage_v1/representations.rb +10 -0
  787. data/generated/google/apis/storage_v1/service.rb +29 -4
  788. data/generated/google/apis/storage_v1.rb +1 -1
  789. data/generated/google/apis/storage_v1beta2/service.rb +1 -1
  790. data/generated/google/apis/storage_v1beta2.rb +1 -1
  791. data/generated/google/apis/storagetransfer_v1/classes.rb +280 -79
  792. data/generated/google/apis/storagetransfer_v1/representations.rb +52 -0
  793. data/generated/google/apis/storagetransfer_v1/service.rb +19 -41
  794. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  795. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  796. data/generated/google/apis/streetviewpublish_v1/service.rb +1 -1
  797. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  798. data/generated/google/apis/tagmanager_v1/classes.rb +2 -0
  799. data/generated/google/apis/tagmanager_v1/service.rb +1 -1
  800. data/generated/google/apis/tagmanager_v1.rb +1 -1
  801. data/generated/google/apis/tagmanager_v2/classes.rb +170 -0
  802. data/generated/google/apis/tagmanager_v2/representations.rb +49 -0
  803. data/generated/google/apis/tagmanager_v2/service.rb +1 -1
  804. data/generated/google/apis/tagmanager_v2.rb +1 -1
  805. data/generated/google/apis/tasks_v1/classes.rb +26 -25
  806. data/generated/google/apis/tasks_v1/representations.rb +4 -8
  807. data/generated/google/apis/tasks_v1/service.rb +78 -124
  808. data/generated/google/apis/tasks_v1.rb +3 -3
  809. data/generated/google/apis/testing_v1/classes.rb +187 -1
  810. data/generated/google/apis/testing_v1/representations.rb +93 -0
  811. data/generated/google/apis/testing_v1.rb +1 -1
  812. data/generated/google/apis/texttospeech_v1.rb +1 -1
  813. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  814. data/generated/google/apis/toolresults_v1beta3/classes.rb +2061 -1133
  815. data/generated/google/apis/toolresults_v1beta3/representations.rb +723 -13
  816. data/generated/google/apis/toolresults_v1beta3/service.rb +663 -591
  817. data/generated/google/apis/toolresults_v1beta3.rb +2 -2
  818. data/generated/google/apis/tpu_v1/classes.rb +3 -4
  819. data/generated/google/apis/tpu_v1.rb +1 -1
  820. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -4
  821. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  822. data/generated/google/apis/translate_v3/classes.rb +946 -0
  823. data/generated/google/apis/translate_v3/representations.rb +439 -0
  824. data/generated/google/apis/translate_v3/service.rb +781 -0
  825. data/generated/google/apis/translate_v3.rb +37 -0
  826. data/generated/google/apis/translate_v3beta1.rb +1 -1
  827. data/generated/google/apis/vault_v1/classes.rb +10 -7
  828. data/generated/google/apis/vault_v1/service.rb +7 -7
  829. data/generated/google/apis/vault_v1.rb +1 -1
  830. data/generated/google/apis/verifiedaccess_v1/service.rb +2 -2
  831. data/generated/google/apis/verifiedaccess_v1.rb +3 -3
  832. data/generated/google/apis/videointelligence_v1/classes.rb +1205 -118
  833. data/generated/google/apis/videointelligence_v1/representations.rb +492 -0
  834. data/generated/google/apis/videointelligence_v1.rb +1 -1
  835. data/generated/google/apis/videointelligence_v1beta2/classes.rb +1205 -118
  836. data/generated/google/apis/videointelligence_v1beta2/representations.rb +492 -0
  837. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  838. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +1216 -129
  839. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +492 -0
  840. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  841. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +1205 -118
  842. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +492 -0
  843. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  844. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +1290 -116
  845. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +526 -0
  846. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  847. data/generated/google/apis/vision_v1/classes.rb +67 -1
  848. data/generated/google/apis/vision_v1/representations.rb +32 -0
  849. data/generated/google/apis/vision_v1/service.rb +1 -1
  850. data/generated/google/apis/vision_v1.rb +1 -1
  851. data/generated/google/apis/vision_v1p1beta1/classes.rb +67 -1
  852. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  853. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  854. data/generated/google/apis/vision_v1p2beta1/classes.rb +67 -1
  855. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  856. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  857. data/generated/google/apis/websecurityscanner_v1/classes.rb +75 -4
  858. data/generated/google/apis/websecurityscanner_v1/representations.rb +32 -0
  859. data/generated/google/apis/websecurityscanner_v1/service.rb +1 -1
  860. data/generated/google/apis/websecurityscanner_v1.rb +2 -2
  861. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +5 -4
  862. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  863. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  864. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +77 -6
  865. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +32 -0
  866. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  867. data/generated/google/apis/websecurityscanner_v1beta.rb +2 -2
  868. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  869. data/generated/google/apis/youtube_analytics_v2.rb +1 -1
  870. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  871. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  872. data/generated/google/apis/youtube_v3/classes.rb +1376 -1262
  873. data/generated/google/apis/youtube_v3/representations.rb +99 -191
  874. data/generated/google/apis/youtube_v3/service.rb +1829 -2150
  875. data/generated/google/apis/youtube_v3.rb +8 -5
  876. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  877. data/google-api-client.gemspec +6 -3
  878. data/lib/google/apis/core/api_command.rb +7 -0
  879. data/lib/google/apis/core/base_service.rb +1 -1
  880. data/lib/google/apis/core/http_command.rb +11 -10
  881. data/lib/google/apis/core/upload.rb +4 -0
  882. data/lib/google/apis/generator/annotator.rb +1 -1
  883. data/lib/google/apis/version.rb +9 -4
  884. data/rakelib/devsite/devsite_builder.rb +126 -0
  885. data/rakelib/devsite/link_checker.rb +64 -0
  886. data/rakelib/devsite/repo_metadata.rb +56 -0
  887. metadata +193 -110
  888. data/generated/google/apis/analytics_v2_4/representations.rb +0 -26
  889. data/generated/google/apis/analytics_v2_4/service.rb +0 -331
  890. data/generated/google/apis/analytics_v2_4.rb +0 -37
  891. data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +0 -358
  892. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +0 -486
  893. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +0 -1081
  894. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +0 -485
  895. data/generated/google/apis/commentanalyzer_v1alpha1/representations.rb +0 -210
  896. data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +0 -124
  897. data/generated/google/apis/commentanalyzer_v1alpha1.rb +0 -39
  898. data/generated/google/apis/fusiontables_v1/classes.rb +0 -977
  899. data/generated/google/apis/fusiontables_v1/representations.rb +0 -449
  900. data/generated/google/apis/fusiontables_v1/service.rb +0 -1307
  901. data/generated/google/apis/fusiontables_v1.rb +0 -37
  902. data/generated/google/apis/fusiontables_v2/classes.rb +0 -1049
  903. data/generated/google/apis/fusiontables_v2/representations.rb +0 -457
  904. data/generated/google/apis/fusiontables_v2/service.rb +0 -1431
  905. data/generated/google/apis/fusiontables_v2.rb +0 -37
  906. data/generated/google/apis/mirror_v1/classes.rb +0 -1072
  907. data/generated/google/apis/mirror_v1/representations.rb +0 -390
  908. data/generated/google/apis/mirror_v1/service.rb +0 -928
  909. data/generated/google/apis/mirror_v1.rb +0 -37
  910. data/generated/google/apis/oauth2_v1/classes.rb +0 -197
  911. data/generated/google/apis/oauth2_v1/service.rb +0 -160
  912. data/generated/google/apis/oauth2_v1.rb +0 -40
  913. data/generated/google/apis/pagespeedonline_v1/classes.rb +0 -542
  914. data/generated/google/apis/pagespeedonline_v1/representations.rb +0 -258
  915. data/generated/google/apis/pagespeedonline_v1/service.rb +0 -116
  916. data/generated/google/apis/pagespeedonline_v2/classes.rb +0 -621
  917. data/generated/google/apis/pagespeedonline_v2/representations.rb +0 -273
  918. data/generated/google/apis/pagespeedonline_v2/service.rb +0 -116
  919. data/generated/google/apis/pagespeedonline_v4/classes.rb +0 -795
  920. data/generated/google/apis/pagespeedonline_v4/representations.rb +0 -335
  921. data/generated/google/apis/pagespeedonline_v4/service.rb +0 -125
  922. data/generated/google/apis/plus_domains_v1/classes.rb +0 -2609
  923. data/generated/google/apis/plus_domains_v1/representations.rb +0 -1111
  924. data/generated/google/apis/plus_domains_v1/service.rb +0 -489
  925. data/generated/google/apis/plus_domains_v1.rb +0 -55
  926. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +0 -845
  927. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +0 -350
  928. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +0 -933
  929. data/generated/google/apis/replicapool_v1beta1/classes.rb +0 -918
  930. data/generated/google/apis/replicapool_v1beta1/representations.rb +0 -409
  931. data/generated/google/apis/replicapool_v1beta1/service.rb +0 -489
  932. data/generated/google/apis/replicapool_v1beta1.rb +0 -50
  933. data/generated/google/apis/servicebroker_v1/classes.rb +0 -333
  934. data/generated/google/apis/servicebroker_v1/service.rb +0 -177
  935. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +0 -1037
  936. data/generated/google/apis/servicebroker_v1alpha1/service.rb +0 -737
  937. data/generated/google/apis/servicebroker_v1beta1/classes.rb +0 -1173
  938. data/generated/google/apis/servicebroker_v1beta1/service.rb +0 -926
  939. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  940. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  941. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
  942. data/generated/google/apis/storage_v1beta1.rb +0 -40
  943. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  944. data/generated/google/apis/surveys_v2.rb +0 -40
  945. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  946. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  947. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
  948. data/generated/google/apis/urlshortener_v1.rb +0 -34
@@ -0,0 +1,2362 @@
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 OsconfigV1beta
24
+
25
+ # Represents a single Apt package repository. This repository is added to
26
+ # a repo file that is stored at
27
+ # `/etc/apt/sources.list.d/google_osconfig.list`.
28
+ class AptRepository
29
+ include Google::Apis::Core::Hashable
30
+
31
+ # Type of archive files in this repository. The default behavior is DEB.
32
+ # Corresponds to the JSON property `archiveType`
33
+ # @return [String]
34
+ attr_accessor :archive_type
35
+
36
+ # Required. List of components for this repository. Must contain at least one
37
+ # item.
38
+ # Corresponds to the JSON property `components`
39
+ # @return [Array<String>]
40
+ attr_accessor :components
41
+
42
+ # Required. Distribution of this repository.
43
+ # Corresponds to the JSON property `distribution`
44
+ # @return [String]
45
+ attr_accessor :distribution
46
+
47
+ # URI of the key file for this repository. The agent maintains
48
+ # a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing
49
+ # all the keys in any applied guest policy.
50
+ # Corresponds to the JSON property `gpgKey`
51
+ # @return [String]
52
+ attr_accessor :gpg_key
53
+
54
+ # Required. URI for this repository.
55
+ # Corresponds to the JSON property `uri`
56
+ # @return [String]
57
+ attr_accessor :uri
58
+
59
+ def initialize(**args)
60
+ update!(**args)
61
+ end
62
+
63
+ # Update properties of this object
64
+ def update!(**args)
65
+ @archive_type = args[:archive_type] if args.key?(:archive_type)
66
+ @components = args[:components] if args.key?(:components)
67
+ @distribution = args[:distribution] if args.key?(:distribution)
68
+ @gpg_key = args[:gpg_key] if args.key?(:gpg_key)
69
+ @uri = args[:uri] if args.key?(:uri)
70
+ end
71
+ end
72
+
73
+ # Apt patching is completed by executing `apt-get update && apt-get
74
+ # upgrade`. Additional options can be set to control how this is executed.
75
+ class AptSettings
76
+ include Google::Apis::Core::Hashable
77
+
78
+ # List of packages to exclude from update. These packages will be excluded
79
+ # Corresponds to the JSON property `excludes`
80
+ # @return [Array<String>]
81
+ attr_accessor :excludes
82
+
83
+ # An exclusive list of packages to be updated. These are the only packages
84
+ # that will be updated. If these packages are not installed, they will be
85
+ # ignored. This field cannot be specified with any other patch configuration
86
+ # fields.
87
+ # Corresponds to the JSON property `exclusivePackages`
88
+ # @return [Array<String>]
89
+ attr_accessor :exclusive_packages
90
+
91
+ # By changing the type to DIST, the patching is performed
92
+ # using `apt-get dist-upgrade` instead.
93
+ # Corresponds to the JSON property `type`
94
+ # @return [String]
95
+ attr_accessor :type
96
+
97
+ def initialize(**args)
98
+ update!(**args)
99
+ end
100
+
101
+ # Update properties of this object
102
+ def update!(**args)
103
+ @excludes = args[:excludes] if args.key?(:excludes)
104
+ @exclusive_packages = args[:exclusive_packages] if args.key?(:exclusive_packages)
105
+ @type = args[:type] if args.key?(:type)
106
+ end
107
+ end
108
+
109
+ # An assignment represents the group or groups of VM instances that the policy
110
+ # applies to.
111
+ # If an assignment is empty, it applies to all VM instances. Otherwise, the
112
+ # targeted VM instances must meet all the criteria specified. So if both
113
+ # labels and zones are specified, the policy applies to VM instances with those
114
+ # labels and in those zones.
115
+ class Assignment
116
+ include Google::Apis::Core::Hashable
117
+
118
+ # Targets instances matching at least one of these label sets. This allows
119
+ # an assignment to target disparate groups, for example "env=prod or
120
+ # env=staging".
121
+ # Corresponds to the JSON property `groupLabels`
122
+ # @return [Array<Google::Apis::OsconfigV1beta::AssignmentGroupLabel>]
123
+ attr_accessor :group_labels
124
+
125
+ # Targets VM instances whose name starts with one of these prefixes.
126
+ # Like labels, this is another way to group VM instances when targeting
127
+ # configs, for example prefix="prod-".
128
+ # Only supported for project-level policies.
129
+ # Corresponds to the JSON property `instanceNamePrefixes`
130
+ # @return [Array<String>]
131
+ attr_accessor :instance_name_prefixes
132
+
133
+ # Targets any of the instances specified. Instances are specified by their
134
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
135
+ # Instance targeting is uncommon and is supported to facilitate the
136
+ # management of changes by the instance or to target specific VM instances
137
+ # for development and testing.
138
+ # Only supported for project-level policies and must reference instances
139
+ # within this project.
140
+ # Corresponds to the JSON property `instances`
141
+ # @return [Array<String>]
142
+ attr_accessor :instances
143
+
144
+ # Targets VM instances matching at least one of the following OS types.
145
+ # VM instances must match all supplied criteria for a given OsType to be
146
+ # included.
147
+ # Corresponds to the JSON property `osTypes`
148
+ # @return [Array<Google::Apis::OsconfigV1beta::AssignmentOsType>]
149
+ attr_accessor :os_types
150
+
151
+ # Targets instances in any of these zones. Leave empty to target instances
152
+ # in any zone.
153
+ # Zonal targeting is uncommon and is supported to facilitate the management
154
+ # of changes by zone.
155
+ # Corresponds to the JSON property `zones`
156
+ # @return [Array<String>]
157
+ attr_accessor :zones
158
+
159
+ def initialize(**args)
160
+ update!(**args)
161
+ end
162
+
163
+ # Update properties of this object
164
+ def update!(**args)
165
+ @group_labels = args[:group_labels] if args.key?(:group_labels)
166
+ @instance_name_prefixes = args[:instance_name_prefixes] if args.key?(:instance_name_prefixes)
167
+ @instances = args[:instances] if args.key?(:instances)
168
+ @os_types = args[:os_types] if args.key?(:os_types)
169
+ @zones = args[:zones] if args.key?(:zones)
170
+ end
171
+ end
172
+
173
+ # Represents a group of VM intances that can be identified as having all
174
+ # these labels, for example "env=prod and app=web".
175
+ class AssignmentGroupLabel
176
+ include Google::Apis::Core::Hashable
177
+
178
+ # Google Compute Engine instance labels that must be present for an
179
+ # instance to be included in this assignment group.
180
+ # Corresponds to the JSON property `labels`
181
+ # @return [Hash<String,String>]
182
+ attr_accessor :labels
183
+
184
+ def initialize(**args)
185
+ update!(**args)
186
+ end
187
+
188
+ # Update properties of this object
189
+ def update!(**args)
190
+ @labels = args[:labels] if args.key?(:labels)
191
+ end
192
+ end
193
+
194
+ # Defines the criteria for selecting VM Instances by OS type.
195
+ class AssignmentOsType
196
+ include Google::Apis::Core::Hashable
197
+
198
+ # Targets VM instances with OS Inventory enabled and having the following
199
+ # OS architecture.
200
+ # Corresponds to the JSON property `osArchitecture`
201
+ # @return [String]
202
+ attr_accessor :os_architecture
203
+
204
+ # Targets VM instances with OS Inventory enabled and having the following
205
+ # OS short name, for example "debian" or "windows".
206
+ # Corresponds to the JSON property `osShortName`
207
+ # @return [String]
208
+ attr_accessor :os_short_name
209
+
210
+ # Targets VM instances with OS Inventory enabled and having the following
211
+ # following OS version.
212
+ # Corresponds to the JSON property `osVersion`
213
+ # @return [String]
214
+ attr_accessor :os_version
215
+
216
+ def initialize(**args)
217
+ update!(**args)
218
+ end
219
+
220
+ # Update properties of this object
221
+ def update!(**args)
222
+ @os_architecture = args[:os_architecture] if args.key?(:os_architecture)
223
+ @os_short_name = args[:os_short_name] if args.key?(:os_short_name)
224
+ @os_version = args[:os_version] if args.key?(:os_version)
225
+ end
226
+ end
227
+
228
+ # Message for canceling a patch job.
229
+ class CancelPatchJobRequest
230
+ include Google::Apis::Core::Hashable
231
+
232
+ def initialize(**args)
233
+ update!(**args)
234
+ end
235
+
236
+ # Update properties of this object
237
+ def update!(**args)
238
+ end
239
+ end
240
+
241
+ # The effective guest policy that applies to a VM instance.
242
+ class EffectiveGuestPolicy
243
+ include Google::Apis::Core::Hashable
244
+
245
+ # List of package repository configurations assigned to the VM instance.
246
+ # Corresponds to the JSON property `packageRepositories`
247
+ # @return [Array<Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedPackageRepository>]
248
+ attr_accessor :package_repositories
249
+
250
+ # List of package configurations assigned to the VM instance.
251
+ # Corresponds to the JSON property `packages`
252
+ # @return [Array<Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedPackage>]
253
+ attr_accessor :packages
254
+
255
+ # List of recipes assigned to the VM instance.
256
+ # Corresponds to the JSON property `softwareRecipes`
257
+ # @return [Array<Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedSoftwareRecipe>]
258
+ attr_accessor :software_recipes
259
+
260
+ def initialize(**args)
261
+ update!(**args)
262
+ end
263
+
264
+ # Update properties of this object
265
+ def update!(**args)
266
+ @package_repositories = args[:package_repositories] if args.key?(:package_repositories)
267
+ @packages = args[:packages] if args.key?(:packages)
268
+ @software_recipes = args[:software_recipes] if args.key?(:software_recipes)
269
+ end
270
+ end
271
+
272
+ # A guest policy package including its source.
273
+ class EffectiveGuestPolicySourcedPackage
274
+ include Google::Apis::Core::Hashable
275
+
276
+ # Package is a reference to the software package to be installed or removed.
277
+ # The agent on the VM instance uses the system package manager to apply the
278
+ # config.
279
+ # These are the commands that the agent uses to install or remove
280
+ # packages.
281
+ # Apt
282
+ # install: `apt-get update && apt-get -y install package1 package2 package3`
283
+ # remove: `apt-get -y remove package1 package2 package3`
284
+ # Yum
285
+ # install: `yum -y install package1 package2 package3`
286
+ # remove: `yum -y remove package1 package2 package3`
287
+ # Zypper
288
+ # install: `zypper install package1 package2 package3`
289
+ # remove: `zypper rm package1 package2`
290
+ # Googet
291
+ # install: `googet -noconfirm install package1 package2 package3`
292
+ # remove: `googet -noconfirm remove package1 package2 package3`
293
+ # Corresponds to the JSON property `package`
294
+ # @return [Google::Apis::OsconfigV1beta::Package]
295
+ attr_accessor :package
296
+
297
+ # Name of the guest policy providing this config.
298
+ # Corresponds to the JSON property `source`
299
+ # @return [String]
300
+ attr_accessor :source
301
+
302
+ def initialize(**args)
303
+ update!(**args)
304
+ end
305
+
306
+ # Update properties of this object
307
+ def update!(**args)
308
+ @package = args[:package] if args.key?(:package)
309
+ @source = args[:source] if args.key?(:source)
310
+ end
311
+ end
312
+
313
+ # A guest policy package repository including its source.
314
+ class EffectiveGuestPolicySourcedPackageRepository
315
+ include Google::Apis::Core::Hashable
316
+
317
+ # A package repository.
318
+ # Corresponds to the JSON property `packageRepository`
319
+ # @return [Google::Apis::OsconfigV1beta::PackageRepository]
320
+ attr_accessor :package_repository
321
+
322
+ # Name of the guest policy providing this config.
323
+ # Corresponds to the JSON property `source`
324
+ # @return [String]
325
+ attr_accessor :source
326
+
327
+ def initialize(**args)
328
+ update!(**args)
329
+ end
330
+
331
+ # Update properties of this object
332
+ def update!(**args)
333
+ @package_repository = args[:package_repository] if args.key?(:package_repository)
334
+ @source = args[:source] if args.key?(:source)
335
+ end
336
+ end
337
+
338
+ # A guest policy recipe including its source.
339
+ class EffectiveGuestPolicySourcedSoftwareRecipe
340
+ include Google::Apis::Core::Hashable
341
+
342
+ # A software recipe is a set of instructions for installing and configuring a
343
+ # piece of software. It consists of a set of artifacts that are
344
+ # downloaded, and a set of steps that install, configure, and/or update the
345
+ # software.
346
+ # Recipes support installing and updating software from artifacts in the
347
+ # following formats:
348
+ # Zip archive, Tar archive, Windows MSI, Debian package, and RPM package.
349
+ # Additionally, recipes support executing a script (either defined in a file or
350
+ # directly in this api) in bash, sh, cmd, and powershell.
351
+ # Updating a software recipe
352
+ # If a recipe is assigned to an instance and there is a recipe with the same
353
+ # name but a lower version already installed and the assigned state
354
+ # of the recipe is `UPDATED`, then the recipe is updated to
355
+ # the new version.
356
+ # Script Working Directories
357
+ # Each script or execution step is run in its own temporary directory which
358
+ # is deleted after completing the step.
359
+ # Corresponds to the JSON property `softwareRecipe`
360
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipe]
361
+ attr_accessor :software_recipe
362
+
363
+ # Name of the guest policy providing this config.
364
+ # Corresponds to the JSON property `source`
365
+ # @return [String]
366
+ attr_accessor :source
367
+
368
+ def initialize(**args)
369
+ update!(**args)
370
+ end
371
+
372
+ # Update properties of this object
373
+ def update!(**args)
374
+ @software_recipe = args[:software_recipe] if args.key?(:software_recipe)
375
+ @source = args[:source] if args.key?(:source)
376
+ end
377
+ end
378
+
379
+ # A generic empty message that you can re-use to avoid defining duplicated
380
+ # empty messages in your APIs. A typical example is to use it as the request
381
+ # or the response type of an API method. For instance:
382
+ # service Foo `
383
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
384
+ # `
385
+ # The JSON representation for `Empty` is empty JSON object ````.
386
+ class Empty
387
+ include Google::Apis::Core::Hashable
388
+
389
+ def initialize(**args)
390
+ update!(**args)
391
+ end
392
+
393
+ # Update properties of this object
394
+ def update!(**args)
395
+ end
396
+ end
397
+
398
+ # A step that runs an executable for a PatchJob.
399
+ class ExecStep
400
+ include Google::Apis::Core::Hashable
401
+
402
+ # Common configurations for an ExecStep.
403
+ # Corresponds to the JSON property `linuxExecStepConfig`
404
+ # @return [Google::Apis::OsconfigV1beta::ExecStepConfig]
405
+ attr_accessor :linux_exec_step_config
406
+
407
+ # Common configurations for an ExecStep.
408
+ # Corresponds to the JSON property `windowsExecStepConfig`
409
+ # @return [Google::Apis::OsconfigV1beta::ExecStepConfig]
410
+ attr_accessor :windows_exec_step_config
411
+
412
+ def initialize(**args)
413
+ update!(**args)
414
+ end
415
+
416
+ # Update properties of this object
417
+ def update!(**args)
418
+ @linux_exec_step_config = args[:linux_exec_step_config] if args.key?(:linux_exec_step_config)
419
+ @windows_exec_step_config = args[:windows_exec_step_config] if args.key?(:windows_exec_step_config)
420
+ end
421
+ end
422
+
423
+ # Common configurations for an ExecStep.
424
+ class ExecStepConfig
425
+ include Google::Apis::Core::Hashable
426
+
427
+ # Defaults to [0]. A list of possible return values that the
428
+ # execution can return to indicate a success.
429
+ # Corresponds to the JSON property `allowedSuccessCodes`
430
+ # @return [Array<Fixnum>]
431
+ attr_accessor :allowed_success_codes
432
+
433
+ # Google Cloud Storage object representation.
434
+ # Corresponds to the JSON property `gcsObject`
435
+ # @return [Google::Apis::OsconfigV1beta::GcsObject]
436
+ attr_accessor :gcs_object
437
+
438
+ # The script interpreter to use to run the script. If no interpreter is
439
+ # specified the script will be executed directly, which will likely
440
+ # only succeed for scripts with [shebang lines]
441
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
442
+ # Corresponds to the JSON property `interpreter`
443
+ # @return [String]
444
+ attr_accessor :interpreter
445
+
446
+ # An absolute path to the executable on the VM.
447
+ # Corresponds to the JSON property `localPath`
448
+ # @return [String]
449
+ attr_accessor :local_path
450
+
451
+ def initialize(**args)
452
+ update!(**args)
453
+ end
454
+
455
+ # Update properties of this object
456
+ def update!(**args)
457
+ @allowed_success_codes = args[:allowed_success_codes] if args.key?(:allowed_success_codes)
458
+ @gcs_object = args[:gcs_object] if args.key?(:gcs_object)
459
+ @interpreter = args[:interpreter] if args.key?(:interpreter)
460
+ @local_path = args[:local_path] if args.key?(:local_path)
461
+ end
462
+ end
463
+
464
+ # A request message to initiate patching across Google Compute Engine
465
+ # instances.
466
+ class ExecutePatchJobRequest
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # Description of the patch job. Length of the description is limited
470
+ # to 1024 characters.
471
+ # Corresponds to the JSON property `description`
472
+ # @return [String]
473
+ attr_accessor :description
474
+
475
+ # Display name for this patch job. This does not have to be unique.
476
+ # Corresponds to the JSON property `displayName`
477
+ # @return [String]
478
+ attr_accessor :display_name
479
+
480
+ # If this patch is a dry-run only, instances are contacted but
481
+ # will do nothing.
482
+ # Corresponds to the JSON property `dryRun`
483
+ # @return [Boolean]
484
+ attr_accessor :dry_run
485
+ alias_method :dry_run?, :dry_run
486
+
487
+ # Duration of the patch job. After the duration ends, the patch job
488
+ # times out.
489
+ # Corresponds to the JSON property `duration`
490
+ # @return [String]
491
+ attr_accessor :duration
492
+
493
+ # A filter to target VM instances for patching. The targeted
494
+ # VMs must meet all criteria specified. So if both labels and zones are
495
+ # specified, the patch job targets only VMs with those labels and in those
496
+ # zones.
497
+ # Corresponds to the JSON property `instanceFilter`
498
+ # @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter]
499
+ attr_accessor :instance_filter
500
+
501
+ # Patch configuration specifications. Contains details on how to apply the
502
+ # patch(es) to a VM instance.
503
+ # Corresponds to the JSON property `patchConfig`
504
+ # @return [Google::Apis::OsconfigV1beta::PatchConfig]
505
+ attr_accessor :patch_config
506
+
507
+ def initialize(**args)
508
+ update!(**args)
509
+ end
510
+
511
+ # Update properties of this object
512
+ def update!(**args)
513
+ @description = args[:description] if args.key?(:description)
514
+ @display_name = args[:display_name] if args.key?(:display_name)
515
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
516
+ @duration = args[:duration] if args.key?(:duration)
517
+ @instance_filter = args[:instance_filter] if args.key?(:instance_filter)
518
+ @patch_config = args[:patch_config] if args.key?(:patch_config)
519
+ end
520
+ end
521
+
522
+ # Google Cloud Storage object representation.
523
+ class GcsObject
524
+ include Google::Apis::Core::Hashable
525
+
526
+ # Required. Bucket of the Google Cloud Storage object.
527
+ # Corresponds to the JSON property `bucket`
528
+ # @return [String]
529
+ attr_accessor :bucket
530
+
531
+ # Required. Generation number of the Google Cloud Storage object. This is used
532
+ # to
533
+ # ensure that the ExecStep specified by this PatchJob does not change.
534
+ # Corresponds to the JSON property `generationNumber`
535
+ # @return [Fixnum]
536
+ attr_accessor :generation_number
537
+
538
+ # Required. Name of the Google Cloud Storage object.
539
+ # Corresponds to the JSON property `object`
540
+ # @return [String]
541
+ attr_accessor :object
542
+
543
+ def initialize(**args)
544
+ update!(**args)
545
+ end
546
+
547
+ # Update properties of this object
548
+ def update!(**args)
549
+ @bucket = args[:bucket] if args.key?(:bucket)
550
+ @generation_number = args[:generation_number] if args.key?(:generation_number)
551
+ @object = args[:object] if args.key?(:object)
552
+ end
553
+ end
554
+
555
+ # Represents a Goo package repository. These is added to a repo file
556
+ # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
557
+ class GooRepository
558
+ include Google::Apis::Core::Hashable
559
+
560
+ # Required. The name of the repository.
561
+ # Corresponds to the JSON property `name`
562
+ # @return [String]
563
+ attr_accessor :name
564
+
565
+ # Required. The url of the repository.
566
+ # Corresponds to the JSON property `url`
567
+ # @return [String]
568
+ attr_accessor :url
569
+
570
+ def initialize(**args)
571
+ update!(**args)
572
+ end
573
+
574
+ # Update properties of this object
575
+ def update!(**args)
576
+ @name = args[:name] if args.key?(:name)
577
+ @url = args[:url] if args.key?(:url)
578
+ end
579
+ end
580
+
581
+ # Googet patching is performed by running `googet update`.
582
+ class GooSettings
583
+ include Google::Apis::Core::Hashable
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ end
592
+ end
593
+
594
+ # An OS Config resource representing a guest configuration policy. These
595
+ # policies represent the desired state for VM instance guest environments
596
+ # including packages to install or remove, package repository configurations,
597
+ # and software to install.
598
+ class GuestPolicy
599
+ include Google::Apis::Core::Hashable
600
+
601
+ # An assignment represents the group or groups of VM instances that the policy
602
+ # applies to.
603
+ # If an assignment is empty, it applies to all VM instances. Otherwise, the
604
+ # targeted VM instances must meet all the criteria specified. So if both
605
+ # labels and zones are specified, the policy applies to VM instances with those
606
+ # labels and in those zones.
607
+ # Corresponds to the JSON property `assignment`
608
+ # @return [Google::Apis::OsconfigV1beta::Assignment]
609
+ attr_accessor :assignment
610
+
611
+ # Output only. Time this guest policy was created.
612
+ # Corresponds to the JSON property `createTime`
613
+ # @return [String]
614
+ attr_accessor :create_time
615
+
616
+ # Description of the guest policy. Length of the description is limited
617
+ # to 1024 characters.
618
+ # Corresponds to the JSON property `description`
619
+ # @return [String]
620
+ attr_accessor :description
621
+
622
+ # The etag for this guest policy.
623
+ # If this is provided on update, it must match the server's etag.
624
+ # Corresponds to the JSON property `etag`
625
+ # @return [String]
626
+ attr_accessor :etag
627
+
628
+ # Required. Unique name of the resource in this project using one of the
629
+ # following
630
+ # forms:
631
+ # `projects/`project_number`/guestPolicies/`guest_policy_id``.
632
+ # Corresponds to the JSON property `name`
633
+ # @return [String]
634
+ attr_accessor :name
635
+
636
+ # A list of package repositories to configure on the VM instance. This is
637
+ # done before any other configs are applied so they can use these repos.
638
+ # Package repositories are only configured if the corresponding package
639
+ # manager(s) are available.
640
+ # Corresponds to the JSON property `packageRepositories`
641
+ # @return [Array<Google::Apis::OsconfigV1beta::PackageRepository>]
642
+ attr_accessor :package_repositories
643
+
644
+ # The software packages to be managed by this policy.
645
+ # Corresponds to the JSON property `packages`
646
+ # @return [Array<Google::Apis::OsconfigV1beta::Package>]
647
+ attr_accessor :packages
648
+
649
+ # A list of Recipes to install on the VM instance.
650
+ # Corresponds to the JSON property `recipes`
651
+ # @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipe>]
652
+ attr_accessor :recipes
653
+
654
+ # Output only. Last time this guest policy was updated.
655
+ # Corresponds to the JSON property `updateTime`
656
+ # @return [String]
657
+ attr_accessor :update_time
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @assignment = args[:assignment] if args.key?(:assignment)
666
+ @create_time = args[:create_time] if args.key?(:create_time)
667
+ @description = args[:description] if args.key?(:description)
668
+ @etag = args[:etag] if args.key?(:etag)
669
+ @name = args[:name] if args.key?(:name)
670
+ @package_repositories = args[:package_repositories] if args.key?(:package_repositories)
671
+ @packages = args[:packages] if args.key?(:packages)
672
+ @recipes = args[:recipes] if args.key?(:recipes)
673
+ @update_time = args[:update_time] if args.key?(:update_time)
674
+ end
675
+ end
676
+
677
+ # A response message for listing guest policies.
678
+ class ListGuestPoliciesResponse
679
+ include Google::Apis::Core::Hashable
680
+
681
+ # The list of GuestPolicies.
682
+ # Corresponds to the JSON property `guestPolicies`
683
+ # @return [Array<Google::Apis::OsconfigV1beta::GuestPolicy>]
684
+ attr_accessor :guest_policies
685
+
686
+ # A pagination token that can be used to get the next page
687
+ # of guest policies.
688
+ # Corresponds to the JSON property `nextPageToken`
689
+ # @return [String]
690
+ attr_accessor :next_page_token
691
+
692
+ def initialize(**args)
693
+ update!(**args)
694
+ end
695
+
696
+ # Update properties of this object
697
+ def update!(**args)
698
+ @guest_policies = args[:guest_policies] if args.key?(:guest_policies)
699
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
700
+ end
701
+ end
702
+
703
+ # A response message for listing patch deployments.
704
+ class ListPatchDeploymentsResponse
705
+ include Google::Apis::Core::Hashable
706
+
707
+ # A pagination token that can be used to get the next page of patch
708
+ # deployments.
709
+ # Corresponds to the JSON property `nextPageToken`
710
+ # @return [String]
711
+ attr_accessor :next_page_token
712
+
713
+ # The list of patch deployments.
714
+ # Corresponds to the JSON property `patchDeployments`
715
+ # @return [Array<Google::Apis::OsconfigV1beta::PatchDeployment>]
716
+ attr_accessor :patch_deployments
717
+
718
+ def initialize(**args)
719
+ update!(**args)
720
+ end
721
+
722
+ # Update properties of this object
723
+ def update!(**args)
724
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
725
+ @patch_deployments = args[:patch_deployments] if args.key?(:patch_deployments)
726
+ end
727
+ end
728
+
729
+ # A response message for listing the instances details for a patch job.
730
+ class ListPatchJobInstanceDetailsResponse
731
+ include Google::Apis::Core::Hashable
732
+
733
+ # A pagination token that can be used to get the next page of results.
734
+ # Corresponds to the JSON property `nextPageToken`
735
+ # @return [String]
736
+ attr_accessor :next_page_token
737
+
738
+ # A list of instance status.
739
+ # Corresponds to the JSON property `patchJobInstanceDetails`
740
+ # @return [Array<Google::Apis::OsconfigV1beta::PatchJobInstanceDetails>]
741
+ attr_accessor :patch_job_instance_details
742
+
743
+ def initialize(**args)
744
+ update!(**args)
745
+ end
746
+
747
+ # Update properties of this object
748
+ def update!(**args)
749
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
750
+ @patch_job_instance_details = args[:patch_job_instance_details] if args.key?(:patch_job_instance_details)
751
+ end
752
+ end
753
+
754
+ # A response message for listing patch jobs.
755
+ class ListPatchJobsResponse
756
+ include Google::Apis::Core::Hashable
757
+
758
+ # A pagination token that can be used to get the next page of results.
759
+ # Corresponds to the JSON property `nextPageToken`
760
+ # @return [String]
761
+ attr_accessor :next_page_token
762
+
763
+ # The list of patch jobs.
764
+ # Corresponds to the JSON property `patchJobs`
765
+ # @return [Array<Google::Apis::OsconfigV1beta::PatchJob>]
766
+ attr_accessor :patch_jobs
767
+
768
+ def initialize(**args)
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
775
+ @patch_jobs = args[:patch_jobs] if args.key?(:patch_jobs)
776
+ end
777
+ end
778
+
779
+ # A request message for getting the effective guest policy assigned to the
780
+ # instance.
781
+ class LookupEffectiveGuestPolicyRequest
782
+ include Google::Apis::Core::Hashable
783
+
784
+ # Architecture of OS running on the instance. The OS Config agent only
785
+ # provides this field for targeting if OS Inventory is enabled for that
786
+ # instance.
787
+ # Corresponds to the JSON property `osArchitecture`
788
+ # @return [String]
789
+ attr_accessor :os_architecture
790
+
791
+ # Short name of the OS running on the instance. The OS Config agent only
792
+ # provides this field for targeting if OS Inventory is enabled for that
793
+ # instance.
794
+ # Corresponds to the JSON property `osShortName`
795
+ # @return [String]
796
+ attr_accessor :os_short_name
797
+
798
+ # Version of the OS running on the instance. The OS Config agent only
799
+ # provides this field for targeting if OS Inventory is enabled for that
800
+ # VM instance.
801
+ # Corresponds to the JSON property `osVersion`
802
+ # @return [String]
803
+ attr_accessor :os_version
804
+
805
+ def initialize(**args)
806
+ update!(**args)
807
+ end
808
+
809
+ # Update properties of this object
810
+ def update!(**args)
811
+ @os_architecture = args[:os_architecture] if args.key?(:os_architecture)
812
+ @os_short_name = args[:os_short_name] if args.key?(:os_short_name)
813
+ @os_version = args[:os_version] if args.key?(:os_version)
814
+ end
815
+ end
816
+
817
+ # Represents a monthly schedule. An example of a valid monthly schedule is
818
+ # "on the third Tuesday of the month" or "on the 15th of the month".
819
+ class MonthlySchedule
820
+ include Google::Apis::Core::Hashable
821
+
822
+ # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
823
+ # indicates the last day of the month.
824
+ # Months without the target day will be skipped. For example, a schedule to
825
+ # run "every month on the 31st" will not run in February, April, June, etc.
826
+ # Corresponds to the JSON property `monthDay`
827
+ # @return [Fixnum]
828
+ attr_accessor :month_day
829
+
830
+ # Represents one week day in a month. An example is "the 4th Sunday".
831
+ # Corresponds to the JSON property `weekDayOfMonth`
832
+ # @return [Google::Apis::OsconfigV1beta::WeekDayOfMonth]
833
+ attr_accessor :week_day_of_month
834
+
835
+ def initialize(**args)
836
+ update!(**args)
837
+ end
838
+
839
+ # Update properties of this object
840
+ def update!(**args)
841
+ @month_day = args[:month_day] if args.key?(:month_day)
842
+ @week_day_of_month = args[:week_day_of_month] if args.key?(:week_day_of_month)
843
+ end
844
+ end
845
+
846
+ # Sets the time for a one time patch deployment. Timestamp is in
847
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
848
+ class OneTimeSchedule
849
+ include Google::Apis::Core::Hashable
850
+
851
+ # Required. The desired patch job execution time.
852
+ # Corresponds to the JSON property `executeTime`
853
+ # @return [String]
854
+ attr_accessor :execute_time
855
+
856
+ def initialize(**args)
857
+ update!(**args)
858
+ end
859
+
860
+ # Update properties of this object
861
+ def update!(**args)
862
+ @execute_time = args[:execute_time] if args.key?(:execute_time)
863
+ end
864
+ end
865
+
866
+ # Package is a reference to the software package to be installed or removed.
867
+ # The agent on the VM instance uses the system package manager to apply the
868
+ # config.
869
+ # These are the commands that the agent uses to install or remove
870
+ # packages.
871
+ # Apt
872
+ # install: `apt-get update && apt-get -y install package1 package2 package3`
873
+ # remove: `apt-get -y remove package1 package2 package3`
874
+ # Yum
875
+ # install: `yum -y install package1 package2 package3`
876
+ # remove: `yum -y remove package1 package2 package3`
877
+ # Zypper
878
+ # install: `zypper install package1 package2 package3`
879
+ # remove: `zypper rm package1 package2`
880
+ # Googet
881
+ # install: `googet -noconfirm install package1 package2 package3`
882
+ # remove: `googet -noconfirm remove package1 package2 package3`
883
+ class Package
884
+ include Google::Apis::Core::Hashable
885
+
886
+ # The desired_state the agent should maintain for this package. The
887
+ # default is to ensure the package is installed.
888
+ # Corresponds to the JSON property `desiredState`
889
+ # @return [String]
890
+ attr_accessor :desired_state
891
+
892
+ # Type of package manager that can be used to install this package.
893
+ # If a system does not have the package manager, the package is not
894
+ # installed or removed no error message is returned. By default,
895
+ # or if you specify `ANY`,
896
+ # the agent attempts to install and remove this package using the default
897
+ # package manager. This is useful when creating a policy that applies to
898
+ # different types of systems.
899
+ # The default behavior is ANY.
900
+ # Corresponds to the JSON property `manager`
901
+ # @return [String]
902
+ attr_accessor :manager
903
+
904
+ # Required. The name of the package. A package is uniquely identified for
905
+ # conflict
906
+ # validation by checking the package name and the manager(s) that the
907
+ # package targets.
908
+ # Corresponds to the JSON property `name`
909
+ # @return [String]
910
+ attr_accessor :name
911
+
912
+ def initialize(**args)
913
+ update!(**args)
914
+ end
915
+
916
+ # Update properties of this object
917
+ def update!(**args)
918
+ @desired_state = args[:desired_state] if args.key?(:desired_state)
919
+ @manager = args[:manager] if args.key?(:manager)
920
+ @name = args[:name] if args.key?(:name)
921
+ end
922
+ end
923
+
924
+ # A package repository.
925
+ class PackageRepository
926
+ include Google::Apis::Core::Hashable
927
+
928
+ # Represents a single Apt package repository. This repository is added to
929
+ # a repo file that is stored at
930
+ # `/etc/apt/sources.list.d/google_osconfig.list`.
931
+ # Corresponds to the JSON property `apt`
932
+ # @return [Google::Apis::OsconfigV1beta::AptRepository]
933
+ attr_accessor :apt
934
+
935
+ # Represents a Goo package repository. These is added to a repo file
936
+ # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
937
+ # Corresponds to the JSON property `goo`
938
+ # @return [Google::Apis::OsconfigV1beta::GooRepository]
939
+ attr_accessor :goo
940
+
941
+ # Represents a single Yum package repository. This repository is added to a
942
+ # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
943
+ # Corresponds to the JSON property `yum`
944
+ # @return [Google::Apis::OsconfigV1beta::YumRepository]
945
+ attr_accessor :yum
946
+
947
+ # Represents a single Zypper package repository. This repository is added to a
948
+ # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
949
+ # Corresponds to the JSON property `zypper`
950
+ # @return [Google::Apis::OsconfigV1beta::ZypperRepository]
951
+ attr_accessor :zypper
952
+
953
+ def initialize(**args)
954
+ update!(**args)
955
+ end
956
+
957
+ # Update properties of this object
958
+ def update!(**args)
959
+ @apt = args[:apt] if args.key?(:apt)
960
+ @goo = args[:goo] if args.key?(:goo)
961
+ @yum = args[:yum] if args.key?(:yum)
962
+ @zypper = args[:zypper] if args.key?(:zypper)
963
+ end
964
+ end
965
+
966
+ # Patch configuration specifications. Contains details on how to apply the
967
+ # patch(es) to a VM instance.
968
+ class PatchConfig
969
+ include Google::Apis::Core::Hashable
970
+
971
+ # Apt patching is completed by executing `apt-get update && apt-get
972
+ # upgrade`. Additional options can be set to control how this is executed.
973
+ # Corresponds to the JSON property `apt`
974
+ # @return [Google::Apis::OsconfigV1beta::AptSettings]
975
+ attr_accessor :apt
976
+
977
+ # Googet patching is performed by running `googet update`.
978
+ # Corresponds to the JSON property `goo`
979
+ # @return [Google::Apis::OsconfigV1beta::GooSettings]
980
+ attr_accessor :goo
981
+
982
+ # A step that runs an executable for a PatchJob.
983
+ # Corresponds to the JSON property `postStep`
984
+ # @return [Google::Apis::OsconfigV1beta::ExecStep]
985
+ attr_accessor :post_step
986
+
987
+ # A step that runs an executable for a PatchJob.
988
+ # Corresponds to the JSON property `preStep`
989
+ # @return [Google::Apis::OsconfigV1beta::ExecStep]
990
+ attr_accessor :pre_step
991
+
992
+ # Post-patch reboot settings.
993
+ # Corresponds to the JSON property `rebootConfig`
994
+ # @return [String]
995
+ attr_accessor :reboot_config
996
+
997
+ # Windows patching is performed using the Windows Update Agent.
998
+ # Corresponds to the JSON property `windowsUpdate`
999
+ # @return [Google::Apis::OsconfigV1beta::WindowsUpdateSettings]
1000
+ attr_accessor :windows_update
1001
+
1002
+ # Yum patching is performed by executing `yum update`. Additional options
1003
+ # can be set to control how this is executed.
1004
+ # Note that not all settings are supported on all platforms.
1005
+ # Corresponds to the JSON property `yum`
1006
+ # @return [Google::Apis::OsconfigV1beta::YumSettings]
1007
+ attr_accessor :yum
1008
+
1009
+ # Zypper patching is performed by running `zypper patch`.
1010
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
1011
+ # Corresponds to the JSON property `zypper`
1012
+ # @return [Google::Apis::OsconfigV1beta::ZypperSettings]
1013
+ attr_accessor :zypper
1014
+
1015
+ def initialize(**args)
1016
+ update!(**args)
1017
+ end
1018
+
1019
+ # Update properties of this object
1020
+ def update!(**args)
1021
+ @apt = args[:apt] if args.key?(:apt)
1022
+ @goo = args[:goo] if args.key?(:goo)
1023
+ @post_step = args[:post_step] if args.key?(:post_step)
1024
+ @pre_step = args[:pre_step] if args.key?(:pre_step)
1025
+ @reboot_config = args[:reboot_config] if args.key?(:reboot_config)
1026
+ @windows_update = args[:windows_update] if args.key?(:windows_update)
1027
+ @yum = args[:yum] if args.key?(:yum)
1028
+ @zypper = args[:zypper] if args.key?(:zypper)
1029
+ end
1030
+ end
1031
+
1032
+ # Patch deployments are configurations that individual patch jobs use to
1033
+ # complete a patch. These configurations include instance filter, package
1034
+ # repository settings, and a schedule. For more information about creating and
1035
+ # managing patch deployments, see [Scheduling patch
1036
+ # jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-
1037
+ # jobs).
1038
+ class PatchDeployment
1039
+ include Google::Apis::Core::Hashable
1040
+
1041
+ # Output only. Time the patch deployment was created. Timestamp is in
1042
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1043
+ # Corresponds to the JSON property `createTime`
1044
+ # @return [String]
1045
+ attr_accessor :create_time
1046
+
1047
+ # Optional. Description of the patch deployment. Length of the description is
1048
+ # limited
1049
+ # to 1024 characters.
1050
+ # Corresponds to the JSON property `description`
1051
+ # @return [String]
1052
+ attr_accessor :description
1053
+
1054
+ # Optional. Duration of the patch. After the duration ends, the patch times out.
1055
+ # Corresponds to the JSON property `duration`
1056
+ # @return [String]
1057
+ attr_accessor :duration
1058
+
1059
+ # A filter to target VM instances for patching. The targeted
1060
+ # VMs must meet all criteria specified. So if both labels and zones are
1061
+ # specified, the patch job targets only VMs with those labels and in those
1062
+ # zones.
1063
+ # Corresponds to the JSON property `instanceFilter`
1064
+ # @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter]
1065
+ attr_accessor :instance_filter
1066
+
1067
+ # Output only. The last time a patch job was started by this deployment.
1068
+ # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
1069
+ # format.
1070
+ # Corresponds to the JSON property `lastExecuteTime`
1071
+ # @return [String]
1072
+ attr_accessor :last_execute_time
1073
+
1074
+ # Unique name for the patch deployment resource in a project. The patch
1075
+ # deployment name is in the form:
1076
+ # `projects/`project_id`/patchDeployments/`patch_deployment_id``.
1077
+ # This field is ignored when you create a new patch deployment.
1078
+ # Corresponds to the JSON property `name`
1079
+ # @return [String]
1080
+ attr_accessor :name
1081
+
1082
+ # Sets the time for a one time patch deployment. Timestamp is in
1083
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1084
+ # Corresponds to the JSON property `oneTimeSchedule`
1085
+ # @return [Google::Apis::OsconfigV1beta::OneTimeSchedule]
1086
+ attr_accessor :one_time_schedule
1087
+
1088
+ # Patch configuration specifications. Contains details on how to apply the
1089
+ # patch(es) to a VM instance.
1090
+ # Corresponds to the JSON property `patchConfig`
1091
+ # @return [Google::Apis::OsconfigV1beta::PatchConfig]
1092
+ attr_accessor :patch_config
1093
+
1094
+ # Sets the time for recurring patch deployments.
1095
+ # Corresponds to the JSON property `recurringSchedule`
1096
+ # @return [Google::Apis::OsconfigV1beta::RecurringSchedule]
1097
+ attr_accessor :recurring_schedule
1098
+
1099
+ # Output only. Time the patch deployment was last updated. Timestamp is in
1100
+ # [RFC3339]("https://www.ietf.org/rfc/rfc3339.txt) text format.
1101
+ # Corresponds to the JSON property `updateTime`
1102
+ # @return [String]
1103
+ attr_accessor :update_time
1104
+
1105
+ def initialize(**args)
1106
+ update!(**args)
1107
+ end
1108
+
1109
+ # Update properties of this object
1110
+ def update!(**args)
1111
+ @create_time = args[:create_time] if args.key?(:create_time)
1112
+ @description = args[:description] if args.key?(:description)
1113
+ @duration = args[:duration] if args.key?(:duration)
1114
+ @instance_filter = args[:instance_filter] if args.key?(:instance_filter)
1115
+ @last_execute_time = args[:last_execute_time] if args.key?(:last_execute_time)
1116
+ @name = args[:name] if args.key?(:name)
1117
+ @one_time_schedule = args[:one_time_schedule] if args.key?(:one_time_schedule)
1118
+ @patch_config = args[:patch_config] if args.key?(:patch_config)
1119
+ @recurring_schedule = args[:recurring_schedule] if args.key?(:recurring_schedule)
1120
+ @update_time = args[:update_time] if args.key?(:update_time)
1121
+ end
1122
+ end
1123
+
1124
+ # A filter to target VM instances for patching. The targeted
1125
+ # VMs must meet all criteria specified. So if both labels and zones are
1126
+ # specified, the patch job targets only VMs with those labels and in those
1127
+ # zones.
1128
+ class PatchInstanceFilter
1129
+ include Google::Apis::Core::Hashable
1130
+
1131
+ # Target all VM instances in the project. If true, no other criteria is
1132
+ # permitted.
1133
+ # Corresponds to the JSON property `all`
1134
+ # @return [Boolean]
1135
+ attr_accessor :all
1136
+ alias_method :all?, :all
1137
+
1138
+ # Targets VM instances matching at least one of these label sets. This allows
1139
+ # targeting of disparate groups, for example "env=prod or env=staging".
1140
+ # Corresponds to the JSON property `groupLabels`
1141
+ # @return [Array<Google::Apis::OsconfigV1beta::PatchInstanceFilterGroupLabel>]
1142
+ attr_accessor :group_labels
1143
+
1144
+ # Targets VMs whose name starts with one of these prefixes. Similar to
1145
+ # labels, this is another way to group VMs when targeting configs, for
1146
+ # example prefix="prod-".
1147
+ # Corresponds to the JSON property `instanceNamePrefixes`
1148
+ # @return [Array<String>]
1149
+ attr_accessor :instance_name_prefixes
1150
+
1151
+ # Targets any of the VM instances specified. Instances are specified by their
1152
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
1153
+ # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
1154
+ # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/
1155
+ # instances/[INSTANCE_NAME]`
1156
+ # Corresponds to the JSON property `instances`
1157
+ # @return [Array<String>]
1158
+ attr_accessor :instances
1159
+
1160
+ # Targets VM instances in ANY of these zones. Leave empty to target VM
1161
+ # instances in any zone.
1162
+ # Corresponds to the JSON property `zones`
1163
+ # @return [Array<String>]
1164
+ attr_accessor :zones
1165
+
1166
+ def initialize(**args)
1167
+ update!(**args)
1168
+ end
1169
+
1170
+ # Update properties of this object
1171
+ def update!(**args)
1172
+ @all = args[:all] if args.key?(:all)
1173
+ @group_labels = args[:group_labels] if args.key?(:group_labels)
1174
+ @instance_name_prefixes = args[:instance_name_prefixes] if args.key?(:instance_name_prefixes)
1175
+ @instances = args[:instances] if args.key?(:instances)
1176
+ @zones = args[:zones] if args.key?(:zones)
1177
+ end
1178
+ end
1179
+
1180
+ # Represents a group of VMs that can be identified as having all these
1181
+ # labels, for example "env=prod and app=web".
1182
+ class PatchInstanceFilterGroupLabel
1183
+ include Google::Apis::Core::Hashable
1184
+
1185
+ # Google Compute Engine instance labels that must be present for a VM
1186
+ # instance to be targeted by this filter.
1187
+ # Corresponds to the JSON property `labels`
1188
+ # @return [Hash<String,String>]
1189
+ attr_accessor :labels
1190
+
1191
+ def initialize(**args)
1192
+ update!(**args)
1193
+ end
1194
+
1195
+ # Update properties of this object
1196
+ def update!(**args)
1197
+ @labels = args[:labels] if args.key?(:labels)
1198
+ end
1199
+ end
1200
+
1201
+ # A high level representation of a patch job that is either in progress
1202
+ # or has completed.
1203
+ # Instances details are not included in the job. To paginate through instance
1204
+ # details, use ListPatchJobInstanceDetails.
1205
+ # For more information about patch jobs, see
1206
+ # [Creating patch
1207
+ # jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-
1208
+ # job).
1209
+ class PatchJob
1210
+ include Google::Apis::Core::Hashable
1211
+
1212
+ # Time this patch job was created.
1213
+ # Corresponds to the JSON property `createTime`
1214
+ # @return [String]
1215
+ attr_accessor :create_time
1216
+
1217
+ # Description of the patch job. Length of the description is limited
1218
+ # to 1024 characters.
1219
+ # Corresponds to the JSON property `description`
1220
+ # @return [String]
1221
+ attr_accessor :description
1222
+
1223
+ # Display name for this patch job. This is not a unique identifier.
1224
+ # Corresponds to the JSON property `displayName`
1225
+ # @return [String]
1226
+ attr_accessor :display_name
1227
+
1228
+ # If this patch job is a dry run, the agent reports that it has
1229
+ # finished without running any updates on the VM instance.
1230
+ # Corresponds to the JSON property `dryRun`
1231
+ # @return [Boolean]
1232
+ attr_accessor :dry_run
1233
+ alias_method :dry_run?, :dry_run
1234
+
1235
+ # Duration of the patch job. After the duration ends, the
1236
+ # patch job times out.
1237
+ # Corresponds to the JSON property `duration`
1238
+ # @return [String]
1239
+ attr_accessor :duration
1240
+
1241
+ # If this patch job failed, this message provides information about the
1242
+ # failure.
1243
+ # Corresponds to the JSON property `errorMessage`
1244
+ # @return [String]
1245
+ attr_accessor :error_message
1246
+
1247
+ # A summary of the current patch state across all instances that this patch
1248
+ # job affects. Contains counts of instances in different states. These states
1249
+ # map to `InstancePatchState`. List patch job instance details to see the
1250
+ # specific states of each instance.
1251
+ # Corresponds to the JSON property `instanceDetailsSummary`
1252
+ # @return [Google::Apis::OsconfigV1beta::PatchJobInstanceDetailsSummary]
1253
+ attr_accessor :instance_details_summary
1254
+
1255
+ # A filter to target VM instances for patching. The targeted
1256
+ # VMs must meet all criteria specified. So if both labels and zones are
1257
+ # specified, the patch job targets only VMs with those labels and in those
1258
+ # zones.
1259
+ # Corresponds to the JSON property `instanceFilter`
1260
+ # @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter]
1261
+ attr_accessor :instance_filter
1262
+
1263
+ # Unique identifier for this patch job in the form
1264
+ # `projects/*/patchJobs/*`
1265
+ # Corresponds to the JSON property `name`
1266
+ # @return [String]
1267
+ attr_accessor :name
1268
+
1269
+ # Patch configuration specifications. Contains details on how to apply the
1270
+ # patch(es) to a VM instance.
1271
+ # Corresponds to the JSON property `patchConfig`
1272
+ # @return [Google::Apis::OsconfigV1beta::PatchConfig]
1273
+ attr_accessor :patch_config
1274
+
1275
+ # Output only. Name of the patch deployment that created this patch job.
1276
+ # Corresponds to the JSON property `patchDeployment`
1277
+ # @return [String]
1278
+ attr_accessor :patch_deployment
1279
+
1280
+ # Reflects the overall progress of the patch job in the range of
1281
+ # 0.0 being no progress to 100.0 being complete.
1282
+ # Corresponds to the JSON property `percentComplete`
1283
+ # @return [Float]
1284
+ attr_accessor :percent_complete
1285
+
1286
+ # The current state of the PatchJob .
1287
+ # Corresponds to the JSON property `state`
1288
+ # @return [String]
1289
+ attr_accessor :state
1290
+
1291
+ # Last time this patch job was updated.
1292
+ # Corresponds to the JSON property `updateTime`
1293
+ # @return [String]
1294
+ attr_accessor :update_time
1295
+
1296
+ def initialize(**args)
1297
+ update!(**args)
1298
+ end
1299
+
1300
+ # Update properties of this object
1301
+ def update!(**args)
1302
+ @create_time = args[:create_time] if args.key?(:create_time)
1303
+ @description = args[:description] if args.key?(:description)
1304
+ @display_name = args[:display_name] if args.key?(:display_name)
1305
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
1306
+ @duration = args[:duration] if args.key?(:duration)
1307
+ @error_message = args[:error_message] if args.key?(:error_message)
1308
+ @instance_details_summary = args[:instance_details_summary] if args.key?(:instance_details_summary)
1309
+ @instance_filter = args[:instance_filter] if args.key?(:instance_filter)
1310
+ @name = args[:name] if args.key?(:name)
1311
+ @patch_config = args[:patch_config] if args.key?(:patch_config)
1312
+ @patch_deployment = args[:patch_deployment] if args.key?(:patch_deployment)
1313
+ @percent_complete = args[:percent_complete] if args.key?(:percent_complete)
1314
+ @state = args[:state] if args.key?(:state)
1315
+ @update_time = args[:update_time] if args.key?(:update_time)
1316
+ end
1317
+ end
1318
+
1319
+ # Patch details for a VM instance. For more information about reviewing VM
1320
+ # instance details, see
1321
+ # [Listing all VM instance details for a specific patch
1322
+ # job](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-
1323
+ # jobs#list-instance-details).
1324
+ class PatchJobInstanceDetails
1325
+ include Google::Apis::Core::Hashable
1326
+
1327
+ # The number of times the agent that the agent attempts to apply the patch.
1328
+ # Corresponds to the JSON property `attemptCount`
1329
+ # @return [Fixnum]
1330
+ attr_accessor :attempt_count
1331
+
1332
+ # If the patch fails, this field provides the reason.
1333
+ # Corresponds to the JSON property `failureReason`
1334
+ # @return [String]
1335
+ attr_accessor :failure_reason
1336
+
1337
+ # The unique identifier for the instance. This identifier is
1338
+ # defined by the server.
1339
+ # Corresponds to the JSON property `instanceSystemId`
1340
+ # @return [String]
1341
+ attr_accessor :instance_system_id
1342
+
1343
+ # The instance name in the form `projects/*/zones/*/instances/*`
1344
+ # Corresponds to the JSON property `name`
1345
+ # @return [String]
1346
+ attr_accessor :name
1347
+
1348
+ # Current state of instance patch.
1349
+ # Corresponds to the JSON property `state`
1350
+ # @return [String]
1351
+ attr_accessor :state
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @attempt_count = args[:attempt_count] if args.key?(:attempt_count)
1360
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
1361
+ @instance_system_id = args[:instance_system_id] if args.key?(:instance_system_id)
1362
+ @name = args[:name] if args.key?(:name)
1363
+ @state = args[:state] if args.key?(:state)
1364
+ end
1365
+ end
1366
+
1367
+ # A summary of the current patch state across all instances that this patch
1368
+ # job affects. Contains counts of instances in different states. These states
1369
+ # map to `InstancePatchState`. List patch job instance details to see the
1370
+ # specific states of each instance.
1371
+ class PatchJobInstanceDetailsSummary
1372
+ include Google::Apis::Core::Hashable
1373
+
1374
+ # Number of instances that have acked and will start shortly.
1375
+ # Corresponds to the JSON property `ackedInstanceCount`
1376
+ # @return [Fixnum]
1377
+ attr_accessor :acked_instance_count
1378
+
1379
+ # Number of instances that are applying patches.
1380
+ # Corresponds to the JSON property `applyingPatchesInstanceCount`
1381
+ # @return [Fixnum]
1382
+ attr_accessor :applying_patches_instance_count
1383
+
1384
+ # Number of instances that are downloading patches.
1385
+ # Corresponds to the JSON property `downloadingPatchesInstanceCount`
1386
+ # @return [Fixnum]
1387
+ attr_accessor :downloading_patches_instance_count
1388
+
1389
+ # Number of instances that failed.
1390
+ # Corresponds to the JSON property `failedInstanceCount`
1391
+ # @return [Fixnum]
1392
+ attr_accessor :failed_instance_count
1393
+
1394
+ # Number of instances that are inactive.
1395
+ # Corresponds to the JSON property `inactiveInstanceCount`
1396
+ # @return [Fixnum]
1397
+ attr_accessor :inactive_instance_count
1398
+
1399
+ # Number of instances that do not appear to be running the agent. Check to
1400
+ # ensure that the agent is installed, running, and able to communicate with
1401
+ # the service.
1402
+ # Corresponds to the JSON property `noAgentDetectedInstanceCount`
1403
+ # @return [Fixnum]
1404
+ attr_accessor :no_agent_detected_instance_count
1405
+
1406
+ # Number of instances notified about patch job.
1407
+ # Corresponds to the JSON property `notifiedInstanceCount`
1408
+ # @return [Fixnum]
1409
+ attr_accessor :notified_instance_count
1410
+
1411
+ # Number of instances pending patch job.
1412
+ # Corresponds to the JSON property `pendingInstanceCount`
1413
+ # @return [Fixnum]
1414
+ attr_accessor :pending_instance_count
1415
+
1416
+ # Number of instances that are running the post-patch step.
1417
+ # Corresponds to the JSON property `postPatchStepInstanceCount`
1418
+ # @return [Fixnum]
1419
+ attr_accessor :post_patch_step_instance_count
1420
+
1421
+ # Number of instances that are running the pre-patch step.
1422
+ # Corresponds to the JSON property `prePatchStepInstanceCount`
1423
+ # @return [Fixnum]
1424
+ attr_accessor :pre_patch_step_instance_count
1425
+
1426
+ # Number of instances rebooting.
1427
+ # Corresponds to the JSON property `rebootingInstanceCount`
1428
+ # @return [Fixnum]
1429
+ attr_accessor :rebooting_instance_count
1430
+
1431
+ # Number of instances that have started.
1432
+ # Corresponds to the JSON property `startedInstanceCount`
1433
+ # @return [Fixnum]
1434
+ attr_accessor :started_instance_count
1435
+
1436
+ # Number of instances that have completed successfully.
1437
+ # Corresponds to the JSON property `succeededInstanceCount`
1438
+ # @return [Fixnum]
1439
+ attr_accessor :succeeded_instance_count
1440
+
1441
+ # Number of instances that require reboot.
1442
+ # Corresponds to the JSON property `succeededRebootRequiredInstanceCount`
1443
+ # @return [Fixnum]
1444
+ attr_accessor :succeeded_reboot_required_instance_count
1445
+
1446
+ # Number of instances that exceeded the time out while applying the patch.
1447
+ # Corresponds to the JSON property `timedOutInstanceCount`
1448
+ # @return [Fixnum]
1449
+ attr_accessor :timed_out_instance_count
1450
+
1451
+ def initialize(**args)
1452
+ update!(**args)
1453
+ end
1454
+
1455
+ # Update properties of this object
1456
+ def update!(**args)
1457
+ @acked_instance_count = args[:acked_instance_count] if args.key?(:acked_instance_count)
1458
+ @applying_patches_instance_count = args[:applying_patches_instance_count] if args.key?(:applying_patches_instance_count)
1459
+ @downloading_patches_instance_count = args[:downloading_patches_instance_count] if args.key?(:downloading_patches_instance_count)
1460
+ @failed_instance_count = args[:failed_instance_count] if args.key?(:failed_instance_count)
1461
+ @inactive_instance_count = args[:inactive_instance_count] if args.key?(:inactive_instance_count)
1462
+ @no_agent_detected_instance_count = args[:no_agent_detected_instance_count] if args.key?(:no_agent_detected_instance_count)
1463
+ @notified_instance_count = args[:notified_instance_count] if args.key?(:notified_instance_count)
1464
+ @pending_instance_count = args[:pending_instance_count] if args.key?(:pending_instance_count)
1465
+ @post_patch_step_instance_count = args[:post_patch_step_instance_count] if args.key?(:post_patch_step_instance_count)
1466
+ @pre_patch_step_instance_count = args[:pre_patch_step_instance_count] if args.key?(:pre_patch_step_instance_count)
1467
+ @rebooting_instance_count = args[:rebooting_instance_count] if args.key?(:rebooting_instance_count)
1468
+ @started_instance_count = args[:started_instance_count] if args.key?(:started_instance_count)
1469
+ @succeeded_instance_count = args[:succeeded_instance_count] if args.key?(:succeeded_instance_count)
1470
+ @succeeded_reboot_required_instance_count = args[:succeeded_reboot_required_instance_count] if args.key?(:succeeded_reboot_required_instance_count)
1471
+ @timed_out_instance_count = args[:timed_out_instance_count] if args.key?(:timed_out_instance_count)
1472
+ end
1473
+ end
1474
+
1475
+ # Sets the time for recurring patch deployments.
1476
+ class RecurringSchedule
1477
+ include Google::Apis::Core::Hashable
1478
+
1479
+ # Optional. The end time at which a recurring patch deployment schedule is no
1480
+ # longer
1481
+ # active.
1482
+ # Corresponds to the JSON property `endTime`
1483
+ # @return [String]
1484
+ attr_accessor :end_time
1485
+
1486
+ # Required. The frequency unit of this recurring schedule.
1487
+ # Corresponds to the JSON property `frequency`
1488
+ # @return [String]
1489
+ attr_accessor :frequency
1490
+
1491
+ # Output only. The time the last patch job ran successfully.
1492
+ # Corresponds to the JSON property `lastExecuteTime`
1493
+ # @return [String]
1494
+ attr_accessor :last_execute_time
1495
+
1496
+ # Represents a monthly schedule. An example of a valid monthly schedule is
1497
+ # "on the third Tuesday of the month" or "on the 15th of the month".
1498
+ # Corresponds to the JSON property `monthly`
1499
+ # @return [Google::Apis::OsconfigV1beta::MonthlySchedule]
1500
+ attr_accessor :monthly
1501
+
1502
+ # Output only. The time the next patch job is scheduled to run.
1503
+ # Corresponds to the JSON property `nextExecuteTime`
1504
+ # @return [String]
1505
+ attr_accessor :next_execute_time
1506
+
1507
+ # Optional. The time that the recurring schedule becomes effective.
1508
+ # Defaults to `create_time` of the patch deployment.
1509
+ # Corresponds to the JSON property `startTime`
1510
+ # @return [String]
1511
+ attr_accessor :start_time
1512
+
1513
+ # Represents a time of day. The date and time zone are either not significant
1514
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
1515
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1516
+ # Corresponds to the JSON property `timeOfDay`
1517
+ # @return [Google::Apis::OsconfigV1beta::TimeOfDay]
1518
+ attr_accessor :time_of_day
1519
+
1520
+ # Represents a time zone from the
1521
+ # [IANA Time Zone Database](https://www.iana.org/time-zones).
1522
+ # Corresponds to the JSON property `timeZone`
1523
+ # @return [Google::Apis::OsconfigV1beta::TimeZone]
1524
+ attr_accessor :time_zone
1525
+
1526
+ # Represents a weekly schedule.
1527
+ # Corresponds to the JSON property `weekly`
1528
+ # @return [Google::Apis::OsconfigV1beta::WeeklySchedule]
1529
+ attr_accessor :weekly
1530
+
1531
+ def initialize(**args)
1532
+ update!(**args)
1533
+ end
1534
+
1535
+ # Update properties of this object
1536
+ def update!(**args)
1537
+ @end_time = args[:end_time] if args.key?(:end_time)
1538
+ @frequency = args[:frequency] if args.key?(:frequency)
1539
+ @last_execute_time = args[:last_execute_time] if args.key?(:last_execute_time)
1540
+ @monthly = args[:monthly] if args.key?(:monthly)
1541
+ @next_execute_time = args[:next_execute_time] if args.key?(:next_execute_time)
1542
+ @start_time = args[:start_time] if args.key?(:start_time)
1543
+ @time_of_day = args[:time_of_day] if args.key?(:time_of_day)
1544
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
1545
+ @weekly = args[:weekly] if args.key?(:weekly)
1546
+ end
1547
+ end
1548
+
1549
+ # A software recipe is a set of instructions for installing and configuring a
1550
+ # piece of software. It consists of a set of artifacts that are
1551
+ # downloaded, and a set of steps that install, configure, and/or update the
1552
+ # software.
1553
+ # Recipes support installing and updating software from artifacts in the
1554
+ # following formats:
1555
+ # Zip archive, Tar archive, Windows MSI, Debian package, and RPM package.
1556
+ # Additionally, recipes support executing a script (either defined in a file or
1557
+ # directly in this api) in bash, sh, cmd, and powershell.
1558
+ # Updating a software recipe
1559
+ # If a recipe is assigned to an instance and there is a recipe with the same
1560
+ # name but a lower version already installed and the assigned state
1561
+ # of the recipe is `UPDATED`, then the recipe is updated to
1562
+ # the new version.
1563
+ # Script Working Directories
1564
+ # Each script or execution step is run in its own temporary directory which
1565
+ # is deleted after completing the step.
1566
+ class SoftwareRecipe
1567
+ include Google::Apis::Core::Hashable
1568
+
1569
+ # Resources available to be used in the steps in the recipe.
1570
+ # Corresponds to the JSON property `artifacts`
1571
+ # @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipeArtifact>]
1572
+ attr_accessor :artifacts
1573
+
1574
+ # Default is INSTALLED. The desired state the agent should maintain for this
1575
+ # recipe.
1576
+ # INSTALLED: The software recipe is installed on the instance but
1577
+ # won't be updated to new versions.
1578
+ # UPDATED: The software recipe is installed on the instance. The recipe is
1579
+ # updated to a higher version, if a higher version of the recipe is
1580
+ # assigned to this instance.
1581
+ # REMOVE: Remove is unsupported for software recipes and attempts to
1582
+ # create or update a recipe to the REMOVE state is rejected.
1583
+ # Corresponds to the JSON property `desiredState`
1584
+ # @return [String]
1585
+ attr_accessor :desired_state
1586
+
1587
+ # Actions to be taken for installing this recipe. On failure it stops
1588
+ # executing steps and does not attempt another installation. Any steps taken
1589
+ # (including partially completed steps) are not rolled back.
1590
+ # Corresponds to the JSON property `installSteps`
1591
+ # @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>]
1592
+ attr_accessor :install_steps
1593
+
1594
+ # Required. Unique identifier for the recipe. Only one recipe with a given name
1595
+ # is
1596
+ # installed on an instance.
1597
+ # Names are also used to identify resources which helps to determine whether
1598
+ # guest policies have conflicts. This means that requests to create multiple
1599
+ # recipes with the same name and version are rejected since they
1600
+ # could potentially have conflicting assignments.
1601
+ # Corresponds to the JSON property `name`
1602
+ # @return [String]
1603
+ attr_accessor :name
1604
+
1605
+ # Actions to be taken for updating this recipe. On failure it stops
1606
+ # executing steps and does not attempt another update for this recipe. Any
1607
+ # steps taken (including partially completed steps) are not rolled back.
1608
+ # Corresponds to the JSON property `updateSteps`
1609
+ # @return [Array<Google::Apis::OsconfigV1beta::SoftwareRecipeStep>]
1610
+ attr_accessor :update_steps
1611
+
1612
+ # The version of this software recipe. Version can be up to 4 period
1613
+ # separated numbers (e.g. 12.34.56.78).
1614
+ # Corresponds to the JSON property `version`
1615
+ # @return [String]
1616
+ attr_accessor :version
1617
+
1618
+ def initialize(**args)
1619
+ update!(**args)
1620
+ end
1621
+
1622
+ # Update properties of this object
1623
+ def update!(**args)
1624
+ @artifacts = args[:artifacts] if args.key?(:artifacts)
1625
+ @desired_state = args[:desired_state] if args.key?(:desired_state)
1626
+ @install_steps = args[:install_steps] if args.key?(:install_steps)
1627
+ @name = args[:name] if args.key?(:name)
1628
+ @update_steps = args[:update_steps] if args.key?(:update_steps)
1629
+ @version = args[:version] if args.key?(:version)
1630
+ end
1631
+ end
1632
+
1633
+ # Specifies a resource to be used in the recipe.
1634
+ class SoftwareRecipeArtifact
1635
+ include Google::Apis::Core::Hashable
1636
+
1637
+ # Defaults to false. When false, recipes are subject to validations
1638
+ # based on the artifact type:
1639
+ # Remote: A checksum must be specified, and only protocols with
1640
+ # transport-layer security are permitted.
1641
+ # GCS: An object generation number must be specified.
1642
+ # Corresponds to the JSON property `allowInsecure`
1643
+ # @return [Boolean]
1644
+ attr_accessor :allow_insecure
1645
+ alias_method :allow_insecure?, :allow_insecure
1646
+
1647
+ # Specifies an artifact available as a Google Cloud Storage object.
1648
+ # Corresponds to the JSON property `gcs`
1649
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactGcs]
1650
+ attr_accessor :gcs
1651
+
1652
+ # Required. Id of the artifact, which the installation and update steps of this
1653
+ # recipe can reference. Artifacts in a recipe cannot have the same id.
1654
+ # Corresponds to the JSON property `id`
1655
+ # @return [String]
1656
+ attr_accessor :id
1657
+
1658
+ # Specifies an artifact available via some URI.
1659
+ # Corresponds to the JSON property `remote`
1660
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactRemote]
1661
+ attr_accessor :remote
1662
+
1663
+ def initialize(**args)
1664
+ update!(**args)
1665
+ end
1666
+
1667
+ # Update properties of this object
1668
+ def update!(**args)
1669
+ @allow_insecure = args[:allow_insecure] if args.key?(:allow_insecure)
1670
+ @gcs = args[:gcs] if args.key?(:gcs)
1671
+ @id = args[:id] if args.key?(:id)
1672
+ @remote = args[:remote] if args.key?(:remote)
1673
+ end
1674
+ end
1675
+
1676
+ # Specifies an artifact available as a Google Cloud Storage object.
1677
+ class SoftwareRecipeArtifactGcs
1678
+ include Google::Apis::Core::Hashable
1679
+
1680
+ # Bucket of the Google Cloud Storage object.
1681
+ # Given an example URL:
1682
+ # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
1683
+ # this value would be `my-bucket`.
1684
+ # Corresponds to the JSON property `bucket`
1685
+ # @return [String]
1686
+ attr_accessor :bucket
1687
+
1688
+ # Must be provided if allow_insecure is false.
1689
+ # Generation number of the Google Cloud Storage object.
1690
+ # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
1691
+ # this value would be `1234567`.
1692
+ # Corresponds to the JSON property `generation`
1693
+ # @return [Fixnum]
1694
+ attr_accessor :generation
1695
+
1696
+ # Name of the Google Cloud Storage object.
1697
+ # As specified [here]
1698
+ # (https://cloud.google.com/storage/docs/naming#objectnames)
1699
+ # Given an example URL:
1700
+ # `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
1701
+ # this value would be `foo/bar`.
1702
+ # Corresponds to the JSON property `object`
1703
+ # @return [String]
1704
+ attr_accessor :object
1705
+
1706
+ def initialize(**args)
1707
+ update!(**args)
1708
+ end
1709
+
1710
+ # Update properties of this object
1711
+ def update!(**args)
1712
+ @bucket = args[:bucket] if args.key?(:bucket)
1713
+ @generation = args[:generation] if args.key?(:generation)
1714
+ @object = args[:object] if args.key?(:object)
1715
+ end
1716
+ end
1717
+
1718
+ # Specifies an artifact available via some URI.
1719
+ class SoftwareRecipeArtifactRemote
1720
+ include Google::Apis::Core::Hashable
1721
+
1722
+ # Must be provided if `allow_insecure` is `false`.
1723
+ # SHA256 checksum in hex format, to compare to the checksum of the
1724
+ # artifact. If the checksum is not empty and it doesn't match the
1725
+ # artifact then the recipe installation fails before running any of the
1726
+ # steps.
1727
+ # Corresponds to the JSON property `checksum`
1728
+ # @return [String]
1729
+ attr_accessor :checksum
1730
+
1731
+ # URI from which to fetch the object. It should contain both the protocol
1732
+ # and path following the format `protocol`://`location`.
1733
+ # Corresponds to the JSON property `uri`
1734
+ # @return [String]
1735
+ attr_accessor :uri
1736
+
1737
+ def initialize(**args)
1738
+ update!(**args)
1739
+ end
1740
+
1741
+ # Update properties of this object
1742
+ def update!(**args)
1743
+ @checksum = args[:checksum] if args.key?(:checksum)
1744
+ @uri = args[:uri] if args.key?(:uri)
1745
+ end
1746
+ end
1747
+
1748
+ # An action that can be taken as part of installing or updating a recipe.
1749
+ class SoftwareRecipeStep
1750
+ include Google::Apis::Core::Hashable
1751
+
1752
+ # Extracts an archive of the type specified in the specified directory.
1753
+ # Corresponds to the JSON property `archiveExtraction`
1754
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepExtractArchive]
1755
+ attr_accessor :archive_extraction
1756
+
1757
+ # Installs a deb via dpkg.
1758
+ # Corresponds to the JSON property `dpkgInstallation`
1759
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallDpkg]
1760
+ attr_accessor :dpkg_installation
1761
+
1762
+ # Copies the artifact to the specified path on the instance.
1763
+ # Corresponds to the JSON property `fileCopy`
1764
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepCopyFile]
1765
+ attr_accessor :file_copy
1766
+
1767
+ # Executes an artifact or local file.
1768
+ # Corresponds to the JSON property `fileExec`
1769
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepExecFile]
1770
+ attr_accessor :file_exec
1771
+
1772
+ # Installs an MSI file.
1773
+ # Corresponds to the JSON property `msiInstallation`
1774
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallMsi]
1775
+ attr_accessor :msi_installation
1776
+
1777
+ # Installs an rpm file via the rpm utility.
1778
+ # Corresponds to the JSON property `rpmInstallation`
1779
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallRpm]
1780
+ attr_accessor :rpm_installation
1781
+
1782
+ # Runs a script through an interpreter.
1783
+ # Corresponds to the JSON property `scriptRun`
1784
+ # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepRunScript]
1785
+ attr_accessor :script_run
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @archive_extraction = args[:archive_extraction] if args.key?(:archive_extraction)
1794
+ @dpkg_installation = args[:dpkg_installation] if args.key?(:dpkg_installation)
1795
+ @file_copy = args[:file_copy] if args.key?(:file_copy)
1796
+ @file_exec = args[:file_exec] if args.key?(:file_exec)
1797
+ @msi_installation = args[:msi_installation] if args.key?(:msi_installation)
1798
+ @rpm_installation = args[:rpm_installation] if args.key?(:rpm_installation)
1799
+ @script_run = args[:script_run] if args.key?(:script_run)
1800
+ end
1801
+ end
1802
+
1803
+ # Copies the artifact to the specified path on the instance.
1804
+ class SoftwareRecipeStepCopyFile
1805
+ include Google::Apis::Core::Hashable
1806
+
1807
+ # Required. The id of the relevant artifact in the recipe.
1808
+ # Corresponds to the JSON property `artifactId`
1809
+ # @return [String]
1810
+ attr_accessor :artifact_id
1811
+
1812
+ # Required. The absolute path on the instance to put the file.
1813
+ # Corresponds to the JSON property `destination`
1814
+ # @return [String]
1815
+ attr_accessor :destination
1816
+
1817
+ # Whether to allow this step to overwrite existing files. If this is
1818
+ # false and the file already exists the file is not overwritten
1819
+ # and the step is considered a success. Defaults to false.
1820
+ # Corresponds to the JSON property `overwrite`
1821
+ # @return [Boolean]
1822
+ attr_accessor :overwrite
1823
+ alias_method :overwrite?, :overwrite
1824
+
1825
+ # Consists of three octal digits which represent, in
1826
+ # order, the permissions of the owner, group, and other users for the
1827
+ # file (similarly to the numeric mode used in the linux chmod utility).
1828
+ # Each digit represents a three bit number with the 4 bit
1829
+ # corresponding to the read permissions, the 2 bit corresponds to the
1830
+ # write bit, and the one bit corresponds to the execute permission.
1831
+ # Default behavior is 755.
1832
+ # Below are some examples of permissions and their associated values:
1833
+ # read, write, and execute: 7
1834
+ # read and execute: 5
1835
+ # read and write: 6
1836
+ # read only: 4
1837
+ # Corresponds to the JSON property `permissions`
1838
+ # @return [String]
1839
+ attr_accessor :permissions
1840
+
1841
+ def initialize(**args)
1842
+ update!(**args)
1843
+ end
1844
+
1845
+ # Update properties of this object
1846
+ def update!(**args)
1847
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
1848
+ @destination = args[:destination] if args.key?(:destination)
1849
+ @overwrite = args[:overwrite] if args.key?(:overwrite)
1850
+ @permissions = args[:permissions] if args.key?(:permissions)
1851
+ end
1852
+ end
1853
+
1854
+ # Executes an artifact or local file.
1855
+ class SoftwareRecipeStepExecFile
1856
+ include Google::Apis::Core::Hashable
1857
+
1858
+ # Defaults to [0]. A list of possible return values that the program
1859
+ # can return to indicate a success.
1860
+ # Corresponds to the JSON property `allowedExitCodes`
1861
+ # @return [Array<Fixnum>]
1862
+ attr_accessor :allowed_exit_codes
1863
+
1864
+ # Arguments to be passed to the provided executable.
1865
+ # Corresponds to the JSON property `args`
1866
+ # @return [Array<String>]
1867
+ attr_accessor :args
1868
+
1869
+ # The id of the relevant artifact in the recipe.
1870
+ # Corresponds to the JSON property `artifactId`
1871
+ # @return [String]
1872
+ attr_accessor :artifact_id
1873
+
1874
+ # The absolute path of the file on the local filesystem.
1875
+ # Corresponds to the JSON property `localPath`
1876
+ # @return [String]
1877
+ attr_accessor :local_path
1878
+
1879
+ def initialize(**args)
1880
+ update!(**args)
1881
+ end
1882
+
1883
+ # Update properties of this object
1884
+ def update!(**args)
1885
+ @allowed_exit_codes = args[:allowed_exit_codes] if args.key?(:allowed_exit_codes)
1886
+ @args = args[:args] if args.key?(:args)
1887
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
1888
+ @local_path = args[:local_path] if args.key?(:local_path)
1889
+ end
1890
+ end
1891
+
1892
+ # Extracts an archive of the type specified in the specified directory.
1893
+ class SoftwareRecipeStepExtractArchive
1894
+ include Google::Apis::Core::Hashable
1895
+
1896
+ # Required. The id of the relevant artifact in the recipe.
1897
+ # Corresponds to the JSON property `artifactId`
1898
+ # @return [String]
1899
+ attr_accessor :artifact_id
1900
+
1901
+ # Directory to extract archive to.
1902
+ # Defaults to `/` on Linux or `C:\` on Windows.
1903
+ # Corresponds to the JSON property `destination`
1904
+ # @return [String]
1905
+ attr_accessor :destination
1906
+
1907
+ # Required. The type of the archive to extract.
1908
+ # Corresponds to the JSON property `type`
1909
+ # @return [String]
1910
+ attr_accessor :type
1911
+
1912
+ def initialize(**args)
1913
+ update!(**args)
1914
+ end
1915
+
1916
+ # Update properties of this object
1917
+ def update!(**args)
1918
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
1919
+ @destination = args[:destination] if args.key?(:destination)
1920
+ @type = args[:type] if args.key?(:type)
1921
+ end
1922
+ end
1923
+
1924
+ # Installs a deb via dpkg.
1925
+ class SoftwareRecipeStepInstallDpkg
1926
+ include Google::Apis::Core::Hashable
1927
+
1928
+ # Required. The id of the relevant artifact in the recipe.
1929
+ # Corresponds to the JSON property `artifactId`
1930
+ # @return [String]
1931
+ attr_accessor :artifact_id
1932
+
1933
+ def initialize(**args)
1934
+ update!(**args)
1935
+ end
1936
+
1937
+ # Update properties of this object
1938
+ def update!(**args)
1939
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
1940
+ end
1941
+ end
1942
+
1943
+ # Installs an MSI file.
1944
+ class SoftwareRecipeStepInstallMsi
1945
+ include Google::Apis::Core::Hashable
1946
+
1947
+ # Return codes that indicate that the software installed or updated
1948
+ # successfully. Behaviour defaults to [0]
1949
+ # Corresponds to the JSON property `allowedExitCodes`
1950
+ # @return [Array<Fixnum>]
1951
+ attr_accessor :allowed_exit_codes
1952
+
1953
+ # Required. The id of the relevant artifact in the recipe.
1954
+ # Corresponds to the JSON property `artifactId`
1955
+ # @return [String]
1956
+ attr_accessor :artifact_id
1957
+
1958
+ # The flags to use when installing the MSI
1959
+ # defaults to ["/i"] (i.e. the install flag).
1960
+ # Corresponds to the JSON property `flags`
1961
+ # @return [Array<String>]
1962
+ attr_accessor :flags
1963
+
1964
+ def initialize(**args)
1965
+ update!(**args)
1966
+ end
1967
+
1968
+ # Update properties of this object
1969
+ def update!(**args)
1970
+ @allowed_exit_codes = args[:allowed_exit_codes] if args.key?(:allowed_exit_codes)
1971
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
1972
+ @flags = args[:flags] if args.key?(:flags)
1973
+ end
1974
+ end
1975
+
1976
+ # Installs an rpm file via the rpm utility.
1977
+ class SoftwareRecipeStepInstallRpm
1978
+ include Google::Apis::Core::Hashable
1979
+
1980
+ # Required. The id of the relevant artifact in the recipe.
1981
+ # Corresponds to the JSON property `artifactId`
1982
+ # @return [String]
1983
+ attr_accessor :artifact_id
1984
+
1985
+ def initialize(**args)
1986
+ update!(**args)
1987
+ end
1988
+
1989
+ # Update properties of this object
1990
+ def update!(**args)
1991
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
1992
+ end
1993
+ end
1994
+
1995
+ # Runs a script through an interpreter.
1996
+ class SoftwareRecipeStepRunScript
1997
+ include Google::Apis::Core::Hashable
1998
+
1999
+ # Return codes that indicate that the software installed or updated
2000
+ # successfully. Behaviour defaults to [0]
2001
+ # Corresponds to the JSON property `allowedExitCodes`
2002
+ # @return [Array<Fixnum>]
2003
+ attr_accessor :allowed_exit_codes
2004
+
2005
+ # The script interpreter to use to run the script. If no interpreter is
2006
+ # specified the script is executed directly, which likely
2007
+ # only succeed for scripts with
2008
+ # [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
2009
+ # Corresponds to the JSON property `interpreter`
2010
+ # @return [String]
2011
+ attr_accessor :interpreter
2012
+
2013
+ # Required. The shell script to be executed.
2014
+ # Corresponds to the JSON property `script`
2015
+ # @return [String]
2016
+ attr_accessor :script
2017
+
2018
+ def initialize(**args)
2019
+ update!(**args)
2020
+ end
2021
+
2022
+ # Update properties of this object
2023
+ def update!(**args)
2024
+ @allowed_exit_codes = args[:allowed_exit_codes] if args.key?(:allowed_exit_codes)
2025
+ @interpreter = args[:interpreter] if args.key?(:interpreter)
2026
+ @script = args[:script] if args.key?(:script)
2027
+ end
2028
+ end
2029
+
2030
+ # Represents a time of day. The date and time zone are either not significant
2031
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
2032
+ # types are google.type.Date and `google.protobuf.Timestamp`.
2033
+ class TimeOfDay
2034
+ include Google::Apis::Core::Hashable
2035
+
2036
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
2037
+ # to allow the value "24:00:00" for scenarios like business closing time.
2038
+ # Corresponds to the JSON property `hours`
2039
+ # @return [Fixnum]
2040
+ attr_accessor :hours
2041
+
2042
+ # Minutes of hour of day. Must be from 0 to 59.
2043
+ # Corresponds to the JSON property `minutes`
2044
+ # @return [Fixnum]
2045
+ attr_accessor :minutes
2046
+
2047
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
2048
+ # Corresponds to the JSON property `nanos`
2049
+ # @return [Fixnum]
2050
+ attr_accessor :nanos
2051
+
2052
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
2053
+ # allow the value 60 if it allows leap-seconds.
2054
+ # Corresponds to the JSON property `seconds`
2055
+ # @return [Fixnum]
2056
+ attr_accessor :seconds
2057
+
2058
+ def initialize(**args)
2059
+ update!(**args)
2060
+ end
2061
+
2062
+ # Update properties of this object
2063
+ def update!(**args)
2064
+ @hours = args[:hours] if args.key?(:hours)
2065
+ @minutes = args[:minutes] if args.key?(:minutes)
2066
+ @nanos = args[:nanos] if args.key?(:nanos)
2067
+ @seconds = args[:seconds] if args.key?(:seconds)
2068
+ end
2069
+ end
2070
+
2071
+ # Represents a time zone from the
2072
+ # [IANA Time Zone Database](https://www.iana.org/time-zones).
2073
+ class TimeZone
2074
+ include Google::Apis::Core::Hashable
2075
+
2076
+ # IANA Time Zone Database time zone, e.g. "America/New_York".
2077
+ # Corresponds to the JSON property `id`
2078
+ # @return [String]
2079
+ attr_accessor :id
2080
+
2081
+ # Optional. IANA Time Zone Database version number, e.g. "2019a".
2082
+ # Corresponds to the JSON property `version`
2083
+ # @return [String]
2084
+ attr_accessor :version
2085
+
2086
+ def initialize(**args)
2087
+ update!(**args)
2088
+ end
2089
+
2090
+ # Update properties of this object
2091
+ def update!(**args)
2092
+ @id = args[:id] if args.key?(:id)
2093
+ @version = args[:version] if args.key?(:version)
2094
+ end
2095
+ end
2096
+
2097
+ # Represents one week day in a month. An example is "the 4th Sunday".
2098
+ class WeekDayOfMonth
2099
+ include Google::Apis::Core::Hashable
2100
+
2101
+ # Required. A day of the week.
2102
+ # Corresponds to the JSON property `dayOfWeek`
2103
+ # @return [String]
2104
+ attr_accessor :day_of_week
2105
+
2106
+ # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the
2107
+ # month. -1
2108
+ # indicates the last week of the month.
2109
+ # Corresponds to the JSON property `weekOrdinal`
2110
+ # @return [Fixnum]
2111
+ attr_accessor :week_ordinal
2112
+
2113
+ def initialize(**args)
2114
+ update!(**args)
2115
+ end
2116
+
2117
+ # Update properties of this object
2118
+ def update!(**args)
2119
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
2120
+ @week_ordinal = args[:week_ordinal] if args.key?(:week_ordinal)
2121
+ end
2122
+ end
2123
+
2124
+ # Represents a weekly schedule.
2125
+ class WeeklySchedule
2126
+ include Google::Apis::Core::Hashable
2127
+
2128
+ # Required. Day of the week.
2129
+ # Corresponds to the JSON property `dayOfWeek`
2130
+ # @return [String]
2131
+ attr_accessor :day_of_week
2132
+
2133
+ def initialize(**args)
2134
+ update!(**args)
2135
+ end
2136
+
2137
+ # Update properties of this object
2138
+ def update!(**args)
2139
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
2140
+ end
2141
+ end
2142
+
2143
+ # Windows patching is performed using the Windows Update Agent.
2144
+ class WindowsUpdateSettings
2145
+ include Google::Apis::Core::Hashable
2146
+
2147
+ # Only apply updates of these windows update classifications. If empty, all
2148
+ # updates are applied.
2149
+ # Corresponds to the JSON property `classifications`
2150
+ # @return [Array<String>]
2151
+ attr_accessor :classifications
2152
+
2153
+ # List of KBs to exclude from update.
2154
+ # Corresponds to the JSON property `excludes`
2155
+ # @return [Array<String>]
2156
+ attr_accessor :excludes
2157
+
2158
+ # An exclusive list of kbs to be updated. These are the only patches
2159
+ # that will be updated. This field must not be used with other
2160
+ # patch configurations.
2161
+ # Corresponds to the JSON property `exclusivePatches`
2162
+ # @return [Array<String>]
2163
+ attr_accessor :exclusive_patches
2164
+
2165
+ def initialize(**args)
2166
+ update!(**args)
2167
+ end
2168
+
2169
+ # Update properties of this object
2170
+ def update!(**args)
2171
+ @classifications = args[:classifications] if args.key?(:classifications)
2172
+ @excludes = args[:excludes] if args.key?(:excludes)
2173
+ @exclusive_patches = args[:exclusive_patches] if args.key?(:exclusive_patches)
2174
+ end
2175
+ end
2176
+
2177
+ # Represents a single Yum package repository. This repository is added to a
2178
+ # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
2179
+ class YumRepository
2180
+ include Google::Apis::Core::Hashable
2181
+
2182
+ # Required. The location of the repository directory.
2183
+ # Corresponds to the JSON property `baseUrl`
2184
+ # @return [String]
2185
+ attr_accessor :base_url
2186
+
2187
+ # The display name of the repository.
2188
+ # Corresponds to the JSON property `displayName`
2189
+ # @return [String]
2190
+ attr_accessor :display_name
2191
+
2192
+ # URIs of GPG keys.
2193
+ # Corresponds to the JSON property `gpgKeys`
2194
+ # @return [Array<String>]
2195
+ attr_accessor :gpg_keys
2196
+
2197
+ # Required. A one word, unique name for this repository. This is
2198
+ # the `repo id` in the Yum config file and also the `display_name` if
2199
+ # `display_name` is omitted. This id is also used as the unique identifier
2200
+ # when checking for guest policy conflicts.
2201
+ # Corresponds to the JSON property `id`
2202
+ # @return [String]
2203
+ attr_accessor :id
2204
+
2205
+ def initialize(**args)
2206
+ update!(**args)
2207
+ end
2208
+
2209
+ # Update properties of this object
2210
+ def update!(**args)
2211
+ @base_url = args[:base_url] if args.key?(:base_url)
2212
+ @display_name = args[:display_name] if args.key?(:display_name)
2213
+ @gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
2214
+ @id = args[:id] if args.key?(:id)
2215
+ end
2216
+ end
2217
+
2218
+ # Yum patching is performed by executing `yum update`. Additional options
2219
+ # can be set to control how this is executed.
2220
+ # Note that not all settings are supported on all platforms.
2221
+ class YumSettings
2222
+ include Google::Apis::Core::Hashable
2223
+
2224
+ # List of packages to exclude from update. These packages are excluded by
2225
+ # using the yum `--exclude` flag.
2226
+ # Corresponds to the JSON property `excludes`
2227
+ # @return [Array<String>]
2228
+ attr_accessor :excludes
2229
+
2230
+ # An exclusive list of packages to be updated. These are the only packages
2231
+ # that will be updated. If these packages are not installed, they will be
2232
+ # ignored. This field must not be specified with any other patch
2233
+ # configuration fields.
2234
+ # Corresponds to the JSON property `exclusivePackages`
2235
+ # @return [Array<String>]
2236
+ attr_accessor :exclusive_packages
2237
+
2238
+ # Will cause patch to run `yum update-minimal` instead.
2239
+ # Corresponds to the JSON property `minimal`
2240
+ # @return [Boolean]
2241
+ attr_accessor :minimal
2242
+ alias_method :minimal?, :minimal
2243
+
2244
+ # Adds the `--security` flag to `yum update`. Not supported on
2245
+ # all platforms.
2246
+ # Corresponds to the JSON property `security`
2247
+ # @return [Boolean]
2248
+ attr_accessor :security
2249
+ alias_method :security?, :security
2250
+
2251
+ def initialize(**args)
2252
+ update!(**args)
2253
+ end
2254
+
2255
+ # Update properties of this object
2256
+ def update!(**args)
2257
+ @excludes = args[:excludes] if args.key?(:excludes)
2258
+ @exclusive_packages = args[:exclusive_packages] if args.key?(:exclusive_packages)
2259
+ @minimal = args[:minimal] if args.key?(:minimal)
2260
+ @security = args[:security] if args.key?(:security)
2261
+ end
2262
+ end
2263
+
2264
+ # Represents a single Zypper package repository. This repository is added to a
2265
+ # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
2266
+ class ZypperRepository
2267
+ include Google::Apis::Core::Hashable
2268
+
2269
+ # Required. The location of the repository directory.
2270
+ # Corresponds to the JSON property `baseUrl`
2271
+ # @return [String]
2272
+ attr_accessor :base_url
2273
+
2274
+ # The display name of the repository.
2275
+ # Corresponds to the JSON property `displayName`
2276
+ # @return [String]
2277
+ attr_accessor :display_name
2278
+
2279
+ # URIs of GPG keys.
2280
+ # Corresponds to the JSON property `gpgKeys`
2281
+ # @return [Array<String>]
2282
+ attr_accessor :gpg_keys
2283
+
2284
+ # Required. A one word, unique name for this repository. This is
2285
+ # the `repo id` in the zypper config file and also the `display_name` if
2286
+ # `display_name` is omitted. This id is also used as the unique identifier
2287
+ # when checking for guest policy conflicts.
2288
+ # Corresponds to the JSON property `id`
2289
+ # @return [String]
2290
+ attr_accessor :id
2291
+
2292
+ def initialize(**args)
2293
+ update!(**args)
2294
+ end
2295
+
2296
+ # Update properties of this object
2297
+ def update!(**args)
2298
+ @base_url = args[:base_url] if args.key?(:base_url)
2299
+ @display_name = args[:display_name] if args.key?(:display_name)
2300
+ @gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
2301
+ @id = args[:id] if args.key?(:id)
2302
+ end
2303
+ end
2304
+
2305
+ # Zypper patching is performed by running `zypper patch`.
2306
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
2307
+ class ZypperSettings
2308
+ include Google::Apis::Core::Hashable
2309
+
2310
+ # Install only patches with these categories.
2311
+ # Common categories include security, recommended, and feature.
2312
+ # Corresponds to the JSON property `categories`
2313
+ # @return [Array<String>]
2314
+ attr_accessor :categories
2315
+
2316
+ # List of patches to exclude from update.
2317
+ # Corresponds to the JSON property `excludes`
2318
+ # @return [Array<String>]
2319
+ attr_accessor :excludes
2320
+
2321
+ # An exclusive list of patches to be updated. These are the only patches
2322
+ # that will be installed using 'zypper patch patch:<patch_name>' command.
2323
+ # This field must not be used with any other patch configuration fields.
2324
+ # Corresponds to the JSON property `exclusivePatches`
2325
+ # @return [Array<String>]
2326
+ attr_accessor :exclusive_patches
2327
+
2328
+ # Install only patches with these severities.
2329
+ # Common severities include critical, important, moderate, and low.
2330
+ # Corresponds to the JSON property `severities`
2331
+ # @return [Array<String>]
2332
+ attr_accessor :severities
2333
+
2334
+ # Adds the `--with-optional` flag to `zypper patch`.
2335
+ # Corresponds to the JSON property `withOptional`
2336
+ # @return [Boolean]
2337
+ attr_accessor :with_optional
2338
+ alias_method :with_optional?, :with_optional
2339
+
2340
+ # Adds the `--with-update` flag, to `zypper patch`.
2341
+ # Corresponds to the JSON property `withUpdate`
2342
+ # @return [Boolean]
2343
+ attr_accessor :with_update
2344
+ alias_method :with_update?, :with_update
2345
+
2346
+ def initialize(**args)
2347
+ update!(**args)
2348
+ end
2349
+
2350
+ # Update properties of this object
2351
+ def update!(**args)
2352
+ @categories = args[:categories] if args.key?(:categories)
2353
+ @excludes = args[:excludes] if args.key?(:excludes)
2354
+ @exclusive_patches = args[:exclusive_patches] if args.key?(:exclusive_patches)
2355
+ @severities = args[:severities] if args.key?(:severities)
2356
+ @with_optional = args[:with_optional] if args.key?(:with_optional)
2357
+ @with_update = args[:with_update] if args.key?(:with_update)
2358
+ end
2359
+ end
2360
+ end
2361
+ end
2362
+ end