diff --git a/alloydb/v1alpha/alloydb-api.json b/alloydb/v1alpha/alloydb-api.json index 5e7a3f93855..523a9cb1198 100644 --- a/alloydb/v1alpha/alloydb-api.json +++ b/alloydb/v1alpha/alloydb-api.json @@ -1461,7 +1461,7 @@ } } }, - "revision": "20240424", + "revision": "20240517", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -2405,6 +2405,14 @@ "$ref": "ObservabilityInstanceConfig", "description": "Configuration for observability." }, + "outboundPublicIpAddresses": { + "description": "Output only. All outbound public IP addresses configured for the instance.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "pscInstanceConfig": { "$ref": "PscInstanceConfig", "description": "Optional. The configuration for Private Service Connect (PSC) for the instance." @@ -2498,6 +2506,10 @@ }, "type": "array" }, + "enableOutboundPublicIp": { + "description": "Optional. Enabling an outbound public IP address to support a database server sending requests out into the internet.", + "type": "boolean" + }, "enablePublicIp": { "description": "Optional. Enabling public ip for the instance.", "type": "boolean" @@ -3357,10 +3369,13 @@ ], "type": "string" }, - "recommendationSignalData": { - "$ref": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData", + "observabilityMetricData": { + "$ref": "StorageDatabasecenterPartnerapiV1mainObservabilityMetricData", "description": "More feed data would be added in subsequent CLs" }, + "recommendationSignalData": { + "$ref": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData" + }, "resourceHealthSignalData": { "$ref": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData" }, @@ -3534,7 +3549,11 @@ "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT", "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT", "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" + "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES", + "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", + "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", + "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" ], "enumDeprecated": [ false, @@ -3603,6 +3622,10 @@ false, false, false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -3672,7 +3695,11 @@ "Performance impact of connections settings", "Performance impact of temporary tables settings", "Performance impact of transaction logs settings", - "Performance impact of high joins without indexes" + "Performance impact of high joins without indexes", + "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", + "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", + "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." ], "type": "string" }, @@ -3855,6 +3882,10 @@ "description": "The resource location. REQUIRED", "type": "string" }, + "machineConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", + "description": "Machine configuration for this resource." + }, "primaryResourceId": { "$ref": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceId", "description": "Identifier for this resource's immediate parent/primary resource if the current resource is a replica or derived form of another Database resource. Else it would be NULL. REQUIRED if the immediate parent exists when first time resource is getting ingested, otherwise optional." @@ -4013,7 +4044,11 @@ "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT", "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT", "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" + "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES", + "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", + "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", + "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" ], "enumDeprecated": [ false, @@ -4082,6 +4117,10 @@ false, false, false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4151,7 +4190,11 @@ "Performance impact of connections settings", "Performance impact of temporary tables settings", "Performance impact of transaction logs settings", - "Performance impact of high joins without indexes" + "Performance impact of high joins without indexes", + "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", + "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", + "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." ], "type": "string" } @@ -4191,6 +4234,55 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { + "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", + "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", + "properties": { + "cpuCount": { + "description": "The number of CPUs.", + "format": "int32", + "type": "integer" + }, + "memorySizeInBytes": { + "description": "Memory size in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "StorageDatabasecenterPartnerapiV1mainObservabilityMetricData": { + "id": "StorageDatabasecenterPartnerapiV1mainObservabilityMetricData", + "properties": { + "metricTimestamp": { + "description": "Required. The timestamp of the metric value.", + "format": "google-datetime", + "type": "string" + }, + "metricType": { + "description": "Required. Type of metric like CPU, Memory, etc.", + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "INSTANCE_PEAK_CPU_UTILISATION" + ], + "enumDescriptions": [ + "", + "Peak CPU utilization for a DB instance as a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases) List will keep increasing, e.g. PEAK_MEMORY_UTILISATION, NUMBER_OF_CONNECTIONS, SUCCESS_RATIO_FOR_QUERIES, etc." + ], + "type": "string" + }, + "resourceName": { + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "value": { + "description": "Required. Value of the metric type.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainOperationError": { "description": "An error that occurred during a backup creation operation.", "id": "StorageDatabasecenterPartnerapiV1mainOperationError", diff --git a/alloydb/v1alpha/alloydb-gen.go b/alloydb/v1alpha/alloydb-gen.go index c736513de77..bf3d064045d 100644 --- a/alloydb/v1alpha/alloydb-gen.go +++ b/alloydb/v1alpha/alloydb-gen.go @@ -1220,6 +1220,9 @@ type Instance struct { Nodes []*Node `json:"nodes,omitempty"` // ObservabilityConfig: Configuration for observability. ObservabilityConfig *ObservabilityInstanceConfig `json:"observabilityConfig,omitempty"` + // OutboundPublicIpAddresses: Output only. All outbound public IP addresses + // configured for the instance. + OutboundPublicIpAddresses []string `json:"outboundPublicIpAddresses,omitempty"` // PscInstanceConfig: Optional. The configuration for Private Service Connect // (PSC) for the instance. PscInstanceConfig *PscInstanceConfig `json:"pscInstanceConfig,omitempty"` @@ -1303,6 +1306,9 @@ type InstanceNetworkConfig struct { // AuthorizedExternalNetworks: Optional. A list of external network authorized // to access this instance. AuthorizedExternalNetworks []*AuthorizedNetwork `json:"authorizedExternalNetworks,omitempty"` + // EnableOutboundPublicIp: Optional. Enabling an outbound public IP address to + // support a database server sending requests out into the internet. + EnableOutboundPublicIp bool `json:"enableOutboundPublicIp,omitempty"` // EnablePublicIp: Optional. Enabling public ip for the instance. EnablePublicIp bool `json:"enablePublicIp,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorizedExternalNetworks") @@ -2482,7 +2488,8 @@ type StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed struct { // "RECOMMENDATION_SIGNAL_DATA" - Database resource recommendation signal // data FeedType string `json:"feedType,omitempty"` - // RecommendationSignalData: More feed data would be added in subsequent CLs + // ObservabilityMetricData: More feed data would be added in subsequent CLs + ObservabilityMetricData *StorageDatabasecenterPartnerapiV1mainObservabilityMetricData `json:"observabilityMetricData,omitempty"` RecommendationSignalData *StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData `json:"recommendationSignalData,omitempty"` ResourceHealthSignalData *StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData `json:"resourceHealthSignalData,omitempty"` // ResourceId: Primary key associated with the Resource. resource_id is @@ -2732,6 +2739,18 @@ type StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData struc // transaction logs settings // "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" - Performance impact of high // joins without indexes + // "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES" - Detects events where a + // Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL + // users) writes to non-system tables. + // "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS" - Detects events where a + // database user or role has been granted all privileges to a database, or to + // all tables, procedures, or functions in a schema. + // "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET" - Detects if + // database instance data exported to a Cloud Storage bucket outside of the + // organization. + // "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" - Detects if + // database instance data exported to a Cloud Storage bucket that is owned by + // the organization and is publicly accessible. SignalType string `json:"signalType,omitempty"` // Possible values: // "STATE_UNSPECIFIED" - Unspecified state. @@ -2867,6 +2886,8 @@ type StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata struct { InstanceType string `json:"instanceType,omitempty"` // Location: The resource location. REQUIRED Location string `json:"location,omitempty"` + // MachineConfiguration: Machine configuration for this resource. + MachineConfiguration *StorageDatabasecenterPartnerapiV1mainMachineConfiguration `json:"machineConfiguration,omitempty"` // PrimaryResourceId: Identifier for this resource's immediate parent/primary // resource if the current resource is a replica or derived form of another // Database resource. Else it would be NULL. REQUIRED if the immediate parent @@ -3117,6 +3138,18 @@ type StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalDa // transaction logs settings // "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" - Performance impact of high // joins without indexes + // "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES" - Detects events where a + // Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL + // users) writes to non-system tables. + // "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS" - Detects events where a + // database user or role has been granted all privileges to a database, or to + // all tables, procedures, or functions in a schema. + // "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET" - Detects if + // database instance data exported to a Cloud Storage bucket outside of the + // organization. + // "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" - Detects if + // database instance data exported to a Cloud Storage bucket that is owned by + // the organization and is publicly accessible. SignalType string `json:"signalType,omitempty"` // ForceSendFields is a list of field names (e.g. "AdditionalMetadata") to // unconditionally include in API requests. By default, fields with empty or @@ -3174,6 +3207,82 @@ func (s *StorageDatabasecenterPartnerapiV1mainEntitlement) MarshalJSON() ([]byte return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// StorageDatabasecenterPartnerapiV1mainMachineConfiguration: +// MachineConfiguration describes the configuration of a machine specific to +// Database Resource. +type StorageDatabasecenterPartnerapiV1mainMachineConfiguration struct { + // CpuCount: The number of CPUs. + CpuCount int64 `json:"cpuCount,omitempty"` + // MemorySizeInBytes: Memory size in bytes. + MemorySizeInBytes int64 `json:"memorySizeInBytes,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "CpuCount") 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. "CpuCount") 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 *StorageDatabasecenterPartnerapiV1mainMachineConfiguration) MarshalJSON() ([]byte, error) { + type NoMethod StorageDatabasecenterPartnerapiV1mainMachineConfiguration + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +type StorageDatabasecenterPartnerapiV1mainObservabilityMetricData struct { + // MetricTimestamp: Required. The timestamp of the metric value. + MetricTimestamp string `json:"metricTimestamp,omitempty"` + // MetricType: Required. Type of metric like CPU, Memory, etc. + // + // Possible values: + // "METRIC_TYPE_UNSPECIFIED" + // "INSTANCE_PEAK_CPU_UTILISATION" - Peak CPU utilization for a DB instance + // as a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases) + // List will keep increasing, e.g. PEAK_MEMORY_UTILISATION, + // NUMBER_OF_CONNECTIONS, SUCCESS_RATIO_FOR_QUERIES, etc. + MetricType string `json:"metricType,omitempty"` + // ResourceName: Required. Database resource name associated with the signal. + // Resource name to follow CAIS resource_name format as noted here + // go/condor-common-datamodel + ResourceName string `json:"resourceName,omitempty"` + // Value: Required. Value of the metric type. + Value float64 `json:"value,omitempty"` + // ForceSendFields is a list of field names (e.g. "MetricTimestamp") 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. "MetricTimestamp") 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 *StorageDatabasecenterPartnerapiV1mainObservabilityMetricData) MarshalJSON() ([]byte, error) { + type NoMethod StorageDatabasecenterPartnerapiV1mainObservabilityMetricData + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *StorageDatabasecenterPartnerapiV1mainObservabilityMetricData) UnmarshalJSON(data []byte) error { + type NoMethod StorageDatabasecenterPartnerapiV1mainObservabilityMetricData + var s1 struct { + Value gensupport.JSONFloat64 `json:"value"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Value = float64(s1.Value) + return nil +} + // StorageDatabasecenterPartnerapiV1mainOperationError: An error that occurred // during a backup creation operation. type StorageDatabasecenterPartnerapiV1mainOperationError struct { diff --git a/batch/v1/batch-api.json b/batch/v1/batch-api.json index f02147156c0..9d9427e2358 100644 --- a/batch/v1/batch-api.json +++ b/batch/v1/batch-api.json @@ -561,7 +561,7 @@ } } }, - "revision": "20240425", + "revision": "20240517", "rootUrl": "https://batch.googleapis.com/", "schemas": { "Accelerator": { @@ -751,6 +751,10 @@ "description": "If the GCP instance has received preemption notice.", "type": "boolean" }, + "machineType": { + "description": "Optional. machine type of the VM", + "type": "string" + }, "osRelease": { "additionalProperties": { "type": "string" @@ -907,7 +911,7 @@ "description": "Environment variables to set before running the Task." }, "maxRunDuration": { - "description": "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],", + "description": "Maximum duration the task should run before being automatically retried (if enabled) or automatically failed. Format the value of this field as a time limit in seconds followed by `s`—for example, `3600s` for 1 hour. The field accepts any value between 0 and the maximum listed for the `Duration` field type at https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, the actual maximum run time for a job will be limited to the maximum run time for a job listed at https://cloud.google.com/batch/quotas#max-job-duration.", "format": "google-duration", "type": "string" }, @@ -1253,7 +1257,7 @@ "id": "InstancePolicyOrTemplate", "properties": { "installGpuDrivers": { - "description": "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.", + "description": "Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in `policy.accelerators` or `instance_template` on your 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.", "type": "boolean" }, "instanceTemplate": { @@ -2067,7 +2071,7 @@ "id": "TaskExecution", "properties": { "exitCode": { - "description": "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.", + "description": "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: https://cloud.google.com/batch/docs/troubleshooting#reserved-exit-codes. * Batch runnable execution failures; you can rely on Batch logs to further diagnose: https://cloud.google.com/batch/docs/analyze-job-using-logs. If there are multiple runnables failures, Batch only exposes the first error.", "format": "int32", "type": "integer" } @@ -2193,7 +2197,7 @@ "type": "integer" }, "maxRunDuration": { - "description": "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],", + "description": "Maximum duration the task should run before being automatically retried (if enabled) or automatically failed. Format the value of this field as a time limit in seconds followed by `s`—for example, `3600s` for 1 hour. The field accepts any value between 0 and the maximum listed for the `Duration` field type at https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, the actual maximum run time for a job will be limited to the maximum run time for a job listed at https://cloud.google.com/batch/quotas#max-job-duration.", "format": "google-duration", "type": "string" }, diff --git a/batch/v1/batch-gen.go b/batch/v1/batch-gen.go index b6e98d60d28..d943939c4a4 100644 --- a/batch/v1/batch-gen.go +++ b/batch/v1/batch-gen.go @@ -441,6 +441,8 @@ type AgentMetadata struct { // InstancePreemptionNoticeReceived: If the GCP instance has received // preemption notice. InstancePreemptionNoticeReceived bool `json:"instancePreemptionNoticeReceived,omitempty"` + // MachineType: Optional. machine type of the VM + MachineType string `json:"machineType,omitempty"` // OsRelease: parsed contents of /etc/os-release OsRelease map[string]string `json:"osRelease,omitempty"` // Version: agent binary version running on VM @@ -634,9 +636,15 @@ func (s *AgentTaskRunnable) MarshalJSON() ([]byte, error) { 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: Maximum duration the task should run before being + // automatically retried (if enabled) or automatically failed. Format the value + // of this field as a time limit in seconds followed by `s`—for example, + // `3600s` for 1 hour. The field accepts any value between 0 and the maximum + // listed for the `Duration` field type at + // https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, + // the actual maximum run time for a job will be limited to the maximum run + // time for a job listed at + // https://cloud.google.com/batch/quotas#max-job-duration. MaxRunDuration string `json:"maxRunDuration,omitempty"` // Runnables: AgentTaskRunnable is runanbles that will be executed on the // agent. @@ -1167,11 +1175,11 @@ func (s *InstancePolicy) MarshalJSON() ([]byte, error) { // 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 + // InstallGpuDrivers: Set this field true if you 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 + // `policy.accelerators` or `instance_template` on your 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. @@ -2187,13 +2195,12 @@ func (s *Task) MarshalJSON() ([]byte, error) { 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 + // exit code will be 50000. Otherwise, it can be from different sources: * + // Batch known failures: + // https://cloud.google.com/batch/docs/troubleshooting#reserved-exit-codes. * + // Batch runnable execution failures; you can rely on Batch logs to 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. + // there are multiple runnables failures, Batch only exposes the first error. 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 @@ -2328,9 +2335,15 @@ type TaskSpec struct { // 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: Maximum duration the task should run before being + // automatically retried (if enabled) or automatically failed. Format the value + // of this field as a time limit in seconds followed by `s`—for example, + // `3600s` for 1 hour. The field accepts any value between 0 and the maximum + // listed for the `Duration` field type at + // https://protobuf.dev/reference/protobuf/google.protobuf/#duration; however, + // the actual maximum run time for a job will be limited to the maximum run + // time for a job listed at + // https://cloud.google.com/batch/quotas#max-job-duration. 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