Documentation
¶
Overview ¶
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.
Index ¶
- type Accelerator
- type Action
- type ContainerKilledEvent
- type ContainerStartedEvent
- type ContainerStoppedEvent
- type DelayedEvent
- type Disk
- type Event
- type ExistingDisk
- type FailedEvent
- type Metadata
- type Mount
- type NFSMount
- type Network
- type PersistentDisk
- type Pipeline
- type PullStartedEvent
- type PullStoppedEvent
- type Resources
- type RunPipelineResponse
- type Secret
- type Service
- type ServiceAccount
- type UnexpectedExitStatusEvent
- type VirtualMachine
- type Volume
- type WorkerAssignedEvent
- type WorkerReleasedEvent
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Accelerator ¶ added in v0.47.0
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:"-"`
}
Accelerator: Carries information about an accelerator that can be attached to a VM.
func (*Accelerator) MarshalJSON ¶ added in v0.47.0
func (s *Accelerator) MarshalJSON() ([]byte, error)
type Action ¶ added in v0.47.0
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:"-"`
}
Action: Specifies a single action that runs a Docker container.
func (*Action) MarshalJSON ¶ added in v0.47.0
type ContainerKilledEvent ¶
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:"-"`
}
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.
func (*ContainerKilledEvent) MarshalJSON ¶
func (s *ContainerKilledEvent) MarshalJSON() ([]byte, error)
type ContainerStartedEvent ¶
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:"-"`
}
ContainerStartedEvent: An event generated when a container starts.
func (*ContainerStartedEvent) MarshalJSON ¶
func (s *ContainerStartedEvent) MarshalJSON() ([]byte, error)
type ContainerStoppedEvent ¶
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:"-"`
}
ContainerStoppedEvent: An event generated when a container exits.
func (*ContainerStoppedEvent) MarshalJSON ¶
func (s *ContainerStoppedEvent) MarshalJSON() ([]byte, error)
type DelayedEvent ¶
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:"-"`
}
DelayedEvent: An event generated whenever a resource limitation or transient error delays execution of a pipeline that was otherwise ready to run.
func (*DelayedEvent) MarshalJSON ¶
func (s *DelayedEvent) MarshalJSON() ([]byte, error)
type Disk ¶ added in v0.47.0
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:"-"`
}
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.
func (*Disk) MarshalJSON ¶ added in v0.47.0
type Event ¶
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:"-"`
}
Event: Carries information about events that occur during pipeline execution.
func (*Event) MarshalJSON ¶
type ExistingDisk ¶ added in v0.47.0
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:"-"`
}
ExistingDisk: Configuration for an existing disk to be attached to the VM.
func (*ExistingDisk) MarshalJSON ¶ added in v0.47.0
func (s *ExistingDisk) MarshalJSON() ([]byte, error)
type FailedEvent ¶
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:"-"`
}
FailedEvent: An event generated when the execution of a pipeline has failed. Note that other events can continue to occur after this event.
func (*FailedEvent) MarshalJSON ¶
func (s *FailedEvent) MarshalJSON() ([]byte, error)
type Metadata ¶ added in v0.47.0
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:"-"`
}
Metadata: Carries information about the pipeline execution that is returned in the long running operation's metadata field.
func (*Metadata) MarshalJSON ¶ added in v0.47.0
type Mount ¶ added in v0.47.0
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:"-"`
}
Mount: Carries information about a particular disk mount inside a container.
func (*Mount) MarshalJSON ¶ added in v0.47.0
type NFSMount ¶ added in v0.47.0
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:"-"`
}
NFSMount: Configuration for an `NFSMount` to be attached to the VM.
func (*NFSMount) MarshalJSON ¶ added in v0.47.0
type Network ¶ added in v0.47.0
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:"-"`
}
Network: VM networking options.
func (*Network) MarshalJSON ¶ added in v0.47.0
type PersistentDisk ¶ added in v0.47.0
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:"-"`
}
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.
func (*PersistentDisk) MarshalJSON ¶ added in v0.47.0
func (s *PersistentDisk) MarshalJSON() ([]byte, error)
type Pipeline ¶ added in v0.47.0
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:"-"`
}
Pipeline: Specifies a series of actions to execute, expressed as Docker containers.
func (*Pipeline) MarshalJSON ¶ added in v0.47.0
type PullStartedEvent ¶
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:"-"`
}
PullStartedEvent: An event generated when the worker starts pulling an image.
func (*PullStartedEvent) MarshalJSON ¶
func (s *PullStartedEvent) MarshalJSON() ([]byte, error)
type PullStoppedEvent ¶
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:"-"`
}
PullStoppedEvent: An event generated when the worker stops pulling an image.
func (*PullStoppedEvent) MarshalJSON ¶
func (s *PullStoppedEvent) MarshalJSON() ([]byte, error)
type Resources ¶ added in v0.47.0
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:"-"`
}
Resources: The system resources for the pipeline run. At least one zone or region must be specified or the pipeline run will fail.
func (*Resources) MarshalJSON ¶ added in v0.47.0
type RunPipelineResponse ¶
type RunPipelineResponse struct {
}
RunPipelineResponse: The response to the RunPipeline method, returned in the operation's result field on success.
type Secret ¶ added in v0.47.0
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:"-"`
}
Secret: Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline.
func (*Secret) MarshalJSON ¶ added in v0.47.0
type Service ¶
type Service struct {
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
// contains filtered or unexported fields
}
func New
deprecated
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 NewService ¶ added in v0.3.0
NewService creates a new Service.
type ServiceAccount ¶ added in v0.47.0
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:"-"`
}
ServiceAccount: Carries information about a Google Cloud service account.
func (*ServiceAccount) MarshalJSON ¶ added in v0.47.0
func (s *ServiceAccount) MarshalJSON() ([]byte, error)
type UnexpectedExitStatusEvent ¶
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:"-"`
}
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.
func (*UnexpectedExitStatusEvent) MarshalJSON ¶
func (s *UnexpectedExitStatusEvent) MarshalJSON() ([]byte, error)
type VirtualMachine ¶ added in v0.47.0
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:"-"`
}
VirtualMachine: Carries information about a Compute Engine VM resource.
func (*VirtualMachine) MarshalJSON ¶ added in v0.47.0
func (s *VirtualMachine) MarshalJSON() ([]byte, error)
type Volume ¶ added in v0.47.0
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:"-"`
}
Volume: Carries information about storage that can be attached to a VM. Specify either `Volume` or `Disk`, but not both.
func (*Volume) MarshalJSON ¶ added in v0.47.0
type WorkerAssignedEvent ¶
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:"-"`
}
WorkerAssignedEvent: An event generated after a worker VM has been assigned to run the pipeline.
func (*WorkerAssignedEvent) MarshalJSON ¶
func (s *WorkerAssignedEvent) MarshalJSON() ([]byte, error)
type WorkerReleasedEvent ¶
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:"-"`
}
WorkerReleasedEvent: An event generated when the worker VM that was assigned to the pipeline has been released (deleted).
func (*WorkerReleasedEvent) MarshalJSON ¶
func (s *WorkerReleasedEvent) MarshalJSON() ([]byte, error)