blob: 700de794bb5440f5ec639ec92f927fc56f73329d [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<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>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#run">run(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Runs a pipeline. The returned Operation's metadata field will contain a</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="run">run(parent, body=None, x__xgafv=None)</code>
<pre>Runs a pipeline. The returned Operation&#x27;s metadata field will contain a
google.cloud.lifesciences.v2beta.Metadata object describing the status
of the pipeline execution. The
response field will contain a
google.cloud.lifesciences.v2beta.RunPipelineResponse object if the
pipeline completes successfully.
**Note:** Before you can use this method, the *Life Sciences Service Agent*
must have access to your project. This is done automatically when the
Cloud Life Sciences API is first enabled, but if you delete this permission
you must disable and re-enable the API to grant the Life Sciences
Service Agent the required permissions.
Authorization requires the following [Google
IAM](https://cloud.google.com/iam/) permission:
* `lifesciences.workflows.run`
Args:
parent: string, The project and location that this request should be executed against. (required)
body: object, The request body.
The object takes the form of:
{ # The arguments to the `RunPipeline` method. The requesting user must have
# the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences
# service account or the request will fail.
&quot;pipeline&quot;: { # Specifies a series of actions to execute, expressed as Docker containers. # Required. The description of the pipeline to run.
&quot;environment&quot;: { # The environment to pass into every action. Each action can also specify
# additional environment variables but cannot delete an entry from this map
# (though they can overwrite it with a different value).
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;actions&quot;: [ # The list of actions to execute, in the order they are specified.
{ # Specifies a single action that runs a Docker container.
&quot;publishExposedPorts&quot;: True or False, # Exposes all ports specified by `EXPOSE` statements in the container. To
# discover the host side port numbers, consult the `ACTION_STARTED` event
# in the operation metadata.
&quot;environment&quot;: { # The environment to pass into the container. This environment is merged
# with values specified in the google.cloud.lifesciences.v2beta.Pipeline
# message, overwriting any duplicate values.
#
# In addition to the values passed here, a few other values are
# automatically injected into the environment. These cannot be hidden or
# overwritten.
#
# `GOOGLE_PIPELINE_FAILED` will be set to &quot;1&quot; if the pipeline failed
# because an action has exited with a non-zero status (and did not have the
# `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional
# debug or logging actions should execute.
#
# `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
# non-background action that executed. This can be used by workflow engine
# authors to determine whether an individual action has succeeded or failed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;labels&quot;: { # Labels to associate with the action. This field is provided to assist
# workflow engine authors in identifying actions (for example, to indicate
# what sort of action they perform, such as localization or debugging).
# They are returned in the operation metadata, but are otherwise ignored.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;containerName&quot;: &quot;A String&quot;, # An optional name for the container. The container hostname will be set to
# this name, making it useful for inter-container communication. The name
# must contain only upper and lowercase alphanumeric characters and hyphens
# and cannot start with a hyphen.
&quot;commands&quot;: [ # If specified, overrides the `CMD` specified in the container. If the
# container also has an `ENTRYPOINT` the values are used as entrypoint
# arguments. Otherwise, they are used as a command and arguments to run
# inside the container.
&quot;A String&quot;,
],
&quot;enableFuse&quot;: True or False, # Enable access to the FUSE device for this action. Filesystems can then
# be mounted into disks shared with other actions. The other actions do
# not need the `enable_fuse` flag to access the mounted filesystem.
#
# This has the effect of causing the container to be executed with
# `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only
# for containers you trust.
&quot;mounts&quot;: [ # A list of mounts to make available to the action.
#
# In addition to the values specified here, every action has a special
# virtual disk mounted under `/google` that contains log files and other
# operational components.
#
# &lt;ul&gt;
# &lt;li&gt;&lt;code&gt;/google/logs&lt;/code&gt; All logs written during the pipeline
# execution.&lt;/li&gt;
# &lt;li&gt;&lt;code&gt;/google/logs/output&lt;/code&gt; The combined standard output and
# standard error of all actions run as part of the pipeline
# execution.&lt;/li&gt;
# &lt;li&gt;&lt;code&gt;/google/logs/action/*/stdout&lt;/code&gt; The complete contents of
# each individual action&#x27;s standard output.&lt;/li&gt;
# &lt;li&gt;&lt;code&gt;/google/logs/action/*/stderr&lt;/code&gt; The complete contents of
# each individual action&#x27;s standard error output.&lt;/li&gt;
# &lt;/ul&gt;
{ # Carries information about a particular disk mount inside a container.
&quot;path&quot;: &quot;A String&quot;, # The path to mount the disk inside the container.
&quot;disk&quot;: &quot;A String&quot;, # The name of the disk to mount, as specified in the resources section.
&quot;readOnly&quot;: True or False, # If true, the disk is mounted read-only inside the container.
},
],
&quot;alwaysRun&quot;: True or False, # By default, after an action fails, no further actions are run. This flag
# indicates that this action must be run even if the pipeline has already
# failed. This is useful for actions that copy output files off of the VM
# or for debugging. Note that no actions will be run if image prefetching
# fails.
&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
# Container Registry, the credentials required to pull the image must be
# specified here as an encrypted secret.
#
# The secret must decrypt to a JSON-encoded dictionary containing both
# `username` and `password` keys.
# by the worker VM when running the pipeline.
&quot;cipherText&quot;: &quot;A String&quot;, # The value of the cipherText response from the `encrypt` method. This field
# is intentionally unaudited.
&quot;keyName&quot;: &quot;A String&quot;, # The name of the Cloud KMS key that will be used to decrypt the secret
# value. The VM service account must have the required permissions and
# authentication scopes to invoke the `decrypt` method on the specified key.
},
&quot;pidNamespace&quot;: &quot;A String&quot;, # An optional identifier for a PID namespace to run the action inside.
# Multiple actions should use the same string to share a namespace. If
# unspecified, a separate isolated namespace is used.
&quot;imageUri&quot;: &quot;A String&quot;, # Required. The URI to pull the container image from. Note that all images referenced
# by actions in the pipeline are pulled before the first action runs. If
# multiple actions reference the same image, it is only pulled once,
# ensuring that the same image is used for all actions in a single pipeline.
#
# The image URI can be either a complete host and image specification (e.g.,
# quay.io/biocontainers/samtools), a library and image name (e.g.,
# google/cloud-sdk) or a bare image name (&#x27;bash&#x27;) to pull from the default
# library. No schema is required in any of these cases.
#
# If the specified image is not public, the service account specified for
# the Virtual Machine must have access to pull the images from GCR, or
# appropriate credentials must be specified in the
# google.cloud.lifesciences.v2beta.Action.credentials field.
&quot;disableStandardErrorCapture&quot;: True or False, # A small portion of the container&#x27;s standard error stream is typically
# captured and returned inside the `ContainerStoppedEvent`. Setting this
# flag disables this functionality.
&quot;entrypoint&quot;: &quot;A String&quot;, # If specified, overrides the `ENTRYPOINT` specified in the container.
&quot;portMappings&quot;: { # A map of containers to host port mappings for this container. If the
# container already specifies exposed ports, use the
# `PUBLISH_EXPOSED_PORTS` flag instead.
#
# The host port number must be less than 65536. If it is zero, an unused
# random port is assigned. To determine the resulting port number, consult
# the `ContainerStartedEvent` in the operation metadata.
&quot;a_key&quot;: 42,
},
&quot;disableImagePrefetch&quot;: True or False, # All container images are typically downloaded before any actions are
# executed. This helps prevent typos in URIs or issues like lack of disk
# space from wasting large amounts of compute resources.
#
# If set, this flag prevents the worker from downloading the image until
# just before the action is executed.
&quot;timeout&quot;: &quot;A String&quot;, # The maximum amount of time to give the action to complete. If the action
# fails to complete before the timeout, it will be terminated and the exit
# status will be non-zero. The pipeline will continue or terminate based
# on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
&quot;ignoreExitStatus&quot;: True or False, # Normally, a non-zero exit status causes the pipeline to fail. This flag
# allows execution of other actions to continue instead.
&quot;runInBackground&quot;: True or False, # This flag allows an action to continue running in the background while
# executing subsequent actions. This is useful to provide services to
# other actions (or to provide debugging support tools like SSH servers).
},
],
&quot;timeout&quot;: &quot;A String&quot;, # The maximum amount of time to give the pipeline to complete. This includes
# the time spent waiting for a worker to be allocated. If the pipeline fails
# to complete before the timeout, it will be cancelled and the error code
# will be set to DEADLINE_EXCEEDED.
#
# If unspecified, it will default to 7 days.
&quot;resources&quot;: { # The system resources for the pipeline run. # The resources required for execution.
#
# At least one zone or region must be specified or the pipeline run will fail.
&quot;zones&quot;: [ # The list of zones allowed for VM allocation. If set, the `regions` field
# must not be set.
&quot;A String&quot;,
],
&quot;regions&quot;: [ # The list of regions allowed for VM allocation. If set, the `zones` field
# must not be set.
&quot;A String&quot;,
],
&quot;virtualMachine&quot;: { # Carries information about a Compute Engine VM resource. # The virtual machine specification.
&quot;bootDiskSizeGb&quot;: 42, # The size of the boot disk, in GB. The boot disk must be large
# enough to accommodate all of the Docker images from each action in the
# pipeline at the same time. If not specified, a small but reasonable
# default value is used.
&quot;accelerators&quot;: [ # The list of accelerators to attach to the VM.
{ # Carries information about an accelerator that can be attached to a VM.
&quot;count&quot;: &quot;A String&quot;, # How many accelerators of this type to attach.
&quot;type&quot;: &quot;A String&quot;, # The accelerator type string (for example, &quot;nvidia-tesla-k80&quot;).
#
# Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
# attached, the required runtime libraries will be made available to all
# containers under `/usr/local/nvidia`. The driver version to install must
# be specified using the NVIDIA driver version parameter on the virtual
# machine specification. Note that attaching a GPU increases the worker VM
# startup time by a few minutes.
},
],
&quot;machineType&quot;: &quot;A String&quot;, # Required. The machine type of the virtual machine to create. Must be the short name
# of a standard machine type (such as &quot;n1-standard-1&quot;) or a custom machine
# type (such as &quot;custom-1-4096&quot;, where &quot;1&quot; indicates the number of vCPUs and
# &quot;4096&quot; indicates the memory in MB). See
# [Creating an instance with a custom machine
# type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create)
# for more specifications on creating a custom machine type.
&quot;labels&quot;: { # Optional set of labels to apply to the VM and any attached disk resources.
# These labels must adhere to the [name and value
# restrictions](https://cloud.google.com/compute/docs/labeling-resources) on
# VM labels imposed by Compute Engine.
#
# Labels keys with the prefix &#x27;google-&#x27; are reserved for use by Google.
#
# Labels applied at creation time to the VM. Applied on a best-effort basis
# to attached disk resources shortly after VM creation.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;dockerCacheImages&quot;: [ # The Compute Engine Disk Images to use as a Docker cache. The disks will be
# mounted into the Docker folder in a way that the images present in the
# cache will not need to be pulled. The digests of the cached images must
# match those of the tags used or the latest version will still be pulled.
# Only a single image is supported.
&quot;A String&quot;,
],
&quot;enableStackdriverMonitoring&quot;: True or False, # Whether Stackdriver monitoring should be enabled on the VM.
&quot;bootImage&quot;: &quot;A String&quot;, # The host operating system image to use.
#
# Currently, only Container-Optimized OS images can be used.
#
# The default value is `projects/cos-cloud/global/images/family/cos-stable`,
# which selects the latest stable release of Container-Optimized OS.
#
# This option is provided to allow testing against the beta release of the
# operating system to ensure that the new version does not interact
# negatively with production pipelines.
#
# To test a pipeline against the beta release of Container-Optimized OS,
# use the value `projects/cos-cloud/global/images/family/cos-beta`.
&quot;cpuPlatform&quot;: &quot;A String&quot;, # The CPU platform to request. An instance based on a newer platform can be
# allocated, but never one with fewer capabilities. The value of this
# parameter must be a valid Compute Engine CPU platform name (such as &quot;Intel
# Skylake&quot;). This parameter is only useful for carefully optimized work
# loads where the CPU platform has a significant impact.
#
# For more information about the effect of this parameter, see
# https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
&quot;preemptible&quot;: True or False, # If true, allocate a preemptible VM.
&quot;disks&quot;: [ # The list of disks to create and attach to the VM.
{ # Carries information about a disk that can be attached to a VM.
#
# See https://cloud.google.com/compute/docs/disks/performance for more
# information about disk type, size, and performance considerations.
&quot;type&quot;: &quot;A String&quot;, # The Compute Engine disk type. If unspecified, `pd-standard` is used.
&quot;sizeGb&quot;: 42, # The size, in GB, of the disk to attach. If the size is not
# specified, a default is chosen to ensure reasonable I/O performance.
#
# If the disk type is specified as `local-ssd`, multiple local drives are
# automatically combined to provide the requested size. Note, however, that
# each physical SSD is 375GB in size, and no more than 8 drives can be
# attached to a single instance.
&quot;sourceImage&quot;: &quot;A String&quot;, # An optional image to put on the disk before attaching it to the VM.
&quot;name&quot;: &quot;A String&quot;, # A user-supplied name for the disk. Used when mounting the disk into
# actions. The name must contain only upper and lowercase alphanumeric
# characters and hyphens and cannot start with a hyphen.
},
],
&quot;nvidiaDriverVersion&quot;: &quot;A String&quot;, # The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
# The version specified here must be compatible with the GPU libraries
# contained in the container being executed, and must be one of the drivers
# hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.
&quot;serviceAccount&quot;: { # Carries information about a Google Cloud service account. # The service account to install on the VM. This account does not need
# any permissions other than those required by the pipeline.
&quot;scopes&quot;: [ # List of scopes to be enabled for this service account on the VM, in
# addition to the cloud-platform API scope that will be added by default.
&quot;A String&quot;,
],
&quot;email&quot;: &quot;A String&quot;, # Email address of the service account. If not specified, the default
# Compute Engine service account for the project will be used.
},
&quot;network&quot;: { # VM networking options. # The VM network configuration.
&quot;network&quot;: &quot;A String&quot;, # The network name to attach the VM&#x27;s network interface to. The value will
# be prefixed with `global/networks/` unless it contains a `/`, in which
# case it is assumed to be a fully specified network resource URL.
#
# If unspecified, the global default network is used.
&quot;usePrivateAddress&quot;: True or False, # If set to true, do not attach a public IP address to the VM. Note that
# without a public IP address, additional configuration is required to
# allow the VM to access Google services.
#
# See https://cloud.google.com/vpc/docs/configure-private-google-access
# for more information.
&quot;subnetwork&quot;: &quot;A String&quot;, # If the specified network is configured for custom subnet creation, the
# name of the subnetwork to attach the instance to must be specified here.
#
# The value is prefixed with `regions/*/subnetworks/` unless it contains a
# `/`, in which case it is assumed to be a fully specified subnetwork
# resource URL.
#
# If the `*` character appears in the value, it is replaced with the region
# that the virtual machine has been allocated in.
},
},
},
},
&quot;labels&quot;: { # User-defined labels to associate with the returned operation. These
# labels are not propagated to any Google Cloud Platform resources used by
# the operation, and can be modified at any time.
#
# To associate labels with resources created while executing the operation,
# see the appropriate resource message (for example, `VirtualMachine`).
&quot;a_key&quot;: &quot;A String&quot;,
},
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # This resource represents a long-running operation that is the result of a
# network API call.
&quot;response&quot;: { # An Empty object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
# If `true`, the operation is completed, and either `error` or `response` is
# available.
&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.
# different programming environments, including REST APIs and RPC APIs. It is
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
# three pieces of data: error code, error message, and error details.
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
# user-facing error message should be localized and sent in the
# google.rpc.Status.details field, or localized by the client.
},
&quot;metadata&quot;: { # An Metadata object. This will always be returned with the Operation.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&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.
}</pre>
</div>
</body></html>