Skip to content

Commit 4ebfd9a

Browse files
feat: (storage) added md5hexhash field in storage object (#13464)
[upstream:be65ab7653b147db2ca4c6ba5dd93a59e563e892] Signed-off-by: Modular Magician <[email protected]>
1 parent 02c0b37 commit 4ebfd9a

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

.changelog/13464.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
storage: added md5hexhash field in storage object
3+
```

google-beta/services/storage/resource_storage_bucket_object.go

+18
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919

2020
"crypto/sha256"
2121
"encoding/base64"
22+
"encoding/hex"
2223
"net/http"
2324

2425
"google.golang.org/api/googleapi"
@@ -117,6 +118,14 @@ func ResourceStorageBucketObject() *schema.Resource {
117118
Description: `Base 64 MD5 hash of the uploaded data.`,
118119
},
119120

121+
"md5hexhash": {
122+
Type: schema.TypeString,
123+
Computed: true,
124+
Optional: false,
125+
Required: false,
126+
Description: `Hex value of md5hash`,
127+
},
128+
120129
"source": {
121130
Type: schema.TypeString,
122131
Optional: true,
@@ -461,6 +470,15 @@ func resourceStorageBucketObjectRead(d *schema.ResourceData, meta interface{}) e
461470
if err := d.Set("md5hash", res.Md5Hash); err != nil {
462471
return fmt.Errorf("Error setting md5hash: %s", err)
463472
}
473+
hash, err := base64.StdEncoding.DecodeString(res.Md5Hash)
474+
if err != nil {
475+
return fmt.Errorf("Error decoding md5hash: %s", err)
476+
}
477+
// encode
478+
md5HexHash := hex.EncodeToString(hash)
479+
if err := d.Set("md5hexhash", md5HexHash); err != nil {
480+
return fmt.Errorf("Error setting md5hexhash: %s", err)
481+
}
464482
if err := d.Set("detect_md5hash", res.Md5Hash); err != nil {
465483
return fmt.Errorf("Error setting detect_md5hash: %s", err)
466484
}

google-beta/services/storage/resource_storage_bucket_object_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ func TestAccStorageObject_basic(t *testing.T) {
4747
Steps: []resource.TestStep{
4848
{
4949
Config: testGoogleStorageBucketsObjectBasic(bucketName, testFile.Name()),
50-
Check: testAccCheckGoogleStorageObject(t, bucketName, objectName, dataMd5),
50+
Check: resource.ComposeTestCheckFunc(
51+
resource.TestCheckResourceAttrSet("google_storage_bucket_object.object", "md5hexhash"),
52+
testAccCheckGoogleStorageObject(t, bucketName, objectName, dataMd5),
53+
),
5154
},
5255
},
5356
})

0 commit comments

Comments
 (0)