Your IP : 216.73.216.189


Current Path : /proc/thread-self/root/snap/lxd/39313/share/lxd-ui/assets/
Upload File :
Current File : //proc/thread-self/root/snap/lxd/39313/share/lxd-ui/assets/StoragePoolForm-hvCxtFgL.js

import{r as S,j as r,d as t,a6 as W,b as M,M as B,K as O,a2 as Z,bH as w,cW as ce,cX as ie,S as de,cY as Y,a5 as b}from"./index-BFGypnt-.js";import{z as C,v as $,k as K,j as V,w as R,x as J,y as pe,A as q,B as ue,C as he,p as F,D as I,E,n as D,F as _e,G as ge,H as xe,I as z,J as fe,K as be,L as we,M as me,N as X,i as je,b as ve,d as ye,e as Pe,O as Ce,P as Se,g as n,Q as Fe}from"./useStoragePools-qBtKr1j9.js";import{D as N}from"./DiskSizeSelector-C_YZZUSe.js";import{A as Ie}from"./AutoExpandingTextArea-WEdimI5c.js";import{S as Ee}from"./ScrollableForm-D-7nf2YI.js";import{e as g,F as v}from"./FormMenuItem-fhYfVpHc.js";import{u as G}from"./useClusterMembers-B29_ixY7.js";import{a as De}from"./ClusterMemberRichChip-h3WaiYeI.js";import{C as Q}from"./ClusterSpecificInput-BYM6R5do.js";import{c as ze,o as Ve}from"./YamlSwitch-BQqYYI1i.js";import{g as o}from"./ConfigurationTable-CmO6jSmV.js";import{S as P}from"./ScrollableConfigurationTable-Cdfv_OdM.js";const Ne=({id:e,setValue:a,values:i,helpText:u,disabledReason:h})=>{const{data:d=[]}=G(),c=d.map(_=>_.server_name),[l,p]=S.useState(null),s=Object.values(i??{})[0];S.useEffect(()=>{const _=Object.values(i??{});if(l===null&&_.length>0){const f=_.some(x=>x!==_[0]);p(f)}},[l,i]);const m=_=>{const f={};c.forEach(x=>f[x]=_),a(f)},j=(_,f)=>{const x={...i,[f]:_};a(x)};return r.jsxs("div",{className:"u-sv3",children:[r.jsx(t.Label,{forId:"sizePerClusterMember",children:"Size"}),r.jsx(t.CheckboxInput,{id:`${e}-same-for-all-toggle`,label:"Same for all cluster members",checked:!l,onChange:()=>{m(s),p(_=>!_)},disabled:!!h,title:h}),l&&r.jsxs("div",{className:"cluster-specific-input",children:[c.map(_=>{const f=i?.[_]??"";return r.jsxs(S.Fragment,{children:[r.jsx("div",{className:"cluster-specific-member",children:r.jsx(De,{clusterMember:_})}),r.jsx("div",{className:"cluster-specific-value",children:r.jsx(N,{id:c.indexOf(_)===0?e:`${e}-${_}`,value:f,setMemoryLimit:x=>{j(x,_)},disabled:!!h,classname:"u-no-margin--bottom"})})]},_)}),u&&r.jsx("div",{className:"p-form-help-text cluster-specific-helptext",children:u})]}),!l&&r.jsx("div",{children:r.jsx(N,{id:e,value:s,setMemoryLimit:_=>{m(_)},disabled:!!h,help:u})})]})},T=e=>[C,$,K].includes(e),Ae=e=>[V,K,$,C,R,J].includes(e),dr=(e,a,i)=>{const u={},h={},d={};return a?.forEach(c=>{T(c.driver)&&(d[c.memberName]=c.config?.size??""),u[c.memberName]=c.config?.source??"",h[c.memberName]=c.config?.["zfs.pool_name"]??""}),{barePool:e,ceph_cluster_name:e.config?.["ceph.cluster_name"],ceph_osd_pg_num:e.config?.["ceph.osd.pg_num"],ceph_rbd_clone_copy:e.config?.["ceph.rbd.clone_copy"],ceph_rbd_du:e.config?.["ceph.rbd.du"],ceph_user_name:e.config?.["ceph.user.name"],ceph_rbd_features:e.config?.["ceph.rbd.features"],cephfs_cluster_name:e.config?.["cephfs.cluster_name"],cephfs_create_missing:e.config?.["cephfs.create_missing"],cephfs_fscache:e.config?.["cephfs.fscache"],cephfs_osd_pg_num:e.config?.["cephfs.osd_pg_num"],cephfs_path:e.config?.["cephfs.path"],cephfs_user_name:e.config?.["cephfs.user.name"],cephobject_radosgw_endpoint:e.config?.["cephobject.radosgw.endpoint"],cephobject_cluster_name:e.config?.["cephobject.cluster_name"],cephobject_user_name:e.config?.["cephobject.user.name"],cephobject_bucket_name_prefix:e.config?.["cephobject.bucket.name_prefix"],description:e.description,driver:e.driver,entityType:"storagePool",isCreating:!1,name:e.name,powerflex_clone_copy:e.config?.["powerflex.clone_copy"],powerflex_domain:e.config?.["powerflex.domain"],powerflex_gateway:e.config?.["powerflex.gateway"],powerflex_gateway_verify:e.config?.["powerflex.gateway.verify"],powerflex_mode:e.config?.["powerflex.mode"],powerflex_pool:e.config?.["powerflex.pool"],powerflex_sdt:e.config?.["powerflex.sdt"],powerflex_user_name:e.config?.["powerflex.user.name"],powerflex_user_password:e.config?.["powerflex.user.password"],powerstore_gateway:e.config?.["powerstore.gateway"],powerstore_gateway_verify:e.config?.["powerstore.gateway.verify"],powerstore_mode:e.config?.["powerstore.mode"],powerstore_user_name:e.config?.["powerstore.user.name"],powerstore_user_password:e.config?.["powerstore.user.password"],pure_api_token:e.config?.["pure.api.token"],pure_gateway:e.config?.["pure.gateway"],pure_gateway_verify:e.config?.["pure.gateway.verify"],pure_mode:e.config?.["pure.mode"],pure_target:e.config?.["pure.target"],readOnly:!0,size:e.config?.size||"GiB",sizePerClusterMember:d,source:e.config?.source||"",sourcePerClusterMember:u,zfs_clone_copy:e.config?.["zfs.clone_copy"],zfs_export:e.config?.["zfs.export"],zfs_pool_name:e.config?.["zfs.pool_name"],alletra_target:e.config?.["alletra.target"],alletra_wsapi:e.config?.["alletra.wsapi"],alletra_user_name:e.config?.["alletra.user.name"],alletra_user_password:e.config?.["alletra.user.password"],alletra_wsapi_verify:e.config?.["alletra.wsapi.verify"],alletra_cpg:e.config?.["alletra.cpg"],alletra_mode:e.config?.["alletra.mode"],zfsPoolNamePerClusterMember:h,editRestriction:i}},Me=["size","source","ceph.cluster_name","ceph.osd.pg_num","ceph.rbd.clone_copy","ceph.user.name","ceph.rbd.features","zfs.clone_copy","zfs.export","zfs.pool_name"],A=(e,a)=>({id:a,name:a,onBlur:e.handleBlur,onChange:e.handleChange,value:e.values[a],error:e.touched[a]?e.errors[a]:null,placeholder:`Enter ${a.replaceAll("_"," ")}`}),Oe=({formik:e,helpText:a,canToggleMemberSpecific:i=!0,disabledReason:u})=>{const{data:h=[]}=G(),d=h.map(c=>c.server_name);return r.jsxs(r.Fragment,{children:[r.jsx(t.Label,{forId:"sourcePerClusterMember",children:"Source"}),r.jsx(Q,{values:e.values.sourcePerClusterMember,id:"sourcePerClusterMember",placeholder:"Enter value",isReadOnly:!1,onChange:c=>{e.setFieldValue("sourcePerClusterMember",c)},canToggleSpecific:e.values.isCreating&&i,memberNames:d,disabled:!e.values.isCreating,helpText:a,disabledReason:u})]})},Re=({formik:e,settings:a,hasSource:i})=>{if(!i)return null;const u=e.values.isCreating,h=pe(e.values.driver);return W(a)?r.jsx(Oe,{formik:e,helpText:u?q(e.values.driver):"Source can't be changed",disabledReason:e.values.editRestriction,canToggleMemberSpecific:!h}):u?r.jsx(t.Input,{...A(e,"source"),type:"text",disabled:!!e.values.editRestriction,help:q(e.values.driver),label:"Source",title:e.values.editRestriction}):r.jsx(t.OutputField,{id:"source",label:"Source",value:e.values.source,help:"Source cannot be changed."})},Ge=({id:e,label:a,value:i,help:u})=>r.jsx(t.Field,{forId:e,label:a,help:u,labelClassName:"u-no-margin--bottom",className:"output-field",children:r.jsx("output",{id:e,className:"mono-font u-sv2",children:r.jsx("b",{children:i})})}),Te=({formik:e})=>{const{data:a}=M(),i=ue(a),u=r.jsxs(r.Fragment,{children:["RADOS gateway must be enabled for Ceph Object driver to work. If using microcloud or microceph, run ",r.jsx("code",{children:"microceph enable rgw --port 8080"}),"."]}),h=(l,p)=>r.jsxs(r.Fragment,{children:[p&&r.jsx("span",{children:"Driver can not be changed - "})," This driver requires a storage appliance."," ",r.jsx(B,{docPath:`/reference/${l}/`,hasExternalIcon:!0,children:"Learn more"})]}),d=()=>{const l=!e.values.isCreating;if(e.values.isCreating){if(e.values.driver===C)return"ZFS gives best performance and reliability";if(e.values.driver===F)return h("storage_powerflex",l);if(e.values.driver===I)return h("storage_alletra",l);if(e.values.driver===E)return h("storage_pure",l);if(e.values.driver===D)return u}else return"Driver can not be changed"},c=l=>{if(l){if(l!==R){const p=_e();for(const s of p)e.setFieldValue(s,void 0)}if(l!==D){const p=ge();for(const s of p)e.setFieldValue(s,void 0)}if(l!==F){const p=xe();for(const s of p)e.setFieldValue(s,void 0)}if(l!==z){const p=fe();for(const s of p)e.setFieldValue(s,void 0)}if(l!==E){const p=be();for(const s of p)e.setFieldValue(s,void 0)}if(l!==C){const p=we();for(const s of p)e.setFieldValue(s,void 0);e.setFieldValue("zfsPoolNamePerClusterMember","")}if(l!==I){const p=me();for(const s of p)e.setFieldValue(s,void 0)}T(l)||(e.setFieldValue("size",void 0),e.setFieldValue("sizePerClusterMember",void 0)),Ae(l)||(e.setFieldValue("source",void 0),e.setFieldValue("sourcePerClusterMember",void 0)),e.setFieldValue("driver",l)}};return r.jsx(r.Fragment,{children:e.values.isCreating?r.jsx(t.CustomSelect,{id:"driver",name:"driver",label:"Driver",wrapperClassName:"select-input",dropdownClassName:"storage-driver-dropdown",help:d(),onChange:c,options:i,value:e.values.driver,required:!0,searchable:"never"}):r.jsx(Ge,{id:"driver",label:"Driver",value:he[e.values.driver],help:d()})})},Le=({formik:e})=>{const{data:a}=M(),{hasRemoteDropSource:i}=O(),u=e.values.isCreating,h=e.values.driver===D,d=e.values.driver===F,c=e.values.driver===z,l=e.values.driver===E,p=e.values.driver===I;return r.jsx(Ee,{children:r.jsx(t.Row,{children:r.jsxs(t.Col,{size:12,children:[u?r.jsx(t.Input,{...A(e,"name"),type:"text",label:"Name",required:!0}):r.jsx(t.OutputField,{id:"name",label:"Name",value:e.values.name,help:"Storage pools cannot be renamed."}),r.jsx(Ie,{...A(e,"description"),label:"Description",onChange:s=>{g(e),e.handleChange(s)},disabled:!!e.values.editRestriction,title:e.values.editRestriction}),r.jsx(Te,{formik:e}),T(e.values.driver)&&(W(a)?r.jsx(Ne,{id:"sizePerClusterMember",values:e.values.sizePerClusterMember,setValue:s=>{g(e),e.setFieldValue("sizePerClusterMember",s)},helpText:"When left blank, defaults to 20% of free disk space. Default will be between 5GiB and 30GiB",disabledReason:e.values.editRestriction}):r.jsx(N,{label:"Size",value:e.values.size,help:e.values.driver===V?"Not available":"When left blank, defaults to 20% of free disk space. Default will be between 5GiB and 30GiB",setMemoryLimit:s=>{g(e),e.setFieldValue("size",s)},disabled:!!e.values.editRestriction||e.values.driver===V,disabledReason:e.values.editRestriction})),r.jsx(Re,{formik:e,settings:a,hasSource:X(e.values.driver,i)}),h&&r.jsx(r.Fragment,{children:r.jsx(t.Input,{...e.getFieldProps("cephobject_radosgw_endpoint"),type:"text",label:"Rados gateway endpoint",placeholder:"Enter rados gateway endpoint",help:"URL of the rados gateway process",onChange:s=>{g(e),e.handleChange(s)},required:!0})}),d&&r.jsxs(r.Fragment,{children:[r.jsx(t.Input,{...e.getFieldProps("powerflex_pool"),type:"text",label:"Powerflex pool",placeholder:"Enter powerflex pool",help:"ID or name of the remote PowerFlex storage pool",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("powerflex_domain"),type:"text",label:"Domain",placeholder:"Enter domain",help:"Name of the PowerFlex protection domain. Required if the Powerflex pool is a name.",onChange:s=>{g(e),e.handleChange(s)}}),r.jsx(t.Input,{...e.getFieldProps("powerflex_gateway"),type:"text",label:"Gateway",placeholder:"Enter gateway",help:"Address of the PowerFlex Gateway",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("powerflex_user_name"),type:"text",label:"User",placeholder:"Enter user",help:r.jsxs(r.Fragment,{children:["User for PowerFlex Gateway authentication. Defaults to"," ",r.jsx("code",{children:"admin"})," if left empty."]}),onChange:s=>{g(e),e.handleChange(s)}}),r.jsx(t.Input,{...e.getFieldProps("powerflex_user_password"),type:"password",label:"Password",placeholder:"Enter password",help:"Password for PowerFlex Gateway authentication",onChange:s=>{g(e),e.handleChange(s)},required:!0})]}),c&&r.jsxs(r.Fragment,{children:[r.jsx(t.Input,{...e.getFieldProps("powerstore_gateway"),type:"text",label:"Gateway",placeholder:"Enter gateway",help:"Address of the PowerStore Gateway",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("powerstore_user_name"),type:"text",label:"User",placeholder:"Enter user",help:"User for PowerStore Gateway authentication",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("powerstore_user_password"),type:"password",label:"Password",placeholder:"Enter password",help:"Password for PowerStore Gateway authentication",onChange:s=>{g(e),e.handleChange(s)},required:!0})]}),l&&r.jsxs(r.Fragment,{children:[r.jsx(t.Input,{...e.getFieldProps("pure_api_token"),type:"text",label:"API token",placeholder:"Enter Pure Storage API token",help:"API token with admin access to the Pure Storage array.",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("pure_gateway"),type:"text",label:"API gateway",placeholder:"Enter Pure Storage API gateway",help:"URL for the Pure Storage API.",onChange:s=>{g(e),e.handleChange(s)},required:!0})]}),p&&r.jsxs(r.Fragment,{children:[r.jsx(t.Input,{...e.getFieldProps("alletra_wsapi"),type:"text",label:"Address",placeholder:"Enter Alletra WSAPI",help:"Address of the HPE Alletra Storage UI/WSAPI.",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("alletra_user_name"),type:"text",label:"User",placeholder:"Enter Alletra user",help:"HPE Alletra storage admin username",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("alletra_user_password"),type:"password",label:"Password",placeholder:"Enter Alletra password",help:"HPE Alletra storage admin password",onChange:s=>{g(e),e.handleChange(s)},required:!0}),r.jsx(t.Input,{...e.getFieldProps("alletra_cpg"),type:"text",label:"Common Provisioning Group",placeholder:"Enter Alletra CPG",help:"HPE Alletra Common Provisioning Group (CPG) name",onChange:s=>{g(e),e.handleChange(s)},required:!0})]})]})})})},k="Main configuration",ee="Ceph",re="CephFS",te="Ceph Object",se="Powerflex",ae="PowerStore",ne="ZFS",H="YAML configuration",le="Pure Storage",oe="HPE Alletra",qe=({formik:e,active:a,setActive:i,isSupportedStorageDriver:u})=>{const h=t.useNotify(),d={active:a,setActive:i},c=e.values.driver===R,l=e.values.driver===J,p=e.values.driver===D,s=e.values.driver===F,m=e.values.driver===z,j=e.values.driver===E,_=e.values.driver===C,f=e.values.driver===I,x=e.values.name.length>0,y=(()=>{if(!x)return"Please enter a storage pool name to enable this section";if(je(e))return"Please enter a domain, gateway, pool, and user name to enable this section";if(ve(e))return"Please enter a gateway, user name, and password to enable this section";if(ye(e))return"Please enter an API token and gateway to enable this section";if(Pe(e))return"Please enter an address, user, password and common provisioning group to enable this section"})(),L=()=>{Z("form-navigation","p-bottom-controls")};return S.useEffect(L,[h.notification?.message]),t.useListener(window,L,"resize",!0),r.jsx("div",{className:"p-side-navigation--accordion form-navigation",children:r.jsx("nav",{"aria-label":"Storage pool form navigation",children:r.jsxs("ul",{className:"p-side-navigation__list",children:[u&&r.jsx(v,{label:k,...d}),c&&r.jsx(v,{label:ee,...d,disableReason:y}),l&&r.jsx(v,{label:re,...d,disableReason:y}),p&&r.jsx(v,{label:te,...d,disableReason:y}),s&&r.jsx(v,{label:se,...d,disableReason:y}),m&&r.jsx(v,{label:ae,...d,disableReason:y}),j&&r.jsx(v,{label:le,...d,disableReason:y}),_&&r.jsx(v,{label:ne,...d,disableReason:y}),f&&r.jsx(v,{label:oe,...d,disableReason:y})]})})})},He=({formik:e})=>{const{hasRemoteDropSource:a}=O();return r.jsx(P,{rows:[...a?[o({formik:e,label:"Ceph OSD pool name",name:"ceph_osd_pool_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter pool name"})})]:[],o({formik:e,label:"Cluster name",name:"ceph_cluster_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter cluster name"})}),o({formik:e,label:"Placement groups",name:"ceph_osd_pg_num",defaultValue:"",children:r.jsx(t.Input,{type:"number",placeholder:"Enter number of placement groups"})}),o({formik:e,label:"RBD clone copy",name:"ceph_rbd_clone_copy",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"RBD disk usage",name:"ceph_rbd_du",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"Ceph user name",name:"ceph_user_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter Ceph user name"})}),o({formik:e,label:"RBD features",name:"ceph_rbd_features",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter RBD features"})})]})},Ue=({formik:e})=>r.jsx(P,{rows:[o({formik:e,label:"Clone copy",name:"powerflex_clone_copy",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"SDT",name:"powerflex_sdt",defaultValue:"",children:r.jsx(t.Input,{type:"text"})}),o({formik:e,label:"Gateway verify",name:"powerflex_gateway_verify",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"Mode",name:"powerflex_mode",defaultValue:"",children:r.jsx(t.Select,{options:ce})})]}),We=({formik:e})=>r.jsx(P,{rows:[o({formik:e,label:"Mode",name:"powerstore_mode",defaultValue:"",children:r.jsx(t.Select,{options:ie})}),o({formik:e,label:"Gateway verify",name:"powerstore_gateway_verify",defaultValue:"",children:r.jsx(t.Select,{options:w})})]}),U=({formik:e,helpText:a,disabled:i=!e.values.isCreating,placeholder:u})=>{const{data:h=[]}=G(),d=h.map(c=>c.server_name);return r.jsx(Q,{values:e.values.zfsPoolNamePerClusterMember,id:"zfsPoolNamePerClusterMember",isReadOnly:!e.values.isCreating,onChange:c=>{e.setFieldValue("zfsPoolNamePerClusterMember",c)},canToggleSpecific:e.values.isCreating,memberNames:d,disabled:i,helpText:a,placeholder:u,classname:"",disabledReason:e.values.editRestriction})},Be=({formik:e})=>{const a=de();return r.jsx(P,{rows:[o({formik:e,label:"ZFS pool name",name:"zfs_pool_name",defaultValue:"",children:a?r.jsx(U,{formik:e,placeholder:"Enter ZFS pool name"}):r.jsx(t.Input,{type:"text",placeholder:"Enter ZFS pool name"}),readOnlyRenderer:i=>a&&i!=="-"?r.jsx(U,{formik:e,placeholder:"Enter ZFS pool name"}):r.jsx(r.Fragment,{children:i}),disabled:!e.values.isCreating||e.values.readOnly,disabledReason:"ZFS pool name cannot be modified"}),o({formik:e,label:"Clone copy",name:"zfs_clone_copy",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"Export",name:"zfs_export",defaultValue:"",children:r.jsx(t.Select,{options:w})})]})},Ze=({formik:e})=>r.jsx(P,{rows:[o({formik:e,label:"Cluster name",name:"cephfs_cluster_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter cluster name"})}),o({formik:e,label:"Create missing",name:"cephfs_create_missing",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"FS cache",name:"cephfs_fscache",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"Number of placement groups",name:"cephfs_osd_pg_num",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter number"})}),o({formik:e,label:"Path",name:"cephfs_path",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter path"})}),o({formik:e,label:"Ceph user name",name:"cephfs_user_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter pool name"})})]}),Ye=({formik:e})=>r.jsx(P,{rows:[o({formik:e,label:"Gateway verify",name:"pure_gateway_verify",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"Mode",name:"pure_mode",defaultValue:"",disabled:!e.values.isCreating,children:r.jsx(t.Select,{options:Y})}),o({formik:e,label:"Target",name:"pure_target",defaultValue:"",children:r.jsx(t.Input,{type:"text"})})]}),$e=({formik:e})=>r.jsx(P,{rows:[o({formik:e,label:"Bucket name prefix",name:"cephobject_bucket_name_prefix",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter bucket name prefix"})}),o({formik:e,label:"Cluster name",name:"cephobject_cluster_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter cluster name"})}),o({formik:e,label:"Ceph user name",name:"cephobject_user_name",defaultValue:"",children:r.jsx(t.Input,{type:"text",placeholder:"Enter pool name"})})]}),Ke=({formik:e})=>r.jsx(P,{rows:[o({formik:e,label:"Verify Certificate",name:"alletra_wsapi_verify",defaultValue:"",children:r.jsx(t.Select,{options:w})}),o({formik:e,label:"Target",name:"alletra_target",defaultValue:"",children:r.jsx(t.Input,{type:"text"})}),o({formik:e,label:"Mode",name:"alletra_mode",defaultValue:"",children:r.jsx(t.Select,{options:Y})})]}),Je=(e,a)=>{const i=e.driver===F,u=e.driver===z,h=e.driver===E,d=e.driver===C,c=e.driver===D,l=e.driver===I,p=e.size?.match(/^\d/),s=()=>Se(e)?{[n("ceph_cluster_name")]:e.ceph_cluster_name,[n("ceph_osd_pg_num")]:e.ceph_osd_pg_num?.toString(),[n("ceph_rbd_clone_copy")]:e.ceph_rbd_clone_copy,[n("ceph_rbd_du")]:e.ceph_rbd_du,[n("ceph_user_name")]:e.ceph_user_name,[n("ceph_rbd_features")]:e.ceph_rbd_features,source:a?void 0:e.source,[n("ceph_osd_pool_name")]:a?e.ceph_osd_pool_name:void 0}:Fe(e)?{[n("cephfs_cluster_name")]:e.cephfs_cluster_name,[n("cephfs_create_missing")]:e.cephfs_create_missing,[n("cephfs_fscache")]:e.cephfs_fscache,[n("cephfs_osd_pg_num")]:e.cephfs_osd_pg_num?.toString(),source:a?void 0:e.source,[n("cephfs_path")]:a?e.cephfs_path:void 0}:c?{[n("cephobject_radosgw_endpoint")]:e.cephobject_radosgw_endpoint,[n("cephobject_cluster_name")]:e.cephobject_cluster_name,[n("cephobject_user_name")]:e.cephobject_user_name,[n("cephobject_bucket_name_prefix")]:e.cephobject_bucket_name_prefix}:i?{[n("powerflex_clone_copy")]:e.powerflex_clone_copy,[n("powerflex_domain")]:e.powerflex_domain,[n("powerflex_gateway")]:e.powerflex_gateway,[n("powerflex_gateway_verify")]:e.powerflex_gateway_verify,[n("powerflex_mode")]:e.powerflex_mode,[n("powerflex_pool")]:e.powerflex_pool,[n("powerflex_sdt")]:e.powerflex_sdt,[n("powerflex_user_name")]:e.powerflex_user_name,[n("powerflex_user_password")]:e.powerflex_user_password}:u?{[n("powerstore_gateway")]:e.powerstore_gateway,[n("powerstore_gateway_verify")]:e.powerstore_gateway_verify,[n("powerstore_mode")]:e.powerstore_mode,[n("powerstore_user_name")]:e.powerstore_user_name,[n("powerstore_user_password")]:e.powerstore_user_password}:h?{[n("pure_api_token")]:e.pure_api_token,[n("pure_gateway")]:e.pure_gateway,[n("pure_gateway_verify")]:e.pure_gateway_verify,[n("pure_mode")]:e.pure_mode,[n("pure_target")]:e.pure_target}:d?{[n("zfs_clone_copy")]:e.zfs_clone_copy??"",[n("zfs_export")]:e.zfs_export??"",[n("zfs_pool_name")]:e.zfs_pool_name,size:p?e.size:void 0}:l?{[n("alletra_target")]:e.alletra_target,[n("alletra_wsapi")]:e.alletra_wsapi,[n("alletra_user_name")]:e.alletra_user_name,[n("alletra_user_password")]:e.alletra_user_password,[n("alletra_wsapi_verify")]:e.alletra_wsapi_verify,[n("alletra_cpg")]:e.alletra_cpg,[n("alletra_mode")]:e.alletra_mode}:{size:p?e.size:void 0},m=new Set(["used_by","etag","status","locations","config","name","description","driver","source"]),j=Object.fromEntries(Object.entries(e.barePool??{}).filter(x=>!m.has(x[0]))),_=new Set(Me),f=Object.fromEntries(Object.entries(e.barePool?.config??{}).filter(x=>!_.has(x[0])));return{...j,name:e.name,description:e.description,driver:e.driver,config:{...f,...s(),source:X(e.driver,a)?e.source:void 0}}},pr=({formik:e,section:a,setSection:i,version:u=0})=>{const{data:h}=M(),d=t.useNotify(),{hasRemoteDropSource:c}=O(),l=()=>{Z("form-contents","p-bottom-controls")};S.useEffect(l,[d.notification?.message,a]),t.useListener(window,l,"resize",!0);const p=()=>{const j=Je(e.values,c);return Ve(j)},m=Ce(h).has(e.values.driver);return r.jsxs(t.Form,{className:"form storage-pool-form",onSubmit:e.handleSubmit,children:[r.jsx(t.Input,{type:"submit",hidden:!0,value:"Hidden input"}),a!==b(H)&&r.jsx(qe,{active:a,setActive:i,formik:e,isSupportedStorageDriver:m}),r.jsx(t.Row,{className:"form-contents",children:r.jsxs(t.Col,{size:12,children:[a===b(k)&&r.jsx(Le,{formik:e}),a===b(ee)&&r.jsx(He,{formik:e}),a===b(re)&&r.jsx(Ze,{formik:e}),a===b(te)&&r.jsx($e,{formik:e}),a===b(se)&&r.jsx(Ue,{formik:e}),a===b(ae)&&r.jsx(We,{formik:e}),a===b(le)&&r.jsx(Ye,{formik:e}),a===b(ne)&&r.jsx(Be,{formik:e}),a===b(oe)&&r.jsx(Ke,{formik:e}),a===b(H)&&r.jsx(ze,{yaml:p(),setYaml:j=>{g(e),e.setFieldValue("yaml",j)},readOnly:!!e.values.editRestriction,readOnlyMessage:e.values.editRestriction,children:r.jsxs(t.Notification,{severity:"information",title:"YAML Configuration",children:[`${m?"":`The ${e.values.driver} driver is not fully supported in the web interface. `}This is the YAML representation of the storage pool.`,r.jsx("br",{}),r.jsx(B,{docPath:"/explanation/storage/#storage-pools",children:"Learn more about storage pools"})]})},`yaml-form-${u}`)]})},a)]})};export{k as M,pr as S,H as Y,dr as a,Je as t};