skyline/skyline_console/static/network.bundle.1663167892.js
zhangjingwei 49dca85560 feat: update dist for rc1 release
1. Update dist for rc1 release
2. Update version in the package.json

Change-Id: Iaf7c0f5261f0e89b7a38acc1d2be5482bc2384a2
2022-09-14 23:08:02 +08:00

1 line
292 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{1208:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.healthProtocols=a.poolProtocols=a.listenerProtocols=a.sslParseMethod=a.getCertificateColumns=a.certificateStatus=a.certificateMode=a.provisioningStatusCodes=a.operatingStatusCodes=void 0;var l=n(r(57)),o=n(r(0)),s={ONLINE:t("Online"),DRAINING:t("Draining"),OFFLINE:t("Offline"),DEGRADED:t("Degraded"),ERROR:t("Error"),NO_MONITOR:t("No Monitor")};a.operatingStatusCodes=s;var d={ACTIVE:t("Active"),DELETED:t("Deleted"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.provisioningStatusCodes=d;var u={SERVER:t("Server Certificate"),CA:t("CA Certificate")};a.certificateMode=u;var c={ACTIVE:t("Active"),ERROR:t("Error")};a.certificateStatus=c;a.getCertificateColumns=e=>[{title:t("Name"),dataIndex:"name"},{title:t("Certificate Type"),dataIndex:"mode",valueMap:u},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime"},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-"},{title:t("Listener"),dataIndex:"listener",render:t=>t?(0,l.default)(t).call(t,(t=>o.default.createElement("div",{key:t.id},e.getLinkRender("lbListenerDetail",t.name,{loadBalancerId:t.lb,id:t.id},null)))):"-"},{title:t("Status"),dataIndex:"status",valueMap:c},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime"}];var f=[{label:t("One-way authentication"),value:"one-way"},{label:t("Two-way authentication"),value:"two-way"}];a.sslParseMethod=f;a.listenerProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"HTTPS",value:"TERMINATED_HTTPS"},{label:"UDP",value:"UDP"}];a.poolProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP"}];a.healthProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP-CONNECT"}]},1226:function(e,t,a){"use strict";var r=a(33),i=a(44),n=a(32),l=a(25),o=a(27),s=a(45),d=a(46),u=a(19),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.VpnIPsecConnectionStore=void 0;var f,p=c(a(25)),h=c(a(36)),m=c(a(51)),v=c(a(54)),g=c(a(111)),_=a(34),b=c(a(1287)),y=c(a(1288)),A=c(a(48)),I=c(a(53));function S(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)o(a=S(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(s)d(e,s(r));else{var i;o(i=S(Object(r))).call(i,(function(t){u(e,t,l(r,t))}))}}return e}var x=(f=class extends I.default{get client(){return A.default.neutron.ipsecSiteConnections}get listFilterByProject(){return!0}fetchDetailWithPolicyDetail(e){var t=this;return(0,m.default)((function*(){var{id:a,ikePolicyID:r,ipsecPolicyID:i,all_projects:n}=e;t.isLoading=!0;var l=yield t.client.show(a,t.getDetailParams({all_projects:n})),o=yield b.default.fetchDetail({id:r}),s=yield y.default.fetchDetail({id:i}),d=(0,g.default)(l,t.responseKey)||l,u=t.mapperBeforeFetchProject(d);u=C(C({},u),{},{ikeDetail:o,ipsecDetail:s});try{var c=yield t.detailDidFetch(u,n),f=t.mapper(c);t.detail=f}catch(e){t.detail=u}return t.isLoading=!1,t.detail}))()}},(0,v.default)(f.prototype,"fetchDetailWithPolicyDetail",[_.action],(0,p.default)(f.prototype,"fetchDetailWithPolicyDetail"),f.prototype),f);t.VpnIPsecConnectionStore=x;var w=new x;t.default=w},1256:function(e,t,a){"use strict";var r=a(33),i=a(44),n=a(32),l=a(25),o=a(27),s=a(45),d=a(46),u=a(19),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ListenerStore=void 0;var f=c(a(57)),p=c(a(428)),h=c(a(51)),m=c(a(36)),v=c(a(48)),g=c(a(53));function _(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function b(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)o(a=_(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(s)d(e,s(r));else{var i;o(i=_(Object(r))).call(i,(function(t){u(e,t,l(r,t))}))}}return e}class y extends g.default{get client(){return v.default.octavia.listeners}get poolClient(){return v.default.octavia.pools}get listFilterByProject(){return!0}get mapperBeforeFetchProject(){return e=>{var t;return b(b({},e),{},{lbIds:(0,f.default)(t=e.loadbalancers).call(t,(e=>e.id))})}}detailDidFetch(e){var t=this;return(0,h.default)((function*(){var a,{default_pool_id:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l}=e,[,o]=(i||"").split("/containers/"),[,s]=(n||"").split("/secrets/"),d=(0,f.default)(a=l||[]).call(a,(e=>{var[,t]=e.split("/containers/");return t}));if((0,p.default)(e,{serverCertificateId:o,caCertificateId:s,sniCertificateId:d}),!r)return e;try{var u=yield t.poolClient.show(r);return e.default_pool=u.pool,e}catch(t){return e}}))()}}t.ListenerStore=y;var A=new y;t.default=A},1284:function(e,t,a){"use strict";var r=a(33),i=a(44),n=a(32),l=a(25),o=a(27),s=a(45),d=a(46),u=a(19),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ContainersStore=void 0;var f,p,h=c(a(32)),m=c(a(198)),v=c(a(57)),g=c(a(65)),_=c(a(27)),b=c(a(102)),y=c(a(428)),A=c(a(335)),I=c(a(25)),S=c(a(51)),C=c(a(71)),x=c(a(36)),w=(c(a(72)),c(a(54))),P=c(a(53)),E=c(a(48)),k=a(34),D=a(1285),N=c(a(1256));function M(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function B(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)o(a=M(Object(r),!0)).call(a,(function(t){(0,x.default)(e,t,r[t])}));else if(s)d(e,s(r));else{var i;o(i=M(Object(r))).call(i,(function(t){u(e,t,l(r,t))}))}}return e}var R=(f=class extends P.default{constructor(){super(...arguments),(0,x.default)(this,"updateMarkerParams",((e,t)=>({limit:e,offset:t}))),(0,C.default)(this,"delete",p,this)}get client(){return E.default.barbican.containers}get payloadClient(){return E.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get secretStore(){return new D.SecretsStore}get mapper(){return e=>{var{container_ref:t,algorithm:a}=e,[,r]=t.split("/containers/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return B(B({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,S.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{container_ref:a}=e,r=(0,h.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,m.default)(t).call(t,a)}));return r.length&&(e.listener=(0,v.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}listDidFetch(e){var t=this;return(0,S.default)((function*(){if(0===e.length)return e;var[a,r]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),N.default.fetchList()]),i=(0,v.default)(e).call(e,(e=>{var{secret_refs:i=[]}=e;return 0===i.length?e.hidden=!0:((0,_.default)(i).call(i,(t=>{var{secret_ref:r=""}=t,[,i]=r.split("/secrets/"),n=(0,b.default)(a).call(a,(e=>e.id===i));n?((0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode})):e.hidden=!0})),t.updateItem(e,r)),B({},e)}));return(0,h.default)(i).call(i,(e=>!0!==e.hidden))}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var a,{secret_refs:r=[]}=e,[i,n]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),N.default.fetchList()]),l=[];(0,_.default)(r).call(r,function(){var t=(0,S.default)((function*(t){var{secret_ref:a=""}=t,[,r]=a.split("/secrets/"),n=(0,b.default)(i).call(i,(e=>e.id===r));n&&(l.push(n.id),(0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode}))}));return function(e){return t.apply(this,arguments)}}()),t.updateItem(e,n);var o=yield g.default.all((0,v.default)(l).call(l,(e=>t.payloadClient.list(e,{},{headers:{Accept:"text/plain"}}))));return(0,_.default)(a=o||[]).call(a,((e,t)=>{r[t].secret_info.payload=e})),e}))()}create(e){var t=this;return(0,S.default)((function*(){var a={name:e.name,mode:e.mode,payload_content_type:"text/plain",secret_type:"certificate",algorithm:(0,A.default)({domain:e.domain,expiration:e.expiration})},r=B(B({},a),{},{payload:e.certificate}),i=[t.secretStore.create(r)];if("SERVER"===e.mode){var n=B(B({},a),{},{payload:e.private_key});i.push(t.secretStore.create(n))}var[l,o]=yield g.default.all(i),s=[{name:"certificate",secret_ref:l.secret_ref}];o&&s.push({name:"private_key",secret_ref:o.secret_ref});var d={type:"certificate",name:e.name,secret_refs:s};return t.client.create(d)}))()}},(0,w.default)(f.prototype,"create",[k.action],(0,I.default)(f.prototype,"create"),f.prototype),p=(0,w.default)(f.prototype,"delete",[k.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){var e=this;return function(){var t=(0,S.default)((function*(t){var{id:a,secret_refs:r=[]}=t;return yield g.default.all((0,v.default)(r).call(r,(t=>{var{secret_ref:a=""}=t,[,r]=a.split("/secrets/");return e.secretStore.delete({id:r})}))),e.submitting(e.client.delete(a))}));return function(e){return t.apply(this,arguments)}}()}}),f);t.ContainersStore=R;var j=new R;t.default=j},1285:function(e,t,a){"use strict";var r=a(33),i=a(44),n=a(32),l=a(25),o=a(27),s=a(45),d=a(46),u=a(19),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.SecretsStore=void 0;var f,p=c(a(32)),h=c(a(198)),m=c(a(57)),v=c(a(65)),g=c(a(335)),_=c(a(25)),b=c(a(62)),y=c(a(51)),A=c(a(36)),I=c(a(54)),S=c(a(53)),C=c(a(48)),x=a(34),w=c(a(1256));function P(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)o(a=P(Object(r),!0)).call(a,(function(t){(0,A.default)(e,t,r[t])}));else if(s)d(e,s(r));else{var i;o(i=P(Object(r))).call(i,(function(t){u(e,t,l(r,t))}))}}return e}var k=(f=class extends S.default{constructor(){super(...arguments),(0,A.default)(this,"updateMarkerParams",((e,t)=>({limit:e,offset:t})))}get client(){return C.default.barbican.secrets}get payloadClient(){return C.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get paramsFunc(){return e=>E({},e)}get mapper(){return e=>{var{secret_ref:t,algorithm:a}=e,[,r]=t.split("/secrets/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return E(E({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,y.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{secret_ref:a}=e,r=(0,p.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,h.default)(t).call(t,a)}));return r.length&&(e.listener=(0,m.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}fetchDetail(e){var t=this;return(0,y.default)((function*(){var{id:a,silent:r}=e;r||(t.isLoading=!0);var[i,n,l]=yield v.default.all([t.client.show(a,{},{headers:{Accept:"application/json"}}),t.payloadClient.list(a,{},{headers:{Accept:"text/plain"}}),w.default.fetchList()]);i.payload=n,t.updateItem(i,l);var o=t.mapper(i||{});return t.detail=o,t.isLoading=!1,o}))()}listDidFetch(e){var t=this;return(0,y.default)((function*(){if(0===e.length)return e;var a=yield w.default.fetchList();return(0,m.default)(e).call(e,(e=>(t.updateItem(e,a),E({},e))))}))()}create(e){var t=this;return(0,y.default)((function*(){var{expiration:a,domain:r,algorithm:i}=e,n=E(E({},(0,b.default)(e,["expiration","domain","algorithm"])),{},{algorithm:i||(0,g.default)({domain:r,expiration:a})});return t.client.create(n)}))()}},(0,I.default)(f.prototype,"fetchDetail",[x.action],(0,_.default)(f.prototype,"fetchDetail"),f.prototype),(0,I.default)(f.prototype,"create",[x.action],(0,_.default)(f.prototype,"create"),f.prototype),f);t.SecretsStore=k;var D=new k;t.default=D},1286:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.ipsecPolicyTransformProtocolOptions=a.ipsecPolicyEncapsulationModeOptions=a.ikePolicyIKEVersionOptions=a.pfsOptions=a.encryptionAlgorithmOptions=a.authAlgorithmOptions=a.vpnStatusOptions=a.vpnStatus=void 0;var l,o,s,d,u,c,f,p=n(r(57)),h=n(r(33)),m={ACTIVE:t("Active"),DOWN:t("Down"),BUILD:t("Build"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.vpnStatus=m;var v=(0,p.default)(l=(0,h.default)(m)).call(l,(e=>({label:m[e],value:e,key:e})));a.vpnStatusOptions=v;var g=(0,p.default)(o=["sha1","sha256","sha384","sha512"]).call(o,(e=>({label:e,value:e,key:e})));a.authAlgorithmOptions=g;var _=(0,p.default)(s=["3des","aes-128","aes-192","aes-256"]).call(s,(e=>({label:e,value:e,key:e})));a.encryptionAlgorithmOptions=_;var b=(0,p.default)(d=["group2","group5","group14"]).call(d,(e=>({label:e,value:e,key:e})));a.pfsOptions=b;var y=(0,p.default)(u=["v1","v2"]).call(u,(e=>({label:e,value:e,key:e})));a.ikePolicyIKEVersionOptions=y;var A=(0,p.default)(c=["tunnel","transport"]).call(c,(e=>({label:e,value:e,key:e})));a.ipsecPolicyEncapsulationModeOptions=A;var I=(0,p.default)(f=["esp","ah","ah-esp"]).call(f,(e=>({label:e,value:e,key:e})));a.ipsecPolicyTransformProtocolOptions=I},1287:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIKEPolicyStore=void 0;var n=i(a(48)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ikePolicies}get listResponseKey(){return"ikepolicies"}get listFilterByProject(){return!0}}t.VpnIKEPolicyStore=o;var s=new o;t.default=s},1288:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIPsecPolicyStore=void 0;var n=i(a(48)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ipsecPolicies}get listResponseKey(){return"ipsecpolicies"}get listFilterByProject(){return!0}}t.VpnIPsecPolicyStore=o;var s=new o;t.default=s},1304:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnServicesStore=void 0;var n=i(a(48)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.vpnservices}get listFilterByProject(){return!0}}t.VpnServicesStore=o;var s=new o;t.default=s},1305:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnEndPointGroupStore=void 0;var n=i(a(48)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.endpointGroups}get listFilterByProject(){return!0}}t.VpnEndPointGroupStore=o;var s=new o;t.default=s},1346:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var n=i(a(48)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.pools}get listFilterByProject(){return!0}}t.PoolStore=o;var s=new o;t.default=s},1347:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolMemberStore=void 0;var n,l,o=i(a(25)),s=i(a(71)),d=(i(a(36)),i(a(72)),i(a(54))),u=a(34),c=i(a(48)),f=i(a(53)),p=(n=class extends f.default{constructor(){super(...arguments),(0,s.default)(this,"delete",l,this)}get client(){return this.poolClient.members}get poolClient(){return c.default.octavia.pools}get responseKey(){return"member"}get listFilterByProject(){return!0}listFetchByClient(e,t){var{pool_id:a}=t;return this.client.list(a)}create(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.client.create(t,r))}batchUpdate(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.poolClient.batchUpdateMembers(t,r))}update(e){var{default_pool_id:t,member_id:a,data:r}=e,i={};return i[this.responseKey]=r,this.submitting(this.client.update(t,a,i))}},(0,d.default)(n.prototype,"create",[u.action],(0,o.default)(n.prototype,"create"),n.prototype),(0,d.default)(n.prototype,"batchUpdate",[u.action],(0,o.default)(n.prototype,"batchUpdate"),n.prototype),(0,d.default)(n.prototype,"update",[u.action],(0,o.default)(n.prototype,"update"),n.prototype),l=(0,d.default)(n.prototype,"delete",[u.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t,default_pool_id:a}=e;return this.submitting(this.client.delete(a,t))}}}),n);t.PoolMemberStore=p;var h=new p;t.default=h},1407:function(e,t,a){var r=a(3784);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(75)(r,i);r.locals&&(e.exports=r.locals)},1408:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.Algorithm=a.algorithmTip=a.BackendProtocol=void 0;var l,o=n(r(57)),s=n(r(33)),d=[{label:t("TCP"),value:"TCP"},{label:t("PING"),value:"PING"}];a.BackendProtocol=d;var u={LEAST_CONNECTIONS:t("LEAST_CONNECTIONS"),ROUND_ROBIN:t("ROUND_ROBIN"),SOURCE_IP:t("SOURCE_IP")},c={LEAST_CONNECTIONS:t("A dynamic scheduling algorithm that estimates the server load based on the number of currently active connections. The system allocates new connection requests to the server with the least number of current connections. Commonly used for long connection services, such as database connections and other services."),ROUND_ROBIN:t("Each new connection request is assigned to the next server in order, and all requests are finally divided equally among all servers. Commonly used for short connection services, such as HTTP services."),SOURCE_IP:t("Perform a consistent hash operation on the source IP address of the request to obtain a specific value. At the same time, the back-end server is numbered, and the request is distributed to the server with the corresponding number according to the calculation result. This can enable load distribution of visits from different source IPs, and at the same time enable requests from the same client IP to always be dispatched to a specific server. This method is suitable for load balancing TCP protocol without cookie function.")};a.algorithmTip=c;var f=(0,o.default)(l=(0,s.default)(u)).call(l,(e=>({label:u[e],value:e})));a.Algorithm=f},1409:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3890)),l=i(a(3892)),o=i(a(3893)),s={actionConfigsContainer:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsSecret:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[n.default]}};t.default=s},1568:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Networks=void 0;var p=f(r(562)),h=f(r(32)),m=f(r(36)),v=r(406),g=f(r(1194)),_=r(564),b=r(228),y=r(334),A=f(r(1569));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=I(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=I(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class C extends g.default{constructor(){super(...arguments),(0,m.default)(this,"updateFetchParamsByPage",(e=>this.isAdminPage||this.isAllTab?S(S({},e),{},{all_projects:!0}):this.isProjectTab?S(S({},e),{},{project_id:this.currentProjectId}):this.isSharedTab?S(S({},e),{},{shared:!0}):this.isExternalTab?S(S({},e),{},{"router:external":!0}):S({},e)))}init(){this.store=new b.NetworkStore,this.downloadStore=new b.NetworkStore}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"status"}get policy(){return"get_network"}get name(){return t("networks")}get actionConfigs(){return A.default}get hasTab(){return!this.isAdminPage}get adminPageHasProjectFilter(){return!0}get tab(){if(this.isAdminPage)return null;var{tab:e="projectNetwork"}=this.props;return e}get isProjectTab(){return"projectNetwork"===this.tab}get isSharedTab(){return"sharedNetwork"===this.tab}get isExternalTab(){return"externalNetwork"===this.tab}get isAllTab(){return"allNetwork"===this.tab}getColumns(){var e=(0,_.networkColumns)(this);return this.isAdminPage||this.isAllTab?((0,p.default)(e).call(e,1,0,{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,sortKey:"project_id"}),e):this.isProjectTab?(0,h.default)(e).call(e,(e=>"project_id"!==e.dataIndex)):this.isSharedTab?(0,h.default)(e).call(e,(e=>"shared"!==e.dataIndex)):this.isExternalTab?(0,h.default)(e).call(e,(e=>"router:external"!==e.dataIndex)):e}get searchFilters(){var e={label:t("Name"),name:"name"},a={label:t("Shared"),name:"shared",options:y.yesNoOptions},r={label:t("External"),name:"router:external",options:y.yesNoOptions},i={label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]};return this.isSharedTab?[e,r,i]:this.isExternalTab?[e,a,i]:[e,a,r]}}a.Networks=C;var x=(0,v.inject)("rootStore")((0,v.observer)(C));a.default=x},1569:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1570)),l=i(a(1572)),o=i(a(3758)),s={rowActions:{firstAction:i(a(3759)).default,moreActions:[{action:l.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.default=s},1570:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateNetwork=void 0;var p=f(r(57)),h=f(r(32)),m=f(r(90)),v=f(r(65)),g=f(r(51)),_=f(r(62)),b=f(r(36)),y=f(r(346)),A=f(r(199)),I=r(406),S=r(1193),C=r(556),x=f(r(228)),w=f(r(407)),P=f(r(1228)),E=r(1203),k=f(r(1571)),D=r(564),N=f(r(605));function M(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=M(Object(r),!0)).call(a,(function(t){(0,b.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=M(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var{physicalNetworkArray:R,segmentationNetworkArray:j,segmentationNetworkRequireArray:T,validateAllocationPoolsWithGatewayIp:F,checkDNS:Q,checkIpv6DNS:L,checkHostRoutes:O,checkIpv6HostRoutes:q,getAllocationPools:V,getHostRouters:H}=N.default,{isIpCidr:U,isIPv6Cidr:G,isIpv6:K}=C.ipValidate,{nameValidateWithoutChinese:J}=C.nameTypeValidate,W=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],{left:r=0}=e||{},{left:i=0}=t||{};return a?0!==r&&0!==i?1:0:0!==r?1:0};class X extends S.ModalAction{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var{name:t,project_id:a,provider_network_type:r,provider_physical_network:i,provider_segmentation_id:n,shared:l,external_network:o,availableZone:s,allocation_pools:d,host_routes:u,description:c,mtu:f,port_security_enabled:p}=e,h=(0,_.default)(e,["name","project_id","provider_network_type","provider_physical_network","provider_segmentation_id","shared","external_network","availableZone","allocation_pools","host_routes","description","mtu","port_security_enabled"]),m=V(d),v=H(u),g={name:t,description:c,availability_zone_hints:[s],port_security_enabled:p};f&&(g.mtu=f);var b={"router:external":o,project_id:a,"provider:network_type":r,"provider:physical_network":i,"provider:segmentation_id":n},y={shared:l},A=B({},g);return this.isAdminPage&&(A=B(B({},A),b)),this.isSystemAdmin&&(A=B(B({},A),y)),x.default.createAndMore(A,B(B({},h),{},{allocation_pools:m,host_routes:v}))})),(0,b.default)(this,"onOk",((e,a,r)=>(this.values=e,this.onSubmit(e,a).then((()=>{!this.isModal&&this.routing.push(this.listUrl),P.default.success(this.successText),r&&(0,y.default)(r)&&r(!0,!1)}),(a=>{var{type:i,error:n}=JSON.parse(a);"create_network"===i?P.default.errorWithDetail(n,this.errorText):"create_subnet"===i&&P.default.errorWithDetail(n,t("Unable to {action}, instance: {name}.",{action:t("Create Subnet"),name:e.subnet_name})),r&&(0,y.default)(r)&&r(!1,!0)}))))),(0,b.default)(this,"checkCidr",(e=>{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!U(e))&&!("ipv6"===t&&!G(e))})),(0,b.default)(this,"checkGateway",(e=>!!(0,A.default)(e)||!!K(e))),(0,b.default)(this,"validateAllocationPools",((e,t)=>F.call(this,e,t))),(0,b.default)(this,"onProjectChange",(e=>{this.setState({projectId:e},(()=>{this.getQuota()}))})),(0,b.default)(this,"onCreateSubnetChange",(e=>{this.setState({create_subnet:e}),x.default.updateCreateWithSubnet(e)}))}get name(){return t("create network")}init(){x.default.updateCreateWithSubnet(!1),this.state.networkQuota={},this.state.subnetQuota={},this.state.quotaLoading=!0,this.state.create_subnet=!1,this.state.projectId=this.currentProjectId,this.projectStore=w.default,k.default.fetchAvailableZones(),this.isAdminPage&&w.default.fetchList(),this.getQuota()}get isSystemAdmin(){return(0,E.checkSystemAdmin)()}static get disableSubmit(){var{neutronQuota:{network:e={},subnet:t={}}}=w.default,{createWithSubnet:a=!1}=x.default;return 0===W(e,t,a)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{network:r={},subnet:i={}}=a||{};e.setState({networkQuota:r,subnetQuota:i,quotaLoading:!1})}))()}get quotaInfo(){var{networkQuota:e={},subnetQuota:a={},quotaLoading:r,create_subnet:i}=this.state;if(r)return[];var n=W(e,a,i);return[B(B({},e),{},{add:n,name:"network",title:t("Network")}),B(B({},a),{},{add:i?n:0,name:"subnet",title:t("Subnet"),type:"line"})]}get defaultValue(){return{project_id:this.currentProjectId,enable_dhcp:!0,provider_network_type:"vxlan",ip_version:"ipv4",disable_gateway:!1,more:!1,port_security_enabled:!0,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"}}get availableZones(){var e,t;return(0,p.default)(e=(0,h.default)(t=k.default.availableZones||[]).call(t,(e=>"available"===e.state&&"network"===e.resource))).call(e,(e=>({value:e.name,label:e.name})))}get SegIDTips(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215");case"vlan":return t("For VLAN networks, valid segmentation IDs are 1 to 4094");case"gre":return t("For GRE networks, valid segmentation IDs are 1 to 4294967295");default:return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215")}}get SegMax(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return 16777215;case"vlan":return 4094;case"gre":return 4294967295;default:return 16777215}}get formItems(){var e,{more:a,create_subnet:r=!1,provider_network_type:i="vxlan",ip_version:n="ipv4",disable_gateway:l=!1}=this.state,o=(0,p.default)(e=w.default.list.data).call(e,(e=>({label:e.name,value:e.id}))),s=this.isAdminPage&&(0,m.default)(R).call(R,i)>-1,d=this.isAdminPage&&(0,m.default)(R).call(R,i)>-1,u=this.isAdminPage&&(0,m.default)(j).call(j,i)>-1,c=this.isAdminPage&&(0,m.default)(T).call(T,i)>-1,f="ipv4"===n;return[{name:"name",label:t("Network Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),required:!0,options:this.availableZones},{name:"mtu",label:t("MTU"),type:"input-number",min:68,max:9e3,extra:t("Minimum value is 68 for IPv4, and 1280 for IPv6.")},{name:"create_subnet",label:t("Create Subnet"),type:"check",onChange:this.onCreateSubnetChange},{name:"shared",label:t("Shared"),type:"check",hidden:!this.isSystemAdmin},{name:"port_security_enabled",label:t("Port Security Enabled"),type:"switch",required:!0},{name:"external_network",label:t("External Network"),type:"check",hidden:!this.isAdminPage},{name:"project_id",label:t("Project"),type:"select",showSearch:!0,hidden:!this.isAdminPage,required:this.isAdminPage,options:o,onChange:this.onProjectChange,allowClear:!1},{name:"provider_network_type",label:t("Provider Network Type"),type:"select",hidden:!this.isAdminPage,required:this.isAdminPage,options:[{label:"vxlan",value:"vxlan"},{label:"flat",value:"flat"},{label:"vlan",value:"vlan"},{label:"gre",value:"gre"}],onChange:e=>{this.setState({provider_network_type:e})}},{name:"provider_physical_network",label:t("Provider Physical Network"),type:"input",hidden:!s,required:d},{name:"provider_segmentation_id",label:t("Segmentation ID"),type:"input-int",hidden:!u,required:c,min:1,max:this.SegMax,extra:this.SegIDTips},{name:"subnet_name",label:t("Subnet Name"),hidden:!r,type:"input",required:r,validator:J},{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0,hidden:!r},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:D.subnetIpv6Tip,hidden:"ipv6"!==n,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?v.default.resolve():r&&r!==a?v.default.reject(new Error(t("Invalid combination"))):v.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:D.subnetIpv6Tip,hidden:"ipv6"!==n},{name:"cidr",label:t("CIDR"),type:"input",placeholder:f?"192.168.0.0/24":"1001:1001::/64",required:r,validator:(e,a)=>r||a?(0,A.default)(a)||this.checkCidr(a)?v.default.resolve():v.default.reject(new Error(t("Invalid: ")+t("CIDR"))):v.default.resolve(),hidden:!r,tip:f?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!(r&&a)},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===n?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(r&&a&&!l),validator:"ipv6"===n?(e,a)=>this.checkGateway(a)?v.default.resolve():v.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!(r&&a)},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:f?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!(r&&a),validator:this.validateAllocationPools,dependencies:["gateway_ip"]},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:f?"114.114.114.114":"1001:1001::/64"}),hidden:!(r&&a),validator:f?Q:L},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:f?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!(r&&a),validator:f?O:q},{name:"more",label:t("Advanced Options"),type:"more",hidden:!r}]}}a.CreateNetwork=X,(0,b.default)(X,"id","create-network"),(0,b.default)(X,"title",t("Create Network")),(0,b.default)(X,"policy",["create_network","create_subnet"]),(0,b.default)(X,"allowed",(()=>v.default.resolve(!0)));var z=(0,I.inject)("rootStore")((0,I.observer)(X));a.default=z},1571:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.NeutronStore=void 0;var n,l,o,s=i(a(25)),d=i(a(51)),u=i(a(71)),c=(i(a(36)),i(a(54))),f=(i(a(72)),a(34)),p=i(a(48)),h=i(a(53)),m=(n=class extends h.default{constructor(){super(...arguments),(0,u.default)(this,"availableZones",l,this),(0,u.default)(this,"zoneLoading",o,this)}get zoneClient(){return p.default.neutron.azones}fetchAvailableZones(){var e=this;return(0,d.default)((function*(){e.zoneLoading=!0;var t=yield e.zoneClient.list(),{availability_zones:a=[]}=t;e.availableZones=a,e.zoneLoading=!1}))()}},l=(0,c.default)(n.prototype,"availableZones",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),o=(0,c.default)(n.prototype,"zoneLoading",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,c.default)(n.prototype,"fetchAvailableZones",[f.action],(0,s.default)(n.prototype,"fetchAvailableZones"),n.prototype),n);t.NeutronStore=m;var v=new m;t.default=v},1572:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSubnet=void 0;var p=f(r(1204)),h=f(r(57)),m=f(r(65)),v=f(r(51)),g=f(r(62)),_=f(r(36)),b=f(r(199)),y=r(406),A=r(1193),I=r(556),S=f(r(228)),C=f(r(407)),x=f(r(140)),w=r(564),P=f(r(605));function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=E(Object(r),!0)).call(a,(function(t){(0,_.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=E(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var{validateAllocationPoolsWithGatewayIp:D,checkDNS:N,checkIpv6DNS:M,checkHostRoutes:B,checkIpv6HostRoutes:R,getAllocationPools:j,getHostRouters:T}=P.default,{isIpCidr:F,isIPv6Cidr:Q,isIpv6:L}=I.ipValidate;class O extends A.ModalAction{constructor(){super(...arguments),(0,_.default)(this,"checkCidr",(e=>{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!F(e))&&!("ipv6"===t&&!Q(e))})),(0,_.default)(this,"checkGateway",(e=>!!(0,b.default)(e)||!!L(e))),(0,_.default)(this,"onSubmit",(e=>{var{allocation_pools:t,host_routes:a}=e,r=(0,g.default)(e,["allocation_pools","host_routes"]),i=j(t),n=T(a);return S.default.createSubnet(k(k({},r),{},{network_id:this.network.id,allocation_pools:i,host_routes:n}))})),(0,_.default)(this,"validateAllocationPools",((e,t)=>D.call(this,e,t))),(0,_.default)(this,"onProjectChange",(e=>{this.setState({projectId:e},(()=>{this.getQuota()}))}))}get name(){return t("Create Subnet")}get network(){return this.props.containerProps.detail||this.item||{}}get instanceName(){return this.item.name||(0,p.default)(this).subnet_name}get defaultValue(){return{enable_dhcp:!0,ip_version:"ipv4",project_id:this.currentProjectId,disable_gateway:!1,more:!1,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"}}init(){this.state.projectId=this.currentProjectId,this.state.quota={},this.state.quotaLoading=!0,this.projectStore=C.default,this.isSystemAdmin&&this.getProjects(),this.getQuota()}getProjects(){this.projectStore.fetchList()}static get disableSubmit(){var{neutronQuota:{subnet:{left:e=0}={}}}=C.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,v.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{subnet:r={}}=a||{};e.setState({quota:r,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[k(k({},e),{},{add:i,name:"subnet",title:t("Subnet")})]}get isSystemAdmin(){return this.props.rootStore.hasAdminRole}get networkProjectId(){var{project_id:e}=this.item;if(e)return e;var{detail:t={}}=this.containerProps;return t.project_id}get formItems(){var e,{more:a,ip_version:r="ipv4",disable_gateway:i=!1,projectId:n}=this.state,l="ipv4"===r,o=(0,h.default)(e=C.default.list.data).call(e,(e=>({label:e.name,value:e.id})));return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"project_id",label:t("Project"),type:"select",required:!0,hidden:!this.isSystemAdmin,showSearch:!0,extra:n!==this.networkProjectId&&t("The selected project is different from the project to which the network belongs. That is, the subnet to be created is not under the same project as the network. Please do not continue unless you are quit sure what you are doing."),options:o,onChange:this.onProjectChange},{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:w.subnetIpv6Tip,hidden:"ipv6"!==r,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?m.default.resolve():r&&r!==a?m.default.reject(new Error(t("Invalid combination"))):m.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:w.subnetIpv6Tip,hidden:"ipv6"!==r},{name:"cidr",label:t("CIDR"),type:"input",placeholder:l?"192.168.0.0/24":"1001:1001::/64",required:!0,validator:(e,a)=>(0,b.default)(a)||this.checkCidr(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: ")+t("CIDR"))),tip:l?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!a},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===r?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(a&&!i),validator:"ipv6"===r?(e,a)=>this.checkGateway(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!a},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:l?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!a,validator:this.validateAllocationPools},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:l?"114.114.114.114":"1001:1001::"}),hidden:!a,validator:l?N:M},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:l?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!a,validator:l?B:R},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateSubnet=O,(0,_.default)(O,"id","create-subnet"),(0,_.default)(O,"title",t("Create Subnet")),(0,_.default)(O,"policy","create_subnet"),(0,_.default)(O,"allowed",((e,t)=>{var{project_id:a}=e||{},{detail:{project_id:r}={}}=t||{},i=a||r,n=x.default,{hasAdminRole:l=!1,user:{project:{id:o}={}}={}}=n;return l||i===o?m.default.resolve(!0):m.default.resolve(!1)}));var q=(0,y.inject)("rootStore")((0,y.observer)(O));a.default=q},1573:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1572)),l=i(a(3762)),o={rowActions:{firstAction:i(a(3763)).default,moreActions:[{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]};t.default=o},1574:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1575)),l=i(a(3768)),o=i(a(3769)),s=i(a(3770)),d=i(a(3771)),u=i(a(3772)),c=i(a(3773)),f={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:u.default},{action:c.default},{action:l.default},{action:s.default},{action:d.default}]},primaryActions:[n.default],batchActions:[l.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default]}};t.default=f},1575:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(57)),h=f(r(32)),m=f(r(65)),v=f(r(51)),g=f(r(62)),_=f(r(36)),b=f(r(559)),y=r(406),A=r(568),I=r(228),S=f(r(1571)),C=f(r(407)),x=r(1193),w=r(564),P=r(1340);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=E(Object(r),!0)).call(a,(function(t){(0,_.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=E(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class D extends x.ModalAction{constructor(){super(...arguments),(0,_.default)(this,"onValuesChange",(e=>{(0,b.default)(e,"openExternalNetwork")&&this.setState({openExternalNetwork:e.openExternalNetwork})})),(0,_.default)(this,"onSubmit",(e=>{var{openExternalNetwork:t,externalNetwork:a,hints:r={}}=e,i=(0,g.default)(e,["openExternalNetwork","externalNetwork","hints"]),n=t?{external_gateway_info:{network_id:a.selectedRows[0].id}}:null,l=r.selectedRowKeys||[];return this.store.create(k(k(k({},i),n),{},{availability_zone_hints:l}))}))}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=new A.RouterStore,this.networkStore=new I.NetworkStore,this.projectStore=C.default,this.fetchAzones(),this.getQuota()}get name(){return t("create router")}static get modalSize(){return"large"}getModalSize(){return"large"}fetchAzones(){S.default.fetchAvailableZones()}get aZones(){var e,t;return(0,p.default)(e=(0,h.default)(t=S.default.availableZones||[]).call(t,(e=>"available"===e.state&&"router"===e.resource))).call(e,(e=>k(k({},e),{},{id:e.name})))}static get disableSubmit(){var{neutronQuota:{router:{left:e=0}={}}={}}=C.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,v.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{router:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[k(k({},e),{},{add:i,name:"router",title:t("Router")})]}get defaultValue(){return{openExternalNetwork:!1}}get formItems(){var{openExternalNetwork:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"hints",label:t("Availability Zone Hints"),type:"select-table",data:this.aZones,isLoading:S.default.zoneLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("State"),dataIndex:"state",valueMap:P.availabilityZoneState},{title:t("Resource Type"),dataIndex:"resource",valueMap:P.availabilityZoneResource}]},{name:"openExternalNetwork",label:t("Options"),type:"check",content:t("Open External Gateway")},{name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:e,hidden:!e,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:w.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.Create=D,(0,_.default)(D,"id","create"),(0,_.default)(D,"title",t("Create Router")),(0,_.default)(D,"policy","create_router"),(0,_.default)(D,"allowed",(()=>m.default.resolve(!0)));var N=(0,y.inject)("rootStore")((0,y.observer)(D));a.default=N},1576:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(32)),o=n(r(90)),s=n(r(57)),d=n(r(81));r(576);var u=n(r(577));r(1330);var c=n(r(1331));r(333);var f=n(r(332));r(1252);var p=n(r(1241)),h=n(r(36)),m=n(r(0)),v=r(161),g=r(569),_=r(1219),b=(r(173),r(201)),y=n(r(3787)),A=n(r(1407));class I extends m.default.Component{constructor(e){super(e),(0,h.default)(this,"detailButtons",(()=>[{name:t("Clear Gateway"),click:null},{name:t("Associate IP"),click:null},{name:t("Associate Network"),click:null},{name:t("delete"),type:"danger",click:null}])),this.state={}}get statusMap(){return{SHUTOFF:{status:"default",text:t("Shutoff")},ACTIVE:{color:"green",text:t("Active")}}}get detailInfos(){var{data:{subnets:e}}=this.props,a=(0,l.default)(e).call(e,(e=>{var t;return-1===(0,o.default)(t=e.name).call(t,"HA subnet tenant")}));return[{title:t("Name"),dataIndex:"name",render:(e,t)=>e?m.default.createElement(b.Link,{to:"/network/router/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",render:e=>_.routerStatus[e]||e},{title:t("External Fixed IP"),dataIndex:"external_gateway_info",isHideable:!0,render:e=>{var t;return(0,s.default)(t=(e||{}).external_fixed_ips||[]).call(t,(e=>m.default.createElement("span",{key:e.ip_address},e.ip_address,m.default.createElement("br",null))))||"-"}},{title:t("Subnet"),dataIndex:"subnets",render:e=>{if(!a[0])return"-";var t=(0,l.default)(a).call(a,(t=>-1!==(0,o.default)(e).call(e,t.id)));return(0,s.default)(t).call(t,(e=>m.default.createElement("span",{key:e.id},e.name," (",e.cidr,")",m.default.createElement("br",null))))}}]}renderCardInfos(e){var t,a=(0,s.default)(t=this.detailInfos).call(t,(t=>{var a,{title:r,dataIndex:i,render:n}=t;return!this.isLoading&&e&&e.id?(a=n?n(e[i],e):e[i],"create_time"!==i&&"update_time"!==i&&"created_at"!==i||n||(a=(0,g.getLocalTimeStr)(a)),void 0===a&&(a="-")):a="-",{label:r,content:a}}));return m.default.createElement(p.default,{column:1,className:A.default["descriptions-item"]},(0,s.default)(a).call(a,(e=>m.default.createElement(p.default.Item,{label:e.label,key:"label-".concat((0,v.generateId)())},e.content))))}renderButton(){var e=this.detailButtons();return m.default.createElement("div",{className:A.default["card-button"]},(0,s.default)(e).call(e,(e=>m.default.createElement(f.default,{type:e.type?e.type:"primary"},e.name))))}renderCard(e,t){return m.default.createElement("div",{style:{width:e}},this.renderCardInfos(t))}renderTitle(e,t){var a;return m.default.createElement("div",{className:A.default["node-card-title"]},(0,d.default)(a="".concat(e,": ")).call(a,t))}render(){var{x:e,y:a}=this.props,{data:{routers:r},infoIndex:i}=this.props,n=r[i];return m.default.createElement("div",{className:A.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e,"px")}},m.default.createElement(u.default,{placement:"rightTop",content:this.renderCard(430,n),title:this.renderTitle(t("Router"),n.name)},m.default.createElement("div",{style:{textAlign:"center",width:"50px",height:"50px",overflow:"hidden"}},m.default.createElement(c.default,{src:y.default,shape:"square",size:30}),m.default.createElement("div",{style:{transform:"scale(0.9,1)"}},n.name))))}}a.default=I},1577:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var p=f(r(36)),h=r(406),m=f(r(1194)),v=r(415),g=r(1303),_=r(76),b=r(334),y=f(r(1578));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=A(Object(r),!0)).call(a,(function(t){(0,p.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=A(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class S extends m.default{constructor(){super(...arguments),(0,p.default)(this,"updateFetchParamsByPage",(e=>{switch(this.tabKey){case"projectQoSPolicy":return I(I({},e),{},{project_id:this.currentProjectId});case"sharedQoSPolicy":return I(I({},e),{},{shared:!0});default:return e}}))}init(){this.store=new v.QoSPolicyStore,this.downloadStore=new v.QoSPolicyStore}get isProjectTab(){var e=this.tabKey;return!this.isAdminPage&&(!e||"projectQoSPolicy"===e)}get checkEndpoint(){return!0}get endpoint(){return(0,_.qosEndpoint)()}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get name(){return t("QoS policies")}get actionConfigs(){return this.isAdminPage?y.default.actionConfigs:this.isProjectTab?y.default.consoleActions:b.emptyActionConfig}get hasTab(){return!this.isAdminPage}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"name"}get tabKey(){var{tab:e}=this.props;return e}getColumnParamsFromTabKey(){switch(this.tabKey){case"projectQoSPolicy":return{self:this,all:!1,shared:!1};case"sharedQoSPolicy":return{self:this,all:!1,shared:!0};case"allQoSPolicy":default:return{self:this,all:!0,shared:!1}}}getColumns(){return(0,g.getQosPolicyColumns)(this.getColumnParamsFromTabKey())}get searchFilters(){return(0,g.getQosPolicyFilters)(this.getColumnParamsFromTabKey())}}a.QoSPolicy=S;var C=(0,h.inject)("rootStore")((0,h.observer)(S));a.default=C},1578:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3813)),l=i(a(3814)),o=i(a(3815)),s=i(a(3816)),d=i(a(3817)),u=i(a(3818)),c=i(a(3819)),f=i(a(3820)),p=i(a(3821)),h=i(a(3822)),m=i(a(3823)),v={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:h.default},{action:c.default},{action:f.default},{action:d.default},{action:m.default},{action:u.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},consoleActions:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:h.default},{action:c.default},{action:f.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]}};t.default=v},1579:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n,l=(0,i(a(57)).default)(n="0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,46,48,56".split(",")).call(n,(e=>({label:e,value:e})));t.default=l},1580:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3827)),l=i(a(3828)),o=i(a(3829)),s=i(a(1581)),d=i(a(3835)),u={rowActions:{firstAction:n.default,moreActions:[{action:o.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[s.default]};t.actionConfigs=u;var c={rowActions:{moreActions:[{action:l.default}]}};t.adminActions=c},1581:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=n(r(57)),o=n(r(27)),s=n(r(33)),d=n(r(90)),u=n(r(32)),c=n(r(65)),f=n(r(62)),p=n(r(36)),h=r(406),m=r(1193),v=n(r(570)),g=n(r(3830)),_=n(r(3831)),b=n(r(3832)),y=n(r(3833)),A=n(r(3834));class I extends m.StepAction{constructor(){super(...arguments),(0,p.default)(this,"onSubmit",(e=>{var t,{name:a,description:r,vip_address:i,vip_network_id:n,enableHealthMonitor:c,listener_protocol:p,listener_ssl_parsing_method:h,listener_sni_enabled:m,listener_default_tls_container_ref:v,listener_client_ca_tls_container_ref:g,listener_sni_container_refs:_}=e,b=(0,f.default)(e,["name","description","vip_address","vip_network_id","enableHealthMonitor","listener_protocol","listener_ssl_parsing_method","listener_sni_enabled","listener_default_tls_container_ref","listener_client_ca_tls_container_ref","listener_sni_container_refs"]),y={name:a,description:r,vip_network_id:n.selectedRowKeys[0]},{ip_address:A,subnet:I}=i[0];y.vip_subnet_id=I,A&&A.ip&&(y.vip_address=A.ip);var S,C={protocol:p};"TERMINATED_HTTPS"===p&&(v&&(C.default_tls_container_ref=v.selectedRows[0].container_ref),"two-way"===h&&g&&(C.client_ca_tls_container_ref=g.selectedRows[0].secret_ref,C.client_authentication="MANDATORY"),m&&_&&(C.sni_container_refs=(0,l.default)(S=_.selectedRows).call(S,(e=>e.container_ref))));var x={},w={};(0,o.default)(t=(0,s.default)(b)).call(t,(t=>{0===(0,d.default)(t).call(t,"listener")?C[t.replace("listener_","")]=e[t]:0===(0,d.default)(t).call(t,"pool")?x[t.replace("pool_","")]=e[t]:0===(0,d.default)(t).call(t,"health")&&(w[t.replace("health_","")]=e[t])})),c&&(x.healthmonitor=w);var{extMembers:P=[],Member:{selectedRowKeys:E=[],selectedRows:k,memberUpdateValue:D=[]}={}}=b,N=[];return(0,o.default)(E).call(E,(e=>{var t=(0,u.default)(k).call(k,(t=>t.id===e))[0],a=(0,u.default)(D).call(D,(t=>t.id===e))[0],{weight:r=0,protocol_port:i=1}=a||{},{member_ip:n,fixed_ips:l=[]}=t;(0,o.default)(n).call(n,(e=>{var{subnet_id:t}=(0,u.default)(l).call(l,(t=>t.ip_address===e))[0],a={weight:r,protocol_port:i,address:e,subnet_id:t};N.push(a)}))})),(0,o.default)(P).call(P,(e=>{var{ip:t,protocol_port:a,weight:r,name:i=null,subnet_id:n}=e.ip_address,l={weight:r,protocol_port:a,address:t,name:i,subnet_id:n};N.push(l)})),x.members=N,C.default_pool=x,y.listeners=[C],this.store.create(y)}))}init(){this.store=v.default}static allowed(e,t){var{isAdminPage:a=!1}=t;return c.default.resolve(!a)}get name(){return t("Create Loadbalancer")}get listUrl(){return this.getRoutePath("lb")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:g.default},{title:t("Listener Detail"),component:_.default},{title:t("Pool Detail"),component:b.default},{title:t("Member Detail"),component:y.default},{title:t("Health Monitor Detail"),component:A.default}]}}a.StepCreate=I,(0,p.default)(I,"id","lb-create"),(0,p.default)(I,"title",t("Create Loadbalancer")),(0,p.default)(I,"path","/network/load-balancers/create"),(0,p.default)(I,"policy","os_load-balancer_api:loadbalancer:post");var S=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=S},1582:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3838)),l=i(a(3839)),o=i(a(3840)),s=i(a(3841)),d=i(a(3842)),u=i(a(1583)),c=i(a(3843)),f={rowActions:{firstAction:o.default,moreActions:[{action:l.default},{action:n.default},{action:s.default},{action:c.default},{action:d.default}]},batchActions:[],primaryActions:[u.default]};t.actionConfigs=f;var p={rowActions:{moreActions:[{action:c.default},{action:l.default}]}};t.adminActions=p},1583:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(57)),h=f(r(32)),m=f(r(65)),v=f(r(51)),g=f(r(62)),_=f(r(36)),b=r(406),y=r(1193),A=r(1256),I=r(1284),S=r(1285),C=r(1208);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=x(Object(r),!0)).call(a,(function(t){(0,_.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=x(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class P extends y.ModalAction{constructor(){super(...arguments),(0,_.default)(this,"policy",(()=>"os_load-balancer_api:listener:post")),(0,_.default)(this,"onSubmit",(e=>{var t,{sni_enabled:a,ssl_parsing_method:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l}=e,o=w(w({},(0,g.default)(e,["sni_enabled","ssl_parsing_method","default_tls_container_ref","client_ca_tls_container_ref","sni_container_refs"])),{},{loadbalancer_id:this.containerProps.detail.id});(i&&(o.default_tls_container_ref=i.selectedRows[0].container_ref),n&&(o.client_ca_tls_container_ref=n.selectedRows[0].secret_ref,o.client_authentication="MANDATORY"),l)&&(o.sni_container_refs=(0,p.default)(t=l.selectedRows).call(t,(e=>e.container_ref)));return this.store.create(o)}))}get name(){return t("Create Listener")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.store=new A.ListenerStore,this.containersStore=new I.ContainersStore,this.secretsStore=new S.SecretsStore,this.fetchContainers(),this.fetchSecrets()}fetchContainers(){var e=this;return(0,v.default)((function*(){yield e.containersStore.fetchList(),e.updateDefaultValue()}))()}fetchSecrets(){var e=this;return(0,v.default)((function*(){yield e.secretsStore.fetchList({mode:"CA"}),e.updateDefaultValue()}))()}get ServerCertificate(){return this.containersStore.list.data||[]}get CaCertificate(){return this.secretsStore.list.data||[]}get SNICertificate(){var e;return(0,h.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get isEdit(){return!1}get nameForStateUpdate(){return["protocol","ssl_parsing_method","sni_enabled"]}get defaultValue(){return{ssl_parsing_method:"one-way",sni_enabled:!1,connection_limit:-1}}get formItems(){var e,{protocol:a,ssl_parsing_method:r,sni_enabled:i}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:C.listenerProtocols,required:!0,disabled:this.isEdit},{name:"ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:C.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.ServerCertificate,isLoading:this.containersStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,C.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CaCertificate,isLoading:this.secretsStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,h.default)(e=(0,C.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNICertificate,isLoading:this.containersStore.list.isLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,C.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,disabled:this.isEdit},{name:"connection_limit",label:t("Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0}]}}a.Create=P,(0,_.default)(P,"id","create_listener"),(0,_.default)(P,"title",t("Create Listener")),(0,_.default)(P,"policy","os_load-balancer_api:listener:post"),(0,_.default)(P,"allowed",(e=>m.default.resolve("ACTIVE"===e.provisioning_status)));var E=(0,b.inject)("rootStore")((0,b.observer)(P));a.default=E},1584:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.HealthMonitorStore=void 0;var n=i(a(48)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.healthMonitors}get listFilterByProject(){return!0}}t.HealthMonitorStore=o;var s=new o;t.default=s},1585:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3874)),l=i(a(3876)),o=i(a(3877)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},1586:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3881)),l=i(a(3882)),o=i(a(3883)),s=i(a(1587)),d={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=d},1587:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(198)),h=f(r(229)),m=f(r(57)),v=f(r(27)),g=f(r(33)),_=f(r(428)),b=f(r(81)),y=f(r(65)),A=f(r(51)),I=f(r(62)),S=f(r(36)),C=f(r(559)),x=r(406),w=r(1193),P=f(r(608)),E=f(r(416)),k=f(r(407)),D=r(347),N=r(556);function M(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=M(Object(r),!0)).call(a,(function(t){(0,S.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=M(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class R extends w.ModalAction{constructor(e){super(e),(0,S.default)(this,"onValuesChange",(e=>{(0,C.default)(e,"portOrRange")&&this.setState({sourcePort:""},(()=>{this.updateDefaultValue()})),(0,C.default)(e,"remoteType")&&this.setState({remote_ip_prefix:"",remote_group_id:""},(()=>{this.updateDefaultValue()})),this.setState(B({},e))})),(0,S.default)(this,"handleDirectionChange",(e=>{this.setState({direction:e})})),(0,S.default)(this,"onSubmit",((e,t)=>{var a,{match:{params:{id:r}={}}={}}=t,{sourcePort:i,protocol:n,ipProtocol:l,icmpType:o,icmpCode:s,portOrRange:d,remoteType:u}=e,c=(0,I.default)(e,["sourcePort","protocol","ipProtocol","icmpType","icmpCode","portOrRange","remoteType"]),f=(0,p.default)(a=["custom_udp","custom_tcp"]).call(a,n)&&"range"===d,m=i.split(":"),v="custom_protocol"!==n?this.defaultRules[n].ip_protocol:l,g=B({security_group_id:r||this.item.id,port_range_min:"custom_icmp"===n?o:f?(0,h.default)(m[0],10):null,port_range_max:"custom_icmp"===n?s:f?(0,h.default)(m[1]||m[0],10):null,protocol:v},c);return(0,p.default)(n).call(n,"all")&&(delete g.remote_ip_prefix,delete g.remote_group_id),this.store.create(g)})),this.state={protocol:this.protocolList[0].value,portOrRange:"range",remoteType:"cidr",direction:"ingress",ipProtocol:"ah"}}get name(){return t("Create rule")}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=P.default,this.groupStore=E.default,this.projectStore=k.default,this.getAllGroups(),this.getQuota()}get messageHasItemName(){return!1}getAllGroups(){var e=this;return(0,A.default)((function*(){var t=yield E.default.fetchList();e.allGroups=(0,m.default)(t).call(t,(e=>({label:e.name,value:e.id})))}))()}static get disableSubmit(){var{neutronQuota:{security_group_rule:{left:e=0}={}}={}}=k.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,A.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group_rule:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e||{},i=0===r?0:1;return[B(B({},e),{},{add:i,name:"security_group_rule",title:t("Security Group Rule")})]}get defaultRules(){return{custom_tcp:{name:t("Custom TCP Rule"),ip_protocol:"tcp"},custom_udp:{name:t("Custom UDP Rule"),ip_protocol:"udp"},custom_icmp:{name:t("Custom ICMP Rule"),ip_protocol:"icmp"},all_proto:{name:t("All Proto"),ip_protocol:null},all_tcp:{name:t("All TCP"),ip_protocol:"tcp",from_port:"1",to_port:"65535"},all_udp:{name:t("All UDP"),ip_protocol:"udp",from_port:"1",to_port:"65535"},all_icmp:{name:t("All ICMP"),ip_protocol:"icmp"},custom_protocol:{name:t("Other Protocol")}}}get protocolList(){var e,t=[];return(0,v.default)(e=(0,g.default)(this.defaultRules)).call(e,(e=>{t.push({value:e,label:this.defaultRules[e].name})})),t}get ruleList(){return(0,_.default)(this.defaultRules,this.settingRules)}get defaultValue(){var e,t=this.state,{protocol:a}=t,r=(0,I.default)(t,["protocol"]),{from_port:i,to_port:n}=this.ruleList[a],{sourcePort:l=""}=this.state;i&&(l=i!==n?(0,b.default)(e="".concat(i,":")).call(e,n):i);return B(B({},r),{},{protocol:a,sourcePort:l})}get formItems(){var e,a,{protocol:r,portOrRange:i,remoteType:n,direction:l}=this.state,o="custom_protocol"===r,s="custom_icmp"===r,d=(0,p.default)(e=["custom_udp","custom_tcp"]).call(e,r),u=(0,p.default)(a=["custom_udp","custom_tcp","custom_icmp"]).call(a,r),c=d&&"range"===i,f=u&&"cidr"===n,h=u&&"sg"===n;return[{name:"protocol",label:t("Protocol"),type:"select",required:!0,options:this.protocolList},{name:"direction",label:t("Direction"),type:"select",required:!0,options:[{value:"ingress",label:t("Ingress")},{value:"egress",label:t("Egress")}],onChange:this.handleDirectionChange},{name:"ethertype",label:t("Ether Type"),type:"select",required:!0,options:[{value:"IPv4",label:t("IPv4")},{value:"IPv6",label:t("IPv6")}]},{name:"portOrRange",label:t("Port Type"),type:"select",required:d,options:[{value:"all",label:t("All Port")},{value:"range",label:t("Custom")}],hidden:!d},{name:"sourcePort",label:"egress"===l?t("Destination Port/Port Range"):t("Source Port/Port Range"),type:"port-range",required:c,hidden:!c,extra:"egress"===l&&t("Input destination port or port range(example: 80 or 80:160)")},{name:"ipProtocol",label:t("IP Protocol"),type:"select-input",options:D.ipProtocols,required:o,hidden:!o,help:t("Please input protocol number if it absent in select list.")},{name:"icmpType",label:t("ICMP Type"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP type(0-255)")},{name:"icmpCode",label:t("ICMP Code"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP code(0-255)")},{name:"remoteType",label:t("Remote Type"),type:"select",required:u,options:[{value:"cidr",label:t("cidr")},{value:"sg",label:t("Security Group")}],hidden:!u},{name:"remote_ip_prefix",label:t("Remote IP Prefix"),type:"input",hidden:!f,required:f,validator:f?N.cidrAllValidate:null,placeholder:t("Please input IPv4 or IPv6 cidr"),extra:t("Please input IPv4 or IPv6 cidr, (e.g. 192.168.0.0/24, 2001:DB8::/48)")},{name:"remote_group_id",label:t("Remote Security Group"),type:"select",required:h,hidden:!h,options:this.allGroups}]}}a.Create=R,(0,S.default)(R,"id","create"),(0,S.default)(R,"title",t("Create Rule")),(0,S.default)(R,"policy","create_security_group_rule"),(0,S.default)(R,"allowed",(()=>y.default.resolve(!0)));var j=(0,x.inject)("rootStore")((0,x.observer)(R));a.default=j},3755:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(413)),l=i(a(3756)),o=e=>(0,n.default)(l.default,e);t.default=o},3756:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1212)),l=i(a(567)),o=i(a(3757)),s=i(a(1568)),d=i(a(3760)),u=i(a(3765)),c=i(a(3767)),f=i(a(1402)),p=i(a(3774)),h=i(a(3780)),m=i(a(3788)),v=i(a(3795)),g=i(a(1341)),_=i(a(3797)),b=i(a(3812)),y=i(a(1577)),A=i(a(3824)),I=i(a(3826)),S=i(a(1581)),C=i(a(3836)),x=i(a(3844)),w=i(a(3852)),P=i(a(3878)),E=i(a(3880)),k=i(a(3884)),D=i(a(3888)),N=i(a(3894)),M=i(a(3896)),B="/network",R=[{path:B,component:n.default,routes:[{path:"".concat(B,"/networks"),component:o.default,exact:!0},{path:"".concat(B,"/networks-admin"),component:s.default,exact:!0},{path:"".concat(B,"/networks/detail/:id"),component:d.default,exact:!0},{path:"".concat(B,"/networks-admin/detail/:id"),component:d.default,exact:!0},{path:"".concat(B,"/networks/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(B,"/networks-admin/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(B,"/networks/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(B,"/networks-admin/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(B,"/networks/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(B,"/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(B,"/instance/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(B,"/instance-admin/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(B,"/router"),component:c.default,exact:!0},{path:"".concat(B,"/router-admin"),component:c.default,exact:!0},{path:"".concat(B,"/router/detail/:id"),component:m.default,exact:!0},{path:"".concat(B,"/router-admin/detail/:id"),component:m.default,exact:!0},{path:"".concat(B,"/router/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(B,"/router-admin/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(B,"/floatingip"),component:f.default,exact:!0},{path:"".concat(B,"/floatingip-admin"),component:f.default,exact:!0},{path:"".concat(B,"/floatingip/detail/:id"),component:p.default,exact:!0},{path:"".concat(B,"/floatingip-admin/detail/:id"),component:p.default,exact:!0},{path:"".concat(B,"/port"),component:g.default,exact:!0},{path:"".concat(B,"/port-admin"),component:g.default,exact:!0},{path:"".concat(B,"/port/detail/:id"),component:_.default,exact:!0},{path:"".concat(B,"/port-admin/detail/:id"),component:_.default,exact:!0},{path:"".concat(B,"/qos-policy"),component:b.default,exact:!0},{path:"".concat(B,"/qos-policy-admin"),component:y.default,exact:!0},{path:"".concat(B,"/qos-policy/detail/:id"),component:A.default,exact:!0},{path:"".concat(B,"/qos-policy-admin/detail/:id"),component:A.default,exact:!0},{path:"".concat(B,"/topo"),component:h.default,exact:!0},{path:"".concat(B,"/load-balancers"),component:I.default,exact:!0},{path:"".concat(B,"/load-balancers-admin"),component:I.default,exact:!0},{path:"".concat(B,"/load-balancers/create"),component:S.default,exact:!0},{path:"".concat(B,"/load-balancers/detail/:id"),component:C.default,exact:!0},{path:"".concat(B,"/load-balancers-admin/detail/:id"),component:C.default,exact:!0},{path:"".concat(B,"/load-balancers/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(B,"/load-balancers-admin/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(B,"/certificate"),component:D.default,exact:!0},{path:"".concat(B,"/certificate-container/detail/:id"),component:N.default,exact:!0},{path:"".concat(B,"/certificate-secret/detail/:id"),component:M.default,exact:!0},{path:"".concat(B,"/vpn"),component:w.default,exact:!0},{path:"".concat(B,"/ipsec-site-connection/detail/:id"),component:P.default,exact:!0},{path:"".concat(B,"/ipsec-site-connection-admin/detail/:id"),component:P.default,exact:!0},{path:"".concat(B,"/vpn-admin"),component:w.default,exact:!0},{path:"".concat(B,"/security-group"),component:E.default,exact:!0},{path:"".concat(B,"/security-group-admin"),component:E.default,exact:!0},{path:"".concat(B,"/security-group/detail/:id"),component:k.default,exact:!0},{path:"".concat(B,"/security-group-admin/detail/:id"),component:k.default,exact:!0},{path:"*",component:l.default}]}];t.default=R},3757:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Network=void 0;var l=r(406),o=n(r(1234)),s=n(r(1568));class d extends o.default{get tabs(){var e=[{title:t("Current Project Networks"),key:"projectNetwork",component:s.default},{title:t("Shared Networks"),key:"sharedNetwork",component:s.default},{title:t("External Networks"),key:"externalNetwork",component:s.default}];return this.hasAdminRole&&e.push({title:t("All Networks"),key:"allNetwork",component:s.default}),e}}a.Network=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3758:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(228)),d=r(1203),u=n(r(140));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_network"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Network")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete network")}isCurrentProject(e){var t=u.default;return!(!(0,d.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3759:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(65)),h=f(r(62)),m=f(r(36)),v=r(406),g=r(1193),_=f(r(228)),b=r(1203),y=f(r(140)),A=r(161);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{name:a,description:r,port_security_enabled:i}=e,n=(0,h.default)(e,["name","description","port_security_enabled"]),l={name:a,description:r,port_security_enabled:i};return this.isSystemAdmin&&(l.shared=n.shared),this.isAdminPage&&(l["router:external"]=n["router:external"]),_.default.edit({id:t},l)}))}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=I(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=I(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({},e)}get isSystemAdmin(){return(0,b.checkSystemAdmin)()}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"shared",label:t("Shared"),type:"radio",hidden:!this.isSystemAdmin,options:(0,A.getYesNoList)()},{name:"port_security_enabled",label:t("Port Security Enabled"),type:"switch",required:!0},{name:"router:external",label:t("External Network"),type:"check",hidden:!this.isAdminPage}]}}a.Edit=S,(0,m.default)(S,"id","edit-network"),(0,m.default)(S,"title",t("Edit")),(0,m.default)(S,"buttonText",t("Edit")),(0,m.default)(S,"policy","update_network"),(0,m.default)(S,"allowed",(e=>{var t=y.default;return S.isSystemAdmin||e.project_id===t.user.project.id?p.default.resolve(!0):p.default.resolve(!1)}));var C=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=C},3760:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkDetail=void 0;var p=f(r(562)),h=f(r(36)),m=r(406),v=f(r(1200)),g=r(228),_=r(564),b=f(r(1341)),y=f(r(140)),A=f(r(3761)),I=f(r(3764)),S=f(r(1569));function C(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=C(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=C(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class w extends v.default{constructor(){super(...arguments),(0,h.default)(this,"fetchData",(e=>{if(this.store.fetchDetail){var t=x(x(x({},this.params),e||{}),{},{all_projects:this.isAdminPage});this.store.fetchDetailWithAvailabilityAndUsage(x(x({},t),{},{isAdminPage:this.isAdminPage,currentProjectId:y.default.user.project.id})).catch(this.catch)}}))}get name(){return t("network")}get policy(){return"get_network"}get listUrl(){return this.getRoutePath("network")}get actionConfigs(){return S.default}get canAddNetworkIPUsageInfo(){return this.isAdminPage||y.default.user.project.id===this.detailData.project_id}get detailInfos(){var e=[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:_.networkStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&((0,p.default)(e).call(e,2,0,{title:t("Project Name"),dataIndex:"projectName"}),(0,p.default)(e).call(e,7,0,{title:t("DHCP Agents"),dataIndex:"dhcp_agents"})),this.canAddNetworkIPUsageInfo&&(0,p.default)(e).call(e,4,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:I.default},{title:t("Subnets"),key:"subnets",component:A.default},{title:t("Ports"),key:"ports",component:b.default}]}init(){this.store=new g.NetworkStore}}a.NetworkDetail=w;var P=(0,m.inject)("rootStore")((0,m.observer)(w));a.default=P},3761:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Subnets=void 0;var l=n(r(562)),o=n(r(36)),s=n(r(0)),d=r(406),u=n(r(1194)),c=r(414),f=n(r(1573));class p extends u.default{constructor(){super(...arguments),(0,o.default)(this,"updateFetchParams",(()=>({network_id:this.id,network:this.props.detail,all_projects:this.isAdminPage}))),(0,o.default)(this,"getColumns",(()=>{var e=[{title:t("Subnet ID/Name"),dataIndex:"name",routeName:this.getRouteName("subnetDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})},{title:t("CIDR"),dataIndex:"cidr",isHideable:!0},{title:t("Gateway IP"),dataIndex:"gateway_ip",isHideable:!0},{title:t("IP Version"),dataIndex:"ip_version",isHideable:!0},{title:t("Port Count"),dataIndex:"subnetPorts",isHideable:!0,stringify:e=>(e||[]).length,render:(e,t)=>{var a=(e||[]).length;if(!a)return"-";var r=this.getLinkRender("subnetDetail",a,{id:t.id,networkId:t.network_id},{tab:"ports"});return s.default.createElement(s.default.Fragment,null,r)}},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}];return this.canAddNetworkIPUsageInfo&&(0,l.default)(e).call(e,5,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips",titleTip:this.isAdminPage?"":t("Number of IPs used by all projects")}),e}))}init(){this.store=new c.SubnetStore}get policy(){return"get_subnet"}get name(){return t("subnets")}get id(){return this.params.id}get actionConfigs(){return f.default}get canAddNetworkIPUsageInfo(){return this.isAdminPage||this.currentProjectId===this.props.detail.project_id}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Subnets=p;var h=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=h},3762:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(414));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_subnet"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Subnet")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete subnet")}isOwnerOrAdmin(){return!0}}a.default=d},3763:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditSubnet=void 0;var p=f(r(65)),h=f(r(62)),m=f(r(36)),v=r(406),g=r(1193),_=r(556),b=f(r(414)),y=f(r(605));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=A(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=A(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var{checkAllocation_pools:S,checkIpv6Allocation_pools:C,checkDNS:x,checkIpv6DNS:w,checkHostRoutes:P,checkIpv6HostRoutes:E,getAllocationPools:k,getHostRouters:D,getAllocationPoolsIntoLines:N,getDNSIntoLines:M,getHostRoutesIntoLines:B,splitToArray:R}=y.default,{isIpWithMask:j,isIPv6Cidr:T}=_.ipValidate;class F extends g.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{gateway_ip:t,allocation_pools:a,host_routes:r,dns:i,disable_gateway:n}=e,l=(0,h.default)(e,["gateway_ip","allocation_pools","host_routes","dns","disable_gateway"]),o=k(a),s=D(r),d=R(i),u=I(I({},l),{},{network_id:this.subnet.network_id,allocation_pools:o,host_routes:s,dns_nameservers:d});return n?u.gateway_ip=null:t&&t!==this.item.gateway_ip&&(u.gateway_ip=t),b.default.update(this.subnet,u)}))}get name(){return t("Edit Subnet")}get subnet(){return this.props.item}get defaultValue(){return I(I({},this.subnet),{},{subnet_name:this.subnet.name,allocation_pools:N(this.subnet.allocation_pools),host_routes:B(this.subnet.host_routes),dns:M(this.subnet.dns_nameservers),disable_gateway:!this.subnet.gateway_ip,gateway_ip:this.subnet.gateway_ip,more:!1})}get formItems(){var{more:e,disable_gateway:a=!this.item.gateway_ip}=this.state;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0},{name:"cidr",label:t("CIDR"),type:"input",placeholder:"192.168.0.0/24",disabled:!0,required:!0,validator:(e,a)=>(4===this.subnet.ip_version?j(a):T(a))?p.default.resolve(!0):p.default.reject(new Error(t("Invalid CIDR."))),tip:t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e},(()=>{this.formRef.current.validateFields(["gateway_ip"])}))},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ip-input",version:this.subnet.ip_version,required:!a,tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!a)},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. 192.168.1.2,192.168.1.200)"),hidden:!e,validator:4===this.subnet.ip_version?S:C},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. 114.114.114.114)"),hidden:!e,validator:4===this.subnet.ip_version?x:w},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. 192.168.200.0/24,10.56.1.254)"),hidden:!e,validator:4===this.subnet.ip_version?P:E},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.EditSubnet=F,(0,m.default)(F,"id","edit-subnet"),(0,m.default)(F,"title",t("Edit Subnet")),(0,m.default)(F,"buttonText",t("Edit")),(0,m.default)(F,"policy","update_subnet"),(0,m.default)(F,"allowed",(()=>p.default.resolve(!0)));var Q=(0,v.inject)("rootStore")((0,v.observer)(F));a.default=Q},3764:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(406),o=n(r(1202)),s=r(76);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,s.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Availability Zone"),dataIndex:"availability_zones"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints"},{label:t("MTU"),dataIndex:"mtu"},{label:t("Router External"),dataIndex:"router:external",valueRender:"yesNo"},{label:t("Provider Network Type"),dataIndex:"provider:network_type"},{label:t("Provider Physical Network"),dataIndex:"provider:physical_network",render:e=>e||"-"},{label:t("Segmentation ID"),dataIndex:"provider:segmentation_id"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",render:e=>e||"-"}),{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3765:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SubnetDetail=void 0;var p=f(r(36)),h=r(406),m=f(r(1200)),v=r(414),g=f(r(1341)),_=f(r(3766)),b=f(r(1573));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,p.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class I extends m.default{constructor(){super(...arguments),(0,p.default)(this,"updateFetchParams",(e=>A(A({},e),{},{inDetail:!0})))}get name(){return t("subnet")}get policy(){return"get_subnet"}get listUrl(){var{networkId:e}=this.params;return this.getRoutePath("networkDetail",{id:e},{tab:"subnets"})}get actionConfigs(){return b.default}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("CIDR"),dataIndex:"cidr"},{title:t("IP Version"),dataIndex:"ip_version"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:_.default},{title:t("Ports"),key:"ports",component:g.default}]}init(){this.store=new v.SubnetStore}}a.SubnetDetail=I;var S=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=S},3766:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(57)),o=n(r(81)),s=n(r(0)),d=r(406),u=n(r(1202));class c extends u.default{get leftCards(){var e=[this.networkCard,this.baseInfoCard];return this.canAddNetworkIPUsageInfo&&e.push(this.ipUsageCard),e}get canAddNetworkIPUsageInfo(){return this.isAdminPage||this.currentProjectId===this.detailData.project_id}get networkCard(){var e=[{label:t("Network Name"),dataIndex:"network.name"},{label:t("Network ID"),dataIndex:"network.id",render:e=>this.getLinkRender("networkDetail",e,{id:e})}];return{title:t("Network Info"),options:e}}get baseInfoCard(){var e=[{label:t("Gateway IP"),dataIndex:"gateway_ip"},{label:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t,a=(0,l.default)(t=e||[]).call(t,(e=>{var t,{start:a,end:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,"-")).call(t,r)},a," - ",r)}));return s.default.createElement(s.default.Fragment,null,a)}},{label:t("Enable DHCP"),dataIndex:"enable_dhcp",valueRender:"yesNo"},{label:t("Host Routes"),dataIndex:"host_routes",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>{var t,{destination:a,nexthop:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,",")).call(t,r)},a,",",r)}));return s.default.createElement(s.default.Fragment,null,t)}},{label:t("DNS Nameservers"),dataIndex:"dns_nameservers",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>s.default.createElement("div",{key:e},e)));return s.default.createElement(s.default.Fragment,null,t)}}];return{title:t("Base Info"),options:e}}get ipUsageCard(){if(!this.canAddNetworkIPUsageInfo)return null;var e=[{label:t("Total IPs"),dataIndex:"total_ips"},{label:t("Used IPs"),dataIndex:"used_ips"}];return{title:t("IP Usage"),options:e}}}a.BaseDetail=c;var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3767:function(e,a,r){"use strict";var i=r(160),n=r(19),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Routes=void 0;var s=o(r(36)),d=r(406),u=o(r(1194)),c=r(1219),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(568)),p=o(r(1574));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>(0,c.getRouterColumns)(this)))}init(){this.store=this.inDetailPage?new f.RouterStore:f.default,this.downloadStore=new f.RouterStore}get policy(){return"get_router"}get name(){return t("routers")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"status"}get searchFilters(){return c.routerFilters}}a.Routes=m;var v=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=v},3768:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(65)),o=n(r(226)),s=n(r(90)),d=n(r(51)),u=n(r(36)),c=n(r(91)),f=r(1193),p=n(r(568));class h extends f.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_router"),(0,u.default)(this,"submitErrorMsg",(e=>{var a=this.getName(e);return this.connectSubnets?t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.actionName||this.title,name:a,reason:t("the router has connected subnet")}):t("Unable to {action}, instance: {name}.",{action:this.actionName||this.title,name:a})})),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.notExternalGateway(e))),(0,u.default)(this,"performErrorMsg",(e=>{var a=(0,c.default)(e)?e[0]:e,{name:r}=a,i=t('You are not allowed to delete router "{ name }".',{name:r});return this.notExternalGateway(a)||(i=t('Unable to delete router "{ name }". External gateway is opened, please clear external gateway first.',{name:r})),i})),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a,r,i){if(i)return p.default.delete(a);var n=yield p.default.fetchConnectedSubnets(e.item);return n.connectSubnets.length?(e.connectSubnets=n.connectSubnets,e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:e.item.name,reason:t("the router has connected subnet")}),l.default.reject()):(e.showConfirmErrorBeforeSubmit=!1,p.default.delete(a))}));return function(e,t,r){return a.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Router")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete router")}notAssociatedNet(e){if(!e.ports||0===e.ports.length)return!0;var t,a=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];return!(e.ports.length>0)||!(0,o.default)(t=e.ports).call(t,(e=>(0,s.default)(a).call(a,e.device_owner)>-1))}notExternalGateway(e){return!e.hasExternalGateway}}a.default=h},3769:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(65)),o=n(r(36)),s=r(406),d=n(r(568)),u=r(1193);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return d.default.edit({id:t},e)}))}init(){this.store=d.default}get defaultValue(){var{item:e}=this.props;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name"),withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-router"),(0,o.default)(c,"title",t("Edit Router")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(e=>l.default.resolve("Default Router"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3770:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(568));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_router"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.hasGateway(e))),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.edit({id:t},{external_gateway_info:null})}))}get id(){return"clear-gateway"}get title(){return t("Close External Gateway")}get buttonText(){return t("Close External Gateway")}get actionName(){return t("Close external gateway")}hasGateway(e){return e.hasExternalGateway}}a.default=d},3771:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SetGateway=void 0;var p=f(r(65)),h=f(r(36)),m=r(406),v=f(r(568)),g=r(228),_=r(1193),b=r(564);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class I extends _.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{externalNetwork:t}=e,{id:a}=this.item,r={external_gateway_info:{network_id:t.selectedRowKeys[0]}};return this.store.edit({id:a},r)}))}init(){this.store=v.default,this.networkStore=new g.NetworkStore}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("open external gateway")}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"router"},A({name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:b.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",sorter:!1}]},b.networkSortProps)]}}a.SetGateway=I,(0,h.default)(I,"id","set-gateway"),(0,h.default)(I,"title",t("Open External Gateway")),(0,h.default)(I,"policy","update_router"),(0,h.default)(I,"allowed",(e=>p.default.resolve(!e.external_gateway_info)));var S=(0,m.inject)("rootStore")((0,m.observer)(I));a.default=S},3772:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ConnectSubnet=void 0;var l=n(r(90)),o=n(r(27)),s=n(r(81)),d=n(r(65)),u=n(r(36)),c=r(406),f=r(34),p=r(568),h=n(r(414)),m=r(575),v=r(1193);class g extends v.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"getSubnets",(()=>{var{networkId:e}=this.state;e&&this.subnetStore.fetchList({network_id:e})})),(0,u.default)(this,"onNetworkChange",(e=>{var{selectedRowKeys:t=[]}=e;this.setState({networkId:t[0]},(()=>{this.getSubnets()}))})),(0,u.default)(this,"disabledFuncSubnet",(e=>{var t,{allocation_pools:a=[]}=e;return 0===a.length||(0,l.default)(t=this.excludeSubnetIds).call(t,e.id)>=0})),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0],{networkId:i}=this.state;return this.store.connectSubnet({id:t,subnetId:r,networkId:i})}))}init(){this.store=new p.RouterStore,this.subnetStore=h.default,this.portStore=new m.PortStore,this.getPortList()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("connect subnet")}get subnets(){var{networkId:e}=this.state;return e?(0,f.toJS)(this.subnetStore.list.data||[]):[]}getPortList(){var{id:e}=this.item;this.portStore.fetchList({device_id:e})}get excludeSubnetIds(){var e,t=[];return(0,o.default)(e=(0,f.toJS)(this.portStore.list.data||[])).call(e,(e=>{var a;(0,o.default)(a=e.fixed_ips).call(a,(e=>{t.push(e.subnet_id)}))})),t}get formItems(){var{networkId:e}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"network",label:t("Network"),type:"network-select-table",required:!0,onChange:this.onNetworkChange},{name:"subnet",label:t("Subnet"),type:"select-table",data:this.subnets,isLoading:e&&this.subnetStore.list.isLoading,disabledFunc:this.disabledFuncSubnet,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,s.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.ConnectSubnet=g,(0,u.default)(g,"id","connect-subnet"),(0,u.default)(g,"title",t("Connect Subnet")),(0,u.default)(g,"policy","add_router_interface"),(0,u.default)(g,"allowed",(()=>d.default.resolve(!0)));var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3773:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.DisconnectSubnet=void 0;var l=n(r(27)),o=n(r(90)),s=n(r(65)),d=n(r(57)),u=n(r(339)),c=n(r(579)),f=n(r(102)),p=n(r(81)),h=n(r(51)),m=n(r(36)),v=r(406),g=r(34),_=r(568),b=n(r(228)),y=n(r(414)),A=r(575),I=r(1193);class S extends I.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0];return this.store.disconnectSubnet({id:t,subnetId:r})}))}init(){this.store=new _.RouterStore,this.networkStore=b.default,this.subnetStore=y.default,this.portStore=new A.PortStore,this.getSubnetList(),this.state.subnetLoading=!0}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("disconnect subnet")}getSubnetList(){var e=this;return(0,h.default)((function*(){var t,a,r,{id:i}=e.item;yield e.portStore.fetchList({device_id:i});var n=[],p=[],h=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];(0,l.default)(t=(0,g.toJS)(e.portStore.list.data||[])).call(t,(e=>{var t;(0,o.default)(h).call(h,e.device_owner)>-1&&(p.push(e.network_id),(0,l.default)(t=e.fixed_ips).call(t,(e=>{n.push(e.subnet_id)})))}));var m=yield s.default.all((0,d.default)(a=(0,u.default)(new c.default(n))).call(a,(t=>e.subnetStore.fetchDetail({id:t})))),v=yield s.default.all((0,d.default)(r=(0,u.default)(new c.default(p))).call(r,(t=>e.networkStore.fetchDetail({id:t}))));(0,l.default)(m).call(m,(e=>{var t=(0,f.default)(v).call(v,(t=>t.id===e.network_id));e.network=t})),e.setState({subnets:(0,d.default)(m).call(m,(e=>(0,g.toJS)(e))),subnetLoading:!1})}))()}get formItems(){var{subnets:e=[],subnetLoading:a}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"subnet",label:t("Subnet"),type:"select-table",data:e,isLoading:a,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Network"),dataIndex:"network",render:e=>e&&e.name||"-"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,p.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.DisconnectSubnet=S,(0,m.default)(S,"id","disconnect-subnet"),(0,m.default)(S,"title",t("Disconnect Subnet")),(0,m.default)(S,"policy","remove_router_interface"),(0,m.default)(S,"allowed",(()=>s.default.resolve(!0)));var C=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=C},3774:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FloatingIpDetail=void 0;var l=n(r(1259)),o=r(406),s=n(r(1200)),d=r(1224),u=r(336),c=r(1340),f=n(r(1548)),p=n(r(3775)),h=n(r(3776));class m extends s.default{get name(){return t("floating ip")}get policy(){return"get_floatingip"}get listUrl(){return this.getRoutePath("fip")}get actionConfigs(){return this.isAdminPage?f.default.adminConfigs:f.default.actionConfigs}get detailInfos(){return[{title:t("Floating IP"),dataIndex:"floating_ip_address"},{title:t("Status"),dataIndex:"status",valueMap:d.floatingIpStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:p.default}];return(0,c.enablePFW)()&&(0,l.default)(this.detailData.fixed_ip_address)&&e.push({title:t("Port Forwardings"),key:"port_forwarding",component:h.default}),e}init(){this.store=new u.FloatingIpStore}}a.FloatingIpDetail=m;var v=(0,o.inject)("rootStore")((0,o.observer)(m));a.default=v},3775:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(81)),h=f(r(36)),m=r(406),v=r(336),g=f(r(1202));function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=_(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=_(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class y extends g.default{constructor(){super(...arguments),(0,h.default)(this,"fetchData",(()=>{var{router_id:e}=this.props.detail;e&&this.store.getAddInfo({router_id:e}).catch(this.catch)}))}init(){this.store=new v.FloatingIpStore}get isLoading(){var{router_id:e}=this.props.detail;return!!e&&this.store.isLoading}get detailData(){return b(b({},this.props.detail),{},{router_name:this.store.addInfo.name,network_name:this.store.addInfo.externalNetworkName})}get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Fixed IP"),dataIndex:"fixed_ip_address"},{label:t("Network Line"),dataIndex:"network_name"},{label:t("Router"),dataIndex:"router_id",render:(e,t)=>{if(e){var a,{router_name:r,network_name:i}=t;if("-"===r&&"-"===i)return e;var n=r?(0,p.default)(a="".concat(e," (")).call(a,r,")"):e;return this.getLinkRender("routerDetail",n,{id:e})}return"-"}}];return{title:t("Base Info"),options:e}}}a.BaseDetail=y;var A=(0,m.inject)("rootStore")((0,m.observer)(y));a.default=A},3776:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.PortForwarding=void 0;var p=f(r(198)),h=f(r(62)),m=f(r(36)),v=r(406),g=f(r(1194)),_=r(598),b=r(161),y=r(1224),A=f(r(3777));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.default{constructor(){super(...arguments),(0,m.default)(this,"updateFetchParams",(e=>{var{id:t,all_projects:a}=e,r=(0,h.default)(e,["id","all_projects"]);return function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=I(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=I(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({fipId:t,fipInfo:this.props.detail},r)})),(0,m.default)(this,"getColumns",(()=>[{title:t("ID"),dataIndex:"id"},{title:t("External Port/Port Range"),dataIndex:"external_port",splitColumnForDownload:!1,render:(e,t)=>e||t.external_port_range},{title:t("Internal Ip Address"),dataIndex:"internal_ip_address",isHideable:!0},{title:t("Internal Port/Port Range"),dataIndex:"internal_port",splitColumnForDownload:!1,isHideable:!0,render:(e,t)=>e||t.internal_port_range},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,valueMap:y.portForwardingProtocols},{title:t("Description"),dataIndex:"description",isHideable:!0}]))}init(){this.store=new _.PortForwardingStore}get policy(){return"get_floatingip_port_forwarding"}get name(){return t("port forwardings")}get isFilterByBackend(){return!1}get actionConfigs(){return this.isAdminPage?A.default.actionConfigsAdmin:A.default.actionConfigs}get searchFilters(){return[{label:t("Protocol"),name:"protocol",options:(0,b.getOptions)(y.portForwardingProtocols)},{label:t("External Port/Port Range"),name:"external_port",filterFunc:(e,t,a)=>{var r,i,{external_port:n,external_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Internal Ip Address"),name:"internal_ip_address",filterFunc:(e,t)=>(0,p.default)(e).call(e,t)},{label:t("Internal Port/Port Range"),name:"internal_port",filterFunc:(e,t,a)=>{var r,i,{internal_port:n,internal_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Description"),name:"description"}]}}a.PortForwarding=S;var C=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=C},3777:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1403)),l=i(a(3778)),o=i(a(3779)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default},batchActions:[],primaryActions:[]}};t.default=s},3778:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(32)),h=f(r(57)),m=f(r(198)),v=f(r(102)),g=f(r(428)),_=f(r(62)),b=f(r(51)),y=f(r(36)),A=r(406),I=f(r(598)),S=f(r(561)),C=r(1219),x=r(1224),w=r(1210),P=r(1403);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=E(Object(r),!0)).call(a,(function(t){(0,y.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=E(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class D extends P.CreatePortForwarding{constructor(){var e;super(...arguments),e=this,(0,y.default)(this,"handlePortSelect",function(){var t=(0,b.default)((function*(t){e.setState({fixedIpLoading:!0});var{canReachSubnetIdsWithRouterId:a}=e.state,r=yield(0,x.getInterfaceWithReason)(t.selectedRows),i=(0,w.getPortsAndReasons)(r,a,!0);return e.setState({portFixedIPs:i,fixed_ip_address:void 0,fixedIpLoading:!1}),e.formRef.current&&e.formRef.current.resetFields(["fixed_ip_address"]),i}));return function(e){return t.apply(this,arguments)}}()),(0,y.default)(this,"onSubmit",(e=>I.default.edit({fipId:this.fipId,id:this.item.id},e))),(0,y.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:i,internal_port:n,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[d,u]=this.getRangeFromString(s);return a>=d&&a<=u&&e.protocol===r}var c="external"===t?i:n;return this.item.id!==e.id&&a===c&&e.protocol===r})),(0,y.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,i=a.virtual_adapter.selectedRows[0].id;return this.item.id!==t.id&&t.internal_port_id===i&&t.internal_ip_address===r}))}get name(){return t("Edit Port Forwarding")}get instanceName(){var{floating_ip_address:e}=this.item;return(0,x.getPortForwardingName)(this.item,e)}get tips(){return""}get fipId(){return this.item.fip.id}getExtraInfo(){C.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:{fip:t}}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})).then((()=>{this.getInitialPortFixedIPs()}))}getInitialPortFixedIPs(){var e=this;return(0,b.default)((function*(){e.setState({fixedIpLoading:!0});var{internal_port_id:t,internal_ip_address:a}=e.item,r=yield S.default.fetchDetail({id:t});return e.handlePortSelect({selectedRows:[r]}).then((t=>{var i=(0,p.default)(t).call(t,(e=>e.fixed_ip_address===a)),n={selectedRowKeys:(0,h.default)(i).call(i,(e=>e.id)),selectedRows:i};return e.updateFormValue("virtual_adapter",{selectedRowKeys:[r.id],selectedRows:[r]}),n})).then((t=>{e.setState({fixed_ip_address:t})}))}))()}get defaultValue(){var e=this.item,{floating_ip_address:t,fip:a,internal_port_id:r,internal_ip_address:i}=e;return k({floatingIp:t,virtual_adapter:{selectedRowKeys:[r]},fixed_ip_address:{selectedRowKeys:[i],selectedRows:[{fixed_ip_address:i}]}},(0,_.default)(e,["floating_ip_address","fip","internal_port_id","internal_ip_address"]))}getSubmitData(e){var t,a,{floatingIp:r,virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:n=[]}={},external_port:l,internal_port:o}=e,s=k({},(0,_.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,m.default)(t=l.toString()).call(t,":")?s.external_port_range=l:s.external_port=l,(0,m.default)(a=o.toString()).call(a,":")?s.internal_port_range=o:s.internal_port=o,s.internal_ip_address=n[0].fixed_ip_address,s.internal_port_id=i[0].id,s}get formItems(){var e=super.formItems;if(this.supportRange)return e;var a=(0,v.default)(e).call(e,(e=>"external_port"===e.name)),r=(0,v.default)(e).call(e,(e=>"internal_port"===e.name));a.label=t("External Port"),r.label=t("Internal Port");var i={type:"input-int",min:1,max:65535,extra:t("Enter an integer value between 1 and 65535."),hasRequiredCheck:!0};return(0,g.default)(a,i,{placeholder:t("Please input {label}",{label:a.label})}),(0,g.default)(r,i,{placeholder:t("Please input {label}",{label:r.label})}),e}}a.Edit=D,(0,y.default)(D,"id","edit"),(0,y.default)(D,"title",t("Edit")),(0,y.default)(D,"policy","update_floatingip_port_forwarding"),(0,y.default)(D,"allowed",(()=>!0));var N=(0,A.inject)("rootStore")((0,A.observer)(D));a.default=N},3779:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(598)),d=r(1224);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_floatingip_port_forwarding"),(0,l.default)(this,"getItemName",(e=>(0,d.getPortForwardingName)(e,e.floating_ip_address))),(0,l.default)(this,"onSubmit",(e=>{var{fip:t,id:a}=e,r=t.id;return s.default.delete({floatingipId:r,id:a})}))}get id(){return"delete"}get title(){return t("Delete Port Forwarding")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete port forwarding")}}a.default=u},3780:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Topology=void 0;var p=f(r(198)),h=f(r(27)),m=f(r(419)),v=f(r(90)),g=f(r(57)),_=f(r(81)),b=f(r(32)),y=f(r(335));r(337);var A=f(r(338));r(1229);var I=f(r(1230));r(571);var S=f(r(417));r(333);var C=f(r(332)),x=f(r(1526)),w=f(r(51)),P=f(r(36)),E=f(r(0)),k=(r(173),f(r(3781))),D=f(r(3782)),N=(r(555),r(406)),M=f(r(228)),B=r(3783),R=f(r(1333)),j=r(556),T=r(34),F=r(564),Q=f(r(1407)),L=f(r(1575)),O=f(r(1570)),q=f(r(1253)),V=f(r(3785)),H=f(r(1576));function U(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function G(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=U(Object(r),!0)).call(a,(function(t){(0,P.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=U(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var K=null,{isIpInRangeAll:J}=j.ipValidate;class W extends E.default.Component{constructor(e){var t;super(e),t=this,(0,P.default)(this,"bindEvents",(()=>{K.on("node:mouseenter",(e=>{var t,{item:a}=e,{nodeType:r}=a._cfg.model;if((0,p.default)(t=["router","ins","lb"]).call(t,r)){var i,n=K.findAllByState("node","hover");(0,h.default)(n).call(n,(e=>{K.setItemState(e,"hover",!1)})),K.setItemState(a,"hover",!0);var l=K.findAllByState("edge","hover");(0,h.default)(l).call(l,(e=>{K.setItemState(e,"hover",!1),K.updateItem(e,{style:{stroke:e._cfg.target._cfg.model.style.stroke}})}));var o=a._cfg.model.style.stroke;(0,h.default)(i=a._cfg.edges).call(i,(e=>{K.setItemState(e,"hover",!0),K.updateItem(e,{style:{stroke:o}})}))}}))})),(0,P.default)(this,"updateGraph",(()=>{K&&(K.clear(),K.destroy(),K=null),this.setState({firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,withoutServerData:null,allData:null,showAll:!0}),this.initTopo()})),(0,P.default)(this,"renderRouterNode",((e,t)=>{var{routers:a}=this.topoInfo,r=[];if((0,h.default)(a).call(a,((a,i)=>{var{id:n,external_gateway_info:l,subnets:o,name:s}=a,d=(0,m.default)((t/10*i+t/20*3).toFixed(0));if(r.push({nodeCardX:d,nodeCardY:190}),e.nodes.push({id:n,x:d,y:190,type:"rect",nodeType:"router",infoIndex:i,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"ACTIVE"===a.status?"#57E39B":"#DB3A3A",shadowColor:"ACTIVE"===a.status?"rgba(87,227,155,0.61)":"rgba(237,33,48,1)",shadowBlur:"ACTIVE"===a.status?5:4},anchorPoints:[[.5,0]]}),null!==l&&e.edges.push({id:"edge-".concat(s,"-ext"),target:"extNet",targetAnchor:1,source:n,sourceAnchor:0,type:"arrowLine",style:{stroke:B.subnetsColors[0][0]}}),0!==o.length){var u=0;(0,h.default)(o).call(o,(t=>{var a,r,i=(0,v.default)(a=(0,g.default)(r=e.subnetNodes).call(r,(e=>e.id))).call(a,t);if(-1!==i){var l,{style:{stroke:o}}=e.subnetNodes[i];u+=1,e.edges.push({id:(0,_.default)(l="edge-".concat(s,"-")).call(l,t),target:t,targetAnchor:0,source:n,sourceAnchor:u,type:"arrowLine",style:{stroke:o}})}})),e.nodes[e.nodes.length-1].anchorPoints=this.getAnchorPoints(1,u)}})),r[0]){var i=r[r.length-1].nodeCardX,{extendWidth:n}=this.state;if(i>=t-5){var l=Math.ceil((i-(t-5))/(t/10));this.setState({extendWidth:n+l*(t/10)})}this.setState({nodeCard:r})}})),(0,P.default)(this,"renderNetworkNode",((e,t)=>{var{subnets:a,networks:r}=this.topoInfo,{extendWidth:i}=this.state;e.subnetNodes=[],(0,h.default)(r).call(r,(r=>{if(!(0,F.isExternalNetwork)(r)){var n,l=[],{firstSubnetY:o}=this.state;(0,h.default)(n=r.subnets).call(n,(e=>{(0,h.default)(a).call(a,(t=>{t.id===e&&l.push(t)}))}));var s=o+32*l.length+60;(0,h.default)(l).call(l,((a,n)=>{var l=B.subnetsColors[0],d=l[n%l.length];e.subnetNodes.push({id:a.id,label:a.name,labelCfg:{position:"right",offset:-t/2,style:{fill:"#000000"}},type:"rect",x:t/2,y:o+32*n,cardY:s,anchorPoints:[[.5,0],[.5,1]],comboId:r.id,style:{radius:4,fill:d,stroke:d,width:t+i-50,height:20},pools:a.allocation_pools,networkId:a.network_id})})),0!==l.length&&(this.setState({firstSubnetY:e.subnetNodes[e.subnetNodes.length-1].y+200}),e.combos.push({id:r.id,label:r.name,type:"rect",size:[t-40,30],style:{fill:B.combosBackground[0],stroke:B.combosColors[0],radius:4},labelCfg:{refY:1,position:"top",style:{fontSize:12}}}))}}))})),(0,P.default)(this,"renderInstanceNode",((e,a)=>{var{servers:r,subnets:i,extNetwork:n}=this.topoInfo,l=[];(0,h.default)(r).call(r,((r,o)=>{var s,{fixed_addresses:d,fixed_networks:u}=r,c=(0,m.default)((a/10*2).toFixed(0)),f=null,p=0,g=[];(0,h.default)(n).call(n,(e=>g.push(...(0,T.toJS)(e.subnets))));var y=(0,b.default)(i).call(i,(e=>-1!==(0,v.default)(g).call(g,e.id)));if(!d[0]){var{insCard:A}=this.state;f=e.subnetNodes[0].cardY,(0,h.default)(A).call(A,(e=>{e[0]===c&&e[1]===f&&(c+=(0,m.default)((a/10).toFixed(0))),Math.round(c)>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+(0,m.default)((a/10).toFixed(0))})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?"#57E39B":"#DB3A3A",shadowColor:"active"===r.vm_state?"rgba(87,227,155,0.61)":"rgba(237,33,48,1)",shadowBlur:"active"===r.vm_state?5:4}})}var I=0;(0,h.default)(d).call(d,(i=>{var n,s=null,d=0;if((0,h.default)(y).call(y,(e=>{var t;(0,h.default)(t=e.allocation_pools).call(t,(e=>{J(i,e.start,e.end)&&(s="extNet",d=0)}))})),(0,h.default)(n=e.subnetNodes).call(n,((e,t)=>{var a;-1!==(0,v.default)(u).call(u,e.networkId)&&(0,h.default)(a=e.pools).call(a,(a=>{J(i,a.start,a.end)&&(s=e.id,d=t)}))})),e.nodes[e.nodes.length-1].id!==r.id&&s){var{insCard:g}=this.state;f=e.subnetNodes[d].cardY,(0,h.default)(g).call(g,(e=>{e[0]===c&&e[1]===f&&(c+=(0,m.default)((a/10).toFixed(0))),c>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+a/10})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?"#57E39B":"#DB3A3A",shadowColor:"active"===r.vm_state?"rgba(87,227,155,0.61)":"rgba(237,33,48,1)",shadowBlur:"active"===r.vm_state?5:4}})}s&&function(){var n,{style:{stroke:o}}=e.subnetNodes[d],u=e.subnetNodes[d].y;u<f&&(p+=1);for(var h=0;h<l.length;h++){var v,g,y=(0,b.default)(v=e.edges).call(v,(e=>e.source!==r.id&&e.linePath&&e.linePath.source_x===c&&e.topAnchorNum===p&&(e.linePath.source_y>=f&&e.linePath.target_y<=u||e.linePath.source_y<=f&&e.linePath.target_y>=u))),A=(0,b.default)(g=e.nodes).call(g,(e=>e.x===c&&e.y===f&&e.id!==r.id));if(0===y.length&&0===A.length)break;c+=(0,m.default)((a/10).toFixed(0)),e.nodes[e.nodes.length-1].x=c,l[l.length-1]=[c,f],Math.round(c)>=a+t.state.extendWidth&&t.setState((e=>({extendWidth:e.extendWidth+a/10})))}e.edges.push({id:(0,_.default)(n="edge-".concat(r.id,"-")).call(n,i),target:s,targetAnchor:u>f?0:1,source:r.id,sourceAnchor:I,type:"arrowLine",topAnchorNum:p,style:{stroke:o},linePath:{source_x:c,source_y:f,target_y:u}}),I+=1}()}));var S=this.getAnchorPoints(p,I-p),C=(0,b.default)(s=e.edges).call(s,(e=>e.source===r.id));(0,h.default)(C).call(C,((e,t)=>{"extNet"===e.target&&1===S[t][1]&&([S[t],S[p-1]]=[S[p-1],S[t]])})),e.nodes[e.nodes.length-1].anchorPoints=S,this.setState({insCard:l})}))})),(0,P.default)(this,"getAnchorPoints",((e,t)=>{var a=[];return e>0&&a.push(...(0,F.getAnchorData)(e,0)),t>0&&a.push(...(0,F.getAnchorData)(t,1)),a})),(0,P.default)(this,"renderG6",(()=>{k.default.registerEdge("arrowLine",{draw(e,t){var{endPoint:a,startPoint:r}=e,i=e.style.stroke;return t.addShape("path",{attrs:{path:[["M",r.x,r.y],["L",r.x,a.y]],endArrow:{path:k.default.Arrow.vee(4,8,-4),d:1},startArrow:{path:k.default.Arrow.vee(4,8,-4),d:1},stroke:i||"#C8DEFF",lineWidth:2},name:"path-shape"}),t}});var e=document.getElementById("container").scrollWidth,t={nodes:[{id:"networkImage",x:e/2,y:50,img:D.default,type:"image",size:56,clipCfg:{show:!1,type:"circle",r:15}},{id:"extNet",type:"rect",label:"extNetwork",labelCfg:{position:"right",offset:-e/2,style:{fill:"#000000"}},x:e/2,y:100,anchorPoints:[[.5,0],[0,1]],style:{radius:4,fill:"#FFFFFFFF",stroke:B.subnetsColors[0][0],width:e-10,height:20}}],edges:[{id:"edge3",target:"networkImage",source:"extNet",style:{startArrow:{path:k.default.Arrow.vee(4,6,-1),d:2},lineWidth:1,stroke:B.subnetsColors[0][0]}}],combos:[]},{servers:a}=this.topoInfo;if(a){t=K.cfg.data,this.renderRouterNode(t,e),this.extendNetworkWidth(t,e);var r=JSON.parse((0,y.default)(t));this.setState({withoutServerData:r}),this.renderInstanceNode(t,e),this.extendNetworkWidth(t,e);var i=JSON.parse((0,y.default)(t));this.setState({allData:i})}else this.renderNetworkNode(t,e),this.extendNetworkWidth(t,e);K&&(K.clear(),K.destroy());var{firstSubnetY:n,extendWidth:l}=this.state;(K=new k.default.Graph({container:"container",width:e+l,height:n,nodeStateStyles:{hover:{lineWidth:3}}})).data(t),K.render(),this.bindEvents(),this.setState({loading:!1})})),(0,P.default)(this,"extendNetworkWidth",((e,t)=>{var{subnetNodes:a,nodes:r}=e,{extendWidth:i}=this.state;i>0&&((0,h.default)(a).call(a,(e=>{e.style.width=t-50+i,e.x=(t+i)/2,e.labelCfg.offset=-(t+i)/2})),r[1].style.width=t+i-10,r[0].x=(t+i)/2,r[1].labelCfg.offset=-(t+i)/2,r[1].x=(t+i)/2),a&&a[0]&&(e.nodes=(0,_.default)(r).call(r,a))})),(0,P.default)(this,"onCheckChange",(()=>{var{firstSubnetY:e,extendWidth:t,showAll:a,withoutServerData:r,allData:i}=this.state,n=document.getElementById("container").scrollWidth,l=!a;this.setState({showAll:l});var o=n+t;l||(o=n-t),K.clear(),K.destroy(),K=null,(K=new k.default.Graph({container:"container",width:o,height:e,nodeStateStyles:{hover:{lineWidth:3}}})).data(l?i:r),K.render(),this.bindEvents()})),this.init(),this.state={firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,showAll:!0,withoutServerData:null,allData:null}}componentDidMount(){}get topoInfo(){return this.store.topology}initNetwork(){var e=this;return(0,w.default)((function*(){yield e.store.fetchTopoNetwork(G(G({},e.props.match.params),{},{metrics:!0})),e.renderG6()}))()}initAll(){var e=this;return(0,w.default)((function*(){yield e.store.fetchTopo(G(G({},e.props.match.params),{},{metrics:!0})),e.topoInfo.networks&&e.renderG6()}))()}initTopo(){this.initNetwork(),this.initAll()}init(){this.store=M.default,K=null,this.initTopo()}render(){var{nodeCard:e,insCard:a,loading:r,showAll:i}=this.state,{topology:n}=this.store;return E.default.createElement("div",{className:Q.default.main},E.default.createElement("div",{style:{marginBottom:16,marginTop:16,marginLeft:16}},E.default.createElement(R.default,{primaryActions:[L.default]},t("create router")),E.default.createElement(R.default,{primaryActions:[O.default]},t("Create Network")),E.default.createElement(R.default,{primaryActions:[q.default]},t("Create Instance")),E.default.createElement(C.default,{type:"primary",shape:"circle",style:{marginLeft:16},onClick:()=>this.updateGraph(),icon:E.default.createElement(x.default,null)}),E.default.createElement(S.default,{onChange:()=>this.onCheckChange(),checked:i},t("Show Instance"))),E.default.createElement(A.default,{spinning:r},E.default.createElement(I.default,{style:{margin:16},id:"card",className:Q.default.container},E.default.createElement("div",{id:"container"},n&&(0,g.default)(e).call(e,((e,t)=>E.default.createElement(H.default,{key:t,x:e.nodeCardX,y:e.nodeCardY,data:this.topoInfo,infoIndex:t}))),i?n&&(0,g.default)(a).call(a,((e,t)=>E.default.createElement(V.default,{key:t,x:e[0],y:e[1],data:this.topoInfo,infoIndex:t}))):null))))}}a.Topology=W;var X=(0,N.inject)("rootStore")((0,N.observer)(W));a.default=X},3782:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/cloud.1663167892.png"},3783:function(e,t,a){"use strict";a(19)(t,"__esModule",{value:!0}),t.subnetsColors=t.combosColors=t.combosBackground=void 0;t.combosBackground=["rgba(0,104,255,0.05)","rgba(94,246,255,0.08)","rgba(236,220,255,0.08)","rgba(255,255,240,0.3)"];t.combosColors=["#9AC3FF","#A5FFF0","#ECDCFF","#FFFF00"];t.subnetsColors=[["#9AC3FF","#4C95FF","#0068FF","#0080FF","#0066CC","#0000FF"],["#CCF2EC","#92DACF","#46B1A5","#CCF2EC","#92DACF","#46B1A5"],["#ECDCFF","#D6B3FF","#BA80FF","#ECDCFF","#D6B3FF","#BA80FF"],["#FFFACD","#FFFF00","#FFD700","#FFFACD","#FFFF00","#FFD700"]]},3784:function(e,t,a){(t=e.exports=a(74)(!1)).push([e.i,".index__node-tooltips--1M7su {\n position: absolute;\n}\n.index__node-tooltips--1M7su .ant-card-body {\n padding: 15px;\n}\n.index__image-icon--2ABo6 {\n width: 15px;\n height: 15px;\n margin-right: 2px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-item-label {\n width: 80px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-row > th,\n.index__descriptions-item--iUKkb .ant-descriptions-row > td {\n padding-bottom: 8px;\n}\n.index__node-card-title--3zjAj {\n font-size: 16px;\n}\n.index__card-button--1hPxO .ant-btn-primary {\n margin-right: 6px;\n}\n.index__main--2dSfi {\n height: 100%;\n}\n.index__main--2dSfi .ant-btn-primary {\n margin-right: 16px;\n}\n.index__container--3ea1Q {\n height: calc(100vh - 170px);\n overflow-y: auto;\n}\n",""]),t.locals={"node-tooltips":"index__node-tooltips--1M7su","image-icon":"index__image-icon--2ABo6","descriptions-item":"index__descriptions-item--iUKkb","node-card-title":"index__node-card-title--3zjAj","card-button":"index__card-button--1hPxO",main:"index__main--2dSfi",container:"index__container--3ea1Q"}},3785:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(57));r(576);var o=n(r(577));r(1330);var s=n(r(1331)),d=n(r(36)),u=n(r(0)),c=(r(173),r(1195)),f=n(r(3786)),p=n(r(584)),h=r(201),m=n(r(1407)),v=n(r(1576));class g extends v.default{constructor(e){super(e),(0,d.default)(this,"detailButtons",(()=>{var{data:{servers:e},infoIndex:a}=this.props,{status:r}=e[a];return[..."SHUTOFF"===r?[{name:t("Power On"),click:null}]:[{name:t("Power Off"),click:null}],{name:t("Associate IP"),click:null},{name:t("Add network"),click:null},{name:t("VNC"),click:null},{name:t("Delete"),type:"danger",click:null}]})),this.state={}}get detailInfos(){return[{title:t("Name"),dataIndex:"name",width:100,render:(e,t)=>e?u.default.createElement(h.Link,{to:"/compute/instance/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",isHideable:!0,render:e=>c.instanceStatus[e&&e.toLowerCase()]||"-"},{title:t("Image"),dataIndex:"image_os_distro",isHideable:!0,render:(e,t)=>u.default.createElement(p.default,{type:e,title:t.image_name}),stringify:(e,t)=>t.image_name},{title:t("Fixed IP"),dataIndex:"fixed_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-",stringify:e=>e.join(",")||"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-"}]}render(){var{x:e,y:a}=this.props,{data:{servers:r},infoIndex:i}=this.props,n=r[i];return u.default.createElement("div",{className:m.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e-8,"px")}},u.default.createElement(o.default,{placement:"rightTop",content:this.renderCard(435,n),title:this.renderTitle(t("Instance"),n.name)},u.default.createElement("div",{style:{textAlign:"center",width:"66px",height:"50px",overflow:"hidden"}},u.default.createElement(s.default,{src:f.default,shape:"square",size:28}),u.default.createElement("div",null,n.name))))}}a.default=g},3786:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAdbElEQVR4Xu3d56+1WVkH4HtCE6SFJk1kEKRKkyYCOlIDigiKRr9Yv/gXaGIyTmKif4FfrF80goKIQqjOyCAORZpUQQaRJi00QVowDyzgMHnhPavt5157XychfJhnrXWva937+Z3nvOfsfUn4IkCAAAECDQKXNIwxhAABAgQIhADRBAQIECDQJCBAmtgMIkCAAAEBogcIECBAoElAgDSxGUSAAAECAkQPECBAgECTgABpYjOIAAECBASIHiBAgACBJgEB0sRmEAECBAgIED1AgAABAk0CAqSJzSACBAgQECB6gAABAgSaBARIE5tBBAgQICBA9AABAgQINAkIkCY2gwgQIEBgdoDcNCLuGhG3QU2AAAECBxX4WES8NyI+O2vVGQFyn4j4g4i4X0TcbVbh5iVAgACBcwm8JyLeEhG/ExFvO9eIc140OkB+PSL+5Jxru4wAAQIEDivwGxHxp6OWHBkgPxERV44qzDwECBAgMEXgsoi4asTMowLkThHx/hEFmYMAAQIEpgvcOSI+0LvKqAB5TkQ8vbcY4wkQIEDgIALPjYhn9K40KkCuLb9t1VuP8QQIECAwX2D77axLe5cZESA3i4hP9xZiPAECBAgcVODmEfGZnhVHBMgDIuKNPUUYS4AAAQIHF3hgRLypZ9URAeK3r3pOwFgCBAjsI9D921gCZJ+DsyoBAgT2FhAge5+A9QkQILCogABZ9OCUTYAAgb0FBMjeJ2B9AgQILCogQBY9OGUTIEBgbwEBsvcJWJ8AAQKLCgiQRQ9O2QQIENhb4GgCZNuILwIECBA4v0Dvu58fVYAMeXvh89u7kgABAssKjPgDbgGy7PErnAABAu0CAuSMXXcStp+DkQQIEFhOQIAIkOWaVsEECOQQECACJEcnqoIAgeUEBIgAWa5pFUyAQA4BASJAcnSiKggQWE5AgAiQ5ZpWwQQI5BAQIAIkRyeqggCB5QQEiABZrmkVTIBADgEBIkBydKIqCBBYTkCACJDlmlbBBAjkEBAgAiRHJ6qCAIHlBASIAFmuaRVMgEAOAQEiQHJ0oioIEFhOQIAIkOWaVsEECOQQECACJEcnqoIAgeUEBIgAWa5pFUyAQA4BASJAcnSiKggQWE5AgAiQ5ZpWwQQI5BAQIAIkRyeqggCB5QQEiABZrmkVTIBADgEBIkBydKIqCBBYTkCACJDlmlbBBAjkEBAgAiRHJ6qCAIHlBASIAFmuaRVMgEAOAQEiQHJ0oioIEFhOQIAIkOWaVsEECOQQECACJEcnqoIAgeUEBIgAWa5pFUyAQA4BASJAcnSiKggQWE5AgAiQ5ZpWwQQI5BAQIAcOkA289+uqzglG1LCV0FtH5zYMJ0BgZwEBcuAAuTIiem/gl3Q2TYpD79yD4QQI7C+Q4l7Se0PcGFNs5BznKUDOgeQSAgSWEEhx3xUgdb3S65Xi0Ou27GoCBBIKpLiX9N4QPYHUdVaKQ68r2dUECCQUSHEvESB1ndHrleLQ67bsagIEEgqkuJf03hA9gdR1VopDryvZ1QQIJBRIcS8RIHWd0euV4tDrtuxqAgQSCqS4l/TeED2B1HVWikOvK9nVBAgkFEhxLxEgdZ3R65Xi0Ou27GoCXxMY0bvHQnlZgj/mHXEe3fvovSGOaqzujZyjM/0dyDmQXELgOwiMuGEdC+4h7lcXsxpxHt37ECAXO6Zv/++9XikOvW7LribgCeQ6PdB94x3QUynuJb03RE8gdZ2Q4tDrSnY1AQEiQC78KhAgdXeHXi8BUuft6jwCI3o3z276KvEEUvx6b4ieQOoaccSLMEPz1u3a1ccgMKJ3j8Fh20OG1+CI8+jehwCpa+lerxSHXrdlVxPwIyw/wvIjLL+F5U5IoF1gxDc/7avnGtn9nfuA7Yw4j+599H5H7UdYdZ2Q4tDrSnY1AU8gnkA8gXgCcSck0C4w4puf9tVzjez+zn3AdkacR/c+PIHUnWSvV4pDr9uyqwl4AvEE4gnEE4g7IYF2gRHf/LSvnmtk93fuA7Yz4jy699H7HbV/A6nrhBSHXleyqwl4AvEE4gnEE4g7IYF2gRHf/LSvnmtk93fuA7Yz4jy69+EJpO4ke71SHHrdll1NwBOIJxBPIJ5A3AkJtAuM+OanffVcI7u/cx+wnRHn0b2P3u+o/RtIXSekOPS6kl1N4JtPIJez+JrAFT4P5OudIEDqXhG9XgKkztvVBAhcWCDFvaT3hugJpK69Uxx6XcmuJkAgoUCKe4kAqeuMXq8Uh163ZVcTIJBQIMW9pPeG6AmkrrNSHHpdya4mQCChQIp7iQCp64xerxSHXrdlVxMgkFAgxb2k94boCaSus1Icel3JriZAIKFAinuJAKnrjF6vFIdet2VXEyCQUCDFvaT3hugJpK6zUhx6XcmuJkAgoUCKe8kpBUjCHlASAQIEmgQEyBm27j+pbzoCgwgQILCmgAARIGt2rqoJENhdQIAIkN2bUAEECKwpIEAEyJqdq2oCBHYXECACZPcmVAABAmsKCBABsmbnqpoAgd0FBIgA2b0JFUCAwJoCAkSArNm5qiZAYHcBASJAdm9CBRAgsKaAABEga3auqgkQ2F1AgAiQ3ZtQAQQIrCkgQATImp2ragIEdhcQIAJk9yZUAAECawoIEAGyZueqmgCB3QUEiADZvQkVQIDAmgICRICs2bmqJkBgdwEBIkB2b0IFECCwpoAAESBrdq6qCRDYXUCACJDdm1ABBAisKSBABMianatqAgR2FxAgAmT3JlQAAQJrCggQAbJm56qaAIHdBQSIANm9CRVAgMCaAgJEgKzZuaomQGB3AQEiQHZvQgUQILCmgAARIGt2rqoJENhdQIAIkN2bUAEECKwpIEAEyJqdq2oCBHYXECACZPcmVAABAmsKCBABsmbnqpoAgd0FBIgA2b0JFUCAwJoCAkSArNm5qiZAYHcBAXLmCK7a/TgUQIAAgbUEthDp+bosIrruvZf0rF7GjkjCAWWYggABAgQqBARIBZZLCRAgQOBbAgJENxAgQIBAk4AAaWIziAABAgQEiB4gQIAAgSYBAdLEZhABAgQICBA9QIAAAQJNAgKkic0gAgQIEBAgeoAAAQIEmgQESBObQQQIECAgQPQAAQIECDQJCJAmNoMIECBAQIDoAQIECBBoEhAgTWwGESBAgIAA0QMECBAg0CQgQJrYDCJAgACBowmQ7o3oBQIECJyQwIjPYeq+72b5QKnujZxQ49gqAQIEBMiZHhAgXhAECBA4v4AAESDn7xZXEiBA4IyAABEgXhAECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgAqSpcQwiQICAABEgXgUECBBoEhAgBw6QK5uO6dsHXdY5x3bol3fOcUVEXNU5h+EECKwtIEB2CJANvefrkp7BEZHi0Dv3YDgBAvsLpLiX9N4QN8YUGznHeW5PIALkHFAuIUAgvUCK+64AqeuTXq8Uh163ZVcTIJBQIMW9pPeG6AmkrrNSHHpdya4mQCChQIp7iQCp64xerxSHXrdlVxMgkFAgxb2k94boCaSus1Icel3JriZAIKFAinuJAKnrjF6vFIdet2VXEyCQUCDFvaT3hugJpK6zUhx6XcmuJvA1gd7fYDw2xr3/FivFvUSA1LV1r1eKQ6/bsqsJfDNARvwx7jFwbn9QLEAioveG6Amk7uUgQOq8XJ1HYETv5tlNXyUCpPgJkLpG6vUa8SLM0Lx1aq4+BoERvXsMDtseMrwGR5xH9z56b4ieQOpeEikOva5kVxPwI6zr9ED3jXdAT6W4lwiQupPs9Upx6HVbdjUBASJALvwq6L0hegKpu7sIkDovV+cRGNG7eXbTV4knEP8G0tRBvYE74kWYoXmb8AxaWmBE7y4NcKb4DK/BEefRvY/eG6InkLqXRIpDryvZ1QT8CMuPsPwIy9u5uxMSaBcY8c1P++q5RnZ/5z5gOyPOo3sfnkDqTrLXK8Wh123Z1QQ8gXgC8QTiCcSdkEC7wIhvftpXzzWy+zv3AdsZcR7d++j9jtq/gdR1QopDryvZ1QQ8gXgC8QTiCcSdkEC7wIhvftpXzzWy+zv3AdsZcR7d+/AEUneSvV4pDr1uy64m4AnEE4gnEE8g7oQE2gVGfPPTvnqukd3fuQ/Yzojz6N5H73fU/g2krhNSHHpdya4m4AnEE4gnEE8g7oQE2gV8oNS32/k8EJ8HUv1q6n1i8wRSTW4AAQIXEEhxL+m9IfoRVl1vpzj0upJdTYBAQoEU9xIBUtcZvV4pDr1uy64mQCChQIp7Se8N0RNIXWelOPS6kl1NgEBCgRT3EgFS1xm9XikOvW7LriZAIKFAintJ7w3RE0hdZ6U49LqSXU2AQEKBFPcSAVLXGb1eKQ69bsuuJkAgoUCKe0nvDXG1J5DePtj+crPnazv0y3smiIgrImLv30Hv3ILhBAh0CgiQM4Ddf1LfeRiGEyBAYCUBASJAVupXtRIgkEhAgAiQRO2oFAIEVhIQIAJkpX5VKwECiQQEiABJ1I5KIUBgJQEBIkBW6le1EiCQSECACJBE7agUAgRWEhAgAmSlflUrAQKJBASIAEnUjkohQGAlAQEiQFbqV7USIJBIQIAIkETtqBQCBFYSECACZKV+VSsBAokEBIgASdSOSiFAYCUBASJAVupXtRIgkEhAgAiQRO2oFAIEVhIQIAJkpX5VKwECiQQEiABJ1I5KIUBgJQEBIkBW6le1EiCQSECACJBE7agUAgRWEhAgAmSlflUrAQKJBASIAEnUjkohQGAlAQEiQFbqV7USIJBIQIAIkETtqBQCBFYSECACZKV+VSsBAokEBIgASdSOSiFAYCUBASJAVupXtRIgkEhAgAiQRO2oFAIEVhIQIAJkpX5VKwECiQQEiABJ1I5KIUBgJQEBIkBW6le1EiCQSECACJBE7agUAgRWEhAgAmSlflUrAQKJBASIAEnUjkohQGAlAQGy0mmplQABAkcmcFlEXNWzp0t6BpexI5JwQBmmIECAAIEKAQFSgeVSAgQIEPiWgADRDQQIECDQJCBAmtgMIkCAAAEBogcIECBAoElAgDSxGUSAAAECAkQPECBAgECTQIoAeVhEvLqpfIMIECBAYC+Bh0fEa3oWH/F3ILeJiI/2FGEsAQIECBxc4LYR8bGeVUcEyLb+ByPiDj2FGEuAAAECBxP4UETcsXe1UQFydUQ8qrcY4wkQIEDgIAKvjIhH9640KkB+JSL+vLcY4wkQIEDgIAK/GhF/0bvSqADZ6nhpRDyutyDjCRAgQGCqwMsi4vEjVhgZIFs9b4mI+44ozBwECBAgMFzgrRFxv1Gzjg6Qra5fiojfj4hLRxVpHgIECBDoErg2In43Iv6qa5brDJ4RINsSN4uIHznzP7+hNfLUzDVSYPs4gp6vrs9T6FnYWAIXEdh+0+rfzvzvM6PFZgXI6DrNR2CGwIjPsun+a94ZGzMngUMICJBDKFsjq4AAyXoy6lpCQIAscUyKnCQgQCbBmvY0BATIaZyzXV5YQIDoDAIdAgKkA8/Q5QUEyPJHaAN7CgiQPfWtvbeAANn7BKy/tIAAWfr4FN8pIEA6AQ0/bQEBctrnf+q7FyCn3gH23yUgQLr4DF5cQIAsfoDK31dAgOzrb/V9BQTIvv5WX1xAgCx+gMrvEhAgXXwGn7qAADn1Djjt/QuQ0z5/u+8UECCdgIYvLSBAlj4+xe8tIED2PgHr7ykgQPbUt/byAgJk+SO0gQ4BAdKBZygBAaIHTllAgJzy6dt7t4AA6SY0wcICAmThw1P6/gICZP8zUMF+AgJkP3srH4GAADmCQ7SFZgEB0kxnIIEIAaILTllAgJzy6dt7t4AA6SY0wcICAmThw1P6/gICZP8zUMF+AgJkP3srH4GAADmCQ7SFZgEB0kxnIAH/BqIHTltAgJz2+dt9p4AnkE5Aw5cWECBLH5/i9xYQIHufgPX3FBAge+pbe3kBAbL8EdpAh4AA6cAzlIAA0QOnLCBATvn07b1bQIB0E5pgYQEBsvDhKX1/AQGy/xmoYD8BAbKfvZWPQECAHMEh2kKzgABppjOQgL8D0QOnLSBATvv87b5TwBNIJ6DhSwsIkKWPT/F7CwiQvU/A+nsKCJA99a29vIAAWf4IbaBDQIB04BlKQIDogVMWECCnfPr23i0gQLoJTbCwgABZ+PCUvr+AANn/DFSwn4AA2c/eykcgIECO4BBtoUlg6/1nR8TPNY3+1qC/jYhnRsRXO+cxnMByAgJkuSNT8ACB60XEsyLiGQPm2qZ4TkT8QkR8ZdB8piGwhIAAWeKYFDlQ4PrlyeNnB865TfV35Unky4PnNR2BtAICJO3RKGyCwA3Lk8fTJsy9Tfm88iTyxUnzm5ZAKgEBkuo4FDNR4EblyeOpE9fYpn5+eRL5wuR1TE9gdwEBsvsRKOAAAjcuTx4/fYC1tiX+oTyJfP5A61mGwC4CAmQXdoseUOAm5cnjKQdcc1vqBeVJ5HMHXtdyBA4mIEAORm2hHQRuWp48nrzD2tuSLyxPIp/daX3LEpgqIECm8pp8R4GblSePJ+1Yw7b0i8qTyGd2rsPyBIYLCJDhpCZMIHCL8uTxxAS1bCW8uDyJfCpJPcogMERAgAxhNEkigVuW8HhCopq2Ul5SQuSTyepSDoFmAQHSTGdgQoFblfB4XMLatpJeVkLkE0nrUxaBKgEBUsXl4sQCty7h8djENW6lvbyEyMeT16k8AhcVECAXJXLBAgK3LeFx2QK1biVeWULko4vUq0wCFxQQIBpjdYHblfDY3pp9pa+rSoh8ZKWi1UrgrIAA0Q8rC9y+hMdjJm3iijLv5ZPmf0UJkQ9Pmt+0BKYKCJCpvCafKHCHEh6PnrTGFh6/V+be/n9WiFxdQuRDk/ZhWgLTBATINFoTTxS4UwmPH5u0xtnw+MYSM0PkX0qIfGDSfkxLYIqAAJnCatKJAncu4fHISWtcKDwOESKvKiHy/kn7Mi2B4QICZDipCScK3KWExyMmrfHdwuMQIXJNCZH3TdqfaQkMFRAgQzlNNlHgB0p4PHzSGucJj0OEyKtLiPzXpH2alsAwAQEyjNJEEwUuLeHx0Elr1ITHIULktSVErp20X9MSGCIgQIYwmmSiwN1KeDxk0hot4XGIEHldCZH3TNq3aQl0CwiQbkITTBS4ewmPB09aoyc8DhEiry8h8u5J+zctgS4BAdLFZ/BEgXuU8HjQpDVGhMchQuQNJUTeNcnBtASaBQRIM52BEwXuWcLjAZPWGBkehwiRN5UQeeckD9MSaBIQIE1sBk0UuFcJj/tPWmP7g8BvvEXJ6CVm/rHhm0uIvGN00eYj0CogQFrljJshcJ8SHvebMXl5a5JZ4XGIJ5G3lBB52yQf0xKoEhgRINu7oM56n6Cqzbh4eYHtbdnvO2kXM588rlvyzCeRt0aEt4Gf1CQnNu32zdT2rtDNX6MCZPt8A18EsgocMjwO8SSS1Vldawlsn58jQNY6M9UeWGCP8BAiBz5kyzUJCJAmNoNORWDP8BAip9Jl6+5TgKx7diqfLJAhPITI5EM2fZeAAOniM/hYBTKFhxA51i5bf18CZP0ztIPBAhnDQ4gMPmTTDREQIEMYTXIsApnDQ4gcS5cdzz4EyPGcpZ10CqwQHkKk85ANHyogQIZymmxlgbdHxDMjYvtr7cxf21/ZPzsi7p25SLWdhIAAOYljtsnzCmxvNriFyPa+URm/tvf32sJje7NIXwT2FhAge5+A9dMJbG97voXIG5NV9sASHtvb1PsikEFAgGQ4BTWkE/jPEiLbBzJl+No+EGt78vjBDMWogUARECBagcB3ENg+T3x7Etk+GnbPr+2jeLfw2D7X3ReBTAICJNNpqCWdwHvL25+/ZqfKHlbenv6uO61vWQLfTUCA6A8CFxF4XwmRaw4s9YgSHnc58LqWI3BeAQFyXinXnbTA+0uIvOpACo8s4XHnA61nGQItAikCpKVwYwhcSODny413xOfUXHf+D5YQeeVk+keVPdxxwjpfLXv4mwlzm5JAtcCMF2p1EQYQOCPwjHIDvt4ElQ+XG/ArJsy9TfmYUvvtJ8z/lVL7cybMbUoCTQICpInNoMkCTy834utPWOcj5Ubc9UlsF6hr+2jnZ0XE7SbU/OVS83MnzG1KAs0CAqSZzsDJAk8rN+QbTljnY+WG/E+D5v7JUuttBs13dpovllqfN2FuUxLoEhAgXXwGTxb4mXJjvtGEdT5Rbswv65z7caXGW3XOc6HhXyg1/v2EuU1JoFtAgHQTmmCywFPLDfp7JqzzyXKDfknj3E8otd2ycfx3G/Z/pbbnT5jblASGCAiQIYwmmSzwU+VGfZMJ63y63KhfVDn3k0pNN68cd57LP1dq+sfzXOwaAnsJCJC95K1bK/CUcsP+3tqB57j+s+WG/cJzXLtd8uRSy03PeX3NZf9banlBzSDXEthDQIDsoW7NVoHZN+5fjIiLfde/PQ39dURkCLJWR+MIDBEQIEMYTXJAgZk/Ovp8RGwh8p3+3WH795gtPG48Yb+tP0qbUIopCZxPQICcz8lVuQSeWH6EdIsJZW2/+bSFyHV/bXb7teItPGb8Rtinyo+tXjxhP6YkME1AgEyjNfFkgceXt0mf8RtQXyoh8o0/3Nv+sHELjxtM2NP2m2Db286/dMLcpiQwVUCATOU1+WSBmX+Dsb11yPYksn1t4THjrVVG/S3KZGbTE7iwgADRGasLPLb8OOvWEzayvXnh9jXjdfLx8mOrl0+o25QEDiIw44VxkMItQuCMwPa21Nv7UN12EZWPlvC4cpF6lUngggICRGMci8DMNzMcaTTrzRxH1mguAucSECDnYnLRIgI/Xp5Evi9pvf9Tnjz+OWl9yiJQJSBAqrhcvIDAo0uI3CFZrR8q4XF1srqUQ6BZQIA00xmYWGDmpwK2bPtQn4bYUpsxBJoFBEgznYHJBbbPJX92RNxp5zo/UP7O41Cfx77zdi1/SgIC5JRO+/T2+qPlx1nfv9PW/7v82Opfd1rfsgSmCgiQqbwmTyDwiBIidzlwLe8r4XHNgde1HIGDCQiQg1FbaEeBh5UQueuBanhvCY/XHGg9yxDYRUCA7MJu0R0EHlpC5NLJa19bwuO1k9cxPYHdBQTI7keggAMKPKSEyN0mrfmeEh6vmzS/aQmkEhAgqY5DMQcQeHAJkbsPXuvdJTxeP3he0xFIKyBA0h6NwiYKPKiEyD0GrfGuEh5vGDSfaQgsISBAljgmRU4QeED5O5Ef6pz7P8rfebypcx7DCSwnIECWOzIFDxS4f3kSuVfjnO8oTx5vbhxvGIGlBQTI0sen+AECP1xC5N6Vc729hMe/V45zOYGjERAgR3OUNtIhcN+I+MuI2H6sdZ6v7cdVvxwRbz3Pxa4hcKwCAuRYT9a+agW2D6P6w4j4tYsM/LOI+O2I2D4UyheBkxYQICd9/DZ/AYHfiojfjIjtqeQG5b9/qTxt/HFE/BE1AgS+LiBAdAKBCwts4XHP8p/eGRFbiPgiQOCMgADRDgQIECDQJCBAmtgMIkCAAAEBogcIECBAoElAgDSxGUSAAAECAkQPECBAgECTgABpYjOIAAECBASIHiBAgACBJgEB0sRmEAECBAgIED1AgAABAk0CAqSJzSACBAgQECB6gAABAgSaBARIE5tBBAgQICBA9AABAgQINAkIkCY2gwgQIEBAgOgBAgQIEGgSECBNbAYRIECAwP8DtIYy6y4iExsAAAAASUVORK5CYII="},3787:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/router.1663167892.png"},3788:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RouterDetail=void 0;var l=r(406),o=r(568),s=n(r(1200)),d=r(1219),u=n(r(3789)),c=n(r(3790)),f=n(r(3791)),p=n(r(1574));class h extends s.default{get name(){return t("router")}get policy(){return"get_router"}get listUrl(){return this.getRoutePath("router")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.routerStatus},{title:t("Admin State"),dataIndex:"admin_state_up",render:e=>(0,d.getRouterState)(e)||"-"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Ports"),key:"ports",component:c.default},{title:t("Static Routes"),key:"staticRoutes",component:f.default}]}init(){this.store=new o.RouterStore}}a.RouterDetail=h;var m=(0,l.inject)("rootStore")((0,l.observer)(h));a.default=m},3789:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(57)),o=n(r(0)),s=r(406),d=n(r(1202));class u extends d.default{get leftCards(){return[this.aZoneCard]}get rightCards(){return[this.externalNetInfo]}get externalNetInfo(){var e=[{label:t("Network Name"),dataIndex:"externalNetworkName"},{label:t("Network ID"),dataIndex:"externalNetworkId"},{label:t("SNAT Enabled"),dataIndex:"external_gateway_info.enable_snat",valueRender:"yesNo"},{label:t("External Fixed IPs"),dataIndex:"external_gateway_info.external_fixed_ips",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,((e,a)=>o.default.createElement("div",{key:"ip-".concat(a)},o.default.createElement("div",{key:e.subnet_id},o.default.createElement("b",null,t("Subnet ID")),": ",e.subnet_id),o.default.createElement("div",{key:e.ip_address},o.default.createElement("b",null,t("IP Address")),": ",e.ip_address),o.default.createElement("div",{style:{marginBottom:"8px"}})))):"-"}];return{title:t("External Network Info"),options:e,labelCol:4}}get aZoneCard(){var e=[{label:t("Current Availability Zones"),dataIndex:"availability_zones",render:e=>(e||[]).join(",")||"-"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints",render:e=>(e||[]).join(",")||"-"}];return{title:t("Availability Zone Info"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3790:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(57)),h=f(r(62)),m=f(r(51)),v=f(r(36)),g=f(r(0)),_=r(406),b=f(r(1194)),y=r(1210),A=r(575),I=r(161);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class C extends b.default{constructor(){super(...arguments),(0,v.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("routerPortDetail"),routeParamsFunc:e=>({routerId:this.id,id:e.id})},{title:t("IP Address"),dataIndex:"fixed_ips",isHideable:!0,render:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>g.default.createElement("div",{key:e.ip_address},e.ip_address))):"-",stringify:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>e.ip_address)).join(","):"-"},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Associated Resources"),dataIndex:"device_owner",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=new A.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,h.default)(a,["silent"]);r&&(t.list.silent=!0);var{id:n}=t.props.match.params,{tab:l}=i,f=(0,h.default)(i,["tab"]);t.fetchListWithTry((0,m.default)((function*(){yield t.store.fetchList(function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=S(Object(r),!0)).call(a,(function(t){(0,v.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=S(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({device_id:n},f)),t.list.silent=!1})))}))()}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,I.getOptions)(y.portStatus)}]}}a.Ports=C;var x=(0,_.inject)("rootStore")((0,_.observer)(C));a.default=x},3791:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.StaticRouters=void 0;var l=n(r(36)),o=r(406),s=n(r(1194)),d=n(r(609)),u=n(r(3792));class c extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("Destination CIDR"),dataIndex:"destination"},{title:t("Next Hop"),dataIndex:"nexthop",isHideable:!0}]))}init(){this.store=d.default}get policy(){return"get_router"}get name(){return t("static routers")}get actionConfigs(){return this.isAdminPage?u.default.actionConfigsAdmin:u.default.actionConfigs}get searchFilters(){return[]}}a.StaticRouters=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3792:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3793)),l=i(a(3794)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]}};t.default=o},3793:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(65)),o=n(r(36)),s=r(406),d=n(r(609)),u=r(1193);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",((e,t)=>{var{match:{params:{id:a}={}}={}}=t,r=[e];return this.store.addStaticRoute({id:a,routes:r})}))}init(){this.store=d.default}get name(){return t("Create static route")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"destination",label:t("Destination CIDR"),type:"input",required:!0},{name:"nexthop",label:t("Next Hop"),type:"input",required:!0}]}}a.Create=c,(0,o.default)(c,"id","create"),(0,o.default)(c,"title",t("Create Static Route")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3794:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(81)),o=n(r(36)),s=r(1193),d=n(r(609));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_router"),(0,o.default)(this,"getItemName",(e=>{var t,{destination:a,nexthop:r}=e;return(0,l.default)(t="".concat(a,"(")).call(t,r,")")})),(0,o.default)(this,"onSubmit",(e=>{var{destination:t,nexthop:a,router_id:r}=e,i=[{destination:t,nexthop:a}];return d.default.removeStaticRoute({id:r,routes:i})}))}get id(){return"delete"}get title(){return t("Delete Static Route")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete static route")}}a.default=u},3795:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=r(406),o=r(575),s=n(r(1200)),d=r(1210),u=n(r(3796));class c extends s.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{routerId:e}=this.params;return this.getRoutePath("routerDetail",{id:e},{tab:"interfaces"})}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.portStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}init(){this.store=new o.PortStore}}a.PortDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},3796:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(57)),o=n(r(33)),s=n(r(199)),d=n(r(0)),u=r(406),c=n(r(1202)),f=r(1210);class p extends c.default{get leftCards(){var e=[this.portInfo],{dns_assignment:t=[],fixed_ips:a=[],deviceOwner:r={}}=this.detailData;return t.length>0&&e.push(this.dnsAssignment),a.length>0&&e.push(this.fixedIps),r&&this.isAdmin&&e.push(this.deviceOwner),e.push(this.binding),e}get portInfo(){var e=[{label:t("Network Name"),dataIndex:"network_name"},{label:t("Network ID"),dataIndex:"network_id"},{label:t("MAC Address"),dataIndex:"mac_address"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{label:t("DNS Name"),dataIndex:"dns_name",hidden:!this.isAdmin}];return this.detailData.mac_state&&e.push({label:t("MAC Learning State"),dataIndex:"mac_state"}),this.detailData.qos_policy_id&&e.push({label:t("QoS Policy ID"),dataIndex:"qos_policy_id"}),{title:t("Port Info"),options:e}}get dnsAssignment(){var e=this.detailData.dns_assignment[0]||{},{hostname:a,ip_address:r}=e,i=[{label:t("Hostname"),dataIndex:"dns_assignment",render:()=>a},{label:t("IP Address"),dataIndex:"ip_address",render:()=>r}];return{title:t("DNS Assignment"),options:i}}get fixedIps(){var e=this.detailData.fixed_ips[0]||{},{ip_address:a,subnet_id:r}=e,i=[{label:t("IP Address"),dataIndex:"ip_address",render:()=>a},{label:t("Subnet ID"),dataIndex:"subnet_id",render:()=>r}];return{title:t("Fixed IPs"),options:i}}get deviceOwner(){var e=[{label:t("Device Owner"),dataIndex:"device_owner"},{label:t("Device ID"),dataIndex:"device_id"}];return{title:t("Attached Device"),options:e}}get binding(){var e=[{label:t("VNIC Type"),dataIndex:"binding__vnic_type",valueMap:f.bindingTypes}];if(this.detailData.binding__host_id){var a=[{label:t("Host"),dataIndex:"binding__host_id"},{label:t("Profile"),dataIndex:"binding__profile",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t),": ",d.default.createElement("b",null,e[t]))))}},{label:t("VIF Type"),dataIndex:"binding__vif_type"},{label:t("VIF Details"),dataIndex:"binding__vif_details",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t)," ",d.default.createElement("span",null,e[t].toString()))))}}];e=[...e,...a]}return{title:t("Binding"),options:e}}}a.BaseDetail=p;var h=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=h},3797:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=n(r(198)),o=n(r(32)),s=r(406),d=r(561),u=n(r(1200)),c=r(564),f=n(r(3798)),p=n(r(3803)),h=n(r(3807)),m=n(r(3811)),v=n(r(1549));class g extends u.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{networkId:e,subnetId:t,instanceId:a}=this.params;return this.isSubnetPortDetail?this.getRoutePath("subnetDetail",{id:t,networkId:e},{tab:"ports"}):this.isNetworkPortDetail?this.getRoutePath("networkDetail",{id:e},{tab:"ports"}):this.isInstancePortDetail?this.getRoutePath("instanceDetail",{id:a},{tab:"interface"}):this.getRoutePath("port")}get isSubnetPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"subnet")}get isNetworkPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"networks")&&!this.isSubnetPortDetail}get isInstancePortDetail(){var e;return(0,l.default)(e=this.path).call(e,"instance")}get actionConfigs(){return this.isAdminPage?v.default.adminActions:v.default.actionConfigs}getActionData(){return this.detailData.itemInList||{}}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Status"),dataIndex:"status",valueMap:c.networkStatus},{title:t("Owned Network"),dataIndex:"itemInList.network_name"},{title:t("Network ID"),dataIndex:"network_id"},{title:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:m.default},{title:t("Fixed IPs"),key:"fixed_ips",component:f.default},{title:t("Security Groups"),key:"security_groups",component:p.default},{title:t("Allowed Address Pairs"),key:"allowed_address_pair",component:h.default}],{port_security_enabled:a}=this.detailData;return a?e:(0,o.default)(e).call(e,(e=>"security_groups"!==e.key))}init(){this.store=new d.PortStore}}a.PortDetail=g;var _=(0,s.inject)("rootStore")((0,s.observer)(g));a.default=_},3798:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FixedIP=void 0;var l=n(r(36)),o=r(406),s=n(r(1194)),d=r(3799),u=n(r(3800));class c extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>0===e.length?"-":e[0].floating_ip_address},{title:t("Owned Subnet"),dataIndex:"subnet",render:e=>e&&e.name||"-"}]))}init(){this.store=new d.FixedIpStore,this.downloadStore=new d.FixedIpStore}get rowKey(){return"ip_address"}get policy(){return"get_port"}get name(){return t("Fixed IP")}get actionConfigs(){return this.isAdminPage?u.default.adminConfigs:u.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Owned Subnet"),name:"subnet",filterFunc:(e,t)=>e.name===t}]}}a.FixedIP=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3799:function(e,t,a){"use strict";var r=a(33),i=a(44),n=a(32),l=a(25),o=a(27),s=a(45),d=a(46),u=a(19),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FixedIpStore=void 0;var f=c(a(339)),p=c(a(579)),h=c(a(57)),m=c(a(65)),v=c(a(27)),g=c(a(36)),_=c(a(51)),b=c(a(62)),y=c(a(228)),A=c(a(336)),I=c(a(48)),S=c(a(53));function C(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function x(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)o(a=C(Object(r),!0)).call(a,(function(t){(0,g.default)(e,t,r[t])}));else if(s)d(e,s(r));else{var i;o(i=C(Object(r))).call(i,(function(t){u(e,t,l(r,t))}))}}return e}class w extends S.default{get client(){return I.default.neutron.ports}get paramsFunc(){return e=>{var{all_projects:t}=e;return(0,b.default)(e,["all_projects"])}}getItemFloatingIPs(e,t){return(0,_.default)((function*(){return A.default.pureFetchList({fixed_ip_address:e,port_id:t})}))()}listDidFetch(e){var t=this;return(0,_.default)((function*(){if(0===e.length)return[];var a=e[0],{fixed_ips:r=[],id:i}=a,n=(0,f.default)(new p.default((0,h.default)(r).call(r,(e=>e.subnet_id)))),l=yield m.default.all((0,h.default)(n).call(n,(e=>y.default.fetchSubnetDetail({id:e})))),o={};(0,v.default)(l).call(l,(e=>{o[e.id]=e}));var s=yield m.default.all((0,h.default)(r).call(r,(e=>t.getItemFloatingIPs(e.ip_address,i))));return(0,h.default)(r).call(r,((e,t)=>x(x({},e),{},{subnet:o[e.subnet_id],fip:s[t],port:a})))}))()}}t.FixedIpStore=w;var P=new w;t.default=P},3800:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3801)),l=i(a(3802)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3801:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AllocateIP=void 0;var l=n(r(57)),o=n(r(65)),s=n(r(51)),d=n(r(36)),u=r(406),c=r(1193),f=n(r(561)),p=r(228),h=r(414);class m extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{fixed_ips:t}=e,a=(0,l.default)(t).call(t,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}));return f.default.update(this.item,{fixed_ips:[...a,...this.item.fixed_ips]})}))}get name(){return t("Allocate IP")}init(){this.networkStore=new p.NetworkStore,this.subnetStore=new h.SubnetStore,this.getNetworkDetail(this.item.network_id),this.getSubnets(this.item.network_id)}getSubnets(e){var t=this;return(0,s.default)((function*(){var a=yield t.subnetStore.fetchList({network_id:e});t.setState({subnetDetails:a||[]})}))()}getNetworkDetail(e){var t=this;return(0,s.default)((function*(){var a=yield t.networkStore.fetchDetail({id:e});t.updateFormValue("network_name",a.name)}))()}get defaultValue(){return{network_id:this.item.network_id}}get isAllowed(){return!0}static get modalSize(){return"large"}get messageHasItemName(){return!1}get formItems(){var{subnetDetails:e=[]}=this.state;return[{name:"network_id",label:t("Owned Network ID"),type:"label"},{name:"network_name",label:t("Owned Network"),type:"label"},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:e,required:!0}]}}a.AllocateIP=m,(0,d.default)(m,"id","allocate-ip"),(0,d.default)(m,"title",t("Allocate IP")),(0,d.default)(m,"policy","update_port:fixed_ips:ip_address"),(0,d.default)(m,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=v},3802:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(27)),o=n(r(32)),s=n(r(65)),d=n(r(36)),u=r(1193),c=n(r(561));class f extends u.ConfirmAction{constructor(){super(...arguments),(0,d.default)(this,"getItemName",(e=>e.ip_address)),(0,d.default)(this,"policy","update_port"),(0,d.default)(this,"onSubmit",((e,t,a,r,i)=>{var{port:{id:n,fixed_ips:d=[]}={}}=e,u=d;if(a){if(0!==r)return s.default.resolve();(0,l.default)(i).call(i,(e=>{var{subnet_id:t,ip_address:a}=e;u=(0,o.default)(u).call(u,(e=>e.ip_address!==a||e.subnet_id!==t))}))}else{var{subnet_id:f,ip_address:p}=e;u=(0,o.default)(d).call(d,(e=>e.ip_address!==p||e.subnet_id!==f))}return c.default.update({id:n},{fixed_ips:u})}))}get id(){return"delete"}get title(){return t("Release Fixed IP")}get buttonText(){return t("Release")}get isDanger(){return!0}get actionName(){return t("release fixed ip")}get passiveAction(){return t("be released")}}a.default=f},3803:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroup=void 0;var l=n(r(57));r(337);var o=n(r(338));r(422);var s=n(r(425)),d=n(r(1395));r(572);var u=n(r(574)),c=n(r(409));r(1198);var f=n(r(1199));r(1196);var p=n(r(1197));r(333);var h=n(r(332));r(1250);var m=n(r(1251)),v=n(r(36));r(1404);var g=n(r(1405)),_=n(r(0)),b=r(406),y=r(561),A=(r(173),n(r(1550))),I=r(201),S=n(r(4)),C=r(34),x=(r(555),n(r(1333))),w=n(r(1249)),P=r(347),E=r(161),k=r(558),D=n(r(3804)),N=n(r(3805)),{Panel:M}=g.default;class B extends _.default.Component{constructor(e){super(e),(0,v.default)(this,"refreshSecurityGroup",(()=>{this.store.fetchSecurityGroupsDetail(this.portId)})),this.store=new y.PortStore}componentDidMount(){this.refreshSecurityGroup()}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,k.getPath)({key:t,params:{id:e}})}get portId(){var{detail:{id:e}}=this.props;return e}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}renderPanelTitle(e){var{security_groups:{data:a}}=this.store,r=this.getDetailUrl(e.id);return _.default.createElement(f.default,null,_.default.createElement(p.default,{span:18},_.default.createElement("span",null,t("Security Group")),_.default.createElement(m.default,{type:"vertical",className:N.default["header-divider"]}),_.default.createElement(h.default,{type:"link"},e.name)),_.default.createElement(p.default,{span:6},!this.isAdminPage&&_.default.createElement(_.default.Fragment,null,_.default.createElement(I.Link,{style:{fontSize:12,marginRight:16},to:r},t("Edit Rule"))),!this.isAdminPage&&1!==a.length&&_.default.createElement(_.default.Fragment,null,_.default.createElement(w.default,{actions:{firstAction:D.default},onFinishAction:this.refreshSecurityGroup,item:e},t("Detach")))))}renderPanel(e,t){return _.default.createElement(M,{header:this.renderPanelTitle(e,t),key:t,className:N.default.panel},_.default.createElement(u.default,(0,c.default)({size:"middle",pagination:!1,bordered:!1,rowKey:"id"},this.state,{columns:(0,P.getSelfColumns)(this),dataSource:e.security_group_rules?(0,C.toJS)(e.security_group_rules):null})))}render(){var e,{security_groups:t}=this.store;return _.default.createElement("div",{className:(0,S.default)(N.default.wrapper,this.className)},this.isAdminPage?null:_.default.createElement("div",{style:{marginBottom:20}},_.default.createElement(x.default,{containerProps:this.props,primaryActions:[A.default],onFinishAction:this.refreshSecurityGroup})),_.default.createElement(o.default,{spinning:t.isLoading},t.data&&0!==t.data.length?_.default.createElement(g.default,{className:N.default.collapse,accordion:!0,bordered:!1,expandIcon:e=>{var{isActive:t}=e;return _.default.createElement(d.default,{rotate:t?90:0})}},(0,l.default)(e=t.data).call(e,((e,t)=>this.renderPanel(e,t)))):_.default.createElement(s.default,{image:s.default.PRESENTED_IMAGE_SIMPLE,style:{backgroundColor:"white",padding:"32px 0"}})))}}a.SecurityGroup=B;var R=(0,b.inject)("rootStore")((0,b.observer)(B));a.default=R},3804:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(32)),o=n(r(36)),s=r(1193),d=n(r(561));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_port"),(0,o.default)(this,"allowedCheckFunc",(()=>!0)),(0,o.default)(this,"onSubmit",(e=>{var{port:{id:t,security_groups:a=[]}={}}=e,r={security_groups:(0,l.default)(a).call(a,(t=>t!==e.id))};return d.default.update({id:t},r)}))}get id(){return"detach"}get title(){return t("Detach Security Group")}get isDanger(){return!0}get buttonText(){return t("Detach")}get actionName(){return t("detach security group")}}a.default=u},3805:function(e,t,a){var r=a(3806);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(75)(r,i);r.locals&&(e.exports=r.locals)},3806:function(e,t,a){(t=e.exports=a(74)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n.index__wrapper--3LuNN {\n min-height: calc(100vh - 108px);\n padding: 0 16px;\n}\n.index__collapse--3_l12 {\n margin-bottom: 24px;\n overflow: hidden;\n}\n.index__panel--3V7V- {\n margin-bottom: 24px;\n padding-top: 12px;\n padding-bottom: 12px;\n font-size: larger;\n background: #fff;\n}\n.index__header-divider--EyyRf {\n width: 2px;\n margin: 0 5px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__image--XS90m {\n width: 100px;\n padding: 10px;\n}\n.index__radio-button--2oJLs .ant-radio-button-wrapper {\n width: 250px;\n height: 100px;\n margin-right: 40px;\n padding: 15px;\n}\n.index__security-group-text--1Hv_J {\n font-size: 14px;\n}\n",""]),t.locals={wrapper:"index__wrapper--3LuNN",collapse:"index__collapse--3_l12",panel:"index__panel--3V7V-","header-divider":"index__header-divider--EyyRf",image:"index__image--XS90m","radio-button":"index__radio-button--2oJLs","security-group-text":"index__security-group-text--1Hv_J"}},3807:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.AllowedAddressPair=void 0;var p=f(r(57)),h=f(r(51)),m=f(r(36)),v=r(406),g=f(r(1194)),_=f(r(561)),b=f(r(429)),y=f(r(3808));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=A(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=A(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class S extends g.default{constructor(){super(...arguments),(0,m.default)(this,"getDownloadData",(()=>this.props.detail.allowed_address_pairs)),(0,m.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Mac Address"),dataIndex:"mac_address"}]))}init(){this.store=_.default,this.store.setDetail(this.props.detail)}get list(){var e,t=new b.default;this.props.detail.allowed_address_pairs&&t.update({data:(0,p.default)(e=this.props.detail.allowed_address_pairs||[]).call(e,((e,t)=>I(I({},e),{},{id:"port_detail_allowed_address_pair_".concat(t)})))});return t}get isLoading(){return!1}getData(){return(0,h.default)((function*(){}))()}get policy(){return"get_port"}get name(){return t("Allowed Address Pairs")}get actionConfigs(){return this.isAdminPage?y.default.adminConfigs:y.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Mac Address"),name:"mac_address"}]}}a.AllowedAddressPair=S;var C=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=C},3808:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3809)),l=i(a(3810)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3809:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAllowedAddressPair=void 0;var l=n(r(1204)),o=n(r(65)),s=n(r(36)),d=n(r(199)),u=r(406),c=r(1193),f=n(r(561)),p=r(556),{isIpCidr:h,isIPv6Cidr:m}=p.ipValidate;class v extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{allowed_address_pairs:t=[]}=this.item,{ip_address:a,mac_address:r}=e,i={ip_address:a};return"manual"===r.type&&(i.mac_address=r.mac),f.default.update(this.item,{allowed_address_pairs:[i,...t]}).then((e=>{f.default.setDetail(e.port)}))})),(0,s.default)(this,"checkCidr",(e=>{if((0,d.default)(e))return!1;var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!h(e))&&!("ipv6"===t&&!m(e))}))}init(){this.store=f.default}get name(){return t("create allowed address pair")}get instanceName(){return(0,l.default)(this).ip_address}get isAllowed(){return!0}static get modalSize(){return"middle"}get defaultValue(){return{ip_version:"ipv4"}}get formItems(){return[{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e},(()=>{this.formRef.current.validateFields()}))},required:!0},{name:"ip_address",label:t("CIDR"),type:"input",required:!0,validator:(e,a)=>this.checkCidr(a)?o.default.resolve():o.default.reject(new Error(t("Invalid CIDR.")))},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address",options:[{label:t("From port"),value:"auto"},{label:t("Manual input"),value:"manual"}]}]}}a.CreateAllowedAddressPair=v,(0,s.default)(v,"id","create-ip"),(0,s.default)(v,"title",t("Create Allowed Address Pair")),(0,s.default)(v,"policy","update_port"),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3810:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(32)),o=n(r(51)),s=n(r(36)),d=r(1193),u=n(r(561));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"getItemName",(e=>e.ip_address)),(0,s.default)(this,"policy","update_port"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,s.default)(this,"onSubmit",function(){var e=(0,o.default)((function*(e,t){var{allowed_address_pairs:a=[],id:r}=t.detail,i=(0,l.default)(a).call(a,(t=>t.ip_address!==e.ip_address));return u.default.update({id:r},{allowed_address_pairs:i}).then((e=>{u.default.setDetail(e.port)}))}));return function(t,a){return e.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Allowed Address Pair")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete allowed address pair")}isOwnerOrAdmin(){return!0}}a.default=c},3811:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(81)),o=n(r(0)),s=r(201),d=r(406),u=n(r(1202)),c=r(1210),f=r(76);class p extends u.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,f.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Bind Device Type"),dataIndex:"device_owner"},{label:t("Bind Device"),dataIndex:"device_id",render:(e,t)=>{var{itemInList:{device_id:a,device_owner:r,server_name:i}={}}=t;if(a&&"compute:nova"===r){var n,o=i?(0,l.default)(n="".concat(a," (")).call(n,i,")"):a;return this.getLinkRender("instanceDetail",o,{id:a},{tab:"interface"})}return e||"-"}},{label:t("VNIC Type"),dataIndex:"binding:vnic_type",valueMap:c.bindingTypes}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",copyable:!1,render:e=>e?o.default.createElement(s.Link,{to:"/network/qos-policy/detail/".concat(e)},e):"-"}),{title:t("Base Info"),options:e}}}a.BaseDetail=p;var h=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=h},3812:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var l=r(406),o=n(r(1234)),s=r(76),d=n(r(1577));class u extends o.default{get checkEndpoint(){return!0}get endpoint(){return(0,s.qosEndpoint)()}get tabs(){var e=[{title:t("Current Project QoS Policies"),key:"projectQoSPolicy",component:d.default},{title:t("Shared QoS Policies"),key:"sharedQoSPolicy",component:d.default}];return this.hasAdminRole&&e.push({title:t("All QoS Policies"),key:"allQoSPolicy",component:d.default}),e}}a.QoSPolicy=u;var c=(0,l.inject)("rootStore")((0,l.observer)(u));a.default=c},3813:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(57)),o=n(r(65)),s=n(r(36)),d=r(406),u=r(1193),c=n(r(407)),f=r(415);class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{name:t,description:a,shared:r,is_default:i,project_id:n}=e;return this.store.create({name:t,description:a,shared:r,is_default:i,project_id:n})}))}get name(){return t("Create QoS Policy")}init(){this.store=new f.QoSPolicyStore,this.isAdminPage&&c.default.fetchList()}get defaultValue(){return{project_id:this.props.rootStore.user.project.id}}get formItems(){var e,a=(0,l.default)(e=c.default.list.data).call(e,(e=>({label:e.name,value:e.id})));return[{name:"name",label:t("Policy Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"project_id",label:t("Project"),type:"select",showSearch:!0,required:!0,options:a,hidden:!this.isAdminPage},{name:"description",label:t("Description"),type:"textarea"},{name:"shared",label:t("Shared"),type:"switch",hidden:!this.isAdminPage},{name:"is_default",label:t("Default Policy"),type:"switch",hidden:!this.isAdminPage}]}}a.Create=p,(0,s.default)(p,"id","create_qos_policy"),(0,s.default)(p,"title",t("Create QoS Policy")),(0,s.default)(p,"policy","create_policy"),(0,s.default)(p,"aliasPolicy","neutron:create_policy"),(0,s.default)(p,"allowed",(()=>o.default.resolve(!0)));var h=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=h},3814:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(65)),h=f(r(36)),m=r(406),v=r(1193),g=r(415);function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class b extends v.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"policy",(()=>({rules:[["network","edit_qos_policy"]]}))),(0,h.default)(this,"onSubmit",(e=>this.store.update(this.props.item,e)))}get name(){return t("Edit QoS Policy")}init(){this.store=new g.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=_(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=_(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({},e)}get formItems(){return[{name:"name",label:t("Policy Name"),type:"input-name",withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"shared",label:t("Shared"),type:"switch",hidden:!this.isAdminPage},{name:"is_default",label:t("Default Policy"),type:"switch",hidden:!this.isAdminPage}]}}a.Edit=b,(0,h.default)(b,"id","edit_qos_policy"),(0,h.default)(b,"title",t("Edit QoS Policy")),(0,h.default)(b,"policy","update_policy"),(0,h.default)(b,"aliasPolicy","neutron:update_policy"),(0,h.default)(b,"allowed",(()=>p.default.resolve(!0)));var y=(0,m.inject)("rootStore")((0,m.observer)(b));a.default=y},3815:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(415));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_policy"),(0,l.default)(this,"aliasPolicy","neutron:delete_policy"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete QoS Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete qos policy")}isOwnerOrAdmin(){return!0}}a.default=d},3816:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateBandwidthLimitRule=void 0;var p=f(r(226)),h=f(r(65)),m=f(r(62)),v=f(r(36)),g=f(r(0)),_=r(406),b=r(1193),y=f(r(415));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=A(Object(r),!0)).call(a,(function(t){(0,v.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=A(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class S extends b.ModalAction{constructor(){super(...arguments),(0,v.default)(this,"onSubmit",(e=>{var{max_kbps:t,max_burst_kbps:a}=e,r=I(I({},(0,m.default)(e,["max_kbps","max_burst_kbps"])),{},{max_kbps:1024*t,max_burst_kbps:1024*a});return y.default.createBandwidthLimitRule(this.props.item,r)}))}get name(){return t("create bandwidth limit rule")}get defaultValue(){return{max_kbps:1,max_burst_kbps:1,direction:"egress"}}get formItems(){return[{label:t("Type"),type:"label",component:g.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"direction",label:t("Direction"),type:"select",options:[{label:t("egress"),value:"egress"},{label:t("ingress"),value:"ingress"}]}]}}a.CreateBandwidthLimitRule=S,(0,v.default)(S,"id","create_bandwidth_limit_rule"),(0,v.default)(S,"title",t("Create Bandwidth Limit Rule")),(0,v.default)(S,"policy","create_policy_bandwidth_limit_rule"),(0,v.default)(S,"allowed",(e=>{var{rules:t=[]}=e,a=(0,p.default)(t).call(t,(e=>"ingress"===e.direction)),r=(0,p.default)(t).call(t,(e=>"egress"===e.direction));return h.default.resolve(!(a&&r))}));var C=(0,_.inject)("rootStore")((0,_.observer)(S));a.default=C},3817:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateDSCPMarkingRules=void 0;var l=n(r(226)),o=n(r(65)),s=n(r(36)),d=n(r(0)),u=r(406),c=r(1193),f=n(r(415)),p=n(r(1579));class h extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>f.default.createDSCPMarkingRule(this.props.item,e)))}get name(){return t("create DSCP marking rule")}get defaultValue(){return{dscp_mark:0}}get formItems(){return[{label:t("Type"),type:"label",component:d.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:p.default}]}}a.CreateDSCPMarkingRules=h,(0,s.default)(h,"id","create_DSCP_marking_rule"),(0,s.default)(h,"title",t("Create DSCP Marking Rule")),(0,s.default)(h,"policy","create_policy_dscp_marking_rule"),(0,s.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type));return o.default.resolve(!a)}));var m=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=m},3818:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(226)),o=n(r(102)),s=n(r(36)),d=r(1193),u=n(r(415));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_dscp_marking_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasDSCPMarkingRule(e))),(0,s.default)(this,"hasDSCPMarkingRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"dscp_marking"===e.type));return u.default.deleteDSCPMarkingRules(e,a)}))}get id(){return"delete"}get title(){return t("Delete DSCP Marking Rules")}get isDanger(){return!0}get buttonText(){return t("Delete DSCP Marking Rules")}get actionName(){return t("delete dscp marking rules")}isOwnerOrAdmin(){return!0}}a.default=c},3819:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(226)),o=n(r(102)),s=n(r(36)),d=r(1193),u=n(r(415));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasEgressRule(e))),(0,s.default)(this,"hasEgressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"egress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-egress"}get title(){return t("Delete Bandwidth Egress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Egress Rules")}get actionName(){return t("delete bandwidth egress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3820:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(226)),o=n(r(102)),s=n(r(36)),d=r(1193),u=n(r(415));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasIngressRule(e))),(0,s.default)(this,"hasIngressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"ingress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-ingress"}get title(){return t("Delete Bandwidth Ingress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Ingress Rules")}get actionName(){return t("delete bandwidth ingress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3821:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthEgressRule=void 0;var l=n(r(102)),o=n(r(226)),s=n(r(65)),d=n(r(36)),u=n(r(0)),c=r(406),f=r(1193),p=n(r(415));class h extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{max_kbps:t,max_burst_kbps:a}=e,r={max_kbps:1024*t,max_burst_kbps:1024*a};return p.default.updateBandwidthLimitRule(this.props.item,this.egressRule.id,r)}))}get name(){return t("Edit Bandwidth Egress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.egressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.egressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Egress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthEgressRule=h,(0,d.default)(h,"id","edit_bandwidth_egress_limit_rule"),(0,d.default)(h,"title",t("Edit Bandwidth Egress Limit Rule")),(0,d.default)(h,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"egress"===e.direction));return s.default.resolve(a)}));var m=(0,c.inject)("rootStore")((0,c.observer)(h));a.default=m},3822:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthIngressRule=void 0;var l=n(r(102)),o=n(r(226)),s=n(r(65)),d=n(r(36)),u=n(r(0)),c=r(406),f=r(1193),p=n(r(415));class h extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateBandwidthLimitRule(this.props.item,this.ingressRule.id,{max_kbps:1024*e.max_kbps,max_burst_kbps:1024*e.max_burst_kbps})))}get name(){return t("Edit Bandwidth Ingress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.ingressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.ingressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Ingress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthIngressRule=h,(0,d.default)(h,"id","edit_bandwidth_ingress_limit_rule"),(0,d.default)(h,"title",t("Edit Bandwidth Ingress Limit Rule")),(0,d.default)(h,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"ingress"===e.direction));return s.default.resolve(a)}));var m=(0,c.inject)("rootStore")((0,c.observer)(h));a.default=m},3823:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditDSCPMarkingRule=void 0;var l=n(r(102)),o=n(r(226)),s=n(r(65)),d=n(r(36)),u=n(r(0)),c=r(406),f=r(1193),p=n(r(415)),h=n(r(1579));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateDSCPMarkingRule(this.props.item,this.dscpMarkingRule.id,e)))}get name(){return t("Edit DSCP Marking Rule")}get defaultValue(){return{dscp_mark:this.dscpMarkingRule.dscp_mark||0}}init(){var{rules:e=[]}=this.item;this.dscpMarkingRule=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:h.default}]}}a.EditDSCPMarkingRule=m,(0,d.default)(m,"id","edit_DSCP_marking_rule"),(0,d.default)(m,"title",t("Edit DSCP Marking Rule")),(0,d.default)(m,"policy","update_policy_dscp_marking_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"dscp_marking"===e.type));return s.default.resolve(a)}));var v=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=v},3824:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicyDetail=void 0;var l=n(r(562)),o=r(406),s=n(r(1200)),d=r(415),u=n(r(1402)),c=n(r(3825)),f=n(r(1578));class p extends s.default{get name(){return t("qoS policy")}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get listUrl(){return this.getRoutePath("networkQos")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigs:f.default.consoleActions}get detailInfos(){var e=[{title:t("Policy Name"),dataIndex:"name"},{title:t("Rule Numbers"),dataIndex:"rules",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&(0,l.default)(e).call(e,3,0,{title:t("Owned Project"),dataIndex:"project_name"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:c.default},{title:t("Floating IPs"),key:"fip",component:u.default}]}init(){this.store=new d.QoSPolicyStore}}a.QoSPolicyDetail=p;var h=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=h},3825:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(102)),o=r(406),s=n(r(1202));class d extends s.default{get leftCards(){return[...this.BandwidthCard,this.DSCPMarkingCard]}getOptions(e){var{max_kbps:a="-",max_burst_kbps:r="-"}=e||{};return[{label:t("Max BandWidth"),content:"".concat("-"===a?a:a/1024," Mbps")},{label:t("Max Burst"),content:"".concat("-"===r?r:r/1024," Mbps")}]}get BandwidthCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction)),r=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return[{title:t("BandWidth Limit Egress"),options:this.getOptions(a)},{title:t("BandWidth Limit Ingress"),options:this.getOptions(r)}]}get DSCPMarkingCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{},r=[{label:t("Value"),content:0===a.dscp_mark?"0":a.dscp_mark||"-"}];return{title:t("DSCP Marking"),options:r}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3826:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.LoadBalancerInstance=void 0,r(1198);var l=n(r(1199));r(1196);var o=n(r(1197)),s=n(r(51)),d=n(r(36)),u=n(r(0)),c=r(406),f=n(r(1194)),p=(r(173),r(570)),h=r(1208),m=r(76),v=r(1580);class g extends f.default{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"fetchDataByPage",function(){var t=(0,s.default)((function*(t){yield e.store.fetchListByPageWithFip(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"fetchDownloadData",function(){var t=(0,s.default)((function*(t){return e.isFilterByBackend?yield e.downloadStore.fetchListByPageWithFip(e.updateFetchParamsByPage(t)):yield e.downloadStore.fetchList(e.updateFetchParams(t))}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Network ID"),dataIndex:"vip_network_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>e||"-"},{title:t("Port ID"),dataIndex:"vip_port_id"},{title:t("Operating Status"),dataIndex:"operating_status",valueMap:h.operatingStatusCodes,titleTip:u.default.createElement(l.default,null,u.default.createElement(o.default,null,t("DRAINING: The member is not accepting new connections")),u.default.createElement(o.default,null,t("DEGRADED: One or more of the entitys components are in ERROR")))},{title:t("Provisioning Status"),dataIndex:"provisioning_status",valueMap:h.provisioningStatusCodes},{title:t("Listener Number"),dataIndex:"listeners",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}]))}init(){this.store=new p.LbaasStore,this.downloadStore=new p.LbaasStore}get fetchDataByCurrentProject(){return!0}get policy(){return"os_load-balancer_api:loadbalancer:get_all"}get checkEndpoint(){return!0}get endpoint(){return(0,m.lbEndpoint)()}get name(){return t("Load Balancers")}get isFilterByBackend(){return!0}get actionConfigs(){return this.isAdminPage?v.adminActions:v.actionConfigs}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.LoadBalancerInstance=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3827:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(65)),o=n(r(36)),s=r(406),d=r(1193),u=n(r(570));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"policy",(()=>"edit_load_balancer")),(0,o.default)(this,"onSubmit",(e=>u.default.update({id:this.item.id},e)))}get name(){return t("Edit Load Balancer")}get defaultValue(){var{item:e}=this;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=c,(0,o.default)(c,"id","edit_load_balancer"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","os_load-balancer_api:loadbalancer:put"),(0,o.default)(c,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status)}));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3828:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=r(1203),d=n(r(570)),u=n(r(140));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:loadbalancer:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})+t("This will delete all child objects of the load balancer.")})),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(this.isCurrentProject(e)&&"ACTIVE"===e.provisioning_status||"ERROR"===e.provisioning_status))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Load Balancer")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete load balancer")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3829:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=n(r(65)),o=n(r(51)),s=n(r(36)),d=r(406),u=n(r(336)),c=r(1193),f=r(1210),p=r(1224),h=r(1219);class m extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>p.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],i=a.selectedRowKeys[0];return u.default.associateFip({id:i,port_id:this.item.vip_port_id,fixed_ip_address:r.ip_address})}))}init(){this.getInterfaces(),h.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,portFixedIPs:[],canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[{port_id:e.item.vip_port_id,network_id:e.item.vip_network_id,fixed_ips:[{ip_address:e.item.vip_address,subnet_id:e.item.vip_subnet_id}]}],a=yield(0,p.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return f.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{lb:e}}getFIPFormItemExtra(){return(0,p.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,p.disableFIPAssociate)(e)}get formItems(){var e=(0,p.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,p.getFIPFormItemForAssociate)(this);return[{name:"lb",label:t("Load Balancer"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=m,(0,s.default)(m,"id","AssociateFip"),(0,s.default)(m,"title",t("Associate Floating IP")),(0,s.default)(m,"policy","update_floatingip"),(0,s.default)(m,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status&&function(e){return null===e.fip||void 0===e.fip}(e))}));var v=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=v},3830:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var l=n(r(65)),o=n(r(51)),s=n(r(36)),d=r(406),u=n(r(1201)),c=r(570),f=r(228),p=r(414);class h extends u.default{constructor(){var e;super(...arguments),e=this,(0,s.default)(this,"allowed",(()=>l.default.resolve())),(0,s.default)(this,"handleOwnedNetworkChange",(e=>{var{network_id:t}=this.state,a=e.selectedRowKeys[0];this.setState({network_id:a},(()=>{var{network_id:e}=this.state;t&&t!==e&&this.formRef.current.setFieldsValue({vip_address:void 0})})),this.getSubnets(a)})),(0,s.default)(this,"fetchSubnetDetails",function(){var t=(0,o.default)((function*(t){var a=yield e.subnetStore.fetchList({network_id:t});e.setState({subnetDetails:a||[]})}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new c.LbaasStore,this.networkStore=new f.NetworkStore,this.subnetStore=new p.SubnetStore}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){return{project_id:this.props.rootStore.user.project.id}}getSubnets(e){var t=this;return(0,o.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get formItems(){var{network_id:e,subnetDetails:a=[]}=this.state;return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"vip_network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"vip_address",label:t("Owned Subnet"),type:"ip-distributor",subnets:a,formRef:this.formRef,maxNumber:1,hidden:!e,required:!0}]}}a.BaseStep=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=m},3831:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerStep=void 0;var l=n(r(65)),o=n(r(32)),s=n(r(36)),d=r(406),u=n(r(1201)),c=r(1208),f=r(1284),p=r(1285);class h extends u.default{constructor(){super(...arguments),(0,s.default)(this,"allowed",(()=>l.default.resolve()))}init(){this.containersStore=new f.ContainersStore,this.secretsStore=new p.SecretsStore,this.fetchContainers(),this.fetchSecrets()}get title(){return"Listener Detail"}get name(){return"Listener Detail"}get isStep(){return!0}fetchContainers(){this.containersStore.fetchList()}fetchSecrets(){this.secretsStore.fetchList({mode:"CA"})}get SERVERSecrets(){return this.containersStore.list.data||[]}get CASecrets(){return this.secretsStore.list.data||[]}get SNISecrets(){var e;return(0,o.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get defaultValue(){return{listener_ssl_parsing_method:"one-way",listener_sni_enabled:!1,listener_connection_limit:-1}}get nameForStateUpdate(){return["listener_protocol","listener_ssl_parsing_method","listener_sni_enabled"]}get formItems(){var e,{listener_protocol:a,listener_ssl_parsing_method:r,listener_sni_enabled:i}=this.state;return[{name:"listener_name",label:t("Listener Name"),type:"input-name",required:!0},{name:"listener_description",label:t("Listener Description"),type:"textarea"},{name:"listener_protocol",label:t("Listener Protocol"),type:"select",options:c.listenerProtocols,onChange:()=>{this.updateContext({pool_protocol:"",health_type:""})},required:!0},{name:"listener_ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:c.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"listener_default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.SERVERSecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"listener_client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CASecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,o.default)(e=(0,c.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"listener_sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"listener_sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNISecrets,isLoading:!1,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"listener_protocol_port",label:t("Listener Protocol Port"),type:"input-number",required:!0},{name:"listener_connection_limit",label:t("Listener Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0}]}}a.ListenerStep=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=m},3832:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PoolStep=void 0;var l=n(r(65)),o=n(r(32)),s=n(r(198)),d=n(r(36)),u=r(406),c=n(r(1201)),f=r(1408),p=r(1208);class h extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve())),(0,d.default)(this,"handleAlgorithmChange",(e=>{this.setState({pool_lb_algorithm:e})}))}get title(){return"Pool Detail"}get name(){return"Pool Detail"}get isStep(){return!0}get filterOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(p.poolProtocols).call(p.poolProtocols,(t=>(0,s.default)(e).call(e,t.label)))}init(){this.state={pool_lb_algorithm:void 0}}get formItems(){var{pool_lb_algorithm:e}=this.state;return[{name:"pool_name",label:t("Pool Name"),type:"input-name",required:!0},{name:"pool_description",label:t("Pool Description"),type:"textarea"},{name:"pool_lb_algorithm",label:t("Pool Algorithm"),type:"select",options:f.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&f.algorithmTip[e],required:!0},{name:"pool_protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,onChange:()=>{this.updateContext({health_type:""})},required:!0}]}}a.PoolStep=h;var m=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=m},3833:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.MemberStep=void 0;var n=i(a(65)),l=i(a(32)),o=i(a(36)),s=i(a(111)),d=a(406),u=i(a(1201)),c=a(561);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"allowed",(()=>n.default.resolve()))}init(){this.store=new c.PortStore,this.state={ports:[]},this.store.fetchList().then((e=>{this.setState({ports:(0,l.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}get title(){return"Member Detail"}get name(){return"Member Detail"}get isStep(){return!0}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,s.default)(this.props.context,"vip_address[0].subnet",""),isLoading:this.store.list.isLoading,ports:this.state.ports}]}}t.MemberStep=f;var p=(0,d.inject)("rootStore")((0,d.observer)(f));t.default=p},3834:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.HealthMonitorStep=void 0;var l=n(r(65)),o=n(r(32)),s=n(r(198)),d=n(r(36)),u=r(406),c=n(r(1201)),f=r(1208);class p extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve()))}get title(){return"Health Monitor Detail"}get name(){return"Health Monitor Detail"}get isStep(){return!0}get filteredProtocolOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(f.healthProtocols).call(f.healthProtocols,(t=>(0,s.default)(e).call(e,t.label)))}get defaultValue(){return{enableHealthMonitor:!0,health_delay:5,health_timeout:3,health_max_retries:3,health_type:""}}get formItems(){var{health_delay:e,enableHealthMonitor:a}=this.state;return[{name:"enableHealthMonitor",label:t("Enable HealthMonitor"),type:"radio",options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"health_name",label:t("Health Monitor Name"),type:"input-name",required:!0,hidden:!a},{name:"health_delay",label:t("Health Monitor Delay"),type:"input-number",onChange:e=>{this.setState({health_delay:e})},min:0,extra:t("Maximum interval time for each health check response"),required:!0,hidden:!a},{name:"health_max_retries",label:t("Health Monitor Max Retries"),type:"input-number",min:1,max:10,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),required:!0,hidden:!a},{name:"health_timeout",label:t("Health Monitor Timeout"),type:"input-number",min:e||0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),required:!0,hidden:!a},{name:"health_type",label:t("Health Monitor Type"),type:"select",options:this.filteredProtocolOptions,required:!0,hidden:!a}]}}a.HealthMonitorStep=p;var h=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=h},3835:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(336));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>"ACTIVE"===e.provisioning_status&&!!e.fip_id)),(0,l.default)(this,"onSubmit",(()=>s.default.disassociateFip({id:this.item.fip_id})))}get id(){return"disassociate-fip-from-lb"}get title(){return t("Disassociate Floating IP")}get buttonText(){return t("Disassociate Floating IP")}get actionName(){return t("disassociate floating ip")}}a.default=d},3836:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.LoadBalancerDetail=void 0;var p=f(r(36)),h=r(406),m=f(r(1200)),v=r(570),g=r(1208),_=f(r(3837)),b=r(1580);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,p.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class I extends m.default{constructor(){super(...arguments),(0,p.default)(this,"fetchData",(e=>{if(this.store.fetchDetailWithFip){var t=A(A(A({},this.params),e||{}),{},{silent:!0,all_projects:this.isAdminPage});this.store.fetchDetailWithFip(t).catch(this.catch)}}))}get name(){return t("load balancer")}get policy(){return"os_load-balancer_api:loadbalancer:get_one"}get listUrl(){return this.getRoutePath("lb")}get actionConfigs(){return this.isAdminPage?b.adminActions:b.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes},{title:t("Network"),dataIndex:"vip_network_id"},{title:t("Subnet"),dataIndex:"vip_subnet_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip"},{title:t("Provider"),dataIndex:"provider"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Listeners"),key:"listener",component:_.default}]}init(){this.store=new v.LbaasStore}}a.LoadBalancerDetail=I;var S=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=S},3837:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Listeners=void 0;var p=f(r(62)),h=f(r(36)),m=r(406),v=f(r(1194)),g=r(1208),_=r(1256),b=r(1582);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends v.default{constructor(){super(...arguments),(0,h.default)(this,"updateFetchParamsByPage",(e=>{var{id:t}=e;return function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({loadbalancer_id:t},(0,p.default)(e,["id"]))})),(0,h.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbListenerDetail"),routeParamsFunc:e=>({loadBalancerId:this.id,id:e.id})},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes,isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Max connect"),dataIndex:"connection_limit"}]))}init(){this.store=new _.ListenerStore,this.downloadStore=new _.ListenerStore}get policy(){return"os_load-balancer_api:listener:get_all"}get name(){return t("listeners")}get id(){return this.params.id}get isFilterByBackend(){return!0}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){return this.isAdminPage?b.adminActions:b.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Listeners=A;var I=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=I},3838:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreatePool=void 0;var l=n(r(32)),o=n(r(198)),s=n(r(65)),d=n(r(51)),u=n(r(36)),c=r(406),f=r(1193),p=n(r(1346)),h=n(r(570)),m=r(1408),v=r(1208);class g extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"handleAlgorithmChange",(e=>{this.setState({algorithm:e})})),(0,u.default)(this,"onSubmit",(e=>(e.listener_id=this.item.id,p.default.create(e))))}get name(){return t("create default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filterOptions(){var{protocol:e=""}=this.item;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}init(){this.state={algorithm:void 0}}get formItems(){var{algorithm:e}=this.state;return[{name:"name",label:t("Pool Name"),type:"input-name",required:!0},{name:"description",label:t("Pool Description"),type:"textarea"},{name:"lb_algorithm",label:t("Pool Algorithm"),type:"select",options:m.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&m.algorithmTip[e],required:!0},{name:"protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,required:!0}]}}a.CreatePool=g,(0,u.default)(g,"id","pool-create"),(0,u.default)(g,"title",t("Create Default Pool")),(0,u.default)(g,"buttonText",t("Create Default Pool")),(0,u.default)(g,"policy","os_load-balancer_api:pool:post"),(0,u.default)(g,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{};return a||(a=yield h.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===a.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3839:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(65)),o=n(r(51)),s=n(r(36)),d=r(1193),u=n(r(1256)),c=n(r(570));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:listener:delete"),(0,s.default)(this,"allowed",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{};return a||(a=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===a.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Listener")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete listener")}}a.default=f},3840:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(57)),h=f(r(32)),m=f(r(198)),v=f(r(65)),g=f(r(51)),_=f(r(62)),b=f(r(36)),y=r(406),A=f(r(1256)),I=f(r(570)),S=r(1583);function C(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class x extends S.Create{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var t,{id:a}=this.item,{protocol:r,protocol_port:i,sni_enabled:n,ssl_parsing_method:l,default_tls_container_ref:f,client_ca_tls_container_ref:h,sni_container_refs:m}=e,v=function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=C(Object(r),!0)).call(a,(function(t){(0,b.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=C(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({},(0,_.default)(e,["protocol","protocol_port","sni_enabled","ssl_parsing_method","default_tls_container_ref","client_ca_tls_container_ref","sni_container_refs"]));"TERMINATED_HTTPS"===r&&(f&&(v.default_tls_container_ref=f.selectedRows[0].container_ref),"two-way"===l&&h?(v.client_ca_tls_container_ref=h.selectedRows[0].secret_ref,v.client_authentication="MANDATORY"):(v.client_ca_tls_container_ref=null,v.client_authentication="NONE"),v.sni_container_refs=n&&m?(0,p.default)(t=m.selectedRows).call(t,(e=>e.container_ref)):[]);return A.default.edit({id:a},v)}))}get name(){return t("Edit Listener")}get isEdit(){return!0}get defaultValue(){var{item:e}=this.props,t={name:e.name,description:e.description,protocol:e.protocol,protocol_port:e.protocol_port,connection_limit:e.connection_limit};if("TERMINATED_HTTPS"===e.protocol){if(e.default_tls_container_ref){var a,[,r]=e.default_tls_container_ref.split("/containers/");t.default_tls_container_ref={selectedRowKeys:[r],selectedRows:(0,h.default)(a=this.ServerCertificate).call(a,(e=>e.id===r))}}if(e.client_ca_tls_container_ref){var i,[,n]=e.client_ca_tls_container_ref.split("/secrets/");t.ssl_parsing_method="two-way",t.client_ca_tls_container_ref={selectedRowKeys:[n],selectedRows:(0,h.default)(i=this.CaCertificate).call(i,(e=>e.id===n))}}else t.ssl_parsing_method="one-way";if(e.sni_container_refs&&e.sni_container_refs.length){var l,o;t.sni_enabled=!0;var s=(0,p.default)(l=e.sni_container_refs).call(l,(e=>{var[,t]=e.split("/containers/");return t}));t.sni_container_refs={selectedRowKeys:s,selectedRows:(0,h.default)(o=this.SNICertificate).call(o,(e=>(0,m.default)(s).call(s,e.id)))}}else t.sni_enabled=!1}return t}}a.Edit=x,(0,b.default)(x,"id","edit-listener"),(0,b.default)(x,"title",t("Edit Listener")),(0,b.default)(x,"buttonText",t("Edit")),(0,b.default)(x,"policy","os_load-balancer_api:listener:put"),(0,b.default)(x,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{};return a||(a=yield I.default.pureFetchDetail(e.loadbalancers[0])),v.default.resolve("ACTIVE"===e.provisioning_status&&"ACTIVE"===a.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var w=(0,y.inject)("rootStore")((0,y.observer)(x));a.default=w},3841:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditPoolInfo=void 0;var l=n(r(32)),o=n(r(198)),s=n(r(65)),d=n(r(51)),u=n(r(62)),c=n(r(36)),f=r(406),p=r(1193),h=n(r(1346)),m=r(1408),v=r(1208),g=n(r(570));class _ extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.item,{protocol:a}=e,r=(0,u.default)(e,["protocol"]);return this.store.edit({id:t},r)}))}init(){this.state.pool={},this.store=h.default,this.getPoolDetail()}get name(){return t("edit default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{pool:{protocol:e=""}={}}=this.state;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}get defaultValue(){var{pool:e}=this.state,{name:t,description:a,protocol:r,lb_algorithm:i}=e;return t&&this.formRef.current&&this.formRef.current.setFieldsValue({name:t,description:a,protocol:r,lb_algorithm:i}),{name:t,description:a,protocol:r,lb_algorithm:i}}getPoolDetail(){var e=this;return(0,d.default)((function*(){var{default_pool_id:t}=e.item,a=yield e.store.fetchDetail({id:t});e.setState({pool:a})}))()}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea",maxLength:255},{name:"protocol",label:t("Protocol"),type:"select",options:this.filteredProtocolOptions,required:!0},{name:"lb_algorithm",label:t("LB Algorithm"),type:"select",options:m.Algorithm,required:!0}]}}a.EditPoolInfo=_,(0,c.default)(_,"id","pool-edit"),(0,c.default)(_,"title",t("Edit Default Pool")),(0,c.default)(_,"buttonText",t("Edit Default Pool")),(0,c.default)(_,"policy","os_load-balancer_api:pool:put"),(0,c.default)(_,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{};return a||(a=yield g.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===a.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var b=(0,f.inject)("rootStore")((0,f.observer)(_));a.default=b},3842:function(e,a,r){"use strict";var i=r(160),n=r(19),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.EditHealthMonitor=void 0;var s=o(r(32)),d=o(r(198)),u=o(r(65)),c=o(r(51)),f=o(r(62)),p=o(r(36)),h=r(406),m=r(1193),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1584)),g=r(1208),_=r(1346),b=o(r(570));function y(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(y=function(e){return e?a:t})(e)}class A extends m.ModalAction{constructor(){super(...arguments),(0,p.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.item,{healthmonitor_id:a}=this.poolStore.detail||{};if(a){var{type:r}=e,i=(0,f.default)(e,["type"]);return v.default.edit({id:a},i)}return e.pool_id=t,v.default.create(e)}))}init(){this.store=new v.HealthMonitorStore,this.poolStore=new _.PoolStore,this.state={defaultData:!0,admin_state_up:!1}}componentDidMount(){this.getHealthMonitor()}get name(){return t("edit health monitor")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{protocol:e=""}=this.item;return(0,s.default)(g.healthProtocols).call(g.healthProtocols,(t=>(0,d.default)(e).call(e,t.label)))}get defaultValue(){var{operating_status:e,type:t,delay:a,timeout:r,max_retries:i}=this.store.detail,{defaultData:n,admin_state_up:l}=this.state;return n&&e&&this.formRef.current&&(this.formRef.current.setFieldsValue({admin_state_up:l,operating_status:e,type:t,delay:a,timeout:r,max_retries:i}),this.setState({defaultData:!1})),{delay:5,timeout:3,max_retries:3}}getHealthMonitor(){var e=this;return(0,c.default)((function*(){var{default_pool_id:t}=e.item,a=yield e.poolStore.fetchDetail({id:t}),{healthmonitor_id:r}=a;if(r){var{admin_state_up:i}=yield e.store.fetchDetail({id:r});e.setState({admin_state_up:i}),e.formRef.current.setFieldsValue({admin_state_up:i})}}))()}get tips(){var{healthmonitor_id:e}=this.poolStore.detail||{};return e?"":t("First time edit automatically creates health monitor When pool does not have a health monitor")}get formItems(){var{admin_state_up:e}=this.state,{healthmonitor_id:a}=this.poolStore.detail||{};return[{name:"admin_state_up",label:t("Enable HealthMonitor"),type:"radio",required:!0,options:[{label:t("Yes"),value:!0},...a?[{label:t("No"),value:!1}]:[]]},{name:"type",label:t("HealthMonitor Type"),type:"select",options:this.filteredProtocolOptions,hidden:!e&&a,required:!0,disabled:!!a},{name:"delay",label:t("Delay Interval(s)"),type:"input-int",min:0,extra:t("Maximum interval time for each health check response"),hidden:!e&&a,required:!0},{name:"timeout",label:t("Timeout(s)"),type:"input-int",min:0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),hidden:!e&&a,required:!0},{name:"max_retries",label:t("Max Retries"),type:"input-int",min:0,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),hidden:!e&&a,required:!0}]}}a.EditHealthMonitor=A,(0,p.default)(A,"id","health-monitor-edit"),(0,p.default)(A,"title",t("Edit Health Monitor")),(0,p.default)(A,"buttonText",t("Edit Health Monitor")),(0,p.default)(A,"policy","os_load-balancer_api:healthmonitor:put"),(0,p.default)(A,"allowed",function(){var e=(0,c.default)((function*(e,t){var{detail:a}=t||{};return a||(a=yield b.default.pureFetchDetail(e.loadbalancers[0])),u.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===a.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var I=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=I},3843:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(65)),o=n(r(51)),s=n(r(36)),d=r(1193),u=n(r(1346)),c=n(r(570));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:pool:delete"),(0,s.default)(this,"allowedCheckFunc",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{};return a||(a=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===a.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(()=>u.default.delete({id:this.item.default_pool_id})))}get id(){return"delete"}get title(){return t("Delete Default Pool")}get isDanger(){return!0}get buttonText(){return t("Delete Default Pool")}get actionName(){return t("delete default pool")}isOwnerOrAdmin(){return!0}}a.default=f},3844:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerDetail=void 0;var l=r(406),o=r(1256),s=r(1208),d=n(r(1200)),u=n(r(3845)),c=n(r(3846)),f=r(1582);class p extends d.default{get name(){return t("listener")}get policy(){return"os_load-balancer_api:listener:get_one"}get listUrl(){var{loadBalancerId:e}=this.params;return this.getRoutePath("lbDetail",{id:e})}get actionConfigs(){return this.isAdminPage?f.adminActions:f.actionConfigs}get detailInfos(){return[{title:t("Listener Name"),dataIndex:"name"},{title:t("Protocol Type"),dataIndex:"protocol",render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:s.provisioningStatusCodes},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Members"),key:"members",component:c.default}]}init(){this.store=new o.ListenerStore}}a.ListenerDetail=p;var h=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=h},3845:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(33)),o=n(r(57)),s=n(r(81)),d=n(r(51)),u=n(r(36)),c=r(406),f=n(r(1256)),p=n(r(1202)),h=r(1584);class m extends p.default{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"fetchHealthMonitor",(0,d.default)((function*(){var{default_pool:{healthmonitor_id:t}}=e.detailData;yield e.healthmonitorStore.fetchDetail({id:t})})))}componentDidMount(){this.fetchData();var{default_pool:{healthmonitor_id:e}={}}=this.detailData;e&&this.fetchHealthMonitor()}get shouldFetchDetail(){return!0}init(){this.store=f.default,this.healthmonitorStore=new h.HealthMonitorStore}get leftCards(){return[this.PoolInfo,this.healthMonitor]}get rightCards(){var{protocol:e}=this.detailData||{};return"TERMINATED_HTTPS"===e?[this.certificateInfo]:[]}get PoolInfo(){var{default_pool:e={}}=this.detailData||{},{name:a,protocol:r,lb_algorithm:i,description:n}=e,l=[{label:t("Name"),content:a||"-"},{label:t("Protocol"),content:r||"-"},{label:t("LB Algorithm"),content:i||"-"},{label:t("Description"),content:n||"-"}];return{title:t("Pool Info"),options:l}}get healthMonitor(){var e=this.healthmonitorStore.detail||{},{admin_state_up:a,type:r,delay:i,timeout:n,max_retries:o}=e,s=[{label:t("Enable HealthMonitor"),content:a?t("Yes"):t("No")},{label:t("HealthMonitor Type"),content:a?r:"-"},{label:t("Delay Interval(s)"),content:a?i:"-"},{label:t("Timeout(s)"),content:a?n:"-"},{label:t("Max Retries"),content:a?o:"-"}];return 0===(0,l.default)(e).length&&(s[0].content="-"),{title:t("HealthMonitor"),options:s}}get certificateInfo(){var e=[{label:t("Server Certificate"),dataIndex:"serverCertificateId",render:e=>e?this.getLinkRender("certificateContainerDetail",e,{id:e},null):"-"},{label:t("CA Certificate"),dataIndex:"caCertificateId",render:e=>e?this.getLinkRender("certificateSecretDetail",e,{id:e},null):"-"},{label:t("SNI Certificate"),dataIndex:"sniCertificateId",render:e=>e.length?(0,o.default)(e).call(e,((t,a)=>{var r;return this.getLinkRender("certificateContainerDetail",(0,s.default)(r="".concat(t)).call(r,a===e.length-1?"":" , "),{id:t})}),null):"-"}];return{title:t("certificate"),options:e,labelCol:4}}}a.BaseDetail=m;var v=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=v},3846:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Members=void 0;var l=n(r(51)),o=n(r(36)),s=n(r(0)),d=r(406),u=n(r(1194)),c=r(1208),f=n(r(1347)),p=r(3847);class h extends u.default{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"fetchData",(0,l.default)((function*(){var{default_pool_id:t}=e.props.detail;t?e.fetchListWithTry((0,l.default)((function*(){yield e.store.fetchList({pool_id:t}),e.list.silent=!1}))):(e.list.data=[],e.list.isLoading=!1)}))),(0,o.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",stringify:(e,t)=>e||t.id,render:(e,t)=>s.default.createElement(s.default.Fragment,null,t.id,s.default.createElement("div",null,e&&"(".concat(e,")")))},{title:t("Status"),dataIndex:"provisioning_status",valueMap:c.provisioningStatusCodes,isHideable:!0},{title:t("Ip Address"),dataIndex:"address",isHideable:!0},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Weight"),dataIndex:"weight"}]))}init(){this.store=f.default}get policy(){return"os_load-balancer_api:member:get_all"}get name(){return t("Members")}get id(){return this.params.id}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){return this.isAdminPage?p.adminActions:p.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Members=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=m},3847:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3848)),l=i(a(3849)),o={rowActions:{firstAction:i(a(3851)).default,moreActions:[{action:n.default}]},batchActions:[],primaryActions:[l.default]};t.actionConfigs=o;var s={rowActions:{moreActions:[{action:n.default}]},batchActions:[],primaryActions:[]};t.adminActions=s},3848:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(1347));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:member:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&"ACTIVE"===e.provisioning_status)),(0,l.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail;return s.default.delete({id:e.id,default_pool_id:t})}))}get id(){return"delete"}get title(){return t("Delete Member")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete member")}isOwnerOrAdmin(){return!0}}a.default=d},3849:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(57)),o=n(r(27)),s=n(r(32)),d=n(r(65)),u=n(r(51)),c=n(r(36)),f=n(r(111)),p=n(r(3850)),h=n(r(0)),m=r(406),v=r(1193),g=r(1347),_=r(561),b=r(34),y=n(r(570)),A=n(r(1396));class I extends v.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var t,{default_pool_id:a}=this.item,{extMembers:r=[]}=e,i=(0,l.default)(t=(0,b.toJS)(this.memberStore.list.data)).call(t,(e=>{var{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}=e;return{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}}));return(0,o.default)(r).call(r,(e=>{var{ip:t,protocol_port:a,weight:r,name:n=null,subnet_id:l}=e.ip_address,o={weight:r,protocol_port:a,address:t,name:n,subnet_id:l};i.push(o)})),this.memberStore.batchUpdate({default_pool_id:a,data:(0,p.default)(i,A.default)})}))}get name(){return t("Add Member")}init(){this.store=new _.PortStore,this.memberStore=new g.PoolMemberStore,this.lbDetail={},this.state={ports:[]}}componentDidMount(){this.getMember(),y.default.fetchDetail({id:this.props.containerProps.match.params.loadBalancerId}).then((e=>(this.lbDetail=e,this.store.fetchList()))).then((e=>{this.setState({ports:(0,s.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}static get modalSize(){return"large"}getMember(){var e=this;return(0,u.default)((function*(){var{default_pool_id:t}=e.item;yield e.memberStore.fetchList({pool_id:t})}))()}getModalSize(){return"large"}get item(){var{item:e}=this.props;return e||this.containerProps.detail}get defaultValue(){return{}}get tips(){return h.default.createElement("div",{style:{display:"inline-table"}},h.default.createElement("p",{style:{color:"#0068FF"}},t("The amphora instance is required for load balancing service setup and is not recommended")))}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,f.default)(this.lbDetail,"vip_subnet_id",""),isLoading:this.store.list.isLoading,ports:this.state.ports,members:this.memberStore.list.data}]}}a.CreateAction=I,(0,c.default)(I,"id","manage-member"),(0,c.default)(I,"title",t("Add Member")),(0,c.default)(I,"policy","os_load-balancer_api:member:post"),(0,c.default)(I,"allowed",(e=>d.default.resolve("ACTIVE"===e.provisioning_status&&!!e.default_pool_id)));var S=(0,m.inject)("rootStore")((0,m.observer)(I));a.default=S},3851:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(57)),o=n(r(65)),s=n(r(36)),d=r(406),u=r(1193),c=n(r(1347)),f=r(34);class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail,{id:a}=this.item,r=(0,f.toJS)(this.store.list.data),i=(0,l.default)(r).call(r,(t=>{if(t.id===a){var{weight:r,protocol_port:i}=e;t.weight=r,t.protocol_port=i}var{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}=t;return{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}}));return this.store.batchUpdate({default_pool_id:t,data:i})}))}init(){this.state={},this.store=c.default}get name(){return t("edit member")}get defaultValue(){var{weight:e,protocol_port:t}=this.item;return e&&t&&this.formRef.current&&this.formRef.current.setFieldsValue({weight:e,protocol_port:t}),{weight:e,protocol_port:t}}get formItems(){return[{name:"weight",label:t("Weight"),type:"input-number",required:!0},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0}]}}a.Edit=p,(0,s.default)(p,"id","member-edit"),(0,s.default)(p,"title",t("Edit Member")),(0,s.default)(p,"buttonText",t("Edit Member")),(0,s.default)(p,"policy","os_load-balancer_api:member:put"),(0,s.default)(p,"allowed",(e=>o.default.resolve("ACTIVE"===e.provisioning_status)));var h=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=h},3852:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPN=void 0;var l=r(406),o=n(r(1234)),s=r(76),d=n(r(3853)),u=n(r(3858)),c=n(r(3863)),f=n(r(3868)),p=n(r(3873));class h extends o.default{get name(){return t("VPN")}get checkEndpoint(){return!0}get endpoint(){return(0,s.vpnEndpoint)()}get tabs(){return[{title:t("VPN Gateways"),key:"vpn_gateway",component:d.default},{title:t("VPN EndPoint Groups"),key:"vpn_endpoint_groups",component:u.default},{title:t("IKE Policies"),key:"ike_policy",component:c.default},{title:t("IPsec Policies"),key:"ipsec_policy",component:f.default},{title:t("IPsec Site Connections"),key:"ipsec_site_connections",component:p.default}]}}a.VPN=h;var m=(0,l.inject)("rootStore")((0,l.observer)(h));a.default=m},3853:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPNGateway=void 0;var l=n(r(36)),o=r(406),s=n(r(1194)),d=r(1304),u=r(1286),c=n(r(0)),f=r(3854);class p extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",render:(e,t)=>c.default.createElement("div",null,c.default.createElement("div",null,t.id),c.default.createElement("div",null,e))},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("External IP"),dataIndex:"null",render:(e,t)=>t.external_v4_ip||t.external_v6_ip},{title:t("Router ID"),dataIndex:"router_id",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnServicesStore,this.downloadStore=new d.VpnServicesStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_vpnservice"}get name(){return t("vpn services")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?f.adminConfigs:f.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:u.vpnStatusOptions},{label:t("Router ID"),name:"router_id"},{label:t("External IP(V4)"),name:"external_v4_ip"},{label:t("External IP(V6)"),name:"external_v6_ip"}]}}a.VPNGateway=p;var h=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=h},3854:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3855)),l=i(a(3856)),o=i(a(3857)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3855:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(65)),h=f(r(36)),m=r(406),v=r(1193),g=r(568),_=f(r(1304)),b=r(1219);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,h.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class I extends v.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{name:t,description:a,router_id:r}=e;return _.default.create({name:t,description:a,router_id:r.selectedRowKeys[0]})}))}get name(){return t("create vpn")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new g.RouterStore}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},A(A({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,b.getRouterSelectTablePropsBackend)(this)),{},{disabledFunc:e=>!e.external_gateway_info,required:!0})]}}a.Create=I,(0,h.default)(I,"id","create-vpn"),(0,h.default)(I,"title",t("Create VPN")),(0,h.default)(I,"buttonText",t("Create")),(0,h.default)(I,"policy","create_vpnservice"),(0,h.default)(I,"allowed",(()=>p.default.resolve(!0)));var S=(0,m.inject)("rootStore")((0,m.observer)(I));a.default=S},3856:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(65)),o=n(r(36)),s=r(406),d=r(1193),u=n(r(1304));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn"),(0,o.default)(c,"title",t("Edit VPN")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_vpnservice"),(0,o.default)(c,"allowed",(e=>"ACTIVE"!==e.status?l.default.resolve(!1):l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3857:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(81)),o=n(r(57)),s=n(r(65)),d=n(r(51)),u=n(r(36)),c=r(1193),f=r(1203),p=n(r(1304)),h=n(r(140)),m=n(r(1226));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_vpnservice"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({vpnservice_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the vpn gateway is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpnservice"}get title(){return t("Delete VPN")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn")}isCurrentProject(e){var t=h.default;return!(!f.checkSystemAdmin&&e.project_id!==t.user.project.id)}}a.default=v},3858:function(e,a,r){"use strict";var i=r(160),n=r(19),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.EndpointGroup=void 0;var s=o(r(81)),d=o(r(57)),u=o(r(65));r(337);var c=o(r(338));r(1198);var f=o(r(1199));r(1196);var p=o(r(1197)),h=o(r(51));r(576);var m=o(r(577)),v=o(r(595)),g=o(r(36)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),b=r(406),y=o(r(1194)),A=r(1305),I=(r(173),r(555),r(414)),S=r(3859);function C(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(C=function(e){return e?a:t})(e)}class x extends y.default{constructor(){super(...arguments),(0,g.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",render:(e,t)=>_.default.createElement("div",null,_.default.createElement("div",null,t.id),_.default.createElement("div",null,e))},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Type"),dataIndex:"type",isHideable:!0,render:e=>{switch(e){case"subnet":return t("Local");case"cidr":return t("Peer");default:return""}}},{title:t("Endpoint Counts"),dataIndex:"endpoints",render:(e,a)=>{var r=_.default.createElement(w,{record:a});return _.default.createElement(_.default.Fragment,null,e.length," ",_.default.createElement(m.default,{content:r,title:"cidr"===a.type?t("Peer Network"):t("Local Network"),destroyTooltipOnHide:!0},_.default.createElement(v.default,null)))},stringify:e=>{var t;return(0,s.default)(t="".concat(e.length,"(")).call(t,e.join(","),")")}}]))}init(){this.store=new A.VpnEndPointGroupStore,this.downloadStore=new A.VpnEndPointGroupStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_endpoint_group"}get aliasPolicy(){return"neutron:get_endpoint_group"}get name(){return t("vpn endpoint groups")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?S.adminConfigs:S.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}function w(e){var{record:t}=e,{type:a,endpoints:r}=t,[i,n]=(0,_.useState)([]);return(0,_.useEffect)((()=>{"subnet"===a&&0===i.length&&(0,h.default)((function*(){var e=(0,d.default)(r).call(r,(e=>(new I.SubnetStore).fetchDetail({id:e}))),t=yield u.default.all(e);n(t)}))()})),"cidr"===a?_.default.createElement(f.default,null,(0,d.default)(r).call(r,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},e)}))):0===i.length?_.default.createElement(c.default,null):_.default.createElement(f.default,{style:{maxWidth:550}},(0,d.default)(i).call(i,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},_.default.createElement(f.default,{gutter:24},_.default.createElement(p.default,{span:6},e.name),_.default.createElement(p.default,{span:6},e.cidr),_.default.createElement(p.default,{span:12},e.id)))})))}a.EndpointGroup=x;var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3859:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3860)),l=i(a(3861)),o=i(a(3862)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3860:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(32)),h=f(r(1338)),m=f(r(226)),v=f(r(65)),g=f(r(51)),_=f(r(62)),b=f(r(36)),y=r(406),A=r(1193),I=r(556),S=r(568),C=r(414),x=f(r(1305)),w=r(1219),P=r(1224);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=E(Object(r),!0)).call(a,(function(t){(0,b.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=E(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var{isCidr:D,isIPv6CidrOnly:N}=I.ipValidate;class M extends A.ModalAction{constructor(){var e;super(...arguments),e=this,(0,b.default)(this,"onSubmit",(e=>{var{type:t}=this.state,{name:a,description:r}=e,i=(0,_.default)(e,["name","description"]),n={name:a,description:r,type:t};if("subnet"===t){var{subnet_id:l}=i;n.endpoints=l.selectedRowKeys}else if("cidr"===t){var{endpoints:o}=i;n.endpoints=o.split("\n")}return x.default.create(n)})),(0,b.default)(this,"handleRouterChange",function(){var t=(0,g.default)((function*(t){var a;e.setState({subnetLoading:!0});var r=yield(0,P.getPortsWithFixedIPs)(),i=(0,P.getSubnetToRouter)(r,t.selectedRows,!1);e.setState({subnets:(0,p.default)(a=e.allSubnets).call(a,(e=>(0,h.default)(i).call(i,(t=>t.subnet_id===e.id))>-1)),subnetLoading:!1}),e.formRef.current.resetFields(["subnet_id"])}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("create vpn endpoint group")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new S.RouterStore,this.subnetStore=new C.SubnetStore,this.state={subnets:[],type:"subnet",subnetLoading:!0},this.getAllSubnets()}getAllSubnets(){var e=this;return(0,g.default)((function*(){e.allSubnets=yield e.subnetStore.pureFetchList(),e.setState({subnetLoading:!1})}))()}get defaultValue(){return{type:"subnet"}}get formItems(){var{subnets:e,type:a,subnetLoading:r}=this.state,i="subnet"===a;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"type",label:t("Type"),type:"select",options:[{label:t("Peer"),value:"cidr"},{label:t("Local"),value:"subnet"}],onChange:e=>{this.setState({type:e})}},k(k({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,w.getRouterSelectTablePropsBackend)(this)),{},{required:!0,onChange:this.handleRouterChange,hidden:!i}),{name:"subnet_id",label:t("Subnet"),type:"select-table",data:e,isLoading:r,isMulti:!0,columns:[{title:t("Name"),dataIndex:"name",isLink:!0},{title:t("CIDR"),dataIndex:"cidr"}],required:!0,hidden:!i},{name:"endpoints",label:t("Peer Network Segment"),type:"textarea",validator:(e,a)=>{var r;return(0,m.default)(r=a.split("\n")).call(r,(e=>!D(e)&&!N(e)))?v.default.reject(new Error(t("Invalid: CIDR Format Error(e.g. 10.10.10.0/24)"))):v.default.resolve(!0)},extra:t("Please fill in the peer network segment and subnet mask of CIDR format, the written subnets should be under the same router, one per line."),hidden:i,required:!0}]}}a.Create=M,(0,b.default)(M,"id","create-vpn-endpoint-group"),(0,b.default)(M,"title",t("Create VPN Endpoint Group")),(0,b.default)(M,"buttonText",t("Create")),(0,b.default)(M,"policy","create_endpoint_group"),(0,b.default)(M,"aliasPolicy","neutron:create_endpoint_group"),(0,b.default)(M,"allowed",(()=>v.default.resolve(!0)));var B=(0,y.inject)("rootStore")((0,y.observer)(M));a.default=B},3861:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(65)),o=n(r(36)),s=r(406),d=r(1193),u=n(r(1305));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn-endpoint-groups"),(0,o.default)(c,"title",t("Edit VPN EndPoint Groups")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_endpoint_group"),(0,o.default)(c,"aliasPolicy","neutron:update_endpoint_group"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3862:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(81)),o=n(r(57)),s=n(r(65)),d=n(r(51)),u=n(r(36)),c=r(1193),f=r(1203),p=n(r(1305)),h=n(r(1226)),m=n(r(140));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_endpoint_group"),(0,u.default)(this,"aliasPolicy","neutron:delete_endpoint_group"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r;switch(a.type){case"cidr":r={peer_ep_group_id:a.id};break;case"subnet":r={local_ep_group_id:a.id}}var i,n=yield h.default.fetchList(r);return n.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(i="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(i,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(n).call(n,(e=>e.name)).join(", "),ids:(0,o.default)(n).call(n,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-endpoint-group"}get title(){return t("Delete VPN EndPoint Groups")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn endpoint groups")}isCurrentProject(e){var t=m.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3863:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IKEPolicy=void 0;var l=n(r(57)),o=n(r(33)),s=n(r(81)),d=n(r(36)),u=n(r(0)),c=r(406),f=n(r(1194)),p=r(1287),h=r(1286),m=r(3864);class v extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",render:(e,t)=>u.default.createElement("div",null,u.default.createElement("div",null,t.id),u.default.createElement("div",null,e))},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("IKE Version"),dataIndex:"ike_version",isHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIKEPolicyStore,this.downloadStore=new p.VpnIKEPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ikepolicy"}get name(){return t("vpn IKE policy")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?m.adminConfigs:m.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:h.authAlgorithmOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:h.encryptionAlgorithmOptions},{label:t("IKE Version"),name:"ike_version",options:h.ikePolicyIKEVersionOptions},{label:t("PFS"),name:"pfs",options:h.pfsOptions}]}}a.IKEPolicy=v;var g=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=g},3864:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3865)),l=i(a(3866)),o=i(a(3867)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3865:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(65)),h=f(r(62)),m=f(r(36)),v=r(406),g=r(1193),_=f(r(1287)),b=r(1286);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends g.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({lifetime:{units:"seconds",value:t}},(0,h.default)(e,["lifetimeValue"]));return _.default.create(a)}))}get name(){return t("create vpn ike policy")}get defaultValue(){return{auth_algorithm:"sha1",encryption_algorithm:"aes-128",pfs:"group5",lifetimeValue:3600,ike_version:"v1"}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:b.authAlgorithmOptions,required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:b.encryptionAlgorithmOptions,required:!0},{name:"pfs",label:t("PFS"),type:"select",options:b.pfsOptions,required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"ike_version",label:t("IKE Version"),type:"select",options:b.ikePolicyIKEVersionOptions,required:!0}]}}a.Create=A,(0,m.default)(A,"id","create-vpn-ike-policy"),(0,m.default)(A,"title",t("Create VPN IKE Policy")),(0,m.default)(A,"buttonText",t("Create")),(0,m.default)(A,"policy","create_ikepolicy"),(0,m.default)(A,"allowed",(()=>p.default.resolve(!0)));var I=(0,v.inject)("rootStore")((0,v.observer)(A));a.default=I},3866:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(65)),h=f(r(81)),m=f(r(57)),v=f(r(62)),g=f(r(36)),_=f(r(0)),b=r(406),y=r(1193),A=f(r(1287)),I=f(r(1226));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=S(Object(r),!0)).call(a,(function(t){(0,g.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=S(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class x extends y.ModalAction{constructor(){super(...arguments),(0,g.default)(this,"onSubmit",(e=>{var{lifetimeValue:t,canSubmit:a}=e,r=C({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue","canSubmit"]));return A.default.update({id:this.item.id},r)}))}init(){this.state={canSubmit:!0,connections:[]},I.default.fetchList({ikepolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t}=e;return C(C({},(0,v.default)(e,["lifetime"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,{canSubmit:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return n?p.default.resolve(!0):p.default.reject(new Error((0,h.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,m.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,m.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:n},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,m.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,m.default)(a=["3des","aes-128","aes-192","aes-256"]).call(a,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,m.default)(r=["group2","group5","group14"]).call(r,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"ike_version",label:t("IKE Version"),type:"select",options:(0,m.default)(i=["v1","v2"]).call(i,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ike-policy"),(0,g.default)(x,"title",t("Edit VPN IKE Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ikepolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var w=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=w},3867:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(81)),o=n(r(57)),s=n(r(65)),d=n(r(51)),u=n(r(36)),c=r(1193),f=r(1203),p=n(r(1287)),h=n(r(1226)),m=n(r(140));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ikepolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield h.default.fetchList({ikepolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ike-policy"}get title(){return t("Delete VPN IKE Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IKE policy")}isCurrentProject(e){var t=m.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3868:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecPolicy=void 0;var l=n(r(57)),o=n(r(33)),s=n(r(81)),d=n(r(36)),u=n(r(0)),c=r(406),f=n(r(1194)),p=r(1288),h=r(1286),m=r(3869);class v extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",render:(e,t)=>u.default.createElement("div",null,u.default.createElement("div",null,t.id),u.default.createElement("div",null,e))},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encapsulation Mode"),dataIndex:"encapsulation_mode",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("Transform Protocol"),dataIndex:"transform_protocol",idHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIPsecPolicyStore,this.downloadStore=new p.VpnIPsecPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsecpolicy"}get name(){return t("vpn IPsec policy")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?m.adminConfigs:m.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:h.authAlgorithmOptions},{label:t("Encapsulation Mode"),name:"encapsulation_mode",options:h.ipsecPolicyEncapsulationModeOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:h.encryptionAlgorithmOptions},{label:t("Transform Protocol"),name:"transform_protocol",options:h.ipsecPolicyTransformProtocolOptions},{label:t("PFS"),name:"pfs",options:h.pfsOptions}]}}a.IPsecPolicy=v;var g=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=g},3869:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3870)),l=i(a(3871)),o=i(a(3872)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3870:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(65)),h=f(r(62)),m=f(r(36)),v=r(406),g=r(1193),_=f(r(1288)),b=r(1286);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends g.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({lifetime:{units:"seconds",value:t}},(0,h.default)(e,["lifetimeValue"]));return _.default.create(a)}))}get name(){return t("create vpn ipsec policy")}get defaultValue(){return{auth_algorithm:"sha1",encryption_algorithm:"aes-128",pfs:"group5",encapsulation_mode:"tunnel",lifetimeValue:3600,transform_protocol:"esp"}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:b.authAlgorithmOptions,required:!0},{name:"encapsulation_mode",label:t("Encapsulation Mode"),type:"select",options:b.ipsecPolicyEncapsulationModeOptions,required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:b.encryptionAlgorithmOptions,required:!0},{name:"pfs",label:t("PFS"),type:"select",options:b.pfsOptions,required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"transform_protocol",label:t("Transform Protocol"),type:"select",options:b.ipsecPolicyTransformProtocolOptions,required:!0}]}}a.Create=A,(0,m.default)(A,"id","create-vpn-ipsec-policy"),(0,m.default)(A,"title",t("Create VPN IPsec Policy")),(0,m.default)(A,"buttonText",t("Create")),(0,m.default)(A,"policy","create_ipsecpolicy"),(0,m.default)(A,"allowed",(()=>p.default.resolve(!0)));var I=(0,v.inject)("rootStore")((0,v.observer)(A));a.default=I},3871:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(65)),h=f(r(81)),m=f(r(57)),v=f(r(62)),g=f(r(36)),_=f(r(0)),b=r(406),y=r(1193),A=f(r(1288)),I=f(r(1226));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=S(Object(r),!0)).call(a,(function(t){(0,g.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=S(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class x extends y.ModalAction{constructor(){super(...arguments),(0,g.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=C({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue"]));return A.default.update({id:this.item.id},a)}))}init(){this.state={canSubmit:!0,connections:[]},I.default.fetchList({ipsecpolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t,canSubmit:a}=e;return C(C({},(0,v.default)(e,["lifetime","canSubmit"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,n,{canSubmit:l}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return l?p.default.resolve(!0):p.default.reject(new Error((0,h.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,m.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,m.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:l},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,m.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encapsulation_mode",label:t("Encapsulation Mode"),type:"select",options:(0,m.default)(a=["tunnel","transport"]).call(a,(e=>({label:e,value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,m.default)(r=["3des","aes-128","aes-192","aes-256"]).call(r,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,m.default)(i=["group2","group5","group14"]).call(i,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"transform_protocol",label:t("Transform Protocol"),type:"select",options:(0,m.default)(n=["esp","ah","ah-esp"]).call(n,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ipsec-policy"),(0,g.default)(x,"title",t("Edit VPN IPsec Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ipsecpolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var w=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=w},3872:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(81)),o=n(r(57)),s=n(r(65)),d=n(r(51)),u=n(r(36)),c=r(1193),f=r(1203),p=n(r(1288)),h=n(r(1226)),m=n(r(140));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ipsecpolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield h.default.fetchList({ipsecpolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ipsec-policy"}get title(){return t("Delete VPN IPsec Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IPsec policy")}isCurrentProject(e){var t=m.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3873:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=n(r(36)),o=r(406),s=n(r(1194)),d=r(1226),u=r(1286),c=r(1585);class f extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("ipsecDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id",isHideable:!0},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id",isHideable:!0},{title:t("Peer Address"),dataIndex:"peer_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnIPsecConnectionStore,this.downloadStore=new d.VpnIPsecConnectionStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsec_site_connection"}get name(){return t("ipsec site connection")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Local Endpoint Group ID"),name:"local_ep_group_id"},{label:t("Peer Endpoint Group ID"),name:"peer_ep_group_id"},{label:t("Peer Address"),name:"peer_address"},{label:t("Status"),name:"status",options:u.vpnStatusOptions}]}}a.IPsecSiteConnection=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3874:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(65)),h=f(r(57)),m=f(r(32)),v=f(r(81)),g=f(r(102));r(1198);var _=f(r(1199));r(1196);var b=f(r(1197));r(422);var y=f(r(425)),A=f(r(51)),I=f(r(62)),S=f(r(36)),C=f(r(593)),x=f(r(0)),w=r(406),P=r(1193),E=r(556),k=f(r(1304)),D=f(r(1287)),N=f(r(1288)),M=f(r(1305)),B=(r(173),f(r(1226))),R=f(r(3875));function j(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function T(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=j(Object(r),!0)).call(a,(function(t){(0,S.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=j(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var{isIPv4:F,isIpv6:Q}=E.ipValidate;class L extends P.ModalAction{constructor(){super(...arguments),(0,S.default)(this,"onSubmit",(e=>{var t=(0,C.default)({},this.defaultValue,e),{interval:a,timeout:r,action:i,password:n,confirmPassword:l,more:o}=t,s=(0,I.default)(t,["interval","timeout","action","password","confirmPassword","more"]),d=T(T({},s),{},{psk:n,peer_id:s.peer_address,dpd:{interval:a,timeout:r,action:i}});return B.default.create(d)}))}get name(){return t("create ipsec site connection")}init(){this.vpnServiceStore=k.default,this.ikePolicyStore=D.default,this.ipsecPolicyStore=N.default,this.endpointGroupStore=M.default,this.fetchData()}fetchData(){var e=this;return(0,A.default)((function*(){yield p.default.all([e.vpnServiceStore.fetchList(),e.ikePolicyStore.fetchList(),e.ipsecPolicyStore.fetchList(),e.endpointGroupStore.fetchList()])}))()}get defaultValue(){return{mtu:1500,initiator:"bi-directional",action:"hold",interval:30,timeout:120}}get formItems(){var e,a,r,i,n,l,o,s,d,u,c,{local_ep_group_id:f,peer_ep_group_id:A,more:I}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"vpnservice_id",label:t("VPN Service"),type:"select",options:(0,h.default)(e=this.vpnServiceStore.list.data).call(e,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ikepolicy_id",label:t("IKE Policy"),type:"select",options:(0,h.default)(a=this.ikePolicyStore.list.data).call(a,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ipsecpolicy_id",label:t("IPsec Policy"),type:"select",options:(0,h.default)(r=this.ipsecPolicyStore.list.data).call(r,(e=>({label:e.name,value:e.id}))),required:!0},{name:"local_ep_group_id",label:t("Local Endpoint Group"),type:"select",options:(0,h.default)(i=(0,m.default)(n=this.endpointGroupStore.list.data).call(n,(e=>"subnet"===e.type))).call(i,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({local_ep_group_id:e})},required:!0},{name:"local_subnet",type:"label",label:t("Local Subnet"),component:x.default.createElement(R.default,{data:this.endpointGroupStore.list.data,local_ep_group_id:f})},{name:"peer_address",type:"input",label:t("Peer Gateway Public Address"),extra:t("Peer gateway public address for the IPsec site connection"),validator:(e,a)=>{var r;return F(a)||Q(a)?p.default.resolve():p.default.reject(new Error((0,v.default)(r="".concat(t("Invalid")," ")).call(r,t("Peer Gateway Public Address"))))},required:!0},{name:"peer_ep_group_id",label:t("Peer Endpoint Group"),type:"select",options:(0,h.default)(l=(0,m.default)(o=this.endpointGroupStore.list.data).call(o,(e=>"cidr"===e.type))).call(l,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({peer_ep_group_id:e})},required:!0},{name:"peer_cidrs",type:"label",label:t("Peer Cidrs"),component:x.default.createElement(_.default,null,A?(0,h.default)(s=(0,g.default)(d=this.endpointGroupStore.list.data).call(d,(e=>e.id===A)).endpoints).call(s,(e=>x.default.createElement(b.default,{span:24},e))):x.default.createElement(b.default,{span:24},x.default.createElement(y.default,null)))},{name:"password",type:"input-password",label:t("Pre-Shared Key(PSK) String"),otherRule:(0,E.getPasswordOtherRule)("password","instance"),required:!0},{name:"confirmPassword",type:"input-password",label:t("Confirm Shared Key"),otherRule:(0,E.getPasswordOtherRule)("confirmPassword","instance",void 0,t("Pre-Shared Key must be the same with Confirm Shared Key.")),required:!0},{name:"mtu",type:"input-number",label:t("MTU"),min:68,tip:t("The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6."),required:!0,hidden:!I},{name:"initiator",label:t("Initiator Mode"),type:"select",options:(0,h.default)(u=["bi-directional","response-only"]).call(u,(e=>({label:e,value:e}))),tip:t("Indicates whether this VPN can only respond to connections or both respond to and initiate connections."),required:!0,hidden:!I},{name:"action",label:t("DPD Action"),type:"select",options:(0,h.default)(c=["clear","hold","restart","disabled","restart-by-peer"]).call(c,(e=>({label:e,value:e}))),tip:t("DPD actions controls the use of Dead Peer Detection Protocol."),required:!0,hidden:!I},{name:"interval",type:"input-number",label:t("DPD Interval (sec)"),min:0,tip:t("Sec for DPD delay, > 0"),required:!0,hidden:!I},{name:"timeout",type:"input-number",label:t("DPD timeout (sec)"),min:0,tip:t("Sec for DPD timeout, > 0 & > DPD Interval"),required:!0,hidden:!I},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Create=L,(0,S.default)(L,"id","create-ipsec-site-connection"),(0,S.default)(L,"title",t("Create IPsec Site Connection")),(0,S.default)(L,"buttonText",t("Create")),(0,S.default)(L,"policy","create_ipsec_site_connection"),(0,S.default)(L,"allowed",(()=>p.default.resolve(!0)));var O=(0,w.inject)("rootStore")((0,w.observer)(L));a.default=O},3875:function(e,t,a){"use strict";var r=a(160),i=a(19),n=a(25),l=a(21);i(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(102)),s=l(a(57)),d=l(a(65));a(337);var u=l(a(338));a(1196);var c=l(a(1197));a(422);var f=l(a(425)),p=l(a(51)),h=l(a(111)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=i&&n;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?n(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),v=l(a(16)),g=(a(173),a(414));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class b extends m.Component{constructor(e){super(e),this.state={subnets:[],isLoading:!0}}componentDidUpdate(e){var{local_ep_group_id:t}=this.props,{local_ep_group_id:a}=e;t!==a&&this.getSubnets()}get currentEndpoints(){var{data:e,local_ep_group_id:t}=this.props;return(0,h.default)((0,o.default)(e).call(e,(e=>e.id===t)),"endpoints",[])}getSubnets(){var e=this;return(0,p.default)((function*(){var t;e.setState({isLoading:!0});var a=(0,s.default)(t=e.currentEndpoints).call(t,(e=>(new g.SubnetStore).fetchDetail({id:e}))),r=yield d.default.all(a);e.setState({subnets:r,isLoading:!1})}))()}render(){var e,{local_ep_group_id:t}=this.props,{subnets:a,isLoading:r}=this.state;return t?r?m.default.createElement(c.default,null,m.default.createElement(u.default,null)):m.default.createElement(m.default.Fragment,null,(0,s.default)(e=this.currentEndpoints).call(e,((e,t)=>m.default.createElement(c.default,{span:24,key:"cep_".concat(t)},(0,h.default)(a[t],"cidr"))))):m.default.createElement(c.default,null,m.default.createElement(f.default,null))}}b.propTypes={data:v.default.array,local_ep_group_id:v.default.string},b.defaultProps={data:[],local_ep_group_id:void 0};var y=b;t.default=y},3876:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(65)),o=n(r(90)),s=n(r(36)),d=r(406),u=r(1193),c=n(r(1226)),f=["ACTIVE","DOWN"];class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return c.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=p,(0,s.default)(p,"id","edit-ipsec-site-connection"),(0,s.default)(p,"title",t("Edit IPsec Site Connection")),(0,s.default)(p,"buttonText",t("Edit")),(0,s.default)(p,"policy","update_ipsec_site_connection"),(0,s.default)(p,"allowed",(e=>l.default.resolve((0,o.default)(f).call(f,e.status)>-1)));var h=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=h},3877:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=r(1203),d=n(r(1226)),u=n(r(140));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_ipsec_site_connection"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete-ipsec-site-connection"}get title(){return t("Delete IPsec Site Connection")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete ipsec site connection")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3878:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=r(406),o=n(r(1200)),s=r(1226),d=n(r(3879)),u=r(1585);class c extends o.default{init(){this.store=new s.VpnIPsecConnectionStore}get name(){return t("IPsec Site Connection")}get policy(){return"get_ipsec_site_connection"}get listUrl(){return this.getRoutePath("vpn",null,{tab:"ipsec_site_connections"})}get actionConfigs(){return this.isAdminPage?u.adminConfigs:u.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id",hidden:!this.isAdminPage},{title:t("VPN Service ID"),dataIndex:"vpnservice_id"},{title:t("Status"),dataIndex:"status"},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id"},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id"},{title:t("Peer Address"),dataIndex:"peer_address"},{title:t("Peer ID"),dataIndex:"peer_id"},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:d.default}]}}a.IPsecSiteConnection=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},3879:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(57)),h=f(r(33)),m=f(r(81)),v=f(r(51)),g=f(r(36)),_=r(406),b=f(r(1202)),y=r(1226),A=f(r(0)),I=r(34);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class C extends b.default{constructor(){var e;super(...arguments),e=this,(0,g.default)(this,"fetchData",function(){var t=(0,v.default)((function*(t){e.store.fetchDetailWithPolicyDetail(function(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=S(Object(r),!0)).call(a,(function(t){(0,g.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=S(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}({id:e.id,ikePolicyID:e.props.detail.ikepolicy_id,ipsecPolicyID:e.props.detail.ipsecpolicy_id},t)).catch(e.catch)}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new y.VpnIPsecConnectionStore}get detailData(){return(0,I.toJS)(this.store.detail)}get leftCards(){return[this.ikeInfoCard,this.ipsecInfoCard]}get rightCards(){return[this.advancedInfo]}get ikeInfoCard(){var e=[{label:t("Name"),dataIndex:"name"},{label:t("Description"),dataIndex:"description",render:e=>e||"-"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("IKE Version"),dataIndex:"ike_version"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&A.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,h.default)(e)).call(t,((t,a)=>{var r,i;return A.default.createElement("li",{key:(0,m.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,m.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IKE Policy"),options:e,sourceData:this.detailData.ikeDetail}}get ipsecInfoCard(){var e=[{label:t("Name"),dataIndex:"name"},{label:t("Description"),dataIndex:"description"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encapsulation Mode"),dataIndex:"encapsulation_mode"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("Transform Protocol"),dataIndex:"transform_protocol"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&A.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,h.default)(e)).call(t,((t,a)=>{var r,i;return A.default.createElement("li",{key:(0,m.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,m.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IPsec Policy"),options:e,sourceData:this.detailData.ipsecDetail}}get advancedInfo(){var e=[{label:t("MTU"),dataIndex:"mtu"},{label:t("Initiator Mode"),dataIndex:"initiator"},{label:t("DPD Action"),dataIndex:"dpd",render:e=>e&&e.action},{label:t("DPD Interval (sec)"),dataIndex:"dpd",render:e=>e&&e.interval},{label:t("DPD timeout (sec)"),dataIndex:"dpd",render:e=>e&&e.timeout}];return{title:t("Advanced Params"),options:e}}}a.BaseDetail=C;var x=(0,_.inject)("rootStore")((0,_.observer)(C));a.default=x},3880:function(e,a,r){"use strict";var i=r(160),n=r(19),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.SecurityGroups=void 0;var s=o(r(198)),d=o(r(36)),u=r(406),c=o(r(1194)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(416)),p=r(334),h=o(r(1586));function m(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(m=function(e){return e?a:t})(e)}class v extends c.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("securityGroupDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=f.default,this.downloadStore=new f.SecurityGroupStore}get policy(){return"get_security_group"}get name(){return t("security groups")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,s.default)(e=this.path).call(e,"recycle-bin")}get actionConfigs(){return this.isRecycleBinDetail?p.emptyActionConfig:this.isAdminPage?h.default.actionConfigsAdmin:h.default.actionConfigs}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.SecurityGroups=v;var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3881:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(65)),h=f(r(51)),m=f(r(36)),v=r(406),g=r(1193),_=f(r(416)),b=f(r(407));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=y(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=y(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}var I=(e,t)=>{var{left:a=0}=e||{},{left:r=0}=t||{};return 0!==a&&(r>=2||-1===r)?1:0};class S extends g.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>_.default.create(e)))}get name(){return t("Create security group")}init(){this.state.groupQuota={},this.state.ruleQuota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}static get disableSubmit(){var{neutronQuota:{security_group:e={},security_group_rule:t={}}={}}=b.default;return 0===I(e,t)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group:a={},security_group_rule:r={}}=t||{};e.setState({groupQuota:a,ruleQuota:r,quotaLoading:!1})}))()}get tips(){return t("This operation creates a security group with default security group rules for the IPv4 and IPv6 ether types.")}get quotaInfo(){var{groupQuota:e={},ruleQuota:a={},quotaLoading:r}=this.state;if(r)return[];var i=I(e,a);return[A(A({},e),{},{add:i,name:"security_group",title:t("Security Group")}),A(A({},a),{},{add:2*i,name:"security_group_rule",title:t("Security Group Rule"),type:"line"})]}get defaultValue(){return{}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateAction=S,(0,m.default)(S,"id","create"),(0,m.default)(S,"title",t("Create Security Group")),(0,m.default)(S,"policy","create_security_group"),(0,m.default)(S,"allowed",(()=>p.default.resolve(!0)));var C=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=C},3882:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=n(r(65)),o=n(r(36)),s=r(406),d=r(1193),u=n(r(416));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return u.default.edit({id:t},e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.EditAction=c,(0,o.default)(c,"id","edit"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","update_security_group"),(0,o.default)(c,"allowed",(e=>l.default.resolve("default"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3883:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(416));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_security_group"),(0,l.default)(this,"hasNoProject",(e=>!e.project_name||"-"===e.project_name)),(0,l.default)(this,"allowedCheckFunc",(e=>this.isAdminPage&&this.hasNoProject(e)||"default"!==e.name)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Security Group")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Security Group")}}a.default=d},3884:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroupDetail=void 0;var l=n(r(202)),o=r(406),s=r(416),d=n(r(1200)),u=n(r(3885)),c=n(r(1586));class f extends d.default{get name(){return t("security group")}get policy(){return"get_security_group"}get listUrl(){return this.getRoutePath("securityGroup")}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Rules"),key:"rules",component:u.default}]}init(){this.store=new s.SecurityGroupStore}componentDidUpdate(e){(0,l.default)(this.props.match.params,e.match.params)||this.fetchDataWithPolicy()}}a.SecurityGroupDetail=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3885:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(62)),h=f(r(51)),m=f(r(36)),v=r(406),g=f(r(1194)),_=f(r(608)),b=r(347),y=r(558),A=f(r(3886));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=I(Object(r),!0)).call(a,(function(t){(0,m.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=I(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class C extends g.default{constructor(){super(...arguments),(0,m.default)(this,"getColumns",(()=>(0,b.getSelfColumns)(this)))}init(){this.store=_.default}get policy(){return"get_security_group_rule"}get name(){return t("security group rules")}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,y.getPath)({key:t,params:{id:e}})}get actionConfigs(){return this.isAdminPage?A.default.actionConfigsAdmin:A.default.actionConfigs}get searchFilters(){return b.filterParams}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]),{detail:n={}}=t.props,{id:l}=n;r&&(t.list.silent=!0),l&&(yield t.store.fetchList(S(S({},i),{},{security_group_id:l}))),t.list.silent=!1}))()}}a.Rule=C;var x=(0,v.inject)("rootStore")((0,v.observer)(C));a.default=x},3886:function(e,t,a){"use strict";var r=a(19),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1587)),l=i(a(3887)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=o},3887:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(229)),o=n(r(81)),s=n(r(36)),d=r(1193),u=n(r(608));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_security_group_rule"),(0,s.default)(this,"getItemName",(e=>{var a,r,i;if(e.name)return e.name;var n,s,d,u,{ethertype:c,port_range_min:f,port_range_max:p,protocol:h,remote_group_id:m,remote_ip_prefix:v}=e,g="",_=(0,l.default)(f,10),b=(0,l.default)(p,10),y=h.toLowerCase();_&&(g=_===b?(0,o.default)(s="".concat(_," / ")).call(s,y):(0,o.default)(d=(0,o.default)(u="".concat(_," - ")).call(u,b," / ")).call(d,y));var A="egress"===e.direction?"to":"from";return n=m||(v||t("ANY")),(0,o.default)(a=(0,o.default)(r=(0,o.default)(i="ALLOW ".concat(c," ")).call(i,g," ")).call(r,A," ")).call(a,n)})),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Rule")}}a.default=c},3888:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var l=r(406),o=n(r(1234)),s=n(r(3889));class d extends o.default{get tabs(){return[{title:t("Server Certificates"),key:"SERVER",component:s.default},{title:t("CA Certificates"),key:"CA",component:s.default}]}}a.Certificate=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3889:function(e,a,r){"use strict";var i=r(33),n=r(44),l=r(32),o=r(25),s=r(27),d=r(45),u=r(46),c=r(19),f=r(160),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var h=p(r(57)),m=p(r(200)),v=p(r(36)),g=p(r(0)),_=r(406),b=p(r(1194)),y=P(r(1284)),A=r(1203),I=P(r(1285)),S=r(1208),C=r(341),x=p(r(1409));function w(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(w=function(e){return e?a:t})(e)}function P(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}return r.default=e,a&&a.set(e,r),r}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t<arguments.length;t++){var a,r=null!=arguments[t]?arguments[t]:{};if(t%2)s(a=E(Object(r),!0)).call(a,(function(t){(0,v.default)(e,t,r[t])}));else if(d)u(e,d(r));else{var i;s(i=E(Object(r))).call(i,(function(t){c(e,t,o(r,t))}))}}return e}class D extends b.default{constructor(){super(...arguments),(0,v.default)(this,"updateFetchParams",(e=>k(k({},e),{},{mode:this.currentMode}))),(0,v.default)(this,"getColumns",(()=>[{title:this.showDetail?t("ID/Name"):t("Name"),dataIndex:"name",routeName:this.showDetail?this.getRouteName(this.routeLinkPath):null},{title:t("Certificate Type"),dataIndex:"mode",valueMap:S.certificateMode,isHideable:!0},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime",isHideable:!0},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-",hidden:"CA"===this.currentMode,isHideable:!0},{title:t("Listener"),dataIndex:"listener",render:e=>e?(0,h.default)(e).call(e,(e=>g.default.createElement("div",{key:e.id},this.getLinkRender("lbListenerDetail",e.name,{loadBalancerId:e.lb,id:e.id},null)))):"-",isHideable:!0,stringify:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,h.default)(e).call(e,(e=>e.name)).join(",")||"-"}},{title:t("Status"),dataIndex:"status",valueMap:S.certificateStatus},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime",isHideable:!0}]))}init(){"SERVER"===this.currentMode?(this.store=y.default,this.downloadStore=new y.ContainersStore):(this.store=I.default,this.downloadStore=new I.SecretsStore)}get policy(){return["containers:get","secrets:get"]}get aliasPolicy(){return["barbican:containers:get","barbican:secrets:get"]}get showDetail(){return(0,A.checkPolicyRule)("barbican:secret:decrypt")}get name(){return t("certificate")}get hasTab(){return!0}get actionConfigs(){return"SERVER"===this.currentMode?x.default.actionConfigsContainer:x.default.actionConfigsSecret}get currentMode(){var e,t=(0,C.parse)((0,m.default)(e=this.props.location.search).call(e,1)),{tab:a="SERVER"}=t;return a}get routeLinkPath(){return"SERVER"===this.currentMode?"certificateContainerDetail":"certificateSecretDetail"}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Certificate=D;var N=(0,_.inject)("rootStore")((0,_.observer)(D));a.default=N},3890:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(65)),o=n(r(1233)),s=n(r(200)),d=n(r(32)),u=n(r(36)),c=r(406),f=r(1193),p=r(161),h=r(556),m=r(1208),v=r(3891),g=n(r(1284)),_=n(r(119)),b=r(341);class y extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"validateDomain",((e,a)=>{if(void 0===a||""===a)return l.default.resolve();var r=a.split(","),i=(0,o.default)(r).call(r,(e=>e.length<=100&&(0,h.isDomain)(e)));return r.length>30||!i?l.default.reject(t("Please enter a correct domain, format is refer to the left tip!")):l.default.resolve()})),(0,u.default)(this,"validateCertificateContent",((e,a)=>{if(!a)return l.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN CERTIFICATE-----"===i&&"-----END CERTIFICATE-----"===n?l.default.resolve():l.default.reject(t("Please enter a correct certificate content, format is refer to the left tip!"))})),(0,u.default)(this,"validateCertificateKeyPair",((e,a)=>{if(!a)return l.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN RSA PRIVATE KEY-----"===i&&"-----END RSA PRIVATE KEY-----"===n?l.default.resolve():l.default.reject(t("Please enter a correct private key, format is refer to the left tip!"))})),(0,u.default)(this,"onSubmit",(e=>this.store.create(e)))}init(){this.store=g.default}get name(){return t("Create Certificate")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){return{mode:this.typeTab}}get typeTab(){var{location:{search:e=""}={}}=this.containerProps;return(0,b.parse)((0,s.default)(e).call(e,1)).tab||"SERVER"}get certificateModeOptions(){var e;return(0,d.default)(e=(0,p.getOptions)(m.certificateMode)).call(e,(e=>e.value===this.typeTab))}get formItems(){var{mode:e}=this.state;return[{name:"name",label:t("Certificate Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mode",label:t("Certificate Type"),type:"radio",options:this.certificateModeOptions},{name:"certificate",label:t("Certificate Content"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".crt,.pem",tip:v.certificateContentTip,validator:this.validateCertificateContent,required:!0,rows:6},{name:"private_key",label:t("Private Key"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".key,.pem",tip:v.certificateKeyPairTip,validator:this.validateCertificateKeyPair,required:!0,display:"SERVER"===e,rows:6},{name:"domain",label:t("Domain Name"),type:"textarea",placeholder:t("Please input"),maxLength:1024,hidden:"CA"===e,validator:this.validateDomain,tip:t("The domain name can only be composed of letters, numbers, dashes, in A dash cannot be at the beginning or end, and a single string cannot exceed more than 63 characters, separated by dots; At most can support 30 domain names, separated by commas;The length of a single domain name does not exceed 100 characters, and the total length degree does not exceed 1024 characters."),extra:t("If it is an SNI type certificate, a domain name needs to be specified")},{name:"expiration",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<=(0,_.default)().endOf("d")}]}}a.CreateAction=y,(0,u.default)(y,"id","create-certificate"),(0,u.default)(y,"title",t("Create Certificate")),(0,u.default)(y,"policy",["secrets:post","containers:post"]),(0,u.default)(y,"allowed",(()=>l.default.resolve(!0)));var A=(0,c.inject)("rootStore")((0,c.observer)(y));a.default=A},3891:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.certificateKeyPairTip=a.certificateContentTip=void 0;var l=n(r(0)),o=l.default.createElement("div",null,l.default.createElement("p",null,t('The certificate contains information such as the public key and signature of the certificate. The extension of the certificate is "pem" or "crt", you can directly enter certificate content or upload certificate file.')),l.default.createElement("p",null,t('The format of the certificate content is: by "----BEGIN CERTIFICATE-----" as the beginning,"-----END CERTIFICATE----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateContentTip=o;var s=l.default.createElement("div",null,l.default.createElement("p",null,t('The private key of the certificate, the extension of the private key is "key", you can directly enter the content of the private key file or upload a private key that conforms to the format document.')),l.default.createElement("p",null,t('The private key content format is: with "-----BEGIN RSA PRIVATE KEY-----" as the beginning,"-----END RSA PRIVATE KEY-----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateKeyPairTip=s},3892:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(1284));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["secret:delete","container:delete"]),(0,l.default)(this,"aliasPolicy",["barbican:secret:delete","barbican:container:delete"]),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3893:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(36)),o=r(1193),s=n(r(1285));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","secret:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3894:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(406),o=n(r(1200)),s=r(1284),d=r(1208),u=n(r(3895)),c=n(r(1409));class f extends o.default{init(){this.store=new s.ContainersStore}get policy(){return"container:get"}get aliasPolicy(){return"barbican:container:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"SERVER"})}get actionConfigs(){return c.default.actionConfigsContainer}get detailInfos(){return(0,d.getCertificateColumns)(this)}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:u.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3895:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(102)),o=n(r(0)),s=r(406),d=n(r(1202));class u extends d.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get rightCards(){return[this.keyPairCard]}get contentCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"certificate"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:r}}get keyPairCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"private_key"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Private Key"),labelCol:0,contentCol:24,options:r}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3896:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=n(r(32)),o=r(406),s=n(r(1200)),d=r(1285),u=r(1208),c=n(r(3897)),f=n(r(1409));class p extends s.default{init(){this.store=new d.SecretsStore}get policy(){return"secret:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"CA"})}get actionConfigs(){return f.default.actionConfigsSecret}get detailInfos(){var e;return(0,l.default)(e=(0,u.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex))}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:c.default}]}}a.Detail=p;var h=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=h},3897:function(e,a,r){"use strict";var i=r(19),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(0)),o=r(406),s=n(r(1202));class d extends s.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get contentCard(){var{payload:e}=this.props.detail,a=[{content:l.default.createElement("pre",null,e),copyable:{text:e}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:a}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u}}]);