blob: 9d092946f1c94b695832d332b2196fbfaa281546 [file]
// Copyright 2025 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package lifesciences provides access to the Cloud Life Sciences API.
//
// For product documentation, see: https://cloud.google.com/life-sciences
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # Creating a client
//
// Usage example:
//
// import "google.golang.org/api/lifesciences/v2beta"
// ...
// ctx := context.Background()
// lifesciencesService, err := lifesciences.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for
// authentication. For information on how to create and obtain Application
// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// # Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API
// keys), use [google.golang.org/api/option.WithAPIKey]:
//
// lifesciencesService, err := lifesciences.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
// flow, use [google.golang.org/api/option.WithTokenSource]:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// lifesciencesService, err := lifesciences.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package lifesciences // import "google.golang.org/api/lifesciences/v2beta"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"log/slog"
"net/http"
"net/url"
"strconv"
"strings"
"github.com/googleapis/gax-go/v2/internallog"
googleapi "google.golang.org/api/googleapi"
internal "google.golang.org/api/internal"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
var _ = internal.Version
var _ = internallog.New
const apiId = "lifesciences:v2beta"
const apiName = "lifesciences"
const apiVersion = "v2beta"
const basePath = "https://lifesciences.googleapis.com/"
const basePathTemplate = "https://lifesciences.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://lifesciences.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// See, edit, configure, and delete your Google Cloud data and see the email
// address for your Google Account.
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := internaloption.WithDefaultScopes(
"https://www.googleapis.com/auth/cloud-platform",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
opts = append(opts, internaloption.EnableNewAuthLibrary())
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
s.Projects = NewProjectsService(s)
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
return NewService(context.TODO(), option.WithHTTPClient(client))
}
type Service struct {
client *http.Client
logger *slog.Logger
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Locations = NewProjectsLocationsService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Operations = NewProjectsLocationsOperationsService(s)
rs.Pipelines = NewProjectsLocationsPipelinesService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Operations *ProjectsLocationsOperationsService
Pipelines *ProjectsLocationsPipelinesService
}
func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
rs := &ProjectsLocationsOperationsService{s: s}
return rs
}
type ProjectsLocationsOperationsService struct {
s *Service
}
func NewProjectsLocationsPipelinesService(s *Service) *ProjectsLocationsPipelinesService {
rs := &ProjectsLocationsPipelinesService{s: s}
return rs
}
type ProjectsLocationsPipelinesService struct {
s *Service
}
// Accelerator: Carries information about an accelerator that can be attached
// to a VM.
type Accelerator struct {
// Count: How many accelerators of this type to attach.
Count int64 `json:"count,omitempty,string"`
// Type: The accelerator type string (for example, "nvidia-tesla-t4"). Only
// NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
// attached, the required runtime libraries will be made available to all
// containers under `/usr/local/nvidia`. The driver version to install must be
// specified using the NVIDIA driver version parameter on the virtual machine
// specification. Note that attaching a GPU increases the worker VM startup
// time by a few minutes.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Count") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Accelerator) MarshalJSON() ([]byte, error) {
type NoMethod Accelerator
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Action: Specifies a single action that runs a Docker container.
type Action struct {
// AlwaysRun: By default, after an action fails, no further actions are run.
// This flag indicates that this action must be run even if the pipeline has
// already failed. This is useful for actions that copy output files off of the
// VM or for debugging. Note that no actions will be run if image prefetching
// fails.
AlwaysRun bool `json:"alwaysRun,omitempty"`
// BlockExternalNetwork: Prevents the container from accessing the external
// network.
BlockExternalNetwork bool `json:"blockExternalNetwork,omitempty"`
// Commands: If specified, overrides the `CMD` specified in the container. If
// the container also has an `ENTRYPOINT` the values are used as entrypoint
// arguments. Otherwise, they are used as a command and arguments to run inside
// the container.
Commands []string `json:"commands,omitempty"`
// ContainerName: An optional name for the container. The container hostname
// will be set to this name, making it useful for inter-container
// communication. The name must contain only upper and lowercase alphanumeric
// characters and hyphens and cannot start with a hyphen.
ContainerName string `json:"containerName,omitempty"`
// Credentials: If the specified image is hosted on a private registry other
// than Google Container Registry, the credentials required to pull the image
// must be specified here as an encrypted secret. The secret must decrypt to a
// JSON-encoded dictionary containing both `username` and `password` keys.
Credentials *Secret `json:"credentials,omitempty"`
// DisableImagePrefetch: All container images are typically downloaded before
// any actions are executed. This helps prevent typos in URIs or issues like
// lack of disk space from wasting large amounts of compute resources. If set,
// this flag prevents the worker from downloading the image until just before
// the action is executed.
DisableImagePrefetch bool `json:"disableImagePrefetch,omitempty"`
// DisableStandardErrorCapture: A small portion of the container's standard
// error stream is typically captured and returned inside the
// `ContainerStoppedEvent`. Setting this flag disables this functionality.
DisableStandardErrorCapture bool `json:"disableStandardErrorCapture,omitempty"`
// EnableFuse: Enable access to the FUSE device for this action. Filesystems
// can then be mounted into disks shared with other actions. The other actions
// do not need the `enable_fuse` flag to access the mounted filesystem. This
// has the effect of causing the container to be executed with `CAP_SYS_ADMIN`
// and exposes `/dev/fuse` to the container, so use it only for containers you
// trust.
EnableFuse bool `json:"enableFuse,omitempty"`
// EncryptedEnvironment: The encrypted environment to pass into the container.
// This environment is merged with values specified in the
// google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate
// values. The secret must decrypt to a JSON-encoded dictionary where key-value
// pairs serve as environment variable names and their values. The decoded
// environment variables can overwrite the values specified by the
// `environment` field.
EncryptedEnvironment *Secret `json:"encryptedEnvironment,omitempty"`
// Entrypoint: If specified, overrides the `ENTRYPOINT` specified in the
// container.
Entrypoint string `json:"entrypoint,omitempty"`
// Environment: The environment to pass into the container. This environment is
// merged with values specified in the
// google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate
// values. In addition to the values passed here, a few other values are
// automatically injected into the environment. These cannot be hidden or
// overwritten. `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline
// failed because an action has exited with a non-zero status (and did not have
// the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if
// additional debug or logging actions should execute.
// `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
// non-background action that executed. This can be used by workflow engine
// authors to determine whether an individual action has succeeded or failed.
Environment map[string]string `json:"environment,omitempty"`
// IgnoreExitStatus: Normally, a non-zero exit status causes the pipeline to
// fail. This flag allows execution of other actions to continue instead.
IgnoreExitStatus bool `json:"ignoreExitStatus,omitempty"`
// ImageUri: Required. The URI to pull the container image from. Note that all
// images referenced by actions in the pipeline are pulled before the first
// action runs. If multiple actions reference the same image, it is only pulled
// once, ensuring that the same image is used for all actions in a single
// pipeline. The image URI can be either a complete host and image
// specification (e.g., quay.io/biocontainers/samtools), a library and image
// name (e.g., google/cloud-sdk) or a bare image name ('bash') to pull from the
// default library. No schema is required in any of these cases. If the
// specified image is not public, the service account specified for the Virtual
// Machine must have access to pull the images from GCR, or appropriate
// credentials must be specified in the
// google.cloud.lifesciences.v2beta.Action.credentials field.
ImageUri string `json:"imageUri,omitempty"`
// Labels: Labels to associate with the action. This field is provided to
// assist workflow engine authors in identifying actions (for example, to
// indicate what sort of action they perform, such as localization or
// debugging). They are returned in the operation metadata, but are otherwise
// ignored.
Labels map[string]string `json:"labels,omitempty"`
// Mounts: A list of mounts to make available to the action. In addition to the
// values specified here, every action has a special virtual disk mounted under
// `/google` that contains log files and other operational components. -
// /google/logs All logs written during the pipeline execution. -
// /google/logs/output The combined standard output and standard error of all
// actions run as part of the pipeline execution. -
// /google/logs/action/*/stdout The complete contents of each individual
// action's standard output. - /google/logs/action/*/stderr The complete
// contents of each individual action's standard error output.
Mounts []*Mount `json:"mounts,omitempty"`
// PidNamespace: An optional identifier for a PID namespace to run the action
// inside. Multiple actions should use the same string to share a namespace. If
// unspecified, a separate isolated namespace is used.
PidNamespace string `json:"pidNamespace,omitempty"`
// PortMappings: A map of containers to host port mappings for this container.
// If the container already specifies exposed ports, use the
// `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less than
// 65536. If it is zero, an unused random port is assigned. To determine the
// resulting port number, consult the `ContainerStartedEvent` in the operation
// metadata.
PortMappings map[string]int64 `json:"portMappings,omitempty"`
// PublishExposedPorts: Exposes all ports specified by `EXPOSE` statements in
// the container. To discover the host side port numbers, consult the
// `ACTION_STARTED` event in the operation metadata.
PublishExposedPorts bool `json:"publishExposedPorts,omitempty"`
// RunInBackground: This flag allows an action to continue running in the
// background while executing subsequent actions. This is useful to provide
// services to other actions (or to provide debugging support tools like SSH
// servers).
RunInBackground bool `json:"runInBackground,omitempty"`
// Timeout: The maximum amount of time to give the action to complete. If the
// action fails to complete before the timeout, it will be terminated and the
// exit status will be non-zero. The pipeline will continue or terminate based
// on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
Timeout string `json:"timeout,omitempty"`
// ForceSendFields is a list of field names (e.g. "AlwaysRun") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AlwaysRun") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Action) MarshalJSON() ([]byte, error) {
type NoMethod Action
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CancelOperationRequest: The request message for Operations.CancelOperation.
type CancelOperationRequest struct {
}
// ContainerKilledEvent: An event generated when a container is forcibly
// terminated by the worker. Currently, this only occurs when the container
// outlives the timeout specified by the user.
type ContainerKilledEvent struct {
// ActionId: The numeric ID of the action that started the container.
ActionId int64 `json:"actionId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContainerKilledEvent) MarshalJSON() ([]byte, error) {
type NoMethod ContainerKilledEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContainerStartedEvent: An event generated when a container starts.
type ContainerStartedEvent struct {
// ActionId: The numeric ID of the action that started this container.
ActionId int64 `json:"actionId,omitempty"`
// IpAddress: The public IP address that can be used to connect to the
// container. This field is only populated when at least one port mapping is
// present. If the instance was created with a private address, this field will
// be empty even if port mappings exist.
IpAddress string `json:"ipAddress,omitempty"`
// PortMappings: The container-to-host port mappings installed for this
// container. This set will contain any ports exposed using the
// `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action`
// definition.
PortMappings map[string]int64 `json:"portMappings,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContainerStartedEvent) MarshalJSON() ([]byte, error) {
type NoMethod ContainerStartedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ContainerStoppedEvent: An event generated when a container exits.
type ContainerStoppedEvent struct {
// ActionId: The numeric ID of the action that started this container.
ActionId int64 `json:"actionId,omitempty"`
// ExitStatus: The exit status of the container.
ExitStatus int64 `json:"exitStatus,omitempty"`
// Stderr: The tail end of any content written to standard error by the
// container. If the content emits large amounts of debugging noise or contains
// sensitive information, you can prevent the content from being printed by
// setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a small
// amount of the end of the stream is captured here. The entire stream is
// stored in the `/google/logs` directory mounted into each action, and can be
// copied off the machine as described elsewhere.
Stderr string `json:"stderr,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ContainerStoppedEvent) MarshalJSON() ([]byte, error) {
type NoMethod ContainerStoppedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DelayedEvent: An event generated whenever a resource limitation or transient
// error delays execution of a pipeline that was otherwise ready to run.
type DelayedEvent struct {
// Cause: A textual description of the cause of the delay. The string can
// change without notice because it is often generated by another service (such
// as Compute Engine).
Cause string `json:"cause,omitempty"`
// Metrics: If the delay was caused by a resource shortage, this field lists
// the Compute Engine metrics that are preventing this operation from running
// (for example, `CPUS` or `INSTANCES`). If the particular metric is not known,
// a single `UNKNOWN` metric will be present.
Metrics []string `json:"metrics,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cause") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cause") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DelayedEvent) MarshalJSON() ([]byte, error) {
type NoMethod DelayedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Disk: Carries information about a disk that can be attached to a VM. See
// https://cloud.google.com/compute/docs/disks/performance for more information
// about disk type, size, and performance considerations. Specify either
// `Volume` or `Disk`, but not both.
type Disk struct {
// Name: A user-supplied name for the disk. Used when mounting the disk into
// actions. The name must contain only upper and lowercase alphanumeric
// characters and hyphens and cannot start with a hyphen.
Name string `json:"name,omitempty"`
// SizeGb: The size, in GB, of the disk to attach. If the size is not
// specified, a default is chosen to ensure reasonable I/O performance. If the
// disk type is specified as `local-ssd`, multiple local drives are
// automatically combined to provide the requested size. Note, however, that
// each physical SSD is 375GB in size, and no more than 8 drives can be
// attached to a single instance.
SizeGb int64 `json:"sizeGb,omitempty"`
// SourceImage: An optional image to put on the disk before attaching it to the
// VM.
SourceImage string `json:"sourceImage,omitempty"`
// Type: The Compute Engine disk type. If unspecified, `pd-standard` is used.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Disk) MarshalJSON() ([]byte, error) {
type NoMethod Disk
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use it as
// the request or the response type of an API method. For instance: service Foo
// { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
}
// Event: Carries information about events that occur during pipeline
// execution.
type Event struct {
// ContainerKilled: See google.cloud.lifesciences.v2beta.ContainerKilledEvent.
ContainerKilled *ContainerKilledEvent `json:"containerKilled,omitempty"`
// ContainerStarted: See
// google.cloud.lifesciences.v2beta.ContainerStartedEvent.
ContainerStarted *ContainerStartedEvent `json:"containerStarted,omitempty"`
// ContainerStopped: See
// google.cloud.lifesciences.v2beta.ContainerStoppedEvent.
ContainerStopped *ContainerStoppedEvent `json:"containerStopped,omitempty"`
// Delayed: See google.cloud.lifesciences.v2beta.DelayedEvent.
Delayed *DelayedEvent `json:"delayed,omitempty"`
// Description: A human-readable description of the event. Note that these
// strings can change at any time without notice. Any application logic must
// use the information in the `details` field.
Description string `json:"description,omitempty"`
// Failed: See google.cloud.lifesciences.v2beta.FailedEvent.
Failed *FailedEvent `json:"failed,omitempty"`
// PullStarted: See google.cloud.lifesciences.v2beta.PullStartedEvent.
PullStarted *PullStartedEvent `json:"pullStarted,omitempty"`
// PullStopped: See google.cloud.lifesciences.v2beta.PullStoppedEvent.
PullStopped *PullStoppedEvent `json:"pullStopped,omitempty"`
// Timestamp: The time at which the event occurred.
Timestamp string `json:"timestamp,omitempty"`
// UnexpectedExitStatus: See
// google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.
UnexpectedExitStatus *UnexpectedExitStatusEvent `json:"unexpectedExitStatus,omitempty"`
// WorkerAssigned: See google.cloud.lifesciences.v2beta.WorkerAssignedEvent.
WorkerAssigned *WorkerAssignedEvent `json:"workerAssigned,omitempty"`
// WorkerReleased: See google.cloud.lifesciences.v2beta.WorkerReleasedEvent.
WorkerReleased *WorkerReleasedEvent `json:"workerReleased,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContainerKilled") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContainerKilled") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Event) MarshalJSON() ([]byte, error) {
type NoMethod Event
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExistingDisk: Configuration for an existing disk to be attached to the VM.
type ExistingDisk struct {
// Disk: If `disk` contains slashes, the Cloud Life Sciences API assumes that
// it is a complete URL for the disk. If `disk` does not contain slashes, the
// Cloud Life Sciences API assumes that the disk is a zonal disk and a URL will
// be generated of the form `zones//disks/`, where `` is the zone in which the
// instance is allocated. The disk must be ext4 formatted. If all `Mount`
// references to this disk have the `read_only` flag set to true, the disk will
// be attached in `read-only` mode and can be shared with other instances.
// Otherwise, the disk will be available for writing but cannot be shared.
Disk string `json:"disk,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disk") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disk") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExistingDisk) MarshalJSON() ([]byte, error) {
type NoMethod ExistingDisk
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FailedEvent: An event generated when the execution of a pipeline has failed.
// Note that other events can continue to occur after this event.
type FailedEvent struct {
// Cause: The human-readable description of the cause of the failure.
Cause string `json:"cause,omitempty"`
// Code: The Google standard error code that best describes this failure.
//
// Possible values:
// "OK" - Not an error; returned on success. HTTP Mapping: 200 OK
// "CANCELLED" - The operation was cancelled, typically by the caller. HTTP
// Mapping: 499 Client Closed Request
// "UNKNOWN" - Unknown error. For example, this error may be returned when a
// `Status` value received from another address space belongs to an error space
// that is not known in this address space. Also errors raised by APIs that do
// not return enough error information may be converted to this error. HTTP
// Mapping: 500 Internal Server Error
// "INVALID_ARGUMENT" - The client specified an invalid argument. Note that
// this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
// arguments that are problematic regardless of the state of the system (e.g.,
// a malformed file name). HTTP Mapping: 400 Bad Request
// "DEADLINE_EXCEEDED" - The deadline expired before the operation could
// complete. For operations that change the state of the system, this error may
// be returned even if the operation has completed successfully. For example, a
// successful response from a server could have been delayed long enough for
// the deadline to expire. HTTP Mapping: 504 Gateway Timeout
// "NOT_FOUND" - Some requested entity (e.g., file or directory) was not
// found. Note to server developers: if a request is denied for an entire class
// of users, such as gradual feature rollout or undocumented allowlist,
// `NOT_FOUND` may be used. If a request is denied for some users within a
// class of users, such as user-based access control, `PERMISSION_DENIED` must
// be used. HTTP Mapping: 404 Not Found
// "ALREADY_EXISTS" - The entity that a client attempted to create (e.g.,
// file or directory) already exists. HTTP Mapping: 409 Conflict
// "PERMISSION_DENIED" - The caller does not have permission to execute the
// specified operation. `PERMISSION_DENIED` must not be used for rejections
// caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for
// those errors). `PERMISSION_DENIED` must not be used if the caller can not be
// identified (use `UNAUTHENTICATED` instead for those errors). This error code
// does not imply the request is valid or the requested entity exists or
// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
// "UNAUTHENTICATED" - The request does not have valid authentication
// credentials for the operation. HTTP Mapping: 401 Unauthorized
// "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
// per-user quota, or perhaps the entire file system is out of space. HTTP
// Mapping: 429 Too Many Requests
// "FAILED_PRECONDITION" - The operation was rejected because the system is
// not in a state required for the operation's execution. For example, the
// directory to be deleted is non-empty, an rmdir operation is applied to a
// non-directory, etc. Service implementors can use the following guidelines to
// decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use
// `UNAVAILABLE` if the client can retry just the failing call. (b) Use
// `ABORTED` if the client should retry at a higher level. For example, when a
// client-specified test-and-set fails, indicating the client should restart a
// read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client
// should not retry until the system state has been explicitly fixed. For
// example, if an "rmdir" fails because the directory is non-empty,
// `FAILED_PRECONDITION` should be returned since the client should not retry
// unless the files are deleted from the directory. HTTP Mapping: 400 Bad
// Request
// "ABORTED" - The operation was aborted, typically due to a concurrency
// issue such as a sequencer check failure or transaction abort. See the
// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
// `UNAVAILABLE`. HTTP Mapping: 409 Conflict
// "OUT_OF_RANGE" - The operation was attempted past the valid range. E.g.,
// seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error
// indicates a problem that may be fixed if the system state changes. For
// example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to
// read at an offset that is not in the range [0,2^32-1], but it will generate
// `OUT_OF_RANGE` if asked to read from an offset past the current file size.
// There is a fair bit of overlap between `FAILED_PRECONDITION` and
// `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error)
// when it applies so that callers who are iterating through a space can easily
// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping:
// 400 Bad Request
// "UNIMPLEMENTED" - The operation is not implemented or is not
// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
// "INTERNAL" - Internal errors. This means that some invariants expected by
// the underlying system have been broken. This error code is reserved for
// serious errors. HTTP Mapping: 500 Internal Server Error
// "UNAVAILABLE" - The service is currently unavailable. This is most likely
// a transient condition, which can be corrected by retrying with a backoff.
// Note that it is not always safe to retry non-idempotent operations. See the
// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
// `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable
// "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping: 500
// Internal Server Error
Code string `json:"code,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cause") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cause") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FailedEvent) MarshalJSON() ([]byte, error) {
type NoMethod FailedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ListLocationsResponse: The response message for Locations.ListLocations.
type ListLocationsResponse struct {
// Locations: A list of locations that matches the specified filter in the
// request.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Locations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Locations") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ListOperationsResponse: The response message for Operations.ListOperations.
type ListOperationsResponse struct {
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: A list of operations that matches the specified filter in the
// request.
Operations []*Operation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOperationsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents a Google Cloud location.
type Location struct {
// DisplayName: The friendly name for this location, typically a nearby city
// name. For example, "Tokyo".
DisplayName string `json:"displayName,omitempty"`
// Labels: Cross-service attributes for the location. For example
// {"cloud.googleapis.com/region": "us-east1"}
Labels map[string]string `json:"labels,omitempty"`
// LocationId: The canonical id for this location. For example: "us-east1".
LocationId string `json:"locationId,omitempty"`
// Metadata: Service-specific metadata. For example the available capacity at
// the given location.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: Resource name for the location, which may vary between
// implementations. For example:
// "projects/example-project/locations/us-east1"
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Metadata: Carries information about the pipeline execution that is returned
// in the long running operation's metadata field.
type Metadata struct {
// CreateTime: The time at which the operation was created by the API.
CreateTime string `json:"createTime,omitempty"`
// EndTime: The time at which execution was completed and resources were
// cleaned up.
EndTime string `json:"endTime,omitempty"`
// Events: The list of events that have happened so far during the execution of
// this operation.
Events []*Event `json:"events,omitempty"`
// Labels: The user-defined labels associated with this operation.
Labels map[string]string `json:"labels,omitempty"`
// Pipeline: The pipeline this operation represents.
Pipeline *Pipeline `json:"pipeline,omitempty"`
// PubSubTopic: The name of the Cloud Pub/Sub topic where notifications of
// operation status changes are sent.
PubSubTopic string `json:"pubSubTopic,omitempty"`
// StartTime: The first time at which resources were allocated to execute the
// pipeline.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Metadata) MarshalJSON() ([]byte, error) {
type NoMethod Metadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Mount: Carries information about a particular disk mount inside a container.
type Mount struct {
// Disk: The name of the disk to mount, as specified in the resources section.
Disk string `json:"disk,omitempty"`
// Path: The path to mount the disk inside the container.
Path string `json:"path,omitempty"`
// ReadOnly: If true, the disk is mounted read-only inside the container.
ReadOnly bool `json:"readOnly,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disk") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disk") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Mount) MarshalJSON() ([]byte, error) {
type NoMethod Mount
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// NFSMount: Configuration for an `NFSMount` to be attached to the VM.
type NFSMount struct {
// Target: A target NFS mount. The target must be specified as
// `address:/mount".
Target string `json:"target,omitempty"`
// ForceSendFields is a list of field names (e.g. "Target") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Target") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s NFSMount) MarshalJSON() ([]byte, error) {
type NoMethod NFSMount
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Network: VM networking options.
type Network struct {
// Network: 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.
Network string `json:"network,omitempty"`
// Subnetwork: 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.
Subnetwork string `json:"subnetwork,omitempty"`
// UsePrivateAddress: 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.
UsePrivateAddress bool `json:"usePrivateAddress,omitempty"`
// ForceSendFields is a list of field names (e.g. "Network") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Network") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Network) MarshalJSON() ([]byte, error) {
type NoMethod Network
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Operation: This resource represents a long-running operation that is the
// result of a network API call.
type Operation struct {
// Done: If the value is `false`, it means the operation is still in progress.
// If `true`, the operation is completed, and either `error` or `response` is
// available.
Done bool `json:"done,omitempty"`
// Error: The error result of the operation in case of failure or cancellation.
Error *Status `json:"error,omitempty"`
// Metadata: An Metadata object. This will always be returned with the
// Operation.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: The server-assigned name for the operation. This may be passed to the
// other operation methods to retrieve information about the operation's
// status.
Name string `json:"name,omitempty"`
// Response: An Empty object.
Response googleapi.RawMessage `json:"response,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PersistentDisk: Configuration for a persistent disk to be attached to the
// VM. See https://cloud.google.com/compute/docs/disks/performance for more
// information about disk type, size, and performance considerations.
type PersistentDisk struct {
// SizeGb: The size, in GB, of the disk to attach. If the size is not
// specified, a default is chosen to ensure reasonable I/O performance. If the
// disk type is specified as `local-ssd`, multiple local drives are
// automatically combined to provide the requested size. Note, however, that
// each physical SSD is 375GB in size, and no more than 8 drives can be
// attached to a single instance.
SizeGb int64 `json:"sizeGb,omitempty"`
// SourceImage: An image to put on the disk before attaching it to the VM.
SourceImage string `json:"sourceImage,omitempty"`
// Type: The Compute Engine disk type. If unspecified, `pd-standard` is used.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "SizeGb") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "SizeGb") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PersistentDisk) MarshalJSON() ([]byte, error) {
type NoMethod PersistentDisk
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Pipeline: Specifies a series of actions to execute, expressed as Docker
// containers.
type Pipeline struct {
// Actions: The list of actions to execute, in the order they are specified.
Actions []*Action `json:"actions,omitempty"`
// EncryptedEnvironment: The encrypted environment to pass into every action.
// Each action can also specify its own encrypted environment. The secret must
// decrypt to a JSON-encoded dictionary where key-value pairs serve as
// environment variable names and their values. The decoded environment
// variables can overwrite the values specified by the `environment` field.
EncryptedEnvironment *Secret `json:"encryptedEnvironment,omitempty"`
// Environment: 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).
Environment map[string]string `json:"environment,omitempty"`
// Resources: The resources required for execution.
Resources *Resources `json:"resources,omitempty"`
// Timeout: 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.
Timeout string `json:"timeout,omitempty"`
// ForceSendFields is a list of field names (e.g. "Actions") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Actions") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Pipeline) MarshalJSON() ([]byte, error) {
type NoMethod Pipeline
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PullStartedEvent: An event generated when the worker starts pulling an
// image.
type PullStartedEvent struct {
// ImageUri: The URI of the image that was pulled.
ImageUri string `json:"imageUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageUri") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageUri") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PullStartedEvent) MarshalJSON() ([]byte, error) {
type NoMethod PullStartedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PullStoppedEvent: An event generated when the worker stops pulling an image.
type PullStoppedEvent struct {
// ImageUri: The URI of the image that was pulled.
ImageUri string `json:"imageUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageUri") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageUri") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PullStoppedEvent) MarshalJSON() ([]byte, error) {
type NoMethod PullStoppedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Resources: The system resources for the pipeline run. At least one zone or
// region must be specified or the pipeline run will fail.
type Resources struct {
// Regions: The list of regions allowed for VM allocation. If set, the `zones`
// field must not be set.
Regions []string `json:"regions,omitempty"`
// VirtualMachine: The virtual machine specification.
VirtualMachine *VirtualMachine `json:"virtualMachine,omitempty"`
// Zones: The list of zones allowed for VM allocation. If set, the `regions`
// field must not be set.
Zones []string `json:"zones,omitempty"`
// ForceSendFields is a list of field names (e.g. "Regions") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Regions") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Resources) MarshalJSON() ([]byte, error) {
type NoMethod Resources
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RunPipelineRequest: The arguments to the `RunPipeline` method. The
// requesting user must have the `iam.serviceAccounts.actAs` permission for the
// Cloud Life Sciences service account or the request will fail.
type RunPipelineRequest struct {
// Labels: 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`).
Labels map[string]string `json:"labels,omitempty"`
// Pipeline: Required. The description of the pipeline to run.
Pipeline *Pipeline `json:"pipeline,omitempty"`
// PubSubTopic: 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.
PubSubTopic string `json:"pubSubTopic,omitempty"`
// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Labels") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RunPipelineRequest) MarshalJSON() ([]byte, error) {
type NoMethod RunPipelineRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RunPipelineResponse: The response to the RunPipeline method, returned in the
// operation's result field on success.
type RunPipelineResponse struct {
}
// Secret: Holds encrypted information that is only decrypted and stored in RAM
// by the worker VM when running the pipeline.
type Secret struct {
// CipherText: The value of the cipherText response from the `encrypt` method.
// This field is intentionally unaudited.
CipherText string `json:"cipherText,omitempty"`
// KeyName: 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.
KeyName string `json:"keyName,omitempty"`
// ForceSendFields is a list of field names (e.g. "CipherText") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CipherText") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Secret) MarshalJSON() ([]byte, error) {
type NoMethod Secret
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ServiceAccount: Carries information about a Google Cloud service account.
type ServiceAccount struct {
// Email: Email address of the service account. If not specified, the default
// Compute Engine service account for the project will be used.
Email string `json:"email,omitempty"`
// Scopes: 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.
Scopes []string `json:"scopes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Email") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Email") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ServiceAccount) MarshalJSON() ([]byte, error) {
type NoMethod ServiceAccount
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is suitable for
// different programming environments, including REST APIs and RPC APIs. It is
// used by gRPC (https://github.com/grpc). Each `Status` message contains three
// pieces of data: error code, error message, and error details. You can find
// out more about this error model and how to work with it in the API Design
// Guide (https://cloud.google.com/apis/design/errors).
type Status struct {
// Code: The status code, which should be an enum value of google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a common
// set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in English. Any
// user-facing error message should be localized and sent in the
// google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// UnexpectedExitStatusEvent: An event generated when the execution of a
// container results in a non-zero exit status that was not otherwise ignored.
// Execution will continue, but only actions that are flagged as `ALWAYS_RUN`
// will be executed. Other actions will be skipped.
type UnexpectedExitStatusEvent struct {
// ActionId: The numeric ID of the action that started the container.
ActionId int64 `json:"actionId,omitempty"`
// ExitStatus: The exit status of the container.
ExitStatus int64 `json:"exitStatus,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s UnexpectedExitStatusEvent) MarshalJSON() ([]byte, error) {
type NoMethod UnexpectedExitStatusEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// VirtualMachine: Carries information about a Compute Engine VM resource.
type VirtualMachine struct {
// Accelerators: The list of accelerators to attach to the VM.
Accelerators []*Accelerator `json:"accelerators,omitempty"`
// BootDiskSizeGb: 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.
BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"`
// BootImage: 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`.
BootImage string `json:"bootImage,omitempty"`
// CpuPlatform: 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.
CpuPlatform string `json:"cpuPlatform,omitempty"`
// Disks: The list of disks to create and attach to the VM. Specify either the
// `volumes[]` field or the `disks[]` field, but not both.
Disks []*Disk `json:"disks,omitempty"`
// DockerCacheImages: 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.
DockerCacheImages []string `json:"dockerCacheImages,omitempty"`
// EnableStackdriverMonitoring: Whether Stackdriver monitoring should be
// enabled on the VM.
EnableStackdriverMonitoring bool `json:"enableStackdriverMonitoring,omitempty"`
// Labels: Optional set of labels to apply to the VM and any attached disk
// resources. These labels must adhere to the name and value restrictions
// (https://cloud.google.com/compute/docs/labeling-resources) on VM labels
// imposed by Compute Engine. Labels keys with the prefix '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.
Labels map[string]string `json:"labels,omitempty"`
// MachineType: 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
// (https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create)
// for more specifications on creating a custom machine type.
MachineType string `json:"machineType,omitempty"`
// Network: The VM network configuration.
Network *Network `json:"network,omitempty"`
// NvidiaDriverVersion: 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.
NvidiaDriverVersion string `json:"nvidiaDriverVersion,omitempty"`
// Preemptible: If true, allocate a preemptible VM.
Preemptible bool `json:"preemptible,omitempty"`
// Reservation: If specified, the VM will only be allocated inside the matching
// reservation. It will fail if the VM parameters don't match the reservation.
Reservation string `json:"reservation,omitempty"`
// ServiceAccount: The service account to install on the VM. This account does
// not need any permissions other than those required by the pipeline.
ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`
// Volumes: The list of disks and other storage to create or attach to the VM.
// Specify either the `volumes[]` field or the `disks[]` field, but not both.
Volumes []*Volume `json:"volumes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Accelerators") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Accelerators") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s VirtualMachine) MarshalJSON() ([]byte, error) {
type NoMethod VirtualMachine
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Volume: Carries information about storage that can be attached to a VM.
// Specify either `Volume` or `Disk`, but not both.
type Volume struct {
// ExistingDisk: Configuration for a existing disk.
ExistingDisk *ExistingDisk `json:"existingDisk,omitempty"`
// NfsMount: Configuration for an NFS mount.
NfsMount *NFSMount `json:"nfsMount,omitempty"`
// PersistentDisk: Configuration for a persistent disk.
PersistentDisk *PersistentDisk `json:"persistentDisk,omitempty"`
// Volume: A user-supplied name for the volume. Used when mounting the volume
// into `Actions`. The name must contain only upper and lowercase alphanumeric
// characters and hyphens and cannot start with a hyphen.
Volume string `json:"volume,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExistingDisk") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExistingDisk") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Volume) MarshalJSON() ([]byte, error) {
type NoMethod Volume
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// WorkerAssignedEvent: An event generated after a worker VM has been assigned
// to run the pipeline.
type WorkerAssignedEvent struct {
// Instance: The worker's instance name.
Instance string `json:"instance,omitempty"`
// MachineType: The machine type that was assigned for the worker.
MachineType string `json:"machineType,omitempty"`
// Zone: The zone the worker is running in.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Instance") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Instance") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s WorkerAssignedEvent) MarshalJSON() ([]byte, error) {
type NoMethod WorkerAssignedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// WorkerReleasedEvent: An event generated when the worker VM that was assigned
// to the pipeline has been released (deleted).
type WorkerReleasedEvent struct {
// Instance: The worker's instance name.
Instance string `json:"instance,omitempty"`
// Zone: The zone the worker was running in.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Instance") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Instance") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s WorkerReleasedEvent) MarshalJSON() ([]byte, error) {
type NoMethod WorkerReleasedEvent
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type ProjectsLocationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a location.
//
// - name: Resource name for the location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "lifesciences.projects.locations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Location.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Location{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists information about the supported locations for this service.
//
// - name: The resource that owns the locations collection, if applicable.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// ExtraLocationTypes sets the optional parameter "extraLocationTypes": A list
// of extra location types that should be used as conditions for controlling
// the visibility of the locations.
func (c *ProjectsLocationsListCall) ExtraLocationTypes(extraLocationTypes ...string) *ProjectsLocationsListCall {
c.urlParams_.SetMulti("extraLocationTypes", append([]string{}, extraLocationTypes...))
return c
}
// Filter sets the optional parameter "filter": A filter to narrow down results
// to a preferred subset. The filtering language accepts strings like
// "displayName=tokyo", and is documented in more detail in AIP-160
// (https://google.aip.dev/160).
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. If not set, the service selects a default.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token received
// from the `next_page_token` field in the response. Send that page token to
// receive the subsequent page.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+name}/locations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "lifesciences.projects.locations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListLocationsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListLocationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsLocationsOperationsCancelCall struct {
s *Service
name string
canceloperationrequest *CancelOperationRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. Clients may use Operations.GetOperation or
// Operations.ListOperations to check whether the cancellation succeeded or the
// operation completed despite cancellation. Authorization requires the
// following Google IAM (https://cloud.google.com/iam) permission: *
// `lifesciences.operations.cancel`
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.canceloperationrequest = canceloperationrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.canceloperationrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+name}:cancel")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.operations.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "lifesciences.projects.locations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.operations.cancel", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOperationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service. Authorization requires the following Google IAM
// (https://cloud.google.com/iam) permission: * `lifesciences.operations.get`
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.operations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "lifesciences.projects.locations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.operations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsOperationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists operations that match the specified filter in the request.
// Authorization requires the following Google IAM
// (https://cloud.google.com/iam) permission: * `lifesciences.operations.list`
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": A string for filtering
// Operations. The following filter fields are supported: * createTime: The
// time this job was created * events: The set of event (names) that have
// occurred while running the pipeline. The : operator can be used to determine
// if a particular event has occurred. * error: If the pipeline is running,
// this value is NULL. Once the pipeline finishes, the value is the standard
// Google error code. * labels.key or labels."key with space" where key is a
// label key. * done: If the pipeline is running, this value is false. Once the
// pipeline finishes, the value is true.
func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. The maximum value is 256.
func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+name}/operations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.operations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "lifesciences.projects.locations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListOperationsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListOperationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.operations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsLocationsPipelinesRunCall struct {
s *Service
parent string
runpipelinerequest *RunPipelineRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Run: 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 (https://cloud.google.com/iam/) permission: *
// `lifesciences.workflows.run`
//
// - parent: The project and location that this request should be executed
// against.
func (r *ProjectsLocationsPipelinesService) Run(parent string, runpipelinerequest *RunPipelineRequest) *ProjectsLocationsPipelinesRunCall {
c := &ProjectsLocationsPipelinesRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.runpipelinerequest = runpipelinerequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelinesRunCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelinesRunCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelinesRunCall) Context(ctx context.Context) *ProjectsLocationsPipelinesRunCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelinesRunCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsPipelinesRunCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.runpipelinerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+parent}/pipelines:run")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.pipelines.run", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "lifesciences.projects.locations.pipelines.run" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelinesRunCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "lifesciences.projects.locations.pipelines.run", "response", internallog.HTTPResponse(res, b))
return ret, nil
}