blob: 2c0c941f2a63e36abd7b831918aee96f002c9162 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -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="genomics_v2alpha1.html">Genomics API</a> . <a href="genomics_v2alpha1.pipelines.html">pipelines</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#run">run(body, x__xgafv=None)</a></code></p>
79<p class="firstline">Runs a pipeline.</p>
80<h3>Method Details</h3>
81<div class="method">
82 <code class="details" id="run">run(body, x__xgafv=None)</code>
83 <pre>Runs a pipeline.
84
85**Note:** Before you can use this method, the Genomics Service Agent
86must have access to your project. This is done automatically when the
87Cloud Genomics API is first enabled, but if you delete this permission,
88or if you enabled the Cloud Genomics API before the v2alpha1 API
89launch, you must disable and re-enable the API to grant the Genomics
90Service Agent the required permissions.
91Authorization requires the following [Google
92IAM](https://cloud.google.com/iam/) permission:
93
94* `genomics.operations.create`
95
96[1]: /genomics/gsa
97
98Args:
99 body: object, The request body. (required)
100 The object takes the form of:
101
102{ # The arguments to the `RunPipeline` method. The requesting user must have
103 # the `iam.serviceAccounts.actAs` permission for the Cloud Genomics service
104 # account or the request will fail.
105 "pipeline": { # Specifies a series of actions to execute, expressed as Docker containers. # The description of the pipeline to run.
106 "environment": { # The environment to pass into every action. Each action can also specify
107 # additional environment variables but cannot delete an entry from this map
108 # (though they can overwrite it with a different value).
109 "a_key": "A String",
110 },
111 "actions": [ # The list of actions to execute, in the order they are specified.
112 { # Specifies a single action that runs a Docker container.
113 "environment": { # The environment to pass into the container. This environment is merged
114 # with any values specified in the `Pipeline` message. These values
115 # overwrite any in the `Pipeline` message.
116 #
117 # In addition to the values passed here, a few other values are
118 # automatically injected into the environment. These cannot be hidden or
119 # overwritten.
120 #
121 # `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline failed
122 # because an action has exited with a non-zero status (and did not have the
123 # `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional
124 # debug or logging actions should execute.
125 #
126 # `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
127 # non-background action that executed. This can be used by workflow engine
128 # authors to determine whether an individual action has succeeded or failed.
129 "a_key": "A String",
130 },
131 "commands": [ # If specified, overrides the `CMD` specified in the container. If the
132 # container also has an `ENTRYPOINT` the values are used as entrypoint
133 # arguments. Otherwise, they are used as a command and arguments to run
134 # inside the container.
135 "A String",
136 ],
137 "name": "A String", # An optional name for the container. The container hostname will be set to
138 # this name, making it useful for inter-container communication. The name
139 # must contain only upper and lowercase alphanumeric characters and hypens
140 # and cannot start with a hyphen.
141 "labels": { # Labels to associate with the action. This field is provided to assist
142 # workflow engine authors in identifying actions (for example, to indicate
143 # what sort of action they perform, such as localization or debugging).
144 # They are returned in the operation metadata, but are otherwise ignored.
145 "a_key": "A String",
146 },
147 "pidNamespace": "A String", # An optional identifier for a PID namespace to run the action inside.
148 # Multiple actions should use the same string to share a namespace. If
149 # unspecified, a separate isolated namespace is used.
150 "imageUri": "A String", # The URI to pull the container image from. Note that all images referenced
151 # by actions in the pipeline are pulled before the first action runs. If
152 # multiple actions reference the same image, it is only pulled once,
153 # ensuring that the same image is used for all actions in a single pipeline.
154 "portMappings": { # A map of containers to host port mappings for this container. If the
155 # container already specifies exposed ports, use the
156 # `PUBLISH_EXPOSED_PORTS` flag instead.
157 #
158 # The host port number must be less than 65536. If it is zero, an unused
159 # random port is assigned. To determine the resulting port number, consult
160 # the `ContainerStartedEvent` in the operation metadata.
161 "a_key": 42,
162 },
163 "flags": [ # The set of flags to apply to this action.
164 "A String",
165 ],
166 "timeout": "A String", # The maximum amount of time to give the action to complete. If the action
167 # fails to complete before the timeout, it will be terminated and the exit
168 # status will be non-zero. The pipeline will continue or terminate based
169 # on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
170 "mounts": [ # A list of mounts to make available to the action.
171 #
172 # In addition to the values specified here, every action has a special
173 # virtual disk mounted under `/google` that contains log files and other
174 # operational components.
175 #
176 # <ul>
177 # <li><code>/google/logs</code> All logs written during the pipeline
178 # execution.</li>
179 # <li><code>/google/logs/output</code> The combined standard output and
180 # standard error of all actions run as part of the pipeline
181 # execution.</li>
182 # <li><code>/google/logs/action/*/stdout</code> The complete contents of
183 # each individual action's standard output.</li>
184 # <li><code>/google/logs/action/*/stderr</code> The complete contents of
185 # each individual action's standard error output.</li>
186 # </ul>
187 { # Carries information about a particular disk mount inside a container.
188 "path": "A String", # The path to mount the disk inside the container.
189 "readOnly": True or False, # If true, the disk is mounted read-only inside the container.
190 "disk": "A String", # The name of the disk to mount, as specified in the resources section.
191 },
192 ],
193 "credentials": { # Holds encrypted information that is only decrypted and stored in RAM # If the specified image is hosted on a private registry other than Google
194 # Container Registry, the credentials required to pull the image must be
195 # specified here as an encrypted secret.
196 #
197 # The secret must decrypt to a JSON-encoded dictionary containing both
198 # `username` and `password` keys.
199 # by the worker VM when running the pipeline.
200 "cipherText": "A String", # The value of the cipherText response from the `encrypt` method. This field
201 # is intentionally unaudited.
202 "keyName": "A String", # The name of the Cloud KMS key that will be used to decrypt the secret
203 # value. The VM service account must have the required permissions and
204 # authentication scopes to invoke the `decrypt` method on the specified key.
205 },
206 "entrypoint": "A String", # If specified, overrides the `ENTRYPOINT` specified in the container.
207 },
208 ],
209 "resources": { # The system resources for the pipeline run. # The resources required for execution.
210 #
211 # At least one zone or region must be specified or the pipeline run will fail.
212 "regions": [ # The list of regions allowed for VM allocation. If set, the `zones` field
213 # must not be set.
214 "A String",
215 ],
216 "projectId": "A String", # The project ID to allocate resources in.
217 "zones": [ # The list of zones allowed for VM allocation. If set, the `regions` field
218 # must not be set.
219 "A String",
220 ],
221 "virtualMachine": { # Carries information about a Compute Engine VM resource. # The virtual machine specification.
222 "cpuPlatform": "A String", # The CPU platform to request. An instance based on a newer platform can be
223 # allocated, but never one with fewer capabilities. The value of this
224 # parameter must be a valid Compute Engine CPU platform name (such as "Intel
225 # Skylake"). This parameter is only useful for carefully optimized work
226 # loads where the CPU platform has a significant impact.
227 #
228 # For more information about the effect of this parameter, see
229 # https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
230 "labels": { # Optional set of labels to apply to the VM and any attached disk resources.
231 # These labels must adhere to the name and value restrictions on VM labels
232 # imposed by Compute Engine.
233 #
234 # Labels applied at creation time to the VM. Applied on a best-effort basis
235 # to attached disk resources shortly after VM creation.
236 "a_key": "A String",
237 },
238 "machineType": "A String", # The machine type of the virtual machine to create. Must be the short name
239 # of a standard machine type (such as "n1-standard-1") or a custom machine
240 # type (such as "custom-1-4096", where "1" indicates the number of vCPUs and
241 # "4096" indicates the memory in MB). See
242 # [Creating an instance with a custom machine
243 # type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create)
244 # for more specifications on creating a custom machine type.
245 "network": { # VM networking options. # The VM network configuration.
246 "subnetwork": "A String", # If the specified network is configured for custom subnet creation, the
247 # name of the subnetwork to attach the instance to must be specified here.
248 #
249 # The value is prefixed with `regions/*/subnetworks/` unless it contains a
250 # `/`, in which case it is assumed to be a fully specified subnetwork
251 # resource URL.
252 #
253 # If the `*` character appears in the value, it is replaced with the region
254 # that the virtual machine has been allocated in.
255 "usePrivateAddress": True or False, # If set to true, do not attach a public IP address to the VM. Note that
256 # without a public IP address, additional configuration is required to
257 # allow the VM to access Google services.
258 #
259 # See https://cloud.google.com/vpc/docs/configure-private-google-access
260 # for more information.
261 "name": "A String", # The network name to attach the VM's network interface to. The value will
262 # be prefixed with `global/networks/` unless it contains a `/`, in which
263 # case it is assumed to be a fully specified network resource URL.
264 #
265 # If unspecified, the global default network is used.
266 },
267 "nvidiaDriverVersion": "A String", # The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
268 # The version specified here must be compatible with the GPU libraries
269 # contained in the container being executed, and must be one of the drivers
270 # hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.
271 "disks": [ # The list of disks to create and attach to the VM.
272 { # Carries information about a disk that can be attached to a VM.
273 #
274 # See https://cloud.google.com/compute/docs/disks/performance for more
275 # information about disk type, size, and performance considerations.
276 "type": "A String", # The Compute Engine disk type. If unspecified, `pd-standard` is used.
277 "sourceImage": "A String", # An optional image to put on the disk before attaching it to the VM.
278 "sizeGb": 42, # The size, in GB, of the disk to attach. If the size is not
279 # specified, a default is chosen to ensure reasonable I/O performance.
280 #
281 # If the disk type is specified as `local-ssd`, multiple local drives are
282 # automatically combined to provide the requested size. Note, however, that
283 # each physical SSD is 375GB in size, and no more than 8 drives can be
284 # attached to a single instance.
285 "name": "A String", # A user-supplied name for the disk. Used when mounting the disk into
286 # actions. The name must contain only upper and lowercase alphanumeric
287 # characters and hypens and cannot start with a hyphen.
288 },
289 ],
290 "serviceAccount": { # Carries information about a Google Cloud service account. # The service account to install on the VM. This account does not need
291 # any permissions other than those required by the pipeline.
292 "scopes": [ # List of scopes to be enabled for this service account on the VM, in
293 # addition to the Cloud Genomics API scope.
294 "A String",
295 ],
296 "email": "A String", # Email address of the service account. If not specified, the default
297 # Compute Engine service account for the project will be used.
298 },
299 "bootDiskSizeGb": 42, # The size of the boot disk, in GB. The boot disk must be large
300 # enough to accommodate all of the Docker images from each action in the
301 # pipeline at the same time. If not specified, a small but reasonable
302 # default value is used.
303 "bootImage": "A String", # The host operating system image to use.
304 #
305 # Currently, only Container-Optimized OS images can be used.
306 #
307 # The default value is `projects/cos-cloud/global/images/family/cos-stable`,
308 # which selects the latest stable release of Container-Optimized OS.
309 #
310 # This option is provided to allow testing against the beta release of the
311 # operating system to ensure that the new version does not interact
312 # negatively with production pipelines.
313 #
314 # To test a pipeline against the beta release of Container-Optimized OS,
315 # use the value `projects/cos-cloud/global/images/family/cos-beta`.
316 "accelerators": [ # The list of accelerators to attach to the VM.
317 { # Carries information about an accelerator that can be attached to a VM.
318 "count": "A String", # How many accelerators of this type to attach.
319 "type": "A String", # The accelerator type string (for example, "nvidia-tesla-k80").
320 #
321 # Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
322 # attached, the required runtime libraries will be made available to all
323 # containers under `/usr/local/nvidia`. The driver version to install must
324 # be specified using the NVIDIA driver version parameter on the virtual
325 # machine specification. Note that attaching a GPU increases the worker VM
326 # startup time by a few minutes.
327 },
328 ],
329 "enableStackdriverMonitoring": True or False, # Whether Stackdriver monitoring should be enabled on the VM.
330 "preemptible": True or False, # If true, allocate a preemptible VM.
331 },
332 },
333 "timeout": "A String", # The maximum amount of time to give the pipeline to complete. This includes
334 # the time spent waiting for a worker to be allocated. If the pipeline fails
335 # to complete before the timeout, it will be cancelled and the error code
336 # will be set to DEADLINE_EXCEEDED.
337 #
338 # If unspecified, it will default to 7 days.
339 },
340 "labels": { # User-defined labels to associate with the returned operation. These
341 # labels are not propagated to any Google Cloud Platform resources used by
342 # the operation, and can be modified at any time.
343 #
344 # To associate labels with resources created while executing the operation,
345 # see the appropriate resource message (for example, `VirtualMachine`).
346 "a_key": "A String",
347 },
348 }
349
350 x__xgafv: string, V1 error format.
351 Allowed values
352 1 - v1 error format
353 2 - v2 error format
354
355Returns:
356 An object of the form:
357
358 { # This resource represents a long-running operation that is the result of a
359 # network API call.
360 "metadata": { # An OperationMetadata or Metadata object. This will always be returned with the Operation.
361 "a_key": "", # Properties of the object. Contains field @type with type URL.
362 },
363 "done": True or False, # If the value is `false`, it means the operation is still in progress.
364 # If `true`, the operation is completed, and either `error` or `response` is
365 # available.
366 "response": { # An Empty object.
367 "a_key": "", # Properties of the object. Contains field @type with type URL.
368 },
369 "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. For example&#58; `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`
370 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
371 # different programming environments, including REST APIs and RPC APIs. It is
372 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
373 # three pieces of data: error code, error message, and error details.
374 #
375 # You can find out more about this error model and how to work with it in the
376 # [API Design Guide](https://cloud.google.com/apis/design/errors).
377 "message": "A String", # A developer-facing error message, which should be in English. Any
378 # user-facing error message should be localized and sent in the
379 # google.rpc.Status.details field, or localized by the client.
380 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
381 "details": [ # A list of messages that carry the error details. There is a common set of
382 # message types for APIs to use.
383 {
384 "a_key": "", # Properties of the object. Contains field @type with type URL.
385 },
386 ],
387 },
388 }</pre>
389</div>
390
391</body></html>