Skip to content

Commit

Permalink
promote kms_key_name to ga (#6177) (#11976)
Browse files Browse the repository at this point in the history
Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Jun 28, 2022
1 parent e67fcd1 commit e489eff
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .changelog/6177.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:enhancement
compute: promoted `disk_encryption_key.kms_key_name` on `google_compute_region_disk`
```
23 changes: 23 additions & 0 deletions google/resource_compute_region_disk.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,12 @@ you do not need to provide a key to use the disk later.`,
MaxItems: 1,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"kms_key_name": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
Description: `The name of the encryption key that is stored in Google Cloud KMS.`,
},
"raw_key": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -813,6 +819,8 @@ func flattenComputeRegionDiskDiskEncryptionKey(v interface{}, d *schema.Resource
flattenComputeRegionDiskDiskEncryptionKeyRawKey(original["rawKey"], d, config)
transformed["sha256"] =
flattenComputeRegionDiskDiskEncryptionKeySha256(original["sha256"], d, config)
transformed["kms_key_name"] =
flattenComputeRegionDiskDiskEncryptionKeyKmsKeyName(original["kmsKeyName"], d, config)
return []interface{}{transformed}
}
func flattenComputeRegionDiskDiskEncryptionKeyRawKey(v interface{}, d *schema.ResourceData, config *Config) interface{} {
Expand All @@ -823,6 +831,10 @@ func flattenComputeRegionDiskDiskEncryptionKeySha256(v interface{}, d *schema.Re
return v
}

func flattenComputeRegionDiskDiskEncryptionKeyKmsKeyName(v interface{}, d *schema.ResourceData, config *Config) interface{} {
return v
}

func flattenComputeRegionDiskSnapshot(v interface{}, d *schema.ResourceData, config *Config) interface{} {
if v == nil {
return v
Expand Down Expand Up @@ -943,6 +955,13 @@ func expandComputeRegionDiskDiskEncryptionKey(v interface{}, d TerraformResource
transformed["sha256"] = transformedSha256
}

transformedKmsKeyName, err := expandComputeRegionDiskDiskEncryptionKeyKmsKeyName(original["kms_key_name"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedKmsKeyName); val.IsValid() && !isEmptyValue(val) {
transformed["kmsKeyName"] = transformedKmsKeyName
}

return transformed, nil
}

Expand All @@ -954,6 +973,10 @@ func expandComputeRegionDiskDiskEncryptionKeySha256(v interface{}, d TerraformRe
return v, nil
}

func expandComputeRegionDiskDiskEncryptionKeyKmsKeyName(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
return v, nil
}

func expandComputeRegionDiskSnapshot(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
f, err := parseGlobalFieldValue("snapshots", v.(string), "project", d, config, true)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion website/docs/r/compute_region_disk.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ The following arguments are supported:
encryption key that protects this resource.

* `kms_key_name` -
(Optional, [Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html))
(Optional)
The name of the encryption key that is stored in Google Cloud KMS.

<a name="nested_source_snapshot_encryption_key"></a>The `source_snapshot_encryption_key` block supports:
Expand Down

0 comments on commit e489eff

Please sign in to comment.