blob: dbf69f209a3e73eb75cba9fb7ef8050b13f6ff87 [file] [log] [blame]
Bu Sun Kim65020912020-05-20 12:08:20 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="lifesciences_v2beta.html">Cloud Life Sciences API</a> . <a href="lifesciences_v2beta.projects.html">projects</a> . <a href="lifesciences_v2beta.projects.locations.html">locations</a> . <a href="lifesciences_v2beta.projects.locations.pipelines.html">pipelines</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#run">run(parent, body=None, x__xgafv=None)</a></code></p>
79<p class="firstline">Runs a pipeline. The returned Operation's metadata field will contain a</p>
80<h3>Method Details</h3>
81<div class="method">
82 <code class="details" id="run">run(parent, body=None, x__xgafv=None)</code>
83 <pre>Runs a pipeline. The returned Operation&#x27;s metadata field will contain a
84google.cloud.lifesciences.v2beta.Metadata object describing the status
85of the pipeline execution. The
86response field will contain a
87google.cloud.lifesciences.v2beta.RunPipelineResponse object if the
88pipeline completes successfully.
89
90**Note:** Before you can use this method, the *Life Sciences Service Agent*
91must have access to your project. This is done automatically when the
92Cloud Life Sciences API is first enabled, but if you delete this permission
93you must disable and re-enable the API to grant the Life Sciences
94Service Agent the required permissions.
95Authorization requires the following [Google
96IAM](https://cloud.google.com/iam/) permission:
97
98* `lifesciences.workflows.run`
99
100Args:
101 parent: string, The project and location that this request should be executed against. (required)
102 body: object, The request body.
103 The object takes the form of:
104
105{ # The arguments to the `RunPipeline` method. The requesting user must have
106 # the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences
107 # service account or the request will fail.
Bu Sun Kim65020912020-05-20 12:08:20 -0700108 &quot;pipeline&quot;: { # Specifies a series of actions to execute, expressed as Docker containers. # Required. The description of the pipeline to run.
Bu Sun Kim65020912020-05-20 12:08:20 -0700109 &quot;timeout&quot;: &quot;A String&quot;, # The maximum amount of time to give the pipeline to complete. This includes
110 # the time spent waiting for a worker to be allocated. If the pipeline fails
111 # to complete before the timeout, it will be cancelled and the error code
112 # will be set to DEADLINE_EXCEEDED.
113 #
114 # If unspecified, it will default to 7 days.
115 &quot;resources&quot;: { # The system resources for the pipeline run. # The resources required for execution.
116 #
117 # At least one zone or region must be specified or the pipeline run will fail.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700118 &quot;regions&quot;: [ # The list of regions allowed for VM allocation. If set, the `zones` field
119 # must not be set.
120 &quot;A String&quot;,
121 ],
122 &quot;zones&quot;: [ # The list of zones allowed for VM allocation. If set, the `regions` field
123 # must not be set.
124 &quot;A String&quot;,
125 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700126 &quot;virtualMachine&quot;: { # Carries information about a Compute Engine VM resource. # The virtual machine specification.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700127 &quot;disks&quot;: [ # The list of disks to create and attach to the VM.
128 { # Carries information about a disk that can be attached to a VM.
129 #
130 # See https://cloud.google.com/compute/docs/disks/performance for more
131 # information about disk type, size, and performance considerations.
132 &quot;type&quot;: &quot;A String&quot;, # The Compute Engine disk type. If unspecified, `pd-standard` is used.
133 &quot;sourceImage&quot;: &quot;A String&quot;, # An optional image to put on the disk before attaching it to the VM.
134 &quot;sizeGb&quot;: 42, # The size, in GB, of the disk to attach. If the size is not
135 # specified, a default is chosen to ensure reasonable I/O performance.
136 #
137 # If the disk type is specified as `local-ssd`, multiple local drives are
138 # automatically combined to provide the requested size. Note, however, that
139 # each physical SSD is 375GB in size, and no more than 8 drives can be
140 # attached to a single instance.
141 &quot;name&quot;: &quot;A String&quot;, # A user-supplied name for the disk. Used when mounting the disk into
142 # actions. The name must contain only upper and lowercase alphanumeric
143 # characters and hyphens and cannot start with a hyphen.
144 },
145 ],
146 &quot;serviceAccount&quot;: { # Carries information about a Google Cloud service account. # The service account to install on the VM. This account does not need
147 # any permissions other than those required by the pipeline.
148 &quot;email&quot;: &quot;A String&quot;, # Email address of the service account. If not specified, the default
149 # Compute Engine service account for the project will be used.
150 &quot;scopes&quot;: [ # List of scopes to be enabled for this service account on the VM, in
151 # addition to the cloud-platform API scope that will be added by default.
152 &quot;A String&quot;,
153 ],
154 },
155 &quot;bootImage&quot;: &quot;A String&quot;, # The host operating system image to use.
156 #
157 # Currently, only Container-Optimized OS images can be used.
158 #
159 # The default value is `projects/cos-cloud/global/images/family/cos-stable`,
160 # which selects the latest stable release of Container-Optimized OS.
161 #
162 # This option is provided to allow testing against the beta release of the
163 # operating system to ensure that the new version does not interact
164 # negatively with production pipelines.
165 #
166 # To test a pipeline against the beta release of Container-Optimized OS,
167 # use the value `projects/cos-cloud/global/images/family/cos-beta`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700168 &quot;network&quot;: { # VM networking options. # The VM network configuration.
169 &quot;subnetwork&quot;: &quot;A String&quot;, # If the specified network is configured for custom subnet creation, the
170 # name of the subnetwork to attach the instance to must be specified here.
171 #
172 # The value is prefixed with `regions/*/subnetworks/` unless it contains a
173 # `/`, in which case it is assumed to be a fully specified subnetwork
174 # resource URL.
175 #
176 # If the `*` character appears in the value, it is replaced with the region
177 # that the virtual machine has been allocated in.
178 &quot;network&quot;: &quot;A String&quot;, # The network name to attach the VM&#x27;s network interface to. The value will
179 # be prefixed with `global/networks/` unless it contains a `/`, in which
180 # case it is assumed to be a fully specified network resource URL.
181 #
182 # If unspecified, the global default network is used.
183 &quot;usePrivateAddress&quot;: True or False, # If set to true, do not attach a public IP address to the VM. Note that
184 # without a public IP address, additional configuration is required to
185 # allow the VM to access Google services.
186 #
187 # See https://cloud.google.com/vpc/docs/configure-private-google-access
188 # for more information.
189 },
190 &quot;bootDiskSizeGb&quot;: 42, # The size of the boot disk, in GB. The boot disk must be large
191 # enough to accommodate all of the Docker images from each action in the
192 # pipeline at the same time. If not specified, a small but reasonable
193 # default value is used.
194 &quot;nvidiaDriverVersion&quot;: &quot;A String&quot;, # The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
195 # The version specified here must be compatible with the GPU libraries
196 # contained in the container being executed, and must be one of the drivers
197 # hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.
198 &quot;labels&quot;: { # Optional set of labels to apply to the VM and any attached disk resources.
199 # These labels must adhere to the [name and value
200 # restrictions](https://cloud.google.com/compute/docs/labeling-resources) on
201 # VM labels imposed by Compute Engine.
202 #
203 # Labels keys with the prefix &#x27;google-&#x27; are reserved for use by Google.
204 #
205 # Labels applied at creation time to the VM. Applied on a best-effort basis
206 # to attached disk resources shortly after VM creation.
207 &quot;a_key&quot;: &quot;A String&quot;,
208 },
209 &quot;enableStackdriverMonitoring&quot;: True or False, # Whether Stackdriver monitoring should be enabled on the VM.
210 &quot;cpuPlatform&quot;: &quot;A String&quot;, # The CPU platform to request. An instance based on a newer platform can be
211 # allocated, but never one with fewer capabilities. The value of this
212 # parameter must be a valid Compute Engine CPU platform name (such as &quot;Intel
213 # Skylake&quot;). This parameter is only useful for carefully optimized work
214 # loads where the CPU platform has a significant impact.
215 #
216 # For more information about the effect of this parameter, see
217 # https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
218 &quot;accelerators&quot;: [ # The list of accelerators to attach to the VM.
219 { # Carries information about an accelerator that can be attached to a VM.
220 &quot;count&quot;: &quot;A String&quot;, # How many accelerators of this type to attach.
221 &quot;type&quot;: &quot;A String&quot;, # The accelerator type string (for example, &quot;nvidia-tesla-k80&quot;).
222 #
223 # Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
224 # attached, the required runtime libraries will be made available to all
225 # containers under `/usr/local/nvidia`. The driver version to install must
226 # be specified using the NVIDIA driver version parameter on the virtual
227 # machine specification. Note that attaching a GPU increases the worker VM
228 # startup time by a few minutes.
229 },
230 ],
231 &quot;machineType&quot;: &quot;A String&quot;, # Required. The machine type of the virtual machine to create. Must be the short name
232 # of a standard machine type (such as &quot;n1-standard-1&quot;) or a custom machine
233 # type (such as &quot;custom-1-4096&quot;, where &quot;1&quot; indicates the number of vCPUs and
234 # &quot;4096&quot; indicates the memory in MB). See
235 # [Creating an instance with a custom machine
236 # type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create)
237 # for more specifications on creating a custom machine type.
238 &quot;preemptible&quot;: True or False, # If true, allocate a preemptible VM.
Bu Sun Kim65020912020-05-20 12:08:20 -0700239 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700240 },
241 &quot;actions&quot;: [ # The list of actions to execute, in the order they are specified.
242 { # Specifies a single action that runs a Docker container.
Bu Sun Kim65020912020-05-20 12:08:20 -0700243 &quot;credentials&quot;: { # Holds encrypted information that is only decrypted and stored in RAM # If the specified image is hosted on a private registry other than Google
244 # Container Registry, the credentials required to pull the image must be
245 # specified here as an encrypted secret.
246 #
247 # The secret must decrypt to a JSON-encoded dictionary containing both
248 # `username` and `password` keys.
249 # by the worker VM when running the pipeline.
250 &quot;keyName&quot;: &quot;A String&quot;, # The name of the Cloud KMS key that will be used to decrypt the secret
251 # value. The VM service account must have the required permissions and
252 # authentication scopes to invoke the `decrypt` method on the specified key.
253 &quot;cipherText&quot;: &quot;A String&quot;, # The value of the cipherText response from the `encrypt` method. This field
254 # is intentionally unaudited.
255 },
256 &quot;imageUri&quot;: &quot;A String&quot;, # Required. The URI to pull the container image from. Note that all images referenced
257 # by actions in the pipeline are pulled before the first action runs. If
258 # multiple actions reference the same image, it is only pulled once,
259 # ensuring that the same image is used for all actions in a single pipeline.
260 #
261 # The image URI can be either a complete host and image specification (e.g.,
262 # quay.io/biocontainers/samtools), a library and image name (e.g.,
263 # google/cloud-sdk) or a bare image name (&#x27;bash&#x27;) to pull from the default
264 # library. No schema is required in any of these cases.
265 #
266 # If the specified image is not public, the service account specified for
267 # the Virtual Machine must have access to pull the images from GCR, or
268 # appropriate credentials must be specified in the
269 # google.cloud.lifesciences.v2beta.Action.credentials field.
270 &quot;commands&quot;: [ # If specified, overrides the `CMD` specified in the container. If the
271 # container also has an `ENTRYPOINT` the values are used as entrypoint
272 # arguments. Otherwise, they are used as a command and arguments to run
273 # inside the container.
274 &quot;A String&quot;,
275 ],
276 &quot;ignoreExitStatus&quot;: True or False, # Normally, a non-zero exit status causes the pipeline to fail. This flag
277 # allows execution of other actions to continue instead.
278 &quot;runInBackground&quot;: True or False, # This flag allows an action to continue running in the background while
279 # executing subsequent actions. This is useful to provide services to
280 # other actions (or to provide debugging support tools like SSH servers).
281 &quot;enableFuse&quot;: True or False, # Enable access to the FUSE device for this action. Filesystems can then
282 # be mounted into disks shared with other actions. The other actions do
283 # not need the `enable_fuse` flag to access the mounted filesystem.
284 #
285 # This has the effect of causing the container to be executed with
286 # `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only
287 # for containers you trust.
288 &quot;labels&quot;: { # Labels to associate with the action. This field is provided to assist
289 # workflow engine authors in identifying actions (for example, to indicate
290 # what sort of action they perform, such as localization or debugging).
291 # They are returned in the operation metadata, but are otherwise ignored.
292 &quot;a_key&quot;: &quot;A String&quot;,
293 },
294 &quot;portMappings&quot;: { # A map of containers to host port mappings for this container. If the
295 # container already specifies exposed ports, use the
296 # `PUBLISH_EXPOSED_PORTS` flag instead.
297 #
298 # The host port number must be less than 65536. If it is zero, an unused
299 # random port is assigned. To determine the resulting port number, consult
300 # the `ContainerStartedEvent` in the operation metadata.
301 &quot;a_key&quot;: 42,
302 },
303 &quot;environment&quot;: { # The environment to pass into the container. This environment is merged
304 # with values specified in the google.cloud.lifesciences.v2beta.Pipeline
305 # message, overwriting any duplicate values.
306 #
307 # In addition to the values passed here, a few other values are
308 # automatically injected into the environment. These cannot be hidden or
309 # overwritten.
310 #
311 # `GOOGLE_PIPELINE_FAILED` will be set to &quot;1&quot; if the pipeline failed
312 # because an action has exited with a non-zero status (and did not have the
313 # `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional
314 # debug or logging actions should execute.
315 #
316 # `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
317 # non-background action that executed. This can be used by workflow engine
318 # authors to determine whether an individual action has succeeded or failed.
319 &quot;a_key&quot;: &quot;A String&quot;,
320 },
321 &quot;containerName&quot;: &quot;A String&quot;, # An optional name for the container. The container hostname will be set to
322 # this name, making it useful for inter-container communication. The name
323 # must contain only upper and lowercase alphanumeric characters and hyphens
324 # and cannot start with a hyphen.
325 &quot;disableImagePrefetch&quot;: True or False, # All container images are typically downloaded before any actions are
326 # executed. This helps prevent typos in URIs or issues like lack of disk
327 # space from wasting large amounts of compute resources.
328 #
329 # If set, this flag prevents the worker from downloading the image until
330 # just before the action is executed.
331 &quot;entrypoint&quot;: &quot;A String&quot;, # If specified, overrides the `ENTRYPOINT` specified in the container.
332 &quot;alwaysRun&quot;: True or False, # By default, after an action fails, no further actions are run. This flag
333 # indicates that this action must be run even if the pipeline has already
334 # failed. This is useful for actions that copy output files off of the VM
335 # or for debugging. Note that no actions will be run if image prefetching
336 # fails.
337 &quot;disableStandardErrorCapture&quot;: True or False, # A small portion of the container&#x27;s standard error stream is typically
338 # captured and returned inside the `ContainerStoppedEvent`. Setting this
339 # flag disables this functionality.
340 &quot;pidNamespace&quot;: &quot;A String&quot;, # An optional identifier for a PID namespace to run the action inside.
341 # Multiple actions should use the same string to share a namespace. If
342 # unspecified, a separate isolated namespace is used.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700343 &quot;mounts&quot;: [ # A list of mounts to make available to the action.
344 #
345 # In addition to the values specified here, every action has a special
346 # virtual disk mounted under `/google` that contains log files and other
347 # operational components.
348 #
349 # &lt;ul&gt;
350 # &lt;li&gt;&lt;code&gt;/google/logs&lt;/code&gt; All logs written during the pipeline
351 # execution.&lt;/li&gt;
352 # &lt;li&gt;&lt;code&gt;/google/logs/output&lt;/code&gt; The combined standard output and
353 # standard error of all actions run as part of the pipeline
354 # execution.&lt;/li&gt;
355 # &lt;li&gt;&lt;code&gt;/google/logs/action/*/stdout&lt;/code&gt; The complete contents of
356 # each individual action&#x27;s standard output.&lt;/li&gt;
357 # &lt;li&gt;&lt;code&gt;/google/logs/action/*/stderr&lt;/code&gt; The complete contents of
358 # each individual action&#x27;s standard error output.&lt;/li&gt;
359 # &lt;/ul&gt;
360 { # Carries information about a particular disk mount inside a container.
361 &quot;disk&quot;: &quot;A String&quot;, # The name of the disk to mount, as specified in the resources section.
362 &quot;readOnly&quot;: True or False, # If true, the disk is mounted read-only inside the container.
363 &quot;path&quot;: &quot;A String&quot;, # The path to mount the disk inside the container.
364 },
365 ],
366 &quot;publishExposedPorts&quot;: True or False, # Exposes all ports specified by `EXPOSE` statements in the container. To
367 # discover the host side port numbers, consult the `ACTION_STARTED` event
368 # in the operation metadata.
369 &quot;timeout&quot;: &quot;A String&quot;, # The maximum amount of time to give the action to complete. If the action
370 # fails to complete before the timeout, it will be terminated and the exit
371 # status will be non-zero. The pipeline will continue or terminate based
372 # on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
Bu Sun Kim65020912020-05-20 12:08:20 -0700373 },
374 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700375 &quot;environment&quot;: { # The environment to pass into every action. Each action can also specify
376 # additional environment variables but cannot delete an entry from this map
377 # (though they can overwrite it with a different value).
378 &quot;a_key&quot;: &quot;A String&quot;,
379 },
380 },
381 &quot;labels&quot;: { # User-defined labels to associate with the returned operation. These
382 # labels are not propagated to any Google Cloud Platform resources used by
383 # the operation, and can be modified at any time.
384 #
385 # To associate labels with resources created while executing the operation,
386 # see the appropriate resource message (for example, `VirtualMachine`).
387 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim65020912020-05-20 12:08:20 -0700388 },
389 }
390
391 x__xgafv: string, V1 error format.
392 Allowed values
393 1 - v1 error format
394 2 - v2 error format
395
396Returns:
397 An object of the form:
398
399 { # This resource represents a long-running operation that is the result of a
400 # network API call.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700401 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
402 # If `true`, the operation is completed, and either `error` or `response` is
403 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700404 &quot;response&quot;: { # An Empty object.
405 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
406 },
407 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name for the operation. This may be passed to the other operation methods to retrieve information about the operation&#x27;s status.
408 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
409 # different programming environments, including REST APIs and RPC APIs. It is
410 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
411 # three pieces of data: error code, error message, and error details.
412 #
413 # You can find out more about this error model and how to work with it in the
414 # [API Design Guide](https://cloud.google.com/apis/design/errors).
415 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
416 # user-facing error message should be localized and sent in the
417 # google.rpc.Status.details field, or localized by the client.
418 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
419 # message types for APIs to use.
420 {
421 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
422 },
423 ],
424 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
425 },
426 &quot;metadata&quot;: { # An Metadata object. This will always be returned with the Operation.
427 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
428 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700429 }</pre>
430</div>
431
432</body></html>