Skip to content

Commit fc9f6d3

Browse files
Add support for GPU redundancy to Cloud Run v2 job (#14673) (#10440)
[upstream:241e95dfcfaad297ddeea85796ed38404535b4f1] Signed-off-by: Modular Magician <[email protected]>
1 parent 35059af commit fc9f6d3

File tree

6 files changed

+33
-0
lines changed

6 files changed

+33
-0
lines changed

.changelog/14673.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
cloudrunv2: added `gpu_zonal_redundancy_disabled` field to `google_cloud_run_v2_job` resource.
3+
```

google-beta/services/cloudrunv2/resource_cloud_run_v2_job.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,11 @@ Must be smaller than periodSeconds.`,
338338
ValidateFunc: verify.ValidateEnum([]string{"EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2", ""}),
339339
Description: `The execution environment being used to host this Task. Possible values: ["EXECUTION_ENVIRONMENT_GEN1", "EXECUTION_ENVIRONMENT_GEN2"]`,
340340
},
341+
"gpu_zonal_redundancy_disabled": {
342+
Type: schema.TypeBool,
343+
Optional: true,
344+
Description: `True if GPU zonal redundancy is disabled on this execution.`,
345+
},
341346
"max_retries": {
342347
Type: schema.TypeInt,
343348
Optional: true,
@@ -1642,6 +1647,8 @@ func flattenCloudRunV2JobTemplateTemplate(v interface{}, d *schema.ResourceData,
16421647
flattenCloudRunV2JobTemplateTemplateMaxRetries(original["maxRetries"], d, config)
16431648
transformed["node_selector"] =
16441649
flattenCloudRunV2JobTemplateTemplateNodeSelector(original["nodeSelector"], d, config)
1650+
transformed["gpu_zonal_redundancy_disabled"] =
1651+
flattenCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(original["gpuZonalRedundancyDisabled"], d, config)
16451652
return []interface{}{transformed}
16461653
}
16471654
func flattenCloudRunV2JobTemplateTemplateContainers(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
@@ -2374,6 +2381,10 @@ func flattenCloudRunV2JobTemplateTemplateNodeSelectorAccelerator(v interface{},
23742381
return v
23752382
}
23762383

2384+
func flattenCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
2385+
return v
2386+
}
2387+
23772388
func flattenCloudRunV2JobObservedGeneration(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
23782389
return v
23792390
}
@@ -2785,6 +2796,13 @@ func expandCloudRunV2JobTemplateTemplate(v interface{}, d tpgresource.TerraformR
27852796
transformed["nodeSelector"] = transformedNodeSelector
27862797
}
27872798

2799+
transformedGpuZonalRedundancyDisabled, err := expandCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(original["gpu_zonal_redundancy_disabled"], d, config)
2800+
if err != nil {
2801+
return nil, err
2802+
} else if val := reflect.ValueOf(transformedGpuZonalRedundancyDisabled); val.IsValid() && !tpgresource.IsEmptyValue(val) {
2803+
transformed["gpuZonalRedundancyDisabled"] = transformedGpuZonalRedundancyDisabled
2804+
}
2805+
27882806
return transformed, nil
27892807
}
27902808

@@ -3762,6 +3780,10 @@ func expandCloudRunV2JobTemplateTemplateNodeSelectorAccelerator(v interface{}, d
37623780
return v, nil
37633781
}
37643782

3783+
func expandCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
3784+
return v, nil
3785+
}
3786+
37653787
func expandCloudRunV2JobEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
37663788
if v == nil {
37673789
return map[string]string{}, nil

google-beta/services/cloudrunv2/resource_cloud_run_v2_job_generated_meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ fields:
7878
- field: 'template.template.containers.working_dir'
7979
- field: 'template.template.encryption_key'
8080
- field: 'template.template.execution_environment'
81+
- field: 'template.template.gpu_zonal_redundancy_disabled'
8182
- field: 'template.template.max_retries'
8283
- field: 'template.template.node_selector.accelerator'
8384
- field: 'template.template.service_account'

google-beta/services/cloudrunv2/resource_cloud_run_v2_job_generated_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,7 @@ resource "google_cloud_run_v2_job" "default" {
618618
node_selector {
619619
accelerator = "nvidia-l4"
620620
}
621+
gpu_zonal_redundancy_disabled = true
621622
}
622623
}
623624
}

google-beta/services/cloudrunv2/resource_cloud_run_v2_job_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,6 +1067,7 @@ func testAccCloudRunV2Job_cloudrunv2JobWithGpu(context map[string]interface{}) s
10671067
node_selector {
10681068
accelerator = "nvidia-l4"
10691069
}
1070+
gpu_zonal_redundancy_disabled = true
10701071
}
10711072
}
10721073
lifecycle {

website/docs/r/cloud_run_v2_job.html.markdown

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@ resource "google_cloud_run_v2_job" "default" {
419419
node_selector {
420420
accelerator = "nvidia-l4"
421421
}
422+
gpu_zonal_redundancy_disabled = true
422423
}
423424
}
424425
}
@@ -578,6 +579,10 @@ When the field is set to false, deleting the job is allowed.
578579
Node Selector describes the hardware requirements of the resources.
579580
Structure is [documented below](#nested_template_template_node_selector).
580581

582+
* `gpu_zonal_redundancy_disabled` -
583+
(Optional)
584+
True if GPU zonal redundancy is disabled on this execution.
585+
581586

582587
<a name="nested_template_template_containers"></a>The `containers` block supports:
583588

0 commit comments

Comments
 (0)