Your IP : 216.73.216.189


Current Path : /proc/thread-self/root/snap/lxd/current/share/lxd-ui/assets/
Upload File :
Current File : //proc/thread-self/root/snap/lxd/current/share/lxd-ui/assets/CreateNetwork-C_Ym7uUd.js

import{u as B,c as G,d as a,t as P,I as Q,r as N,a5 as n,b as U,a6 as q,a7 as K,K as V,J as H,j as e,f as J,k as z,a8 as g,a9 as D,R as u,y as W,p as X,w as x}from"./index-BFGypnt-.js";import{g as Z,t as C,N as tt,i as et}from"./NetworkForm-VVshF-VF.js";import{c as ot,a as st,f as rt,d as at}from"./useNetworks-B1lu5MbM.js";import{y as it,d as nt,o as ct}from"./YamlSwitch-BQqYYI1i.js";import{B as mt}from"./BaseLayout-ft99KK4_.js";import{G as b,Y as S}from"./NetworkFormMenu-CXUwfE9b.js";import{F as pt}from"./FormFooterLayout-CMGxv4XX.js";import{s as ut}from"./scroll-Dc7Cgzms.js";import{u as lt}from"./useClusterMembers-B29_ixY7.js";import{N as F}from"./NetworkRichChip-D2iomVd3.js";import"./FormMenuItem-fhYfVpHc.js";import"./ClusterSpecificSelect-aZ9P5CkH.js";import"./ClusterSpecificInput-BYM6R5do.js";import"./ClusterMemberRichChip-h3WaiYeI.js";import"./ClusterMemberMemoryUsage-UO8J-hw2.js";import"./Meter-VGEmUMfL.js";import"./cluster-members-CG6XHzn4.js";import"./ExpandableList-DK5_MQFC.js";import"./UsedByItem-DETYWHDN.js";import"./useImages-DavKpFTt.js";import"./images-C6WqBeZG.js";import"./image-registries-YAuyq4CZ.js";import"./ProfileRichChip-XiLIeCE5.js";import"./ProfileResourceLimits-DkY60ueM.js";import"./useProfiles-CErbukD2.js";import"./ProjectRichChip-CtiU36yR.js";import"./ConfigurationTable-CmO6jSmV.js";import"./ConfigFieldDescription-CY0sdTp6.js";import"./useStoragePools-qBtKr1j9.js";import"./AutoExpandingTextArea-WEdimI5c.js";import"./NetworkDefaultACLSelector-C5Ak_9zq.js";import"./useNetworkAcls-DNeSgtR0.js";import"./network-acls-DPo6Eh5Y.js";const Vt=()=>{const{isFineGrained:R}=B(),c=G(),T=a.useNotify(),m=a.useToastNotification(),v=P(),{project:o}=Q(),[p,E]=N.useState(n(b)),O=N.useState(null),{data:l,isLoading:_}=U(),$=q(l),A=K(l),{data:d=[]}=lt(),{hasStorageAndNetworkOperations:f}=V(),I=H();if(!o)return e.jsx(e.Fragment,{children:"Missing project"});if(_)return e.jsx(a.Spinner,{className:"u-loader",text:"Loading...",isMainComponent:!0});const L=J().shape({name:Z(o,O)}),k=()=>{v.invalidateQueries({queryKey:[x.projects,o,x.networks]})},w=t=>{k(),s.setSubmitting(!1),m.success(e.jsxs(e.Fragment,{children:["Network"," ",e.jsx(F,{networkName:t,projectName:o})," ","created."]}))},y=(t,r)=>{k(),s.setSubmitting(!1),T.failure(`Creation of network ${t} failed`,r),rt(t,o,R).then(j=>{j.status==="Errored"&&at(t,o).catch(()=>{c(`${u}/ui/project/${encodeURIComponent(o)}/networks`),m.failure("Error during network creation",r,e.jsxs(e.Fragment,{children:["Network"," ",e.jsx(F,{networkName:t,projectName:o})," ","created with error status."]}))})}).catch(()=>{})},s=z({initialValues:{readOnly:!1,isCreating:!0,name:"",networkType:A?g:D,entityType:"network",ipv4_address:"auto",ipv6_address:"auto",security_acls:[]},validationSchema:L,onSubmit:t=>{const r=t.yaml?it(t.yaml):C(t);($&&t.networkType!==g?async()=>ot(r,o,d,f,t.parentPerClusterMember,t.bridge_external_interfaces_per_member):async()=>st(r,o))().then(i=>{c(`${u}/ui/project/${encodeURIComponent(o)}/networks`),f&&i.metadata.id?(m.info(e.jsxs(e.Fragment,{children:["Creation of network"," ",e.jsx(W,{bold:!0,type:"network",value:t.name})," has started."]})),I.set(i.metadata.id,()=>{w(t.name)},Y=>{y(t.name,new Error(Y))})):w(t.name)}).catch(i=>{y(t.name,i)})}}),M=()=>{const t=C(s.values);return ct(t)},h=(t,r)=>{E(n(t)),r==="click"&&ut(n(t))};return e.jsxs(mt,{title:"Create a network",contentClassName:"create-network",children:[e.jsxs(a.Row,{children:[e.jsx(X,{}),e.jsx(tt,{formik:s,getYaml:M,project:o,section:p,setSection:h},s.values.networkType)]}),e.jsxs(pt,{children:[e.jsx("div",{className:"yaml-switch",children:e.jsx(nt,{formik:s,section:p,setSection:()=>{h(p===n(S)?b:S,"click")},disableReason:s.values.name?void 0:"Please enter a network name to enable this section"})}),e.jsx(a.Button,{appearance:"base",onClick:async()=>c(`${u}/ui/project/${encodeURIComponent(o)}/networks`),children:"Cancel"}),e.jsx(a.ActionButton,{appearance:"positive",loading:s.isSubmitting,disabled:et(s,d)||s.isSubmitting,onClick:()=>{s.submitForm()},children:"Create"})]})]})};export{Vt as default};