1"""Generated message classes for lifesciences version v2beta.
2
3Cloud Life Sciences is a suite of services and tools for managing, processing,
4and transforming life sciences data.
5"""
6# NOTE: This file is autogenerated and should not be edited by hand.
7
8from __future__ import absolute_import
9
10from apitools.base.protorpclite import messages as _messages
11from apitools.base.py import encoding
12from apitools.base.py import extra_types
13
14
15package = 'lifesciences'
16
17
18class Accelerator(_messages.Message):
19  r"""Carries information about an accelerator that can be attached to a VM.
20
21  Fields:
22    count: How many accelerators of this type to attach.
23    type: The accelerator type string (for example, "nvidia-tesla-k80"). Only
24      NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
25      attached, the required runtime libraries will be made available to all
26      containers under `/usr/local/nvidia`. The driver version to install must
27      be specified using the NVIDIA driver version parameter on the virtual
28      machine specification. Note that attaching a GPU increases the worker VM
29      startup time by a few minutes.
30  """
31
32  count = _messages.IntegerField(1)
33  type = _messages.StringField(2)
34
35
36class Action(_messages.Message):
37  r"""Specifies a single action that runs a Docker container.
38
39  Messages:
40    EnvironmentValue: The environment to pass into the container. This
41      environment is merged with values specified in the
42      google.cloud.lifesciences.v2beta.Pipeline message, overwriting any
43      duplicate values. In addition to the values passed here, a few other
44      values are automatically injected into the environment. These cannot be
45      hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to "1" if
46      the pipeline failed because an action has exited with a non-zero status
47      (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used
48      to determine if additional debug or logging actions should execute.
49      `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
50      non-background action that executed. This can be used by workflow engine
51      authors to determine whether an individual action has succeeded or
52      failed.
53    LabelsValue: Labels to associate with the action. This field is provided
54      to assist workflow engine authors in identifying actions (for example,
55      to indicate what sort of action they perform, such as localization or
56      debugging). They are returned in the operation metadata, but are
57      otherwise ignored.
58    PortMappingsValue: A map of containers to host port mappings for this
59      container. If the container already specifies exposed ports, use the
60      `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less
61      than 65536. If it is zero, an unused random port is assigned. To
62      determine the resulting port number, consult the `ContainerStartedEvent`
63      in the operation metadata.
64
65  Fields:
66    alwaysRun: By default, after an action fails, no further actions are run.
67      This flag indicates that this action must be run even if the pipeline
68      has already failed. This is useful for actions that copy output files
69      off of the VM or for debugging. Note that no actions will be run if
70      image prefetching fails.
71    blockExternalNetwork: Prevents the container from accessing the external
72      network.
73    commands: If specified, overrides the `CMD` specified in the container. If
74      the container also has an `ENTRYPOINT` the values are used as entrypoint
75      arguments. Otherwise, they are used as a command and arguments to run
76      inside the container.
77    containerName: An optional name for the container. The container hostname
78      will be set to this name, making it useful for inter-container
79      communication. The name must contain only upper and lowercase
80      alphanumeric characters and hyphens and cannot start with a hyphen.
81    credentials: If the specified image is hosted on a private registry other
82      than Google Container Registry, the credentials required to pull the
83      image must be specified here as an encrypted secret. The secret must
84      decrypt to a JSON-encoded dictionary containing both `username` and
85      `password` keys.
86    disableImagePrefetch: All container images are typically downloaded before
87      any actions are executed. This helps prevent typos in URIs or issues
88      like lack of disk space from wasting large amounts of compute resources.
89      If set, this flag prevents the worker from downloading the image until
90      just before the action is executed.
91    disableStandardErrorCapture: A small portion of the container's standard
92      error stream is typically captured and returned inside the
93      `ContainerStoppedEvent`. Setting this flag disables this functionality.
94    enableFuse: Enable access to the FUSE device for this action. Filesystems
95      can then be mounted into disks shared with other actions. The other
96      actions do not need the `enable_fuse` flag to access the mounted
97      filesystem. This has the effect of causing the container to be executed
98      with `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it
99      only for containers you trust.
100    entrypoint: If specified, overrides the `ENTRYPOINT` specified in the
101      container.
102    environment: The environment to pass into the container. This environment
103      is merged with values specified in the
104      google.cloud.lifesciences.v2beta.Pipeline message, overwriting any
105      duplicate values. In addition to the values passed here, a few other
106      values are automatically injected into the environment. These cannot be
107      hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to "1" if
108      the pipeline failed because an action has exited with a non-zero status
109      (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used
110      to determine if additional debug or logging actions should execute.
111      `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
112      non-background action that executed. This can be used by workflow engine
113      authors to determine whether an individual action has succeeded or
114      failed.
115    ignoreExitStatus: Normally, a non-zero exit status causes the pipeline to
116      fail. This flag allows execution of other actions to continue instead.
117    imageUri: Required. The URI to pull the container image from. Note that
118      all images referenced by actions in the pipeline are pulled before the
119      first action runs. If multiple actions reference the same image, it is
120      only pulled once, ensuring that the same image is used for all actions
121      in a single pipeline. The image URI can be either a complete host and
122      image specification (e.g., quay.io/biocontainers/samtools), a library
123      and image name (e.g., google/cloud-sdk) or a bare image name ('bash') to
124      pull from the default library. No schema is required in any of these
125      cases. If the specified image is not public, the service account
126      specified for the Virtual Machine must have access to pull the images
127      from GCR, or appropriate credentials must be specified in the
128      google.cloud.lifesciences.v2beta.Action.credentials field.
129    labels: Labels to associate with the action. This field is provided to
130      assist workflow engine authors in identifying actions (for example, to
131      indicate what sort of action they perform, such as localization or
132      debugging). They are returned in the operation metadata, but are
133      otherwise ignored.
134    mounts: A list of mounts to make available to the action. In addition to
135      the values specified here, every action has a special virtual disk
136      mounted under `/google` that contains log files and other operational
137      components. - /google/logs All logs written during the pipeline
138      execution. - /google/logs/output The combined standard output and
139      standard error of all actions run as part of the pipeline execution. -
140      /google/logs/action/*/stdout The complete contents of each individual
141      action's standard output. - /google/logs/action/*/stderr The complete
142      contents of each individual action's standard error output.
143    pidNamespace: An optional identifier for a PID namespace to run the action
144      inside. Multiple actions should use the same string to share a
145      namespace. If unspecified, a separate isolated namespace is used.
146    portMappings: A map of containers to host port mappings for this
147      container. If the container already specifies exposed ports, use the
148      `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less
149      than 65536. If it is zero, an unused random port is assigned. To
150      determine the resulting port number, consult the `ContainerStartedEvent`
151      in the operation metadata.
152    publishExposedPorts: Exposes all ports specified by `EXPOSE` statements in
153      the container. To discover the host side port numbers, consult the
154      `ACTION_STARTED` event in the operation metadata.
155    runInBackground: This flag allows an action to continue running in the
156      background while executing subsequent actions. This is useful to provide
157      services to other actions (or to provide debugging support tools like
158      SSH servers).
159    timeout: The maximum amount of time to give the action to complete. If the
160      action fails to complete before the timeout, it will be terminated and
161      the exit status will be non-zero. The pipeline will continue or
162      terminate based on the rules defined by the `ALWAYS_RUN` and
163      `IGNORE_EXIT_STATUS` flags.
164  """
165
166  @encoding.MapUnrecognizedFields('additionalProperties')
167  class EnvironmentValue(_messages.Message):
168    r"""The environment to pass into the container. This environment is merged
169    with values specified in the google.cloud.lifesciences.v2beta.Pipeline
170    message, overwriting any duplicate values. In addition to the values
171    passed here, a few other values are automatically injected into the
172    environment. These cannot be hidden or overwritten.
173    `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline failed because
174    an action has exited with a non-zero status (and did not have the
175    `IGNORE_EXIT_STATUS` flag set). This can be used to determine if
176    additional debug or logging actions should execute.
177    `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last non-
178    background action that executed. This can be used by workflow engine
179    authors to determine whether an individual action has succeeded or failed.
180
181    Messages:
182      AdditionalProperty: An additional property for a EnvironmentValue
183        object.
184
185    Fields:
186      additionalProperties: Additional properties of type EnvironmentValue
187    """
188
189    class AdditionalProperty(_messages.Message):
190      r"""An additional property for a EnvironmentValue object.
191
192      Fields:
193        key: Name of the additional property.
194        value: A string attribute.
195      """
196
197      key = _messages.StringField(1)
198      value = _messages.StringField(2)
199
200    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
201
202  @encoding.MapUnrecognizedFields('additionalProperties')
203  class LabelsValue(_messages.Message):
204    r"""Labels to associate with the action. This field is provided to assist
205    workflow engine authors in identifying actions (for example, to indicate
206    what sort of action they perform, such as localization or debugging). They
207    are returned in the operation metadata, but are otherwise ignored.
208
209    Messages:
210      AdditionalProperty: An additional property for a LabelsValue object.
211
212    Fields:
213      additionalProperties: Additional properties of type LabelsValue
214    """
215
216    class AdditionalProperty(_messages.Message):
217      r"""An additional property for a LabelsValue object.
218
219      Fields:
220        key: Name of the additional property.
221        value: A string attribute.
222      """
223
224      key = _messages.StringField(1)
225      value = _messages.StringField(2)
226
227    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
228
229  @encoding.MapUnrecognizedFields('additionalProperties')
230  class PortMappingsValue(_messages.Message):
231    r"""A map of containers to host port mappings for this container. If the
232    container already specifies exposed ports, use the `PUBLISH_EXPOSED_PORTS`
233    flag instead. The host port number must be less than 65536. If it is zero,
234    an unused random port is assigned. To determine the resulting port number,
235    consult the `ContainerStartedEvent` in the operation metadata.
236
237    Messages:
238      AdditionalProperty: An additional property for a PortMappingsValue
239        object.
240
241    Fields:
242      additionalProperties: Additional properties of type PortMappingsValue
243    """
244
245    class AdditionalProperty(_messages.Message):
246      r"""An additional property for a PortMappingsValue object.
247
248      Fields:
249        key: Name of the additional property.
250        value: A integer attribute.
251      """
252
253      key = _messages.StringField(1)
254      value = _messages.IntegerField(2, variant=_messages.Variant.INT32)
255
256    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
257
258  alwaysRun = _messages.BooleanField(1)
259  blockExternalNetwork = _messages.BooleanField(2)
260  commands = _messages.StringField(3, repeated=True)
261  containerName = _messages.StringField(4)
262  credentials = _messages.MessageField('Secret', 5)
263  disableImagePrefetch = _messages.BooleanField(6)
264  disableStandardErrorCapture = _messages.BooleanField(7)
265  enableFuse = _messages.BooleanField(8)
266  entrypoint = _messages.StringField(9)
267  environment = _messages.MessageField('EnvironmentValue', 10)
268  ignoreExitStatus = _messages.BooleanField(11)
269  imageUri = _messages.StringField(12)
270  labels = _messages.MessageField('LabelsValue', 13)
271  mounts = _messages.MessageField('Mount', 14, repeated=True)
272  pidNamespace = _messages.StringField(15)
273  portMappings = _messages.MessageField('PortMappingsValue', 16)
274  publishExposedPorts = _messages.BooleanField(17)
275  runInBackground = _messages.BooleanField(18)
276  timeout = _messages.StringField(19)
277
278
279class CancelOperationRequest(_messages.Message):
280  r"""The request message for Operations.CancelOperation."""
281
282
283class ContainerKilledEvent(_messages.Message):
284  r"""An event generated when a container is forcibly terminated by the
285  worker. Currently, this only occurs when the container outlives the timeout
286  specified by the user.
287
288  Fields:
289    actionId: The numeric ID of the action that started the container.
290  """
291
292  actionId = _messages.IntegerField(1, variant=_messages.Variant.INT32)
293
294
295class ContainerStartedEvent(_messages.Message):
296  r"""An event generated when a container starts.
297
298  Messages:
299    PortMappingsValue: The container-to-host port mappings installed for this
300      container. This set will contain any ports exposed using the
301      `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action`
302      definition.
303
304  Fields:
305    actionId: The numeric ID of the action that started this container.
306    ipAddress: The public IP address that can be used to connect to the
307      container. This field is only populated when at least one port mapping
308      is present. If the instance was created with a private address, this
309      field will be empty even if port mappings exist.
310    portMappings: The container-to-host port mappings installed for this
311      container. This set will contain any ports exposed using the
312      `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action`
313      definition.
314  """
315
316  @encoding.MapUnrecognizedFields('additionalProperties')
317  class PortMappingsValue(_messages.Message):
318    r"""The container-to-host port mappings installed for this container. This
319    set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag
320    as well as any specified in the `Action` definition.
321
322    Messages:
323      AdditionalProperty: An additional property for a PortMappingsValue
324        object.
325
326    Fields:
327      additionalProperties: Additional properties of type PortMappingsValue
328    """
329
330    class AdditionalProperty(_messages.Message):
331      r"""An additional property for a PortMappingsValue object.
332
333      Fields:
334        key: Name of the additional property.
335        value: A integer attribute.
336      """
337
338      key = _messages.StringField(1)
339      value = _messages.IntegerField(2, variant=_messages.Variant.INT32)
340
341    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
342
343  actionId = _messages.IntegerField(1, variant=_messages.Variant.INT32)
344  ipAddress = _messages.StringField(2)
345  portMappings = _messages.MessageField('PortMappingsValue', 3)
346
347
348class ContainerStoppedEvent(_messages.Message):
349  r"""An event generated when a container exits.
350
351  Fields:
352    actionId: The numeric ID of the action that started this container.
353    exitStatus: The exit status of the container.
354    stderr: The tail end of any content written to standard error by the
355      container. If the content emits large amounts of debugging noise or
356      contains sensitive information, you can prevent the content from being
357      printed by setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that
358      only a small amount of the end of the stream is captured here. The
359      entire stream is stored in the `/google/logs` directory mounted into
360      each action, and can be copied off the machine as described elsewhere.
361  """
362
363  actionId = _messages.IntegerField(1, variant=_messages.Variant.INT32)
364  exitStatus = _messages.IntegerField(2, variant=_messages.Variant.INT32)
365  stderr = _messages.StringField(3)
366
367
368class DelayedEvent(_messages.Message):
369  r"""An event generated whenever a resource limitation or transient error
370  delays execution of a pipeline that was otherwise ready to run.
371
372  Fields:
373    cause: A textual description of the cause of the delay. The string can
374      change without notice because it is often generated by another service
375      (such as Compute Engine).
376    metrics: If the delay was caused by a resource shortage, this field lists
377      the Compute Engine metrics that are preventing this operation from
378      running (for example, `CPUS` or `INSTANCES`). If the particular metric
379      is not known, a single `UNKNOWN` metric will be present.
380  """
381
382  cause = _messages.StringField(1)
383  metrics = _messages.StringField(2, repeated=True)
384
385
386class Disk(_messages.Message):
387  r"""Carries information about a disk that can be attached to a VM. See
388  https://cloud.google.com/compute/docs/disks/performance for more information
389  about disk type, size, and performance considerations. Specify either
390  `Volume` or `Disk`, but not both.
391
392  Fields:
393    name: A user-supplied name for the disk. Used when mounting the disk into
394      actions. The name must contain only upper and lowercase alphanumeric
395      characters and hyphens and cannot start with a hyphen.
396    sizeGb: The size, in GB, of the disk to attach. If the size is not
397      specified, a default is chosen to ensure reasonable I/O performance. If
398      the disk type is specified as `local-ssd`, multiple local drives are
399      automatically combined to provide the requested size. Note, however,
400      that each physical SSD is 375GB in size, and no more than 8 drives can
401      be attached to a single instance.
402    sourceImage: An optional image to put on the disk before attaching it to
403      the VM.
404    type: The Compute Engine disk type. If unspecified, `pd-standard` is used.
405  """
406
407  name = _messages.StringField(1)
408  sizeGb = _messages.IntegerField(2, variant=_messages.Variant.INT32)
409  sourceImage = _messages.StringField(3)
410  type = _messages.StringField(4)
411
412
413class Empty(_messages.Message):
414  r"""A generic empty message that you can re-use to avoid defining duplicated
415  empty messages in your APIs. A typical example is to use it as the request
416  or the response type of an API method. For instance: service Foo { rpc
417  Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON
418  representation for `Empty` is empty JSON object `{}`.
419  """
420
421
422
423class Event(_messages.Message):
424  r"""Carries information about events that occur during pipeline execution.
425
426  Fields:
427    containerKilled: See
428      google.cloud.lifesciences.v2beta.ContainerKilledEvent.
429    containerStarted: See
430      google.cloud.lifesciences.v2beta.ContainerStartedEvent.
431    containerStopped: See
432      google.cloud.lifesciences.v2beta.ContainerStoppedEvent.
433    delayed: See google.cloud.lifesciences.v2beta.DelayedEvent.
434    description: A human-readable description of the event. Note that these
435      strings can change at any time without notice. Any application logic
436      must use the information in the `details` field.
437    failed: See google.cloud.lifesciences.v2beta.FailedEvent.
438    pullStarted: See google.cloud.lifesciences.v2beta.PullStartedEvent.
439    pullStopped: See google.cloud.lifesciences.v2beta.PullStoppedEvent.
440    timestamp: The time at which the event occurred.
441    unexpectedExitStatus: See
442      google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.
443    workerAssigned: See google.cloud.lifesciences.v2beta.WorkerAssignedEvent.
444    workerReleased: See google.cloud.lifesciences.v2beta.WorkerReleasedEvent.
445  """
446
447  containerKilled = _messages.MessageField('ContainerKilledEvent', 1)
448  containerStarted = _messages.MessageField('ContainerStartedEvent', 2)
449  containerStopped = _messages.MessageField('ContainerStoppedEvent', 3)
450  delayed = _messages.MessageField('DelayedEvent', 4)
451  description = _messages.StringField(5)
452  failed = _messages.MessageField('FailedEvent', 6)
453  pullStarted = _messages.MessageField('PullStartedEvent', 7)
454  pullStopped = _messages.MessageField('PullStoppedEvent', 8)
455  timestamp = _messages.StringField(9)
456  unexpectedExitStatus = _messages.MessageField('UnexpectedExitStatusEvent', 10)
457  workerAssigned = _messages.MessageField('WorkerAssignedEvent', 11)
458  workerReleased = _messages.MessageField('WorkerReleasedEvent', 12)
459
460
461class ExistingDisk(_messages.Message):
462  r"""Configuration for an existing disk to be attached to the VM.
463
464  Fields:
465    disk: If `disk` contains slashes, the Cloud Life Sciences API assumes that
466      it is a complete URL for the disk. If `disk` does not contain slashes,
467      the Cloud Life Sciences API assumes that the disk is a zonal disk and a
468      URL will be generated of the form `zones//disks/`, where `` is the zone
469      in which the instance is allocated. The disk must be ext4 formatted. If
470      all `Mount` references to this disk have the `read_only` flag set to
471      true, the disk will be attached in `read-only` mode and can be shared
472      with other instances. Otherwise, the disk will be available for writing
473      but cannot be shared.
474  """
475
476  disk = _messages.StringField(1)
477
478
479class FailedEvent(_messages.Message):
480  r"""An event generated when the execution of a pipeline has failed. Note
481  that other events can continue to occur after this event.
482
483  Enums:
484    CodeValueValuesEnum: The Google standard error code that best describes
485      this failure.
486
487  Fields:
488    cause: The human-readable description of the cause of the failure.
489    code: The Google standard error code that best describes this failure.
490  """
491
492  class CodeValueValuesEnum(_messages.Enum):
493    r"""The Google standard error code that best describes this failure.
494
495    Values:
496      OK: Not an error; returned on success HTTP Mapping: 200 OK
497      CANCELLED: The operation was cancelled, typically by the caller. HTTP
498        Mapping: 499 Client Closed Request
499      UNKNOWN: Unknown error. For example, this error may be returned when a
500        `Status` value received from another address space belongs to an error
501        space that is not known in this address space. Also errors raised by
502        APIs that do not return enough error information may be converted to
503        this error. HTTP Mapping: 500 Internal Server Error
504      INVALID_ARGUMENT: The client specified an invalid argument. Note that
505        this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
506        arguments that are problematic regardless of the state of the system
507        (e.g., a malformed file name). HTTP Mapping: 400 Bad Request
508      DEADLINE_EXCEEDED: The deadline expired before the operation could
509        complete. For operations that change the state of the system, this
510        error may be returned even if the operation has completed
511        successfully. For example, a successful response from a server could
512        have been delayed long enough for the deadline to expire. HTTP
513        Mapping: 504 Gateway Timeout
514      NOT_FOUND: Some requested entity (e.g., file or directory) was not
515        found. Note to server developers: if a request is denied for an entire
516        class of users, such as gradual feature rollout or undocumented
517        allowlist, `NOT_FOUND` may be used. If a request is denied for some
518        users within a class of users, such as user-based access control,
519        `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found
520      ALREADY_EXISTS: The entity that a client attempted to create (e.g., file
521        or directory) already exists. HTTP Mapping: 409 Conflict
522      PERMISSION_DENIED: The caller does not have permission to execute the
523        specified operation. `PERMISSION_DENIED` must not be used for
524        rejections caused by exhausting some resource (use
525        `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
526        must not be used if the caller can not be identified (use
527        `UNAUTHENTICATED` instead for those errors). This error code does not
528        imply the request is valid or the requested entity exists or satisfies
529        other pre-conditions. HTTP Mapping: 403 Forbidden
530      UNAUTHENTICATED: The request does not have valid authentication
531        credentials for the operation. HTTP Mapping: 401 Unauthorized
532      RESOURCE_EXHAUSTED: Some resource has been exhausted, perhaps a per-user
533        quota, or perhaps the entire file system is out of space. HTTP
534        Mapping: 429 Too Many Requests
535      FAILED_PRECONDITION: The operation was rejected because the system is
536        not in a state required for the operation's execution. For example,
537        the directory to be deleted is non-empty, an rmdir operation is
538        applied to a non-directory, etc. Service implementors can use the
539        following guidelines to decide between `FAILED_PRECONDITION`,
540        `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
541        retry just the failing call. (b) Use `ABORTED` if the client should
542        retry at a higher level (e.g., when a client-specified test-and-set
543        fails, indicating the client should restart a read-modify-write
544        sequence). (c) Use `FAILED_PRECONDITION` if the client should not
545        retry until the system state has been explicitly fixed. E.g., if an
546        "rmdir" fails because the directory is non-empty,
547        `FAILED_PRECONDITION` should be returned since the client should not
548        retry unless the files are deleted from the directory. HTTP Mapping:
549        400 Bad Request
550      ABORTED: The operation was aborted, typically due to a concurrency issue
551        such as a sequencer check failure or transaction abort. See the
552        guidelines above for deciding between `FAILED_PRECONDITION`,
553        `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict
554      OUT_OF_RANGE: The operation was attempted past the valid range. E.g.,
555        seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this
556        error indicates a problem that may be fixed if the system state
557        changes. For example, a 32-bit file system will generate
558        `INVALID_ARGUMENT` if asked to read at an offset that is not in the
559        range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read
560        from an offset past the current file size. There is a fair bit of
561        overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend
562        using `OUT_OF_RANGE` (the more specific error) when it applies so that
563        callers who are iterating through a space can easily look for an
564        `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400
565        Bad Request
566      UNIMPLEMENTED: The operation is not implemented or is not
567        supported/enabled in this service. HTTP Mapping: 501 Not Implemented
568      INTERNAL: Internal errors. This means that some invariants expected by
569        the underlying system have been broken. This error code is reserved
570        for serious errors. HTTP Mapping: 500 Internal Server Error
571      UNAVAILABLE: The service is currently unavailable. This is most likely a
572        transient condition, which can be corrected by retrying with a
573        backoff. Note that it is not always safe to retry non-idempotent
574        operations. See the guidelines above for deciding between
575        `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503
576        Service Unavailable
577      DATA_LOSS: Unrecoverable data loss or corruption. HTTP Mapping: 500
578        Internal Server Error
579    """
580    OK = 0
581    CANCELLED = 1
582    UNKNOWN = 2
583    INVALID_ARGUMENT = 3
584    DEADLINE_EXCEEDED = 4
585    NOT_FOUND = 5
586    ALREADY_EXISTS = 6
587    PERMISSION_DENIED = 7
588    UNAUTHENTICATED = 8
589    RESOURCE_EXHAUSTED = 9
590    FAILED_PRECONDITION = 10
591    ABORTED = 11
592    OUT_OF_RANGE = 12
593    UNIMPLEMENTED = 13
594    INTERNAL = 14
595    UNAVAILABLE = 15
596    DATA_LOSS = 16
597
598  cause = _messages.StringField(1)
599  code = _messages.EnumField('CodeValueValuesEnum', 2)
600
601
602class LifesciencesProjectsLocationsGetRequest(_messages.Message):
603  r"""A LifesciencesProjectsLocationsGetRequest object.
604
605  Fields:
606    name: Resource name for the location.
607  """
608
609  name = _messages.StringField(1, required=True)
610
611
612class LifesciencesProjectsLocationsListRequest(_messages.Message):
613  r"""A LifesciencesProjectsLocationsListRequest object.
614
615  Fields:
616    filter: The standard list filter.
617    name: The resource that owns the locations collection, if applicable.
618    pageSize: The standard list page size.
619    pageToken: The standard list page token.
620  """
621
622  filter = _messages.StringField(1)
623  name = _messages.StringField(2, required=True)
624  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
625  pageToken = _messages.StringField(4)
626
627
628class LifesciencesProjectsLocationsOperationsCancelRequest(_messages.Message):
629  r"""A LifesciencesProjectsLocationsOperationsCancelRequest object.
630
631  Fields:
632    cancelOperationRequest: A CancelOperationRequest resource to be passed as
633      the request body.
634    name: The name of the operation resource to be cancelled.
635  """
636
637  cancelOperationRequest = _messages.MessageField('CancelOperationRequest', 1)
638  name = _messages.StringField(2, required=True)
639
640
641class LifesciencesProjectsLocationsOperationsGetRequest(_messages.Message):
642  r"""A LifesciencesProjectsLocationsOperationsGetRequest object.
643
644  Fields:
645    name: The name of the operation resource.
646  """
647
648  name = _messages.StringField(1, required=True)
649
650
651class LifesciencesProjectsLocationsOperationsListRequest(_messages.Message):
652  r"""A LifesciencesProjectsLocationsOperationsListRequest object.
653
654  Fields:
655    filter: A string for filtering Operations. The following filter fields are
656      supported: * createTime: The time this job was created * events: The set
657      of event (names) that have occurred while running the pipeline. The :
658      operator can be used to determine if a particular event has occurred. *
659      error: If the pipeline is running, this value is NULL. Once the pipeline
660      finishes, the value is the standard Google error code. * labels.key or
661      labels."key with space" where key is a label key. * done: If the
662      pipeline is running, this value is false. Once the pipeline finishes,
663      the value is true.
664    name: The name of the operation's parent resource.
665    pageSize: The maximum number of results to return. The maximum value is
666      256.
667    pageToken: The standard list page token.
668  """
669
670  filter = _messages.StringField(1)
671  name = _messages.StringField(2, required=True)
672  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
673  pageToken = _messages.StringField(4)
674
675
676class LifesciencesProjectsLocationsPipelinesRunRequest(_messages.Message):
677  r"""A LifesciencesProjectsLocationsPipelinesRunRequest object.
678
679  Fields:
680    parent: The project and location that this request should be executed
681      against.
682    runPipelineRequest: A RunPipelineRequest resource to be passed as the
683      request body.
684  """
685
686  parent = _messages.StringField(1, required=True)
687  runPipelineRequest = _messages.MessageField('RunPipelineRequest', 2)
688
689
690class ListLocationsResponse(_messages.Message):
691  r"""The response message for Locations.ListLocations.
692
693  Fields:
694    locations: A list of locations that matches the specified filter in the
695      request.
696    nextPageToken: The standard List next-page token.
697  """
698
699  locations = _messages.MessageField('Location', 1, repeated=True)
700  nextPageToken = _messages.StringField(2)
701
702
703class ListOperationsResponse(_messages.Message):
704  r"""The response message for Operations.ListOperations.
705
706  Fields:
707    nextPageToken: The standard List next-page token.
708    operations: A list of operations that matches the specified filter in the
709      request.
710  """
711
712  nextPageToken = _messages.StringField(1)
713  operations = _messages.MessageField('Operation', 2, repeated=True)
714
715
716class Location(_messages.Message):
717  r"""A resource that represents Google Cloud Platform location.
718
719  Messages:
720    LabelsValue: Cross-service attributes for the location. For example
721      {"cloud.googleapis.com/region": "us-east1"}
722    MetadataValue: Service-specific metadata. For example the available
723      capacity at the given location.
724
725  Fields:
726    displayName: The friendly name for this location, typically a nearby city
727      name. For example, "Tokyo".
728    labels: Cross-service attributes for the location. For example
729      {"cloud.googleapis.com/region": "us-east1"}
730    locationId: The canonical id for this location. For example: `"us-east1"`.
731    metadata: Service-specific metadata. For example the available capacity at
732      the given location.
733    name: Resource name for the location, which may vary between
734      implementations. For example: `"projects/example-project/locations/us-
735      east1"`
736  """
737
738  @encoding.MapUnrecognizedFields('additionalProperties')
739  class LabelsValue(_messages.Message):
740    r"""Cross-service attributes for the location. For example
741    {"cloud.googleapis.com/region": "us-east1"}
742
743    Messages:
744      AdditionalProperty: An additional property for a LabelsValue object.
745
746    Fields:
747      additionalProperties: Additional properties of type LabelsValue
748    """
749
750    class AdditionalProperty(_messages.Message):
751      r"""An additional property for a LabelsValue object.
752
753      Fields:
754        key: Name of the additional property.
755        value: A string attribute.
756      """
757
758      key = _messages.StringField(1)
759      value = _messages.StringField(2)
760
761    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
762
763  @encoding.MapUnrecognizedFields('additionalProperties')
764  class MetadataValue(_messages.Message):
765    r"""Service-specific metadata. For example the available capacity at the
766    given location.
767
768    Messages:
769      AdditionalProperty: An additional property for a MetadataValue object.
770
771    Fields:
772      additionalProperties: Properties of the object. Contains field @type
773        with type URL.
774    """
775
776    class AdditionalProperty(_messages.Message):
777      r"""An additional property for a MetadataValue object.
778
779      Fields:
780        key: Name of the additional property.
781        value: A extra_types.JsonValue attribute.
782      """
783
784      key = _messages.StringField(1)
785      value = _messages.MessageField('extra_types.JsonValue', 2)
786
787    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
788
789  displayName = _messages.StringField(1)
790  labels = _messages.MessageField('LabelsValue', 2)
791  locationId = _messages.StringField(3)
792  metadata = _messages.MessageField('MetadataValue', 4)
793  name = _messages.StringField(5)
794
795
796class Metadata(_messages.Message):
797  r"""Carries information about the pipeline execution that is returned in the
798  long running operation's metadata field.
799
800  Messages:
801    LabelsValue: The user-defined labels associated with this operation.
802
803  Fields:
804    createTime: The time at which the operation was created by the API.
805    endTime: The time at which execution was completed and resources were
806      cleaned up.
807    events: The list of events that have happened so far during the execution
808      of this operation.
809    labels: The user-defined labels associated with this operation.
810    pipeline: The pipeline this operation represents.
811    pubSubTopic: The name of the Cloud Pub/Sub topic where notifications of
812      operation status changes are sent.
813    startTime: The first time at which resources were allocated to execute the
814      pipeline.
815  """
816
817  @encoding.MapUnrecognizedFields('additionalProperties')
818  class LabelsValue(_messages.Message):
819    r"""The user-defined labels associated with this operation.
820
821    Messages:
822      AdditionalProperty: An additional property for a LabelsValue object.
823
824    Fields:
825      additionalProperties: Additional properties of type LabelsValue
826    """
827
828    class AdditionalProperty(_messages.Message):
829      r"""An additional property for a LabelsValue object.
830
831      Fields:
832        key: Name of the additional property.
833        value: A string attribute.
834      """
835
836      key = _messages.StringField(1)
837      value = _messages.StringField(2)
838
839    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
840
841  createTime = _messages.StringField(1)
842  endTime = _messages.StringField(2)
843  events = _messages.MessageField('Event', 3, repeated=True)
844  labels = _messages.MessageField('LabelsValue', 4)
845  pipeline = _messages.MessageField('Pipeline', 5)
846  pubSubTopic = _messages.StringField(6)
847  startTime = _messages.StringField(7)
848
849
850class Mount(_messages.Message):
851  r"""Carries information about a particular disk mount inside a container.
852
853  Fields:
854    disk: The name of the disk to mount, as specified in the resources
855      section.
856    path: The path to mount the disk inside the container.
857    readOnly: If true, the disk is mounted read-only inside the container.
858  """
859
860  disk = _messages.StringField(1)
861  path = _messages.StringField(2)
862  readOnly = _messages.BooleanField(3)
863
864
865class NFSMount(_messages.Message):
866  r"""Configuration for an `NFSMount` to be attached to the VM.
867
868  Fields:
869    target: A target NFS mount. The target must be specified as
870      `address:/mount".
871  """
872
873  target = _messages.StringField(1)
874
875
876class Network(_messages.Message):
877  r"""VM networking options.
878
879  Fields:
880    network: The network name to attach the VM's network interface to. The
881      value will be prefixed with `global/networks/` unless it contains a `/`,
882      in which case it is assumed to be a fully specified network resource
883      URL. If unspecified, the global default network is used.
884    subnetwork: If the specified network is configured for custom subnet
885      creation, the name of the subnetwork to attach the instance to must be
886      specified here. The value is prefixed with `regions/*/subnetworks/`
887      unless it contains a `/`, in which case it is assumed to be a fully
888      specified subnetwork resource URL. If the `*` character appears in the
889      value, it is replaced with the region that the virtual machine has been
890      allocated in.
891    usePrivateAddress: If set to true, do not attach a public IP address to
892      the VM. Note that without a public IP address, additional configuration
893      is required to allow the VM to access Google services. See
894      https://cloud.google.com/vpc/docs/configure-private-google-access for
895      more information.
896  """
897
898  network = _messages.StringField(1)
899  subnetwork = _messages.StringField(2)
900  usePrivateAddress = _messages.BooleanField(3)
901
902
903class Operation(_messages.Message):
904  r"""This resource represents a long-running operation that is the result of
905  a network API call.
906
907  Messages:
908    MetadataValue: An Metadata object. This will always be returned with the
909      Operation.
910    ResponseValue: An Empty object.
911
912  Fields:
913    done: If the value is `false`, it means the operation is still in
914      progress. If `true`, the operation is completed, and either `error` or
915      `response` is available.
916    error: The error result of the operation in case of failure or
917      cancellation.
918    metadata: An Metadata object. This will always be returned with the
919      Operation.
920    name: The server-assigned name for the operation. This may be passed to
921      the other operation methods to retrieve information about the
922      operation's status.
923    response: An Empty object.
924  """
925
926  @encoding.MapUnrecognizedFields('additionalProperties')
927  class MetadataValue(_messages.Message):
928    r"""An Metadata object. This will always be returned with the Operation.
929
930    Messages:
931      AdditionalProperty: An additional property for a MetadataValue object.
932
933    Fields:
934      additionalProperties: Properties of the object. Contains field @type
935        with type URL.
936    """
937
938    class AdditionalProperty(_messages.Message):
939      r"""An additional property for a MetadataValue object.
940
941      Fields:
942        key: Name of the additional property.
943        value: A extra_types.JsonValue attribute.
944      """
945
946      key = _messages.StringField(1)
947      value = _messages.MessageField('extra_types.JsonValue', 2)
948
949    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
950
951  @encoding.MapUnrecognizedFields('additionalProperties')
952  class ResponseValue(_messages.Message):
953    r"""An Empty object.
954
955    Messages:
956      AdditionalProperty: An additional property for a ResponseValue object.
957
958    Fields:
959      additionalProperties: Properties of the object. Contains field @type
960        with type URL.
961    """
962
963    class AdditionalProperty(_messages.Message):
964      r"""An additional property for a ResponseValue object.
965
966      Fields:
967        key: Name of the additional property.
968        value: A extra_types.JsonValue attribute.
969      """
970
971      key = _messages.StringField(1)
972      value = _messages.MessageField('extra_types.JsonValue', 2)
973
974    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
975
976  done = _messages.BooleanField(1)
977  error = _messages.MessageField('Status', 2)
978  metadata = _messages.MessageField('MetadataValue', 3)
979  name = _messages.StringField(4)
980  response = _messages.MessageField('ResponseValue', 5)
981
982
983class PersistentDisk(_messages.Message):
984  r"""Configuration for a persistent disk to be attached to the VM. See
985  https://cloud.google.com/compute/docs/disks/performance for more information
986  about disk type, size, and performance considerations.
987
988  Fields:
989    sizeGb: The size, in GB, of the disk to attach. If the size is not
990      specified, a default is chosen to ensure reasonable I/O performance. If
991      the disk type is specified as `local-ssd`, multiple local drives are
992      automatically combined to provide the requested size. Note, however,
993      that each physical SSD is 375GB in size, and no more than 8 drives can
994      be attached to a single instance.
995    sourceImage: An image to put on the disk before attaching it to the VM.
996    type: The Compute Engine disk type. If unspecified, `pd-standard` is used.
997  """
998
999  sizeGb = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1000  sourceImage = _messages.StringField(2)
1001  type = _messages.StringField(3)
1002
1003
1004class Pipeline(_messages.Message):
1005  r"""Specifies a series of actions to execute, expressed as Docker
1006  containers.
1007
1008  Messages:
1009    EnvironmentValue: The environment to pass into every action. Each action
1010      can also specify additional environment variables but cannot delete an
1011      entry from this map (though they can overwrite it with a different
1012      value).
1013
1014  Fields:
1015    actions: The list of actions to execute, in the order they are specified.
1016    environment: The environment to pass into every action. Each action can
1017      also specify additional environment variables but cannot delete an entry
1018      from this map (though they can overwrite it with a different value).
1019    resources: The resources required for execution.
1020    timeout: The maximum amount of time to give the pipeline to complete. This
1021      includes the time spent waiting for a worker to be allocated. If the
1022      pipeline fails to complete before the timeout, it will be cancelled and
1023      the error code will be set to DEADLINE_EXCEEDED. If unspecified, it will
1024      default to 7 days.
1025  """
1026
1027  @encoding.MapUnrecognizedFields('additionalProperties')
1028  class EnvironmentValue(_messages.Message):
1029    r"""The environment to pass into every action. Each action can also
1030    specify additional environment variables but cannot delete an entry from
1031    this map (though they can overwrite it with a different value).
1032
1033    Messages:
1034      AdditionalProperty: An additional property for a EnvironmentValue
1035        object.
1036
1037    Fields:
1038      additionalProperties: Additional properties of type EnvironmentValue
1039    """
1040
1041    class AdditionalProperty(_messages.Message):
1042      r"""An additional property for a EnvironmentValue object.
1043
1044      Fields:
1045        key: Name of the additional property.
1046        value: A string attribute.
1047      """
1048
1049      key = _messages.StringField(1)
1050      value = _messages.StringField(2)
1051
1052    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1053
1054  actions = _messages.MessageField('Action', 1, repeated=True)
1055  environment = _messages.MessageField('EnvironmentValue', 2)
1056  resources = _messages.MessageField('Resources', 3)
1057  timeout = _messages.StringField(4)
1058
1059
1060class PullStartedEvent(_messages.Message):
1061  r"""An event generated when the worker starts pulling an image.
1062
1063  Fields:
1064    imageUri: The URI of the image that was pulled.
1065  """
1066
1067  imageUri = _messages.StringField(1)
1068
1069
1070class PullStoppedEvent(_messages.Message):
1071  r"""An event generated when the worker stops pulling an image.
1072
1073  Fields:
1074    imageUri: The URI of the image that was pulled.
1075  """
1076
1077  imageUri = _messages.StringField(1)
1078
1079
1080class Resources(_messages.Message):
1081  r"""The system resources for the pipeline run. At least one zone or region
1082  must be specified or the pipeline run will fail.
1083
1084  Fields:
1085    regions: The list of regions allowed for VM allocation. If set, the
1086      `zones` field must not be set.
1087    virtualMachine: The virtual machine specification.
1088    zones: The list of zones allowed for VM allocation. If set, the `regions`
1089      field must not be set.
1090  """
1091
1092  regions = _messages.StringField(1, repeated=True)
1093  virtualMachine = _messages.MessageField('VirtualMachine', 2)
1094  zones = _messages.StringField(3, repeated=True)
1095
1096
1097class RunPipelineRequest(_messages.Message):
1098  r"""The arguments to the `RunPipeline` method. The requesting user must have
1099  the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences
1100  service account or the request will fail.
1101
1102  Messages:
1103    LabelsValue: User-defined labels to associate with the returned operation.
1104      These labels are not propagated to any Google Cloud Platform resources
1105      used by the operation, and can be modified at any time. To associate
1106      labels with resources created while executing the operation, see the
1107      appropriate resource message (for example, `VirtualMachine`).
1108
1109  Fields:
1110    labels: User-defined labels to associate with the returned operation.
1111      These labels are not propagated to any Google Cloud Platform resources
1112      used by the operation, and can be modified at any time. To associate
1113      labels with resources created while executing the operation, see the
1114      appropriate resource message (for example, `VirtualMachine`).
1115    pipeline: Required. The description of the pipeline to run.
1116    pubSubTopic: The name of an existing Pub/Sub topic. The server will
1117      publish messages to this topic whenever the status of the operation
1118      changes. The Life Sciences Service Agent account must have publisher
1119      permissions to the specified topic or notifications will not be sent.
1120  """
1121
1122  @encoding.MapUnrecognizedFields('additionalProperties')
1123  class LabelsValue(_messages.Message):
1124    r"""User-defined labels to associate with the returned operation. These
1125    labels are not propagated to any Google Cloud Platform resources used by
1126    the operation, and can be modified at any time. To associate labels with
1127    resources created while executing the operation, see the appropriate
1128    resource message (for example, `VirtualMachine`).
1129
1130    Messages:
1131      AdditionalProperty: An additional property for a LabelsValue object.
1132
1133    Fields:
1134      additionalProperties: Additional properties of type LabelsValue
1135    """
1136
1137    class AdditionalProperty(_messages.Message):
1138      r"""An additional property for a LabelsValue object.
1139
1140      Fields:
1141        key: Name of the additional property.
1142        value: A string attribute.
1143      """
1144
1145      key = _messages.StringField(1)
1146      value = _messages.StringField(2)
1147
1148    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1149
1150  labels = _messages.MessageField('LabelsValue', 1)
1151  pipeline = _messages.MessageField('Pipeline', 2)
1152  pubSubTopic = _messages.StringField(3)
1153
1154
1155class RunPipelineResponse(_messages.Message):
1156  r"""The response to the RunPipeline method, returned in the operation's
1157  result field on success.
1158  """
1159
1160
1161
1162class Secret(_messages.Message):
1163  r"""Holds encrypted information that is only decrypted and stored in RAM by
1164  the worker VM when running the pipeline.
1165
1166  Fields:
1167    cipherText: The value of the cipherText response from the `encrypt`
1168      method. This field is intentionally unaudited.
1169    keyName: The name of the Cloud KMS key that will be used to decrypt the
1170      secret value. The VM service account must have the required permissions
1171      and authentication scopes to invoke the `decrypt` method on the
1172      specified key.
1173  """
1174
1175  cipherText = _messages.StringField(1)
1176  keyName = _messages.StringField(2)
1177
1178
1179class ServiceAccount(_messages.Message):
1180  r"""Carries information about a Google Cloud service account.
1181
1182  Fields:
1183    email: Email address of the service account. If not specified, the default
1184      Compute Engine service account for the project will be used.
1185    scopes: List of scopes to be enabled for this service account on the VM,
1186      in addition to the cloud-platform API scope that will be added by
1187      default.
1188  """
1189
1190  email = _messages.StringField(1)
1191  scopes = _messages.StringField(2, repeated=True)
1192
1193
1194class StandardQueryParameters(_messages.Message):
1195  r"""Query parameters accepted by all methods.
1196
1197  Enums:
1198    FXgafvValueValuesEnum: V1 error format.
1199    AltValueValuesEnum: Data format for response.
1200
1201  Fields:
1202    f__xgafv: V1 error format.
1203    access_token: OAuth access token.
1204    alt: Data format for response.
1205    callback: JSONP
1206    fields: Selector specifying which fields to include in a partial response.
1207    key: API key. Your API key identifies your project and provides you with
1208      API access, quota, and reports. Required unless you provide an OAuth 2.0
1209      token.
1210    oauth_token: OAuth 2.0 token for the current user.
1211    prettyPrint: Returns response with indentations and line breaks.
1212    quotaUser: Available to use for quota purposes for server-side
1213      applications. Can be any arbitrary string assigned to a user, but should
1214      not exceed 40 characters.
1215    trace: A tracing token of the form "token:<tokenid>" to include in api
1216      requests.
1217    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
1218    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
1219  """
1220
1221  class AltValueValuesEnum(_messages.Enum):
1222    r"""Data format for response.
1223
1224    Values:
1225      json: Responses with Content-Type of application/json
1226      media: Media download with context-dependent Content-Type
1227      proto: Responses with Content-Type of application/x-protobuf
1228    """
1229    json = 0
1230    media = 1
1231    proto = 2
1232
1233  class FXgafvValueValuesEnum(_messages.Enum):
1234    r"""V1 error format.
1235
1236    Values:
1237      _1: v1 error format
1238      _2: v2 error format
1239    """
1240    _1 = 0
1241    _2 = 1
1242
1243  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
1244  access_token = _messages.StringField(2)
1245  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
1246  callback = _messages.StringField(4)
1247  fields = _messages.StringField(5)
1248  key = _messages.StringField(6)
1249  oauth_token = _messages.StringField(7)
1250  prettyPrint = _messages.BooleanField(8, default=True)
1251  quotaUser = _messages.StringField(9)
1252  trace = _messages.StringField(10)
1253  uploadType = _messages.StringField(11)
1254  upload_protocol = _messages.StringField(12)
1255
1256
1257class Status(_messages.Message):
1258  r"""The `Status` type defines a logical error model that is suitable for
1259  different programming environments, including REST APIs and RPC APIs. It is
1260  used by [gRPC](https://github.com/grpc). Each `Status` message contains
1261  three pieces of data: error code, error message, and error details. You can
1262  find out more about this error model and how to work with it in the [API
1263  Design Guide](https://cloud.google.com/apis/design/errors).
1264
1265  Messages:
1266    DetailsValueListEntry: A DetailsValueListEntry object.
1267
1268  Fields:
1269    code: The status code, which should be an enum value of google.rpc.Code.
1270    details: A list of messages that carry the error details. There is a
1271      common set of message types for APIs to use.
1272    message: A developer-facing error message, which should be in English. Any
1273      user-facing error message should be localized and sent in the
1274      google.rpc.Status.details field, or localized by the client.
1275  """
1276
1277  @encoding.MapUnrecognizedFields('additionalProperties')
1278  class DetailsValueListEntry(_messages.Message):
1279    r"""A DetailsValueListEntry object.
1280
1281    Messages:
1282      AdditionalProperty: An additional property for a DetailsValueListEntry
1283        object.
1284
1285    Fields:
1286      additionalProperties: Properties of the object. Contains field @type
1287        with type URL.
1288    """
1289
1290    class AdditionalProperty(_messages.Message):
1291      r"""An additional property for a DetailsValueListEntry object.
1292
1293      Fields:
1294        key: Name of the additional property.
1295        value: A extra_types.JsonValue attribute.
1296      """
1297
1298      key = _messages.StringField(1)
1299      value = _messages.MessageField('extra_types.JsonValue', 2)
1300
1301    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1302
1303  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1304  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
1305  message = _messages.StringField(3)
1306
1307
1308class UnexpectedExitStatusEvent(_messages.Message):
1309  r"""An event generated when the execution of a container results in a non-
1310  zero exit status that was not otherwise ignored. Execution will continue,
1311  but only actions that are flagged as `ALWAYS_RUN` will be executed. Other
1312  actions will be skipped.
1313
1314  Fields:
1315    actionId: The numeric ID of the action that started the container.
1316    exitStatus: The exit status of the container.
1317  """
1318
1319  actionId = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1320  exitStatus = _messages.IntegerField(2, variant=_messages.Variant.INT32)
1321
1322
1323class VirtualMachine(_messages.Message):
1324  r"""Carries information about a Compute Engine VM resource.
1325
1326  Messages:
1327    LabelsValue: Optional set of labels to apply to the VM and any attached
1328      disk resources. These labels must adhere to the [name and value
1329      restrictions](https://cloud.google.com/compute/docs/labeling-resources)
1330      on VM labels imposed by Compute Engine. Labels keys with the prefix
1331      'google-' are reserved for use by Google. Labels applied at creation
1332      time to the VM. Applied on a best-effort basis to attached disk
1333      resources shortly after VM creation.
1334
1335  Fields:
1336    accelerators: The list of accelerators to attach to the VM.
1337    bootDiskSizeGb: The size of the boot disk, in GB. The boot disk must be
1338      large enough to accommodate all of the Docker images from each action in
1339      the pipeline at the same time. If not specified, a small but reasonable
1340      default value is used.
1341    bootImage: The host operating system image to use. Currently, only
1342      Container-Optimized OS images can be used. The default value is
1343      `projects/cos-cloud/global/images/family/cos-stable`, which selects the
1344      latest stable release of Container-Optimized OS. This option is provided
1345      to allow testing against the beta release of the operating system to
1346      ensure that the new version does not interact negatively with production
1347      pipelines. To test a pipeline against the beta release of Container-
1348      Optimized OS, use the value `projects/cos-
1349      cloud/global/images/family/cos-beta`.
1350    cpuPlatform: The CPU platform to request. An instance based on a newer
1351      platform can be allocated, but never one with fewer capabilities. The
1352      value of this parameter must be a valid Compute Engine CPU platform name
1353      (such as "Intel Skylake"). This parameter is only useful for carefully
1354      optimized work loads where the CPU platform has a significant impact.
1355      For more information about the effect of this parameter, see
1356      https://cloud.google.com/compute/docs/instances/specify-min-cpu-
1357      platform.
1358    disks: The list of disks to create and attach to the VM. Specify either
1359      the `volumes[]` field or the `disks[]` field, but not both.
1360    dockerCacheImages: The Compute Engine Disk Images to use as a Docker
1361      cache. The disks will be mounted into the Docker folder in a way that
1362      the images present in the cache will not need to be pulled. The digests
1363      of the cached images must match those of the tags used or the latest
1364      version will still be pulled. The root directory of the ext4 image must
1365      contain `image` and `overlay2` directories copied from the Docker
1366      directory of a VM where the desired Docker images have already been
1367      pulled. Any images pulled that are not cached will be stored on the
1368      first cache disk instead of the boot disk. Only a single image is
1369      supported.
1370    enableStackdriverMonitoring: Whether Stackdriver monitoring should be
1371      enabled on the VM.
1372    labels: Optional set of labels to apply to the VM and any attached disk
1373      resources. These labels must adhere to the [name and value
1374      restrictions](https://cloud.google.com/compute/docs/labeling-resources)
1375      on VM labels imposed by Compute Engine. Labels keys with the prefix
1376      'google-' are reserved for use by Google. Labels applied at creation
1377      time to the VM. Applied on a best-effort basis to attached disk
1378      resources shortly after VM creation.
1379    machineType: Required. The machine type of the virtual machine to create.
1380      Must be the short name of a standard machine type (such as
1381      "n1-standard-1") or a custom machine type (such as "custom-1-4096",
1382      where "1" indicates the number of vCPUs and "4096" indicates the memory
1383      in MB). See [Creating an instance with a custom machine
1384      type](https://cloud.google.com/compute/docs/instances/creating-instance-
1385      with-custom-machine-type#create) for more specifications on creating a
1386      custom machine type.
1387    network: The VM network configuration.
1388    nvidiaDriverVersion: The NVIDIA driver version to use when attaching an
1389      NVIDIA GPU accelerator. The version specified here must be compatible
1390      with the GPU libraries contained in the container being executed, and
1391      must be one of the drivers hosted in the `nvidia-drivers-us-public`
1392      bucket on Google Cloud Storage.
1393    preemptible: If true, allocate a preemptible VM.
1394    serviceAccount: The service account to install on the VM. This account
1395      does not need any permissions other than those required by the pipeline.
1396    volumes: The list of disks and other storage to create or attach to the
1397      VM. Specify either the `volumes[]` field or the `disks[]` field, but not
1398      both.
1399  """
1400
1401  @encoding.MapUnrecognizedFields('additionalProperties')
1402  class LabelsValue(_messages.Message):
1403    r"""Optional set of labels to apply to the VM and any attached disk
1404    resources. These labels must adhere to the [name and value
1405    restrictions](https://cloud.google.com/compute/docs/labeling-resources) on
1406    VM labels imposed by Compute Engine. Labels keys with the prefix 'google-'
1407    are reserved for use by Google. Labels applied at creation time to the VM.
1408    Applied on a best-effort basis to attached disk resources shortly after VM
1409    creation.
1410
1411    Messages:
1412      AdditionalProperty: An additional property for a LabelsValue object.
1413
1414    Fields:
1415      additionalProperties: Additional properties of type LabelsValue
1416    """
1417
1418    class AdditionalProperty(_messages.Message):
1419      r"""An additional property for a LabelsValue object.
1420
1421      Fields:
1422        key: Name of the additional property.
1423        value: A string attribute.
1424      """
1425
1426      key = _messages.StringField(1)
1427      value = _messages.StringField(2)
1428
1429    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1430
1431  accelerators = _messages.MessageField('Accelerator', 1, repeated=True)
1432  bootDiskSizeGb = _messages.IntegerField(2, variant=_messages.Variant.INT32)
1433  bootImage = _messages.StringField(3)
1434  cpuPlatform = _messages.StringField(4)
1435  disks = _messages.MessageField('Disk', 5, repeated=True)
1436  dockerCacheImages = _messages.StringField(6, repeated=True)
1437  enableStackdriverMonitoring = _messages.BooleanField(7)
1438  labels = _messages.MessageField('LabelsValue', 8)
1439  machineType = _messages.StringField(9)
1440  network = _messages.MessageField('Network', 10)
1441  nvidiaDriverVersion = _messages.StringField(11)
1442  preemptible = _messages.BooleanField(12)
1443  serviceAccount = _messages.MessageField('ServiceAccount', 13)
1444  volumes = _messages.MessageField('Volume', 14, repeated=True)
1445
1446
1447class Volume(_messages.Message):
1448  r"""Carries information about storage that can be attached to a VM. Specify
1449  either `Volume` or `Disk`, but not both.
1450
1451  Fields:
1452    existingDisk: Configuration for a existing disk.
1453    nfsMount: Configuration for an NFS mount.
1454    persistentDisk: Configuration for a persistent disk.
1455    volume: A user-supplied name for the volume. Used when mounting the volume
1456      into `Actions`. The name must contain only upper and lowercase
1457      alphanumeric characters and hyphens and cannot start with a hyphen.
1458  """
1459
1460  existingDisk = _messages.MessageField('ExistingDisk', 1)
1461  nfsMount = _messages.MessageField('NFSMount', 2)
1462  persistentDisk = _messages.MessageField('PersistentDisk', 3)
1463  volume = _messages.StringField(4)
1464
1465
1466class WorkerAssignedEvent(_messages.Message):
1467  r"""An event generated after a worker VM has been assigned to run the
1468  pipeline.
1469
1470  Fields:
1471    instance: The worker's instance name.
1472    machineType: The machine type that was assigned for the worker.
1473    zone: The zone the worker is running in.
1474  """
1475
1476  instance = _messages.StringField(1)
1477  machineType = _messages.StringField(2)
1478  zone = _messages.StringField(3)
1479
1480
1481class WorkerReleasedEvent(_messages.Message):
1482  r"""An event generated when the worker VM that was assigned to the pipeline
1483  has been released (deleted).
1484
1485  Fields:
1486    instance: The worker's instance name.
1487    zone: The zone the worker was running in.
1488  """
1489
1490  instance = _messages.StringField(1)
1491  zone = _messages.StringField(2)
1492
1493
1494encoding.AddCustomJsonFieldMapping(
1495    StandardQueryParameters, 'f__xgafv', '$.xgafv')
1496encoding.AddCustomJsonEnumMapping(
1497    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
1498encoding.AddCustomJsonEnumMapping(
1499    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
1500