Skip to content

Commit

Permalink
generated_id added to compute_region_backend_service (hashicorp#10243) (
Browse files Browse the repository at this point in the history
hashicorp#17639)

[upstream:31e31a13ab2a930666d83604e6d30d990170ebe7]

Signed-off-by: Modular Magician <[email protected]>
  • Loading branch information
modular-magician authored Mar 20, 2024
1 parent 70df48b commit e129d19
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .changelog/10243.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:enhancement
compute: added `generated_id` field to `google_compute_region_backend_service` resource
```
25 changes: 25 additions & 0 deletions google/services/compute/resource_compute_region_backend_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -896,6 +896,11 @@ failed request. Default is 30 seconds. Valid range is [1, 86400].`,
Description: `Fingerprint of this resource. A hash of the contents stored in this
object. This field is used in optimistic locking.`,
},
"generated_id": {
Type: schema.TypeInt,
Computed: true,
Description: `The unique identifier for the resource. This identifier is defined by the server.`,
},
"project": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -1357,6 +1362,9 @@ func resourceComputeRegionBackendServiceRead(d *schema.ResourceData, meta interf
if err := d.Set("health_checks", flattenComputeRegionBackendServiceHealthChecks(res["healthChecks"], d, config)); err != nil {
return fmt.Errorf("Error reading RegionBackendService: %s", err)
}
if err := d.Set("generated_id", flattenComputeRegionBackendServiceGeneratedId(res["id"], d, config)); err != nil {
return fmt.Errorf("Error reading RegionBackendService: %s", err)
}
if err := d.Set("iap", flattenComputeRegionBackendServiceIap(res["iap"], d, config)); err != nil {
return fmt.Errorf("Error reading RegionBackendService: %s", err)
}
Expand Down Expand Up @@ -2332,6 +2340,23 @@ func flattenComputeRegionBackendServiceHealthChecks(v interface{}, d *schema.Res
return tpgresource.ConvertAndMapStringArr(v.([]interface{}), tpgresource.ConvertSelfLinkToV1)
}

func flattenComputeRegionBackendServiceGeneratedId(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
// Handles the string fixed64 format
if strVal, ok := v.(string); ok {
if intVal, err := tpgresource.StringToFixed64(strVal); err == nil {
return intVal
}
}

// number values are represented as float64
if floatVal, ok := v.(float64); ok {
intVal := int(floatVal)
return intVal
}

return v // let terraform core handle it otherwise
}

func flattenComputeRegionBackendServiceIap(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
if v == nil {
return nil
Expand Down
3 changes: 3 additions & 0 deletions website/docs/r/compute_region_backend_service.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -1119,6 +1119,9 @@ In addition to the arguments listed above, the following computed attributes are
* `fingerprint` -
Fingerprint of this resource. A hash of the contents stored in this
object. This field is used in optimistic locking.

* `generated_id` -
The unique identifier for the resource. This identifier is defined by the server.
* `self_link` - The URI of the created resource.


Expand Down

0 comments on commit e129d19

Please sign in to comment.