diff --git a/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/General/schema.js b/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/General/schema.js index 71474a76d7..6f65f34444 100644 --- a/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/General/schema.js +++ b/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/General/schema.js @@ -36,7 +36,9 @@ const INSTANCE_FIELD = { name: 'INSTANCES', label: T.NumberOfInstances, type: INPUT_TYPES.TEXT, - validation: number().required(), + validation: number() + .required() + .default(() => 1), fieldProps: { type: 'number', }, diff --git a/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/index.js b/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/index.js index dfec7d01dd..ce85cf7867 100644 --- a/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/index.js +++ b/src/fireedge/src/client/components/Forms/ServiceTemplate/InstantiateForm/Steps/index.js @@ -120,6 +120,7 @@ const Steps = createSteps([General, UserInputs, Network, Charter], { ), })), name: generalData?.NAME, + instances: generalData?.INSTANCES, } return formatTemplate diff --git a/src/fireedge/src/client/containers/ServiceTemplates/Instantiate.js b/src/fireedge/src/client/containers/ServiceTemplates/Instantiate.js index d8a67a38bf..bd2ff231fd 100644 --- a/src/fireedge/src/client/containers/ServiceTemplates/Instantiate.js +++ b/src/fireedge/src/client/containers/ServiceTemplates/Instantiate.js @@ -62,11 +62,18 @@ function CreateServiceTemplate() { useGetDatastoresQuery(undefined, { refetchOnMountOrArgChange: false }) const onSubmit = async (jsonTemplate) => { + const { instances = 1 } = jsonTemplate + try { - await instantiate({ - id: templateId, - template: jsonTemplate, - }).unwrap() + await Promise.all( + Array.from({ length: instances }, async () => + instantiate({ + id: templateId, + template: jsonTemplate, + }).unwrap() + ) + ) + history.push(PATH.INSTANCE.SERVICES.LIST) enqueueSuccess(T.SuccessServiceTemplateInitiated, [templateId, NAME]) } catch {}