// Copyright 2024 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package batch provides access to the Batch API. // // For product documentation, see: https://cloud.google.com/batch/ // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # Creating a client // // Usage example: // // import "google.golang.org/api/batch/v1" // ... // ctx := context.Background() // batchService, err := batch.NewService(ctx) // // In this example, Google Application Default Credentials are used for // authentication. For information on how to create and obtain Application // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // # Other authentication options // // To use an API key for authentication (note: some APIs do not support API // keys), use [google.golang.org/api/option.WithAPIKey]: // // batchService, err := batch.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth // flow, use [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // batchService, err := batch.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package batch // import "google.golang.org/api/batch/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint var _ = internal.Version const apiId = "batch:v1" const apiName = "batch" const apiVersion = "v1" const basePath = "https://batch.googleapis.com/" const basePathTemplate = "https://batch.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://batch.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // See, edit, configure, and delete your Google Cloud data and see the email // address for your Google Account. CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/cloud-platform", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Projects *ProjectsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Locations = NewProjectsLocationsService(s) return rs } type ProjectsService struct { s *Service Locations *ProjectsLocationsService } func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs := &ProjectsLocationsService{s: s} rs.Jobs = NewProjectsLocationsJobsService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.State = NewProjectsLocationsStateService(s) return rs } type ProjectsLocationsService struct { s *Service Jobs *ProjectsLocationsJobsService Operations *ProjectsLocationsOperationsService State *ProjectsLocationsStateService } func NewProjectsLocationsJobsService(s *Service) *ProjectsLocationsJobsService { rs := &ProjectsLocationsJobsService{s: s} rs.TaskGroups = NewProjectsLocationsJobsTaskGroupsService(s) return rs } type ProjectsLocationsJobsService struct { s *Service TaskGroups *ProjectsLocationsJobsTaskGroupsService } func NewProjectsLocationsJobsTaskGroupsService(s *Service) *ProjectsLocationsJobsTaskGroupsService { rs := &ProjectsLocationsJobsTaskGroupsService{s: s} rs.Tasks = NewProjectsLocationsJobsTaskGroupsTasksService(s) return rs } type ProjectsLocationsJobsTaskGroupsService struct { s *Service Tasks *ProjectsLocationsJobsTaskGroupsTasksService } func NewProjectsLocationsJobsTaskGroupsTasksService(s *Service) *ProjectsLocationsJobsTaskGroupsTasksService { rs := &ProjectsLocationsJobsTaskGroupsTasksService{s: s} return rs } type ProjectsLocationsJobsTaskGroupsTasksService struct { s *Service } func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { rs := &ProjectsLocationsOperationsService{s: s} return rs } type ProjectsLocationsOperationsService struct { s *Service } func NewProjectsLocationsStateService(s *Service) *ProjectsLocationsStateService { rs := &ProjectsLocationsStateService{s: s} return rs } type ProjectsLocationsStateService struct { s *Service } // Accelerator: Accelerator describes Compute Engine accelerators to be // attached to the VM. type Accelerator struct { // Count: The number of accelerators of this type. Count int64 `json:"count,omitempty,string"` // DriverVersion: Optional. The NVIDIA GPU driver version that should be // installed for this type. You can define the specific driver version such as // "470.103.01", following the driver version requirements in // https://cloud.google.com/compute/docs/gpus/install-drivers-gpu#minimum-driver. // Batch will install the specific accelerator driver if qualified. DriverVersion string `json:"driverVersion,omitempty"` // InstallGpuDrivers: Deprecated: please use instances[0].install_gpu_drivers // instead. InstallGpuDrivers bool `json:"installGpuDrivers,omitempty"` // Type: The accelerator type. For example, "nvidia-tesla-t4". See `gcloud // compute accelerator-types list`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Count") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Count") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Accelerator) MarshalJSON() ([]byte, error) { type NoMethod Accelerator return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ActionCondition: Conditions for actions to deal with task failures. type ActionCondition struct { // ExitCodes: Exit codes of a task execution. If there are more than 1 exit // codes, when task executes with any of the exit code in the list, the // condition is met and the action will be executed. ExitCodes []int64 `json:"exitCodes,omitempty"` // ForceSendFields is a list of field names (e.g. "ExitCodes") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExitCodes") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActionCondition) MarshalJSON() ([]byte, error) { type NoMethod ActionCondition return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentContainer: Container runnable representation on the agent side. type AgentContainer struct { // Commands: Overrides the `CMD` specified in the container. If there is an // ENTRYPOINT (either in the container image or with the entrypoint field // below) then commands are appended as arguments to the ENTRYPOINT. Commands []string `json:"commands,omitempty"` // Entrypoint: Overrides the `ENTRYPOINT` specified in the container. Entrypoint string `json:"entrypoint,omitempty"` // ImageUri: The URI to pull the container image from. ImageUri string `json:"imageUri,omitempty"` // Options: Arbitrary additional options to include in the "docker run" command // when running this container, e.g. "--network host". Options string `json:"options,omitempty"` // Volumes: Volumes to mount (bind mount) from the host machine files or // directories into the container, formatted to match docker run's --volume // option, e.g. /foo:/bar, or /foo:/bar:ro Volumes []string `json:"volumes,omitempty"` // ForceSendFields is a list of field names (e.g. "Commands") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Commands") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentContainer) MarshalJSON() ([]byte, error) { type NoMethod AgentContainer return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentEnvironment: AgentEnvironment is the Environment representation between // Agent and CLH communication. The environment is used in both task level and // agent level. type AgentEnvironment struct { // EncryptedVariables: An encrypted JSON dictionary where the key/value pairs // correspond to environment variable names and their values. EncryptedVariables *AgentKMSEnvMap `json:"encryptedVariables,omitempty"` // SecretVariables: A map of environment variable names to Secret Manager // secret names. The VM will access the named secrets to set the value of each // environment variable. SecretVariables map[string]string `json:"secretVariables,omitempty"` // Variables: A map of environment variable names to values. Variables map[string]string `json:"variables,omitempty"` // ForceSendFields is a list of field names (e.g. "EncryptedVariables") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EncryptedVariables") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentEnvironment) MarshalJSON() ([]byte, error) { type NoMethod AgentEnvironment return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentInfo: VM Agent Info. type AgentInfo struct { // JobId: Optional. The assigned Job ID JobId string `json:"jobId,omitempty"` // ReportTime: When the AgentInfo is generated. ReportTime string `json:"reportTime,omitempty"` // State: Agent state. // // Possible values: // "AGENT_STATE_UNSPECIFIED" - Unspecified state. // "AGENT_STARTING" - The agent is starting on the VM instance. // "AGENT_RUNNING" - The agent is running. The agent in the RUNNING state can // never go back to the STARTING state. // "AGENT_STOPPED" - The agent has stopped, either on request or due to a // failure. State string `json:"state,omitempty"` // TaskGroupId: The assigned task group ID. TaskGroupId string `json:"taskGroupId,omitempty"` // Tasks: Task Info. Tasks []*AgentTaskInfo `json:"tasks,omitempty"` // ForceSendFields is a list of field names (e.g. "JobId") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "JobId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentInfo) MarshalJSON() ([]byte, error) { type NoMethod AgentInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentKMSEnvMap: AgentKMSEnvMap contains the encrypted key/value pair to be // used in the environment on the Agent side. type AgentKMSEnvMap struct { // CipherText: The value of the cipherText response from the `encrypt` method. CipherText string `json:"cipherText,omitempty"` // KeyName: The name of the KMS key that will be used to decrypt the cipher // text. KeyName string `json:"keyName,omitempty"` // ForceSendFields is a list of field names (e.g. "CipherText") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CipherText") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentKMSEnvMap) MarshalJSON() ([]byte, error) { type NoMethod AgentKMSEnvMap return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentMetadata: VM Agent Metadata. type AgentMetadata struct { // CreationTime: When the VM agent started. Use agent_startup_time instead. CreationTime string `json:"creationTime,omitempty"` // Creator: Full name of the entity that created this vm. For MIG, this path // is: projects/{project}/regions/{region}/InstanceGroupManagers/{igm} The // value is retrieved from the vm metadata key of "created-by". Creator string `json:"creator,omitempty"` // ImageVersion: image version for the VM that this agent is installed on. ImageVersion string `json:"imageVersion,omitempty"` // Instance: GCP instance name (go/instance-name). Instance string `json:"instance,omitempty"` // InstanceId: GCP instance ID (go/instance-id). InstanceId uint64 `json:"instanceId,omitempty,string"` // InstancePreemptionNoticeReceived: If the GCP instance has received // preemption notice. InstancePreemptionNoticeReceived bool `json:"instancePreemptionNoticeReceived,omitempty"` // OsRelease: parsed contents of /etc/os-release OsRelease map[string]string `json:"osRelease,omitempty"` // Version: agent binary version running on VM Version string `json:"version,omitempty"` // Zone: Agent zone. Zone string `json:"zone,omitempty"` // ForceSendFields is a list of field names (e.g. "CreationTime") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreationTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentMetadata) MarshalJSON() ([]byte, error) { type NoMethod AgentMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentScript: Script runnable representation on the agent side. type AgentScript struct { // Path: Script file path on the host VM. To specify an interpreter, please add // a `#!`(also known as shebang line // (https://en.wikipedia.org/wiki/Shebang_(Unix))) as the first line of the // file.(For example, to execute the script using bash, `#!/bin/bash` should be // the first line of the file. To execute the script using`Python3`, // `#!/usr/bin/env python3` should be the first line of the file.) Otherwise, // the file will by default be executed by `/bin/sh`. Path string `json:"path,omitempty"` // Text: Shell script text. To specify an interpreter, please add a `#!\n` at // the beginning of the text.(For example, to execute the script using bash, // `#!/bin/bash\n` should be added. To execute the script using`Python3`, // `#!/usr/bin/env python3\n` should be added.) Otherwise, the script will by // default be executed by `/bin/sh`. Text string `json:"text,omitempty"` // ForceSendFields is a list of field names (e.g. "Path") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Path") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentScript) MarshalJSON() ([]byte, error) { type NoMethod AgentScript return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentTask: TODO(b/182501497) The message needs to be redefined when the // Agent API server updates data in storage per the backend design. type AgentTask struct { // AgentTaskSpec: AgentTaskSpec is the taskSpec representation between Agent // and CLH communication. This field will replace the TaskSpec field above in // future to have a better separation between user-facaing API and internal // API. AgentTaskSpec *AgentTaskSpec `json:"agentTaskSpec,omitempty"` // IntendedState: The intended state of the task. // // Possible values: // "INTENDED_STATE_UNSPECIFIED" - Unspecified state. // "ASSIGNED" - Assigned state (includes running and finished). // "CANCELLED" - The agent should cancel the execution of this task. // "DELETED" - Delete task from agent storage, stop reporting its state. IntendedState string `json:"intendedState,omitempty"` // ReachedBarrier: The highest barrier reached by all tasks in the task's // TaskGroup. ReachedBarrier int64 `json:"reachedBarrier,omitempty,string"` // Spec: Task Spec. This field will be replaced by agent_task_spec below in // future. Spec *TaskSpec `json:"spec,omitempty"` // Status: Task status. Status *TaskStatus `json:"status,omitempty"` // Task: Task name. Task string `json:"task,omitempty"` // TaskSource: TaskSource represents the source of the task. // // Possible values: // "TASK_SOURCE_UNSPECIFIED" - Unspecified task source. // "BATCH_INTERNAL" - The AgentTask from this source is generated by Batch // server. E.g. all the VMActions are from this source. When Batch Agent // execute AgentTask from BATCH_INTERNAL, it will log stdout/err with // "batch_agent_logs" log name. // "USER" - The AgentTask from this source is provided by Batch users. When // Batch Agent execute AgentTask from USER, it will log stdout/err with // "batch_task_logs" log name. TaskSource string `json:"taskSource,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentTaskSpec") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgentTaskSpec") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentTask) MarshalJSON() ([]byte, error) { type NoMethod AgentTask return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentTaskInfo: Task Info type AgentTaskInfo struct { // Runnable: The highest index of a runnable started by the agent for this // task. The runnables are indexed from 1. Value 0 is undefined. Runnable int64 `json:"runnable,omitempty,string"` // TaskId: ID of the Task TaskId string `json:"taskId,omitempty"` // TaskStatus: The status of the Task. If we need agent specific fields we // should fork the public TaskStatus into an agent specific one. Or add them // below. TaskStatus *TaskStatus `json:"taskStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "Runnable") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Runnable") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentTaskInfo) MarshalJSON() ([]byte, error) { type NoMethod AgentTaskInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentTaskRunnable: AgentTaskRunnable is the Runnable representation between // Agent and CLH communication. type AgentTaskRunnable struct { // AlwaysRun: By default, after a Runnable fails, no further Runnable are // executed. This flag indicates that this Runnable must be run even if the // Task has already failed. This is useful for Runnables that copy output files // off of the VM or for debugging. The always_run flag does not override the // Task's overall max_run_duration. If the max_run_duration has expired then no // further Runnables will execute, not even always_run Runnables. AlwaysRun bool `json:"alwaysRun,omitempty"` // Background: This flag allows a Runnable to continue running in the // background while the Task executes subsequent Runnables. This is useful to // provide services to other Runnables (or to provide debugging support tools // like SSH servers). Background bool `json:"background,omitempty"` // Container: Container runnable. Container *AgentContainer `json:"container,omitempty"` // Environment: Environment variables for this Runnable (overrides variables // set for the whole Task or TaskGroup). Environment *AgentEnvironment `json:"environment,omitempty"` // IgnoreExitStatus: Normally, a non-zero exit status causes the Task to fail. // This flag allows execution of other Runnables to continue instead. IgnoreExitStatus bool `json:"ignoreExitStatus,omitempty"` // Script: Script runnable. Script *AgentScript `json:"script,omitempty"` // Timeout: Timeout for this Runnable. Timeout string `json:"timeout,omitempty"` // ForceSendFields is a list of field names (e.g. "AlwaysRun") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AlwaysRun") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentTaskRunnable) MarshalJSON() ([]byte, error) { type NoMethod AgentTaskRunnable return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentTaskSpec: AgentTaskSpec is the user's TaskSpec representation between // Agent and CLH communication. type AgentTaskSpec struct { // Environment: Environment variables to set before running the Task. Environment *AgentEnvironment `json:"environment,omitempty"` // MaxRunDuration: Maximum duration the task should run. The task will be // killed and marked as FAILED if over this limit. The valid value range for // max_run_duration in seconds is [0, 315576000000.999999999], MaxRunDuration string `json:"maxRunDuration,omitempty"` // Runnables: AgentTaskRunnable is runanbles that will be executed on the // agent. Runnables []*AgentTaskRunnable `json:"runnables,omitempty"` // UserAccount: User account on the VM to run the runnables in the // agentTaskSpec. If not set, the runnable will be run under root user. UserAccount *AgentTaskUserAccount `json:"userAccount,omitempty"` // ForceSendFields is a list of field names (e.g. "Environment") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Environment") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentTaskSpec) MarshalJSON() ([]byte, error) { type NoMethod AgentTaskSpec return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentTaskUserAccount: AgentTaskUserAccount contains the information of a // POSIX account on the guest os which is used to execute the runnables. type AgentTaskUserAccount struct { // Gid: gid id an unique identifier of the POSIX account group corresponding to // the user account. Gid int64 `json:"gid,omitempty,string"` // Uid: uid is an unique identifier of the POSIX account corresponding to the // user account. Uid int64 `json:"uid,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Gid") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Gid") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentTaskUserAccount) MarshalJSON() ([]byte, error) { type NoMethod AgentTaskUserAccount return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AgentTimingInfo: VM timing information type AgentTimingInfo struct { // AgentStartupTime: Agent startup time AgentStartupTime string `json:"agentStartupTime,omitempty"` // BootTime: Boot timestamp of the VM OS BootTime string `json:"bootTime,omitempty"` // ScriptStartupTime: Startup time of the Batch VM script. ScriptStartupTime string `json:"scriptStartupTime,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentStartupTime") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgentStartupTime") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AgentTimingInfo) MarshalJSON() ([]byte, error) { type NoMethod AgentTimingInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AllocationPolicy: A Job's resource allocation policy describes when, where, // and how compute resources should be allocated for the Job. type AllocationPolicy struct { // Instances: Describe instances that can be created by this AllocationPolicy. // Only instances[0] is supported now. Instances []*InstancePolicyOrTemplate `json:"instances,omitempty"` // Labels: Labels applied to all VM instances and other resources created by // AllocationPolicy. Labels could be user provided or system generated. You can // assign up to 64 labels. Google Compute Engine label restrictions // (https://cloud.google.com/compute/docs/labeling-resources#restrictions) // apply. Label names that start with "goog-" or "google-" are reserved. Labels map[string]string `json:"labels,omitempty"` // Location: Location where compute resources should be allocated for the Job. Location *LocationPolicy `json:"location,omitempty"` // Network: The network policy. If you define an instance template in the // `InstancePolicyOrTemplate` field, Batch will use the network settings in the // instance template instead of this field. Network *NetworkPolicy `json:"network,omitempty"` // Placement: The placement policy. Placement *PlacementPolicy `json:"placement,omitempty"` // ServiceAccount: Defines the service account for Batch-created VMs. If // omitted, the default Compute Engine service account // (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) // is used. Must match the service account specified in any used instance // template configured in the Batch job. Includes the following fields: * // email: The service account's email address. If not set, the default Compute // Engine service account is used. * scopes: Additional OAuth scopes to grant // the service account, beyond the default cloud-platform scope. (list of // strings) ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"` // Tags: Optional. Tags applied to the VM instances. The tags identify valid // sources or targets for network firewalls. Each tag must be 1-63 characters // long, and comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt). Tags []string `json:"tags,omitempty"` // ForceSendFields is a list of field names (e.g. "Instances") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Instances") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AllocationPolicy) MarshalJSON() ([]byte, error) { type NoMethod AllocationPolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AttachedDisk: A new or an existing persistent disk (PD) or a local ssd // attached to a VM instance. type AttachedDisk struct { // DeviceName: Device name that the guest operating system will see. It is used // by Runnable.volumes field to mount disks. So please specify the device_name // if you want Batch to help mount the disk, and it should match the // device_name field in volumes. DeviceName string `json:"deviceName,omitempty"` // ExistingDisk: Name of an existing PD. ExistingDisk string `json:"existingDisk,omitempty"` NewDisk *Disk `json:"newDisk,omitempty"` // ForceSendFields is a list of field names (e.g. "DeviceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeviceName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AttachedDisk) MarshalJSON() ([]byte, error) { type NoMethod AttachedDisk return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Barrier: Barrier runnable blocks until all tasks in a taskgroup reach it. type Barrier struct { // Name: Barriers are identified by their index in runnable list. Names are not // required, but if present should be an identifier. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Barrier) MarshalJSON() ([]byte, error) { type NoMethod Barrier return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CancelOperationRequest: The request message for Operations.CancelOperation. type CancelOperationRequest struct { } // CloudLoggingOption: `CloudLoggingOption` contains additional settings for // Cloud Logging logs generated by Batch job. type CloudLoggingOption struct { // UseGenericTaskMonitoredResource: Optional. Set this flag to true to change // the monitored resource type // (https://cloud.google.com/monitoring/api/resources) for Cloud Logging logs // generated by this Batch job from the `batch.googleapis.com/Job` // (https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) // type to the formerly used `generic_task` // (https://cloud.google.com/monitoring/api/resources#tag_generic_task) type. UseGenericTaskMonitoredResource bool `json:"useGenericTaskMonitoredResource,omitempty"` // ForceSendFields is a list of field names (e.g. // "UseGenericTaskMonitoredResource") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "UseGenericTaskMonitoredResource") // to include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CloudLoggingOption) MarshalJSON() ([]byte, error) { type NoMethod CloudLoggingOption return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ComputeResource: Compute resource requirements. ComputeResource defines the // amount of resources required for each task. Make sure your tasks have enough // resources to successfully run. If you also define the types of resources for // a job to use with the InstancePolicyOrTemplate // (https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicyortemplate) // field, make sure both fields are compatible with each other. type ComputeResource struct { // BootDiskMib: Extra boot disk size in MiB for each task. BootDiskMib int64 `json:"bootDiskMib,omitempty,string"` // CpuMilli: The milliCPU count. `cpuMilli` defines the amount of CPU resources // per task in milliCPU units. For example, `1000` corresponds to 1 vCPU per // task. If undefined, the default value is `2000`. If you also define the VM's // machine type using the `machineType` in InstancePolicy // (https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicy) // field or inside the `instanceTemplate` in the InstancePolicyOrTemplate // (https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicyortemplate) // field, make sure the CPU resources for both fields are compatible with each // other and with how many tasks you want to allow to run on the same VM at the // same time. For example, if you specify the `n2-standard-2` machine type, // which has 2 vCPUs each, you are recommended to set `cpuMilli` no more than // `2000`, or you are recommended to run two tasks on the same VM if you set // `cpuMilli` to `1000` or less. CpuMilli int64 `json:"cpuMilli,omitempty,string"` // MemoryMib: Memory in MiB. `memoryMib` defines the amount of memory per task // in MiB units. If undefined, the default value is `2000`. If you also define // the VM's machine type using the `machineType` in InstancePolicy // (https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicy) // field or inside the `instanceTemplate` in the InstancePolicyOrTemplate // (https://cloud.google.com/batch/docs/reference/rest/v1/projects.locations.jobs#instancepolicyortemplate) // field, make sure the memory resources for both fields are compatible with // each other and with how many tasks you want to allow to run on the same VM // at the same time. For example, if you specify the `n2-standard-2` machine // type, which has 8 GiB each, you are recommended to set `memoryMib` to no // more than `8192`, or you are recommended to run two tasks on the same VM if // you set `memoryMib` to `4096` or less. MemoryMib int64 `json:"memoryMib,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BootDiskMib") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BootDiskMib") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ComputeResource) MarshalJSON() ([]byte, error) { type NoMethod ComputeResource return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Container: Container runnable. type Container struct { // BlockExternalNetwork: If set to true, external network access to and from // container will be blocked, containers that are with block_external_network // as true can still communicate with each other, network cannot be specified // in the `container.options` field. BlockExternalNetwork bool `json:"blockExternalNetwork,omitempty"` // Commands: Overrides the `CMD` specified in the container. If there is an // ENTRYPOINT (either in the container image or with the entrypoint field // below) then commands are appended as arguments to the ENTRYPOINT. Commands []string `json:"commands,omitempty"` // EnableImageStreaming: Optional. If set to true, this container runnable uses // Image streaming. Use Image streaming to allow the runnable to initialize // without waiting for the entire container image to download, which can // significantly reduce startup time for large container images. When // `enableImageStreaming` is set to true, the container runtime is containerd // (https://containerd.io/) instead of Docker. Additionally, this container // runnable only supports the following `container` subfields: `imageUri`, // `commands[]`, `entrypoint`, and `volumes[]`; any other `container` subfields // are ignored. For more information about the requirements and limitations for // using Image streaming with Batch, see the `image-streaming` sample on GitHub // (https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming). EnableImageStreaming bool `json:"enableImageStreaming,omitempty"` // Entrypoint: Overrides the `ENTRYPOINT` specified in the container. Entrypoint string `json:"entrypoint,omitempty"` // ImageUri: The URI to pull the container image from. ImageUri string `json:"imageUri,omitempty"` // Options: Arbitrary additional options to include in the "docker run" command // when running this container, e.g. "--network host". Options string `json:"options,omitempty"` // Password: Required if the container image is from a private Docker registry. // The password to login to the Docker registry that contains the image. For // security, it is strongly recommended to specify an encrypted password by // using a Secret Manager secret: `projects/*/secrets/*/versions/*`. Warning: // If you specify the password using plain text, you risk the password being // exposed to any users who can view the job or its logs. To avoid this risk, // specify a secret that contains the password instead. Learn more about Secret // Manager (https://cloud.google.com/secret-manager/docs/) and using Secret // Manager with Batch // (https://cloud.google.com/batch/docs/create-run-job-secret-manager). Password string `json:"password,omitempty"` // Username: Required if the container image is from a private Docker registry. // The username to login to the Docker registry that contains the image. You // can either specify the username directly by using plain text or specify an // encrypted username by using a Secret Manager secret: // `projects/*/secrets/*/versions/*`. However, using a secret is recommended // for enhanced security. Caution: If you specify the username using plain // text, you risk the username being exposed to any users who can view the job // or its logs. To avoid this risk, specify a secret that contains the username // instead. Learn more about Secret Manager // (https://cloud.google.com/secret-manager/docs/) and using Secret Manager // with Batch // (https://cloud.google.com/batch/docs/create-run-job-secret-manager). Username string `json:"username,omitempty"` // Volumes: Volumes to mount (bind mount) from the host machine files or // directories into the container, formatted to match docker run's --volume // option, e.g. /foo:/bar, or /foo:/bar:ro If the `TaskSpec.Volumes` field is // specified but this field is not, Batch will mount each volume from the host // machine to the container with the same mount path by default. In this case, // the default mount option for containers will be read-only (ro) for existing // persistent disks and read-write (rw) for other volume types, regardless of // the original mount options specified in `TaskSpec.Volumes`. If you need // different mount settings, you can explicitly configure them in this field. Volumes []string `json:"volumes,omitempty"` // ForceSendFields is a list of field names (e.g. "BlockExternalNetwork") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BlockExternalNetwork") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Container) MarshalJSON() ([]byte, error) { type NoMethod Container return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Disk: A new persistent disk or a local ssd. A VM can only have one local SSD // setting but multiple local SSD partitions. See // https://cloud.google.com/compute/docs/disks#pdspecs and // https://cloud.google.com/compute/docs/disks#localssds. type Disk struct { // DiskInterface: Local SSDs are available through both "SCSI" and "NVMe" // interfaces. If not indicated, "NVMe" will be the default one for local ssds. // This field is ignored for persistent disks as the interface is chosen // automatically. See // https://cloud.google.com/compute/docs/disks/persistent-disks#choose_an_interface. DiskInterface string `json:"diskInterface,omitempty"` // Image: URL for a VM image to use as the data source for this disk. For // example, the following are all valid URLs: * Specify the image by its family // name: projects/{project}/global/images/family/{image_family} * Specify the // image version: projects/{project}/global/images/{image_version} You can also // use Batch customized image in short names. The following image values are // supported for a boot disk: * `batch-debian`: use Batch Debian images. * // `batch-centos`: use Batch CentOS images. * `batch-cos`: use Batch // Container-Optimized images. * `batch-hpc-centos`: use Batch HPC CentOS // images. * `batch-hpc-rocky`: use Batch HPC Rocky Linux images. Image string `json:"image,omitempty"` // SizeGb: Disk size in GB. **Non-Boot Disk**: If the `type` specifies a // persistent disk, this field is ignored if `data_source` is set as `image` or // `snapshot`. If the `type` specifies a local SSD, this field should be a // multiple of 375 GB, otherwise, the final size will be the next greater // multiple of 375 GB. **Boot Disk**: Batch will calculate the boot disk size // based on source image and task requirements if you do not speicify the size. // If both this field and the `boot_disk_mib` field in task spec's // `compute_resource` are defined, Batch will only honor this field. Also, this // field should be no smaller than the source disk's size when the // `data_source` is set as `snapshot` or `image`. For example, if you set an // image as the `data_source` field and the image's default disk size 30 GB, // you can only use this field to make the disk larger or equal to 30 GB. SizeGb int64 `json:"sizeGb,omitempty,string"` // Snapshot: Name of a snapshot used as the data source. Snapshot is not // supported as boot disk now. Snapshot string `json:"snapshot,omitempty"` // Type: Disk type as shown in `gcloud compute disk-types list`. For example, // local SSD uses type "local-ssd". Persistent disks and boot disks use // "pd-balanced", "pd-extreme", "pd-ssd" or "pd-standard". Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "DiskInterface") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DiskInterface") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Disk) MarshalJSON() ([]byte, error) { type NoMethod Disk return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use it as // the request or the response type of an API method. For instance: service Foo // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` } // Environment: An Environment describes a collection of environment variables // to set when executing Tasks. type Environment struct { // EncryptedVariables: An encrypted JSON dictionary where the key/value pairs // correspond to environment variable names and their values. EncryptedVariables *KMSEnvMap `json:"encryptedVariables,omitempty"` // SecretVariables: A map of environment variable names to Secret Manager // secret names. The VM will access the named secrets to set the value of each // environment variable. SecretVariables map[string]string `json:"secretVariables,omitempty"` // Variables: A map of environment variable names to values. Variables map[string]string `json:"variables,omitempty"` // ForceSendFields is a list of field names (e.g. "EncryptedVariables") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EncryptedVariables") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Environment) MarshalJSON() ([]byte, error) { type NoMethod Environment return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GCS: Represents a Google Cloud Storage volume. type GCS struct { // RemotePath: Remote path, either a bucket name or a subdirectory of a bucket, // e.g.: bucket_name, bucket_name/subdirectory/ RemotePath string `json:"remotePath,omitempty"` // ForceSendFields is a list of field names (e.g. "RemotePath") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RemotePath") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GCS) MarshalJSON() ([]byte, error) { type NoMethod GCS return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InstancePolicy: InstancePolicy describes an instance type and resources // attached to each VM created by this InstancePolicy. type InstancePolicy struct { // Accelerators: The accelerators attached to each VM instance. Accelerators []*Accelerator `json:"accelerators,omitempty"` // BootDisk: Boot disk to be created and attached to each VM by this // InstancePolicy. Boot disk will be deleted when the VM is deleted. Batch API // now only supports booting from image. BootDisk *Disk `json:"bootDisk,omitempty"` // Disks: Non-boot disks to be attached for each VM created by this // InstancePolicy. New disks will be deleted when the VM is deleted. A non-boot // disk is a disk that can be of a device with a file system or a raw storage // drive that is not ready for data storage and accessing. Disks []*AttachedDisk `json:"disks,omitempty"` // MachineType: The Compute Engine machine type. MachineType string `json:"machineType,omitempty"` // MinCpuPlatform: The minimum CPU platform. See // https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform. MinCpuPlatform string `json:"minCpuPlatform,omitempty"` // ProvisioningModel: The provisioning model. // // Possible values: // "PROVISIONING_MODEL_UNSPECIFIED" - Unspecified. // "STANDARD" - Standard VM. // "SPOT" - SPOT VM. // "PREEMPTIBLE" - Preemptible VM (PVM). Above SPOT VM is the preferable // model for preemptible VM instances: the old preemptible VM model (indicated // by this field) is the older model, and has been migrated to use the SPOT // model as the underlying technology. This old model will still be supported. ProvisioningModel string `json:"provisioningModel,omitempty"` // Reservation: Optional. If specified, VMs will consume only the specified // reservation. If not specified (default), VMs will consume any applicable // reservation. Reservation string `json:"reservation,omitempty"` // ForceSendFields is a list of field names (e.g. "Accelerators") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Accelerators") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InstancePolicy) MarshalJSON() ([]byte, error) { type NoMethod InstancePolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InstancePolicyOrTemplate: InstancePolicyOrTemplate lets you define the type // of resources to use for this job either with an InstancePolicy or an // instance template. If undefined, Batch picks the type of VM to use and // doesn't include optional VM resources such as GPUs and extra disks. type InstancePolicyOrTemplate struct { // InstallGpuDrivers: Set this field true if users want Batch to help fetch // drivers from a third party location and install them for GPUs specified in // policy.accelerators or instance_template on their behalf. Default is false. // For Container-Optimized Image cases, Batch will install the accelerator // driver following milestones of // https://cloud.google.com/container-optimized-os/docs/release-notes. For non // Container-Optimized Image cases, following // https://github.com/GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/install_gpu_driver.py. InstallGpuDrivers bool `json:"installGpuDrivers,omitempty"` // InstanceTemplate: Name of an instance template used to create VMs. Named the // field as 'instance_template' instead of 'template' to avoid c++ keyword // conflict. InstanceTemplate string `json:"instanceTemplate,omitempty"` // Policy: InstancePolicy. Policy *InstancePolicy `json:"policy,omitempty"` // ForceSendFields is a list of field names (e.g. "InstallGpuDrivers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "InstallGpuDrivers") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InstancePolicyOrTemplate) MarshalJSON() ([]byte, error) { type NoMethod InstancePolicyOrTemplate return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InstanceStatus: VM instance status. type InstanceStatus struct { // BootDisk: The VM boot disk. BootDisk *Disk `json:"bootDisk,omitempty"` // MachineType: The Compute Engine machine type. MachineType string `json:"machineType,omitempty"` // ProvisioningModel: The VM instance provisioning model. // // Possible values: // "PROVISIONING_MODEL_UNSPECIFIED" - Unspecified. // "STANDARD" - Standard VM. // "SPOT" - SPOT VM. // "PREEMPTIBLE" - Preemptible VM (PVM). Above SPOT VM is the preferable // model for preemptible VM instances: the old preemptible VM model (indicated // by this field) is the older model, and has been migrated to use the SPOT // model as the underlying technology. This old model will still be supported. ProvisioningModel string `json:"provisioningModel,omitempty"` // TaskPack: The max number of tasks can be assigned to this instance type. TaskPack int64 `json:"taskPack,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BootDisk") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BootDisk") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InstanceStatus) MarshalJSON() ([]byte, error) { type NoMethod InstanceStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Job: The Cloud Batch Job description. type Job struct { // AllocationPolicy: Compute resource allocation for all TaskGroups in the Job. AllocationPolicy *AllocationPolicy `json:"allocationPolicy,omitempty"` // CreateTime: Output only. When the Job was created. CreateTime string `json:"createTime,omitempty"` // Labels: Labels for the Job. Labels could be user provided or system // generated. For example, "labels": { "department": "finance", "environment": // "test" } You can assign up to 64 labels. Google Compute Engine label // restrictions // (https://cloud.google.com/compute/docs/labeling-resources#restrictions) // apply. Label names that start with "goog-" or "google-" are reserved. Labels map[string]string `json:"labels,omitempty"` // LogsPolicy: Log preservation policy for the Job. LogsPolicy *LogsPolicy `json:"logsPolicy,omitempty"` // Name: Output only. Job name. For example: // "projects/123456/locations/us-central1/jobs/job01". Name string `json:"name,omitempty"` // Notifications: Notification configurations. Notifications []*JobNotification `json:"notifications,omitempty"` // Priority: Priority of the Job. The valid value range is [0, 100). Default // value is 0. Higher value indicates higher priority. A job with higher // priority value is more likely to run earlier if all other requirements are // satisfied. Priority int64 `json:"priority,omitempty,string"` // Status: Output only. Job status. It is read only for users. Status *JobStatus `json:"status,omitempty"` // TaskGroups: Required. TaskGroups in the Job. Only one TaskGroup is supported // now. TaskGroups []*TaskGroup `json:"taskGroups,omitempty"` // Uid: Output only. A system generated unique ID for the Job. Uid string `json:"uid,omitempty"` // UpdateTime: Output only. The last time the Job was updated. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AllocationPolicy") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AllocationPolicy") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Job) MarshalJSON() ([]byte, error) { type NoMethod Job return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // JobNotification: Notification configurations. type JobNotification struct { // Message: The attribute requirements of messages to be sent to this Pub/Sub // topic. Without this field, no message will be sent. Message *Message `json:"message,omitempty"` // PubsubTopic: The Pub/Sub topic where notifications like the job state // changes will be published. The topic must exist in the same project as the // job and billings will be charged to this project. If not specified, no // Pub/Sub messages will be sent. Topic format: // `projects/{project}/topics/{topic}`. PubsubTopic string `json:"pubsubTopic,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *JobNotification) MarshalJSON() ([]byte, error) { type NoMethod JobNotification return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // JobStatus: Job status. type JobStatus struct { // RunDuration: The duration of time that the Job spent in status RUNNING. RunDuration string `json:"runDuration,omitempty"` // State: Job state // // Possible values: // "STATE_UNSPECIFIED" - Job state unspecified. // "QUEUED" - Job is admitted (validated and persisted) and waiting for // resources. // "SCHEDULED" - Job is scheduled to run as soon as resource allocation is // ready. The resource allocation may happen at a later time but with a high // chance to succeed. // "RUNNING" - Resource allocation has been successful. At least one Task in // the Job is RUNNING. // "SUCCEEDED" - All Tasks in the Job have finished successfully. // "FAILED" - At least one Task in the Job has failed. // "DELETION_IN_PROGRESS" - The Job will be deleted, but has not been deleted // yet. Typically this is because resources used by the Job are still being // cleaned up. State string `json:"state,omitempty"` // StatusEvents: Job status events StatusEvents []*StatusEvent `json:"statusEvents,omitempty"` // TaskGroups: Aggregated task status for each TaskGroup in the Job. The map // key is TaskGroup ID. TaskGroups map[string]TaskGroupStatus `json:"taskGroups,omitempty"` // ForceSendFields is a list of field names (e.g. "RunDuration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RunDuration") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *JobStatus) MarshalJSON() ([]byte, error) { type NoMethod JobStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type KMSEnvMap struct { // CipherText: The value of the cipherText response from the `encrypt` method. CipherText string `json:"cipherText,omitempty"` // KeyName: The name of the KMS key that will be used to decrypt the cipher // text. KeyName string `json:"keyName,omitempty"` // ForceSendFields is a list of field names (e.g. "CipherText") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CipherText") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *KMSEnvMap) MarshalJSON() ([]byte, error) { type NoMethod KMSEnvMap return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LifecyclePolicy: LifecyclePolicy describes how to deal with task failures // based on different conditions. type LifecyclePolicy struct { // Action: Action to execute when ActionCondition is true. When RETRY_TASK is // specified, we will retry failed tasks if we notice any exit code match and // fail tasks if no match is found. Likewise, when FAIL_TASK is specified, we // will fail tasks if we notice any exit code match and retry tasks if no match // is found. // // Possible values: // "ACTION_UNSPECIFIED" - Action unspecified. // "RETRY_TASK" - Action that tasks in the group will be scheduled to // re-execute. // "FAIL_TASK" - Action that tasks in the group will be stopped immediately. Action string `json:"action,omitempty"` // ActionCondition: Conditions that decide why a task failure is dealt with a // specific action. ActionCondition *ActionCondition `json:"actionCondition,omitempty"` // ForceSendFields is a list of field names (e.g. "Action") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Action") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LifecyclePolicy) MarshalJSON() ([]byte, error) { type NoMethod LifecyclePolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListJobsResponse: ListJob Response. type ListJobsResponse struct { // Jobs: Jobs. Jobs []*Job `json:"jobs,omitempty"` // NextPageToken: Next page token. NextPageToken string `json:"nextPageToken,omitempty"` // Unreachable: Locations that could not be reached. Unreachable []string `json:"unreachable,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Jobs") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Jobs") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListJobsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListJobsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListLocationsResponse: The response message for Locations.ListLocations. type ListLocationsResponse struct { // Locations: A list of locations that matches the specified filter in the // request. Locations []*Location `json:"locations,omitempty"` // NextPageToken: The standard List next-page token. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Locations") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Locations") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListLocationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListOperationsResponse: The response message for Operations.ListOperations. type ListOperationsResponse struct { // NextPageToken: The standard List next-page token. NextPageToken string `json:"nextPageToken,omitempty"` // Operations: A list of operations that matches the specified filter in the // request. Operations []*Operation `json:"operations,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListOperationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListTasksResponse: ListTasks Response. type ListTasksResponse struct { // NextPageToken: Next page token. NextPageToken string `json:"nextPageToken,omitempty"` // Tasks: Tasks. Tasks []*Task `json:"tasks,omitempty"` // Unreachable: Locations that could not be reached. Unreachable []string `json:"unreachable,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListTasksResponse) MarshalJSON() ([]byte, error) { type NoMethod ListTasksResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Location: A resource that represents a Google Cloud location. type Location struct { // DisplayName: The friendly name for this location, typically a nearby city // name. For example, "Tokyo". DisplayName string `json:"displayName,omitempty"` // Labels: Cross-service attributes for the location. For example // {"cloud.googleapis.com/region": "us-east1"} Labels map[string]string `json:"labels,omitempty"` // LocationId: The canonical id for this location. For example: "us-east1". LocationId string `json:"locationId,omitempty"` // Metadata: Service-specific metadata. For example the available capacity at // the given location. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: Resource name for the location, which may vary between // implementations. For example: // "projects/example-project/locations/us-east1" Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Location) MarshalJSON() ([]byte, error) { type NoMethod Location return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LocationPolicy struct { // AllowedLocations: A list of allowed location names represented by internal // URLs. Each location can be a region or a zone. Only one region or multiple // zones in one region is supported now. For example, ["regions/us-central1"] // allow VMs in any zones in region us-central1. ["zones/us-central1-a", // "zones/us-central1-c"] only allow VMs in zones us-central1-a and // us-central1-c. Mixing locations from different regions would cause errors. // For example, ["regions/us-central1", "zones/us-central1-a", // "zones/us-central1-b", "zones/us-west1-a"] contains locations from two // distinct regions: us-central1 and us-west1. This combination will trigger an // error. AllowedLocations []string `json:"allowedLocations,omitempty"` // ForceSendFields is a list of field names (e.g. "AllowedLocations") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AllowedLocations") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LocationPolicy) MarshalJSON() ([]byte, error) { type NoMethod LocationPolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LogsPolicy: LogsPolicy describes how outputs from a Job's Tasks // (stdout/stderr) will be preserved. type LogsPolicy struct { // CloudLoggingOption: Optional. Additional settings for Cloud Logging. It will // only take effect when the destination of `LogsPolicy` is set to // `CLOUD_LOGGING`. CloudLoggingOption *CloudLoggingOption `json:"cloudLoggingOption,omitempty"` // Destination: Where logs should be saved. // // Possible values: // "DESTINATION_UNSPECIFIED" - Logs are not preserved. // "CLOUD_LOGGING" - Logs are streamed to Cloud Logging. // "PATH" - Logs are saved to a file path. Destination string `json:"destination,omitempty"` // LogsPath: The path to which logs are saved when the destination = PATH. This // can be a local file path on the VM, or under the mount point of a Persistent // Disk or Filestore, or a Cloud Storage path. LogsPath string `json:"logsPath,omitempty"` // ForceSendFields is a list of field names (e.g. "CloudLoggingOption") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CloudLoggingOption") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LogsPolicy) MarshalJSON() ([]byte, error) { type NoMethod LogsPolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Message: Message details. Describe the conditions under which messages will // be sent. If no attribute is defined, no message will be sent by default. One // message should specify either the job or the task level attributes, but not // both. For example, job level: JOB_STATE_CHANGED and/or a specified // new_job_state; task level: TASK_STATE_CHANGED and/or a specified // new_task_state. type Message struct { // NewJobState: The new job state. // // Possible values: // "STATE_UNSPECIFIED" - Job state unspecified. // "QUEUED" - Job is admitted (validated and persisted) and waiting for // resources. // "SCHEDULED" - Job is scheduled to run as soon as resource allocation is // ready. The resource allocation may happen at a later time but with a high // chance to succeed. // "RUNNING" - Resource allocation has been successful. At least one Task in // the Job is RUNNING. // "SUCCEEDED" - All Tasks in the Job have finished successfully. // "FAILED" - At least one Task in the Job has failed. // "DELETION_IN_PROGRESS" - The Job will be deleted, but has not been deleted // yet. Typically this is because resources used by the Job are still being // cleaned up. NewJobState string `json:"newJobState,omitempty"` // NewTaskState: The new task state. // // Possible values: // "STATE_UNSPECIFIED" - Unknown state. // "PENDING" - The Task is created and waiting for resources. // "ASSIGNED" - The Task is assigned to at least one VM. // "RUNNING" - The Task is running. // "FAILED" - The Task has failed. // "SUCCEEDED" - The Task has succeeded. // "UNEXECUTED" - The Task has not been executed when the Job finishes. NewTaskState string `json:"newTaskState,omitempty"` // Type: The message type. // // Possible values: // "TYPE_UNSPECIFIED" - Unspecified. // "JOB_STATE_CHANGED" - Notify users that the job state has changed. // "TASK_STATE_CHANGED" - Notify users that the task state has changed. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "NewJobState") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NewJobState") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Message) MarshalJSON() ([]byte, error) { type NoMethod Message return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NFS: Represents an NFS volume. type NFS struct { // RemotePath: Remote source path exported from the NFS, e.g., "/share". RemotePath string `json:"remotePath,omitempty"` // Server: The IP address of the NFS. Server string `json:"server,omitempty"` // ForceSendFields is a list of field names (e.g. "RemotePath") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RemotePath") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NFS) MarshalJSON() ([]byte, error) { type NoMethod NFS return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NetworkInterface: A network interface. type NetworkInterface struct { // Network: The URL of an existing network resource. You can specify the // network as a full or partial URL. For example, the following are all valid // URLs: * // https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} // * projects/{project}/global/networks/{network} * global/networks/{network} Network string `json:"network,omitempty"` // NoExternalIpAddress: Default is false (with an external IP address). // Required if no external public IP address is attached to the VM. If no // external 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 and // https://cloud.google.com/nat/docs/gce-example#create-nat for more // information. NoExternalIpAddress bool `json:"noExternalIpAddress,omitempty"` // Subnetwork: The URL of an existing subnetwork resource in the network. You // can specify the subnetwork as a full or partial URL. For example, the // following are all valid URLs: * // https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork} // * projects/{project}/regions/{region}/subnetworks/{subnetwork} * // regions/{region}/subnetworks/{subnetwork} Subnetwork string `json:"subnetwork,omitempty"` // ForceSendFields is a list of field names (e.g. "Network") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Network") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NetworkInterface) MarshalJSON() ([]byte, error) { type NoMethod NetworkInterface return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NetworkPolicy: NetworkPolicy describes VM instance network configurations. type NetworkPolicy struct { // NetworkInterfaces: Network configurations. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty"` // ForceSendFields is a list of field names (e.g. "NetworkInterfaces") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NetworkInterfaces") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NetworkPolicy) MarshalJSON() ([]byte, error) { type NoMethod NetworkPolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Operation: This resource represents a long-running operation that is the // result of a network API call. type Operation struct { // Done: If the value is `false`, it means the operation is still in progress. // If `true`, the operation is completed, and either `error` or `response` is // available. Done bool `json:"done,omitempty"` // Error: The error result of the operation in case of failure or cancellation. Error *Status `json:"error,omitempty"` // Metadata: Service-specific metadata associated with the operation. It // typically contains progress information and common metadata such as create // time. Some services might not provide such metadata. Any method that returns // a long-running operation should document the metadata type, if any. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: The server-assigned name, which is only unique within the same service // that originally returns it. If you use the default HTTP mapping, the `name` // should be a resource name ending with `operations/{unique_id}`. Name string `json:"name,omitempty"` // Response: The normal, successful response of the operation. If the original // method returns no data on success, such as `Delete`, the response is // `google.protobuf.Empty`. If the original method is standard // `Get`/`Create`/`Update`, the response should be the resource. For other // methods, the response should have the type `XxxResponse`, where `Xxx` is the // original method name. For example, if the original method name is // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Done") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Done") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Operation) MarshalJSON() ([]byte, error) { type NoMethod Operation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OperationMetadata: Represents the metadata of the long-running operation. type OperationMetadata struct { // ApiVersion: Output only. API version used to start the operation. ApiVersion string `json:"apiVersion,omitempty"` // CreateTime: Output only. The time the operation was created. CreateTime string `json:"createTime,omitempty"` // EndTime: Output only. The time the operation finished running. EndTime string `json:"endTime,omitempty"` // RequestedCancellation: Output only. Identifies whether the user has // requested cancellation of the operation. Operations that have successfully // been cancelled have Operation.error value with a google.rpc.Status.code of // 1, corresponding to `Code.CANCELLED`. RequestedCancellation bool `json:"requestedCancellation,omitempty"` // StatusMessage: Output only. Human-readable status of the operation, if any. StatusMessage string `json:"statusMessage,omitempty"` // Target: Output only. Server-defined resource path for the target of the // operation. Target string `json:"target,omitempty"` // Verb: Output only. Name of the verb executed by the operation. Verb string `json:"verb,omitempty"` // ForceSendFields is a list of field names (e.g. "ApiVersion") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ApiVersion") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod OperationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PlacementPolicy: PlacementPolicy describes a group placement policy for the // VMs controlled by this AllocationPolicy. type PlacementPolicy struct { // Collocation: UNSPECIFIED vs. COLLOCATED (default UNSPECIFIED). Use // COLLOCATED when you want VMs to be located close to each other for low // network latency between the VMs. No placement policy will be generated when // collocation is UNSPECIFIED. Collocation string `json:"collocation,omitempty"` // MaxDistance: When specified, causes the job to fail if more than // max_distance logical switches are required between VMs. Batch uses the most // compact possible placement of VMs even when max_distance is not specified. // An explicit max_distance makes that level of compactness a strict // requirement. Not yet implemented MaxDistance int64 `json:"maxDistance,omitempty,string"` // ForceSendFields is a list of field names (e.g. "Collocation") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Collocation") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlacementPolicy) MarshalJSON() ([]byte, error) { type NoMethod PlacementPolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReportAgentStateRequest: Request to report agent's state. The Request itself // implies the agent is healthy. type ReportAgentStateRequest struct { // AgentInfo: Agent info. AgentInfo *AgentInfo `json:"agentInfo,omitempty"` // AgentTimingInfo: Agent timing info. AgentTimingInfo *AgentTimingInfo `json:"agentTimingInfo,omitempty"` // Metadata: Agent metadata. Metadata *AgentMetadata `json:"metadata,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentInfo") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AgentInfo") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReportAgentStateRequest) MarshalJSON() ([]byte, error) { type NoMethod ReportAgentStateRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ReportAgentStateResponse: Response to ReportAgentStateRequest. type ReportAgentStateResponse struct { // DefaultReportInterval: Default report interval override DefaultReportInterval string `json:"defaultReportInterval,omitempty"` // MinReportInterval: Minimum report interval override MinReportInterval string `json:"minReportInterval,omitempty"` // Tasks: Tasks assigned to the agent Tasks []*AgentTask `json:"tasks,omitempty"` // UseBatchMonitoredResource: If true, the cloud logging for batch agent will // use batch.googleapis.com/Job as monitored resource for Batch job related // logging. UseBatchMonitoredResource bool `json:"useBatchMonitoredResource,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DefaultReportInterval") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DefaultReportInterval") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ReportAgentStateResponse) MarshalJSON() ([]byte, error) { type NoMethod ReportAgentStateResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Runnable: Runnable describes instructions for executing a specific script or // container as part of a Task. type Runnable struct { // AlwaysRun: By default, after a Runnable fails, no further Runnable are // executed. This flag indicates that this Runnable must be run even if the // Task has already failed. This is useful for Runnables that copy output files // off of the VM or for debugging. The always_run flag does not override the // Task's overall max_run_duration. If the max_run_duration has expired then no // further Runnables will execute, not even always_run Runnables. AlwaysRun bool `json:"alwaysRun,omitempty"` // Background: This flag allows a Runnable to continue running in the // background while the Task executes subsequent Runnables. This is useful to // provide services to other Runnables (or to provide debugging support tools // like SSH servers). Background bool `json:"background,omitempty"` // Barrier: Barrier runnable. Barrier *Barrier `json:"barrier,omitempty"` // Container: Container runnable. Container *Container `json:"container,omitempty"` // DisplayName: Optional. DisplayName is an optional field that can be provided // by the caller. If provided, it will be used in logs and other outputs to // identify the script, making it easier for users to understand the logs. If // not provided the index of the runnable will be used for outputs. DisplayName string `json:"displayName,omitempty"` // Environment: Environment variables for this Runnable (overrides variables // set for the whole Task or TaskGroup). Environment *Environment `json:"environment,omitempty"` // IgnoreExitStatus: Normally, a non-zero exit status causes the Task to fail. // This flag allows execution of other Runnables to continue instead. IgnoreExitStatus bool `json:"ignoreExitStatus,omitempty"` // Labels: Labels for this Runnable. Labels map[string]string `json:"labels,omitempty"` // Script: Script runnable. Script *Script `json:"script,omitempty"` // Timeout: Timeout for this Runnable. Timeout string `json:"timeout,omitempty"` // ForceSendFields is a list of field names (e.g. "AlwaysRun") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AlwaysRun") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Runnable) MarshalJSON() ([]byte, error) { type NoMethod Runnable return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Script: Script runnable. type Script struct { // Path: Script file path on the host VM. To specify an interpreter, please add // a `#!`(also known as shebang line // (https://en.wikipedia.org/wiki/Shebang_(Unix))) as the first line of the // file.(For example, to execute the script using bash, `#!/bin/bash` should be // the first line of the file. To execute the script using`Python3`, // `#!/usr/bin/env python3` should be the first line of the file.) Otherwise, // the file will by default be executed by `/bin/sh`. Path string `json:"path,omitempty"` // Text: Shell script text. To specify an interpreter, please add a `#!\n` at // the beginning of the text.(For example, to execute the script using bash, // `#!/bin/bash\n` should be added. To execute the script using`Python3`, // `#!/usr/bin/env python3\n` should be added.) Otherwise, the script will by // default be executed by `/bin/sh`. Text string `json:"text,omitempty"` // ForceSendFields is a list of field names (e.g. "Path") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Path") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Script) MarshalJSON() ([]byte, error) { type NoMethod Script return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ServiceAccount: Carries information about a Google Cloud service account. type ServiceAccount struct { // Email: Email address of the service account. Email string `json:"email,omitempty"` // Scopes: List of scopes to be enabled for this service account. Scopes []string `json:"scopes,omitempty"` // ForceSendFields is a list of field names (e.g. "Email") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Email") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ServiceAccount) MarshalJSON() ([]byte, error) { type NoMethod ServiceAccount return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Status: The `Status` type defines a logical error model that is suitable for // different programming environments, including REST APIs and RPC APIs. It is // used by gRPC (https://github.com/grpc). Each `Status` message contains three // pieces of data: error code, error message, and error details. You can find // out more about this error model and how to work with it in the API Design // Guide (https://cloud.google.com/apis/design/errors). type Status struct { // Code: The status code, which should be an enum value of google.rpc.Code. Code int64 `json:"code,omitempty"` // Details: A list of messages that carry the error details. There is a common // set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in English. Any // user-facing error message should be localized and sent in the // google.rpc.Status.details field, or localized by the client. Message string `json:"message,omitempty"` // ForceSendFields is a list of field names (e.g. "Code") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Code") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Status) MarshalJSON() ([]byte, error) { type NoMethod Status return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // StatusEvent: Status event type StatusEvent struct { // Description: Description of the event. Description string `json:"description,omitempty"` // EventTime: The time this event occurred. EventTime string `json:"eventTime,omitempty"` // TaskExecution: Task Execution TaskExecution *TaskExecution `json:"taskExecution,omitempty"` // TaskState: Task State // // Possible values: // "STATE_UNSPECIFIED" - Unknown state. // "PENDING" - The Task is created and waiting for resources. // "ASSIGNED" - The Task is assigned to at least one VM. // "RUNNING" - The Task is running. // "FAILED" - The Task has failed. // "SUCCEEDED" - The Task has succeeded. // "UNEXECUTED" - The Task has not been executed when the Job finishes. TaskState string `json:"taskState,omitempty"` // Type: Type of the event. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *StatusEvent) MarshalJSON() ([]byte, error) { type NoMethod StatusEvent return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Task: A Cloud Batch task. type Task struct { // Name: Task name. The name is generated from the parent TaskGroup name and // 'id' field. For example: // "projects/123456/locations/us-west1/jobs/job01/taskGroups/group01/tasks/task0 // 1". Name string `json:"name,omitempty"` // Status: Task Status. Status *TaskStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Task) MarshalJSON() ([]byte, error) { type NoMethod Task return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TaskExecution: This Task Execution field includes detail information for // task execution procedures, based on StatusEvent types. type TaskExecution struct { // ExitCode: The exit code of a finished task. If the task succeeded, the exit // code will be 0. If the task failed but not due to the following reasons, the // exit code will be 50000. Otherwise, it can be from different sources: - // Batch known failures as // https://cloud.google.com/batch/docs/troubleshooting#reserved-exit-codes. - // Batch runnable execution failures: You can rely on Batch logs for further // diagnose: https://cloud.google.com/batch/docs/analyze-job-using-logs. If // there are multiple runnables failures, Batch only exposes the first error // caught for now. ExitCode int64 `json:"exitCode,omitempty"` // ForceSendFields is a list of field names (e.g. "ExitCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ExitCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TaskExecution) MarshalJSON() ([]byte, error) { type NoMethod TaskExecution return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TaskGroup: A TaskGroup defines one or more Tasks that all share the same // TaskSpec. type TaskGroup struct { // Name: Output only. TaskGroup name. The system generates this field based on // parent Job name. For example: // "projects/123456/locations/us-west1/jobs/job01/taskGroups/group01". Name string `json:"name,omitempty"` // Parallelism: Max number of tasks that can run in parallel. Default to // min(task_count, parallel tasks per job limit). See: Job Limits // (https://cloud.google.com/batch/quotas#job_limits). Field parallelism must // be 1 if the scheduling_policy is IN_ORDER. Parallelism int64 `json:"parallelism,omitempty,string"` // PermissiveSsh: When true, Batch will configure SSH to allow passwordless // login between VMs running the Batch tasks in the same TaskGroup. PermissiveSsh bool `json:"permissiveSsh,omitempty"` // RequireHostsFile: When true, Batch will populate a file with a list of all // VMs assigned to the TaskGroup and set the BATCH_HOSTS_FILE environment // variable to the path of that file. Defaults to false. The host file supports // up to 1000 VMs. RequireHostsFile bool `json:"requireHostsFile,omitempty"` // RunAsNonRoot: Optional. If not set or set to false, Batch uses the root user // to execute runnables. If set to true, Batch runs the runnables using a // non-root user. Currently, the non-root user Batch used is generated by OS // Login. For more information, see About OS Login // (https://cloud.google.com/compute/docs/oslogin). RunAsNonRoot bool `json:"runAsNonRoot,omitempty"` // SchedulingPolicy: Scheduling policy for Tasks in the TaskGroup. The default // value is AS_SOON_AS_POSSIBLE. // // Possible values: // "SCHEDULING_POLICY_UNSPECIFIED" - Unspecified. // "AS_SOON_AS_POSSIBLE" - Run Tasks as soon as resources are available. // Tasks might be executed in parallel depending on parallelism and task_count // values. // "IN_ORDER" - Run Tasks sequentially with increased task index. SchedulingPolicy string `json:"schedulingPolicy,omitempty"` // TaskCount: Number of Tasks in the TaskGroup. Default is 1. TaskCount int64 `json:"taskCount,omitempty,string"` // TaskCountPerNode: Max number of tasks that can be run on a VM at the same // time. If not specified, the system will decide a value based on available // compute resources on a VM and task requirements. TaskCountPerNode int64 `json:"taskCountPerNode,omitempty,string"` // TaskEnvironments: An array of environment variable mappings, which are // passed to Tasks with matching indices. If task_environments is used then // task_count should not be specified in the request (and will be ignored). // Task count will be the length of task_environments. Tasks get a // BATCH_TASK_INDEX and BATCH_TASK_COUNT environment variable, in addition to // any environment variables set in task_environments, specifying the number of // Tasks in the Task's parent TaskGroup, and the specific Task's index in the // TaskGroup (0 through BATCH_TASK_COUNT - 1). TaskEnvironments []*Environment `json:"taskEnvironments,omitempty"` // TaskSpec: Required. Tasks in the group share the same task spec. TaskSpec *TaskSpec `json:"taskSpec,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Name") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TaskGroup) MarshalJSON() ([]byte, error) { type NoMethod TaskGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TaskGroupStatus: Aggregated task status for a TaskGroup. type TaskGroupStatus struct { // Counts: Count of task in each state in the TaskGroup. The map key is task // state name. Counts map[string]string `json:"counts,omitempty"` // Instances: Status of instances allocated for the TaskGroup. Instances []*InstanceStatus `json:"instances,omitempty"` // ForceSendFields is a list of field names (e.g. "Counts") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Counts") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TaskGroupStatus) MarshalJSON() ([]byte, error) { type NoMethod TaskGroupStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TaskSpec: Spec of a task type TaskSpec struct { // ComputeResource: ComputeResource requirements. ComputeResource *ComputeResource `json:"computeResource,omitempty"` // Environment: Environment variables to set before running the Task. Environment *Environment `json:"environment,omitempty"` // Environments: Deprecated: please use environment(non-plural) instead. Environments map[string]string `json:"environments,omitempty"` // LifecyclePolicies: Lifecycle management schema when any task in a task group // is failed. Currently we only support one lifecycle policy. When the // lifecycle policy condition is met, the action in the policy will execute. If // task execution result does not meet with the defined lifecycle policy, we // consider it as the default policy. Default policy means if the exit code is // 0, exit task. If task ends with non-zero exit code, retry the task with // max_retry_count. LifecyclePolicies []*LifecyclePolicy `json:"lifecyclePolicies,omitempty"` // MaxRetryCount: Maximum number of retries on failures. The default, 0, which // means never retry. The valid value range is [0, 10]. MaxRetryCount int64 `json:"maxRetryCount,omitempty"` // MaxRunDuration: Maximum duration the task should run. The task will be // killed and marked as FAILED if over this limit. The valid value range for // max_run_duration in seconds is [0, 315576000000.999999999], MaxRunDuration string `json:"maxRunDuration,omitempty"` // Runnables: The sequence of scripts or containers to run for this Task. Each // Task using this TaskSpec executes its list of runnables in order. The Task // succeeds if all of its runnables either exit with a zero status or any that // exit with a non-zero status have the ignore_exit_status flag. Background // runnables are killed automatically (if they have not already exited) a short // time after all foreground runnables have completed. Even though this is // likely to result in a non-zero exit status for the background runnable, // these automatic kills are not treated as Task failures. Runnables []*Runnable `json:"runnables,omitempty"` // Volumes: Volumes to mount before running Tasks using this TaskSpec. Volumes []*Volume `json:"volumes,omitempty"` // ForceSendFields is a list of field names (e.g. "ComputeResource") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ComputeResource") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TaskSpec) MarshalJSON() ([]byte, error) { type NoMethod TaskSpec return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TaskStatus: Status of a task type TaskStatus struct { // State: Task state // // Possible values: // "STATE_UNSPECIFIED" - Unknown state. // "PENDING" - The Task is created and waiting for resources. // "ASSIGNED" - The Task is assigned to at least one VM. // "RUNNING" - The Task is running. // "FAILED" - The Task has failed. // "SUCCEEDED" - The Task has succeeded. // "UNEXECUTED" - The Task has not been executed when the Job finishes. State string `json:"state,omitempty"` // StatusEvents: Detailed info about why the state is reached. StatusEvents []*StatusEvent `json:"statusEvents,omitempty"` // ForceSendFields is a list of field names (e.g. "State") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "State") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TaskStatus) MarshalJSON() ([]byte, error) { type NoMethod TaskStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Volume: Volume describes a volume and parameters for it to be mounted to a // VM. type Volume struct { // DeviceName: Device name of an attached disk volume, which should align with // a device_name specified by // job.allocation_policy.instances[0].policy.disks[i].device_name or defined by // the given instance template in // job.allocation_policy.instances[0].instance_template. DeviceName string `json:"deviceName,omitempty"` // Gcs: A Google Cloud Storage (GCS) volume. Gcs *GCS `json:"gcs,omitempty"` // MountOptions: For Google Cloud Storage (GCS), mount options are the options // supported by the gcsfuse tool // (https://github.com/GoogleCloudPlatform/gcsfuse). For existing persistent // disks, mount options provided by the mount command // (https://man7.org/linux/man-pages/man8/mount.8.html) except writing are // supported. This is due to restrictions of multi-writer mode // (https://cloud.google.com/compute/docs/disks/sharing-disks-between-vms). For // other attached disks and Network File System (NFS), mount options are these // supported by the mount command // (https://man7.org/linux/man-pages/man8/mount.8.html). MountOptions []string `json:"mountOptions,omitempty"` // MountPath: The mount path for the volume, e.g. /mnt/disks/share. MountPath string `json:"mountPath,omitempty"` // Nfs: A Network File System (NFS) volume. For example, a Filestore file // share. Nfs *NFS `json:"nfs,omitempty"` // ForceSendFields is a list of field names (e.g. "DeviceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeviceName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Volume) MarshalJSON() ([]byte, error) { type NoMethod Volume return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type ProjectsLocationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets information about a location. // // - name: Resource name for the location. func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall { c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.get" call. // Any non-2xx status code is an error. Response headers are in either // *Location.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Location{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists information about the supported locations for this service. // // - name: The resource that owns the locations collection, if applicable. func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": A filter to narrow down results // to a preferred subset. The filtering language accepts strings like // "displayName=tokyo", and is documented in more detail in AIP-160 // (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return. If not set, the service selects a default. func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A page token received // from the `next_page_token` field in the response. Send that page token to // receive the subsequent page. func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListLocationsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListLocationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsJobsCreateCall struct { s *Service parent string job *Job urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Create a Job. // // - parent: The parent resource name where the Job will be created. Pattern: // "projects/{project}/locations/{location}". func (r *ProjectsLocationsJobsService) Create(parent string, job *Job) *ProjectsLocationsJobsCreateCall { c := &ProjectsLocationsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.job = job return c } // JobId sets the optional parameter "jobId": ID used to uniquely identify the // Job within its parent scope. This field should contain at most 63 characters // and must start with lowercase characters. Only lowercase characters, numbers // and '-' are accepted. The '-' character cannot be the first or the last one. // A system generated ID will be used if the field is not set. The job.name // field in the request will be ignored and the created resource name of the // Job will be "{parent}/jobs/{job_id}". func (c *ProjectsLocationsJobsCreateCall) JobId(jobId string) *ProjectsLocationsJobsCreateCall { c.urlParams_.Set("jobId", jobId) return c } // RequestId sets the optional parameter "requestId": An optional request ID to // identify requests. Specify a unique request ID so that if you must retry // your request, the server will know to ignore the request if it has already // been completed. The server will guarantee that for at least 60 minutes since // the first request. For example, consider a situation where you make an // initial request and the request times out. If you make the request again // with the same request ID, the server can check if original operation with // the same request ID was received, and if so, will ignore the second request. // This prevents clients from accidentally creating duplicate commitments. The // request ID must be a valid UUID with the exception that zero UUID is not // supported (00000000-0000-0000-0000-000000000000). func (c *ProjectsLocationsJobsCreateCall) RequestId(requestId string) *ProjectsLocationsJobsCreateCall { c.urlParams_.Set("requestId", requestId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsJobsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsJobsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsJobsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.job) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/jobs") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.jobs.create" call. // Any non-2xx status code is an error. Response headers are in either // *Job.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsJobsCreateCall) Do(opts ...googleapi.CallOption) (*Job, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Job{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsJobsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Delete a Job. // // - name: Job name. func (r *ProjectsLocationsJobsService) Delete(name string) *ProjectsLocationsJobsDeleteCall { c := &ProjectsLocationsJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Reason sets the optional parameter "reason": Reason for this deletion. func (c *ProjectsLocationsJobsDeleteCall) Reason(reason string) *ProjectsLocationsJobsDeleteCall { c.urlParams_.Set("reason", reason) return c } // RequestId sets the optional parameter "requestId": An optional request ID to // identify requests. Specify a unique request ID so that if you must retry // your request, the server will know to ignore the request if it has already // been completed. The server will guarantee that for at least 60 minutes after // the first request. For example, consider a situation where you make an // initial request and the request times out. If you make the request again // with the same request ID, the server can check if original operation with // the same request ID was received, and if so, will ignore the second request. // This prevents clients from accidentally creating duplicate commitments. The // request ID must be a valid UUID with the exception that zero UUID is not // supported (00000000-0000-0000-0000-000000000000). func (c *ProjectsLocationsJobsDeleteCall) RequestId(requestId string) *ProjectsLocationsJobsDeleteCall { c.urlParams_.Set("requestId", requestId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsJobsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsJobsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsJobsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.jobs.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsJobsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Get a Job specified by its resource name. // // - name: Job name. func (r *ProjectsLocationsJobsService) Get(name string) *ProjectsLocationsJobsGetCall { c := &ProjectsLocationsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsJobsGetCall) Context(ctx context.Context) *ProjectsLocationsJobsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsJobsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsJobsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.jobs.get" call. // Any non-2xx status code is an error. Response headers are in either // *Job.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsJobsGetCall) Do(opts ...googleapi.CallOption) (*Job, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Job{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsJobsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: List all Jobs for a project within a region. // // - parent: Parent path. func (r *ProjectsLocationsJobsService) List(parent string) *ProjectsLocationsJobsListCall { c := &ProjectsLocationsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Filter sets the optional parameter "filter": List filter. func (c *ProjectsLocationsJobsListCall) Filter(filter string) *ProjectsLocationsJobsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": Sort results. Supported are // "name", "name desc", "create_time", and "create_time desc". func (c *ProjectsLocationsJobsListCall) OrderBy(orderBy string) *ProjectsLocationsJobsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": Page size. func (c *ProjectsLocationsJobsListCall) PageSize(pageSize int64) *ProjectsLocationsJobsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": Page token. func (c *ProjectsLocationsJobsListCall) PageToken(pageToken string) *ProjectsLocationsJobsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsJobsListCall) Context(ctx context.Context) *ProjectsLocationsJobsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsJobsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsJobsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/jobs") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.jobs.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListJobsResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListJobsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsLocationsJobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsJobsTaskGroupsTasksGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Return a single Task. // // - name: Task name. func (r *ProjectsLocationsJobsTaskGroupsTasksService) Get(name string) *ProjectsLocationsJobsTaskGroupsTasksGetCall { c := &ProjectsLocationsJobsTaskGroupsTasksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsJobsTaskGroupsTasksGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsTaskGroupsTasksGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsJobsTaskGroupsTasksGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsTaskGroupsTasksGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsJobsTaskGroupsTasksGetCall) Context(ctx context.Context) *ProjectsLocationsJobsTaskGroupsTasksGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsJobsTaskGroupsTasksGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsJobsTaskGroupsTasksGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.jobs.taskGroups.tasks.get" call. // Any non-2xx status code is an error. Response headers are in either // *Task.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsJobsTaskGroupsTasksGetCall) Do(opts ...googleapi.CallOption) (*Task, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Task{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsJobsTaskGroupsTasksListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: List Tasks associated with a job. // // - parent: Name of a TaskGroup from which Tasks are being requested. Pattern: // "projects/{project}/locations/{location}/jobs/{job}/taskGroups/{task_group} // ". func (r *ProjectsLocationsJobsTaskGroupsTasksService) List(parent string) *ProjectsLocationsJobsTaskGroupsTasksListCall { c := &ProjectsLocationsJobsTaskGroupsTasksListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Filter sets the optional parameter "filter": Task filter, null filter // matches all Tasks. Filter string should be of the format // State=TaskStatus.State e.g. State=RUNNING func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) Filter(filter string) *ProjectsLocationsJobsTaskGroupsTasksListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": Page size. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) PageSize(pageSize int64) *ProjectsLocationsJobsTaskGroupsTasksListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": Page token. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) PageToken(pageToken string) *ProjectsLocationsJobsTaskGroupsTasksListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsTaskGroupsTasksListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsTaskGroupsTasksListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) Context(ctx context.Context) *ProjectsLocationsJobsTaskGroupsTasksListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/tasks") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.jobs.taskGroups.tasks.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListTasksResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) Do(opts ...googleapi.CallOption) (*ListTasksResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListTasksResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsLocationsJobsTaskGroupsTasksListCall) Pages(ctx context.Context, f func(*ListTasksResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsOperationsCancelCall struct { s *Service name string canceloperationrequest *CancelOperationRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Cancel: Starts asynchronous cancellation on a long-running operation. The // server makes a best effort to cancel the operation, but success is not // guaranteed. If the server doesn't support this method, it returns // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or // other methods to check whether the cancellation succeeded or whether the // operation completed despite cancellation. On successful cancellation, the // operation is not deleted; instead, it becomes an operation with an // Operation.error value with a google.rpc.Status.code of 1, corresponding to // `Code.CANCELLED`. // // - name: The name of the operation resource to be cancelled. func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall { c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.canceloperationrequest = canceloperationrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.operations.cancel" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsOperationsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a long-running operation. This method indicates that the // client is no longer interested in the operation result. It does not cancel // the operation. If the server doesn't support this method, it returns // `google.rpc.Code.UNIMPLEMENTED`. // // - name: The name of the operation resource to be deleted. func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall { c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.operations.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsOperationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the latest state of a long-running operation. Clients can use this // method to poll the operation result at intervals as recommended by the API // service. // // - name: The name of the operation resource. func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.operations.get" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsOperationsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists operations that match the specified filter in the request. If // the server doesn't support this method, it returns `UNIMPLEMENTED`. // // - name: The name of the operation's parent resource. func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": The standard list filter. func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The standard list page // size. func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The standard list page // token. func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsOperationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.operations.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListOperationsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListOperationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsStateReportCall struct { s *Service parent string reportagentstaterequest *ReportAgentStateRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Report: Report agent's state, e.g. agent status and tasks information // // - parent: Format: projects/{project}/locations/{location} {project} should // be a project number. func (r *ProjectsLocationsStateService) Report(parent string, reportagentstaterequest *ReportAgentStateRequest) *ProjectsLocationsStateReportCall { c := &ProjectsLocationsStateReportCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.reportagentstaterequest = reportagentstaterequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsStateReportCall) Fields(s ...googleapi.Field) *ProjectsLocationsStateReportCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsStateReportCall) Context(ctx context.Context) *ProjectsLocationsStateReportCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsStateReportCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsStateReportCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.reportagentstaterequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/state:report") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "batch.projects.locations.state.report" call. // Any non-2xx status code is an error. Response headers are in either // *ReportAgentStateResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsLocationsStateReportCall) Do(opts ...googleapi.CallOption) (*ReportAgentStateResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ReportAgentStateResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }