From 58d68352300ed1a1c20886566dc945cebb031aec Mon Sep 17 00:00:00 2001
From: darsene <72250222+darsene@users.noreply.github.com>
Date: Mon, 13 Jan 2025 16:13:55 +0100
Subject: [PATCH 01/14] fix(dedicated.pcc): support email tags in user edition
(#14829)
ref: MANAGER-16639
Signed-off-by: Simon Lecoq
Co-authored-by: Simon Lecoq
---
.../users/vsphere-users/edit/vsphere-user-edit.controller.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/users/vsphere-users/edit/vsphere-user-edit.controller.js b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/users/vsphere-users/edit/vsphere-user-edit.controller.js
index a6d4e7d14ce4..e58ed9819732 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/users/vsphere-users/edit/vsphere-user-edit.controller.js
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/users/vsphere-users/edit/vsphere-user-edit.controller.js
@@ -11,7 +11,7 @@ export default class {
$onInit() {
this.user.tokenValidator = this.user.isTokenValidator;
this.originUser = this.pickUserInformationToSend();
- this.emailRegExp = /^(?:[\w-.]+@[\w-.]+\.[\w-]+)?$/;
+ this.emailRegExp = /^(?:[\w-.]+(\+[\w-.]+)*@[\w-.]+\.[\w-]+)?$/;
if (this.coreConfig.isRegion('US')) {
this.phoneRegExp = /\+1\.\d{10}/;
} else {
From 7b098658f97fb973af795b54d3f4c60fcaf7f319 Mon Sep 17 00:00:00 2001
From: darsene <72250222+darsene@users.noreply.github.com>
Date: Mon, 13 Jan 2025 16:24:53 +0100
Subject: [PATCH 02/14] feat(dedicated.pcc): update vcd migration label and
status (#14616)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ref: MANAGER-16355
Signed-off-by: David Arsène
---
.../vmware-cloud-director/translations/Messages_de_DE.json | 6 +++---
.../vmware-cloud-director/translations/Messages_en_GB.json | 4 ++--
.../vmware-cloud-director/translations/Messages_es_ES.json | 6 +++---
.../vmware-cloud-director/translations/Messages_fr_CA.json | 4 ++--
.../vmware-cloud-director/translations/Messages_fr_FR.json | 4 ++--
.../vmware-cloud-director/translations/Messages_it_IT.json | 6 +++---
.../vmware-cloud-director/translations/Messages_pl_PL.json | 4 ++--
.../vmware-cloud-director/translations/Messages_pt_PT.json | 6 +++---
8 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_de_DE.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_de_DE.json
index b81d6faaa903..83d5b298568c 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_de_DE.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_de_DE.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Besondere Vertragsbedingungen des Dienstes",
"dedicatedCloud_vmware_cloud_director_new": "Neu",
"dedicatedCloud_vmware_cloud_director_migration": "Migration",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migration bestätigt",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Besondere Bedingungen genehmigt",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Die Migration bestätigen",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Dokumentation – Migrationsprozess",
"dedicatedCloud_vmware_cloud_director_useful_links": "Nützliche Links",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Bestätigen Sie die Migration Ihres Dienstes zu Managed VCD on OVHcloud und akzeptieren Sie die besonderen Vertragsbedingungen des Dienstes.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "Die Migration Ihres Dienstes zum Managed VCD Angebot wurde registriert. Unsere Teams werden Sie bezüglich der Planung und der Modalitäten des Vorgangs kontaktieren.",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "Die Anfrage zur Migration Ihrer Dienstleistung auf das Angebot Managed VCD wurde erfolgreich durchgeführt. Unsere Teams werden Sie bezüglich der Planung und der Modalitäten des Vorgangs kontaktieren.",
"dedicatedCloud_vmware_cloud_director_validate": "Bestätigen"
-}
\ No newline at end of file
+}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_en_GB.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_en_GB.json
index b35b0a85f9a0..4a0332e0f68b 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_en_GB.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_en_GB.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Special Terms and Conditions of Service",
"dedicatedCloud_vmware_cloud_director_new": "New",
"dedicatedCloud_vmware_cloud_director_migration": "Migration",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migration confirmed",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Approved Terms and Conditions",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Confirm migration",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Documentation - Migration process",
"dedicatedCloud_vmware_cloud_director_useful_links": "Useful links",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Confirm the migration of your service to the Managed VCD on OVHcloud solution, and accept its Special Terms and Conditions of Service.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "Your service has been migrated to the Managed VCD solution. Our teams will get back to you regarding the schedule and details of the migration",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "Your service migration request to the Managed VCD solution has been processed. Our teams will get back to you regarding the schedule and details of the migration",
"dedicatedCloud_vmware_cloud_director_validate": "Confirm"
}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_es_ES.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_es_ES.json
index efff2e75cdb7..22a569b1acd1 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_es_ES.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_es_ES.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Condiciones Particulares del Servicio",
"dedicatedCloud_vmware_cloud_director_new": "Nuevo",
"dedicatedCloud_vmware_cloud_director_migration": "Migración",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migración confirmada",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Condiciones Particulares aprobadas",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Confirmar la migración",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Documentación - Proceso de migración",
"dedicatedCloud_vmware_cloud_director_useful_links": "Enlaces útiles",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Confirme la migración de su servicio hacia la solución Managed VCD on OVHcloud y acepte las Condiciones Particulares del Servicio.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La migración del servicio hacia la solución Managed VCD se ha realizado correctamente. Nuestros equipos se pondrán en contacto con usted en relación con la planificación y las modalidades de esta operación.",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La solicitud de migración de su servicio hacia la solución Managed VCD se ha registrado correctamente. Nuestros equipos se pondrán en contacto con usted en relación con la planificación y las modalidades de esta operación.",
"dedicatedCloud_vmware_cloud_director_validate": "Confirmar"
-}
\ No newline at end of file
+}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_CA.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_CA.json
index 40723f3848ab..9b9fd43d36d8 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_CA.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_CA.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Conditions particulières du service",
"dedicatedCloud_vmware_cloud_director_new": "New",
"dedicatedCloud_vmware_cloud_director_migration": "Migration",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migration confirmée",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Conditions particulières approuvées",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Valider la migration",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Documentation - Process de migration",
"dedicatedCloud_vmware_cloud_director_useful_links": "Liens utiles",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Validez la migration de votre service vers l'offre Managed VCD on OVHcloud et acceptez les conditions particulières du service.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La migration de votre service vers l'offre Managed VCD est bien prise en compte. Nos équipes reviendront vers vous concernant la planification et les modalités de l'opération.",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La demande de migration de votre service vers l'offre Managed VCD est bien prise en compte. Nos équipes reviendront vers vous concernant la planification et les modalités de l'opération.",
"dedicatedCloud_vmware_cloud_director_validate": "Valider"
}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_FR.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_FR.json
index 40723f3848ab..9b9fd43d36d8 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_FR.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_fr_FR.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Conditions particulières du service",
"dedicatedCloud_vmware_cloud_director_new": "New",
"dedicatedCloud_vmware_cloud_director_migration": "Migration",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migration confirmée",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Conditions particulières approuvées",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Valider la migration",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Documentation - Process de migration",
"dedicatedCloud_vmware_cloud_director_useful_links": "Liens utiles",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Validez la migration de votre service vers l'offre Managed VCD on OVHcloud et acceptez les conditions particulières du service.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La migration de votre service vers l'offre Managed VCD est bien prise en compte. Nos équipes reviendront vers vous concernant la planification et les modalités de l'opération.",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La demande de migration de votre service vers l'offre Managed VCD est bien prise en compte. Nos équipes reviendront vers vous concernant la planification et les modalités de l'opération.",
"dedicatedCloud_vmware_cloud_director_validate": "Valider"
}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_it_IT.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_it_IT.json
index 4a2cea1a63db..3b278ce49619 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_it_IT.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_it_IT.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Condizioni Particolari del Servizio",
"dedicatedCloud_vmware_cloud_director_new": "Nuovo",
"dedicatedCloud_vmware_cloud_director_migration": "Migrazione",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migrazione confermata",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Condizioni particolari accettate",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Confermare la migrazione",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Documentazione - Processo di migrazione",
"dedicatedCloud_vmware_cloud_director_useful_links": "Link utili",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Conferma la migrazione del tuo servizio verso la soluzione Managed VCD on OVHcloud e accetta le Condizioni Particolari del Servizio.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La migrazione del tuo servizio verso la soluzione Managed VCD è stata presa in carico. I nostri team ti informeranno sulla pianificazione e le modalità dell'operazione.",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "La richiesta di migrazione del tuo servizio verso la soluzione Managed VCD è stata presa in carico. I nostri team ti informeranno sulla pianificazione e le modalità dell'operazione.",
"dedicatedCloud_vmware_cloud_director_validate": "Confermare"
-}
\ No newline at end of file
+}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pl_PL.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pl_PL.json
index 0a0d6f4c9d11..d32b0b589469 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pl_PL.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pl_PL.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Szczegółowe warunki korzystania z usługi",
"dedicatedCloud_vmware_cloud_director_new": "Nowość",
"dedicatedCloud_vmware_cloud_director_migration": "Migracja",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migracja została potwierdzona",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Zatwierdzone szczegółowe warunki korzystania z usług",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Potwierdź migrację",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Dokumentacja - proces migracji",
"dedicatedCloud_vmware_cloud_director_useful_links": "Przydatne linki",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Potwierdź migrację Twojej usługi do oferty Managed VCD on OVHcloud i zaakceptuj szczegółowe warunki korzystania z usługi.",
"dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "Dyspozycja migracji Twojej usługi do oferty Managed VCD została przyjęta. Nasz zespół skontaktuje się z Tobą, aby ustalić kiedy i w jaki sposób zostanie przeprowadzona operacja.",
"dedicatedCloud_vmware_cloud_director_validate": "Zatwierdź"
-}
\ No newline at end of file
+}
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pt_PT.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pt_PT.json
index ddf180e6c4d3..fc9372b99fa6 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pt_PT.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dashboard/tiles/vmware-cloud-director/translations/Messages_pt_PT.json
@@ -4,11 +4,11 @@
"dedicatedCloud_vmware_cloud_director_offer_terms_and_conditions": "Condições particulares do serviço",
"dedicatedCloud_vmware_cloud_director_new": "Novo",
"dedicatedCloud_vmware_cloud_director_migration": "Migração",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Migração confirmada",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed": "Condições particulares aprovadas",
"dedicatedCloud_vmware_cloud_director_validate_migration": "Validar a migração",
"dedicatedCloud_vmware_cloud_director_migration_documentation": "Documentação - Processo de migração",
"dedicatedCloud_vmware_cloud_director_useful_links": "Ligações úteis",
"dedicatedCloud_vmware_cloud_director_validate_migration_detail": "Valide a migração do seu serviço para a oferta Managed VCD on OVHcloud e aceite as condições particulares do serviço.",
- "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "A migração do seu serviço para a oferta Managed VCD foi corretamente tomada em conta. As nossas equipas irão entrar em contacto consigo relativamente ao planeamento e às modalidades da operação.",
+ "dedicatedCloud_vmware_cloud_director_migration_confirmed_detail": "O pedido de migração do seu serviço para a oferta Managed VCD foi corretamente registado. As nossas equipas irão entrar em contacto consigo relativamente ao planeamento e às modalidades da operação.",
"dedicatedCloud_vmware_cloud_director_validate": "Validar"
-}
\ No newline at end of file
+}
From 5418a0dd42816b407ceb3a9b68d5cf3ecbdc6412 Mon Sep 17 00:00:00 2001
From: "Thibault Barske (Tibs)"
Date: Mon, 13 Jan 2025 16:26:45 +0100
Subject: [PATCH 03/14] feat: terminate nutanix cluster rebased (#14763)
ref: MANAGER-15062
Signed-off-by: Thibault Barske
---
.../confirm-terminate.constants.js | 1 +
.../service-actions.constants.js | 4 ++
.../services-actions.component.js | 2 +
.../services-actions.controller.js | 18 +++++++-
.../services-actions/services-actions.html | 10 ++---
.../subscription-tile.component.js | 2 +
.../subscription-tile.controller.js | 9 ++++
.../subscription-tile/subscription-tile.html | 4 +-
.../components/utils/billing.links.service.js | 10 ++---
.../terminate-agora-service/component.js | 1 +
.../terminate-agora-service/template.html | 1 +
.../translations/Messages_de_DE.json | 8 +++-
.../translations/Messages_en_GB.json | 8 +++-
.../translations/Messages_es_ES.json | 8 +++-
.../translations/Messages_fr_CA.json | 6 ++-
.../translations/Messages_fr_FR.json | 6 ++-
.../translations/Messages_it_IT.json | 8 +++-
.../translations/Messages_pl_PL.json | 8 +++-
.../translations/Messages_pt_PT.json | 8 +++-
.../legacy/translations/Messages_de_DE.json | 3 +-
.../legacy/translations/Messages_en_GB.json | 3 +-
.../legacy/translations/Messages_es_ES.json | 3 +-
.../legacy/translations/Messages_fr_CA.json | 1 +
.../legacy/translations/Messages_fr_FR.json | 1 +
.../legacy/translations/Messages_it_IT.json | 3 +-
.../legacy/translations/Messages_pl_PL.json | 3 +-
.../legacy/translations/Messages_pt_PT.json | 3 +-
.../terminate-agora-service/component.js | 1 +
.../terminate-agora-service/template.html | 1 +
.../translations/Messages_fr_FR.json | 4 ++
.../legacy/translations/Messages_fr_FR.json | 3 +-
.../src/dashboard/general-info/component.js | 1 +
.../src/dashboard/general-info/module.js | 2 +
.../general-info/resiliate/constant.js | 5 +++
.../dashboard/general-info/resiliate/index.js | 22 ++++++++++
.../resiliate/resiliate.module.js | 19 ++++++++
.../resiliate/resiliate.routing.js | 43 +++++++++++++++++++
.../src/dashboard/general-info/routing.js | 4 ++
.../src/dashboard/general-info/template.html | 4 +-
.../src/dashboard/nodes/node/routing.js | 28 +++++++++++-
.../nutanix/src/dashboard/nodes/routing.js | 28 +++++++++++-
.../modules/nutanix/src/dashboard/routing.js | 29 ++++++++++++-
.../translations/Messages_de_DE.json | 3 +-
.../translations/Messages_en_GB.json | 3 +-
.../translations/Messages_es_ES.json | 3 +-
.../translations/Messages_fr_CA.json | 3 +-
.../translations/Messages_fr_FR.json | 3 +-
.../translations/Messages_it_IT.json | 3 +-
.../translations/Messages_pl_PL.json | 3 +-
.../translations/Messages_pt_PT.json | 3 +-
50 files changed, 312 insertions(+), 48 deletions(-)
create mode 100644 packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/constant.js
create mode 100644 packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/index.js
create mode 100644 packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.module.js
create mode 100644 packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.routing.js
diff --git a/packages/manager/modules/billing-components/src/components/cancellation-form/confirm-terminate.constants.js b/packages/manager/modules/billing-components/src/components/cancellation-form/confirm-terminate.constants.js
index bd66bfcd498c..c13aa5809ce8 100644
--- a/packages/manager/modules/billing-components/src/components/cancellation-form/confirm-terminate.constants.js
+++ b/packages/manager/modules/billing-components/src/components/cancellation-form/confirm-terminate.constants.js
@@ -7,6 +7,7 @@ export const SERVICE_WITH_AGORA_TERMINATION = [
'vrack-services',
'okms',
'logs-account',
+ 'nutanix',
];
export const SERVICE_GROUP_WITH_AGORA_TERMINATION_REGEX = /hycu-vms-*|(logs-enterprise(-hds)?$)/;
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/service-actions.constants.js b/packages/manager/modules/billing-components/src/components/services-actions/service-actions.constants.js
index 52c7065e7bea..125869efd1f8 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/service-actions.constants.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/service-actions.constants.js
@@ -16,6 +16,7 @@ export const SERVICE_TYPE = {
VRACK_SERVICES: 'VRACK_SERVICES_RESOURCE',
VRACK: 'VRACK',
VMWARE_CLOUD_DIRECTOR_ORGANIZATION: 'VMWARE_CLOUD_DIRECTOR_ORGANIZATION',
+ NUTANIX: 'NUTANIX',
};
export const RENEW_URL = {
@@ -44,7 +45,10 @@ export const RENEW_URL = {
WE: 'https://ca.ovh.com/fr/cgi-bin/order/renew.cgi?domainChooser=',
};
+export const SERVICE_ACTIVE_STATUS = 'ACTIVE';
+
export default {
+ SERVICE_ACTIVE_STATUS,
RENEW_URL,
SERVICE_TYPE,
};
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
index 89f0133ee76b..4b087722c065 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
@@ -11,6 +11,8 @@ export default {
getCancelCommitmentLink: '&?',
getCancelResiliationLink: '&?',
getResiliationLink: '&?',
+ handleGoToResiliation: '&?',
+ isCustomResiliationHandled: '',
},
controller,
template,
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
index 86586639b505..94666b26f406 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
@@ -1,4 +1,8 @@
-import { RENEW_URL, SERVICE_TYPE } from './service-actions.constants';
+import {
+ RENEW_URL,
+ SERVICE_TYPE,
+ SERVICE_ACTIVE_STATUS,
+} from './service-actions.constants';
export default class ServicesActionsCtrl {
/* @ngInject */
@@ -10,6 +14,7 @@ export default class ServicesActionsCtrl {
coreURLBuilder,
BillingLinksService,
) {
+ this.SERVICE_ACTIVE_STATUS = SERVICE_ACTIVE_STATUS;
this.$injector = $injector;
this.$q = $q;
this.atInternet = atInternet;
@@ -26,7 +31,6 @@ export default class ServicesActionsCtrl {
}
$onInit() {
-
this.user = this.coreConfig.getUser();
this.BillingLinksService.generateAutorenewLinks(this.service, {
billingManagementAvailability: this.billingManagementAvailability,
@@ -37,6 +41,8 @@ export default class ServicesActionsCtrl {
})
.then((links) => {
this.autorenewLink = links.autorenewLink;
+ this.billingManagementAvailabilityAndHaveAutorenewLink =
+ links.billingManagementAvailabilityAndHaveAutorenewLink;
this.commitmentLink = links.commitmentLink;
this.cancelCommitmentLink = links.cancelCommitmentLink;
this.cancelResiliationLink = links.cancelResiliationLink;
@@ -95,4 +101,12 @@ export default class ServicesActionsCtrl {
this.atInternet.trackClick({ name, type: 'action' });
}
}
+
+ handleClickResiliate() {
+ this.trackAction('go-to-resiliate');
+
+ if (this.handleGoToResiliation) {
+ this.handleGoToResiliation();
+ }
+ }
}
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.html b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.html
index 4bee43f329d0..71c838a5f266 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.html
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.html
@@ -2,7 +2,7 @@
aria-label="{{:: 'billing_services_actions_menu_label' | translate }}"
compact
data-placement="end"
- data-ng-if="!$ctrl.isLoading && ($ctrl.autorenewLink || $ctrl.service.canBeEngaged || $ctrl.service.hasPendingEngagement)"
+ data-ng-if="!$ctrl.isLoading && (($ctrl.billingManagementAvailabilityAndHaveAutorenewLink && $ctrl.service.serviceType !== $ctrl.SERVICE_TYPE.NUTANIX) || ($ctrl.service.serviceType === $ctrl.SERVICE_TYPE.NUTANIX && $ctrl.service.status === $ctrl.SERVICE_ACTIVE_STATUS) || $ctrl.service.canBeEngaged || $ctrl.service.hasPendingEngagement)"
>
diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js
index 6d3ff0fa71e8..c7f1c04471f1 100644
--- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js
+++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.component.js
@@ -18,6 +18,8 @@ export default {
commitImpressionData: '',
withContactManagement: '',
disableServiceActions: '',
+ isCustomResiliationHandled: '',
+ handleGoToResiliation: '&?',
},
controller,
template,
diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.controller.js b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.controller.js
index a72c0ab2e7cd..81f1d602c03a 100644
--- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.controller.js
+++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.controller.js
@@ -232,4 +232,13 @@ export default class ServicesActionsCtrl {
this.serviceInfos.serviceType,
);
}
+
+ handleClickResiliate(event) {
+ this.trackAction('stop', true);
+
+ if (this.isCustomResiliationHandled) {
+ event.preventDefault();
+ this.handleGoToResiliation();
+ }
+ }
}
diff --git a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html
index dfda1550c469..d620e5e37c07 100644
--- a/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html
+++ b/packages/manager/modules/billing-components/src/components/subscription-tile/subscription-tile.html
@@ -189,8 +189,8 @@
diff --git a/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js b/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
index df3a85a51dc4..608be0579ccf 100644
--- a/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
+++ b/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
@@ -11,7 +11,6 @@ export default class BillingLinksService {
generateAutorenewLinks(service, options) {
const {
- billingManagementAvailability,
getCommitmentLink,
getCancelCommitmentLink,
getCancelResiliationLink,
@@ -21,9 +20,7 @@ export default class BillingLinksService {
const links = {};
const fetchAutoRenewLink = this.$q.defer();
- if (!billingManagementAvailability) {
- fetchAutoRenewLink.resolve(null);
- } else if (this.$injector.has('shellClient')) {
+ if (this.$injector.has('shellClient')) {
this.$injector
.get('shellClient')
.navigation.getURL('dedicated', '#/billing/autorenew')
@@ -37,6 +34,8 @@ export default class BillingLinksService {
return fetchAutoRenewLink.promise.then((autorenewLink) => {
links.autorenewLink = autorenewLink;
+ links.billingManagementAvailabilityAndHaveAutorenewLink =
+ options.billingManagementAvailability && !!autorenewLink;
if (service.SERVICE_TYPE === SERVICE_TYPE.VRACK) return links;
@@ -110,8 +109,7 @@ export default class BillingLinksService {
default:
links.resiliateLink = service.canResiliateByEndRule()
? resiliationByEndRuleLink
- : autorenewLink &&
- `${autorenewLink}/delete?serviceId=${service.serviceId}${serviceTypeParam}`;
+ : `${links.autorenewLink}/delete?serviceId=${service.serviceId}${serviceTypeParam}`;
break;
}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/component.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/component.js
index ad2344d2f2db..9675cc05da78 100644
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/component.js
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/component.js
@@ -6,6 +6,7 @@ export default {
goBack: '<',
id: '<',
serviceType: '<',
+ serviceName: '',
},
controller,
template,
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/template.html b/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/template.html
index a16168f4715c..983f0ddc5b73 100644
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/template.html
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-agora-service/template.html
@@ -10,6 +10,7 @@
{
+ $stateProvider.state('nutanix.dashboard.general-info.resiliate.**', {
+ url: '/resiliate',
+ lazyLoad: ($transition$) => {
+ const $ocLazyLoad = $transition$.injector().get('$ocLazyLoad');
+
+ return import('./resiliate.module').then((mod) =>
+ $ocLazyLoad.inject(mod.default || mod),
+ );
+ },
+ });
+ },
+);
+
+export default moduleName;
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.module.js b/packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.module.js
new file mode 100644
index 000000000000..6d53d17d0313
--- /dev/null
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.module.js
@@ -0,0 +1,19 @@
+import angular from 'angular';
+
+import '@uirouter/angularjs';
+import 'angular-translate';
+
+import ovhManagerBillingComponents from '@ovh-ux/manager-billing-components';
+import routing from './resiliate.routing';
+
+const moduleName = 'ovhManagerNutanixDashboardGeneralInfoResiliate';
+
+angular
+ .module(moduleName, [
+ 'pascalprecht.translate',
+ 'ui.router',
+ ovhManagerBillingComponents,
+ ])
+ .config(routing);
+
+export default moduleName;
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.routing.js b/packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.routing.js
new file mode 100644
index 000000000000..a244ce1c0ec3
--- /dev/null
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/resiliate/resiliate.routing.js
@@ -0,0 +1,43 @@
+import { SERVICE_TYPE } from './constant';
+
+export default /* @ngInject */ ($stateProvider) => {
+ $stateProvider.state('nutanix.dashboard.general-info.resiliate', {
+ url: '/resiliate',
+ views: {
+ modal: {
+ component: 'billingAutorenewTerminateAgoraService',
+ },
+ },
+ params: {
+ serviceName: null,
+ },
+ layout: 'modal',
+ resolve: {
+ serviceType: () => SERVICE_TYPE,
+ id: /* @ngInject */ (serviceInfo) => serviceInfo.serviceId,
+ goBack: /* @ngInject */ ($state, $timeout, Alerter, serviceName) => (
+ message,
+ type,
+ ) => {
+ const promise = $state.go('nutanix.dashboard.general-info', {
+ serviceName,
+ });
+
+ if (message) {
+ promise.then(() =>
+ $timeout(() =>
+ Alerter.set(
+ `alert-${type}`,
+ message,
+ null,
+ 'nutanix-dashboard-alert',
+ ),
+ ),
+ );
+ }
+
+ return promise;
+ },
+ },
+ });
+};
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/routing.js b/packages/manager/modules/nutanix/src/dashboard/general-info/routing.js
index 31d16c400c7f..1c4bc2c29ced 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/routing.js
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/routing.js
@@ -55,6 +55,10 @@ export default /* @ngInject */ ($stateProvider) => {
),
goToRedeploy: /* @ngInject */ ($state) => () =>
$state.go('nutanix.dashboard.general-info.redeploy'),
+ goToResiliate: /* @ngInject */ ($state) => (serviceName) =>
+ $state.go('nutanix.dashboard.general-info.resiliate', {
+ serviceName,
+ }),
breadcrumb: /* @ngInject */ ($translate) =>
$translate.instant('nutanix_dashboard_general_info'),
isPackTypeAvailable: /* @ngInject */ (ovhFeatureFlipping) =>
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/template.html b/packages/manager/modules/nutanix/src/dashboard/general-info/template.html
index 8806ba3b6c3c..b43009f5b28c 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/template.html
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/template.html
@@ -1,3 +1,4 @@
+
@@ -247,12 +248,13 @@
go-to-commit="$ctrl.goToCommit()"
go-to-cancel-commit="$ctrl.goToCancelCommit()"
go-to-cancel-resiliation="$ctrl.goToCancelResiliation()"
- go-to-resiliation="$ctrl.goToResiliation()"
service-infos="$ctrl.serviceInfo"
user="$ctrl.user"
tracking-prefix="Enterprise_solutions::nutanix::nutanix"
tracking-page="Enterprise_solutions::nutanix::nutanix::nutanix::dashboard::general-information"
tracking-name-suffix="nutanix"
+ is-custom-resiliation-handled="true"
+ handle-go-to-resiliation="$ctrl.goToResiliate($ctrl.serviceName)"
>
diff --git a/packages/manager/modules/nutanix/src/dashboard/nodes/node/routing.js b/packages/manager/modules/nutanix/src/dashboard/nodes/node/routing.js
index 0762d36b5928..9aa6e84e9f8a 100644
--- a/packages/manager/modules/nutanix/src/dashboard/nodes/node/routing.js
+++ b/packages/manager/modules/nutanix/src/dashboard/nodes/node/routing.js
@@ -6,7 +6,33 @@ export default /* @ngInject */ ($stateProvider) => {
component: 'nutanixNode',
},
},
- redirectTo: 'nutanix.dashboard.nodes.node.general-info',
+ redirectTo: (transition) => {
+ const $translatePromise = transition.injector().getAsync('$translate');
+ const serviceInfoPromise = transition.injector().getAsync('serviceInfo');
+
+ return Promise.all([$translatePromise, serviceInfoPromise]).then(
+ ([$translate, serviceInfo]) => {
+ if (serviceInfo.isResiliated()) {
+ return {
+ state: 'error',
+ params: {
+ detail: {
+ message: $translate.instant(
+ 'nutanix_dashboard_service_suspended',
+ ),
+ status: 'EXPIRED',
+ code: 404,
+ },
+ to: {
+ state: 'nutanix.index',
+ },
+ },
+ };
+ }
+ return 'nutanix.dashboard.nodes.node.general-info';
+ },
+ );
+ },
resolve: {
nodeId: /* @ngInject */ ($transition$) => $transition$.params().nodeId,
node: /* @ngInject */ (nodeId, NutanixService) =>
diff --git a/packages/manager/modules/nutanix/src/dashboard/nodes/routing.js b/packages/manager/modules/nutanix/src/dashboard/nodes/routing.js
index 06446d1feca3..60e869f8749f 100644
--- a/packages/manager/modules/nutanix/src/dashboard/nodes/routing.js
+++ b/packages/manager/modules/nutanix/src/dashboard/nodes/routing.js
@@ -1,7 +1,33 @@
export default /* @ngInject */ ($stateProvider) => {
$stateProvider.state('nutanix.dashboard.nodes', {
url: '/nodes',
- redirectTo: 'nutanix.dashboard.nodes.all',
+ redirectTo: (transition) => {
+ const $translatePromise = transition.injector().getAsync('$translate');
+ const serviceInfoPromise = transition.injector().getAsync('serviceInfo');
+
+ return Promise.all([$translatePromise, serviceInfoPromise]).then(
+ ([$translate, serviceInfo]) => {
+ if (serviceInfo.isResiliated()) {
+ return {
+ state: 'error',
+ params: {
+ detail: {
+ message: $translate.instant(
+ 'nutanix_dashboard_service_suspended',
+ ),
+ status: 'EXPIRED',
+ code: 404,
+ },
+ to: {
+ state: 'nutanix.dashboard.nodes.all',
+ },
+ },
+ };
+ }
+ return 'nutanix.dashboard.nodes.node.general-info';
+ },
+ );
+ },
resolve: {
breadcrumb: /* @ngInject */ ($translate) =>
$translate.instant('nutanix_dashboard_nodes'),
diff --git a/packages/manager/modules/nutanix/src/dashboard/routing.js b/packages/manager/modules/nutanix/src/dashboard/routing.js
index 4999b33f11e7..a0846668f796 100644
--- a/packages/manager/modules/nutanix/src/dashboard/routing.js
+++ b/packages/manager/modules/nutanix/src/dashboard/routing.js
@@ -3,7 +3,34 @@ import { OLD_CLUSTER_PLAN_CODE } from './constants';
export default /* @ngInject */ ($stateProvider) => {
$stateProvider.state('nutanix.dashboard', {
url: '/:serviceName',
- redirectTo: 'nutanix.dashboard.general-info',
+ redirectTo: (transition) => {
+ const $translatePromise = transition.injector().getAsync('$translate');
+ const serviceInfoPromise = transition.injector().getAsync('serviceInfo');
+
+ return Promise.all([$translatePromise, serviceInfoPromise]).then(
+ ([$translate, serviceInfo]) => {
+ if (serviceInfo.isResiliated()) {
+ return {
+ state: 'error',
+ params: {
+ detail: {
+ message: $translate.instant(
+ 'nutanix_dashboard_service_suspended',
+ ),
+ status: 'EXPIRED',
+ code: 404,
+ },
+ to: {
+ state: 'nutanix.index',
+ },
+ },
+ };
+ }
+
+ return 'nutanix.dashboard.general-info';
+ },
+ );
+ },
component: 'nutanixDashboard',
resolve: {
trackingPrefix: /* @ngInject */ () => 'hpc::nutanix::cluster',
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_de_DE.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_de_DE.json
index b8a135603c98..b2268df9f79c 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_de_DE.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_de_DE.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Anleitungen",
"nutanix_dashboard_guides_header_all_guides": "Alle Anleitungen",
"nutanix_dashboard_cluster_warning1": "Ihre Nutanix-Lizenz muss vor dem [{{endDate}}] auf Ihrem Cluster in Prism Central registriert werden.",
- "nutanix_dashboard_cluster_warning2": "Registrieren Sie Ihre Lizenz"
+ "nutanix_dashboard_cluster_warning2": "Registrieren Sie Ihre Lizenz",
+ "nutanix_dashboard_service_suspended": "Der Dienst wurde gekündigt."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_en_GB.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_en_GB.json
index 280930eb5cbd..f3bcecfbf5dc 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_en_GB.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_en_GB.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Guides",
"nutanix_dashboard_guides_header_all_guides": "All guides",
"nutanix_dashboard_cluster_warning1": "You must register your Nutanix licence on your cluster in Prism Central before [{{endDate}}]",
- "nutanix_dashboard_cluster_warning2": "Register your licence"
+ "nutanix_dashboard_cluster_warning2": "Register your licence",
+ "nutanix_dashboard_service_suspended": "The service has been cancelled."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_es_ES.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_es_ES.json
index a9d20aa01796..1382e103f76c 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_es_ES.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_es_ES.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Guías",
"nutanix_dashboard_guides_header_all_guides": "Todas las guías",
"nutanix_dashboard_cluster_warning1": "Debe registrar su licencia Nutanix en su cluster en Prism Central antes del [{{endDate}}].",
- "nutanix_dashboard_cluster_warning2": "Registre su licencia"
+ "nutanix_dashboard_cluster_warning2": "Registre su licencia",
+ "nutanix_dashboard_service_suspended": "El servicio se ha dado de baja."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_CA.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_CA.json
index 8740d0bc844f..b559f616c93c 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_CA.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_CA.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Guides",
"nutanix_dashboard_guides_header_all_guides": "Tous les guides",
"nutanix_dashboard_cluster_warning1": "Vous devez enregistrer votre licence Nutanix sur votre cluster dans Prism Central avant le [{{endDate}}]",
- "nutanix_dashboard_cluster_warning2": "Enregistrez votre licence"
+ "nutanix_dashboard_cluster_warning2": "Enregistrez votre licence",
+ "nutanix_dashboard_service_suspended": "Le service a été résilié."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_FR.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_FR.json
index 8740d0bc844f..b559f616c93c 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_FR.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_fr_FR.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Guides",
"nutanix_dashboard_guides_header_all_guides": "Tous les guides",
"nutanix_dashboard_cluster_warning1": "Vous devez enregistrer votre licence Nutanix sur votre cluster dans Prism Central avant le [{{endDate}}]",
- "nutanix_dashboard_cluster_warning2": "Enregistrez votre licence"
+ "nutanix_dashboard_cluster_warning2": "Enregistrez votre licence",
+ "nutanix_dashboard_service_suspended": "Le service a été résilié."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_it_IT.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_it_IT.json
index 0b3430de092f..41bb236052a1 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_it_IT.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_it_IT.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Guide",
"nutanix_dashboard_guides_header_all_guides": "Tutte le guide",
"nutanix_dashboard_cluster_warning1": "Registra la tua licenza Nutanix sul tuo cluster in Prism Central prima del [{{endDate}}]",
- "nutanix_dashboard_cluster_warning2": "Registra la tua licenza"
+ "nutanix_dashboard_cluster_warning2": "Registra la tua licenza",
+ "nutanix_dashboard_service_suspended": "Il servizio è stato disattivato."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pl_PL.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pl_PL.json
index df0d592a3bcf..8e1953fadfac 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pl_PL.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pl_PL.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Przewodniki",
"nutanix_dashboard_guides_header_all_guides": "Wszystkie przewodniki",
"nutanix_dashboard_cluster_warning1": "Należy zarejestrować licencję Nutanix na klastrze w Prism Central przed [{{endDate}}]",
- "nutanix_dashboard_cluster_warning2": "Zarejestruj licencję"
+ "nutanix_dashboard_cluster_warning2": "Zarejestruj licencję",
+ "nutanix_dashboard_service_suspended": "Usługa została zakończona."
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pt_PT.json b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pt_PT.json
index 15d155aba7cd..7ac08086157f 100644
--- a/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pt_PT.json
+++ b/packages/manager/modules/nutanix/src/dashboard/translations/Messages_pt_PT.json
@@ -4,5 +4,6 @@
"nutanix_dashboard_guides_header": "Manuais",
"nutanix_dashboard_guides_header_all_guides": "Todos os manuais",
"nutanix_dashboard_cluster_warning1": "Deve registar a licença Nutanix no seu cluster em Prism Central antes de [{{endDate}}]",
- "nutanix_dashboard_cluster_warning2": "Registe a sua licença"
+ "nutanix_dashboard_cluster_warning2": "Registe a sua licença",
+ "nutanix_dashboard_service_suspended": "O serviço foi rescindido."
}
From 16de2df82efdb3b2db9143b6fdc590a31645ec0e Mon Sep 17 00:00:00 2001
From: Thibaud Crespin
Date: Mon, 13 Jan 2025 16:28:30 +0100
Subject: [PATCH 04/14] feat(nutanix): add VLAN ID field in cluster
redeployment (#14482)
ref: MANAGER-14545
Signed-off-by: Thibaud Crespin
---
.../general-info/redeploy/controller.js | 4 ++
.../general-info/redeploy/template.html | 37 +++++++++++++++++--
.../redeploy/translations/Messages_fr_FR.json | 5 ++-
3 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js
index b97fd2c4609a..3071e3f16e98 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js
@@ -125,6 +125,7 @@ export default class NutanixGeneralInfoRedeployCtrl {
erasureCoding,
prismCentral,
prismElementVip,
+ infraVlanNumber,
gatewayCidr,
version,
nodes,
@@ -133,6 +134,7 @@ export default class NutanixGeneralInfoRedeployCtrl {
erasureCoding,
prismCentral,
prismElementVip,
+ infraVlanNumber,
gatewayCidr,
version,
nodes: this.getNodesWithDisplayName(nodes),
@@ -150,6 +152,7 @@ export default class NutanixGeneralInfoRedeployCtrl {
erasureCoding,
prismCentral,
prismElementVip,
+ infraVlanNumber,
gatewayCidr,
version,
nodes,
@@ -166,6 +169,7 @@ export default class NutanixGeneralInfoRedeployCtrl {
}),
...(redundancyFactor && { redundancyFactor }),
...(prismElementVip && { prismElementVip }),
+ ...(infraVlanNumber && { infraVlanNumber }),
...(gatewayCidr && { gatewayCidr }),
...(version && { version }),
};
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html
index 809ec9cc3e69..45cf96a710c3 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html
@@ -187,7 +187,7 @@
>
/>
data-translate="nutanix_redeploy_prism_element_vip_description"
>
/>
+
Date: Mon, 13 Jan 2025 16:29:45 +0100
Subject: [PATCH 05/14] feat(nutanix): display BYOL instead of pack type in
dashboard (#14408)
ref: MANAGER-15284
Signed-off-by: Thibaud Crespin
---
.../modules/nutanix/src/dashboard/controller.js | 3 ++-
.../nutanix/src/dashboard/general-info/constants.js | 1 +
.../nutanix/src/dashboard/general-info/controller.js | 2 ++
.../nutanix/src/dashboard/general-info/template.html | 11 ++++++++++-
4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/packages/manager/modules/nutanix/src/dashboard/controller.js b/packages/manager/modules/nutanix/src/dashboard/controller.js
index b496d4a97513..9cba53f62369 100644
--- a/packages/manager/modules/nutanix/src/dashboard/controller.js
+++ b/packages/manager/modules/nutanix/src/dashboard/controller.js
@@ -1,6 +1,7 @@
import moment from 'moment';
import { GUIDE_URL, LICENSE_REGISTRATION_ENDS_IN_DAYS } from './constants';
+import { NUTANIX_PERSONAL_LICENSE_EDITION } from './general-info/constants';
export default class NutanixDashboardCtrl {
/* @ngInject */
@@ -37,7 +38,7 @@ export default class NutanixDashboardCtrl {
diff >= 0 &&
diff <= LICENSE_REGISTRATION_ENDS_IN_DAYS &&
this.getTechnicalDetails?.nutanixCluster?.license.edition ===
- 'Personal license'
+ NUTANIX_PERSONAL_LICENSE_EDITION
);
}
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/constants.js b/packages/manager/modules/nutanix/src/dashboard/general-info/constants.js
index bdebb5bbe040..5d8fbf2261bf 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/constants.js
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/constants.js
@@ -33,6 +33,7 @@ export const GENERAL_INFO_TILE_TITLE = {
};
export const NUTANIX_PERSONAL_LICENSE_EDITION = 'Personal license';
+export const NUTANIX_BYOL = 'BYOL';
export const FEATURES = {
PACK_TYPE: 'nutanix:pack-type',
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/controller.js b/packages/manager/modules/nutanix/src/dashboard/general-info/controller.js
index dffaa50ee0de..d26af282ad5b 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/controller.js
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/controller.js
@@ -7,6 +7,7 @@ import {
TRAVAUX_LINK,
TRACKING,
GUIDES_URL,
+ NUTANIX_BYOL,
} from './constants';
export default class NutanixGeneralInfoCtrl {
@@ -27,6 +28,7 @@ export default class NutanixGeneralInfoCtrl {
this.NutanixService = NutanixService;
this.REPLICATION_FACTOR_PREFIX = REPLICATION_FACTOR_PREFIX;
this.NUTANIX_PERSONAL_LICENSE_EDITION = NUTANIX_PERSONAL_LICENSE_EDITION;
+ this.NUTANIX_BYOL = NUTANIX_BYOL;
this.GENERAL_INFO_TILE_TITLE = GENERAL_INFO_TILE_TITLE;
}
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/template.html b/packages/manager/modules/nutanix/src/dashboard/general-info/template.html
index b43009f5b28c..6c8366a082ef 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/template.html
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/template.html
@@ -116,7 +116,16 @@
data-track-name="{{:: $ctrl.TRACKING.ACCESS_NUTANIX}}"
data-track-type="action"
>
-
+
+
+
+
Date: Mon, 13 Jan 2025 16:31:59 +0100
Subject: [PATCH 06/14] fix(dedicated.pcc): fix display of operation tasks
(#14696)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ref: MANAGER-16581 PRB0040995 PRB0041695
Signed-off-by: David Arsène
---
.../dedicated-cloud/dedicatedCloud.service.js | 14 ++++++----
.../dedicatedCloud-operation.controller.js | 26 ++++++++++---------
.../operation/dedicatedCloud-operation.html | 1 +
3 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dedicatedCloud.service.js b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dedicatedCloud.service.js
index d4e57795a3e7..1297a33f0d9d 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dedicatedCloud.service.js
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/dedicatedCloud.service.js
@@ -551,7 +551,7 @@ class DedicatedCloudService {
/* ------- ICEBERG -------*/
- icebergQuery(url, params) {
+ icebergQuery(url, paginationParams, urlParams) {
const {
filters,
pageSize,
@@ -559,7 +559,7 @@ class DedicatedCloudService {
sort,
sortOrder,
defaultFilterColumn,
- } = params;
+ } = paginationParams;
let request = this.iceberg(url)
.query()
@@ -573,7 +573,7 @@ class DedicatedCloudService {
}
return this.$q
- .resolve(request.execute(null, true).$promise)
+ .resolve(request.execute(urlParams, true).$promise)
.then(({ data, headers }) => ({
data,
meta: {
@@ -1468,8 +1468,12 @@ class DedicatedCloudService {
/* ------- Operations -------*/
- getOperations(serviceName, params) {
- return this.icebergQuery(`/dedicatedCloud/${serviceName}/task`, params);
+ getOperations(serviceName, paginationParams, urlParams) {
+ return this.icebergQuery(
+ `/dedicatedCloud/${serviceName}/task`,
+ paginationParams,
+ urlParams,
+ );
}
getOperation(serviceName, opts) {
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.controller.js b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.controller.js
index 038cc7892c7f..e0a3be23cb56 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.controller.js
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.controller.js
@@ -28,7 +28,7 @@ export default class {
return this.DedicatedCloud.getModels()
.then((data) => {
this.stateEnum = data.models['dedicatedCloud.TaskStateEnum'].enum;
- this.progressionFilter = null;
+ this.progressionFilter = 'doing';
this.progressionFilterList = map(this.stateEnum, (state) => ({
value: state,
label: this.$translate.instant(
@@ -57,23 +57,25 @@ export default class {
}
loadOperations({ offset, pageSize, sort }) {
- const params = {
+ const paginationParams = {
offset,
pageSize,
sort: sort.property,
sortOrder: sort.dir === 1 ? 'ASC' : 'DESC',
defaultFilterColumn: 'executionDate',
- filters: this.progressionFilter
- ? [
- {
- field: 'state',
- comparator: 'is',
- reference: [this.progressionFilter],
- },
- ]
- : [],
};
- return this.DedicatedCloud.getOperations(this.productId, params);
+ // limitation to one year in case of too many data
+ const executionDate = new Date();
+ executionDate.setFullYear(executionDate.getFullYear() - 1);
+ const urlParams = {
+ state: this.progressionFilter,
+ executionDate: executionDate.toISOString(),
+ };
+ return this.DedicatedCloud.getOperations(
+ this.productId,
+ paginationParams,
+ urlParams,
+ );
}
setRelatedServices(operation) {
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.html b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.html
index 79fc49b0937c..1eacdd845b96 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.html
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/operation/dedicatedCloud-operation.html
@@ -10,6 +10,7 @@
data-ng-if="!$ctrl.loading"
data-rows-loader="$ctrl.loadOperations($config)"
data-row-loader="$ctrl.loadOperationAdditionalData($row)"
+ data-pagination-mode="select"
>
Date: Mon, 13 Jan 2025 16:32:43 +0100
Subject: [PATCH 07/14] fix(dedicated): display datastoreid on pcc datastore
migration (#14700)
ref: MANAGER-16586
Signed-off-by: Thibault Barske
---
.../dedicatedCloud-datacenter-convert-to-global.controller.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/datastore/convert-to-global/dedicatedCloud-datacenter-convert-to-global.controller.js b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/datastore/convert-to-global/dedicatedCloud-datacenter-convert-to-global.controller.js
index eeaca6e4c44f..3f9b38619f74 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/datastore/convert-to-global/dedicatedCloud-datacenter-convert-to-global.controller.js
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/datastore/convert-to-global/dedicatedCloud-datacenter-convert-to-global.controller.js
@@ -36,7 +36,7 @@ export default class {
this.$translate.instant(
'dedicatedCloud_datacenter_convert_to_global_success',
{
- t0: this.datacenterId,
+ t0: this.datastoreId,
},
),
);
From 4a5d14c1bddf0ecd2c79046e01f911fd8b4abab4 Mon Sep 17 00:00:00 2001
From: pdepaepe
Date: Mon, 13 Jan 2025 16:33:36 +0100
Subject: [PATCH 08/14] feat(ldp): handle indexing retention (#14364)
ref: OB-5556
Signed-off-by: Pierre De Paepe
---
.../detail/streams/add/logs-streams-add.controller.js | 10 +++++++---
.../src/logs/detail/streams/add/logs-streams-add.html | 2 +-
.../modules/dbaas-logs/src/logs/logs-constants.js | 5 +++++
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.controller.js b/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.controller.js
index 36f1f91bc57b..f0c1f96382e8 100644
--- a/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.controller.js
+++ b/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.controller.js
@@ -37,7 +37,7 @@ export default class LogsStreamsAddCtrl {
FirstStep: { price: '' },
SecondStep: { price: '' },
};
- this.availableRetentions = [];
+ this.availableIndexingRetentions = [];
this.encryptionEnabled = false;
this.initLoaders();
}
@@ -124,9 +124,13 @@ export default class LogsStreamsAddCtrl {
this.LogsStreamsService.getRetentions(this.serviceName).then(
(retentions) => {
- this.availableRetentions = retentions.reduce(
+ this.availableIndexingRetentions = retentions.reduce(
(retentionsList, retention) => {
- if (retention.isSupported) {
+ if (
+ retention.isSupported &&
+ retention.retentionType ===
+ this.LogsConstants.RETENTION_TYPE.INDEXING
+ ) {
const updatedRetention = retention;
if (updatedRetention.duration) {
updatedRetention.label = moment
diff --git a/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.html b/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.html
index e1a27f43e90b..5398e882a3d7 100644
--- a/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.html
+++ b/packages/manager/modules/dbaas-logs/src/logs/detail/streams/add/logs-streams-add.html
@@ -77,7 +77,7 @@
name="stream_indexing_retention"
id="stream_indexing_retention"
data-ng-model="ctrl.stream.data.retentionId"
- data-ng-options="retention.retentionId as retention.label for retention in ctrl.availableRetentions"
+ data-ng-options="retention.retentionId as retention.label for retention in ctrl.availableIndexingRetentions"
required
>
diff --git a/packages/manager/modules/dbaas-logs/src/logs/logs-constants.js b/packages/manager/modules/dbaas-logs/src/logs/logs-constants.js
index 6b2444783ac2..25bccca2812a 100644
--- a/packages/manager/modules/dbaas-logs/src/logs/logs-constants.js
+++ b/packages/manager/modules/dbaas-logs/src/logs/logs-constants.js
@@ -189,6 +189,11 @@ export default {
RETENTION: {
FORTY_FIVE_DAYS: 'P45D',
},
+ RETENTION_TYPE: {
+ COLDSTORAGE: 'LOGS_COLD_STORAGE',
+ INDEXING: 'LOGS_INDEXING',
+ METRICS: 'METRICS_TENANT',
+ },
OFFER_STORAGE_MULTIPLIER: 1073741824,
CHART_SETTINGS: {
MAX_TICKS_LIMIT: 12,
From 180e07211fc207fdb218e0fc6d3f56cdd8703c7a Mon Sep 17 00:00:00 2001
From: darsene <72250222+darsene@users.noreply.github.com>
Date: Mon, 13 Jan 2025 16:35:15 +0100
Subject: [PATCH 09/14] fix(dedicated.pcc): fix display for vDC order step form
(#14683)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ref: MANAGER-16555 PRB0040064
Signed-off-by: David Arsène
---
.../dedicatedCloud-vmware-vdc-add.html | 12 ++++++------
.../vmware-vdc-add/translations/Messages_en_GB.json | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/dedicatedCloud-vmware-vdc-add.html b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/dedicatedCloud-vmware-vdc-add.html
index eee6253ec72e..1f57f017dc7a 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/dedicatedCloud-vmware-vdc-add.html
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/dedicatedCloud-vmware-vdc-add.html
@@ -18,10 +18,10 @@
data-valid="$ctrl.model.vdc"
data-prevent-next
>
-
+
-
+
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/translations/Messages_en_GB.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/translations/Messages_en_GB.json
index e9a8463e1083..d1538a92939c 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/translations/Messages_en_GB.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/datacenter/vmware-vdc-add/translations/Messages_en_GB.json
@@ -17,7 +17,7 @@
"dedicatedCloud_configuration_add_datacenter_card_host_nsx-t_vsan_description": "Your new virtual datacentre will comprise hosts that are suited for the Software-Defined Datacentre environment (you can choose host specifications in the next step).",
"dedicatedCloud_configuration_add_datacenter_card_host_nsx-t_saphana_label": "SAP HANA hosts (with NSX)",
"dedicatedCloud_configuration_add_datacenter_card_host_nsx-t_saphana_description": "Your new virtual datacentre will comprise a Software-Defined Datacentre infrastructure that is specially designed and SAP HANA-certified (you can choose host specifications in the next step).",
- "dedicatedCloud_configuration_add_datacenter_card_host_vsphere_label": "Standard Hosts",
+ "dedicatedCloud_configuration_add_datacenter_card_host_vsphere_label": "Standard hosts",
"dedicatedCloud_configuration_add_datacenter_card_host_vsphere_description": "Your new virtual datacentre will comprise standard hosts (you can choose host specifications in the next step).",
"dedicatedCloud_configuration_add_datacenter_card_host_vsphere_vsan_label": "vSAN hosts",
"dedicatedCloud_configuration_add_datacenter_card_host_vsphere_vsan_description": "Your new virtual datacentre will comprise hosts that are suited for hyperconverged storage (you can choose host specifications in the next step).",
From 748f2187c1b4fc3bfe93e06096019c803a65da13 Mon Sep 17 00:00:00 2001
From: darsene <72250222+darsene@users.noreply.github.com>
Date: Mon, 13 Jan 2025 16:37:49 +0100
Subject: [PATCH 10/14] fix(i18n): add missing translations [CDS 3601] (#14780)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ref: MANAGER-15309
Signed-off-by: David Arsène
---
.../mailing-list/subscribe/translations/Messages_en_GB.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/mailing-list/subscribe/translations/Messages_en_GB.json b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/mailing-list/subscribe/translations/Messages_en_GB.json
index e35e8929eb35..c54529fda1a6 100644
--- a/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/mailing-list/subscribe/translations/Messages_en_GB.json
+++ b/packages/manager/apps/dedicated/client/app/components/dedicated-cloud/mailing-list/subscribe/translations/Messages_en_GB.json
@@ -2,7 +2,7 @@
"dedicatedCloud_subscribe_mailing": "Sign up to the mailing list",
"dedicatedCloud_subscribe_mailing_disabled_EPCC": "Unable to sign up to the Hosted Private Cloud mailing list ({{t0}}).",
"dedicatedCloud_subscribe_mailing_step1_EPCC": "Enter your email address to sign up to the Hosted Private Cloud mailing list ({{t0}}) :",
- "dedicatedCloud_subscribe_mailing_step2_EPCC": "You are about to sign up {{t0}}to the Hosted Private Cloud mailing list ({{t1}})",
+ "dedicatedCloud_subscribe_mailing_step2_EPCC": "You are about to sign up {{t0}} to the Hosted Private Cloud mailing list ({{t1}})",
"dedicatedCloud_subscribe_mailing_step2_success": "Your request to sign up to {{t0}} has been registered",
"dedicatedCloud_subscribe_mailing_step2_error": "An error has occurred requesting to sign up to {{t0}} ",
"dedicatedCloud_subscribe_mailing_disabled_MBM": "Unable to subscribe to the Managed Bare Metal mailing list ({{t0}}).",
From abf887ad7ab6ed5832ab7ea0a5b2b0ff9b946e3f Mon Sep 17 00:00:00 2001
From: mhelhali-soufien <159853039+mhelhali-soufien@users.noreply.github.com>
Date: Mon, 13 Jan 2025 17:45:24 +0100
Subject: [PATCH 11/14] feat(dedicated): delete vrack from billing autorenew
page (#13823)
ref: MANAGER-15077
Signed-off-by: soufien mhelhali
---
.../billing-confirmTerminate.service.js | 4 ++
.../services-actions.component.js | 1 +
.../services-actions.controller.js | 5 ++-
.../components/utils/billing.links.service.js | 5 +++
.../actions/terminate-vrack/component.js | 14 ++++++
.../actions/terminate-vrack/constants.js | 5 +++
.../actions/terminate-vrack/controller.js | 34 ++++++++++++++
.../actions/terminate-vrack/index.js | 25 +++++++++++
.../actions/terminate-vrack/routing.js | 35 +++++++++++++++
.../actions/terminate-vrack/template.html | 44 +++++++++++++++++++
.../translations/Messages_de_DE.json | 8 ++++
.../translations/Messages_en_GB.json | 8 ++++
.../translations/Messages_es_ES.json | 8 ++++
.../translations/Messages_fr_CA.json | 9 ++++
.../translations/Messages_fr_FR.json | 9 ++++
.../translations/Messages_it_IT.json | 8 ++++
.../translations/Messages_pl_PL.json | 8 ++++
.../translations/Messages_pt_PT.json | 8 ++++
.../src/autoRenew/autorenew.component.js | 1 +
.../billing/src/autoRenew/autorenew.html | 1 +
.../billing/src/autoRenew/autorenew.module.js | 2 +
.../src/autoRenew/autorenew.routing.js | 3 ++
22 files changed, 244 insertions(+), 1 deletion(-)
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json
create mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json
diff --git a/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js b/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js
index 364301571359..8c0ccb692623 100644
--- a/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js
+++ b/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js
@@ -55,6 +55,10 @@ export default class BillingTerminate {
return this.$http.post(`/services/${serviceId}/terminate`);
}
+ serviceTerminationForVrack(serviceId) {
+ return this.$http.post(`/vrack/${serviceId}/terminate`);
+ }
+
getTerminationForm(serviceId) {
return this.OvhApiServices.Form()
.v6()
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
index 4b087722c065..dfddbd2c8712 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
@@ -4,6 +4,7 @@ import template from './services-actions.html';
export default {
bindings: {
billingManagementAvailability: '<',
+ deleteVrackAvailability: '<',
service: '<',
trackingPrefix: '@?',
trackingPage: '@?',
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
index 94666b26f406..5d8f5affb4b3 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
@@ -65,9 +65,12 @@ export default class ServicesActionsCtrl {
}
canResiliate() {
+ if (this.service.serviceType === this.SERVICE_TYPE.VRACK) {
+ return this.deleteVrackAvailability && !!this.resiliateLink;
+ }
+
return ![
SERVICE_TYPE.PACK_XDSL,
- SERVICE_TYPE.VRACK,
SERVICE_TYPE.VMWARE_CLOUD_DIRECTOR_ORGANIZATION,
].includes(this.service.serviceType);
}
diff --git a/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js b/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
index 608be0579ccf..7b1b881573a8 100644
--- a/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
+++ b/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
@@ -100,6 +100,11 @@ export default class BillingLinksService {
? resiliationByEndRuleLink
: `${autorenewLink}/delete-all-dom?serviceId=${service.serviceId}&serviceType=${service.serviceType}`;
break;
+ case SERVICE_TYPE.VRACK:
+ if (service.status !== 'suspended') {
+ links.resiliateLink = `${autorenewLink}/terminate-vrack?service=${service.serviceId}${serviceTypeParam}`;
+ }
+ break;
case SERVICE_TYPE.OKMS:
case SERVICE_TYPE.VRACK_SERVICES:
case SERVICE_TYPE.LICENSE_HYCU:
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js
new file mode 100644
index 000000000000..dabe2a119f69
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js
@@ -0,0 +1,14 @@
+import template from './template.html';
+import controller from './controller';
+
+export default {
+ bindings: {
+ goBack: '<',
+ service: '<',
+ serviceType: '<',
+ isEmpty: '<',
+ },
+ controller,
+ template,
+ name: 'billingAutorenewTerminateVrack',
+};
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js
new file mode 100644
index 000000000000..203add1344d7
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js
@@ -0,0 +1,5 @@
+export const TERMINATE_PATTERN = /^TERMINATE$/;
+
+export default {
+ TERMINATE_PATTERN,
+};
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js
new file mode 100644
index 000000000000..c8e2d14f4a6a
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js
@@ -0,0 +1,34 @@
+import { TERMINATE_PATTERN } from './constants';
+
+export default class TerminateVrackController {
+ /* @ngInject */
+ constructor($translate, BillingTerminate) {
+ this.TERMINATE_PATTERN = TERMINATE_PATTERN;
+ this.$translate = $translate;
+ this.BillingTerminate = BillingTerminate;
+ }
+
+ terminate() {
+ this.BillingTerminate.serviceTerminationForVrack(this.service)
+ .then(() => this.onSuccess())
+ .catch((error) => this.onError({ error }));
+ }
+
+ onSuccess() {
+ this.goBack(
+ this.$translate.instant(
+ `autorenew_agora_terminate_service_success_VRACK`,
+ ),
+ 'success',
+ );
+ }
+
+ onError(error) {
+ this.goBack(
+ this.$translate.instant(`autorenew_agora_terminate_service_error_VRACK`, {
+ error: error?.data?.message,
+ }),
+ 'danger',
+ );
+ }
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js
new file mode 100644
index 000000000000..d04d0f812cc1
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js
@@ -0,0 +1,25 @@
+import angular from 'angular';
+import angularTranslate from 'angular-translate';
+import ngAtInternet from '@ovh-ux/ng-at-internet';
+import ngTranslateAsyncLoader from '@ovh-ux/ng-translate-async-loader';
+import '@ovh-ux/ui-kit';
+import uiRouter from '@uirouter/angularjs';
+
+import component from './component';
+import routing from './routing';
+
+const moduleName = 'ovhManagerBillingAutorenewTerminateVrack';
+
+angular
+ .module(moduleName, [
+ angularTranslate,
+ ngAtInternet,
+ ngTranslateAsyncLoader,
+ 'oui',
+ uiRouter,
+ ])
+ .config(routing)
+ .component(component.name, component)
+ .run(/* @ngTranslationsInject:json ./translations */);
+
+export default moduleName;
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js
new file mode 100644
index 000000000000..7da55d0aff4c
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js
@@ -0,0 +1,35 @@
+export default /* @ngInject */ ($stateProvider) => {
+ $stateProvider.state('app.account.billing.autorenew.terminateVrack', {
+ url: '/terminate-vrack?service&serviceType',
+ views: {
+ modal: {
+ component: 'billingAutorenewTerminateVrack',
+ },
+ },
+ layout: 'modal',
+ resolve: {
+ goBack: /* @ngInject */ (goToAutorenew) => goToAutorenew,
+ service: /* @ngInject */ ($transition$) => $transition$.params().service,
+ serviceType: /* @ngInject */ ($transition$) =>
+ $transition$.params().serviceType,
+ isEmpty: /* @ngInject */ (OvhApiVrack, service) =>
+ OvhApiVrack.Aapi()
+ .services({ serviceName: service })
+ .$promise.then((allServicesParam) => {
+ const services = Object.entries(allServicesParam).filter(
+ ([, value]) => {
+ return Array.isArray(value) && value.length;
+ },
+ );
+ return !services.length;
+ })
+ .catch(() => {
+ return false;
+ }),
+ breadcrumb: () => null,
+ },
+ atInternet: {
+ ignore: true,
+ },
+ });
+};
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html
new file mode 100644
index 000000000000..ec65d14fcc52
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json
new file mode 100644
index 000000000000..73b0e1a7bff5
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json
@@ -0,0 +1,8 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Mein vRack löschen",
+ "autorenew_agora_terminate_vrack_blocked_description": "Um Ihr vRack zu löschen, müssen Sie zuerst alle damit verbundenen Dienste trennen.",
+ "autorenew_agora_terminate_vrack_blocked_close": "Schließen",
+ "autorenew_agora_terminate_service_VRACK": "vRack löschen",
+ "autorenew_agora_terminate_service_success_VRACK": "Ihre Anfrage zur Löschung Ihres vRack wurde registriert. Eine E-Mail mit weiteren Informationen zur Vorgehensweise wurde soeben an Sie versandt.",
+ "autorenew_agora_terminate_service_error_VRACK": "Bei der Anfrage zur Löschung Ihres vRacks ist ein Fehler aufgetreten. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json
new file mode 100644
index 000000000000..4d8e91ca217b
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json
@@ -0,0 +1,8 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Delete my vRack",
+ "autorenew_agora_terminate_vrack_blocked_description": "To delete your vRack, you have to first disconnect all of the services linked to it",
+ "autorenew_agora_terminate_vrack_blocked_close": "Close",
+ "autorenew_agora_terminate_service_VRACK": "Delete vRack",
+ "autorenew_agora_terminate_service_success_VRACK": "Your vRack deletion request has been submitted. You have been sent an email detailing the steps to follow.",
+ "autorenew_agora_terminate_service_error_VRACK": "An error has occurred submitting your vRack deletion request. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json
new file mode 100644
index 000000000000..de3bdf04e61a
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json
@@ -0,0 +1,8 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Eliminar mi vRack",
+ "autorenew_agora_terminate_vrack_blocked_description": "Para eliminar el vRack, deberá desconectar previamente todos los servicios asociados.",
+ "autorenew_agora_terminate_vrack_blocked_close": "Cerrar",
+ "autorenew_agora_terminate_service_VRACK": "Eliminar vRack",
+ "autorenew_agora_terminate_service_success_VRACK": "La solicitud de eliminación del vRack se ha enviado correctamente. Le hemos enviado un mensaje de correo electrónico con el procedimiento que debe seguir.",
+ "autorenew_agora_terminate_service_error_VRACK": "Se ha producido un error al solicitar la eliminación del vRack. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json
new file mode 100644
index 000000000000..07714c8520d5
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json
@@ -0,0 +1,9 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Supprimer mon Vrack",
+ "autorenew_agora_terminate_vrack_blocked_description": "Afin de supprimer votre Vrack vous devez au préalable deconnecter tous les services qui y sont ratachés",
+ "autorenew_agora_terminate_vrack_blocked_close": "Fermer",
+ "autorenew_agora_terminate_service_VRACK": "Supprimer Vrack",
+ "autorenew_agora_terminate_service_warning_VRACK": "Veuillez confirmer la suppression de Vrack",
+ "autorenew_agora_terminate_service_success_VRACK": "Votre demande de suppression de votre Vrack a été prise en compte. Un e-mail contenant la procédure vous a été envoyé.",
+ "autorenew_agora_terminate_service_error_VRACK": "Une erreur est survenue lors de la demande de suppression de votre Vrack. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json
new file mode 100644
index 000000000000..07714c8520d5
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json
@@ -0,0 +1,9 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Supprimer mon Vrack",
+ "autorenew_agora_terminate_vrack_blocked_description": "Afin de supprimer votre Vrack vous devez au préalable deconnecter tous les services qui y sont ratachés",
+ "autorenew_agora_terminate_vrack_blocked_close": "Fermer",
+ "autorenew_agora_terminate_service_VRACK": "Supprimer Vrack",
+ "autorenew_agora_terminate_service_warning_VRACK": "Veuillez confirmer la suppression de Vrack",
+ "autorenew_agora_terminate_service_success_VRACK": "Votre demande de suppression de votre Vrack a été prise en compte. Un e-mail contenant la procédure vous a été envoyé.",
+ "autorenew_agora_terminate_service_error_VRACK": "Une erreur est survenue lors de la demande de suppression de votre Vrack. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json
new file mode 100644
index 000000000000..93a69d219ca7
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json
@@ -0,0 +1,8 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Eliminare la tua vRack",
+ "autorenew_agora_terminate_vrack_blocked_description": "Per eliminare la tua vRrack è prima necessario disconnettere tutti i servizi ad essa associati.",
+ "autorenew_agora_terminate_vrack_blocked_close": "Chiudere",
+ "autorenew_agora_terminate_service_VRACK": "Eliminare la vRack",
+ "autorenew_agora_terminate_service_success_VRACK": "La tua richiesta di eliminazione della vRack è stata presa in carico. Ti abbiamo inviato un’email con la procedura da seguire.",
+ "autorenew_agora_terminate_service_error_VRACK": "Si è verificato un errore durante la richiesta di eliminazione della tua vRack: {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json
new file mode 100644
index 000000000000..0407e566f19c
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json
@@ -0,0 +1,8 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Usuń vRack",
+ "autorenew_agora_terminate_vrack_blocked_description": "Aby usunąć vRack, najpierw należy odłączyć wszystkie przypisane do niego usługi",
+ "autorenew_agora_terminate_vrack_blocked_close": "Zamknij",
+ "autorenew_agora_terminate_service_VRACK": "Usuń vRack",
+ "autorenew_agora_terminate_service_success_VRACK": "Dyspozycja usunięcia vRacka została przyjęta. Otrzymasz e-mail z opisem dalszej procedury.",
+ "autorenew_agora_terminate_service_error_VRACK": "Wystąpił błąd podczas usuwania vRacka. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json
new file mode 100644
index 000000000000..c4f821fccb60
--- /dev/null
+++ b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json
@@ -0,0 +1,8 @@
+{
+ "autorenew_agora_terminate_vrack_blocked_title": "Eliminar o meu vRack",
+ "autorenew_agora_terminate_vrack_blocked_description": "Para eliminar o seu vRack, deve desligar previamente todos os serviços que estão associados ao mesmo.",
+ "autorenew_agora_terminate_vrack_blocked_close": "Fechar",
+ "autorenew_agora_terminate_service_VRACK": "Eliminar o vRack",
+ "autorenew_agora_terminate_service_success_VRACK": "O seu pedido de eliminação do seu vRack foi registado. Um e-mail com o procedimento foi-lhe enviado.",
+ "autorenew_agora_terminate_service_error_VRACK": "Ocorreu um erro aquando do pedido de eliminação do seu vRack. {{error}}"
+}
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.component.js b/packages/manager/modules/billing/src/autoRenew/autorenew.component.js
index b19e0bd6e6dd..5658eee2263c 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.component.js
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.component.js
@@ -19,6 +19,7 @@ export default {
hasAutoRenew: '<',
homeLink: '<',
isAutorenewManagementAvailable: '<',
+ canDeleteVrack: '<',
isAutorenew2016DeploymentBannerAvailable: '<',
isEnterpriseCustomer: '<',
nicBilling: '<',
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.html b/packages/manager/modules/billing/src/autoRenew/autorenew.html
index bcd8b6868ebc..0b3e7528869f 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.html
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.html
@@ -244,6 +244,7 @@
tracking-page="{{ $ctrl.trackingPage }}"
user="$ctrl.currentUser"
billing-management-availability="$ctrl.isAutorenewManagementAvailable"
+ delete-vrack-availability="$ctrl.canDeleteVrack"
>
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.module.js b/packages/manager/modules/billing/src/autoRenew/autorenew.module.js
index 20a7e9b9688a..4608d16eb06f 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.module.js
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.module.js
@@ -31,6 +31,7 @@ import terminateHostingWeb from './actions/terminateHostingWeb/hosting-web.modul
import terminatePrivateDatabase from './actions/terminatePrivateDatabase/private-database.module';
import terminateWebCoach from './actions/terminate-webcoach/terminate-webcoach.module';
import terminateAllDOm from './actions/terminate-all-dom/module';
+import terminateVrack from './actions/terminate-vrack';
import update from './actions/update/update.module';
import warnNicBilling from './actions/warnNicBilling/warnNicBilling.module';
import warnPendingDebt from './actions/warnPendingDebt/pending-debt.module';
@@ -72,6 +73,7 @@ angular
terminatePrivateDatabase,
terminateWebCoach,
terminateAllDOm,
+ terminateVrack,
uiRouter,
update,
warnNicBilling,
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js b/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js
index 5a58546718ac..67a6b14c92a9 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js
@@ -95,6 +95,7 @@ export default /* @ngInject */ ($stateProvider, coreConfigProvider) => {
},
featureAvailability: /* @ngInject */ (ovhFeatureFlipping) =>
ovhFeatureFlipping.checkFeatureAvailability([
+ 'vrack:delete',
'billing:management',
'billing:autorenew2016Deployment',
]),
@@ -107,6 +108,8 @@ export default /* @ngInject */ ($stateProvider, coreConfigProvider) => {
featureAvailability?.isFeatureAvailable(
'billing:autorenew2016Deployment',
) || false,
+ canDeleteVrack: /* @ngInject */ (featureAvailability) =>
+ featureAvailability?.isFeatureAvailable('vrack:delete') || false,
hideBreadcrumb: /* @ngInject */ () => true,
trackingPrefix: () => 'dedicated::account::billing::autorenew',
},
From be04dd5589018d575dd2f7f82a893ebc5d5153e9 Mon Sep 17 00:00:00 2001
From: darsene <72250222+darsene@users.noreply.github.com>
Date: Mon, 13 Jan 2025 17:46:33 +0100
Subject: [PATCH 12/14] feat(dbaas.logs): add cluster region on LDP dashboard
(#14792)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ref: MANAGER-15750
Signed-off-by: David Arsène
---
.../modules/dbaas-logs/src/logs/detail/home/logs-home.html | 5 +++++
.../dbaas-logs/src/logs/translations/Messages_de_DE.json | 3 ++-
.../dbaas-logs/src/logs/translations/Messages_en_GB.json | 3 ++-
.../dbaas-logs/src/logs/translations/Messages_es_ES.json | 3 ++-
.../dbaas-logs/src/logs/translations/Messages_fr_CA.json | 1 +
.../dbaas-logs/src/logs/translations/Messages_fr_FR.json | 1 +
.../dbaas-logs/src/logs/translations/Messages_it_IT.json | 3 ++-
.../dbaas-logs/src/logs/translations/Messages_pl_PL.json | 3 ++-
.../dbaas-logs/src/logs/translations/Messages_pt_PT.json | 3 ++-
9 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/packages/manager/modules/dbaas-logs/src/logs/detail/home/logs-home.html b/packages/manager/modules/dbaas-logs/src/logs/detail/home/logs-home.html
index a33d64e993cf..6a76cbb89b79 100644
--- a/packages/manager/modules/dbaas-logs/src/logs/detail/home/logs-home.html
+++ b/packages/manager/modules/dbaas-logs/src/logs/detail/home/logs-home.html
@@ -241,6 +241,11 @@
data-description="{{ctrl.getPlanName()}}"
>
+
+
Date: Tue, 14 Jan 2025 13:01:48 +0100
Subject: [PATCH 13/14] feat(nutanix): revert add VLAN ID field in cluster
redeployment (#14482)" (#14898)
ref: MANAGER-14545
Signed-off-by: Nicolas Pierre-charles
---
.../general-info/redeploy/controller.js | 4 --
.../general-info/redeploy/template.html | 37 ++-----------------
.../redeploy/translations/Messages_fr_FR.json | 5 +--
3 files changed, 5 insertions(+), 41 deletions(-)
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js
index 3071e3f16e98..b97fd2c4609a 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/controller.js
@@ -125,7 +125,6 @@ export default class NutanixGeneralInfoRedeployCtrl {
erasureCoding,
prismCentral,
prismElementVip,
- infraVlanNumber,
gatewayCidr,
version,
nodes,
@@ -134,7 +133,6 @@ export default class NutanixGeneralInfoRedeployCtrl {
erasureCoding,
prismCentral,
prismElementVip,
- infraVlanNumber,
gatewayCidr,
version,
nodes: this.getNodesWithDisplayName(nodes),
@@ -152,7 +150,6 @@ export default class NutanixGeneralInfoRedeployCtrl {
erasureCoding,
prismCentral,
prismElementVip,
- infraVlanNumber,
gatewayCidr,
version,
nodes,
@@ -169,7 +166,6 @@ export default class NutanixGeneralInfoRedeployCtrl {
}),
...(redundancyFactor && { redundancyFactor }),
...(prismElementVip && { prismElementVip }),
- ...(infraVlanNumber && { infraVlanNumber }),
...(gatewayCidr && { gatewayCidr }),
...(version && { version }),
};
diff --git a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html
index 45cf96a710c3..809ec9cc3e69 100644
--- a/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html
+++ b/packages/manager/modules/nutanix/src/dashboard/general-info/redeploy/template.html
@@ -187,7 +187,7 @@
>
/>
data-translate="nutanix_redeploy_prism_element_vip_description"
>
/>
-
Date: Wed, 15 Jan 2025 10:52:42 +0100
Subject: [PATCH 14/14] feat(dedicated): revert delete vrack from billing
autorenew page
ref: MANAGER-15077
Signed-off-by: Nicolas Pierre-charles
---
.../billing-confirmTerminate.service.js | 4 --
.../services-actions.component.js | 1 -
.../services-actions.controller.js | 5 +--
.../components/utils/billing.links.service.js | 5 ---
.../actions/terminate-vrack/component.js | 14 ------
.../actions/terminate-vrack/constants.js | 5 ---
.../actions/terminate-vrack/controller.js | 34 --------------
.../actions/terminate-vrack/index.js | 25 -----------
.../actions/terminate-vrack/routing.js | 35 ---------------
.../actions/terminate-vrack/template.html | 44 -------------------
.../translations/Messages_de_DE.json | 8 ----
.../translations/Messages_en_GB.json | 8 ----
.../translations/Messages_es_ES.json | 8 ----
.../translations/Messages_fr_CA.json | 9 ----
.../translations/Messages_fr_FR.json | 9 ----
.../translations/Messages_it_IT.json | 8 ----
.../translations/Messages_pl_PL.json | 8 ----
.../translations/Messages_pt_PT.json | 8 ----
.../src/autoRenew/autorenew.component.js | 1 -
.../billing/src/autoRenew/autorenew.html | 1 -
.../billing/src/autoRenew/autorenew.module.js | 2 -
.../src/autoRenew/autorenew.routing.js | 3 --
22 files changed, 1 insertion(+), 244 deletions(-)
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json
delete mode 100644 packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json
diff --git a/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js b/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js
index 8c0ccb692623..364301571359 100644
--- a/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js
+++ b/packages/manager/modules/billing-components/src/components/cancellation-form/billing-confirmTerminate.service.js
@@ -55,10 +55,6 @@ export default class BillingTerminate {
return this.$http.post(`/services/${serviceId}/terminate`);
}
- serviceTerminationForVrack(serviceId) {
- return this.$http.post(`/vrack/${serviceId}/terminate`);
- }
-
getTerminationForm(serviceId) {
return this.OvhApiServices.Form()
.v6()
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
index dfddbd2c8712..4b087722c065 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.component.js
@@ -4,7 +4,6 @@ import template from './services-actions.html';
export default {
bindings: {
billingManagementAvailability: '<',
- deleteVrackAvailability: '<',
service: '<',
trackingPrefix: '@?',
trackingPage: '@?',
diff --git a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
index 5d8f5affb4b3..94666b26f406 100644
--- a/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
+++ b/packages/manager/modules/billing-components/src/components/services-actions/services-actions.controller.js
@@ -65,12 +65,9 @@ export default class ServicesActionsCtrl {
}
canResiliate() {
- if (this.service.serviceType === this.SERVICE_TYPE.VRACK) {
- return this.deleteVrackAvailability && !!this.resiliateLink;
- }
-
return ![
SERVICE_TYPE.PACK_XDSL,
+ SERVICE_TYPE.VRACK,
SERVICE_TYPE.VMWARE_CLOUD_DIRECTOR_ORGANIZATION,
].includes(this.service.serviceType);
}
diff --git a/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js b/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
index 7b1b881573a8..608be0579ccf 100644
--- a/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
+++ b/packages/manager/modules/billing-components/src/components/utils/billing.links.service.js
@@ -100,11 +100,6 @@ export default class BillingLinksService {
? resiliationByEndRuleLink
: `${autorenewLink}/delete-all-dom?serviceId=${service.serviceId}&serviceType=${service.serviceType}`;
break;
- case SERVICE_TYPE.VRACK:
- if (service.status !== 'suspended') {
- links.resiliateLink = `${autorenewLink}/terminate-vrack?service=${service.serviceId}${serviceTypeParam}`;
- }
- break;
case SERVICE_TYPE.OKMS:
case SERVICE_TYPE.VRACK_SERVICES:
case SERVICE_TYPE.LICENSE_HYCU:
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js
deleted file mode 100644
index dabe2a119f69..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/component.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import template from './template.html';
-import controller from './controller';
-
-export default {
- bindings: {
- goBack: '<',
- service: '<',
- serviceType: '<',
- isEmpty: '<',
- },
- controller,
- template,
- name: 'billingAutorenewTerminateVrack',
-};
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js
deleted file mode 100644
index 203add1344d7..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/constants.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export const TERMINATE_PATTERN = /^TERMINATE$/;
-
-export default {
- TERMINATE_PATTERN,
-};
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js
deleted file mode 100644
index c8e2d14f4a6a..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/controller.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { TERMINATE_PATTERN } from './constants';
-
-export default class TerminateVrackController {
- /* @ngInject */
- constructor($translate, BillingTerminate) {
- this.TERMINATE_PATTERN = TERMINATE_PATTERN;
- this.$translate = $translate;
- this.BillingTerminate = BillingTerminate;
- }
-
- terminate() {
- this.BillingTerminate.serviceTerminationForVrack(this.service)
- .then(() => this.onSuccess())
- .catch((error) => this.onError({ error }));
- }
-
- onSuccess() {
- this.goBack(
- this.$translate.instant(
- `autorenew_agora_terminate_service_success_VRACK`,
- ),
- 'success',
- );
- }
-
- onError(error) {
- this.goBack(
- this.$translate.instant(`autorenew_agora_terminate_service_error_VRACK`, {
- error: error?.data?.message,
- }),
- 'danger',
- );
- }
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js
deleted file mode 100644
index d04d0f812cc1..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/index.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import angular from 'angular';
-import angularTranslate from 'angular-translate';
-import ngAtInternet from '@ovh-ux/ng-at-internet';
-import ngTranslateAsyncLoader from '@ovh-ux/ng-translate-async-loader';
-import '@ovh-ux/ui-kit';
-import uiRouter from '@uirouter/angularjs';
-
-import component from './component';
-import routing from './routing';
-
-const moduleName = 'ovhManagerBillingAutorenewTerminateVrack';
-
-angular
- .module(moduleName, [
- angularTranslate,
- ngAtInternet,
- ngTranslateAsyncLoader,
- 'oui',
- uiRouter,
- ])
- .config(routing)
- .component(component.name, component)
- .run(/* @ngTranslationsInject:json ./translations */);
-
-export default moduleName;
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js
deleted file mode 100644
index 7da55d0aff4c..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/routing.js
+++ /dev/null
@@ -1,35 +0,0 @@
-export default /* @ngInject */ ($stateProvider) => {
- $stateProvider.state('app.account.billing.autorenew.terminateVrack', {
- url: '/terminate-vrack?service&serviceType',
- views: {
- modal: {
- component: 'billingAutorenewTerminateVrack',
- },
- },
- layout: 'modal',
- resolve: {
- goBack: /* @ngInject */ (goToAutorenew) => goToAutorenew,
- service: /* @ngInject */ ($transition$) => $transition$.params().service,
- serviceType: /* @ngInject */ ($transition$) =>
- $transition$.params().serviceType,
- isEmpty: /* @ngInject */ (OvhApiVrack, service) =>
- OvhApiVrack.Aapi()
- .services({ serviceName: service })
- .$promise.then((allServicesParam) => {
- const services = Object.entries(allServicesParam).filter(
- ([, value]) => {
- return Array.isArray(value) && value.length;
- },
- );
- return !services.length;
- })
- .catch(() => {
- return false;
- }),
- breadcrumb: () => null,
- },
- atInternet: {
- ignore: true,
- },
- });
-};
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html
deleted file mode 100644
index ec65d14fcc52..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/template.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json
deleted file mode 100644
index 73b0e1a7bff5..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_de_DE.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Mein vRack löschen",
- "autorenew_agora_terminate_vrack_blocked_description": "Um Ihr vRack zu löschen, müssen Sie zuerst alle damit verbundenen Dienste trennen.",
- "autorenew_agora_terminate_vrack_blocked_close": "Schließen",
- "autorenew_agora_terminate_service_VRACK": "vRack löschen",
- "autorenew_agora_terminate_service_success_VRACK": "Ihre Anfrage zur Löschung Ihres vRack wurde registriert. Eine E-Mail mit weiteren Informationen zur Vorgehensweise wurde soeben an Sie versandt.",
- "autorenew_agora_terminate_service_error_VRACK": "Bei der Anfrage zur Löschung Ihres vRacks ist ein Fehler aufgetreten. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json
deleted file mode 100644
index 4d8e91ca217b..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_en_GB.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Delete my vRack",
- "autorenew_agora_terminate_vrack_blocked_description": "To delete your vRack, you have to first disconnect all of the services linked to it",
- "autorenew_agora_terminate_vrack_blocked_close": "Close",
- "autorenew_agora_terminate_service_VRACK": "Delete vRack",
- "autorenew_agora_terminate_service_success_VRACK": "Your vRack deletion request has been submitted. You have been sent an email detailing the steps to follow.",
- "autorenew_agora_terminate_service_error_VRACK": "An error has occurred submitting your vRack deletion request. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json
deleted file mode 100644
index de3bdf04e61a..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_es_ES.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Eliminar mi vRack",
- "autorenew_agora_terminate_vrack_blocked_description": "Para eliminar el vRack, deberá desconectar previamente todos los servicios asociados.",
- "autorenew_agora_terminate_vrack_blocked_close": "Cerrar",
- "autorenew_agora_terminate_service_VRACK": "Eliminar vRack",
- "autorenew_agora_terminate_service_success_VRACK": "La solicitud de eliminación del vRack se ha enviado correctamente. Le hemos enviado un mensaje de correo electrónico con el procedimiento que debe seguir.",
- "autorenew_agora_terminate_service_error_VRACK": "Se ha producido un error al solicitar la eliminación del vRack. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json
deleted file mode 100644
index 07714c8520d5..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_CA.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Supprimer mon Vrack",
- "autorenew_agora_terminate_vrack_blocked_description": "Afin de supprimer votre Vrack vous devez au préalable deconnecter tous les services qui y sont ratachés",
- "autorenew_agora_terminate_vrack_blocked_close": "Fermer",
- "autorenew_agora_terminate_service_VRACK": "Supprimer Vrack",
- "autorenew_agora_terminate_service_warning_VRACK": "Veuillez confirmer la suppression de Vrack",
- "autorenew_agora_terminate_service_success_VRACK": "Votre demande de suppression de votre Vrack a été prise en compte. Un e-mail contenant la procédure vous a été envoyé.",
- "autorenew_agora_terminate_service_error_VRACK": "Une erreur est survenue lors de la demande de suppression de votre Vrack. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json
deleted file mode 100644
index 07714c8520d5..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_fr_FR.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Supprimer mon Vrack",
- "autorenew_agora_terminate_vrack_blocked_description": "Afin de supprimer votre Vrack vous devez au préalable deconnecter tous les services qui y sont ratachés",
- "autorenew_agora_terminate_vrack_blocked_close": "Fermer",
- "autorenew_agora_terminate_service_VRACK": "Supprimer Vrack",
- "autorenew_agora_terminate_service_warning_VRACK": "Veuillez confirmer la suppression de Vrack",
- "autorenew_agora_terminate_service_success_VRACK": "Votre demande de suppression de votre Vrack a été prise en compte. Un e-mail contenant la procédure vous a été envoyé.",
- "autorenew_agora_terminate_service_error_VRACK": "Une erreur est survenue lors de la demande de suppression de votre Vrack. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json
deleted file mode 100644
index 93a69d219ca7..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_it_IT.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Eliminare la tua vRack",
- "autorenew_agora_terminate_vrack_blocked_description": "Per eliminare la tua vRrack è prima necessario disconnettere tutti i servizi ad essa associati.",
- "autorenew_agora_terminate_vrack_blocked_close": "Chiudere",
- "autorenew_agora_terminate_service_VRACK": "Eliminare la vRack",
- "autorenew_agora_terminate_service_success_VRACK": "La tua richiesta di eliminazione della vRack è stata presa in carico. Ti abbiamo inviato un’email con la procedura da seguire.",
- "autorenew_agora_terminate_service_error_VRACK": "Si è verificato un errore durante la richiesta di eliminazione della tua vRack: {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json
deleted file mode 100644
index 0407e566f19c..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pl_PL.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Usuń vRack",
- "autorenew_agora_terminate_vrack_blocked_description": "Aby usunąć vRack, najpierw należy odłączyć wszystkie przypisane do niego usługi",
- "autorenew_agora_terminate_vrack_blocked_close": "Zamknij",
- "autorenew_agora_terminate_service_VRACK": "Usuń vRack",
- "autorenew_agora_terminate_service_success_VRACK": "Dyspozycja usunięcia vRacka została przyjęta. Otrzymasz e-mail z opisem dalszej procedury.",
- "autorenew_agora_terminate_service_error_VRACK": "Wystąpił błąd podczas usuwania vRacka. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json b/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json
deleted file mode 100644
index c4f821fccb60..000000000000
--- a/packages/manager/modules/billing/src/autoRenew/actions/terminate-vrack/translations/Messages_pt_PT.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "autorenew_agora_terminate_vrack_blocked_title": "Eliminar o meu vRack",
- "autorenew_agora_terminate_vrack_blocked_description": "Para eliminar o seu vRack, deve desligar previamente todos os serviços que estão associados ao mesmo.",
- "autorenew_agora_terminate_vrack_blocked_close": "Fechar",
- "autorenew_agora_terminate_service_VRACK": "Eliminar o vRack",
- "autorenew_agora_terminate_service_success_VRACK": "O seu pedido de eliminação do seu vRack foi registado. Um e-mail com o procedimento foi-lhe enviado.",
- "autorenew_agora_terminate_service_error_VRACK": "Ocorreu um erro aquando do pedido de eliminação do seu vRack. {{error}}"
-}
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.component.js b/packages/manager/modules/billing/src/autoRenew/autorenew.component.js
index 5658eee2263c..b19e0bd6e6dd 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.component.js
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.component.js
@@ -19,7 +19,6 @@ export default {
hasAutoRenew: '<',
homeLink: '<',
isAutorenewManagementAvailable: '<',
- canDeleteVrack: '<',
isAutorenew2016DeploymentBannerAvailable: '<',
isEnterpriseCustomer: '<',
nicBilling: '<',
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.html b/packages/manager/modules/billing/src/autoRenew/autorenew.html
index 0b3e7528869f..bcd8b6868ebc 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.html
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.html
@@ -244,7 +244,6 @@
tracking-page="{{ $ctrl.trackingPage }}"
user="$ctrl.currentUser"
billing-management-availability="$ctrl.isAutorenewManagementAvailable"
- delete-vrack-availability="$ctrl.canDeleteVrack"
>
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.module.js b/packages/manager/modules/billing/src/autoRenew/autorenew.module.js
index 4608d16eb06f..20a7e9b9688a 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.module.js
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.module.js
@@ -31,7 +31,6 @@ import terminateHostingWeb from './actions/terminateHostingWeb/hosting-web.modul
import terminatePrivateDatabase from './actions/terminatePrivateDatabase/private-database.module';
import terminateWebCoach from './actions/terminate-webcoach/terminate-webcoach.module';
import terminateAllDOm from './actions/terminate-all-dom/module';
-import terminateVrack from './actions/terminate-vrack';
import update from './actions/update/update.module';
import warnNicBilling from './actions/warnNicBilling/warnNicBilling.module';
import warnPendingDebt from './actions/warnPendingDebt/pending-debt.module';
@@ -73,7 +72,6 @@ angular
terminatePrivateDatabase,
terminateWebCoach,
terminateAllDOm,
- terminateVrack,
uiRouter,
update,
warnNicBilling,
diff --git a/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js b/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js
index 67a6b14c92a9..5a58546718ac 100644
--- a/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js
+++ b/packages/manager/modules/billing/src/autoRenew/autorenew.routing.js
@@ -95,7 +95,6 @@ export default /* @ngInject */ ($stateProvider, coreConfigProvider) => {
},
featureAvailability: /* @ngInject */ (ovhFeatureFlipping) =>
ovhFeatureFlipping.checkFeatureAvailability([
- 'vrack:delete',
'billing:management',
'billing:autorenew2016Deployment',
]),
@@ -108,8 +107,6 @@ export default /* @ngInject */ ($stateProvider, coreConfigProvider) => {
featureAvailability?.isFeatureAvailable(
'billing:autorenew2016Deployment',
) || false,
- canDeleteVrack: /* @ngInject */ (featureAvailability) =>
- featureAvailability?.isFeatureAvailable('vrack:delete') || false,
hideBreadcrumb: /* @ngInject */ () => true,
trackingPrefix: () => 'dedicated::account::billing::autorenew',
},