Skip to content

Commit

Permalink
feat(hpc-vmware-managed-vcd): add new product VCD (#12552)
Browse files Browse the repository at this point in the history
ref: MANAGER-14354

Signed-off-by: David Arsène <[email protected]>
Co-authored-by: Paul Dickerson <[email protected]>
Co-authored-by: Thibault Barske <[email protected]>
Co-authored-by: Nicolas Pierre-charles <[email protected]>
  • Loading branch information
4 people committed Oct 21, 2024
1 parent e3e3439 commit 8e2d6f3
Show file tree
Hide file tree
Showing 234 changed files with 6,824 additions and 41 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ node_modules
cache
dist
!**/iam/**/types
!**/apps/**/types
.memsourcerc.yaml
/docs/docs/public/assets/json/packages.json
.extras*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
export interface IamObject {
id: string;
urn: string;
displayName?: string;
}

export interface IamInterface {
urns?: string[];
actions?: string[];
Expand Down
1 change: 1 addition & 0 deletions packages/manager-react-components/src/hooks/iam/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export * from './iam.interface';
export * from './useOvhIam';
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export const fetchAuthorizationCheck = async (
urn: string,
): Promise<IamCheckResponse> => {
const { data } = await apiClient.v2.post(
`/iam/resource/${urn}/authorization/check`,
`/iam/resource/${encodeURIComponent(urn)}/authorization/check`,
{
actions,
},
Expand Down
1 change: 1 addition & 0 deletions packages/manager-react-components/src/hooks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export * from './datagrid/useResourcesV6';
export * from './services';
export * from './tasks';
export * from './date';
export * from './iam';
export { useProductMaintenance } from './pci/useMaintenance';
export {
getMacroRegion,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import veeamBackupLogo from '@/assets/images/sidebar/veeam-backup-logo.png';

const features = [
'dedicated-cloud',
'hpc-vmware-managed-vcd',
'dedicated-cloud:sapHanaOrder',
'nutanix',
'veeam-enterprise',
Expand Down Expand Up @@ -66,7 +67,7 @@ export default function HostedPrivateCloudSidebar() {
if (feature['dedicated-cloud']) {
menu.push({
id: 'hpc-dedicated-cloud',
label: t('sidebar_vmware'),
label: t('sidebar_vmware_vsphere'),
icon: getIcon('ovh-font ovh-font-dedicatedCloud'),
routeMatcher: new RegExp(`^(/configuration)?/dedicated_cloud`),
async loader() {
Expand Down Expand Up @@ -97,6 +98,36 @@ export default function HostedPrivateCloudSidebar() {
});
}

if (feature['hpc-vmware-managed-vcd']) {
menu.push({
id: 'hpc-managed-vcd',
label: t('sidebar_vmware_vcd'),
icon: getIcon('ovh-font ovh-font-dedicatedCloud'),
pathMatcher: new RegExp(`^/hpc-vmware-managed-vcd`),
async loader() {
const app = 'hpc-vmware-managed-vcd'
const services = await loadServices('/vmwareCloudDirector/organization', null, app);
const icon = getIcon('ovh-font ovh-font-dedicatedCloud');
return [
{
id: 'dedicated-vmware-vcd-all',
label: t('sidebar_vmware_all'),
href: navigation.getURL(app, '/'),
icon,
ignoreSearch: true,
},
...services.map((service) => ({
...service,
icon,
pathMatcher: new RegExp(
`^/hpc-vmware-managed-vcd/${service.serviceName}`,
),
})),
];
},
});
}

if (feature.nutanix) {
menu.push({
id: 'nutanix',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,26 @@ hostedPrivateCloudUniverse.children = [
id: 'vm-ware',
idAttr: 'vm-ware-link',
universe: hostedPrivateCloudUniverse.id,
translation: 'sidebar_vmware',
translation: 'sidebar_vmware_vsphere',
serviceType: 'DEDICATEDCLOUD_VMWARE',
routing: {
application: 'dedicated',
hash: '#/dedicated_cloud',
},
features: ['dedicated-cloud'],
},
{
id: 'hpc-managed-vcd',
universe: hostedPrivateCloudUniverse.id,
translation: 'sidebar_vmware_vcd',
serviceType: 'MANAGED_VCD',
tag: NodeTag.NEW,
routing: {
application: 'hpc-vmware-managed-vcd',
hash: '#/',
},
features: ['hpc-vmware-managed-vcd'],
},
{
id: 'nutanix',
idAttr: 'nutanix-link',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@
"sidebar_hycu": "HYCU",
"sidebar_all_hycu": "Alle meine Lizenzen",
"sidebar_veeam_backup": "Managed Veeam für VCD",
"sidebar_all_veeam_backup": "Alle Dienstleistungen"
"sidebar_all_veeam_backup": "Alle Dienstleistungen",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD"
}
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@
"sidebar_hycu": "HYCU",
"sidebar_all_hycu": "All my licenses",
"sidebar_veeam_backup": "Managed Veeam for VCD",
"sidebar_all_veeam_backup": "All services"
"sidebar_all_veeam_backup": "All services",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD"
}
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@
"sidebar_hycu": "HYCU",
"sidebar_all_hycu": "Todas mis licencias",
"sidebar_veeam_backup": "Managed Veeam for VCD",
"sidebar_all_veeam_backup": "Todos los servicios"
"sidebar_all_veeam_backup": "Todos los servicios",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD"
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
"sidebar_licences": "Licences",
"sidebar_hpc": "Hosted Private Cloud",
"sidebar_hpc_short": "HPC",
"sidebar_vmware": "VMware",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD",
"sidebar_vmware_all": "Tous mes services",
"sidebar_anthos_all": "Tous mes déploiements",
"sidebar_nutanix": "Nutanix",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
"sidebar_licences": "Licences",
"sidebar_hpc": "Hosted Private Cloud",
"sidebar_hpc_short": "HPC",
"sidebar_vmware": "VMware",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD",
"sidebar_vmware_all": "Tous mes services",
"sidebar_anthos_all": "Tous mes déploiements",
"sidebar_nutanix": "Nutanix",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@
"sidebar_hycu": "HYCU",
"sidebar_all_hycu": "Tutte le mie licenze",
"sidebar_veeam_backup": "Managed Veeam for VCD",
"sidebar_all_veeam_backup": "Tutti i servizi"
"sidebar_all_veeam_backup": "Tutti i servizi",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD"
}
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@
"sidebar_hycu": "HYCU",
"sidebar_all_hycu": "Wszystkie moje licencje",
"sidebar_veeam_backup": "Managed Veeam for VCD",
"sidebar_all_veeam_backup": "Wszystkie usługi"
"sidebar_all_veeam_backup": "Wszystkie usługi",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD"
}
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@
"sidebar_hycu": "HYCU",
"sidebar_all_hycu": "Todas as minhas licenças",
"sidebar_veeam_backup": "Managed Veeam for VCD",
"sidebar_all_veeam_backup": "Todos os serviços"
"sidebar_all_veeam_backup": "Todos os serviços",
"sidebar_vmware_vsphere": "Managed VMware vSphere",
"sidebar_vmware_vcd": "Managed VCD"
}
Original file line number Diff line number Diff line change
Expand Up @@ -546,5 +546,6 @@
"core_pcc_top_guide_11_title": "Offizielle Dokumentation zu Nutanix",
"older_interface": "Altes Kundeninterface",
"core_pcc_top_guide_12_title": "Offizielle Dokumentation zu SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "IPs die Verbindung zum vCenter erlauben"
"core_pcc_top_guide_13_title": "IPs die Verbindung zum vCenter erlauben",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director"
}
Original file line number Diff line number Diff line change
Expand Up @@ -546,5 +546,6 @@
"common_resiliate_contact_support": "To cancel this service, please call our support team on: <strong>0333 370 0425</strong>. Thank you for choosing OVH.",
"core_pcc_top_guide_11_title": "Nutanix official documentation",
"core_pcc_top_guide_12_title": "SAP HANA on Private Cloud official documentation",
"core_pcc_top_guide_13_title": "Authorise IPs to connect to vCenter"
"core_pcc_top_guide_13_title": "Authorise IPs to connect to vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director"
}
Original file line number Diff line number Diff line change
Expand Up @@ -546,5 +546,6 @@
"common_resiliate_contact_support": "Para dar de baja este servicio, puede ponerse en contacto con nuestro Soporte en el <strong>91 758 34 77</strong>. ¡Gracias por su comprensión!",
"core_pcc_top_guide_11_title": "Documentación oficial de Nutanix",
"core_pcc_top_guide_12_title": "Documentación oficial de SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "Autorizar las direcciones IP a conectarse al vCenter"
"core_pcc_top_guide_13_title": "Autorizar las direcciones IP a conectarse al vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director"
}
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,7 @@
"core_pcc_top_guide_11_title": "Documentation officielle de Nutanix",
"core_pcc_top_guide_12_title": "Documentation officielle de SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "Autoriser des IP à se connecter au vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director",
"sso_modal_title": "OVH - Authentification",
"sso_modal_loading": "Chargement...",
"sso_modal_user_title": "Vous étiez connecté en tant que :",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,7 @@
"core_pcc_top_guide_11_title": "Documentation officielle de Nutanix",
"core_pcc_top_guide_12_title": "Documentation officielle de SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "Autoriser des IP à se connecter au vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director",
"sso_modal_title": "OVH - Authentification",
"sso_modal_loading": "Chargement...",
"sso_modal_user_title": "Vous étiez connecté en tant que :",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -546,5 +546,6 @@
"common_resiliate_contact_support": "Per disattivare questo servizio, contatta il nostro supporto tecnico al numero <strong>02 5560 0423</strong> o apri un ticket.",
"core_pcc_top_guide_11_title": "Documentazione ufficiale di Nutanix",
"core_pcc_top_guide_12_title": "Documentazione ufficiale di SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "Autorizzare IP a connettersi al vCenter"
"core_pcc_top_guide_13_title": "Autorizzare IP a connettersi al vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director"
}
Original file line number Diff line number Diff line change
Expand Up @@ -546,5 +546,6 @@
"common_resiliate_contact_support": "Aby zrezygnować z tej usługi, skontaktuj się z Pomocą techniczną. Zadzwoń na numer: <strong>71 750 02 00</strong> i <strong>wybierz 3.</strong> Dziękujemy za wyrozumiałość.",
"core_pcc_top_guide_11_title": "Oficjalna dokumentacja Nutanix",
"core_pcc_top_guide_12_title": "Oficjalna dokumentacja SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "Autoryzacja adresów IP, które mogą łączyć się z vCenter"
"core_pcc_top_guide_13_title": "Autoryzacja adresów IP, które mogą łączyć się z vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Director"
}
Original file line number Diff line number Diff line change
Expand Up @@ -546,5 +546,6 @@
"common_resiliate_contact_support": "Para cancelar este serviço, contacte o nosso apoio ao cliente através do <strong>+351 213 155 642</strong>. Obrigado pela sua compreensão.",
"core_pcc_top_guide_11_title": "Documentação oficial da Nutanix",
"core_pcc_top_guide_12_title": "Documentação oficial do SAP HANA on Private Cloud",
"core_pcc_top_guide_13_title": "Autorizar endereços IP a ligar-se ao vCenter"
"core_pcc_top_guide_13_title": "Autorizar endereços IP a ligar-se ao vCenter",
"core_pcc_top_guide_14_title": "VMware on OVHcloud - VMware Cloud Diretor"
}
Original file line number Diff line number Diff line change
Expand Up @@ -1143,6 +1143,12 @@ const constants = {
atInternetClickTag: 'TopGuide-PrivateCloud-10',
url: 'http://pubs.vmware.com/NSX-62/index.jsp?lang=fr',
},
{
title: 'core_pcc_top_guide_14_title',
atInternetClickTag: 'TopGuide-PrivateCloud-14',
url:
'https://help.ovhcloud.com/csm/fr-documentation-hosted-private-cloud-hosted-private-cloud-powered-by-vmware-vcd?id=kb_browse_cat&kb_id=62e4cfed55d574502d4c6e78b7421953&kb_category=a249c12ef5adca941e11c2f7954b95ad&spa=1',
},
],
de_DE: [
{
Expand Down Expand Up @@ -1202,6 +1208,12 @@ const constants = {
url:
'https://docs.vmware.com/de/VMware-NSX-Data-Center-for-vSphere/index.html',
},
{
title: 'core_pcc_top_guide_14_title',
atInternetClickTag: 'TopGuide-PrivateCloud-14',
url:
'https://help.ovhcloud.com/csm/worldeuro-documentation-hosted-private-cloud-hosted-private-cloud-powered-by-vmware-vcd?id=kb_browse_cat&kb_id=62e4cfed55d574502d4c6e78b7421953&kb_category=a249c12ef5adca941e11c2f7954b95ad',
},
],
en_GB: [
{
Expand Down Expand Up @@ -1258,6 +1270,12 @@ const constants = {
atInternetClickTag: 'TopGuide-PrivateCloud-10',
url: 'http://pubs.vmware.com/NSX-62/index.jsp?lang=en',
},
{
title: 'core_pcc_top_guide_14_title',
atInternetClickTag: 'TopGuide-PrivateCloud-14',
url:
'https://help.ovhcloud.com/csm/worldeuro-documentation-hosted-private-cloud-hosted-private-cloud-powered-by-vmware-vcd?id=kb_browse_cat&kb_id=62e4cfed55d574502d4c6e78b7421953&kb_category=a249c12ef5adca941e11c2f7954b95ad',
},
],
},
},
Expand Down Expand Up @@ -1831,6 +1849,12 @@ const constants = {
atInternetClickTag: 'TopGuide-PrivateCloud-10',
url: 'http://pubs.vmware.com/NSX-62/index.jsp?lang=fr',
},
{
title: 'core_pcc_top_guide_14_title',
atInternetClickTag: 'TopGuide-PrivateCloud-14v',
url:
'https://help.ovhcloud.com/csm/fr-documentation-hosted-private-cloud-hosted-private-cloud-powered-by-vmware-vcd?id=kb_browse_cat&kb_id=62e4cfed55d574502d4c6e78b7421953&kb_category=a249c12ef5adca941e11c2f7954b95ad&spa=1',
},
],
de_DE: [
{
Expand Down Expand Up @@ -1890,6 +1914,12 @@ const constants = {
url:
'https://docs.vmware.com/de/VMware-NSX-Data-Center-for-vSphere/index.html',
},
{
title: 'core_pcc_top_guide_14_title',
atInternetClickTag: 'TopGuide-PrivateCloud-14',
url:
'https://help.ovhcloud.com/csm/worldeuro-documentation-hosted-private-cloud-hosted-private-cloud-powered-by-vmware-vcd?id=kb_browse_cat&kb_id=62e4cfed55d574502d4c6e78b7421953&kb_category=a249c12ef5adca941e11c2f7954b95ad',
},
],
en_GB: [
{
Expand Down Expand Up @@ -1946,6 +1976,12 @@ const constants = {
atInternetClickTag: 'TopGuide-PrivateCloud-10',
url: 'http://pubs.vmware.com/NSX-62/index.jsp?lang=en',
},
{
title: 'core_pcc_top_guide_14_title',
atInternetClickTag: 'TopGuide-PrivateCloud-14',
url:
'https://help.ovhcloud.com/csm/worldeuro-documentation-hosted-private-cloud-hosted-private-cloud-powered-by-vmware-vcd?id=kb_browse_cat&kb_id=62e4cfed55d574502d4c6e78b7421953&kb_category=a249c12ef5adca941e11c2f7954b95ad',
},
],
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,11 @@ export default /* @ngInject */ ($stateProvider) => {

managedVCDAvailability: /* @ngInject */ (ovhFeatureFlipping) =>
ovhFeatureFlipping
.checkFeatureAvailability('hpc-vmware-managed-vcd')
.checkFeatureAvailability('dedicated-cloud:vcd-migration')
.then((featureAvailability) =>
featureAvailability.isFeatureAvailable('hpc-vmware-managed-vcd'),
featureAvailability.isFeatureAvailable(
'dedicated-cloud:vcd-migration',
),
),

dedicatedCloudServiceInfos: /* @ngInject */ (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,11 @@ export default /* @ngInject */ ($stateProvider) => {

managedVCDAvailability: /* @ngInject */ (ovhFeatureFlipping) =>
ovhFeatureFlipping
.checkFeatureAvailability('hpc-vmware-managed-vcd')
.checkFeatureAvailability('dedicated-cloud:vcd-migration')
.then((featureAvailability) =>
featureAvailability.isFeatureAvailable('hpc-vmware-managed-vcd'),
featureAvailability.isFeatureAvailable(
'dedicated-cloud:vcd-migration',
),
),

dedicatedCloudServiceInfos: /* @ngInject */ (
Expand Down
1 change: 1 addition & 0 deletions packages/manager/apps/hpc-vmware-managed-vcd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
coverage
3 changes: 3 additions & 0 deletions packages/manager/apps/hpc-vmware-managed-vcd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# @ovh-ux/manager-hpc-vmware-managed-vcd-app

> New managed VMware cloud director offers
20 changes: 20 additions & 0 deletions packages/manager/apps/hpc-vmware-managed-vcd/cucumber.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const isCI = process.env.CI;

module.exports = {
default: {
paths: ['e2e/features/**/*.feature'],
require: [
'../../../../playwright-helpers/bdd-setup.ts',
'e2e/**/*.step.ts',
],
requireModule: ['ts-node/register'],
format: [
'summary',
isCI ? 'progress' : 'progress-bar',
!isCI && ['html', 'e2e/reports/cucumber-results-report.html'],
!isCI && ['usage-json', 'e2e/reports/cucumber-usage-report.json'],
].filter(Boolean),
formatOptions: { snippetInterface: 'async-await' },
retry: 1,
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Feature: Onboarding page

Scenario: User wants to find informations related to hpc-vmware-managed-vcd
Given User has 0 elements in the Listing page
When User navigates to Listing page
Then User gets redirected to Onboarding page
Then User sees 3 guides
Loading

0 comments on commit 8e2d6f3

Please sign in to comment.