// Copyright 2024 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" "net/http" "net/url" "strconv" "strings" 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 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, err := New(client) if err != nil { return nil, err } 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") } s := &Service{client: client, BasePath: basePath} s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }