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: ' { 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: '

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: ' { + $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" > - + + + +