diff --git a/pkg/services/cloudmigration/api/api.go b/pkg/services/cloudmigration/api/api.go index 0748b8e78f0..b647433e114 100644 --- a/pkg/services/cloudmigration/api/api.go +++ b/pkg/services/cloudmigration/api/api.go @@ -335,6 +335,7 @@ func (cma *CloudMigrationAPI) GetSnapshot(c *contextmodel.ReqContext) response.R dtoResults := make([]MigrateDataResponseItemDTO, len(results)) for i := 0; i < len(results); i++ { dtoResults[i] = MigrateDataResponseItemDTO{ + Name: results[i].Name, Type: MigrateDataType(results[i].Type), RefID: results[i].RefID, Status: ItemStatus(results[i].Status), diff --git a/pkg/services/cloudmigration/api/dtos.go b/pkg/services/cloudmigration/api/dtos.go index 270eab0952f..f301dea4de7 100644 --- a/pkg/services/cloudmigration/api/dtos.go +++ b/pkg/services/cloudmigration/api/dtos.go @@ -106,6 +106,7 @@ type MigrateDataResponseDTO struct { } type MigrateDataResponseItemDTO struct { + Name string `json:"name"` // required:true Type MigrateDataType `json:"type"` // required:true diff --git a/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go b/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go index 1f69d99a872..95e8a28fbad 100644 --- a/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go +++ b/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go @@ -213,6 +213,7 @@ func Test_GetSnapshotStatusFromGMS(t *testing.T) { State: cloudmigration.SnapshotStateFinished, Results: []cloudmigration.CloudMigrationResource{ { + Name: "A name", Type: cloudmigration.DatasourceDataType, RefID: "A", Status: cloudmigration.ItemStatusError, @@ -387,18 +388,21 @@ func Test_NonCoreDataSourcesHaveWarning(t *testing.T) { State: cloudmigration.SnapshotStateFinished, Results: []cloudmigration.CloudMigrationResource{ { + Name: "1 name", Type: cloudmigration.DatasourceDataType, RefID: "1", // this will be core Status: cloudmigration.ItemStatusOK, SnapshotUID: snapshotUid, }, { + Name: "2 name", Type: cloudmigration.DatasourceDataType, RefID: "2", // this will be non-core Status: cloudmigration.ItemStatusOK, SnapshotUID: snapshotUid, }, { + Name: "3 name", Type: cloudmigration.DatasourceDataType, RefID: "3", // this will be non-core with an error Status: cloudmigration.ItemStatusError, @@ -406,6 +410,7 @@ func Test_NonCoreDataSourcesHaveWarning(t *testing.T) { SnapshotUID: snapshotUid, }, { + Name: "4 name", Type: cloudmigration.DatasourceDataType, RefID: "4", // this will be deleted Status: cloudmigration.ItemStatusOK, diff --git a/pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go b/pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go index 3bc126068d9..b2841f9d9f0 100644 --- a/pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go +++ b/pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go @@ -212,13 +212,14 @@ func (s *Service) buildSnapshot(ctx context.Context, signedInUser *user.SignedIn resourcesGroupedByType := make(map[cloudmigration.MigrateDataType][]snapshot.MigrateDataRequestItemDTO, 0) for i, item := range migrationData.Items { resourcesGroupedByType[item.Type] = append(resourcesGroupedByType[item.Type], snapshot.MigrateDataRequestItemDTO{ + Name: item.Name, Type: snapshot.MigrateDataType(item.Type), RefID: item.RefID, - Name: item.Name, Data: item.Data, }) localSnapshotResource[i] = cloudmigration.CloudMigrationResource{ + Name: item.Name, Type: item.Type, RefID: item.RefID, Status: cloudmigration.ItemStatusPending, diff --git a/pkg/services/cloudmigration/model.go b/pkg/services/cloudmigration/model.go index ac899a434e2..0eb8a8d04d6 100644 --- a/pkg/services/cloudmigration/model.go +++ b/pkg/services/cloudmigration/model.go @@ -68,6 +68,7 @@ type CloudMigrationResource struct { ID int64 `xorm:"pk autoincr 'id'"` UID string `xorm:"uid"` + Name string `xorm:"name" json:"name"` Type MigrateDataType `xorm:"resource_type" json:"type"` RefID string `xorm:"resource_uid" json:"refId"` Status ItemStatus `xorm:"status" json:"status"` diff --git a/pkg/services/sqlstore/migrations/cloud_migrations.go b/pkg/services/sqlstore/migrations/cloud_migrations.go index b64eb59d69e..8b9e3a72d60 100644 --- a/pkg/services/sqlstore/migrations/cloud_migrations.go +++ b/pkg/services/sqlstore/migrations/cloud_migrations.go @@ -158,4 +158,10 @@ func addCloudMigrationsMigrations(mg *Migrator) { // -- delete the snapshot result column while still in the experimental phase mg.AddMigration("delete cloud_migration_snapshot.result column", NewRawSQLMigration("ALTER TABLE cloud_migration_snapshot DROP COLUMN result")) + + mg.AddMigration("add cloud_migration_resource.name column", NewAddColumnMigration(migrationResourceTable, &Column{ + Name: "name", + Type: DB_Text, + Nullable: true, + })) } diff --git a/public/api-merged.json b/public/api-merged.json index b3664b756c6..87416169e3a 100644 --- a/public/api-merged.json +++ b/public/api-merged.json @@ -16868,6 +16868,9 @@ "message": { "type": "string" }, + "name": { + "type": "string" + }, "refId": { "type": "string" }, diff --git a/public/openapi3.json b/public/openapi3.json index df22bf2188d..2b1c269d61e 100644 --- a/public/openapi3.json +++ b/public/openapi3.json @@ -7095,6 +7095,9 @@ "message": { "type": "string" }, + "name": { + "type": "string" + }, "refId": { "type": "string" },