1import{_ as U}from"./LayoutColumn.vue_vue_type_script_setup_true_lang-Bsd5oZGv.js";import{_ as N}from"./OhButton.vue-Dtzddm6W.js";import{_ as A}from"./OhHeader.vue-BxGtEsOa.js";import{_ as H}from"./OhTable.vue-RStjN2qr.js";import{_ as L}from"./EmptyState.vue_vue_type_script_setup_true_lang-DHgJe1r6.js";import{_ as j}from"./OhFlashMessage.vue_vue_type_script_setup_true_lang-DKY8S2bQ.js";import{_ as z}from"./Breadcrumb.vue_vue_type_script_setup_true_lang-BhnnmmvG.js";import{r as K,h as X,G as T,u as F,t as q,a as J}from"./app-Bjj0N14K.js";import{_ as Q}from"./OhDynamicModal.vue_vue_type_script_setup_true_lang-2VT5f-7-.js";import{d as b,a8 as S,P as s,H as y,O as c,X as t,a4 as n,A as r,M as W,K as v,S as u,j as g,F as M,a3 as Y,L as D,ac as Z,a9 as I}from"./vendor-i18n-d5NYPexO.js";import{_ as ee}from"./OhDropdown.vue-C6oQ1gUQ.js";import{_ as re}from"./GenericDeleteModal.vue_vue_type_script_setup_true_lang-U4eauT9v.js";import{u as te}from"./useRedirectModal-Dk-J0T8i.js";import{F as oe}from"./useInterfaceNav-HSbGvQp8.js";import{C as B}from"./mixpanelEvents-CYVQoDR2.js";import{_ as le}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./OhContainer.vue-Ctid55hm.js";import"./Primitive-coUWhel5.js";import"./navigation-D9FNzxdO.js";import"./GvIcon.vue-XUvgv9OL.js";import"./GvTile.vue-DWIdZqZK.js";import"./useZendeskWidget-ZFOaLvLk.js";import"./OhAlert.vue-85f9XDkY.js";import"./useLayout-hW4GckK7.js";import"./OhBadge.vue-DOaHTrjS.js";import"./useHomeRoute-D9gTh57A.js";import"./useInput-BJrhjAsY.js";import"./OhSelect.vue-c12QvHW4.js";import"./arrow_forward-CfQEAvCG.js";import"./logout-Bdbk-6q9.js";import"./useSubscription-DdEsf7x6.js";import"./HeaderUnauthenticatedBar-BEl93hiF.js";import"./arrow_back-DMu1enb4.js";import"./chevron_right-D3D6kgoA.js";import"./useArrowNavigation-D-pctMGk.js";import"./RovingFocusGroup-DODD3AG6.js";import"./array-BgkLc63u.js";import"./FormConfirm.vue_vue_type_script_setup_true_lang-E9E9LCd7.js";import"./OhCheckbox.vue-C5hkzwIZ.js";import"./OhSwitch.vue-CYlCkWI3.js";import"./useForwardScopeId-CxiLyaV5.js";import"./VisuallyHiddenInput-OYEm9lKq.js";import"./OhInput.vue-CF6t5WGy.js";import"./OhKbd.vue-GXacq41G.js";import"./index-Bzx-aT6s.js";import"./index-CsuKWVeY.js";const ne={class:"gv-flex-col"},ae=b({__name:"DefaultFirewallModal",emits:["cancel","restore"],setup(o,{emit:l}){const e=l,{t:i}=S();function d(){e("restore"),e("cancel")}function m(){e("cancel")}return(f,h)=>{const _=Q;return s(),y(_,W(f.$attrs,{name:"DefaultFirewallModal",title:r(i)("cloudserver.firewall.reset_firewall_modal.title"),"action-label":"cloudserver.firewall.reset_firewall_modal.actions.reset_rules","secondary-action-label":"generic.actions.cancel","action-variant":"primary","onUpdate:confirm":d,"onUpdate:cancel":m}),{default:c(()=>[t("div",ne,[t("p",null,n(r(i)("cloudserver.firewall.reset_firewall_modal.description")),1)])]),_:1},16,["title"])}}}),ie={scope:"col"},se={scope:"col"},ce={scope:"col"},ue={scope:"col"},de={scope:"col"},me=b({__name:"SecurityGroupRuleTableHead",setup(o){const{t:l}=S();return(e,i)=>(s(),v("thead",null,[t("tr",null,[t("th",ie,n(r(l)("cloudserver.firewall.overview.table.ip_version.label")),1),t("th",se,n(r(l)("cloudserver.firewall.overview.table.protocol.label")),1),t("th",ce,n(r(l)("cloudserver.firewall.overview.table.source")),1),t("th",ue,n(r(l)("cloudserver.firewall.overview.table.port.label")),1),t("th",de,n(r(l)("cloudserver.firewall.overview.table.comment")),1),i[0]||(i[0]=t("th",{scope:"col"},null,-1))])]))}}),pe=b({__name:"SecurityGroupTableRow",props:{cloudServer:{},rule:{}},emits:["toggleEditModal","toggleDeleteModal"],setup(o,{emit:l}){const e=o,i=l,{t:d}=S(),m=g(()=>e.rule.portRangeMin===e.rule.portRangeMax?e.rule.portRangeMin:`${e.rule.portRangeMin}-${e.rule.portRangeMax}`),f=g(()=>e.rule.protocolType?e.rule.protocolType.toUpperCase():"All"),h=g(()=>e.rule.remoteIpPrefix?e.rule.remoteIpPrefix:e.rule.etherType==="IPv4"?"0.0.0.0/0":"::/0");function _(){i("toggleDeleteModal",e.rule.id,e.rule.securityGroupId)}const $=g(()=>[{name:d("cloudserver.firewall.overview.table.actions.edit"),icon:"edit",onClick:()=>K.visit(route("servers.firewall.edit",{cloudServer:e.cloudServer.contract.id,ruleId:e.rule.id}))},{name:d("cloudserver.firewall.overview.table.actions.delete"),icon:"delete",onClick:()=>_()}]);return(x,k)=>{const a=ee;return s(),v("tr",null,[t("td",null,n(o.rule.etherType),1),t("td",null,n(r(f)),1),t("td",null,n(r(h)),1),t("td",null,n(r(m)),1),t("td",null,n(o.rule.comment),1),t("td",null,[u(a,{size:"md",items:r($)},null,8,["items"])])])}}}),ve={class:"gv-flex-col gv-mb-md"},fe={class:"gv-text-lg gv-font-bold gv-mb-sm"},_e={class:"gv-mb-sm"},we={key:0,class:"gv-display-contents"},ge=b({__name:"Show",props:{cloudServer:{},contract:{},rules:{},securityGroupId:{},isRedeploying:{type:Boolean}},setup(o){const l=o,{t:e}=S(),{getTenantSetting:i}=te(),d=i("url.general"),m=!!i("cloud-servers.one_com_tenant")&&d!==void 0;function f(){const{open:a,close:p}=T({component:ae,attrs:{onRestore(){k(B.FirewallRuleReset),F({}).post(route("servers.firewall.reset",{cloudServer:l.cloudServer.contract.id,securityGroupId:l.securityGroupId}))},onCancel(){p()}}});a()}function h(a){const{open:p,close:w}=T({component:re,attrs:{title:e("cloudserver.firewall.delete_modal.title"),actionVariant:"primary",description:e("cloudserver.firewall.delete_modal.description"),onConfirm(){k(B.FirewallRuleDeleted),_(a),w()},onCancel(){w()}}});p()}function _(a){F({}).delete(route("servers.firewall.delete",{cloudServer:l.cloudServer.contract.id,ruleId:a}))}const $=g(()=>
1m?{name:e("cloudserver.title"),href:`${d}/admin/vps.do`,external:!0}:{name:e("home.my_products.title"),href:route("my-products")}),x=[{name:l.cloudServer.name,href:route("servers.show",{cloudServer:l.cloudServer.contract})}];function k(a){const p={productType:oe.UnmanagedVps,contractId:l.cloudServer.contract.id};q(a,p,J().props)}return(a,p)=>{const w=z,C=N,G=A,O=j,P=L,V=H,E=U;return s(),v(M,null,[u(r(X),{title:r(e)("cloudserver.firewall.overview.title")},null,8,["title"]),u(E,{navigation:"cloudserver"},{header:c(()=>[u(G,{title:r(e)("cloudserver.firewall.overview.title"),subtitle:o.cloudServer.name,description:r(e)("cloudserver.firewall.overview.description")},Z({breadcrumb:c(()=>[u(w,{pages:x,root:r($),"only-back":r(m),"only-back-arrow":r(m)},null,8,["root","only-back","only-back-arrow"])]),_:2},[o.isRedeploying?void 0:{name:"buttons",fn:c(()=>[u(C,{variant:"primary",href:a.route("servers.firewall.create",{cloudServer:o.cloudServer.contract.id})},{default:c(()=>[I(n(r(e)("cloudserver.firewall.overview.actions.add_rule")),1)]),_:1},8,["href"]),u(C,{variant:"secondary",onClick:f},{default:c(()=>[I(n(r(e)("cloudserver.firewall.overview.actions.reset_rules")),1)]),_:1})]),key:"0"}]),1032,["title","subtitle","description"])]),default:c(()=>[t("main",null,[u(O),o.isRedeploying?D("",!0):(s(),v(M,{key:0},[t("div",ve,[t("div",fe,[t("span",null,n(r(e)("cloudserver.firewall.overview.table.title")),1)]),t("span",_e,n(r(e)("cloudserver.firewall.overview.table.description")),1)]),u(V,null,{thead:c(()=>[o.rules.data.length!==0?(s(),y(me,{key:0})):D("",!0)]),default:c(()=>[o.rules.data.length!==0?(s(),v("div",we,[(s(!0),v(M,null,Y(o.rules.data,R=>(s(),y(pe,{key:R.id,"cloud-server":o.cloudServer,rule:R,onToggleDeleteModal:h},null,8,["cloud-server","rule"]))),128))])):(s(),y(P,{key:1,class:"gv-ml-auto gv-mr-auto",title:r(e)("cloudserver.firewall.overview.table.empty.title"),description:r(e)("cloudserver.firewall.overview.table.empty.description"),"primary-btn-text":r(e)("cloudserver.firewall.overview.actions.add_rule"),"primary-btn-link":a.route("servers.firewall.create",{cloudServer:o.cloudServer.contract.id})},null,8,["title","description","primary-btn-text","primary-btn-link"]))]),_:1})],64))])]),_:1})],64)}}}),dr=le(ge,[["__scopeId","data-v-a08f0423"]]);export{dr as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.