| Current Path : /snap/lxd/38768/share/lxd-ui/assets/ |
| Current File : //snap/lxd/38768/share/lxd-ui/assets/CreateNetwork-CTgk63FO.js |
import{u as $,c as A,d as o,v as I,C as L,r as w,a6 as i,b as M,a7 as Y,a8 as q,t as B,j as e,f as G,h as P,a9 as U,k as K,aa as N,ab as Q,x as y,R as m,p as D}from"./index-BsQN_SZU.js";import{c as H,a as V,f as z,d as J}from"./useNetworks-1j5RF-bH.js";import{t as f,N as W,i as X}from"./NetworkForm-CUPjrYLG.js";import{y as Z,Y as ee,o as te}from"./YamlSwitch-BStSXJFs.js";import{B as re}from"./BaseLayout-D3ZT4TU8.js";import{G as h,Y as j}from"./NetworkFormMenu-jasNljC3.js";import{F as se}from"./FormFooterLayout-CcbL_-PB.js";import{s as oe}from"./scroll-Dc7Cgzms.js";import{N as x}from"./NetworkRichChip-Cp8QBNS_.js";import"./SshKeyForm-BNz7yPwa.js";import"./limits-yeXZOxhv.js";import"./AutoExpandingTextArea-Bd-45rZK.js";import"./formFields-DzJouV_d.js";import"./ProjectRichChip-DZzjTfq6.js";import"./ConfigFieldDescription-CjXKAIpa.js";import"./snapshots-LtzKNDw1.js";import"./ClusterSpecificSelect-B2H3HpuO.js";import"./ClusterSpecificInput-7EvfCd3b.js";import"./ClusterMemberRichChip-Di9w-E3M.js";import"./ClusterMemberMemoryUsage-DYUQFY0n.js";import"./Meter-cq8smrSm.js";import"./ExpandableList-DsGr0BpD.js";import"./UsedByItem-DYTdOZkC.js";import"./NetworkDefaultACLSelector-8KsXe1ya.js";import"./useNetworkAcls-Bl3lzJua.js";import"./network-acls-bpCzo6oH.js";const Oe=()=>{const{isFineGrained:C}=$(),n=A(),g=o.useNotify(),p=o.useToastNotification(),b=I(),{project:r}=L(),[c,S]=w.useState(i(h)),T=w.useState(null),{data:l,isLoading:F}=M(),R=Y(l),v=q(l),{data:u=[]}=B();if(!r)return e.jsx(e.Fragment,{children:"Missing project"});if(F)return e.jsx(o.Spinner,{className:"u-loader",text:"Loading...",isMainComponent:!0});const _=G().shape({name:P().test("deduplicate","A network with this name already exists",async t=>U(t,r,T,"networks")).required("Network name is required")}),s=K({initialValues:{readOnly:!1,isCreating:!0,name:"",networkType:v?N:Q,entityType:"network",ipv4_address:"auto",ipv6_address:"auto",security_acls:[]},validationSchema:_,onSubmit:t=>{const a=t.yaml?Z(t.yaml):f(t);(R&&t.networkType!==N?async()=>H(a,r,u,t.parentPerClusterMember,t.bridge_external_interfaces_per_member):async()=>V(a,r))().then(()=>{b.invalidateQueries({queryKey:[y.projects,r,y.networks]}),n(`${m}/ui/project/${encodeURIComponent(r)}/networks`),p.success(e.jsxs(e.Fragment,{children:["Network"," ",e.jsx(x,{networkName:t.name,projectName:r})," ","created."]}))}).catch(k=>{s.setSubmitting(!1),g.failure("Network creation failed",k),z(t.name,r,C).then(O=>{O.status==="Errored"&&J(t.name,r).catch(()=>{n(`${m}/ui/project/${encodeURIComponent(r)}/networks`),p.failure("Error during network creation",k,e.jsxs(e.Fragment,{children:["Network"," ",e.jsx(x,{networkName:t.name,projectName:r})," ","created with error status."]}))})}).catch(()=>{})})}}),E=()=>{const t=f(s.values);return te(t)},d=(t,a)=>{S(i(t)),a==="click"&&oe(i(t))};return e.jsxs(re,{title:"Create a network",contentClassName:"create-network",children:[e.jsxs(o.Row,{children:[e.jsx(D,{}),e.jsx(W,{formik:s,getYaml:E,project:r,section:c,setSection:d},s.values.networkType)]}),e.jsxs(se,{children:[e.jsx("div",{className:"yaml-switch",children:e.jsx(ee,{formik:s,section:c,setSection:()=>{d(c===i(j)?h:j,"click")},disableReason:s.values.name?void 0:"Please enter a network name to enable this section"})}),e.jsx(o.Button,{appearance:"base",onClick:async()=>n(`${m}/ui/project/${encodeURIComponent(r)}/networks`),children:"Cancel"}),e.jsx(o.ActionButton,{appearance:"positive",loading:s.isSubmitting,disabled:X(s,u)||s.isSubmitting,onClick:()=>{s.submitForm()},children:"Create"})]})]})};export{Oe as default};