Skip to content

Commit 04a12c4

Browse files
Add support for GPU redundancy to Cloud Run v2 job (#14519) (#23646)
[upstream:3cb9d50ba9a24bb671afa70a8727ee4c33a9fc3d] Signed-off-by: Modular Magician <[email protected]>
1 parent e7b389a commit 04a12c4

File tree

6 files changed

+34
-0
lines changed

6 files changed

+34
-0
lines changed

.changelog/14519.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/services/cloudrunv2/resource_cloud_run_v2_job.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,12 @@ 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+
Computed: true,
344+
Optional: true,
345+
Description: `True if GPU zonal redundancy is disabled on this execution.`,
346+
},
341347
"max_retries": {
342348
Type: schema.TypeInt,
343349
Optional: true,
@@ -1581,6 +1587,8 @@ func flattenCloudRunV2JobTemplateTemplate(v interface{}, d *schema.ResourceData,
15811587
flattenCloudRunV2JobTemplateTemplateMaxRetries(original["maxRetries"], d, config)
15821588
transformed["node_selector"] =
15831589
flattenCloudRunV2JobTemplateTemplateNodeSelector(original["nodeSelector"], d, config)
1590+
transformed["gpu_zonal_redundancy_disabled"] =
1591+
flattenCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(original["gpuZonalRedundancyDisabled"], d, config)
15841592
return []interface{}{transformed}
15851593
}
15861594
func flattenCloudRunV2JobTemplateTemplateContainers(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
@@ -2307,6 +2315,10 @@ func flattenCloudRunV2JobTemplateTemplateNodeSelectorAccelerator(v interface{},
23072315
return v
23082316
}
23092317

2318+
func flattenCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
2319+
return v
2320+
}
2321+
23102322
func flattenCloudRunV2JobObservedGeneration(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
23112323
return v
23122324
}
@@ -2710,6 +2722,13 @@ func expandCloudRunV2JobTemplateTemplate(v interface{}, d tpgresource.TerraformR
27102722
transformed["nodeSelector"] = transformedNodeSelector
27112723
}
27122724

2725+
transformedGpuZonalRedundancyDisabled, err := expandCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(original["gpu_zonal_redundancy_disabled"], d, config)
2726+
if err != nil {
2727+
return nil, err
2728+
} else {
2729+
transformed["gpuZonalRedundancyDisabled"] = transformedGpuZonalRedundancyDisabled
2730+
}
2731+
27132732
return transformed, nil
27142733
}
27152734

@@ -3676,6 +3695,10 @@ func expandCloudRunV2JobTemplateTemplateNodeSelectorAccelerator(v interface{}, d
36763695
return v, nil
36773696
}
36783697

3698+
func expandCloudRunV2JobTemplateTemplateGpuZonalRedundancyDisabled(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
3699+
return v, nil
3700+
}
3701+
36793702
func expandCloudRunV2JobEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
36803703
if v == nil {
36813704
return map[string]string{}, nil

google/services/cloudrunv2/resource_cloud_run_v2_job_generated_meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ fields:
7676
- field: 'template.template.containers.working_dir'
7777
- field: 'template.template.encryption_key'
7878
- field: 'template.template.execution_environment'
79+
- field: 'template.template.gpu_zonal_redundancy_disabled'
7980
- field: 'template.template.max_retries'
8081
- field: 'template.template.node_selector.accelerator'
8182
- field: 'template.template.service_account'

google/services/cloudrunv2/resource_cloud_run_v2_job_generated_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,7 @@ resource "google_cloud_run_v2_job" "default" {
574574
node_selector {
575575
accelerator = "nvidia-l4"
576576
}
577+
gpu_zonal_redundancy_disabled = true
577578
}
578579
}
579580
}

google/services/cloudrunv2/resource_cloud_run_v2_job_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -950,6 +950,7 @@ func testAccCloudRunV2Job_cloudrunv2JobWithGpu(context map[string]interface{}) s
950950
node_selector {
951951
accelerator = "nvidia-l4"
952952
}
953+
gpu_zonal_redundancy_disabled = true
953954
}
954955
}
955956
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)