// Copyright 2021 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 genomics provides access to the Genomics API. // // For product documentation, see: https://cloud.google.com/genomics // // Creating a client // // Usage example: // // import "google.golang.org/api/genomics/v1" // ... // ctx := context.Background() // genomicsService, err := genomics.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 option.WithAPIKey: // // genomicsService, err := genomics.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // genomicsService, err := genomics.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package genomics // import "google.golang.org/api/genomics/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" 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 const apiId = "genomics:v1" const apiName = "genomics" const apiVersion = "v1" const basePath = "https://genomics.googleapis.com/" const mtlsBasePath = "https://genomics.mtls.googleapis.com/" // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 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} return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } // 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-k80"). // 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Accelerator) MarshalJSON() ([]byte, error) { type NoMethod Accelerator raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Action: Specifies a single action that runs a Docker container. type Action struct { // 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"` // 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"` // EncryptedEnvironment: The encrypted environment to pass into the // container. This environment is merged with values specified in the // google.genomics.v2alpha1.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.genomics.v2alpha1.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"` // Flags: The set of flags to apply to this action. // // Possible values: // "FLAG_UNSPECIFIED" - Unspecified flag. // "IGNORE_EXIT_STATUS" - Normally, a non-zero exit status causes the // pipeline to fail. This flag allows execution of other actions to // continue instead. // "RUN_IN_BACKGROUND" - 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). // "ALWAYS_RUN" - 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. // "ENABLE_FUSE" - 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. // "PUBLISH_EXPOSED_PORTS" - 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. // "DISABLE_IMAGE_PREFETCH" - 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. // "DISABLE_STANDARD_ERROR_CAPTURE" - A small portion of the // container's standard error stream is typically captured and returned // inside the `ContainerStoppedEvent`. Setting this flag disables this // functionality. // "BLOCK_EXTERNAL_NETWORK" - Prevents the container from accessing // the external network. Flags []string `json:"flags,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.genomics.v2alpha1.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"` // Name: 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. Name string `json:"name,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"` // 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. "Commands") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Commands") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Action) MarshalJSON() ([]byte, error) { type NoMethod Action raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ContainerKilledEvent) MarshalJSON() ([]byte, error) { type NoMethod ContainerKilledEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ContainerStartedEvent) MarshalJSON() ([]byte, error) { type NoMethod ContainerStartedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ContainerStoppedEvent) MarshalJSON() ([]byte, error) { type NoMethod ContainerStoppedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *DelayedEvent) MarshalJSON() ([]byte, error) { type NoMethod DelayedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Disk) MarshalJSON() ([]byte, error) { type NoMethod Disk raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Event: Carries information about events that occur during pipeline // execution. type Event struct { // 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"` // Details: Machine-readable details about the event. Details googleapi.RawMessage `json:"details,omitempty"` // Timestamp: The time at which the event occurred. Timestamp string `json:"timestamp,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Event) MarshalJSON() ([]byte, error) { type NoMethod Event raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ExistingDisk) MarshalJSON() ([]byte, error) { type NoMethod ExistingDisk raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *FailedEvent) MarshalJSON() ([]byte, error) { type NoMethod FailedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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"` // 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Metadata) MarshalJSON() ([]byte, error) { type NoMethod Metadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Mount) MarshalJSON() ([]byte, error) { type NoMethod Mount raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *NFSMount) MarshalJSON() ([]byte, error) { type NoMethod NFSMount raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Network: VM networking options. type Network struct { // Name: 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. Name string `json:"name,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. "Name") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Network) MarshalJSON() ([]byte, error) { type NoMethod Network raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PersistentDisk) MarshalJSON() ([]byte, error) { type NoMethod PersistentDisk raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Pipeline) MarshalJSON() ([]byte, error) { type NoMethod Pipeline raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PullStartedEvent) MarshalJSON() ([]byte, error) { type NoMethod PullStartedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PullStoppedEvent) MarshalJSON() ([]byte, error) { type NoMethod PullStoppedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 { // ProjectId: The project ID to allocate resources in. ProjectId string `json:"projectId,omitempty"` // 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. "ProjectId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ProjectId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Resources) MarshalJSON() ([]byte, error) { type NoMethod Resources raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Secret) MarshalJSON() ([]byte, error) { type NoMethod Secret raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ServiceAccount) MarshalJSON() ([]byte, error) { type NoMethod ServiceAccount raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *UnexpectedExitStatusEvent) MarshalJSON() ([]byte, error) { type NoMethod UnexpectedExitStatusEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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"` // 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *VirtualMachine) MarshalJSON() ([]byte, error) { type NoMethod VirtualMachine raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Volume) MarshalJSON() ([]byte, error) { type NoMethod Volume raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *WorkerAssignedEvent) MarshalJSON() ([]byte, error) { type NoMethod WorkerAssignedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. 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. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *WorkerReleasedEvent) MarshalJSON() ([]byte, error) { type NoMethod WorkerReleasedEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) }