Skip to content

Commit b09d63d

Browse files
gurusai-voletiDawid212
authored andcommitted
feat: (storage) added md5hexhash field in storage object (GoogleCloudPlatform#13464)
1 parent aa8ebe6 commit b09d63d

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

mmv1/third_party/terraform/services/storage/resource_storage_bucket_object.go

+18
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717

1818
"crypto/sha256"
1919
"encoding/base64"
20+
"encoding/hex"
2021
"net/http"
2122

2223
"google.golang.org/api/googleapi"
@@ -115,6 +116,14 @@ func ResourceStorageBucketObject() *schema.Resource {
115116
Description: `Base 64 MD5 hash of the uploaded data.`,
116117
},
117118

119+
"md5hexhash": {
120+
Type: schema.TypeString,
121+
Computed: true,
122+
Optional: false,
123+
Required: false,
124+
Description: `Hex value of md5hash`,
125+
},
126+
118127
"source": {
119128
Type: schema.TypeString,
120129
Optional: true,
@@ -459,6 +468,15 @@ func resourceStorageBucketObjectRead(d *schema.ResourceData, meta interface{}) e
459468
if err := d.Set("md5hash", res.Md5Hash); err != nil {
460469
return fmt.Errorf("Error setting md5hash: %s", err)
461470
}
471+
hash, err := base64.StdEncoding.DecodeString(res.Md5Hash)
472+
if err != nil {
473+
return fmt.Errorf("Error decoding md5hash: %s", err)
474+
}
475+
// encode
476+
md5HexHash := hex.EncodeToString(hash)
477+
if err := d.Set("md5hexhash", md5HexHash); err != nil {
478+
return fmt.Errorf("Error setting md5hexhash: %s", err)
479+
}
462480
if err := d.Set("detect_md5hash", res.Md5Hash); err != nil {
463481
return fmt.Errorf("Error setting detect_md5hash: %s", err)
464482
}

mmv1/third_party/terraform/services/storage/resource_storage_bucket_object_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ func TestAccStorageObject_basic(t *testing.T) {
4545
Steps: []resource.TestStep{
4646
{
4747
Config: testGoogleStorageBucketsObjectBasic(bucketName, testFile.Name()),
48-
Check: testAccCheckGoogleStorageObject(t, bucketName, objectName, dataMd5),
48+
Check: resource.ComposeTestCheckFunc(
49+
resource.TestCheckResourceAttrSet("google_storage_bucket_object.object", "md5hexhash"),
50+
testAccCheckGoogleStorageObject(t, bucketName, objectName, dataMd5),
51+
),
4952
},
5053
},
5154
})

0 commit comments

Comments
 (0)