google-api-client 0.32.1 → 0.34.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 (292) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +159 -0
  3. data/README.md +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  11. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  12. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  14. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +15 -2
  15. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +16 -3
  17. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  18. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  20. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  22. data/generated/google/apis/admin_directory_v1.rb +4 -1
  23. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  24. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  25. data/generated/google/apis/admin_reports_v1.rb +2 -2
  26. data/generated/google/apis/androidpublisher_v3/classes.rb +12 -0
  27. data/generated/google/apis/androidpublisher_v3/representations.rb +2 -0
  28. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  29. data/generated/google/apis/appengine_v1/service.rb +10 -6
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  32. data/generated/google/apis/appengine_v1beta.rb +1 -1
  33. data/generated/google/apis/bigquery_v2/classes.rb +25 -19
  34. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  35. data/generated/google/apis/bigquery_v2.rb +1 -1
  36. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  37. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  38. data/generated/google/apis/bigtableadmin_v2/classes.rb +62 -29
  39. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  40. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  41. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  42. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  43. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  44. data/generated/google/apis/civicinfo_v2/representations.rb +2 -2
  45. data/generated/google/apis/civicinfo_v2.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  47. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  48. data/generated/google/apis/cloudasset_v1.rb +1 -1
  49. data/generated/google/apis/cloudbilling_v1/classes.rb +65 -36
  50. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  51. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  52. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  53. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/cloudfunctions_v1/service.rb +7 -3
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  58. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  59. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  60. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  61. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  62. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  63. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  64. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  65. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  66. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  68. data/generated/google/apis/cloudkms_v1.rb +1 -1
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -12
  70. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  71. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +4 -8
  72. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  73. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  74. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +4 -8
  75. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  77. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  78. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  79. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  80. data/generated/google/apis/cloudshell_v1/classes.rb +22 -0
  81. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  82. data/generated/google/apis/cloudshell_v1.rb +1 -1
  83. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +22 -0
  84. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  85. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  86. data/generated/google/apis/compute_alpha/classes.rb +519 -152
  87. data/generated/google/apis/compute_alpha/representations.rb +108 -2
  88. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  89. data/generated/google/apis/compute_alpha.rb +1 -1
  90. data/generated/google/apis/compute_beta/classes.rb +1016 -266
  91. data/generated/google/apis/compute_beta/representations.rb +284 -0
  92. data/generated/google/apis/compute_beta/service.rb +1242 -532
  93. data/generated/google/apis/compute_beta.rb +1 -1
  94. data/generated/google/apis/compute_v1/classes.rb +283 -125
  95. data/generated/google/apis/compute_v1/representations.rb +24 -0
  96. data/generated/google/apis/compute_v1/service.rb +759 -473
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/container_v1/classes.rb +207 -5
  99. data/generated/google/apis/container_v1/representations.rb +85 -0
  100. data/generated/google/apis/container_v1.rb +1 -1
  101. data/generated/google/apis/container_v1beta1/classes.rb +125 -3
  102. data/generated/google/apis/container_v1beta1/representations.rb +22 -0
  103. data/generated/google/apis/container_v1beta1.rb +1 -1
  104. data/generated/google/apis/content_v2/classes.rb +23 -220
  105. data/generated/google/apis/content_v2/representations.rb +0 -115
  106. data/generated/google/apis/content_v2/service.rb +0 -160
  107. data/generated/google/apis/content_v2.rb +1 -1
  108. data/generated/google/apis/content_v2_1/classes.rb +57 -18
  109. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  110. data/generated/google/apis/content_v2_1.rb +1 -1
  111. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  112. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  113. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  114. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  115. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  116. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  117. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  118. data/generated/google/apis/datastore_v1/service.rb +85 -1
  119. data/generated/google/apis/datastore_v1.rb +1 -1
  120. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  121. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  122. data/generated/google/apis/dialogflow_v2/classes.rb +25 -7
  123. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  124. data/generated/google/apis/dialogflow_v2.rb +1 -1
  125. data/generated/google/apis/dialogflow_v2beta1/classes.rb +33 -7
  126. data/generated/google/apis/dialogflow_v2beta1/representations.rb +3 -0
  127. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  128. data/generated/google/apis/dlp_v2/classes.rb +19 -11
  129. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  130. data/generated/google/apis/dlp_v2/service.rb +43 -0
  131. data/generated/google/apis/dlp_v2.rb +1 -1
  132. data/generated/google/apis/docs_v1/classes.rb +175 -0
  133. data/generated/google/apis/docs_v1/representations.rb +77 -0
  134. data/generated/google/apis/docs_v1.rb +1 -1
  135. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  136. data/generated/google/apis/drive_v2/classes.rb +2 -1
  137. data/generated/google/apis/drive_v2/service.rb +3 -3
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v3.rb +1 -1
  140. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +37 -0
  141. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +16 -0
  142. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  143. data/generated/google/apis/firestore_v1.rb +1 -1
  144. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  145. data/generated/google/apis/fitness_v1/service.rb +1 -1
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  148. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  149. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  150. data/generated/google/apis/games_management_v1management.rb +1 -1
  151. data/generated/google/apis/games_v1/classes.rb +6 -292
  152. data/generated/google/apis/games_v1/representations.rb +1 -98
  153. data/generated/google/apis/games_v1/service.rb +0 -123
  154. data/generated/google/apis/games_v1.rb +1 -1
  155. data/generated/google/apis/healthcare_v1beta1/classes.rb +205 -9
  156. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  157. data/generated/google/apis/healthcare_v1beta1/service.rb +198 -104
  158. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  159. data/generated/google/apis/iam_v1/classes.rb +9 -2
  160. data/generated/google/apis/iam_v1/representations.rb +1 -0
  161. data/generated/google/apis/iam_v1.rb +1 -1
  162. data/generated/google/apis/iap_v1/classes.rb +187 -2
  163. data/generated/google/apis/iap_v1/representations.rb +102 -0
  164. data/generated/google/apis/iap_v1/service.rb +72 -0
  165. data/generated/google/apis/iap_v1.rb +1 -1
  166. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  167. data/generated/google/apis/iap_v1beta1.rb +1 -1
  168. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  169. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  170. data/generated/google/apis/jobs_v2.rb +1 -1
  171. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  172. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  173. data/generated/google/apis/jobs_v3.rb +1 -1
  174. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  175. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  176. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  178. data/generated/google/apis/licensing_v1/service.rb +81 -37
  179. data/generated/google/apis/licensing_v1.rb +4 -4
  180. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  181. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  182. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  183. data/generated/google/apis/{urlshortener_v1.rb → lifesciences_v2beta.rb} +12 -11
  184. data/generated/google/apis/logging_v2/classes.rb +12 -0
  185. data/generated/google/apis/logging_v2/representations.rb +2 -0
  186. data/generated/google/apis/logging_v2/service.rb +10 -5
  187. data/generated/google/apis/logging_v2.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +66 -23
  189. data/generated/google/apis/ml_v1/representations.rb +1 -0
  190. data/generated/google/apis/ml_v1/service.rb +7 -3
  191. data/generated/google/apis/ml_v1.rb +2 -2
  192. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  193. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  194. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  195. data/generated/google/apis/monitoring_v1.rb +36 -0
  196. data/generated/google/apis/monitoring_v3/classes.rb +27 -13
  197. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  198. data/generated/google/apis/monitoring_v3/service.rb +2 -2
  199. data/generated/google/apis/monitoring_v3.rb +1 -1
  200. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  201. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  202. data/generated/google/apis/oslogin_v1.rb +1 -1
  203. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  204. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  205. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  206. data/generated/google/apis/people_v1/classes.rb +67 -63
  207. data/generated/google/apis/people_v1/service.rb +53 -44
  208. data/generated/google/apis/people_v1.rb +1 -1
  209. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +5 -4
  210. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  211. data/generated/google/apis/pubsub_v1/service.rb +3 -0
  212. data/generated/google/apis/pubsub_v1.rb +1 -1
  213. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  214. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  215. data/generated/google/apis/remotebuildexecution_v1/classes.rb +24 -0
  216. data/generated/google/apis/remotebuildexecution_v1/representations.rb +4 -0
  217. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  218. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +24 -0
  219. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +4 -0
  220. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  221. data/generated/google/apis/remotebuildexecution_v2/classes.rb +24 -0
  222. data/generated/google/apis/remotebuildexecution_v2/representations.rb +4 -0
  223. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  224. data/generated/google/apis/reseller_v1/service.rb +1 -1
  225. data/generated/google/apis/reseller_v1.rb +1 -1
  226. data/generated/google/apis/run_v1/classes.rb +0 -7
  227. data/generated/google/apis/run_v1/service.rb +156 -94
  228. data/generated/google/apis/run_v1.rb +1 -1
  229. data/generated/google/apis/run_v1alpha1/classes.rb +319 -0
  230. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  231. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  232. data/generated/google/apis/run_v1alpha1.rb +1 -1
  233. data/generated/google/apis/securitycenter_v1/classes.rb +2 -2
  234. data/generated/google/apis/securitycenter_v1.rb +1 -1
  235. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -2
  236. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  237. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +63 -0
  238. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  239. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  240. data/generated/google/apis/servicecontrol_v1/classes.rb +0 -11
  241. data/generated/google/apis/servicecontrol_v1/representations.rb +0 -1
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicemanagement_v1/classes.rb +33 -7
  244. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  245. data/generated/google/apis/servicemanagement_v1/service.rb +31 -17
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/serviceusage_v1/classes.rb +55 -0
  248. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  249. data/generated/google/apis/serviceusage_v1.rb +1 -1
  250. data/generated/google/apis/serviceusage_v1beta1/classes.rb +55 -0
  251. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  252. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  253. data/generated/google/apis/sheets_v4/classes.rb +389 -0
  254. data/generated/google/apis/sheets_v4/representations.rb +79 -0
  255. data/generated/google/apis/sheets_v4.rb +1 -1
  256. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  257. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  258. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  259. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  260. data/generated/google/apis/sql_v1beta4/classes.rb +2752 -0
  261. data/generated/google/apis/sql_v1beta4/representations.rb +1131 -0
  262. data/generated/google/apis/sql_v1beta4/service.rb +1791 -0
  263. data/generated/google/apis/sql_v1beta4.rb +37 -0
  264. data/generated/google/apis/storage_v1.rb +1 -1
  265. data/generated/google/apis/testing_v1/classes.rb +142 -1
  266. data/generated/google/apis/testing_v1/representations.rb +76 -0
  267. data/generated/google/apis/testing_v1.rb +1 -1
  268. data/generated/google/apis/videointelligence_v1/classes.rb +35 -36
  269. data/generated/google/apis/videointelligence_v1.rb +1 -1
  270. data/generated/google/apis/videointelligence_v1beta2/classes.rb +35 -36
  271. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  272. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +35 -36
  273. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +35 -36
  275. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  276. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +35 -36
  277. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  278. data/generated/google/apis/vision_v1.rb +1 -1
  279. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  280. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  281. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  282. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  283. data/google-api-client.gemspec +6 -3
  284. data/lib/google/apis/version.rb +1 -1
  285. metadata +28 -30
  286. data/generated/google/apis/dfareporting_v3_2/classes.rb +0 -12299
  287. data/generated/google/apis/dfareporting_v3_2/representations.rb +0 -4397
  288. data/generated/google/apis/dfareporting_v3_2/service.rb +0 -8793
  289. data/generated/google/apis/dfareporting_v3_2.rb +0 -40
  290. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  291. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  292. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -0,0 +1,1329 @@
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 LifesciencesV2beta
24
+
25
+ # Carries information about an accelerator that can be attached to a VM.
26
+ class Accelerator
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # How many accelerators of this type to attach.
30
+ # Corresponds to the JSON property `count`
31
+ # @return [Fixnum]
32
+ attr_accessor :count
33
+
34
+ # The accelerator type string (for example, "nvidia-tesla-k80").
35
+ # Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
36
+ # attached, the required runtime libraries will be made available to all
37
+ # containers under `/usr/local/nvidia`. The driver version to install must
38
+ # be specified using the NVIDIA driver version parameter on the virtual
39
+ # machine specification. Note that attaching a GPU increases the worker VM
40
+ # startup time by a few minutes.
41
+ # Corresponds to the JSON property `type`
42
+ # @return [String]
43
+ attr_accessor :type
44
+
45
+ def initialize(**args)
46
+ update!(**args)
47
+ end
48
+
49
+ # Update properties of this object
50
+ def update!(**args)
51
+ @count = args[:count] if args.key?(:count)
52
+ @type = args[:type] if args.key?(:type)
53
+ end
54
+ end
55
+
56
+ # Specifies a single action that runs a Docker container.
57
+ class Action
58
+ include Google::Apis::Core::Hashable
59
+
60
+ # By default, after an action fails, no further actions are run. This flag
61
+ # indicates that this action must be run even if the pipeline has already
62
+ # failed. This is useful for actions that copy output files off of the VM
63
+ # or for debugging. Note that no actions will be run if image prefetching
64
+ # fails.
65
+ # Corresponds to the JSON property `alwaysRun`
66
+ # @return [Boolean]
67
+ attr_accessor :always_run
68
+ alias_method :always_run?, :always_run
69
+
70
+ # If specified, overrides the `CMD` specified in the container. If the
71
+ # container also has an `ENTRYPOINT` the values are used as entrypoint
72
+ # arguments. Otherwise, they are used as a command and arguments to run
73
+ # inside the container.
74
+ # Corresponds to the JSON property `commands`
75
+ # @return [Array<String>]
76
+ attr_accessor :commands
77
+
78
+ # An optional name for the container. The container hostname will be set to
79
+ # this name, making it useful for inter-container communication. The name
80
+ # must contain only upper and lowercase alphanumeric characters and hyphens
81
+ # and cannot start with a hyphen.
82
+ # Corresponds to the JSON property `containerName`
83
+ # @return [String]
84
+ attr_accessor :container_name
85
+
86
+ # Holds encrypted information that is only decrypted and stored in RAM
87
+ # by the worker VM when running the pipeline.
88
+ # Corresponds to the JSON property `credentials`
89
+ # @return [Google::Apis::LifesciencesV2beta::Secret]
90
+ attr_accessor :credentials
91
+
92
+ # All container images are typically downloaded before any actions are
93
+ # executed. This helps prevent typos in URIs or issues like lack of disk
94
+ # space from wasting large amounts of compute resources.
95
+ # If set, this flag prevents the worker from downloading the image until
96
+ # just before the action is executed.
97
+ # Corresponds to the JSON property `disableImagePrefetch`
98
+ # @return [Boolean]
99
+ attr_accessor :disable_image_prefetch
100
+ alias_method :disable_image_prefetch?, :disable_image_prefetch
101
+
102
+ # A small portion of the container's standard error stream is typically
103
+ # captured and returned inside the `ContainerStoppedEvent`. Setting this
104
+ # flag disables this functionality.
105
+ # Corresponds to the JSON property `disableStandardErrorCapture`
106
+ # @return [Boolean]
107
+ attr_accessor :disable_standard_error_capture
108
+ alias_method :disable_standard_error_capture?, :disable_standard_error_capture
109
+
110
+ # Enable access to the FUSE device for this action. Filesystems can then
111
+ # be mounted into disks shared with other actions. The other actions do
112
+ # not need the `enable_fuse` flag to access the mounted filesystem.
113
+ # This has the effect of causing the container to be executed with
114
+ # `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only
115
+ # for containers you trust.
116
+ # Corresponds to the JSON property `enableFuse`
117
+ # @return [Boolean]
118
+ attr_accessor :enable_fuse
119
+ alias_method :enable_fuse?, :enable_fuse
120
+
121
+ # If specified, overrides the `ENTRYPOINT` specified in the container.
122
+ # Corresponds to the JSON property `entrypoint`
123
+ # @return [String]
124
+ attr_accessor :entrypoint
125
+
126
+ # The environment to pass into the container. This environment is merged
127
+ # with values specified in the google.cloud.lifesciences.v2beta.Pipeline
128
+ # message, overwriting any duplicate values.
129
+ # In addition to the values passed here, a few other values are
130
+ # automatically injected into the environment. These cannot be hidden or
131
+ # overwritten.
132
+ # `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline failed
133
+ # because an action has exited with a non-zero status (and did not have the
134
+ # `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional
135
+ # debug or logging actions should execute.
136
+ # `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
137
+ # non-background action that executed. This can be used by workflow engine
138
+ # authors to determine whether an individual action has succeeded or failed.
139
+ # Corresponds to the JSON property `environment`
140
+ # @return [Hash<String,String>]
141
+ attr_accessor :environment
142
+
143
+ # Normally, a non-zero exit status causes the pipeline to fail. This flag
144
+ # allows execution of other actions to continue instead.
145
+ # Corresponds to the JSON property `ignoreExitStatus`
146
+ # @return [Boolean]
147
+ attr_accessor :ignore_exit_status
148
+ alias_method :ignore_exit_status?, :ignore_exit_status
149
+
150
+ # Required. The URI to pull the container image from. Note that all images
151
+ # referenced
152
+ # by actions in the pipeline are pulled before the first action runs. If
153
+ # multiple actions reference the same image, it is only pulled once,
154
+ # ensuring that the same image is used for all actions in a single pipeline.
155
+ # The image URI can be either a complete host and image specification (e.g.,
156
+ # quay.io/biocontainers/samtools), a library and image name (e.g.,
157
+ # google/cloud-sdk) or a bare image name ('bash') to pull from the default
158
+ # library. No schema is required in any of these cases.
159
+ # If the specified image is not public, the service account specified for
160
+ # the Virtual Machine must have access to pull the images from GCR, or
161
+ # appropriate credentials must be specified in the
162
+ # google.cloud.lifesciences.v2beta.Action.credentials field.
163
+ # Corresponds to the JSON property `imageUri`
164
+ # @return [String]
165
+ attr_accessor :image_uri
166
+
167
+ # Labels to associate with the action. This field is provided to assist
168
+ # workflow engine authors in identifying actions (for example, to indicate
169
+ # what sort of action they perform, such as localization or debugging).
170
+ # They are returned in the operation metadata, but are otherwise ignored.
171
+ # Corresponds to the JSON property `labels`
172
+ # @return [Hash<String,String>]
173
+ attr_accessor :labels
174
+
175
+ # A list of mounts to make available to the action.
176
+ # In addition to the values specified here, every action has a special
177
+ # virtual disk mounted under `/google` that contains log files and other
178
+ # operational components.
179
+ # <ul>
180
+ # <li><code>/google/logs</code> All logs written during the pipeline
181
+ # execution.</li>
182
+ # <li><code>/google/logs/output</code> The combined standard output and
183
+ # standard error of all actions run as part of the pipeline
184
+ # execution.</li>
185
+ # <li><code>/google/logs/action/*/stdout</code> The complete contents of
186
+ # each individual action's standard output.</li>
187
+ # <li><code>/google/logs/action/*/stderr</code> The complete contents of
188
+ # each individual action's standard error output.</li>
189
+ # </ul>
190
+ # Corresponds to the JSON property `mounts`
191
+ # @return [Array<Google::Apis::LifesciencesV2beta::Mount>]
192
+ attr_accessor :mounts
193
+
194
+ # An optional identifier for a PID namespace to run the action inside.
195
+ # Multiple actions should use the same string to share a namespace. If
196
+ # unspecified, a separate isolated namespace is used.
197
+ # Corresponds to the JSON property `pidNamespace`
198
+ # @return [String]
199
+ attr_accessor :pid_namespace
200
+
201
+ # A map of containers to host port mappings for this container. If the
202
+ # container already specifies exposed ports, use the
203
+ # `PUBLISH_EXPOSED_PORTS` flag instead.
204
+ # The host port number must be less than 65536. If it is zero, an unused
205
+ # random port is assigned. To determine the resulting port number, consult
206
+ # the `ContainerStartedEvent` in the operation metadata.
207
+ # Corresponds to the JSON property `portMappings`
208
+ # @return [Hash<String,Fixnum>]
209
+ attr_accessor :port_mappings
210
+
211
+ # Exposes all ports specified by `EXPOSE` statements in the container. To
212
+ # discover the host side port numbers, consult the `ACTION_STARTED` event
213
+ # in the operation metadata.
214
+ # Corresponds to the JSON property `publishExposedPorts`
215
+ # @return [Boolean]
216
+ attr_accessor :publish_exposed_ports
217
+ alias_method :publish_exposed_ports?, :publish_exposed_ports
218
+
219
+ # This flag allows an action to continue running in the background while
220
+ # executing subsequent actions. This is useful to provide services to
221
+ # other actions (or to provide debugging support tools like SSH servers).
222
+ # Corresponds to the JSON property `runInBackground`
223
+ # @return [Boolean]
224
+ attr_accessor :run_in_background
225
+ alias_method :run_in_background?, :run_in_background
226
+
227
+ # The maximum amount of time to give the action to complete. If the action
228
+ # fails to complete before the timeout, it will be terminated and the exit
229
+ # status will be non-zero. The pipeline will continue or terminate based
230
+ # on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
231
+ # Corresponds to the JSON property `timeout`
232
+ # @return [String]
233
+ attr_accessor :timeout
234
+
235
+ def initialize(**args)
236
+ update!(**args)
237
+ end
238
+
239
+ # Update properties of this object
240
+ def update!(**args)
241
+ @always_run = args[:always_run] if args.key?(:always_run)
242
+ @commands = args[:commands] if args.key?(:commands)
243
+ @container_name = args[:container_name] if args.key?(:container_name)
244
+ @credentials = args[:credentials] if args.key?(:credentials)
245
+ @disable_image_prefetch = args[:disable_image_prefetch] if args.key?(:disable_image_prefetch)
246
+ @disable_standard_error_capture = args[:disable_standard_error_capture] if args.key?(:disable_standard_error_capture)
247
+ @enable_fuse = args[:enable_fuse] if args.key?(:enable_fuse)
248
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
249
+ @environment = args[:environment] if args.key?(:environment)
250
+ @ignore_exit_status = args[:ignore_exit_status] if args.key?(:ignore_exit_status)
251
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
252
+ @labels = args[:labels] if args.key?(:labels)
253
+ @mounts = args[:mounts] if args.key?(:mounts)
254
+ @pid_namespace = args[:pid_namespace] if args.key?(:pid_namespace)
255
+ @port_mappings = args[:port_mappings] if args.key?(:port_mappings)
256
+ @publish_exposed_ports = args[:publish_exposed_ports] if args.key?(:publish_exposed_ports)
257
+ @run_in_background = args[:run_in_background] if args.key?(:run_in_background)
258
+ @timeout = args[:timeout] if args.key?(:timeout)
259
+ end
260
+ end
261
+
262
+ # The request message for Operations.CancelOperation.
263
+ class CancelOperationRequest
264
+ include Google::Apis::Core::Hashable
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ end
273
+ end
274
+
275
+ # An event generated when a container is forcibly terminated by the
276
+ # worker. Currently, this only occurs when the container outlives the
277
+ # timeout specified by the user.
278
+ class ContainerKilledEvent
279
+ include Google::Apis::Core::Hashable
280
+
281
+ # The numeric ID of the action that started the container.
282
+ # Corresponds to the JSON property `actionId`
283
+ # @return [Fixnum]
284
+ attr_accessor :action_id
285
+
286
+ def initialize(**args)
287
+ update!(**args)
288
+ end
289
+
290
+ # Update properties of this object
291
+ def update!(**args)
292
+ @action_id = args[:action_id] if args.key?(:action_id)
293
+ end
294
+ end
295
+
296
+ # An event generated when a container starts.
297
+ class ContainerStartedEvent
298
+ include Google::Apis::Core::Hashable
299
+
300
+ # The numeric ID of the action that started this container.
301
+ # Corresponds to the JSON property `actionId`
302
+ # @return [Fixnum]
303
+ attr_accessor :action_id
304
+
305
+ # The public IP address that can be used to connect to the container. This
306
+ # field is only populated when at least one port mapping is present. If the
307
+ # instance was created with a private address, this field will be empty even
308
+ # if port mappings exist.
309
+ # Corresponds to the JSON property `ipAddress`
310
+ # @return [String]
311
+ attr_accessor :ip_address
312
+
313
+ # The container-to-host port mappings installed for this container. This
314
+ # set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag
315
+ # as well as any specified in the `Action` definition.
316
+ # Corresponds to the JSON property `portMappings`
317
+ # @return [Hash<String,Fixnum>]
318
+ attr_accessor :port_mappings
319
+
320
+ def initialize(**args)
321
+ update!(**args)
322
+ end
323
+
324
+ # Update properties of this object
325
+ def update!(**args)
326
+ @action_id = args[:action_id] if args.key?(:action_id)
327
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
328
+ @port_mappings = args[:port_mappings] if args.key?(:port_mappings)
329
+ end
330
+ end
331
+
332
+ # An event generated when a container exits.
333
+ class ContainerStoppedEvent
334
+ include Google::Apis::Core::Hashable
335
+
336
+ # The numeric ID of the action that started this container.
337
+ # Corresponds to the JSON property `actionId`
338
+ # @return [Fixnum]
339
+ attr_accessor :action_id
340
+
341
+ # The exit status of the container.
342
+ # Corresponds to the JSON property `exitStatus`
343
+ # @return [Fixnum]
344
+ attr_accessor :exit_status
345
+
346
+ # The tail end of any content written to standard error by the container.
347
+ # If the content emits large amounts of debugging noise or contains
348
+ # sensitive information, you can prevent the content from being printed by
349
+ # setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag.
350
+ # Note that only a small amount of the end of the stream is captured here.
351
+ # The entire stream is stored in the `/google/logs` directory mounted into
352
+ # each action, and can be copied off the machine as described elsewhere.
353
+ # Corresponds to the JSON property `stderr`
354
+ # @return [String]
355
+ attr_accessor :stderr
356
+
357
+ def initialize(**args)
358
+ update!(**args)
359
+ end
360
+
361
+ # Update properties of this object
362
+ def update!(**args)
363
+ @action_id = args[:action_id] if args.key?(:action_id)
364
+ @exit_status = args[:exit_status] if args.key?(:exit_status)
365
+ @stderr = args[:stderr] if args.key?(:stderr)
366
+ end
367
+ end
368
+
369
+ # An event generated whenever a resource limitation or transient error
370
+ # delays execution of a pipeline that was otherwise ready to run.
371
+ class DelayedEvent
372
+ include Google::Apis::Core::Hashable
373
+
374
+ # A textual description of the cause of the delay. The string can change
375
+ # without notice because it is often generated by another service (such as
376
+ # Compute Engine).
377
+ # Corresponds to the JSON property `cause`
378
+ # @return [String]
379
+ attr_accessor :cause
380
+
381
+ # If the delay was caused by a resource shortage, this field lists the
382
+ # Compute Engine metrics that are preventing this operation from running
383
+ # (for example, `CPUS` or `INSTANCES`). If the particular metric is not
384
+ # known, a single `UNKNOWN` metric will be present.
385
+ # Corresponds to the JSON property `metrics`
386
+ # @return [Array<String>]
387
+ attr_accessor :metrics
388
+
389
+ def initialize(**args)
390
+ update!(**args)
391
+ end
392
+
393
+ # Update properties of this object
394
+ def update!(**args)
395
+ @cause = args[:cause] if args.key?(:cause)
396
+ @metrics = args[:metrics] if args.key?(:metrics)
397
+ end
398
+ end
399
+
400
+ # Carries information about a disk that can be attached to a VM.
401
+ # See https://cloud.google.com/compute/docs/disks/performance for more
402
+ # information about disk type, size, and performance considerations.
403
+ class Disk
404
+ include Google::Apis::Core::Hashable
405
+
406
+ # A user-supplied name for the disk. Used when mounting the disk into
407
+ # actions. The name must contain only upper and lowercase alphanumeric
408
+ # characters and hyphens and cannot start with a hyphen.
409
+ # Corresponds to the JSON property `name`
410
+ # @return [String]
411
+ attr_accessor :name
412
+
413
+ # The size, in GB, of the disk to attach. If the size is not
414
+ # specified, a default is chosen to ensure reasonable I/O performance.
415
+ # If the disk type is specified as `local-ssd`, multiple local drives are
416
+ # automatically combined to provide the requested size. Note, however, that
417
+ # each physical SSD is 375GB in size, and no more than 8 drives can be
418
+ # attached to a single instance.
419
+ # Corresponds to the JSON property `sizeGb`
420
+ # @return [Fixnum]
421
+ attr_accessor :size_gb
422
+
423
+ # An optional image to put on the disk before attaching it to the VM.
424
+ # Corresponds to the JSON property `sourceImage`
425
+ # @return [String]
426
+ attr_accessor :source_image
427
+
428
+ # The Compute Engine disk type. If unspecified, `pd-standard` is used.
429
+ # Corresponds to the JSON property `type`
430
+ # @return [String]
431
+ attr_accessor :type
432
+
433
+ def initialize(**args)
434
+ update!(**args)
435
+ end
436
+
437
+ # Update properties of this object
438
+ def update!(**args)
439
+ @name = args[:name] if args.key?(:name)
440
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
441
+ @source_image = args[:source_image] if args.key?(:source_image)
442
+ @type = args[:type] if args.key?(:type)
443
+ end
444
+ end
445
+
446
+ # A generic empty message that you can re-use to avoid defining duplicated
447
+ # empty messages in your APIs. A typical example is to use it as the request
448
+ # or the response type of an API method. For instance:
449
+ # service Foo `
450
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
451
+ # `
452
+ # The JSON representation for `Empty` is empty JSON object ````.
453
+ class Empty
454
+ include Google::Apis::Core::Hashable
455
+
456
+ def initialize(**args)
457
+ update!(**args)
458
+ end
459
+
460
+ # Update properties of this object
461
+ def update!(**args)
462
+ end
463
+ end
464
+
465
+ # Carries information about events that occur during pipeline execution.
466
+ class Event
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # An event generated when a container is forcibly terminated by the
470
+ # worker. Currently, this only occurs when the container outlives the
471
+ # timeout specified by the user.
472
+ # Corresponds to the JSON property `containerKilled`
473
+ # @return [Google::Apis::LifesciencesV2beta::ContainerKilledEvent]
474
+ attr_accessor :container_killed
475
+
476
+ # An event generated when a container starts.
477
+ # Corresponds to the JSON property `containerStarted`
478
+ # @return [Google::Apis::LifesciencesV2beta::ContainerStartedEvent]
479
+ attr_accessor :container_started
480
+
481
+ # An event generated when a container exits.
482
+ # Corresponds to the JSON property `containerStopped`
483
+ # @return [Google::Apis::LifesciencesV2beta::ContainerStoppedEvent]
484
+ attr_accessor :container_stopped
485
+
486
+ # An event generated whenever a resource limitation or transient error
487
+ # delays execution of a pipeline that was otherwise ready to run.
488
+ # Corresponds to the JSON property `delayed`
489
+ # @return [Google::Apis::LifesciencesV2beta::DelayedEvent]
490
+ attr_accessor :delayed
491
+
492
+ # A human-readable description of the event. Note that these strings can
493
+ # change at any time without notice. Any application logic must use the
494
+ # information in the `details` field.
495
+ # Corresponds to the JSON property `description`
496
+ # @return [String]
497
+ attr_accessor :description
498
+
499
+ # An event generated when the execution of a pipeline has failed. Note
500
+ # that other events can continue to occur after this event.
501
+ # Corresponds to the JSON property `failed`
502
+ # @return [Google::Apis::LifesciencesV2beta::FailedEvent]
503
+ attr_accessor :failed
504
+
505
+ # An event generated when the worker starts pulling an image.
506
+ # Corresponds to the JSON property `pullStarted`
507
+ # @return [Google::Apis::LifesciencesV2beta::PullStartedEvent]
508
+ attr_accessor :pull_started
509
+
510
+ # An event generated when the worker stops pulling an image.
511
+ # Corresponds to the JSON property `pullStopped`
512
+ # @return [Google::Apis::LifesciencesV2beta::PullStoppedEvent]
513
+ attr_accessor :pull_stopped
514
+
515
+ # The time at which the event occurred.
516
+ # Corresponds to the JSON property `timestamp`
517
+ # @return [String]
518
+ attr_accessor :timestamp
519
+
520
+ # An event generated when the execution of a container results in a
521
+ # non-zero exit status that was not otherwise ignored. Execution will
522
+ # continue, but only actions that are flagged as `ALWAYS_RUN` will be
523
+ # executed. Other actions will be skipped.
524
+ # Corresponds to the JSON property `unexpectedExitStatus`
525
+ # @return [Google::Apis::LifesciencesV2beta::UnexpectedExitStatusEvent]
526
+ attr_accessor :unexpected_exit_status
527
+
528
+ # An event generated after a worker VM has been assigned to run the
529
+ # pipeline.
530
+ # Corresponds to the JSON property `workerAssigned`
531
+ # @return [Google::Apis::LifesciencesV2beta::WorkerAssignedEvent]
532
+ attr_accessor :worker_assigned
533
+
534
+ # An event generated when the worker VM that was assigned to the pipeline
535
+ # has been released (deleted).
536
+ # Corresponds to the JSON property `workerReleased`
537
+ # @return [Google::Apis::LifesciencesV2beta::WorkerReleasedEvent]
538
+ attr_accessor :worker_released
539
+
540
+ def initialize(**args)
541
+ update!(**args)
542
+ end
543
+
544
+ # Update properties of this object
545
+ def update!(**args)
546
+ @container_killed = args[:container_killed] if args.key?(:container_killed)
547
+ @container_started = args[:container_started] if args.key?(:container_started)
548
+ @container_stopped = args[:container_stopped] if args.key?(:container_stopped)
549
+ @delayed = args[:delayed] if args.key?(:delayed)
550
+ @description = args[:description] if args.key?(:description)
551
+ @failed = args[:failed] if args.key?(:failed)
552
+ @pull_started = args[:pull_started] if args.key?(:pull_started)
553
+ @pull_stopped = args[:pull_stopped] if args.key?(:pull_stopped)
554
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
555
+ @unexpected_exit_status = args[:unexpected_exit_status] if args.key?(:unexpected_exit_status)
556
+ @worker_assigned = args[:worker_assigned] if args.key?(:worker_assigned)
557
+ @worker_released = args[:worker_released] if args.key?(:worker_released)
558
+ end
559
+ end
560
+
561
+ # An event generated when the execution of a pipeline has failed. Note
562
+ # that other events can continue to occur after this event.
563
+ class FailedEvent
564
+ include Google::Apis::Core::Hashable
565
+
566
+ # The human-readable description of the cause of the failure.
567
+ # Corresponds to the JSON property `cause`
568
+ # @return [String]
569
+ attr_accessor :cause
570
+
571
+ # The Google standard error code that best describes this failure.
572
+ # Corresponds to the JSON property `code`
573
+ # @return [String]
574
+ attr_accessor :code
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @cause = args[:cause] if args.key?(:cause)
583
+ @code = args[:code] if args.key?(:code)
584
+ end
585
+ end
586
+
587
+ # The response message for Locations.ListLocations.
588
+ class ListLocationsResponse
589
+ include Google::Apis::Core::Hashable
590
+
591
+ # A list of locations that matches the specified filter in the request.
592
+ # Corresponds to the JSON property `locations`
593
+ # @return [Array<Google::Apis::LifesciencesV2beta::Location>]
594
+ attr_accessor :locations
595
+
596
+ # The standard List next-page token.
597
+ # Corresponds to the JSON property `nextPageToken`
598
+ # @return [String]
599
+ attr_accessor :next_page_token
600
+
601
+ def initialize(**args)
602
+ update!(**args)
603
+ end
604
+
605
+ # Update properties of this object
606
+ def update!(**args)
607
+ @locations = args[:locations] if args.key?(:locations)
608
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
609
+ end
610
+ end
611
+
612
+ # The response message for Operations.ListOperations.
613
+ class ListOperationsResponse
614
+ include Google::Apis::Core::Hashable
615
+
616
+ # The standard List next-page token.
617
+ # Corresponds to the JSON property `nextPageToken`
618
+ # @return [String]
619
+ attr_accessor :next_page_token
620
+
621
+ # A list of operations that matches the specified filter in the request.
622
+ # Corresponds to the JSON property `operations`
623
+ # @return [Array<Google::Apis::LifesciencesV2beta::Operation>]
624
+ attr_accessor :operations
625
+
626
+ def initialize(**args)
627
+ update!(**args)
628
+ end
629
+
630
+ # Update properties of this object
631
+ def update!(**args)
632
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
633
+ @operations = args[:operations] if args.key?(:operations)
634
+ end
635
+ end
636
+
637
+ # A resource that represents Google Cloud Platform location.
638
+ class Location
639
+ include Google::Apis::Core::Hashable
640
+
641
+ # The friendly name for this location, typically a nearby city name.
642
+ # For example, "Tokyo".
643
+ # Corresponds to the JSON property `displayName`
644
+ # @return [String]
645
+ attr_accessor :display_name
646
+
647
+ # Cross-service attributes for the location. For example
648
+ # `"cloud.googleapis.com/region": "us-east1"`
649
+ # Corresponds to the JSON property `labels`
650
+ # @return [Hash<String,String>]
651
+ attr_accessor :labels
652
+
653
+ # The canonical id for this location. For example: `"us-east1"`.
654
+ # Corresponds to the JSON property `locationId`
655
+ # @return [String]
656
+ attr_accessor :location_id
657
+
658
+ # Service-specific metadata. For example the available capacity at the given
659
+ # location.
660
+ # Corresponds to the JSON property `metadata`
661
+ # @return [Hash<String,Object>]
662
+ attr_accessor :metadata
663
+
664
+ # Resource name for the location, which may vary between implementations.
665
+ # For example: `"projects/example-project/locations/us-east1"`
666
+ # Corresponds to the JSON property `name`
667
+ # @return [String]
668
+ attr_accessor :name
669
+
670
+ def initialize(**args)
671
+ update!(**args)
672
+ end
673
+
674
+ # Update properties of this object
675
+ def update!(**args)
676
+ @display_name = args[:display_name] if args.key?(:display_name)
677
+ @labels = args[:labels] if args.key?(:labels)
678
+ @location_id = args[:location_id] if args.key?(:location_id)
679
+ @metadata = args[:metadata] if args.key?(:metadata)
680
+ @name = args[:name] if args.key?(:name)
681
+ end
682
+ end
683
+
684
+ # Carries information about the pipeline execution that is returned
685
+ # in the long running operation's metadata field.
686
+ class Metadata
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # The time at which the operation was created by the API.
690
+ # Corresponds to the JSON property `createTime`
691
+ # @return [String]
692
+ attr_accessor :create_time
693
+
694
+ # The time at which execution was completed and resources were cleaned up.
695
+ # Corresponds to the JSON property `endTime`
696
+ # @return [String]
697
+ attr_accessor :end_time
698
+
699
+ # The list of events that have happened so far during the execution of this
700
+ # operation.
701
+ # Corresponds to the JSON property `events`
702
+ # @return [Array<Google::Apis::LifesciencesV2beta::Event>]
703
+ attr_accessor :events
704
+
705
+ # The user-defined labels associated with this operation.
706
+ # Corresponds to the JSON property `labels`
707
+ # @return [Hash<String,String>]
708
+ attr_accessor :labels
709
+
710
+ # Specifies a series of actions to execute, expressed as Docker containers.
711
+ # Corresponds to the JSON property `pipeline`
712
+ # @return [Google::Apis::LifesciencesV2beta::Pipeline]
713
+ attr_accessor :pipeline
714
+
715
+ # The first time at which resources were allocated to execute the pipeline.
716
+ # Corresponds to the JSON property `startTime`
717
+ # @return [String]
718
+ attr_accessor :start_time
719
+
720
+ def initialize(**args)
721
+ update!(**args)
722
+ end
723
+
724
+ # Update properties of this object
725
+ def update!(**args)
726
+ @create_time = args[:create_time] if args.key?(:create_time)
727
+ @end_time = args[:end_time] if args.key?(:end_time)
728
+ @events = args[:events] if args.key?(:events)
729
+ @labels = args[:labels] if args.key?(:labels)
730
+ @pipeline = args[:pipeline] if args.key?(:pipeline)
731
+ @start_time = args[:start_time] if args.key?(:start_time)
732
+ end
733
+ end
734
+
735
+ # Carries information about a particular disk mount inside a container.
736
+ class Mount
737
+ include Google::Apis::Core::Hashable
738
+
739
+ # The name of the disk to mount, as specified in the resources section.
740
+ # Corresponds to the JSON property `disk`
741
+ # @return [String]
742
+ attr_accessor :disk
743
+
744
+ # The path to mount the disk inside the container.
745
+ # Corresponds to the JSON property `path`
746
+ # @return [String]
747
+ attr_accessor :path
748
+
749
+ # If true, the disk is mounted read-only inside the container.
750
+ # Corresponds to the JSON property `readOnly`
751
+ # @return [Boolean]
752
+ attr_accessor :read_only
753
+ alias_method :read_only?, :read_only
754
+
755
+ def initialize(**args)
756
+ update!(**args)
757
+ end
758
+
759
+ # Update properties of this object
760
+ def update!(**args)
761
+ @disk = args[:disk] if args.key?(:disk)
762
+ @path = args[:path] if args.key?(:path)
763
+ @read_only = args[:read_only] if args.key?(:read_only)
764
+ end
765
+ end
766
+
767
+ # VM networking options.
768
+ class Network
769
+ include Google::Apis::Core::Hashable
770
+
771
+ # The network name to attach the VM's network interface to. The value will
772
+ # be prefixed with `global/networks/` unless it contains a `/`, in which
773
+ # case it is assumed to be a fully specified network resource URL.
774
+ # If unspecified, the global default network is used.
775
+ # Corresponds to the JSON property `network`
776
+ # @return [String]
777
+ attr_accessor :network
778
+
779
+ # If the specified network is configured for custom subnet creation, the
780
+ # name of the subnetwork to attach the instance to must be specified here.
781
+ # The value is prefixed with `regions/*/subnetworks/` unless it contains a
782
+ # `/`, in which case it is assumed to be a fully specified subnetwork
783
+ # resource URL.
784
+ # If the `*` character appears in the value, it is replaced with the region
785
+ # that the virtual machine has been allocated in.
786
+ # Corresponds to the JSON property `subnetwork`
787
+ # @return [String]
788
+ attr_accessor :subnetwork
789
+
790
+ # If set to true, do not attach a public IP address to the VM. Note that
791
+ # without a public IP address, additional configuration is required to
792
+ # allow the VM to access Google services.
793
+ # See https://cloud.google.com/vpc/docs/configure-private-google-access
794
+ # for more information.
795
+ # Corresponds to the JSON property `usePrivateAddress`
796
+ # @return [Boolean]
797
+ attr_accessor :use_private_address
798
+ alias_method :use_private_address?, :use_private_address
799
+
800
+ def initialize(**args)
801
+ update!(**args)
802
+ end
803
+
804
+ # Update properties of this object
805
+ def update!(**args)
806
+ @network = args[:network] if args.key?(:network)
807
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
808
+ @use_private_address = args[:use_private_address] if args.key?(:use_private_address)
809
+ end
810
+ end
811
+
812
+ # This resource represents a long-running operation that is the result of a
813
+ # network API call.
814
+ class Operation
815
+ include Google::Apis::Core::Hashable
816
+
817
+ # If the value is `false`, it means the operation is still in progress.
818
+ # If `true`, the operation is completed, and either `error` or `response` is
819
+ # available.
820
+ # Corresponds to the JSON property `done`
821
+ # @return [Boolean]
822
+ attr_accessor :done
823
+ alias_method :done?, :done
824
+
825
+ # The `Status` type defines a logical error model that is suitable for
826
+ # different programming environments, including REST APIs and RPC APIs. It is
827
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
828
+ # three pieces of data: error code, error message, and error details.
829
+ # You can find out more about this error model and how to work with it in the
830
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
831
+ # Corresponds to the JSON property `error`
832
+ # @return [Google::Apis::LifesciencesV2beta::Status]
833
+ attr_accessor :error
834
+
835
+ # An Metadata object. This will always be returned with the Operation.
836
+ # Corresponds to the JSON property `metadata`
837
+ # @return [Hash<String,Object>]
838
+ attr_accessor :metadata
839
+
840
+ # The server-assigned name for the operation. This may be passed to the other
841
+ # operation methods to retrieve information about the operation's status.
842
+ # Corresponds to the JSON property `name`
843
+ # @return [String]
844
+ attr_accessor :name
845
+
846
+ # An Empty object.
847
+ # Corresponds to the JSON property `response`
848
+ # @return [Hash<String,Object>]
849
+ attr_accessor :response
850
+
851
+ def initialize(**args)
852
+ update!(**args)
853
+ end
854
+
855
+ # Update properties of this object
856
+ def update!(**args)
857
+ @done = args[:done] if args.key?(:done)
858
+ @error = args[:error] if args.key?(:error)
859
+ @metadata = args[:metadata] if args.key?(:metadata)
860
+ @name = args[:name] if args.key?(:name)
861
+ @response = args[:response] if args.key?(:response)
862
+ end
863
+ end
864
+
865
+ # Specifies a series of actions to execute, expressed as Docker containers.
866
+ class Pipeline
867
+ include Google::Apis::Core::Hashable
868
+
869
+ # The list of actions to execute, in the order they are specified.
870
+ # Corresponds to the JSON property `actions`
871
+ # @return [Array<Google::Apis::LifesciencesV2beta::Action>]
872
+ attr_accessor :actions
873
+
874
+ # The environment to pass into every action. Each action can also specify
875
+ # additional environment variables but cannot delete an entry from this map
876
+ # (though they can overwrite it with a different value).
877
+ # Corresponds to the JSON property `environment`
878
+ # @return [Hash<String,String>]
879
+ attr_accessor :environment
880
+
881
+ # The system resources for the pipeline run.
882
+ # At least one zone or region must be specified or the pipeline run will fail.
883
+ # Corresponds to the JSON property `resources`
884
+ # @return [Google::Apis::LifesciencesV2beta::Resources]
885
+ attr_accessor :resources
886
+
887
+ # The maximum amount of time to give the pipeline to complete. This includes
888
+ # the time spent waiting for a worker to be allocated. If the pipeline fails
889
+ # to complete before the timeout, it will be cancelled and the error code
890
+ # will be set to DEADLINE_EXCEEDED.
891
+ # If unspecified, it will default to 7 days.
892
+ # Corresponds to the JSON property `timeout`
893
+ # @return [String]
894
+ attr_accessor :timeout
895
+
896
+ def initialize(**args)
897
+ update!(**args)
898
+ end
899
+
900
+ # Update properties of this object
901
+ def update!(**args)
902
+ @actions = args[:actions] if args.key?(:actions)
903
+ @environment = args[:environment] if args.key?(:environment)
904
+ @resources = args[:resources] if args.key?(:resources)
905
+ @timeout = args[:timeout] if args.key?(:timeout)
906
+ end
907
+ end
908
+
909
+ # An event generated when the worker starts pulling an image.
910
+ class PullStartedEvent
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # The URI of the image that was pulled.
914
+ # Corresponds to the JSON property `imageUri`
915
+ # @return [String]
916
+ attr_accessor :image_uri
917
+
918
+ def initialize(**args)
919
+ update!(**args)
920
+ end
921
+
922
+ # Update properties of this object
923
+ def update!(**args)
924
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
925
+ end
926
+ end
927
+
928
+ # An event generated when the worker stops pulling an image.
929
+ class PullStoppedEvent
930
+ include Google::Apis::Core::Hashable
931
+
932
+ # The URI of the image that was pulled.
933
+ # Corresponds to the JSON property `imageUri`
934
+ # @return [String]
935
+ attr_accessor :image_uri
936
+
937
+ def initialize(**args)
938
+ update!(**args)
939
+ end
940
+
941
+ # Update properties of this object
942
+ def update!(**args)
943
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
944
+ end
945
+ end
946
+
947
+ # The system resources for the pipeline run.
948
+ # At least one zone or region must be specified or the pipeline run will fail.
949
+ class Resources
950
+ include Google::Apis::Core::Hashable
951
+
952
+ # The list of regions allowed for VM allocation. If set, the `zones` field
953
+ # must not be set.
954
+ # Corresponds to the JSON property `regions`
955
+ # @return [Array<String>]
956
+ attr_accessor :regions
957
+
958
+ # Carries information about a Compute Engine VM resource.
959
+ # Corresponds to the JSON property `virtualMachine`
960
+ # @return [Google::Apis::LifesciencesV2beta::VirtualMachine]
961
+ attr_accessor :virtual_machine
962
+
963
+ # The list of zones allowed for VM allocation. If set, the `regions` field
964
+ # must not be set.
965
+ # Corresponds to the JSON property `zones`
966
+ # @return [Array<String>]
967
+ attr_accessor :zones
968
+
969
+ def initialize(**args)
970
+ update!(**args)
971
+ end
972
+
973
+ # Update properties of this object
974
+ def update!(**args)
975
+ @regions = args[:regions] if args.key?(:regions)
976
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
977
+ @zones = args[:zones] if args.key?(:zones)
978
+ end
979
+ end
980
+
981
+ # The arguments to the `RunPipeline` method. The requesting user must have
982
+ # the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences
983
+ # service account or the request will fail.
984
+ class RunPipelineRequest
985
+ include Google::Apis::Core::Hashable
986
+
987
+ # User-defined labels to associate with the returned operation. These
988
+ # labels are not propagated to any Google Cloud Platform resources used by
989
+ # the operation, and can be modified at any time.
990
+ # To associate labels with resources created while executing the operation,
991
+ # see the appropriate resource message (for example, `VirtualMachine`).
992
+ # Corresponds to the JSON property `labels`
993
+ # @return [Hash<String,String>]
994
+ attr_accessor :labels
995
+
996
+ # Specifies a series of actions to execute, expressed as Docker containers.
997
+ # Corresponds to the JSON property `pipeline`
998
+ # @return [Google::Apis::LifesciencesV2beta::Pipeline]
999
+ attr_accessor :pipeline
1000
+
1001
+ def initialize(**args)
1002
+ update!(**args)
1003
+ end
1004
+
1005
+ # Update properties of this object
1006
+ def update!(**args)
1007
+ @labels = args[:labels] if args.key?(:labels)
1008
+ @pipeline = args[:pipeline] if args.key?(:pipeline)
1009
+ end
1010
+ end
1011
+
1012
+ # The response to the RunPipeline method, returned in the operation's result
1013
+ # field on success.
1014
+ class RunPipelineResponse
1015
+ include Google::Apis::Core::Hashable
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ end
1024
+ end
1025
+
1026
+ # Holds encrypted information that is only decrypted and stored in RAM
1027
+ # by the worker VM when running the pipeline.
1028
+ class Secret
1029
+ include Google::Apis::Core::Hashable
1030
+
1031
+ # The value of the cipherText response from the `encrypt` method. This field
1032
+ # is intentionally unaudited.
1033
+ # Corresponds to the JSON property `cipherText`
1034
+ # @return [String]
1035
+ attr_accessor :cipher_text
1036
+
1037
+ # The name of the Cloud KMS key that will be used to decrypt the secret
1038
+ # value. The VM service account must have the required permissions and
1039
+ # authentication scopes to invoke the `decrypt` method on the specified key.
1040
+ # Corresponds to the JSON property `keyName`
1041
+ # @return [String]
1042
+ attr_accessor :key_name
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @cipher_text = args[:cipher_text] if args.key?(:cipher_text)
1051
+ @key_name = args[:key_name] if args.key?(:key_name)
1052
+ end
1053
+ end
1054
+
1055
+ # Carries information about a Google Cloud service account.
1056
+ class ServiceAccount
1057
+ include Google::Apis::Core::Hashable
1058
+
1059
+ # Email address of the service account. If not specified, the default
1060
+ # Compute Engine service account for the project will be used.
1061
+ # Corresponds to the JSON property `email`
1062
+ # @return [String]
1063
+ attr_accessor :email
1064
+
1065
+ # List of scopes to be enabled for this service account on the VM, in
1066
+ # addition to the cloud-platform API scope that will be added by default.
1067
+ # Corresponds to the JSON property `scopes`
1068
+ # @return [Array<String>]
1069
+ attr_accessor :scopes
1070
+
1071
+ def initialize(**args)
1072
+ update!(**args)
1073
+ end
1074
+
1075
+ # Update properties of this object
1076
+ def update!(**args)
1077
+ @email = args[:email] if args.key?(:email)
1078
+ @scopes = args[:scopes] if args.key?(:scopes)
1079
+ end
1080
+ end
1081
+
1082
+ # The `Status` type defines a logical error model that is suitable for
1083
+ # different programming environments, including REST APIs and RPC APIs. It is
1084
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1085
+ # three pieces of data: error code, error message, and error details.
1086
+ # You can find out more about this error model and how to work with it in the
1087
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1088
+ class Status
1089
+ include Google::Apis::Core::Hashable
1090
+
1091
+ # The status code, which should be an enum value of google.rpc.Code.
1092
+ # Corresponds to the JSON property `code`
1093
+ # @return [Fixnum]
1094
+ attr_accessor :code
1095
+
1096
+ # A list of messages that carry the error details. There is a common set of
1097
+ # message types for APIs to use.
1098
+ # Corresponds to the JSON property `details`
1099
+ # @return [Array<Hash<String,Object>>]
1100
+ attr_accessor :details
1101
+
1102
+ # A developer-facing error message, which should be in English. Any
1103
+ # user-facing error message should be localized and sent in the
1104
+ # google.rpc.Status.details field, or localized by the client.
1105
+ # Corresponds to the JSON property `message`
1106
+ # @return [String]
1107
+ attr_accessor :message
1108
+
1109
+ def initialize(**args)
1110
+ update!(**args)
1111
+ end
1112
+
1113
+ # Update properties of this object
1114
+ def update!(**args)
1115
+ @code = args[:code] if args.key?(:code)
1116
+ @details = args[:details] if args.key?(:details)
1117
+ @message = args[:message] if args.key?(:message)
1118
+ end
1119
+ end
1120
+
1121
+ # An event generated when the execution of a container results in a
1122
+ # non-zero exit status that was not otherwise ignored. Execution will
1123
+ # continue, but only actions that are flagged as `ALWAYS_RUN` will be
1124
+ # executed. Other actions will be skipped.
1125
+ class UnexpectedExitStatusEvent
1126
+ include Google::Apis::Core::Hashable
1127
+
1128
+ # The numeric ID of the action that started the container.
1129
+ # Corresponds to the JSON property `actionId`
1130
+ # @return [Fixnum]
1131
+ attr_accessor :action_id
1132
+
1133
+ # The exit status of the container.
1134
+ # Corresponds to the JSON property `exitStatus`
1135
+ # @return [Fixnum]
1136
+ attr_accessor :exit_status
1137
+
1138
+ def initialize(**args)
1139
+ update!(**args)
1140
+ end
1141
+
1142
+ # Update properties of this object
1143
+ def update!(**args)
1144
+ @action_id = args[:action_id] if args.key?(:action_id)
1145
+ @exit_status = args[:exit_status] if args.key?(:exit_status)
1146
+ end
1147
+ end
1148
+
1149
+ # Carries information about a Compute Engine VM resource.
1150
+ class VirtualMachine
1151
+ include Google::Apis::Core::Hashable
1152
+
1153
+ # The list of accelerators to attach to the VM.
1154
+ # Corresponds to the JSON property `accelerators`
1155
+ # @return [Array<Google::Apis::LifesciencesV2beta::Accelerator>]
1156
+ attr_accessor :accelerators
1157
+
1158
+ # The size of the boot disk, in GB. The boot disk must be large
1159
+ # enough to accommodate all of the Docker images from each action in the
1160
+ # pipeline at the same time. If not specified, a small but reasonable
1161
+ # default value is used.
1162
+ # Corresponds to the JSON property `bootDiskSizeGb`
1163
+ # @return [Fixnum]
1164
+ attr_accessor :boot_disk_size_gb
1165
+
1166
+ # The host operating system image to use.
1167
+ # Currently, only Container-Optimized OS images can be used.
1168
+ # The default value is `projects/cos-cloud/global/images/family/cos-stable`,
1169
+ # which selects the latest stable release of Container-Optimized OS.
1170
+ # This option is provided to allow testing against the beta release of the
1171
+ # operating system to ensure that the new version does not interact
1172
+ # negatively with production pipelines.
1173
+ # To test a pipeline against the beta release of Container-Optimized OS,
1174
+ # use the value `projects/cos-cloud/global/images/family/cos-beta`.
1175
+ # Corresponds to the JSON property `bootImage`
1176
+ # @return [String]
1177
+ attr_accessor :boot_image
1178
+
1179
+ # The CPU platform to request. An instance based on a newer platform can be
1180
+ # allocated, but never one with fewer capabilities. The value of this
1181
+ # parameter must be a valid Compute Engine CPU platform name (such as "Intel
1182
+ # Skylake"). This parameter is only useful for carefully optimized work
1183
+ # loads where the CPU platform has a significant impact.
1184
+ # For more information about the effect of this parameter, see
1185
+ # https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
1186
+ # Corresponds to the JSON property `cpuPlatform`
1187
+ # @return [String]
1188
+ attr_accessor :cpu_platform
1189
+
1190
+ # The list of disks to create and attach to the VM.
1191
+ # Corresponds to the JSON property `disks`
1192
+ # @return [Array<Google::Apis::LifesciencesV2beta::Disk>]
1193
+ attr_accessor :disks
1194
+
1195
+ # Whether Stackdriver monitoring should be enabled on the VM.
1196
+ # Corresponds to the JSON property `enableStackdriverMonitoring`
1197
+ # @return [Boolean]
1198
+ attr_accessor :enable_stackdriver_monitoring
1199
+ alias_method :enable_stackdriver_monitoring?, :enable_stackdriver_monitoring
1200
+
1201
+ # Optional set of labels to apply to the VM and any attached disk resources.
1202
+ # These labels must adhere to the [name and value
1203
+ # restrictions](https://cloud.google.com/compute/docs/labeling-resources) on
1204
+ # VM labels imposed by Compute Engine.
1205
+ # Labels keys with the prefix 'google-' are reserved for use by Google.
1206
+ # Labels applied at creation time to the VM. Applied on a best-effort basis
1207
+ # to attached disk resources shortly after VM creation.
1208
+ # Corresponds to the JSON property `labels`
1209
+ # @return [Hash<String,String>]
1210
+ attr_accessor :labels
1211
+
1212
+ # Required. The machine type of the virtual machine to create. Must be the short
1213
+ # name
1214
+ # of a standard machine type (such as "n1-standard-1") or a custom machine
1215
+ # type (such as "custom-1-4096", where "1" indicates the number of vCPUs and
1216
+ # "4096" indicates the memory in MB). See
1217
+ # [Creating an instance with a custom machine
1218
+ # type](https://cloud.google.com/compute/docs/instances/creating-instance-with-
1219
+ # custom-machine-type#create)
1220
+ # for more specifications on creating a custom machine type.
1221
+ # Corresponds to the JSON property `machineType`
1222
+ # @return [String]
1223
+ attr_accessor :machine_type
1224
+
1225
+ # VM networking options.
1226
+ # Corresponds to the JSON property `network`
1227
+ # @return [Google::Apis::LifesciencesV2beta::Network]
1228
+ attr_accessor :network
1229
+
1230
+ # The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
1231
+ # The version specified here must be compatible with the GPU libraries
1232
+ # contained in the container being executed, and must be one of the drivers
1233
+ # hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.
1234
+ # Corresponds to the JSON property `nvidiaDriverVersion`
1235
+ # @return [String]
1236
+ attr_accessor :nvidia_driver_version
1237
+
1238
+ # If true, allocate a preemptible VM.
1239
+ # Corresponds to the JSON property `preemptible`
1240
+ # @return [Boolean]
1241
+ attr_accessor :preemptible
1242
+ alias_method :preemptible?, :preemptible
1243
+
1244
+ # Carries information about a Google Cloud service account.
1245
+ # Corresponds to the JSON property `serviceAccount`
1246
+ # @return [Google::Apis::LifesciencesV2beta::ServiceAccount]
1247
+ attr_accessor :service_account
1248
+
1249
+ def initialize(**args)
1250
+ update!(**args)
1251
+ end
1252
+
1253
+ # Update properties of this object
1254
+ def update!(**args)
1255
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
1256
+ @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
1257
+ @boot_image = args[:boot_image] if args.key?(:boot_image)
1258
+ @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
1259
+ @disks = args[:disks] if args.key?(:disks)
1260
+ @enable_stackdriver_monitoring = args[:enable_stackdriver_monitoring] if args.key?(:enable_stackdriver_monitoring)
1261
+ @labels = args[:labels] if args.key?(:labels)
1262
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1263
+ @network = args[:network] if args.key?(:network)
1264
+ @nvidia_driver_version = args[:nvidia_driver_version] if args.key?(:nvidia_driver_version)
1265
+ @preemptible = args[:preemptible] if args.key?(:preemptible)
1266
+ @service_account = args[:service_account] if args.key?(:service_account)
1267
+ end
1268
+ end
1269
+
1270
+ # An event generated after a worker VM has been assigned to run the
1271
+ # pipeline.
1272
+ class WorkerAssignedEvent
1273
+ include Google::Apis::Core::Hashable
1274
+
1275
+ # The worker's instance name.
1276
+ # Corresponds to the JSON property `instance`
1277
+ # @return [String]
1278
+ attr_accessor :instance
1279
+
1280
+ # The machine type that was assigned for the worker.
1281
+ # Corresponds to the JSON property `machineType`
1282
+ # @return [String]
1283
+ attr_accessor :machine_type
1284
+
1285
+ # The zone the worker is running in.
1286
+ # Corresponds to the JSON property `zone`
1287
+ # @return [String]
1288
+ attr_accessor :zone
1289
+
1290
+ def initialize(**args)
1291
+ update!(**args)
1292
+ end
1293
+
1294
+ # Update properties of this object
1295
+ def update!(**args)
1296
+ @instance = args[:instance] if args.key?(:instance)
1297
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1298
+ @zone = args[:zone] if args.key?(:zone)
1299
+ end
1300
+ end
1301
+
1302
+ # An event generated when the worker VM that was assigned to the pipeline
1303
+ # has been released (deleted).
1304
+ class WorkerReleasedEvent
1305
+ include Google::Apis::Core::Hashable
1306
+
1307
+ # The worker's instance name.
1308
+ # Corresponds to the JSON property `instance`
1309
+ # @return [String]
1310
+ attr_accessor :instance
1311
+
1312
+ # The zone the worker was running in.
1313
+ # Corresponds to the JSON property `zone`
1314
+ # @return [String]
1315
+ attr_accessor :zone
1316
+
1317
+ def initialize(**args)
1318
+ update!(**args)
1319
+ end
1320
+
1321
+ # Update properties of this object
1322
+ def update!(**args)
1323
+ @instance = args[:instance] if args.key?(:instance)
1324
+ @zone = args[:zone] if args.key?(:zone)
1325
+ end
1326
+ end
1327
+ end
1328
+ end
1329
+ end