diff --git a/pkg/services/cloudmigration/api/dtos.go b/pkg/services/cloudmigration/api/dtos.go index a5756704fde..dd5dc577c1c 100644 --- a/pkg/services/cloudmigration/api/dtos.go +++ b/pkg/services/cloudmigration/api/dtos.go @@ -150,6 +150,7 @@ type ItemErrorCode string const ( ErrDatasourceNameConflict ItemErrorCode = "DATASOURCE_NAME_CONFLICT" ErrDatasourceInvalidURL ItemErrorCode = "DATASOURCE_INVALID_URL" + ErrDatasourceAlreadyManaged ItemErrorCode = "DATASOURCE_ALREADY_MANAGED" ErrFolderNameConflict ItemErrorCode = "FOLDER_NAME_CONFLICT" ErrDashboardAlreadyManaged ItemErrorCode = "DASHBOARD_ALREADY_MANAGED" ErrLibraryElementNameConflict ItemErrorCode = "LIBRARY_ELEMENT_NAME_CONFLICT" diff --git a/pkg/services/cloudmigration/model.go b/pkg/services/cloudmigration/model.go index 898ebecb8a7..6fb86ac9e77 100644 --- a/pkg/services/cloudmigration/model.go +++ b/pkg/services/cloudmigration/model.go @@ -107,6 +107,7 @@ type ResourceErrorCode string const ( ErrDatasourceNameConflict ResourceErrorCode = "DATASOURCE_NAME_CONFLICT" ErrDatasourceInvalidURL ResourceErrorCode = "DATASOURCE_INVALID_URL" + ErrDatasourceAlreadyManaged ResourceErrorCode = "DATASOURCE_ALREADY_MANAGED" ErrFolderNameConflict ResourceErrorCode = "FOLDER_NAME_CONFLICT" ErrDashboardAlreadyManaged ResourceErrorCode = "DASHBOARD_ALREADY_MANAGED" ErrLibraryElementNameConflict ResourceErrorCode = "LIBRARY_ELEMENT_NAME_CONFLICT" diff --git a/public/api-enterprise-spec.json b/public/api-enterprise-spec.json index e25315267c5..b76dc23ebaa 100644 --- a/public/api-enterprise-spec.json +++ b/public/api-enterprise-spec.json @@ -5774,6 +5774,7 @@ "enum": [ "DATASOURCE_NAME_CONFLICT", "DATASOURCE_INVALID_URL", + "DATASOURCE_ALREADY_MANAGED", "FOLDER_NAME_CONFLICT", "DASHBOARD_ALREADY_MANAGED", "LIBRARY_ELEMENT_NAME_CONFLICT", diff --git a/public/api-merged.json b/public/api-merged.json index 874b6708dec..0497a824ca2 100644 --- a/public/api-merged.json +++ b/public/api-merged.json @@ -17267,6 +17267,7 @@ "enum": [ "DATASOURCE_NAME_CONFLICT", "DATASOURCE_INVALID_URL", + "DATASOURCE_ALREADY_MANAGED", "FOLDER_NAME_CONFLICT", "DASHBOARD_ALREADY_MANAGED", "LIBRARY_ELEMENT_NAME_CONFLICT", diff --git a/public/app/features/migrate-to-cloud/api/endpoints.gen.ts b/public/app/features/migrate-to-cloud/api/endpoints.gen.ts index 41cf10cd5fe..feb1034ee31 100644 --- a/public/app/features/migrate-to-cloud/api/endpoints.gen.ts +++ b/public/app/features/migrate-to-cloud/api/endpoints.gen.ts @@ -167,6 +167,7 @@ export type MigrateDataResponseItemDto = { errorCode?: | 'DATASOURCE_NAME_CONFLICT' | 'DATASOURCE_INVALID_URL' + | 'DATASOURCE_ALREADY_MANAGED' | 'FOLDER_NAME_CONFLICT' | 'DASHBOARD_ALREADY_MANAGED' | 'LIBRARY_ELEMENT_NAME_CONFLICT' diff --git a/public/app/features/migrate-to-cloud/onprem/ResourceDetailsModal.tsx b/public/app/features/migrate-to-cloud/onprem/ResourceDetailsModal.tsx index de9082b4c85..830967566c3 100644 --- a/public/app/features/migrate-to-cloud/onprem/ResourceDetailsModal.tsx +++ b/public/app/features/migrate-to-cloud/onprem/ResourceDetailsModal.tsx @@ -23,6 +23,11 @@ function getTMessage(errorCode: MigrateDataResponseItemDto['errorCode']): string 'migrate-to-cloud.resource-details.error-messages.datasource-invalid-url', 'There is a data source which has an invalid URL. Provide a valid URL and try again.' ); + case 'DATASOURCE_ALREADY_MANAGED': + return t( + 'migrate-to-cloud.resource-details.error-messages.datasource-already-managed', + 'Data source is already provisioned and managed by Grafana in the cloud instance. If this is a different resource, set another UID and try again.' + ); case 'FOLDER_NAME_CONFLICT': return t( 'migrate-to-cloud.resource-details.error-messages.folder-name-conflict', diff --git a/public/locales/en-US/grafana.json b/public/locales/en-US/grafana.json index 1ac24231cee..7b5f3ad7d3d 100644 --- a/public/locales/en-US/grafana.json +++ b/public/locales/en-US/grafana.json @@ -1618,6 +1618,7 @@ "dismiss-button": "OK", "error-messages": { "dashboard-already-managed": "Dashboard is already provisioned and managed by Grafana in the cloud instance. We recommend using the provisioned dashboard going forward. If you still wish to copy the dashboard to the cloud instance, then change the dashboard ID in the dashboard JSON, save a new snapshot and upload again.", + "datasource-already-managed": "Data source is already provisioned and managed by Grafana in the cloud instance. If this is a different resource, set another UID and try again.", "datasource-invalid-url": "There is a data source which has an invalid URL. Provide a valid URL and try again.", "datasource-name-conflict": "There is a data source with the same name in the target instance. Rename one of them and try again.", "folder-name-conflict": "There is a folder with the same name in the target instance. Rename one of them and try again.", diff --git a/public/locales/pseudo-LOCALE/grafana.json b/public/locales/pseudo-LOCALE/grafana.json index 515ce44c4e4..f7d56d7f4ac 100644 --- a/public/locales/pseudo-LOCALE/grafana.json +++ b/public/locales/pseudo-LOCALE/grafana.json @@ -1618,6 +1618,7 @@ "dismiss-button": "ØĶ", "error-messages": { "dashboard-already-managed": "Đäşĥþőäřđ įş äľřęäđy přővįşįőʼnęđ äʼnđ mäʼnäģęđ þy Ğřäƒäʼnä įʼn ŧĥę čľőūđ įʼnşŧäʼnčę. Ŵę řęčőmmęʼnđ ūşįʼnģ ŧĥę přővįşįőʼnęđ đäşĥþőäřđ ģőįʼnģ ƒőřŵäřđ. Ĩƒ yőū şŧįľľ ŵįşĥ ŧő čőpy ŧĥę đäşĥþőäřđ ŧő ŧĥę čľőūđ įʼnşŧäʼnčę, ŧĥęʼn čĥäʼnģę ŧĥę đäşĥþőäřđ ĨĐ įʼn ŧĥę đäşĥþőäřđ ĴŜØŃ, şävę ä ʼnęŵ şʼnäpşĥőŧ äʼnđ ūpľőäđ äģäįʼn.", + "datasource-already-managed": "Đäŧä şőūřčę įş äľřęäđy přővįşįőʼnęđ äʼnđ mäʼnäģęđ þy Ğřäƒäʼnä įʼn ŧĥę čľőūđ įʼnşŧäʼnčę. Ĩƒ ŧĥįş įş ä đįƒƒęřęʼnŧ řęşőūřčę, şęŧ äʼnőŧĥęř ŮĨĐ äʼnđ ŧřy äģäįʼn.", "datasource-invalid-url": "Ŧĥęřę įş ä đäŧä şőūřčę ŵĥįčĥ ĥäş äʼn įʼnväľįđ ŮŖĿ. Přővįđę ä väľįđ ŮŖĿ äʼnđ ŧřy äģäįʼn.", "datasource-name-conflict": "Ŧĥęřę įş ä đäŧä şőūřčę ŵįŧĥ ŧĥę şämę ʼnämę įʼn ŧĥę ŧäřģęŧ įʼnşŧäʼnčę. Ŗęʼnämę őʼnę őƒ ŧĥęm äʼnđ ŧřy äģäįʼn.", "folder-name-conflict": "Ŧĥęřę įş ä ƒőľđęř ŵįŧĥ ŧĥę şämę ʼnämę įʼn ŧĥę ŧäřģęŧ įʼnşŧäʼnčę. Ŗęʼnämę őʼnę őƒ ŧĥęm äʼnđ ŧřy äģäįʼn.", diff --git a/public/openapi3.json b/public/openapi3.json index aae1bb28923..dede0238326 100644 --- a/public/openapi3.json +++ b/public/openapi3.json @@ -7222,6 +7222,7 @@ "enum": [ "DATASOURCE_NAME_CONFLICT", "DATASOURCE_INVALID_URL", + "DATASOURCE_ALREADY_MANAGED", "FOLDER_NAME_CONFLICT", "DASHBOARD_ALREADY_MANAGED", "LIBRARY_ELEMENT_NAME_CONFLICT",