🥒 CCC.ObjStor Test: ccc-avm-test-container-20260616

Test Parameters

ServiceTypeobject-storage
ProviderServiceTypeMicrosoft.Storage/storageAccounts
CatalogTypesCCC.ObjStor
TagFilter@object-storage, @PerService, @Behavioural
UID/subscriptions/c1cedd8e-bf91-4d7d-a4cc-45700402a2a1/resourceGroups/avm-testing/providers/Microsoft.Storage/storageAccounts/avmstor20260616
ResourceNameccc-avm-test-container-20260616
ReportFileccc-avm-test-container-20260616-service
ReportTitleccc-avm-test-container-20260616
Config
{}
azure-log-analytics-workspace-id433b7b84-1ba6-4f5c-8375-6d2016f07e6a
azure-resource-groupavm-testing
azure-storage-accountavmstor20260616
azure-subscription-idc1cedd8e-bf91-4d7d-a4cc-45700402a2a1
azure-tenant-idfa193ac0-9c06-4111-bf55-341e4db193d3
catalog-versions
{
  "CCC.Core": "v2025.10",
  "CCC.ObjStor": "DEV"
}
default-containerccc-avm-test-container-20260616
object-storage-retention-period-days2
permitted-regions
[
  "westus2"
]
providerazure
regionwestus2
replication-locations
[
  "westus2"
]
resourceccc-avm-test-container-20260616
serviceobject-storage
service-typeobject-storage
tags@Behavioural

Summary

Generated: 2026-06-22 17:07:05

Total Run Time: 56s

Features: 28

Scenarios: 41 (✅ 32 | ❌ 9)

Steps: 397 (✅ 365 | ❌ 9 | ⏭️ 19 | ❓ 4)

Feature: CCC.Core.CN02.AR01 - Data Encryption at Rest
Scenario: Verify objects are encrypted at rest @CCC.Core @CCC.Core.CN02 @PerService @tlp-amber @tlp-green @tlp-red @Behavioural @object-storage
Given a cloud api for "{config}" in "api"65µs
Given I call "{api}" with "GetServiceAPI" using argument "object-storage"117µs
And I refer to "{result}" as "storage"19µs
And "{result}" is not an error31µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "test-encryption-check={timestamp}.txt", and "encryption test data"487ms
Then "{result}" is not an error24µs
And I refer to "{result}" as "uploadResult"30µs
And "{uploadResult.Encryption}" is not null16µs
And "{uploadResult.EncryptionAlgorithm}" is "AES256"28µs
And I attach "{uploadResult}" to the test output as "Upload Result with Encryption Details"79µs
📎 Attachments:
Upload Result with Encryption Details
View JSON (283 bytes)
{"ID":"test-encryption-check=1782148025732.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1782148025732.txt","Size":20,"Data":["encryption test data"],"Encryption":"Microsoft","EncryptionAlgorithm":"AES256","VersionID":"2026-06-22T17:07:06.1958879Z"}
Feature: CCC.Core.CN05.AR01 - Block Unauthorized Data Modification
Scenario: Service prevents data modification by user with no access @CCC.Core @CCC.Core.CN05 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Destructive @Behavioural @object-storage
Given a cloud api for "{config}" in "api"46µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"42µs
And I refer to "{result}" as "storage"30µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-no-access"253µs
And "{result}" is not an error23µs
And I refer to "{result}" as "userStorage"17µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "test-cn05-unauthorized-modify={timestamp}.txt", and "unauthorized data"218ms
Then "{result}" is an error35µs
And I attach "{result}" to the test output as "no-access-create-error.txt"42µs
📎 Attachments:
no-access-create-error.txt
View Content (866 bytes)
failed to upload blob test-cn05-unauthorized-modify=1782148026221.txt: PUT https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/test-cn05-unauthorized-modify=1782148026221.txt
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
RequestId:dae9927d-801e-0025-1e69-028065000000
Time:2026-06-22T17:07:06.4221135Z
--------------------------------------------------------------------------------
Scenario: Service allows data modification by user with write access @CCC.Core @CCC.Core.CN05 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Destructive @Behavioural @object-storage
Given a cloud api for "{config}" in "api"40µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"32µs
And I refer to "{result}" as "storage"12µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-write"162µs
And "{result}" is not an error24µs
And I refer to "{result}" as "userStorage"19µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "test-cn05-authorized-modify={timestamp}.txt", and "authorized data"228ms
Then "{result}" is not an error28µs
And I attach "{result}" to the test output as "write-create-object-result.json"40µs
📎 Attachments:
write-create-object-result.json
View JSON (290 bytes)
{"ID":"test-cn05-authorized-modify=1782148026441.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1782148026441.txt","Size":15,"Data":["authorized data"],"Encryption":"Microsoft","EncryptionAlgorithm":"AES256","VersionID":"2026-06-22T17:07:06.6467691Z"}
Feature: CCC.Core.CN05.AR02 - Block Unauthorized Administrative Access
Scenario: Service prevents administrative action (creating a new bucket) by user with no access @CCC.Core @CCC.Core.CN05 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Destructive @Behavioural @object-storage
Given a cloud api for "{config}" in "api"31µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"39µs
And I refer to "{result}" as "storage"20µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-no-access"46µs
And "{result}" is not an error24µs
And I refer to "{result}" as "userStorage"21µs
When I call "{userStorage}" with "CreateBucket" using argument "test-cn05-unauthorized-admin-container"39ms
Then "{result}" is an error28µs
And I attach "{result}" to the test output as "no-admin-create-bucket-error.txt"31µs
📎 Attachments:
no-admin-create-bucket-error.txt
View Content (783 bytes)
failed to create container: failed to create container test-cn05-unauthorized-admin-container: PUT https://avmstor20260616.blob.core.windows.net/test-cn05-unauthorized-admin-container
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation.
ERROR CODE: AuthorizationFailure
--------------------------------------------------------------------------------
AuthorizationFailureThis request is not authorized to perform this operation.
RequestId:dae99381-801e-0025-0169-028065000000
Time:2026-06-22T17:07:06.6922274Z
--------------------------------------------------------------------------------
Scenario: Service prevents administrative action (creating a new bucket) by user with read-only access @CCC.Core @CCC.Core.CN05 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Destructive @Behavioural @object-storage
Given a cloud api for "{config}" in "api"42µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"37µs
And I refer to "{result}" as "storage"20µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-read"238µs
And "{result}" is not an error29µs
And I refer to "{result}" as "userStorage"22µs
When I call "{userStorage}" with "CreateBucket" using argument "test-cn05-read-only-create-container"207ms
Then "{result}" is an error35µs
And I attach "{result}" to the test output as "read-only-create-bucket-error.txt"37µs
📎 Attachments:
read-only-create-bucket-error.txt
View Content (779 bytes)
failed to create container: failed to create container test-cn05-read-only-create-container: PUT https://avmstor20260616.blob.core.windows.net/test-cn05-read-only-create-container
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation.
ERROR CODE: AuthorizationFailure
--------------------------------------------------------------------------------
AuthorizationFailureThis request is not authorized to perform this operation.
RequestId:dae99443-801e-0025-2c69-028065000000
Time:2026-06-22T17:07:06.9007773Z
--------------------------------------------------------------------------------
Scenario: Service allows administrative action (creating a new bucket) by user with admin access @CCC.Core @CCC.Core.CN05 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural @object-storage
Given a cloud api for "{config}" in "api"71µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"58µs
And I refer to "{result}" as "storage"36µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-admin"342µs
And "{result}" is not an error26µs
And I refer to "{result}" as "userStorage"19µs
When I call "{userStorage}" with "CreateBucket" using argument "test-cn05-authorized-admin-container"328ms
Then "{result}" is not an error46µs
And I attach "{result}" to the test output as "admin-create-bucket-result.json"62µs
And I call "{storage}" with "DeleteBucket" using argument "test-cn05-authorized-admin-container"462ms
📎 Attachments:
admin-create-bucket-result.json
View JSON (110 bytes)
{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"}
Feature: CCC.Core.CN06.AR02 - Child Resource Location Compliance
Scenario: Child resource region compliance @CCC.Core @CCC.Core.CN06 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural @NotTestable @object-storage
Given a cloud api for "{config}" in "api"51µs
Then no-op required28µs
Feature: CCC.Core.CN08.AR01 - Data Replication and Redundancy
Scenario: Bucket data is replicated to physically separate locations @CCC.Core @CCC.Core.CN08 @PerService @tlp-amber @tlp-green @tlp-red @Behavioural @object-storage
Given a cloud api for "{config}" in "api"43µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"36µs
And I refer to "{result}" as "storage"25µs
When I call "{storage}" with "GetReplicationStatus" using argument "{resource-name}"344ms
And I refer to "{result}" as "replicationStatus"29µs
And I refer to "{replicationStatus.Locations}" as "locations"20µs
And I attach "{replicationStatus}" to the test output as "Replication Status"79µs
Then "{locations}" is an array of objects with length "2"31µs
expected length 2, got 1
And "{permitted-regions}" is an array of objects with at least the following contents22µs
value
{locations[0]}
And "{permitted-regions}" is an array of objects with at least the following contents16µs
value
{locations[1]}
📎 Attachments:
Replication Status
View JSON (78 bytes)
{"Locations":[{"value":"westus2"}],"Status":"Disabled","SyncStatus":"Unknown"}
Feature: CCC.Core.CN08.AR02 - Replication Status Visibility
Scenario: Replication status can be retrieved for monitoring @CCC.Core @CCC.Core.CN08 @PerService @tlp-amber @tlp-green @tlp-red @Behavioural @object-storage
Given a cloud api for "{config}" in "api"50µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"31µs
And I refer to "{result}" as "storage"38µs
When I call "{storage}" with "GetReplicationStatus" using argument "{resource-name}"227ms
And I refer to "{result}" as "replicationStatus"31µs
And I attach "{replicationStatus}" to the test output as "Replication Status"40µs
And I refer to "{replicationStatus.Locations}" as "locations"24µs
Then "{locations}" is an array of objects with at least the following contents81µs
value
{replication-locations[0]}
{replication-locations[1]}
expected row not found: map[value:{replication-locations[0]}]
📎 Attachments:
Replication Status
View JSON (78 bytes)
{"Locations":[{"value":"westus2"}],"Status":"Disabled","SyncStatus":"Unknown"}
Feature: CCC.ObjStor.CN01.AR01
Scenario: Service prevents reading bucket with no access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"72µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"57µs
And I refer to "{result}" as "storage"50µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-no-access"65µs
And "{result}" is not an error45µs
And I refer to "{result}" as "userStorage"35µs
When I call "{userStorage}" with "ListObjects" using argument "{resource-name}"40ms
Then "{result}" is an error28µs
And I attach "{result}" to the test output as "no-access-list-error.txt"31µs
📎 Attachments:
no-access-list-error.txt
View Content (769 bytes)
failed to list blobs: GET https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
RequestId:dae999bf-801e-0025-3469-028065000000
Time:2026-06-22T17:07:08.3117685Z
--------------------------------------------------------------------------------
Scenario: Service allows reading bucket with read access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"41µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"39µs
And I refer to "{result}" as "storage"21µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-read"44µs
And "{result}" is not an error17µs
And I attach "{result}" to the test output as "read-storage-service.json"43µs
And I refer to "{result}" as "userStorage"25µs
When I call "{userStorage}" with "ListObjects" using argument "{resource-name}"213ms
Then "{result}" is not an error24µs
And I attach "{result}" to the test output as "read-list-objects-result.json"298µs
📎 Attachments:
read-storage-service.json
View JSON (2 bytes)
{}
read-list-objects-result.json
View JSON (55482 bytes)
[{"ID":"admin-protected-object=1781606736668.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781606736668.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781689160115.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781689160115.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781689627409.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781689627409.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781690469899.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781690469899.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781693010070.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781693010070.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781698996608.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781698996608.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781700399336.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781700399336.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781701913801.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781701913801.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781711296041.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781711296041.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781796496393.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781796496393.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781797531511.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781797531511.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1781875925634.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1781875925634.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1782126732985.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1782126732985.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"admin-protected-object=1782147991095.txt","BucketID":"ccc-avm-test-container-20260616","Name":"admin-protected-object=1782147991095.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-read-probe.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-read-probe.txt","Size":44,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781606756901919062.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781606756901919062.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781689180325556333.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781689180325556333.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781689646606657708.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781689646606657708.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781690490101094375.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781690490101094375.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781693030213770469.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781693030213770469.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781699017109630675.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781699017109630675.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781700420930256741.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781700420930256741.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781701935767543640.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781701935767543640.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781711317357478279.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781711317357478279.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781796516492972253.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781796516492972253.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781797550152569277.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781797550152569277.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1781875945866792452.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1781875945866792452.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1782126753357484851.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1782126753357484851.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"cfi-trigger-data-write-1782148011937341819.txt","BucketID":"ccc-avm-test-container-20260616","Name":"cfi-trigger-data-write-1782148011937341819.txt","Size":30,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781606734291.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781606734291.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781689158039.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781689158039.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781689625680.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781689625680.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781690467801.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781690467801.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781693007830.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781693007830.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781698994524.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781698994524.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781700396936.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781700396936.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781701911274.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781701911274.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781711293585.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781711293585.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781796494295.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781796494295.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781797529842.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781797529842.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1781875923432.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1781875923432.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1782126730793.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1782126730793.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"immediate-delete-test=1782147989043.txt","BucketID":"ccc-avm-test-container-20260616","Name":"immediate-delete-test=1782147989043.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781606742728.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781606742728.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781689166760.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781689166760.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781689632900.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781689632900.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781690476119.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781690476119.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781693017127.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781693017127.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781699003343.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781699003343.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781700407105.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781700407105.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781701921808.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781701921808.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781711303565.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781711303565.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781796502761.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781796502761.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781797536913.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781797536913.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1781875932679.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1781875932679.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1782126739882.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1782126739882.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"list-deleted-versions-object=1782147997820.txt","BucketID":"ccc-avm-test-container-20260616","Name":"list-deleted-versions-object=1782147997820.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781606737471.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781606737471.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781693010909.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781693010909.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781698997439.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781698997439.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781700400210.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781700400210.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781701914693.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781701914693.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781711296938.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781711296938.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781796497157.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781796497157.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781797532137.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781797532137.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1781875926529.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1781875926529.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1782126733843.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1782126733843.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"modify-test-object=1782147991989.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1782147991989.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781606736601.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781606736601.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781693009949.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781693009949.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781698996549.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781698996549.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781700399175.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781700399175.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781701913582.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781701913582.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781711295884.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781711295884.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781796496233.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781796496233.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781797531433.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781797531433.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1781875925569.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1781875925569.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1782126732894.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1782126732894.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"protected-object=1782147991011.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1782147991011.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781606737571.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781606737571.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781689160996.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781689160996.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781689628123.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781689628123.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781690470702.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781690470702.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781693011078.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781693011078.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781698997556.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781698997556.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781700400453.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781700400453.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781701914931.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781701914931.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781711297179.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781711297179.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781796497254.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781796497254.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781797532231.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781797532231.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1781875926622.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1781875926622.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1782126734012.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1782126734012.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"readable-protected-object=1782147992153.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1782147992153.txt","Size":13,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781606741548.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781606741548.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781689165511.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781689165511.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781689631883.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781689631883.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781690474964.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781690474964.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781693015868.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781693015868.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781699002161.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781699002161.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781700405726.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781700405726.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781701920476.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781701920476.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781711302198.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781711302198.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781796501597.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781796501597.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781797535913.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781797535913.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1781875931389.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1781875931389.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1782126738666.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1782126738666.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"recover-deleted-object=1782147996632.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1782147996632.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781606735411.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781606735411.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781689158852.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781689158852.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781689626367.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781689626367.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781690468647.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781690468647.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781693008672.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781693008672.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781698995312.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781698995312.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781700397816.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781700397816.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781701912158.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781701912158.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781711294524.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781711294524.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781796495075.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781796495075.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781797530470.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781797530470.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1781875924280.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1781875924280.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1782126731593.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1782126731593.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"retention-period-test=1782147989824.txt","BucketID":"ccc-avm-test-container-20260616","Name":"retention-period-test=1782147989824.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781606726938.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781606726938.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781693000654.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781693000654.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781698987116.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781698987116.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781700386749.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781700386749.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781701901730.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781701901730.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781711284428.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781711284428.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781796487087.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781796487087.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781797523739.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781797523739.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1781875916109.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1781875916109.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1782126723815.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1782126723815.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1782147981053.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1782147981053.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-cn05-authorized-modify=1782148026441.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-cn05-authorized-modify=1782148026441.txt","Size":15,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781606725969.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781606725969.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781689150628.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781689150628.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781689619957.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781689619957.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781690461262.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781690461262.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781692999914.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781692999914.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781698986341.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781698986341.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781700385676.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781700385676.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781701900614.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781701900614.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781711283329.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781711283329.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781796486362.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781796486362.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781797523087.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781797523087.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1781875915137.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1781875915137.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1782126722825.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1782126722825.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1782147979951.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1782147979951.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-encryption-check=1782148025732.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-encryption-check=1782148025732.txt","Size":20,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781606729380.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781606729380.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781606729803.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781606729803.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781606730807.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781606730807.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781606731292.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781606731292.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689153489.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689153489.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689153919.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689153919.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689154496.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689154496.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689154936.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689154936.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689621619.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689621619.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689621998.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689621998.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689622547.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689622547.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781689622923.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781689622923.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781690463400.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781690463400.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781690463832.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781690463832.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781690464506.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781690464506.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781690464931.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781690464931.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781693002224.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781693002224.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781693002692.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781693002692.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781693003877.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781693003877.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781693004473.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781693004473.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781698989776.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781698989776.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781698990208.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781698990208.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781698991199.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781698991199.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781698991667.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781698991667.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781700389625.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781700389625.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781700390139.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781700390139.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781700391805.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781700391805.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781700392673.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781700392673.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781701904914.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781701904914.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781701905436.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781701905436.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781701906971.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781701906971.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781701907572.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781701907572.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781711287121.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781711287121.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781711287640.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781711287640.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781711289015.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781711289015.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781711289626.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781711289626.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781796489325.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781796489325.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781796489747.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781796489747.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781796490689.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781796490689.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781796491140.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781796491140.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781797525651.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781797525651.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781797526005.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781797526005.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781797526863.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781797526863.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781797527245.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781797527245.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781875918303.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781875918303.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781875918753.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781875918753.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781875919797.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781875919797.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1781875920292.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1781875920292.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782126725796.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782126725796.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782126726285.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782126726285.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782126727312.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782126727312.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782126727833.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782126727833.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782147983714.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782147983714.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782147984133.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782147984133.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782147985313.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782147985313.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-object=1782147985786.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782147985786.txt","Size":9,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781606734201.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781606734201.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781693007623.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781693007623.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781698994437.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781698994437.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781700396656.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781700396656.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781701911038.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781701911038.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781711293347.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781711293347.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781796494198.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781796494198.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781797529753.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781797529753.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1781875923340.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1781875923340.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1782126730707.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1782126730707.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-retention-object=1782147988908.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1782147988908.txt","Size":14,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781606730768.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781606730768.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781693003819.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781693003819.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781698991163.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781698991163.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781700391723.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781700391723.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781701906888.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781701906888.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781711288929.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781711288929.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781796490653.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781796490653.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781797526826.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781797526826.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1781875919763.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1781875919763.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1782126727273.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1782126727273.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"test-write-object=1782147985264.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1782147985264.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781606738398.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781606738398.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781606739580.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781606739580.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781689162248.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781689162248.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781689163460.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781689163460.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781689629182.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781689629182.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781689630204.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781689630204.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781690471896.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781690471896.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781690473042.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781690473042.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781693012478.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781693012478.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781693013738.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781693013738.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781698998966.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781698998966.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781699000202.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781699000202.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781700401862.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781700401862.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781700403185.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781700403185.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781701916671.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781701916671.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781701918136.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781701918136.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781711298615.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781711298615.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781711299959.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781711299959.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781796498502.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781796498502.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781796499663.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781796499663.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781797533322.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781797533322.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781797534282.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781797534282.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781875927991.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781875927991.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1781875929287.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1781875929287.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1782126735436.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1782126735436.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1782126736631.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1782126736631.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1782147993423.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1782147993423.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"version-test-object=1782147994618.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1782147994618.txt","Size":16,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""},{"ID":"versioned-object.txt","BucketID":"ccc-avm-test-container-20260616","Name":"versioned-object.txt","Size":12,"Data":null,"Encryption":"","EncryptionAlgorithm":"","VersionID":""}]
Feature: CCC.ObjStor.CN01.AR02
Scenario: Service prevents reading object with no access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"72µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"63µs
And I refer to "{result}" as "storage"36µs
And I call "{storage}" with "CreateObject" using arguments "{resource-name}", "test-object={timestamp}.txt", and "test content"525ms
And "{result}" is not an error34µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-no-access"53µs
And "{result}" is not an error19µs
And I refer to "{result}" as "userStorage"15µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "test-object={timestamp}.txt"43ms
Then "{result}" is an error27µs
And I attach "{result}" to the test output as "no-access-read-object-error.txt"33µs
📎 Attachments:
no-access-read-object-error.txt
View Content (832 bytes)
failed to download blob test-object=1782148028546.txt: GET https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/test-object=1782148028546.txt
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
RequestId:dae99d18-801e-0025-1969-028065000000
Time:2026-06-22T17:07:09.0973608Z
--------------------------------------------------------------------------------
Scenario: Service allows reading object with read access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"33µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"40µs
And I refer to "{result}" as "storage"23µs
And I call "{storage}" with "CreateObject" using arguments "{resource-name}", "test-object={timestamp}.txt", and "test content"527ms
And "{result}" is not an error35µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-read"58µs
And "{result}" is not an error19µs
And I attach "{result}" to the test output as "read-storage-service.json"46µs
And I refer to "{result}" as "userStorage"16µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "test-object={timestamp}.txt"43ms
Then "{result}" is not an error29µs
And I attach "{result}" to the test output as "read-read-object-result.json"45µs
📎 Attachments:
read-storage-service.json
View JSON (2 bytes)
{}
read-read-object-result.json
View JSON (212 bytes)
{"ID":"test-object=1782148029116.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-object=1782148029116.txt","Size":12,"Data":["test content"],"Encryption":"","EncryptionAlgorithm":"","VersionID":""}
Feature: CCC.ObjStor.CN01.AR03
Scenario: Service prevents creating bucket with no access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"34µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"37µs
And I refer to "{result}" as "storage"20µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-no-access"49µs
And "{result}" is not an error28µs
And I refer to "{result}" as "userStorage"26µs
When I call "{userStorage}" with "CreateBucket" using argument "test-bucket-no-access"55ms
Then "{result}" is an error42µs
And I attach "{result}" to the test output as "no-access-create-bucket-error.txt"46µs
📎 Attachments:
no-access-create-bucket-error.txt
View Content (749 bytes)
failed to create container: failed to create container test-bucket-no-access: PUT https://avmstor20260616.blob.core.windows.net/test-bucket-no-access
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation.
ERROR CODE: AuthorizationFailure
--------------------------------------------------------------------------------
AuthorizationFailureThis request is not authorized to perform this operation.
RequestId:dae99fc8-801e-0025-6869-028065000000
Time:2026-06-22T17:07:09.7247987Z
--------------------------------------------------------------------------------
Scenario: Service allows creating bucket with write access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"30µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"29µs
And I refer to "{result}" as "storage"13µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-write"54µs
And "{result}" is not an error18µs
And I attach "{result}" to the test output as "write-storage-service.json"38µs
And I refer to "{result}" as "userStorage"21µs
When I call "{userStorage}" with "CreateBucket" using argument "test-bucket-write"63ms
Then "{result}" is not an error38µs
And I attach "{result}" to the test output as "write-create-bucket-result.json"45µs
And I call "{storage}" with "DeleteBucket" using argument "{result.ID}"470ms
📎 Attachments:
write-storage-service.json
View JSON (2 bytes)
{}
write-create-bucket-result.json
View JSON (72 bytes)
{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"}
Feature: CCC.ObjStor.CN01.AR04
Scenario: Service prevents writing object with read-only access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"141µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"52µs
And I refer to "{result}" as "storage"32µs
And "{result}" is not an error53µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-read"79µs
And "{result}" is not an error40µs
And I refer to "{result}" as "userStorage"37µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "test-write-object={timestamp}.txt", and "test content"43ms
Then "{result}" is an error28µs
And I attach "{result}" to the test output as "read-create-object-error.txt"30µs
📎 Attachments:
read-create-object-error.txt
View Content (842 bytes)
failed to upload blob test-write-object=1782148030278.txt: PUT https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/test-write-object=1782148030278.txt
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
RequestId:dae9a352-801e-0025-6c69-028065000000
Time:2026-06-22T17:07:10.3048886Z
--------------------------------------------------------------------------------
Scenario: Service allows writing object with write access @CCC.ObjStor @CCC.ObjStor.CN01 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"31µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"42µs
And I refer to "{result}" as "storage"23µs
And "{result}" is not an error27µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-write"43µs
And "{result}" is not an error26µs
And I attach "{result}" to the test output as "write-storage-service.json"36µs
And I refer to "{result}" as "userStorage"25µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "test-write-object={timestamp}.txt", and "test content"50ms
Then "{result}" is not an error25µs
And I attach "{result}" to the test output as "write-create-object-result.json"40µs
📎 Attachments:
write-storage-service.json
View JSON (2 bytes)
{}
write-create-object-result.json
View JSON (267 bytes)
{"ID":"test-write-object=1782148030324.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-write-object=1782148030324.txt","Size":12,"Data":["test content"],"Encryption":"Microsoft","EncryptionAlgorithm":"AES256","VersionID":"2026-06-22T17:07:10.3488466Z"}
Feature: CCC.ObjStor.CN02.AR01 - Uniform Bucket-Level Access (Consistent Allow)
Scenario: Service enforces uniform bucket-level access by rejecting object-level permissions @CCC.ObjStor @CCC.ObjStor.CN02 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"30µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"42µs
And I refer to "{result}" as "storage"22µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "test-object={timestamp}.txt", and "test data"465ms
Then "{result}" is not an error30µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-read"48µs
And "{result}" is not an error28µs
And I refer to "{result}" as "userStorage"16µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "test-object={timestamp}.txt"45ms
Then "{result}" is not an error28µs
When I call "{storage}" with "SetObjectPermission" using arguments "{resource-name}", "test-object={timestamp}.txt", and "none"57µs
Then "{result}" is an error19µs
And I attach "{result}" to the test output as "set-object-permission-error.txt"31µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "test-object={timestamp}.txt"57ms
Then "{result}" is not an error31µs
📎 Attachments:
set-object-permission-error.txt
View Content (111 bytes)
azure Blob Storage does not support object-level permissions - uniform bucket-level access is enforced via RBAC
Feature: CCC.ObjStor.CN02.AR02 - Uniform Bucket-Level Access (Consistent Deny)
Scenario: Service enforces uniform bucket-level access denial @CCC.ObjStor @CCC.ObjStor.CN02 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"34µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"43µs
And I refer to "{result}" as "storage"36µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "test-object={timestamp}.txt", and "test data"452ms
Then "{result}" is not an error37µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-no-access"57µs
And "{result}" is not an error20µs
And I refer to "{result}" as "userStorage"21µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "test-object={timestamp}.txt"39ms
Then "{result}" is an error28µs
When I call "{storage}" with "SetObjectPermission" using arguments "{resource-name}", "test-object={timestamp}.txt", and "read"43µs
Then "{result}" is an error16µs
And I attach "{result}" to the test output as "set-object-permission-error.txt"29µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "test-object={timestamp}.txt"39ms
Then "{result}" is an error39µs
📎 Attachments:
set-object-permission-error.txt
View Content (111 bytes)
azure Blob Storage does not support object-level permissions - uniform bucket-level access is enforced via RBAC
Feature: CCC.ObjStor.CN03.AR01 - Bucket Soft Delete and Recovery
Scenario: Service supports bucket soft delete and recovery @CCC.ObjStor @CCC.ObjStor.CN03 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"49µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"41µs
And I refer to "{result}" as "storage"25µs
When I call "{storage}" with "CreateBucket" using argument "ccc-test-soft-delete"500ms
Then "{result}" is not an error26µs
And I refer to "{result}" as "testBucket"26µs
And I attach "{result}" to the test output as "created-bucket.json"33µs
When I call "{storage}" with "DeleteBucket" using argument "ccc-test-soft-delete"466ms
Then "{result}" is not an error28µs
When I call "{storage}" with "ListDeletedBuckets"496ms
Then "{result}" is not an error24µs
And I attach "{result}" to the test output as "deleted-buckets.json"70µs
And "{result}" is an array of objects with length "1"30µs
expected length 1, got 39
When I call "{storage}" with "RestoreBucket" using argument "ccc-test-soft-delete"21µs
Then "{result}" is not an error23µs
When I call "{storage}" with "ListBuckets"18µs
Then "{result}" is not an error15µs
And I attach "{result}" to the test output as "restored-buckets.json"16µs
When I call "{storage}" with "DeleteBucket" using argument "ccc-test-soft-delete"17µs
Then "{result}" is not an error17µs
📎 Attachments:
created-bucket.json
View JSON (78 bytes)
{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"}
deleted-buckets.json
View JSON (3394 bytes)
[{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"ccc-test-soft-delete","Name":"ccc-test-soft-delete","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-bucket-write","Name":"test-bucket-write","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"},{"ID":"test-cn05-authorized-admin-container","Name":"test-cn05-authorized-admin-container","Region":"westus2"}]
Feature: CCC.ObjStor.CN03.AR02 - Immutable Bucket Retention Policy
Scenario: Service prevents modification of locked retention policy @CCC.ObjStor @CCC.ObjStor.CN03 @PerService @object-storage @tlp-amber @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"45µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"34µs
And I refer to "{result}" as "storage"14µs
When I call "{storage}" with "GetBucketRetentionDurationDays" using argument "{resource-name}"450ms
Then "{result}" is not an error56µs
And I refer to "{result}" as "originalRetention"18µs
And I attach "{result}" to the test output as "original-retention-days.txt"39µs
And "{result}" should be greater than "0"41µs
When I call "{storage}" with "SetBucketRetentionDurationDays" using arguments "{resource-name}" and "1"1s
Then "{result}" is an error42µs
expected {result} to be an error, got
And I attach "{result}" to the test output as "set-retention-error.txt"23µs
When I call "{storage}" with "GetBucketRetentionDurationDays" using argument "{resource-name}"17µs
Then "{result}" is not an error16µs
And "{result}" should be greater than "0"17µs
📎 Attachments:
original-retention-days.txt
View JSON (1 bytes)
2
Feature: CCC.ObjStor.CN04.AR01
Scenario: Service applies default retention policy to newly uploaded object @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"45µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"39µs
And I refer to "{result}" as "storage"24µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-write"36µs
And "{result}" is not an error18µs
And I refer to "{result}" as "userStorage"15µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "test-retention-object={timestamp}.txt", and "protected data"112ms
And I attach "{result}" to the test output as "uploaded-object.json"51µs
And I call "{userStorage}" with "GetObjectRetentionDurationDays" using arguments "{resource-name}" and "test-retention-object={timestamp}.txt"81ms
Then "{result}" should be greater than "1"39µs
📎 Attachments:
uploaded-object.json
View JSON (277 bytes)
{"ID":"test-retention-object=1782148034514.txt","BucketID":"ccc-avm-test-container-20260616","Name":"test-retention-object=1782148034514.txt","Size":14,"Data":["protected data"],"Encryption":"Microsoft","EncryptionAlgorithm":"AES256","VersionID":"2026-06-22T17:07:14.5377104Z"}
Scenario: Service enforces retention policy on newly created objects @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"43µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"34µs
And I refer to "{result}" as "storage"24µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "immediate-delete-test={timestamp}.txt", and "test content"453ms
Then "{result}" is not an error31µs
When I call "{storage}" with "DeleteObject" using arguments "{resource-name}" and "immediate-delete-test={timestamp}.txt"442ms
Then "{result}" is an error39µs
And I attach "{result}" to the test output as "immediate-delete-error.txt"29µs
📎 Attachments:
immediate-delete-error.txt
View Content (827 bytes)
failed to delete blob immediate-delete-test=1782148034708.txt: DELETE https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/immediate-delete-test=1782148034708.txt
--------------------------------------------------------------------------------
RESPONSE 409: 409 This operation is not permitted as the blob is immutable due to a policy.
ERROR CODE: BlobImmutableDueToPolicy
--------------------------------------------------------------------------------
BlobImmutableDueToPolicyThis operation is not permitted as the blob is immutable due to a policy.
RequestId:dae9bcbd-801e-0025-3c69-028065000000
Time:2026-06-22T17:07:15.5869724Z
--------------------------------------------------------------------------------
Scenario: Service validates retention period meets minimum requirements @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"69µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"61µs
And I refer to "{result}" as "storage"41µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "retention-period-test={timestamp}.txt", and "compliance data"471ms
And I call "{storage}" with "GetObjectRetentionDurationDays" using arguments "{resource-name}" and "retention-period-test={timestamp}.txt"868ms
Then "{result}" should be greater than "1"29µs
And I attach "{result}" to the test output as "retention-period-days.json"38µs
📎 Attachments:
retention-period-days.json
View JSON (1 bytes)
2
Feature: CCC.ObjStor.CN04.AR02
Scenario: Service prevents object deletion by write user during retention period @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"37µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"39µs
And I refer to "{result}" as "storage"23µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-write"43µs
And "{result}" is not an error29µs
And I refer to "{result}" as "userStorage"22µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "protected-object={timestamp}.txt", and "immutable data"49ms
Then "{result}" is not an error31µs
And I attach "{result}" to the test output as "protected-object.json"50µs
When I call "{userStorage}" with "DeleteObject" using arguments "{resource-name}" and "protected-object={timestamp}.txt"41ms
Then "{result}" is an error34µs
And I attach "{result}" to the test output as "delete-protected-error.txt"31µs
And "{result}" should contain one of "retention, locked, immutable, protected"35µs
📎 Attachments:
protected-object.json
View JSON (267 bytes)
{"ID":"protected-object=1782148036947.txt","BucketID":"ccc-avm-test-container-20260616","Name":"protected-object=1782148036947.txt","Size":14,"Data":["immutable data"],"Encryption":"Microsoft","EncryptionAlgorithm":"AES256","VersionID":"2026-06-22T17:07:16.9712798Z"}
delete-protected-error.txt
View Content (817 bytes)
failed to delete blob protected-object=1782148036947.txt: DELETE https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/protected-object=1782148036947.txt
--------------------------------------------------------------------------------
RESPONSE 409: 409 This operation is not permitted as the blob is immutable due to a policy.
ERROR CODE: BlobImmutableDueToPolicy
--------------------------------------------------------------------------------
BlobImmutableDueToPolicyThis operation is not permitted as the blob is immutable due to a policy.
RequestId:dae9c43b-801e-0025-3769-028065000000
Time:2026-06-22T17:07:17.0193497Z
--------------------------------------------------------------------------------
Scenario: Service prevents object deletion by admin user during retention period @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"44µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"44µs
And I refer to "{result}" as "storage"25µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "admin-protected-object={timestamp}.txt", and "compliance data"492ms
Then "{result}" is not an error28µs
When I call "{storage}" with "DeleteObject" using arguments "{resource-name}" and "admin-protected-object={timestamp}.txt"448ms
Then "{result}" is an error33µs
And I attach "{result}" to the test output as "admin-delete-protected-error.txt"40µs
📎 Attachments:
admin-delete-protected-error.txt
View Content (829 bytes)
failed to delete blob admin-protected-object=1782148037038.txt: DELETE https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/admin-protected-object=1782148037038.txt
--------------------------------------------------------------------------------
RESPONSE 409: 409 This operation is not permitted as the blob is immutable due to a policy.
ERROR CODE: BlobImmutableDueToPolicy
--------------------------------------------------------------------------------
BlobImmutableDueToPolicyThis operation is not permitted as the blob is immutable due to a policy.
RequestId:dae9cbb8-801e-0025-6169-028065000000
Time:2026-06-22T17:07:17.9610506Z
--------------------------------------------------------------------------------
Scenario: Service prevents object modification during retention period @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"48µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"42µs
And I refer to "{result}" as "storage"27µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-write"49µs
And "{result}" is not an error18µs
And I refer to "{result}" as "userStorage"31µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "modify-test-object={timestamp}.txt", and "original content"62ms
Then "{result}" is not an error30µs
And I attach "{result}" to the test output as "original-object.json"60µs
When I call "{userStorage}" with "CreateObject" using arguments "{resource-name}", "modify-test-object={timestamp}.txt", and "modified content"84ms
Then "{result}" is an error41µs
expected {result} to be an error, got *objstorage.Object
And I attach "{result}" to the test output as "modify-protected-error.txt"18µs
And "{result}" should contain one of "retention, locked, immutable, protected, exists"24µs
📎 Attachments:
original-object.json
View JSON (273 bytes)
{"ID":"modify-test-object=1782148037980.txt","BucketID":"ccc-avm-test-container-20260616","Name":"modify-test-object=1782148037980.txt","Size":16,"Data":["original content"],"Encryption":"Microsoft","EncryptionAlgorithm":"AES256","VersionID":"2026-06-22T17:07:18.0058882Z"}
Scenario: Service allows object read access during retention period @CCC.ObjStor @CCC.ObjStor.CN04 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"47µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"36µs
And I refer to "{result}" as "storage"20µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "readable-protected-object={timestamp}.txt", and "readable data"468ms
Then "{result}" is not an error27µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "object-storage" and "test-user-read"46µs
And "{result}" is not an error17µs
And I refer to "{result}" as "userStorage"21µs
When I call "{userStorage}" with "ReadObject" using arguments "{resource-name}" and "readable-protected-object={timestamp}.txt"47ms
Then "{result}" is not an error44µs
And I refer to "{result}" as "readResult"16µs
And I attach "{result}" to the test output as "read-protected-object.json"36µs
And "{readResult.Name}" is "readable-protected-object={timestamp}.txt"32µs
📎 Attachments:
read-protected-object.json
View JSON (241 bytes)
{"ID":"readable-protected-object=1782148038127.txt","BucketID":"ccc-avm-test-container-20260616","Name":"readable-protected-object=1782148038127.txt","Size":13,"Data":["readable data"],"Encryption":"","EncryptionAlgorithm":"","VersionID":""}
Feature: CCC.ObjStor.CN05.AR01 - Versioning with Unique Identifiers
Scenario: Service enables versioning and objects receive unique version identifiers @CCC.ObjStor @CCC.ObjStor.CN05 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"74µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"56µs
And I refer to "{result}" as "storage"34µs
When I call "{storage}" with "IsBucketVersioningEnabled" using argument "{resource-name}"41µs
Then "{result}" is true38µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "versioned-object.txt", and "test content"902ms
And I refer to "{result}" as "createdObject"36µs
Then "{createdObject.VersionID}" is not empty37µs
And I attach "{result}" to the test output as "versioned-object.json"16µs
Feature: CCC.ObjStor.CN05.AR02 - New Version ID on Modification
Scenario: Modified objects receive new version identifiers @CCC.ObjStor @CCC.ObjStor.CN05 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"43µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"43µs
And I refer to "{result}" as "storage"19µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "version-test-object={timestamp}.txt", and "original content"462ms
And I refer to "{result.VersionID}" as "version1"29µs
And I call "{storage}" with "CreateObject" using arguments "{resource-name}", "version-test-object={timestamp}.txt", and "modified content"1s
And I refer to "{result.VersionID}" as "version2"45µs
Then "{version1}" is not equal to "{version2}"24µs
Feature: CCC.ObjStor.CN05.AR03 - Recovery of Previous Versions
Scenario: Modified objects receive new version identifiers @CCC.ObjStor @CCC.ObjStor.CN05 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"57µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"42µs
And I refer to "{result}" as "storage"27µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "version-test-object={timestamp}.txt", and "original content"468ms
And I refer to "{result.VersionID}" as "version1"33µs
And I call "{storage}" with "CreateObject" using arguments "{resource-name}", "version-test-object={timestamp}.txt", and "modified content"1s
And I refer to "{result.VersionID}" as "version2"42µs
And I call "{storage}" with "ReadObjectAtVersion" using arguments "{resource-name}", "version-test-object={timestamp}.txt", and "{version1}"479ms
And I attach "{result}" to the test output as "original-content.json"66µs
Then "{result.Data}" contains "original content"41µs
When I call "{storage}" with "ReadObjectAtVersion" using arguments "{resource-name}", "version-test-object={timestamp}.txt", and "{version2}"452ms
Then "{result.Data}" contains "modified content"40µs
expected {result.Data} to contain 'modified content', but got '[original content]'
And I attach "{result}" to the test output as "modified-content.json"20µs
📎 Attachments:
original-content.json
View JSON (232 bytes)
{"ID":"version-test-object=1782148041262.txt","BucketID":"ccc-avm-test-container-20260616","Name":"version-test-object=1782148041262.txt","Size":16,"Data":["original content"],"Encryption":"","EncryptionAlgorithm":"","VersionID":""}
Feature: CCC.ObjStor.CN05.AR04 - Retain Versions on Delete
Scenario: Deleted object data can be reloaded from previous version @CCC.ObjStor @CCC.ObjStor.CN05 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"40µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"40µs
And I refer to "{result}" as "storage"21µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "recover-deleted-object={timestamp}.txt", and "data to retain"571ms
And I refer to "{result.VersionID}" as "retainedVersionId"36µs
When I call "{storage}" with "DeleteObject" using arguments "{resource-name}" and "recover-deleted-object={timestamp}.txt"464ms
When I call "{storage}" with "ReadObjectAtVersion" using arguments "{resource-name}", "recover-deleted-object={timestamp}.txt", and "{retainedVersionId}"470ms
Then "{result.Data}" contains "data to retain"36µs
And I attach "{result}" to the test output as "recovered-deleted-version.json"49µs
📎 Attachments:
recovered-deleted-version.json
View JSON (236 bytes)
{"ID":"recover-deleted-object=1782148043673.txt","BucketID":"ccc-avm-test-container-20260616","Name":"recover-deleted-object=1782148043673.txt","Size":14,"Data":["data to retain"],"Encryption":"","EncryptionAlgorithm":"","VersionID":""}
Scenario: Deleted object version remains in version list @CCC.ObjStor @CCC.ObjStor.CN05 @PerService @object-storage @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural
Given a cloud api for "{config}" in "api"51µs
And I call "{api}" with "GetServiceAPI" using argument "object-storage"36µs
And I refer to "{result}" as "storage"16µs
When I call "{storage}" with "CreateObject" using arguments "{resource-name}", "list-deleted-versions-object={timestamp}.txt", and "versioned data"484ms
And I refer to "{result.VersionID}" as "listedVersionId"31µs
When I call "{storage}" with "DeleteObject" using arguments "{resource-name}" and "list-deleted-versions-object={timestamp}.txt"448ms
When I call "{storage}" with "ListObjectVersions" using arguments "{resource-name}" and "list-deleted-versions-object={timestamp}.txt"444ms
And "{result}" is an array of objects with at least the following contents68µs
VersionIDObjectID
{listedVersionId}list-deleted-versions-object={timestamp}.txt
And I attach "{result}" to the test output as "versions-after-delete.json"52µs
📎 Attachments:
versions-after-delete.json
View JSON (106 bytes)
[{"VersionID":"2026-06-22T17:07:25.6278060Z","ObjectID":"list-deleted-versions-object=1782148045180.txt"}]
Feature: CCC.Core.CN03.AR01 - Multi-Factor Authentication for Destructive Operations
Scenario: MFA requirement for destructive operations cannot be tested automatically @CCC.Core @CCC.Core.CN03 @PerService @tlp-amber @tlp-green @tlp-red @Behavioural @object-storage @load-balancer @virtual-machines @serverless-computing @NotTestable
Given a cloud api for "{config}" in "api"76µs
Then no-op required43µs
Feature: CCC.Core.CN04.AR01 - Log Administrative Access Attempts
Scenario: Verify admin actions are logged with identity and timestamp @CCC.Core @CCC.Core.CN04 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"51µs
And I call "{api}" with "GetServiceAPI" using argument "{service-type}"39µs
And I refer to "{result}" as "theService"22µs
Given I call "{api}" with "GetServiceAPI" using argument "logging"145µs
And I refer to "{result}" as "loggingService"23µs
When I call "{theService}" with "UpdateResourcePolicy"1s
Then "{result}" is not an error24µs
And I attach "{result}" to the test output as "Policy Update Result"45µs
And we wait for a period of "10000" ms10s
When I call "{loggingService}" with "QueryLogs" using arguments "{resource-name}", "admin", and "{20}"1s
Then "{result}" is not an error42µs
And I refer to "{result}" as "adminLogs"21µs
And I attach "{adminLogs}" to the test output as "Admin Activity Logs"82µs
Then "{adminLogs}" is an array of objects with at least the following contents41µs
result
Succeeded
expected row not found: map[result:Succeeded]
📎 Attachments:
Policy Update Result
View JSON (4 bytes)
null
Admin Activity Logs
View JSON (2 bytes)
[]
Feature: CCC.Core.CN04.AR02 - Log Data Modification Attempts
Scenario: Verify data modifications are logged with identity and timestamp @CCC.Core @CCC.Core.CN04 @PerService @tlp-amber @tlp-red @Behavioural @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"47µs
Given I call "{api}" with "GetServiceAPI" using argument "{service-type}"43µs
And I refer to "{result}" as "theService"27µs
And I call "{api}" with "GetServiceAPI" using argument "logging"34µs
And I refer to "{result}" as "loggingService"25µs
When I call "{theService}" with "TriggerDataWrite" using argument "{resource-name}"445ms
And I attach "{result}" to the test output as "Data Write Trigger Result"56µs
And we wait for a period of "10000" ms10s
Then I call "{loggingService}" with "QueryLogs" using arguments "{resource-name}", "data-write", and "{20}"678ms
And I refer to "{result}" as "dataLogs"28µs
And I attach "{dataLogs}" to the test output as "Data Write Logs"44µs
Then "{dataLogs}" is an array of objects with at least the following contents36µs
result
Succeeded
field {dataLogs} is not an array
📎 Attachments:
Data Write Trigger Result
View JSON (4 bytes)
null
Data Write Logs
View Content (1137 bytes)
Log Analytics workspace query: POST https://api.loganalytics.io/v1/workspaces/433b7b84-1ba6-4f5c-8375-6d2016f07e6a/query
--------------------------------------------------------------------------------
RESPONSE 403: 403 Forbidden
ERROR CODE: InsufficientAccessError
--------------------------------------------------------------------------------
{
  "error": {
    "message": "The provided credentials have insufficient access to perform the requested operation",
    "code": "InsufficientAccessError",
    "correlationId": "1d6ec1b1-05a4-46ca-8b12-249aba0c7cb4",
    "innererror": {
      "code": "NspValidationFailedError",
      "message": "Access to workspace 'avmlaw20260616' from '172.182.225.138' is denied. To allow access from public networks, change the workspace Networking settings or add it to a Network Security Perimeter. (workspace resource ID: /subscriptions/c1cedd8e-bf91-4d7d-a4cc-45700402a2a1/resourceGroups/avm-testing/providers/microsoft.operationalinsights/workspaces/avmlaw20260616) Please contact your administrator."
    }
  }
}
--------------------------------------------------------------------------------
Feature: CCC.Core.CN04.AR03 - Log Data Read Attempts
Scenario: Verify data read operations are logged with identity and timestamp @CCC.Core @CCC.Core.CN04 @PerService @tlp-red @Behavioural @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"35µs
Given I call "{api}" with "GetServiceAPI" using argument "{service-type}"45µs
And I refer to "{result}" as "theService"26µs
And I call "{api}" with "GetServiceAPI" using argument "logging"40µs
And I refer to "{result}" as "loggingService"18µs
When I call "{theService}" with "TriggerDataRead" using argument "{resource-name}"880ms
And I attach "{result}" to the test output as "Data Read Trigger Result"75µs
And we wait for a period of "10000" ms10s
When I call "{loggingService}" with "QueryLogs" using arguments "{resource-name}", "data-read", and "{20}"219ms
Then "{result}" is not an error50µs
expected {result} to not be an error, but got: Log Analytics workspace query: POST https://api.loganalytics.io/v1/workspaces/433b7b84-1ba6-4f5c-8375-6d2016f07e6a/query -------------------------------------------------------------------------------- RESPONSE 403: 403 Forbidden ERROR CODE: InsufficientAccessError -------------------------------------------------------------------------------- { "error": { "message": "The provided credentials have insufficient access to perform the requested operation", "code": "InsufficientAccessError", "correlationId": "a24b470c-3a4c-4fd2-be13-ecc6b6b78a59", "innererror": { "code": "NspValidationFailedError", "message": "Access to workspace 'avmlaw20260616' from '172.182.225.138' is denied. To allow access from public networks, change the workspace Networking settings or add it to a Network Security Perimeter. (workspace resource ID: /subscriptions/c1cedd8e-bf91-4d7d-a4cc-45700402a2a1/resourceGroups/avm-testing/providers/microsoft.operationalinsights/workspaces/avmlaw20260616) Please contact your administrator." } } } --------------------------------------------------------------------------------
And I refer to "{result}" as "readLogs"19µs
And I attach "{readLogs}" to the test output as "Data Read Logs"16µs
Then "{readLogs}" is an array of objects with at least the following contents13µs
result
Succeeded
📎 Attachments:
Data Read Trigger Result
View JSON (4 bytes)
null
Feature: CCC.Core.CN05.AR06 - Block All Unauthorized Requests
Scenario: Service prevents data read by user with no access @CCC.Core @CCC.Core.CN05 @PerService @tlp-amber @tlp-green @tlp-red @Destructive @Behavioural @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"36µs
And I call "{api}" with "GetServiceAPIWithIdentity" using arguments "{service-type}" and "test-user-no-access"40µs
And "{result}" is not an error32µs
And I refer to "{result}" as "userReadableService"21µs
When I call "{userReadableService}" with "TriggerDataRead" using argument "{resource-name}"57ms
Then "{result}" is an error36µs
And I attach "{result}" to the test output as "no-access-trigger-data-read-error.txt"43µs
📎 Attachments:
no-access-trigger-data-read-error.txt
View Content (836 bytes)
failed to download blob cfi-trigger-data-read-probe.txt: GET https://avmstor20260616.blob.core.windows.net/ccc-avm-test-container-20260616/cfi-trigger-data-read-probe.txt
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
RequestId:daea9dcd-801e-0025-2c69-028065000000
Time:2026-06-22T17:08:01.5710124Z
--------------------------------------------------------------------------------
Feature: CCC.Core.CN07.AR01 - Publish Enumeration Activity Events
Scenario: Enumeration event publishing cannot be tested automatically @CCC.Core @CCC.Core.CN07 @PerService @tlp-amber @tlp-red @Behavioural @NotTestable @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"78µs
Then no-op required40µs
Feature: CCC.Core.CN07.AR02 - Log Enumeration Activities
Scenario: Enumeration logging cannot be verified automatically @CCC.Core @CCC.Core.CN07 @PerService @tlp-amber @tlp-clear @tlp-green @tlp-red @Behavioural @NotTestable @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"33µs
Then no-op required22µs
Feature: CCC.Core.CN10.AR01 - Replication Destination Trust
Scenario: Replication destination trust cannot be verified automatically @CCC.Core @CCC.Core.CN10 @PerService @tlp-amber @tlp-green @tlp-red @Behavioural @NotTestable @object-storage @virtual-machines @serverless-computing
Given a cloud api for "{config}" in "api"36µs
Then no-op required24µs