CloudMigrations: Create resource dependency map to validate snapshot request (#102594)

* CloudMigrations: Create resource dependency map to validate snapshot request

* CloudMigrations: Validate resource types dependencies in create snapshot request

* CloudMigrations: Update service interface to pass parsed resource types for creation

* CloudMigrations: Conditionally append resource to snapshot if enabled

* CloudMigrations: Add /cloudmigration/resources/dependencies endpoint

* CloudMigrations: Properly filter dashboards and folders from snapshot
This commit is contained in:
Matheus Macabu
2025-04-08 17:46:25 +02:00
committed by GitHub
parent 662b635ef9
commit 3fad6183aa
18 changed files with 1064 additions and 184 deletions
+25
View File
@@ -269,6 +269,14 @@ type CreateSnapshotRequest struct {
// UID of a session
// in: path
UID string `json:"uid"`
// in:body
// required:true
Body CreateSnapshotRequestDTO `json:"body"`
}
type CreateSnapshotRequestDTO struct {
ResourceTypes []MigrateDataType `json:"resourceTypes"`
}
// swagger:response createSnapshotResponse
@@ -395,3 +403,20 @@ type CancelSnapshotParams struct {
// in: path
SnapshotUID string `json:"snapshotUid"`
}
// swagger:response resourceDependenciesResponse
type ResourceDependenciesResponse struct {
// in: body
Body ResourceDependenciesResponseDTO
}
// swagger:model ResourceDependenciesResponseDTO
type ResourceDependenciesResponseDTO struct {
ResourceDependencies []ResourceDependencyDTO `json:"resourceDependencies"`
}
// swagger:model ResourceDependencyDTO
type ResourceDependencyDTO struct {
ResourceType MigrateDataType `json:"resourceType"`
Dependencies []MigrateDataType `json:"dependencies"`
}