diff --git a/pkg/restore/request.go b/pkg/restore/request.go index 452be4264..239d65df9 100644 --- a/pkg/restore/request.go +++ b/pkg/restore/request.go @@ -69,8 +69,9 @@ type Request struct { } type restoredItemStatus struct { - action string - itemExists bool + action string + itemExists bool + createdName string // Actual name assigned by K8s for GenerateName resources } // GetItemOperationsList returns ItemOperationsList, initializing it if necessary @@ -87,9 +88,15 @@ func (r *Request) GetItemOperationsList() *[]*itemoperation.RestoreOperation { func (r *Request) RestoredResourceList() map[string][]string { resources := map[string][]string{} for i, item := range r.RestoredItems { - entry := i.name + // Use createdName if available (GenerateName case), otherwise itemKey.name + name := i.name + if item.createdName != "" { + name = item.createdName + } + + entry := name if i.namespace != "" { - entry = fmt.Sprintf("%s/%s", i.namespace, i.name) + entry = fmt.Sprintf("%s/%s", i.namespace, name) } entry = fmt.Sprintf("%s(%s)", entry, item.action) resources[i.resource] = append(resources[i.resource], entry) diff --git a/pkg/restore/restore.go b/pkg/restore/restore.go index c8a9ab40a..52c947835 100644 --- a/pkg/restore/restore.go +++ b/pkg/restore/restore.go @@ -1514,7 +1514,11 @@ func (ctx *restoreContext) restoreItem(obj *unstructured.Unstructured, groupReso createdObj, restoreErr = resourceClient.Create(obj) if restoreErr == nil { itemExists = true - ctx.restoredItems[itemKey] = restoredItemStatus{action: ItemRestoreResultCreated, itemExists: itemExists} + ctx.restoredItems[itemKey] = restoredItemStatus{ + action: ItemRestoreResultCreated, + itemExists: itemExists, + createdName: createdObj.GetName(), + } } }