Runs a pipeline. The returned Operation'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 permission: * lifesciences.workflows.run

Scopes

You will need authorization for the https://www.googleapis.com/auth/cloud-platform scope to make a valid call.

If unset, the scope for this method defaults to https://www.googleapis.com/auth/cloud-platform. You can set the scope for this method like this: lifesciences2-beta --scope <scope> projects locations-pipelines-run ...

Required Scalar Argument

  • <parent> (string)
    • The project and location that this request should be executed against.

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

RunPipelineRequest:
  labels: { string: string }
  pipeline:
    encrypted-environment:
      cipher-text: string
      key-name: string
    environment: { string: string }
    resources:
      regions: [string]
      virtual-machine:
        boot-disk-size-gb: integer
        boot-image: string
        cpu-platform: string
        docker-cache-images: [string]
        enable-stackdriver-monitoring: boolean
        labels: { string: string }
        machine-type: string
        network:
          network: string
          subnetwork: string
          use-private-address: boolean
        nvidia-driver-version: string
        preemptible: boolean
        reservation: string
        service-account:
          email: string
          scopes: [string]
      zones: [string]
    timeout: string
  pub-sub-topic: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . labels=key=et
    • 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).
    • the value will be associated with the given key
  • pipeline.encrypted-environment cipher-text=magna
    • The value of the cipherText response from the encrypt method. This field is intentionally unaudited.
  • key-name=no

    • 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.
  • .. environment=key=ipsum

    • 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).
    • the value will be associated with the given key
  • resources regions=voluptua.
    • The list of regions allowed for VM allocation. If set, the zones field must not be set.
    • Each invocation of this argument appends the given value to the array.
  • virtual-machine boot-disk-size-gb=74
    • 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.
  • boot-image=sanctus
    • 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.
  • cpu-platform=sed
    • 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 "Intel Skylake"). 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.
  • docker-cache-images=amet.
    • 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. The root directory of the ext4 image must contain image and overlay2 directories copied from the Docker directory of a VM where the desired Docker images have already been pulled. Any images pulled that are not cached will be stored on the first cache disk instead of the boot disk. Only a single image is supported.
    • Each invocation of this argument appends the given value to the array.
  • enable-stackdriver-monitoring=true
    • Whether Stackdriver monitoring should be enabled on the VM.
  • labels=key=amet.
    • Optional set of labels to apply to the VM and any attached disk resources. These labels must adhere to the name and value restrictions on VM labels imposed by Compute Engine. Labels keys with the prefix 'google-' 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.
    • the value will be associated with the given key
  • machine-type=duo
    • Required. The machine type of the virtual machine to create. Must be the short name of a standard machine type (such as "n1-standard-1") or a custom machine type (such as "custom-1-4096", where "1" indicates the number of vCPUs and "4096" indicates the memory in MB). See Creating an instance with a custom machine type for more specifications on creating a custom machine type.
  • network network=ipsum
    • The network name to attach the VM'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.
  • subnetwork=gubergren
    • 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.
  • use-private-address=true

    • 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.
  • .. nvidia-driver-version=gubergren

    • 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.
  • preemptible=false
    • If true, allocate a preemptible VM.
  • reservation=dolor
    • If specified, the VM will only be allocated inside the matching reservation. It will fail if the VM parameters don't match the reservation.
  • service-account email=ea
    • Email address of the service account. If not specified, the default Compute Engine service account for the project will be used.
  • scopes=ipsum

    • 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.
    • Each invocation of this argument appends the given value to the array.
  • ... zones=invidunt

    • The list of zones allowed for VM allocation. If set, the regions field must not be set.
    • Each invocation of this argument appends the given value to the array.
  • .. timeout=amet

    • 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.
  • .. pub-sub-topic=duo

    • The name of an existing Pub/Sub topic. The server will publish messages to this topic whenever the status of the operation changes. The Life Sciences Service Agent account must have publisher permissions to the specified topic or notifications will not be sent.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").