diff --git a/packages/frontend/src/components/StorageObjectBrowser.test.tsx b/packages/frontend/src/components/StorageObjectBrowser.test.tsx
index 093e420..36b64f7 100644
--- a/packages/frontend/src/components/StorageObjectBrowser.test.tsx
+++ b/packages/frontend/src/components/StorageObjectBrowser.test.tsx
@@ -99,6 +99,19 @@ test('shows an object extension instead of a generic object type', async () => {
expect(await screen.findByText('JSON file')).toBeInTheDocument()
})
+test('offers a copy action for the AWS bucket name', async () => {
+ apiMocks.listStorageObjects.mockResolvedValue({prefix: '', objects: []})
+ const queryClient = new QueryClient({defaultOptions: {queries: {retry: false}}})
+
+ render(
+
+ {}}/>
+ ,
+ )
+
+ expect(await screen.findByRole('button', {name: 'Copy Bucket name'})).toBeInTheDocument()
+})
+
test('opens the object action with copy selected', async () => {
apiMocks.listStorageObjects.mockResolvedValue({prefix: '', objects: [{
key: 'orders/order.json', name: 'order.json', type: 'object', size: 10, lastModified: null, metadata: {},
diff --git a/packages/frontend/src/components/StorageObjectBrowser.tsx b/packages/frontend/src/components/StorageObjectBrowser.tsx
index e485388..948ce0e 100644
--- a/packages/frontend/src/components/StorageObjectBrowser.tsx
+++ b/packages/frontend/src/components/StorageObjectBrowser.tsx
@@ -17,6 +17,7 @@ import type {CapabilitySchema, ObjectActionName} from '@/types/schema'
import {formatBytes, objectIconKind, objectPreviewKind} from '@/lib/format'
import {ImagePreviewModal} from '@/components/ImagePreviewModal'
import {ObjectThumbnail} from '@/components/ObjectThumbnail'
+import {CopyValueButton} from '@/components/CopyValueButton'
interface StorageObjectBrowserProps {
cloud: CloudProvider
@@ -268,7 +269,7 @@ export function StorageObjectBrowser({cloud, resource, capabilities = [], runtim
Objects
-
{resource.name}
+
{cloud === 'aws' ? {resource.name} : resource.name}
{totalFolders} folders, {totalFiles} {objectLabel}