@kong-ui-public/entities-upstreams-targets 3.11.0 → 3.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(Q,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","vue-router","@kong/icons","@kong-ui-public/i18n"],e):(Q=typeof globalThis<"u"?globalThis:Q||self,e(Q["kong-ui-entities-upstreams-targets"]={},Q.Vue,Q["kong-ui-public-entities-shared"],Q.VueRouter,Q.KongIcons,Q["kong-ui-public-i18n"]))})(this,function(Q,e,m,Ve,ae,we){"use strict";const Ye={upstreams:{list:{table_headers:{id:"ID",name:"Name",slots:"Slots",tags:"Tags"},empty_state:{title:"Configure a New Upstream",description:"Upstreams are used to load balance incoming requests."},empty_state_v2:{title:"Configure your first upstream",description:"Upstreams route traffic to multiple backend services, handling load balancing, health checks, and circuit breaking for reliability.",create_cta:"New upstream",group:"Upstreams created in gateways within this group will automatically appear here."},toolbar_actions:{new_upstream:"New upstream"}},title:"Upstreams",search:{placeholder:"Filter by exact name or ID"},actions:{create:"New upstream",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details"},delete:{title:"Delete an Upstream",description:"This action cannot be reversed so make sure to check upstream usage before deleting."},errors:{general:"Upstreams could not be retrieved",delete:"The upstream could not be deleted at this time.",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{errors:{name_required:"Name is required",should_be_integer:"Field should contain an integer",in_range:"Accepts an integer in the range of 10 - 65536"},general_info:{title:"General Information",help:"General information will help identify and manage this Upstream."},load_balancing:{title:"Load Balancing",help:"Active health checks actively probe targets for their health. Currently only support HTTP/HTTPS targets."},health_check:{title:"Health Checks & Circuit Breakers",help:"Active health checks actively probe targets for their health. Currently only support HTTP/HTTPS targets."},active_health_check:{title:"Active Health Checks",help:"Active health checks actively probe targets for their health. Currently only support HTTP/HTTPS targets."},passive_health_check:{title:"Passive Health Checks",help:"Passive health checks, also known as circuit breakers, are checks performed based on the requests being proxied by Kong (HTTP/HTTPS/TCP), with no additional traffic being generated."},buttons:{view_documentation:"View documentation"},algorithms:{round_robin_label:"Round Robin",least_connections_label:"Least Connections",consistent_hashing_label:"Consistent Hashing",latency_label:"Latency",sticky_sessions_label:"Sticky Sessions"},hash_labels:{none:"None",consumer:"Consumer",ip:"IP",header:"Header",cookie:"Cookie",path:"Path",query_argument:"Query Argument",uri_capture:"URI Capture"},hash_tooltips:{hash_on_header:{text:"The header name to take the value from as hash input. Only required when {hash_on} is set to {header}",hash_on:"hash_on",header:"header"},hash_on_uri_capture:{text:"The name of the route URI capture to take the value from as hash input. Only required when {hash_on} is set to {uri_capture}",hash_on:"hash_on",uri_capture:"uri_capture"},hash_on_query_arg:{text:"The name of the query string argument to take the value from as hash input. Only required when {hash_on} is set to {query_arg}",hash_on:"hash_on",query_arg:"query_arg"},hash_on_cookie:{text:"The cookie name to take the value from as hash input. Only required when {hash_on} or {hash_fallback} is set to {cookie}. If the specified cookie is not in the request, Kong will generate a value and set the cookie in the response.",hash_on:"hash_on",hash_fallback:"hash_fallback",cookie:"cookie"},hash_on_cookie_path:{text:"The cookie path to set in the response headers. Only required when {hash_on} or {hash_fallback} is set to {cookie}.",hash_on:"hash_on",hash_fallback:"hash_fallback",cookie:"cookie"},slots:{text:"The number of slots in the load balancer algorithm. If {algorithm} is set to {round_robin}, this setting determines the maximum number of slots. If {algorithm} is set to {consistent_hashing}, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range {min}-{max}",algorithm:"algorithm",round_robin:"round-robin",consistent_hashing:"consistent-hashing"},tags:"An optional set of strings associated with the Upstream for grouping and filtering.",hash_fallback:{text:"What to use as hashing input if the primary {hash_on} does not return a hash (eg. header is missing, or no Consumer identified). Not available if {hash_on} is set to {cookie}",hash_on:"hash_on",cookie:"cookie"},hash_fallback_header:{text:"The header name to take the value from as hash input. Only required when {hash_fallback} is set to {header}",hash_fallback:"hash_fallback",header:"header"},hash_fallback_query_arg:{text:"The name of the query string argument to take the value from as hash input. Only required when {hash_fallback} is set to {query_arg}",hash_fallback:"hash_fallback",query_arg:"query_arg"},hash_fallback_uri_capture:{text:"The name of the route URI capture to take the value from as hash input. Only required when {hash_fallback} is set to {uri_capture}",hash_fallback:"hash_fallback",uri_capture:"uri_capture"},host_header:{text:"The hostname to be used as {host} header when proxying requests through Kong.",host:"Host"},client_certificate:"If set, the certificate to be used as client certificate while TLS handshaking to the upstream server."},healthcheck_type_labels:{http:"HTTP",https:"HTTPS",tcp:"TCP",grsp:"gRPC",grsps:"gRPCs"},healthy:{label:"Healthy",help:"The counter thresholds to determine whether targets are healthy."},unhealthy:{label:"Unhealthy",help:"The counter thresholds to determine whether targets are unhealthy."},passive_healthy:{label:"Healthy",help:"The counter thresholds to determine whether targets are healthy."},passive_unhealthy:{label:"Unhealthy",help:"The counter thresholds to determine whether targets are unhealthy."},fields:{name:{label:"Name",placeholder:"Enter or select a host",tooltip:"This is a hostname, which must be equal to the {host} of a Service.",host:"host"},host_header:{label:"Host Header"},client_certificate:{label:"Client Certificate",placeholder:"Select or enter a Certificate ID",tooltip:"If set, the certificate to be used as client certificate while TLS handshaking to the upstream server."},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings associated with the Upstream for grouping and filtering."},algorithm:{label:"Algorithm",tooltip:"Which load balancing algorithm to use."},sticky_sessions_cookie:{label:"Sticky Sessions Cookie",tooltip:"The cookie name to keep sticky sessions."},sticky_sessions_cookie_path:{label:"Sticky Sessions Cookie Path",tooltip:"A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes)."},slots:{label:"Slots",help:"Accepts an integer in the range of 10 - 65536"},hash_on:{label:"Hash on",help:"What to use as hashing input.",tooltip:"What to use as hashing input. Using {result} results in a weighted-round-robin scheme with no hashing."},hash_fallback:{label:"Hash Fallback",help:"What to use as hashing input if the primary hash_on does not return a hash",tooltip:"What to use as hashing input if the primary {hash_on} does not return a hash (eg. header is missing, or no Consumer identified). Not available if {hash_on} is set to {cookie}.",hash_on:"hash_on",cookie:"cookie"},active_health_checks:{label:"Active Health Checks",help:"Actively probe the targets for their health."},passive_health_checks:{label:"Passive Health Checks / Circuit Breakers",help:"Checks performed based on the requests being proxied by Kong (HTTP/HTTPS/TCP), with no additional traffic being generated."},healthchecks_threshold:{label:"Healthchecks Threshold"},header:{label:"Header"},headers:{label:"Headers",tooltip_active:"Header values can be separated by commas (value1, value2, value3)."},cookie:{label:"Cookie"},cookie_path:{label:"Cookie Path"},query_argument:{label:"Query Argument"},uri_capture:{label:"URI Capture"},active_healthcheck_type:{label:"Active Health Check Type"},http_path:{label:"HTTP Path"},timeout:{label:"Timeout"},concurrency:{label:"Concurrency"},https_sni:{label:"HTTPS SNI"},verify_ssl:{label:"Verify the SSL certificate when performing active health checks using HTTPS"},interval:{label:"Interval",help:"A value of zero indicates that active probes for healthy targets are disabled."},successes:{label:"Successes"},http_statuses:{label:"HTTP Statuses"},http_failures:{label:"HTTP Failures"},tcp_failures:{label:"TCP Failures"},timeouts:{label:"Timeouts"},passive_health_check_type:{label:"Passive Health Check Type"}}},labels:{created_at:"Created at"}},targets:{list:{table_headers:{id:"ID",target_address:"Target Address",weight:"Weight",tags:"Tags",target_type:"Target Type"},empty_state:{title:"Configure a New Target",description:"A target is an IP address/hostname with a port that identifies an instance of a backend service."},toolbar_actions:{new_target:"New Target"}},title:"Targets",actions:{create:"New Target",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",mark_healthy:"Mark Healthy",mark_unhealthy:"Mark Unhealthy"},delete:{title:"Delete a Target",description:"This action cannot be reversed so make sure to check target usage before deleting."},errors:{general:"Targets could not be retrieved",delete:"The target could not be deleted at this time.",copy:"Failed to copy to clipboard",weight:"Value must be in range 0 to 65535"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{create:{title:"New Target"},edit:{title:"Edit Target"},buttons:{save:"Save",cancel:"Cancel"},fields:{target:{label:"Target Address",placeholder:"Enter IP/hostname and port",tooltip:"The target address (IP or hostname) and port. If omitted the port defaults to 8000."},weight:{label:"Weight",tooltip:"The weight of this target in relation to other targets in the upstream. Value must be in range 0 to 65535, defaults to 100."},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},failover:{label:"Failover Target",load_balance_target:"Load balance",failover_target:"Failover",help:"Whether to use this target only as backup.",unsupported:"The current load balance algorithm does not support failover."}}}}};function et(){const a=we.createI18n("en-us",Ye);return{i18n:a,i18nT:we.i18nTComponent(a)}}function ne(a){const{replaceId:O=!1}=a,o=e.ref([]);return{addedItems:o,trackNewItems:(i,y)=>{if(y){const f={...i};O&&(f.value=i.label),o.value.push(f)}else o.value=o.value.filter(f=>f.value!==i.value)}}}const he=[{label:"100",value:"100"},{label:"101",value:"101"},{label:"102",value:"102"},{label:"103",value:"103"},{label:"200",value:"200"},{label:"201",value:"201"},{label:"202",value:"202"},{label:"203",value:"203"},{label:"204",value:"204"},{label:"205",value:"205"},{label:"206",value:"206"},{label:"207",value:"207"},{label:"208",value:"208"},{label:"226",value:"226"},{label:"300",value:"300"},{label:"301",value:"301"},{label:"302",value:"302"},{label:"303",value:"303"},{label:"304",value:"304"},{label:"305",value:"305"},{label:"306",value:"306"},{label:"307",value:"307"},{label:"308",value:"308"},{label:"400",value:"400"},{label:"401",value:"401"},{label:"402",value:"402"},{label:"403",value:"403"},{label:"404",value:"404"},{label:"405",value:"405"},{label:"406",value:"406"},{label:"407",value:"407"},{label:"408",value:"408"},{label:"409",value:"409"},{label:"410",value:"410"},{label:"411",value:"411"},{label:"412",value:"412"},{label:"413",value:"413"},{label:"414",value:"414"},{label:"415",value:"415"},{label:"416",value:"416"},{label:"417",value:"417"},{label:"418",value:"418"},{label:"419",value:"419"},{label:"420",value:"420"},{label:"421",value:"421"},{label:"422",value:"422"},{label:"423",value:"423"},{label:"424",value:"424"},{label:"425",value:"425"},{label:"426",value:"426"},{label:"428",value:"428"},{label:"429",value:"429"},{label:"430",value:"430"},{label:"431",value:"431"},{label:"440",value:"440"},{label:"444",value:"444"},{label:"449",value:"449"},{label:"450",value:"450"},{label:"451",value:"451"},{label:"460",value:"460"},{label:"463",value:"463"},{label:"494",value:"494"},{label:"495",value:"495"},{label:"496",value:"496"},{label:"497",value:"497"},{label:"498",value:"498"},{label:"499",value:"499"},{label:"500",value:"500"},{label:"501",value:"501"},{label:"502",value:"502"},{label:"503",value:"503"},{label:"504",value:"504"},{label:"505",value:"505"},{label:"506",value:"506"},{label:"507",value:"507"},{label:"508",value:"508"},{label:"509",value:"509"},{label:"510",value:"510"},{label:"511",value:"511"},{label:"520",value:"520"},{label:"521",value:"521"},{label:"522",value:"522"},{label:"523",value:"523"},{label:"524",value:"524"},{label:"525",value:"525"},{label:"526",value:"526"},{label:"527",value:"527"},{label:"529",value:"529"},{label:"530",value:"530"},{label:"561",value:"561"},{label:"598",value:"598"},{label:"599",value:"599"}],Ce=10,_e=65536,tt=0,at=65535,le=0,se=255,Ne=0,xe=255,lt=0,st=65535,He=0,Te=65535,ot=0,rt=2**31,ce=["200","302"],de=["200","201","202","203","204","205","206","207","208","226","300","301","302","303","304","305","306","307","308"],ue=["429","404","500","501","502","503","504","505"],fe=["429","500","503"],it=["latency","least-connections","round-robin"];function pe(){const a=s=>/^\d+$/.test(s),O=(s,c,b)=>{if(a(s)){const u=Number(s);return u>=c&&u<=b}else return!1},o=s=>s.map(c=>Number(c)),l=s=>s.map(c=>c.toString()),i=s=>{var b,u,t,I,w,d,C,L,q,$,P,A,k,N,p,V,E,B,M,G,T,U,K,J,W,R,S,g,_,x,F,X,n,r,h,v,j,z,ee,te,be,Ie,qe,Fe,Ee,Be,Oe,De,$e,Pe,Ae,Me,Ke,Re,Le,je,Qe,We,ve,Je,ze,Ge,Xe,Ze;return{name:(s==null?void 0:s.name)||"",hostHeader:(s==null?void 0:s.host_header)||"",clientCertificate:((b=s==null?void 0:s.client_certificate)==null?void 0:b.id)||"",tags:((u=s==null?void 0:s.tags)==null?void 0:u.join(", "))||"",algorithm:(s==null?void 0:s.algorithm)||"round-robin",stickySessionsCookie:(s==null?void 0:s.sticky_sessions_cookie)||"",stickySessionsCookiePath:(s==null?void 0:s.sticky_sessions_cookie_path)||"/",slots:((t=s==null?void 0:s.slots)==null?void 0:t.toString())||"10000",hashOn:(s==null?void 0:s.hash_on)||"none",hashFallback:(s==null?void 0:s.hash_fallback)||"none",hashOnHeader:(s==null?void 0:s.hash_on_header)||"",hashOnCookie:(s==null?void 0:s.hash_on_cookie)||"",hashOnCookiePath:(s==null?void 0:s.hash_on_cookie_path)||"/",hashOnQueryArgument:(s==null?void 0:s.hash_on_query_arg)||"",hashOnUriCapture:(s==null?void 0:s.hash_on_uri_capture)||"",hashFallbackHeader:(s==null?void 0:s.hash_fallback_header)||"",hashFallbackQueryArgument:(s==null?void 0:s.hash_fallback_query_arg)||"",hashFallbackUriCapture:(s==null?void 0:s.hash_fallback_uri_capture)||"",activeHealthSwitch:s?((w=(I=s.healthchecks.active)==null?void 0:I.healthy)==null?void 0:w.interval)!==0||((C=(d=s.healthchecks.active)==null?void 0:d.unhealthy)==null?void 0:C.interval)!==0:!1,passiveHealthSwitch:s?((q=(L=s.healthchecks.passive)==null?void 0:L.healthy)==null?void 0:q.successes)!==0||((P=($=s.healthchecks.passive)==null?void 0:$.unhealthy)==null?void 0:P.timeouts)!==0||((k=(A=s.healthchecks.passive)==null?void 0:A.unhealthy)==null?void 0:k.tcp_failures)!==0||((p=(N=s.healthchecks.passive)==null?void 0:N.unhealthy)==null?void 0:p.http_failures)!==0:!1,healthchecksThreshold:((V=s==null?void 0:s.healthchecks.threshold)==null?void 0:V.toString())||"0",activeHealthCheck:{type:((E=s==null?void 0:s.healthchecks.active)==null?void 0:E.type)||"http",httpPath:((B=s==null?void 0:s.healthchecks.active)==null?void 0:B.http_path)||"/",timeout:((G=(M=s==null?void 0:s.healthchecks.active)==null?void 0:M.timeout)==null?void 0:G.toString())||"1",concurrency:((U=(T=s==null?void 0:s.healthchecks.active)==null?void 0:T.concurrency)==null?void 0:U.toString())||"10",httpsSni:((K=s==null?void 0:s.healthchecks.active)==null?void 0:K.https_sni)||"",verifySsl:((J=s==null?void 0:s.healthchecks.active)==null?void 0:J.https_verify_certificate)||!1,headers:(W=s==null?void 0:s.healthchecks.active)!=null&&W.headers&&Object.entries(s.healthchecks.active.headers).length>0?Object.entries(s.healthchecks.active.headers).map(([Gt,Se])=>({key:Gt,values:Se==null?void 0:Se.join(", ")})):[{key:"",values:""}],healthy:{interval:((g=(S=(R=s==null?void 0:s.healthchecks.active)==null?void 0:R.healthy)==null?void 0:S.interval)==null?void 0:g.toString())||"0",successes:((F=(x=(_=s==null?void 0:s.healthchecks.active)==null?void 0:_.healthy)==null?void 0:x.successes)==null?void 0:F.toString())||"5",httpStatuses:(n=(X=s==null?void 0:s.healthchecks.active)==null?void 0:X.healthy)!=null&&n.http_statuses?l(s.healthchecks.active.healthy.http_statuses):ce},unhealthy:{interval:((v=(h=(r=s==null?void 0:s.healthchecks.active)==null?void 0:r.unhealthy)==null?void 0:h.interval)==null?void 0:v.toString())||"0",httpFailures:((ee=(z=(j=s==null?void 0:s.healthchecks.active)==null?void 0:j.unhealthy)==null?void 0:z.http_failures)==null?void 0:ee.toString())||"5",tcpFailures:((Ie=(be=(te=s==null?void 0:s.healthchecks.active)==null?void 0:te.unhealthy)==null?void 0:be.tcp_failures)==null?void 0:Ie.toString())||"5",httpStatuses:(Fe=(qe=s==null?void 0:s.healthchecks.active)==null?void 0:qe.unhealthy)!=null&&Fe.http_statuses?l(s.healthchecks.active.unhealthy.http_statuses):ue,timeouts:((Oe=(Be=(Ee=s==null?void 0:s.healthchecks.active)==null?void 0:Ee.unhealthy)==null?void 0:Be.timeouts)==null?void 0:Oe.toString())||"0"}},passiveHealthCheck:{type:((De=s==null?void 0:s.healthchecks.passive)==null?void 0:De.type)||"http",healthy:{successes:((Ae=(Pe=($e=s==null?void 0:s.healthchecks.passive)==null?void 0:$e.healthy)==null?void 0:Pe.successes)==null?void 0:Ae.toString())||"5",httpStatuses:(Ke=(Me=s==null?void 0:s.healthchecks.passive)==null?void 0:Me.healthy)!=null&&Ke.http_statuses?l(s.healthchecks.passive.healthy.http_statuses):de},unhealthy:{timeouts:((je=(Le=(Re=s==null?void 0:s.healthchecks.passive)==null?void 0:Re.unhealthy)==null?void 0:Le.timeouts)==null?void 0:je.toString())||"0",httpFailures:((ve=(We=(Qe=s==null?void 0:s.healthchecks.passive)==null?void 0:Qe.unhealthy)==null?void 0:We.http_failures)==null?void 0:ve.toString())||"5",tcpFailures:((Ge=(ze=(Je=s==null?void 0:s.healthchecks.passive)==null?void 0:Je.unhealthy)==null?void 0:ze.tcp_failures)==null?void 0:Ge.toString())||"5",httpStatuses:(Ze=(Xe=s==null?void 0:s.healthchecks.passive)==null?void 0:Xe.unhealthy)!=null&&Ze.http_statuses?l(s.healthchecks.passive.unhealthy.http_statuses):fe}}}};return{isInteger:a,inRange:O,stringToNumberArray:o,numberToStringArray:l,upstreamsResponseToFields:s=>i(s),getDefaultUpstreamFields:()=>i(),objectsAreEqual:(s,c)=>{try{return JSON.stringify(s)===JSON.stringify(c)}catch{return!1}},cloneDeep:s=>JSON.parse(JSON.stringify(s))}}const Z={useI18n:et,useMultiselectCreation:ne,useHelpers:pe},oe="/v2/control-planes/{controlPlaneId}/core-entities",re="/{workspace}",ie={list:{konnect:`${oe}/upstreams`,kongManager:`${re}/upstreams`},form:{konnect:{getServices:`${oe}/services`,getCertificates:`${oe}/certificates`,validate:`${oe}/schemas/upstreams/validate`,create:`${oe}/upstreams`,edit:`${oe}/upstreams/{id}`},kongManager:{getServices:`${re}/services`,getCertificates:`${re}/certificates`,validate:`${re}/schemas/upstreams/validate`,create:`${re}/upstreams`,edit:`${re}/upstreams/{id}`}}},nt="#d60027",ht="#00abd2",ct="24px",dt={class:"kong-ui-entities-upstreams-list"},ut={class:"button-row"},ft={class:"empty-state-icon-gateway"},pt={class:"upstream-name"},mt=e.defineComponent({__name:"UpstreamsList",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||!a.createRoute||!a.getViewRoute||!a.getEditRoute||a.app==="kongManager"&&!a.isExactMatch&&!a.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(a,{emit:O}){var S;const o=O,l=a,{i18n:{t:i}}=Z.useI18n(),y=Ve.useRouter(),{axiosInstance:f}=m.useAxios((S=l.config)==null?void 0:S.axiosRequestConfig),{hasRecords:D,handleStateChange:H}=m.useTableState(()=>I.value),s=e.computed(()=>D.value&&l.config.app==="konnect"),c=e.computed(()=>l.config.app!=="kongManager"||!!l.config.disableSorting),b={name:{label:i("upstreams.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},slots:{label:i("upstreams.list.table_headers.slots"),searchable:!0,sortable:!0},tags:{label:i("upstreams.list.table_headers.tags"),sortable:!1}},u=b,t=e.computed(()=>{var _,x;let g=`${l.config.apiBaseUrl}${ie.list[l.config.app]}`;return l.config.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,((_=l.config)==null?void 0:_.controlPlaneId)||""):l.config.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,(x=l.config)!=null&&x.workspace?`/${l.config.workspace}`:"")),g}),I=e.ref(""),w=e.computed(()=>{const g=l.config.app==="konnect"||l.config.isExactMatch;if(g)return{isExactMatch:g,placeholder:i("upstreams.search.placeholder")};const{name:_,slots:x}=b;return{isExactMatch:g,fields:{name:_,slots:x},schema:l.config.filterSchema}}),{fetcher:d,fetcherState:C,fetcherCacheKey:L}=m.useFetcher(e.computed(()=>({...l.config,cacheIdentifier:l.cacheIdentifier})),t),q=()=>{I.value=""},$=()=>{L.value++},P=e.ref(null),A=async(g,_)=>{const x=g.id;if(!await _(x)){o("copy:error",{entity:g,field:"id",message:i("upstreams.errors.copy")});return}o("copy:success",{entity:g,field:"id",message:i("upstreams.copy.success",{val:x})})},k=async(g,_)=>{const x=JSON.stringify(g);if(!await _(x)){o("copy:error",{entity:g,message:i("upstreams.errors.copy")});return}o("copy:success",{entity:g,message:i("upstreams.copy.success_brief")})},N=async g=>{var x;await((x=l.canRetrieve)==null?void 0:x.call(l,g))&&y.push(l.config.getViewRoute(g.id))},p=g=>({label:i("upstreams.actions.view"),to:l.config.getViewRoute(g)}),V=g=>({label:i("upstreams.actions.edit"),to:l.config.getEditRoute(g)}),E=e.ref(void 0),B=e.ref(!1),M=e.ref(!1),G=e.ref(""),T=m.useDeleteUrlBuilder(l.config,t.value),U=g=>{E.value=g,B.value=!0},K=()=>{B.value=!1},J=async()=>{var g,_,x;if((g=E.value)!=null&&g.id){M.value=!0;try{await f.delete(T(E.value.id)),M.value=!1,B.value=!1,L.value++,o("delete:success",E.value)}catch(F){G.value=((x=(_=F.response)==null?void 0:_.data)==null?void 0:x.message)||F.message||i("upstreams.errors.delete"),o("error",F)}finally{M.value=!1}}},W=()=>{y.push(l.config.createRoute)};e.watch(C,g=>{var _,x,F;if(g.status===m.FetcherStatus.Error){P.value={title:i("upstreams.errors.general")},(F=(x=(_=g.error)==null?void 0:_.response)==null?void 0:x.data)!=null&&F.message&&(P.value.message=g.error.response.data.message),o("error",g.error);return}P.value=null});const R=e.ref({ctaPath:l.config.createRoute,ctaText:void 0,message:`${i("upstreams.list.empty_state.description")}${l.config.additionMessageForEmptyState?` ${l.config.additionMessageForEmptyState}`:""}`,title:i("upstreams.title")});return e.onBeforeMount(async()=>{await l.canCreate()&&(R.value.title=i("upstreams.list.empty_state.title"),R.value.ctaText=i("upstreams.actions.create"))}),(g,_)=>{const x=e.resolveComponent("KButton"),F=e.resolveComponent("KDropdownItem"),X=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",dt,[e.createVNode(e.unref(m.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"disable-sorting":c.value,"empty-state-options":R.value,"enable-entity-actions":"","error-message":P.value,fetcher:e.unref(d),"fetcher-cache-key":e.unref(L),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-upstreams-list",query:I.value,"table-headers":e.unref(u),onClearSearchInput:q,"onClick:row":_[3]||(_[3]=n=>N(n)),onSort:$,onState:e.unref(H)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(m.EntityFilter),{modelValue:I.value,"onUpdate:modelValue":_[0]||(_[0]=n=>I.value=n),config:w.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!a.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",ut,[s.value?(e.openBlock(),e.createBlock(x,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"upstream-learn-more-button",icon:"",onClick:_[1]||(_[1]=n=>g.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ae.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canCreate()},{default:e.withCtx(()=>[e.createVNode(x,{appearance:"primary","data-testid":"toolbar-add-upstream",size:a.useActionOutside?"medium":"large",to:a.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(ae.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("upstreams.list.toolbar_actions.new_upstream")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:n})=>[e.createElementVNode("span",pt,e.toDisplayString(n),1)]),tags:e.withCtx(({rowValue:n})=>[e.createVNode(e.unref(m.TableTags),{"tag-max-width":"auto",tags:n},null,8,["tags"])]),actions:e.withCtx(({row:n})=>[e.createVNode(X,null,{default:e.withCtx(({copyToClipboard:r})=>[e.createVNode(F,{"data-testid":"action-entity-copy-id",onClick:h=>A(n,r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("upstreams.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(X,null,{default:e.withCtx(({copyToClipboard:r})=>[e.createVNode(F,{"data-testid":"action-entity-copy-json",onClick:h=>k(n,r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("upstreams.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canRetrieve(n)},{default:e.withCtx(()=>[e.createVNode(F,{"data-testid":"action-entity-view","has-divider":"",item:p(n.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canEdit(n)},{default:e.withCtx(()=>[e.createVNode(F,{"data-testid":"action-entity-edit",item:V(n.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canDelete(n)},{default:e.withCtx(()=>[e.createVNode(F,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:r=>U(n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("upstreams.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!I.value&&a.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var n;return[e.createVNode(e.unref(m.EntityEmptyState),{"action-button-text":e.unref(i)("upstreams.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>a.canCreate(),"data-testid":"upstreams-entity-empty-state",description:e.unref(i)("upstreams.list.empty_state_v2.description"),"learn-more":a.config.app==="konnect",title:e.unref(i)("upstreams.list.empty_state_v2.title"),"onClick:create":W,"onClick:learnMore":_[2]||(_[2]=r=>g.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",ft,[e.createVNode(e.unref(ae.CloudUploadIcon),{color:e.unref(ht),size:e.unref(ct)},null,8,["color","size"])])]),_:2},[(n=a.config)!=null&&n.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("upstreams.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(m.EntityDeleteModal),{"action-pending":M.value,description:e.unref(i)("upstreams.delete.description"),"entity-name":E.value&&(E.value.name||E.value.id),"entity-type":e.unref(m.EntityTypes).Upstream,error:G.value,title:e.unref(i)("upstreams.delete.title"),visible:B.value,onCancel:K,onProceed:J},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),Y=(a,O)=>{const o=a.__vccOpts||a;for(const[l,i]of O)o[l]=i;return o},yt=Y(mt,[["__scopeId","data-v-4c6ace20"]]),me="/v2/control-planes/{controlPlaneId}/core-entities",ye="/{workspace}",ge={list:{konnect:`${me}/upstreams/{upstreamId}/targets`,kongManager:`${ye}/upstreams/{upstreamId}/targets`},form:{konnect:{create:`${me}/upstreams/{upstreamId}/targets`,edit:`${me}/upstreams/{upstreamId}/targets/{id}`,validate:`${me}/v1/schemas/json/target/validate`},kongManager:{create:`${ye}/upstreams/{upstreamId}/targets`,edit:`${ye}/upstreams/{upstreamId}/targets/{id}`,validate:`${ye}/schemas/targets/validate`}}},gt={class:"kong-ui-entities-target-form"},kt={class:"target-form-container"},bt={key:0,class:"target-form-info"},Ct={key:1,class:"failover-target"},Ue=Y(e.defineComponent({__name:"TargetForm",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||a.app==="konnect"&&!a.controlPlaneId||a.app==="kongManager"&&typeof a.workspace!="string"||!a.upstreamId)},isVisible:{type:Boolean,required:!0,default:!1},targetId:{type:String,required:!1,default:""},failoverEnabled:{type:Boolean,required:!1,default:!1},failoverUnsupported:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading","cancel"],setup(a,{emit:O}){var A;const o=O,l=a,{i18n:{t:i}}=Z.useI18n(),{getMessageFromError:y}=m.useErrors(),{axiosInstance:f}=m.useAxios((A=l.config)==null?void 0:A.axiosRequestConfig),D=e.computed(()=>{var k;return ge.form[l.config.app].edit.replace(/{upstreamId}/gi,((k=l.config)==null?void 0:k.upstreamId)||"")}),H=e.computed(()=>l.targetId?m.EntityBaseFormType.Edit:m.EntityBaseFormType.Create),s=e.computed(()=>H.value===m.EntityBaseFormType.Edit?i("targets.form.edit.title"):i("targets.form.create.title")),c=e.reactive({fields:{target:"",weight:100,tags:""},isReadonly:!1,errorMessage:""}),b=e.ref(!1),u=e.reactive({target:"",weight:100,tags:""}),t={target:"",weight:100,tags:""},I=e.computed(()=>{const k=parseInt(c.fields.weight.toString(),10);return k<0||k>65535}),w=e.computed(()=>JSON.stringify(c.fields)!==JSON.stringify(u)&&!!c.fields.target&&!!c.fields.weight&&!I.value),d=k=>{var N;c.fields.target=(k==null?void 0:k.target)||"",c.fields.weight=(k==null?void 0:k.weight)??"",c.fields.tags=((N=k==null?void 0:k.tags)==null?void 0:N.join(", "))||"",Object.assign(u,c.fields)},C=()=>{c.errorMessage="",o("cancel")},L=e.computed(()=>{var N,p;let k=`${l.config.apiBaseUrl}${ge.form[l.config.app].validate}`;return l.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((N=l.config)==null?void 0:N.controlPlaneId)||""):l.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(p=l.config)!=null&&p.workspace?`/${l.config.workspace}`:"")),k=k.replace(/{id}/gi,l.targetId),k}),q=e.computed(()=>{var N,p,V,E;let k=`${l.config.apiBaseUrl}${ge.form[l.config.app][H.value]}`;return l.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((N=l.config)==null?void 0:N.controlPlaneId)||"").replace(/{upstreamId}/gi,((p=l.config)==null?void 0:p.upstreamId)||""):l.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(V=l.config)!=null&&V.workspace?`/${l.config.workspace}`:"").replace(/{upstreamId}/gi,((E=l.config)==null?void 0:E.upstreamId)||"")),k=k.replace(/{id}/gi,l.targetId),k}),$=e.computed(()=>{var k,N,p;return{target:c.fields.target,weight:parseInt(c.fields.weight),tags:(p=(N=(k=c.fields.tags)==null?void 0:k.split(","))==null?void 0:N.map(V=>String(V||"").trim()))==null?void 0:p.filter(V=>V!==""),upstream:{id:l.config.upstreamId},...l.failoverEnabled?{failover:b.value}:{}}}),P=async()=>{var k,N;try{c.isReadonly=!0,c.errorMessage="";let p;if(await f.post(L.value,$.value),H.value==="create"?p=await f.post(q.value,$.value):H.value==="edit"&&(p=((k=l.config)==null?void 0:k.app)==="konnect"?await f.put(q.value,$.value):await f.patch(q.value,$.value)),p){const{data:V}=p;c.fields.target=(V==null?void 0:V.name)||"",c.fields.weight=(V==null?void 0:V.weight)??100,c.fields.tags=((N=V==null?void 0:V.tags)==null?void 0:N.join(", "))||"",o("update",V),Object.assign(c.fields,t)}}catch(p){c.errorMessage=y(p),o("error",p)}finally{c.isReadonly=!1}};return e.watch(()=>l.targetId,()=>{Object.assign(c.fields,t)}),(k,N)=>{const p=e.resolveComponent("KInput"),V=e.resolveComponent("KCheckbox"),E=e.resolveComponent("KPrompt");return e.openBlock(),e.createBlock(E,{"action-button-disabled":!w.value||c.isReadonly,"action-button-text":e.unref(i)("targets.form.buttons.save"),"cancel-button-text":e.unref(i)("targets.form.buttons.cancel"),title:s.value,visible:a.isVisible,onCancel:C,onProceed:P},{default:e.withCtx(()=>[e.createElementVNode("div",gt,[e.createVNode(e.unref(m.EntityBaseForm),{config:a.config,"edit-id":a.targetId,"entity-type":e.unref(m.SupportedEntityType).Target,"error-message":c.errorMessage,"fetch-url":D.value,"form-fields":$.value,"is-readonly":c.isReadonly,onCancel:C,"onFetch:error":N[4]||(N[4]=B=>k.$emit("error",B)),"onFetch:success":d,onLoading:N[5]||(N[5]=B=>k.$emit("loading",B))},{default:e.withCtx(()=>[e.createElementVNode("div",kt,[k.$slots.info?(e.openBlock(),e.createElementBlock("div",bt,[e.renderSlot(k.$slots,"info",{},void 0,!0)])):e.createCommentVNode("",!0),e.createVNode(p,{modelValue:c.fields.target,"onUpdate:modelValue":N[0]||(N[0]=B=>c.fields.target=B),modelModifiers:{trim:!0},autocomplete:"off",class:"target-form-input","data-testid":"target-form-target",label:e.unref(i)("targets.form.fields.target.label"),"label-attributes":{info:e.unref(i)("targets.form.fields.target.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(i)("targets.form.fields.target.placeholder"),readonly:c.isReadonly,required:"",type:"text"},null,8,["modelValue","label","label-attributes","placeholder","readonly"]),e.createVNode(p,{modelValue:c.fields.weight,"onUpdate:modelValue":N[1]||(N[1]=B=>c.fields.weight=B),autocomplete:"off",class:"target-form-input","data-testid":"target-form-weight",error:I.value,"error-message":e.unref(i)("targets.errors.weight"),label:e.unref(i)("targets.form.fields.weight.label"),"label-attributes":{info:e.unref(i)("targets.form.fields.weight.tooltip"),tooltipAttributes:{maxWidth:"400"}},max:"65535",min:"0",readonly:c.isReadonly,required:"",type:"number"},null,8,["modelValue","error","error-message","label","label-attributes","readonly"]),a.failoverEnabled?(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(V,{modelValue:b.value,"onUpdate:modelValue":N[2]||(N[2]=B=>b.value=B),disabled:a.failoverUnsupported,label:e.unref(i)("targets.form.fields.failover.label"),"label-attributes":{info:a.failoverUnsupported?e.unref(i)("targets.form.fields.failover.unsupported"):e.unref(i)("targets.form.fields.failover.help")}},null,8,["modelValue","disabled","label","label-attributes"])])):e.createCommentVNode("",!0),e.createVNode(p,{modelValue:c.fields.tags,"onUpdate:modelValue":N[3]||(N[3]=B=>c.fields.tags=B),modelModifiers:{trim:!0},autocomplete:"off",class:"target-form-input","data-testid":"target-form-tags",help:e.unref(i)("targets.form.fields.tags.help"),label:e.unref(i)("targets.form.fields.tags.label"),placeholder:e.unref(i)("targets.form.fields.tags.placeholder"),readonly:c.isReadonly,type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])])]),_:3},8,["config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])]),_:3},8,["action-button-disabled","action-button-text","cancel-button-text","title","visible"])}}}),[["__scopeId","data-v-660b6d65"]]),_t={class:"kong-ui-entities-targets-list"},St={class:"target-address"},Vt=Y(e.defineComponent({__name:"TargetsList",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||!a.upstreamId||a.app==="kongManager"&&(typeof a.canMarkHealthy>"u"||typeof a.canMarkUnhealthy>"u"))},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},failoverEnabled:{type:Boolean,default:!1},algorithm:{type:String,required:!1,default:""}},emits:["error","copy:success","copy:error","delete:success","health-actions:healthy","health-actions:unhealthy","create:target","update:target"],setup(a,{emit:O}){var R;const o=O,l=a,{i18n:{t:i}}=Z.useI18n(),{axiosInstance:y}=m.useAxios((R=l.config)==null?void 0:R.axiosRequestConfig),f=e.computed(()=>l.config.app!=="kongManager"||!!l.config.disableSorting),H={target:{label:i("targets.list.table_headers.target_address"),sortable:!0,hidable:!1},weight:{label:i("targets.list.table_headers.weight"),sortable:!0},...l.failoverEnabled?{failover:{label:i("targets.list.table_headers.target_type"),sortable:!1}}:{},tags:{label:i("targets.list.table_headers.tags"),sortable:!1}},s=e.computed(()=>{var g,_,x,F;let S=`${l.config.apiBaseUrl}${ge.list[l.config.app]}`;return l.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,((g=l.config)==null?void 0:g.controlPlaneId)||"").replace(/{upstreamId}/gi,((_=l.config)==null?void 0:_.upstreamId)||""):l.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,(x=l.config)!=null&&x.workspace?`/${l.config.workspace}`:"").replace(/{upstreamId}/gi,((F=l.config)==null?void 0:F.upstreamId)||"")),S}),{fetcher:c,fetcherState:b,fetcherCacheKey:u}=m.useFetcher(e.computed(()=>({...l.config,cacheIdentifier:l.cacheIdentifier})),s),t=()=>{u.value++},I=e.ref(null),w=()=>{U.value=!0},d=async(S,g)=>{const _=S.id;if(!await g(_)){o("copy:error",{entity:S,field:"id",message:i("targets.errors.copy")});return}o("copy:success",{entity:S,field:"id",message:i("targets.copy.success",{val:_})})},C=async(S,g)=>{const _=JSON.stringify(S);if(!await g(_)){o("copy:error",{entity:S,message:i("targets.errors.copy")});return}o("copy:success",{entity:S,message:i("targets.copy.success_brief")})},L=S=>{T.value=S,U.value=!0},q=S=>l.config.app==="konnect"?!1:l.config.canMarkHealthy(S),$=S=>l.config.app==="konnect"?!1:l.config.canMarkUnhealthy(S),P=e.ref(void 0),A=e.ref(!1),k=e.ref(!1),N=e.ref(""),p=m.useDeleteUrlBuilder(l.config,s.value),V=S=>{P.value=S,A.value=!0},E=()=>{A.value=!1},B=async()=>{var S,g,_;if((S=P.value)!=null&&S.id){k.value=!0;try{await y.delete(p(P.value.id)),k.value=!1,A.value=!1,u.value++,o("delete:success",P.value)}catch(x){N.value=((_=(g=x.response)==null?void 0:g.data)==null?void 0:_.message)||x.message||i("targets.errors.delete"),o("error",x)}finally{k.value=!1}}};e.watch(b,S=>{var g,_,x;if(S.status===m.FetcherStatus.Error){I.value={title:i("targets.errors.general")},(x=(_=(g=S.error)==null?void 0:g.response)==null?void 0:_.data)!=null&&x.message&&(I.value.message=S.error.response.data.message),o("error",S.error);return}I.value=null});const M=e.ref({ctaText:void 0,message:`${i("targets.list.empty_state.description")}${l.config.additionMessageForEmptyState?` ${l.config.additionMessageForEmptyState}`:""}`,title:i("targets.title"),...l.config.createRoute&&{ctaPath:l.config.createRoute}});e.onBeforeMount(async()=>{await l.canCreate()&&(M.value.title=i("targets.list.empty_state.title"),M.value.ctaText=i("targets.actions.create"))});const G=e.computed(()=>({app:l.config.app,apiBaseUrl:l.config.apiBaseUrl,upstreamId:l.config.upstreamId,axiosRequestConfig:l.config.axiosRequestConfig,...l.config.app==="konnect"&&{controlPlaneId:l.config.controlPlaneId},...l.config.app==="kongManager"&&{workspace:l.config.workspace}})),T=e.ref(""),U=e.ref(!1),K=S=>{T.value?o("update:target",S):o("create:target",S),J()},J=()=>{W(),u.value++},W=()=>{U.value=!1,T.value=""};return(S,g)=>{const _=e.resolveComponent("KButton"),x=e.resolveComponent("KBadge"),F=e.resolveComponent("KDropdownItem"),X=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(e.unref(m.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"disable-sorting":f.value,"empty-state-options":M.value,"enable-entity-actions":"","error-message":I.value,fetcher:e.unref(c),"fetcher-cache-key":e.unref(u),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-targets-list","table-headers":e.unref(H),onEmptyStateCtaClicked:g[1]||(g[1]=()=>l.config.createRoute?void 0:w()),onSort:t},e.createSlots({"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!a.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canCreate()},{default:e.withCtx(()=>[e.createVNode(_,{appearance:"primary","data-testid":"toolbar-new-target",size:a.useActionOutside?"medium":"large",to:l.config.createRoute?l.config.createRoute:void 0,onClick:g[0]||(g[0]=()=>l.config.createRoute?void 0:w())},{default:e.withCtx(()=>[e.createVNode(e.unref(ae.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("targets.list.toolbar_actions.new_target")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])],8,["disabled"]))]),target:e.withCtx(({rowValue:n})=>[e.createElementVNode("span",St,e.toDisplayString(n),1)]),tags:e.withCtx(({rowValue:n})=>[e.createVNode(e.unref(m.TableTags),{"tag-max-width":"auto",tags:n},null,8,["tags"])]),actions:e.withCtx(({row:n})=>[e.createVNode(X,null,{default:e.withCtx(({copyToClipboard:r})=>[e.createVNode(F,{"data-testid":"action-entity-copy-id",onClick:h=>d(n,r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("targets.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(X,null,{default:e.withCtx(({copyToClipboard:r})=>[e.createVNode(F,{"data-testid":"action-entity-copy-json",onClick:h=>C(n,r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("targets.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canEdit(n)},{default:e.withCtx(()=>[e.createVNode(F,{"data-testid":"action-entity-edit","has-divider":"",onClick:r=>L(n.id)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("targets.actions.edit")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>q(n)},{default:e.withCtx(()=>[e.createVNode(F,{"data-testid":"action-target-mark-healthy",onClick:r=>o("health-actions:healthy",n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("targets.actions.mark_healthy")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>$(n)},{default:e.withCtx(()=>[e.createVNode(F,{"data-testid":"action-target-mark-unhealthy",onClick:r=>o("health-actions:unhealthy",n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("targets.actions.mark_unhealthy")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canDelete(n)},{default:e.withCtx(()=>[e.createVNode(F,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:r=>V(n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("targets.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[a.failoverEnabled?{name:"failover",fn:e.withCtx(({rowValue:n})=>[e.createVNode(x,{appearance:"info",class:"upstream-failover"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n?e.unref(i)("targets.form.fields.failover.failover_target"):e.unref(i)("targets.form.fields.failover.load_balance_target")),1)]),_:2},1024)]),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","table-headers"]),e.createVNode(e.unref(m.EntityDeleteModal),{"action-pending":k.value,description:e.unref(i)("targets.delete.description"),"entity-type":e.unref(m.EntityTypes).Target,error:N.value,"need-confirm":!1,title:e.unref(i)("targets.delete.title"),visible:A.value,onCancel:E,onProceed:B},null,8,["action-pending","description","entity-type","error","title","visible"]),e.createVNode(Ue,{config:G.value,"failover-enabled":a.failoverEnabled,"failover-unsupported":a.failoverEnabled&&!e.unref(it).includes(a.algorithm),"is-visible":U.value,"target-id":T.value,onCancel:W,onUpdate:K},e.createSlots({_:2},[S.$slots["form-info"]?{name:"info",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"form-info",{},void 0,!0)]),key:"0"}:void 0]),1032,["config","failover-enabled","failover-unsupported","is-visible","target-id"])])}}}),[["__scopeId","data-v-9fdfe77a"]]),wt={key:1},Nt=Y(e.defineComponent({__name:"UpstreamsFormGeneralInfo",props:{config:{type:Object,required:!0},name:{type:String,required:!0},hostHeader:{type:String,required:!0},clientCertificate:{type:String,required:!0},tags:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:name","update:host-header","update:client-certificate","update:tags"],setup(a,{emit:O}){var E,B,M,G;const{i18nT:o,i18n:{t:l}}=Z.useI18n(),i=a,y=O,{debouncedQueryChange:f,loading:D,loadItems:H,results:s,allRecords:c}=m.useDebouncedFilter(i.config,(B=ie.form[(E=i.config)==null?void 0:E.app])==null?void 0:B.getServices,"",{fetchedItemsKey:"data",searchKeys:["host"]}),{debouncedQueryChange:b,loading:u,loadItems:t,results:I}=m.useDebouncedFilter(i.config,(G=ie.form[(M=i.config)==null?void 0:M.app])==null?void 0:G.getCertificates),w=e.ref(""),d=e.computed(()=>{var T;return!!i.name&&!((T=c.value)!=null&&T.some(U=>U.host===i.name))}),C=e.computed(()=>{var U,K,J;const T=d.value&&i.name.includes((U=w.value)==null?void 0:U.toLowerCase());return(J=s.value)==null?void 0:J.map(W=>({label:W.host,value:W.id})).concat(T?[{label:i.name,value:((K=$.value)==null?void 0:K.value)||i.name}]:[])}),L=e.computed(()=>{var T;return(T=I.value)==null?void 0:T.map(U=>({label:U.id,value:U.id}))}),q=e.ref(""),$=e.ref({value:"",label:""}),P=e.computed(()=>{var T,U;return((T=C.value.find(K=>K.value===q.value))==null?void 0:T.label)||((U=$.value)==null?void 0:U.label)}),A=T=>{w.value=T,f(T)},k=T=>{$.value=T},N=()=>{$.value={value:"",label:""}},p=T=>{q.value=T,y("update:name",P.value)},V=e.ref(!1);return e.onBeforeMount(async()=>{var T,U;try{V.value=!0,await H(),i.name&&(q.value=((U=(T=C.value.find(K=>K.label===i.name))==null?void 0:T.value)==null?void 0:U.toString())||i.name),await t()}finally{V.value=!1}}),(T,U)=>{const K=e.resolveComponent("KSkeleton"),J=e.resolveComponent("KSelect"),W=e.resolveComponent("KInput");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-general-info",description:e.unref(l)("upstreams.form.general_info.help"),title:e.unref(l)("upstreams.form.general_info.title")},{default:e.withCtx(()=>[V.value?(e.openBlock(),e.createBlock(K,{key:0,type:"form"})):(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(J,{class:"name-select margin-bottom-6",clearable:"","data-testid":"upstreams-form-name","enable-filtering":"","enable-item-creation":"","filter-function":()=>!0,items:C.value,label:e.unref(l)("upstreams.form.fields.name.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},loading:e.unref(D),"model-value":q.value,placeholder:e.unref(l)("upstreams.form.fields.name.placeholder"),readonly:a.readonly,required:"",width:"100%",onItemAdded:k,onItemRemoved:N,onQueryChange:A,"onUpdate:modelValue":p},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(o),{keypath:"upstreams.form.fields.name.tooltip",scope:"global"},{host:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("upstreams.form.fields.name.host")),1)]),_:1})]),_:1},8,["items","label","loading","model-value","placeholder","readonly","onUpdate:modelValue"]),e.createVNode(W,{autocomplete:"off",class:"margin-bottom-6","data-testid":"upstreams-form-host-header",label:e.unref(l)("upstreams.form.fields.host_header.label"),"model-value":a.hostHeader,readonly:a.readonly,type:"text","onUpdate:modelValue":U[0]||(U[0]=R=>y("update:host-header",R))},null,8,["label","model-value","readonly"]),e.createVNode(J,{class:"certificate-select margin-bottom-6",clearable:"","data-testid":"upstreams-form-client-certificate","enable-filtering":"","filter-function":()=>!0,items:L.value,label:e.unref(l)("upstreams.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},loading:e.unref(u),"model-value":a.clientCertificate,placeholder:e.unref(l)("upstreams.form.fields.client_certificate.placeholder"),readonly:a.readonly,width:"100%",onQueryChange:e.unref(b),"onUpdate:modelValue":U[1]||(U[1]=R=>y("update:client-certificate",R))},null,8,["items","label","label-attributes","loading","model-value","placeholder","readonly","onQueryChange"]),e.createVNode(W,{autocomplete:"off","data-testid":"upstreams-form-tags",help:e.unref(l)("upstreams.form.fields.tags.help"),label:e.unref(l)("upstreams.form.fields.tags.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":a.tags,placeholder:e.unref(l)("upstreams.form.fields.tags.placeholder"),readonly:a.readonly,type:"text","onUpdate:modelValue":U[2]||(U[2]=R=>y("update:tags",R))},null,8,["help","label","label-attributes","model-value","placeholder","readonly"])]))]),_:1},8,["description","title"])}}}),[["__scopeId","data-v-1a71740c"]]),ke={upstreamObject:"https://developer.konghq.com/gateway/entities/upstream/",loadBalancing:"https://developer.konghq.com/gateway/traffic-control/load-balancing-reference/"},xt={class:"fields-group-title"},Ht={class:"fields-group-text"},Tt={class:"fields-group-title"},Ut={class:"fields-group-text"},It=Y(e.defineComponent({__name:"UpstreamsFormLoadBalancing",props:{stickySessionsAvailable:{type:Boolean,required:!1,default:!1},algorithm:{type:String,required:!0},stickySessionsCookie:{type:String,required:!0},stickySessionsCookiePath:{type:String,required:!0},slots:{type:String,required:!0},hashOn:{type:String,required:!0},hashFallback:{type:String,required:!0},hashOnHeader:{type:String,required:!0},hashOnCookie:{type:String,required:!0},hashOnCookiePath:{type:String,required:!0},hashOnQueryArgument:{type:String,required:!0},hashOnUriCapture:{type:String,required:!0},hashFallbackHeader:{type:String,required:!0},hashFallbackQueryArgument:{type:String,required:!0},hashFallbackUriCapture:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:algorithm","update:sticky-sessions-cookie","update:sticky-sessions-cookie-path","update:slots","update:hash-on","update:hash-fallback","update:hash-on-header","update:hash-on-cookie","update:hash-on-cookie-path","update:hash-on-query-argument","update:hash-on-uri-capture","update:hash-fallback-header","update:hash-fallback-query-argument","update:hash-fallback-uri-capture"],setup(a,{emit:O}){const{i18nT:o,i18n:{t:l}}=Z.useI18n(),{inRange:i}=pe(),y=a,f=O,D=e.ref([{label:l("upstreams.form.algorithms.round_robin_label"),value:"round-robin",selected:!1},{label:l("upstreams.form.algorithms.least_connections_label"),value:"least-connections",selected:!1},{label:l("upstreams.form.algorithms.consistent_hashing_label"),value:"consistent-hashing",selected:!1},{label:l("upstreams.form.algorithms.latency_label"),value:"latency",selected:!1},...y.stickySessionsAvailable?[{label:l("upstreams.form.algorithms.sticky_sessions_label"),value:"sticky-sessions",selected:!1}]:[]]),H=e.ref([{label:l("upstreams.form.hash_labels.none"),value:"none",selected:!1},{label:l("upstreams.form.hash_labels.consumer"),value:"consumer",selected:!1},{label:l("upstreams.form.hash_labels.ip"),value:"ip",selected:!1},{label:l("upstreams.form.hash_labels.header"),value:"header",selected:!1},{label:l("upstreams.form.hash_labels.cookie"),value:"cookie",selected:!1},{label:l("upstreams.form.hash_labels.path"),value:"path",selected:!1},{label:l("upstreams.form.hash_labels.query_argument"),value:"query_arg",selected:!1},{label:l("upstreams.form.hash_labels.uri_capture"),value:"uri_capture",selected:!1}]);e.watch(()=>y.hashOn,(b,u)=>{u==="header"&&b!==u&&f("update:hash-on-header",""),u==="cookie"&&b!==u&&(f("update:hash-on-cookie",""),f("update:hash-on-cookie-path","/")),u==="query_arg"&&b!==u&&f("update:hash-on-query-argument",""),u==="uri_capture"&&b!==u&&f("update:hash-on-uri-capture",""),(b==="cookie"||b==="none")&&(f("update:hash-fallback","none"),f("update:hash-fallback-header",""),f("update:hash-fallback-query-argument",""),f("update:hash-fallback-uri-capture",""))}),e.watch(()=>y.hashFallback,(b,u)=>{u==="header"&&b!==u&&f("update:hash-fallback-header",""),u==="cookie"&&b!==u&&(f("update:hash-on-cookie",""),f("update:hash-on-cookie-path","/")),u==="query_arg"&&b!==u&&f("update:hash-fallback-query-argument",""),u==="uri_capture"&&b!==u&&f("update:hash-fallback-uri-capture","")}),e.watch(()=>y.algorithm,b=>{b==="sticky-sessions"&&(f("update:slots","10000"),f("update:hash-on","none"),f("update:hash-fallback","none"),f("update:hash-on-header",""),f("update:hash-on-cookie",""),f("update:hash-on-cookie-path","/"),f("update:hash-on-query-argument",""),f("update:hash-on-uri-capture",""),f("update:hash-fallback-header",""),f("update:hash-fallback-query-argument",""),f("update:hash-fallback-uri-capture",""))},{immediate:!0});const s=e.computed(()=>y.hashOn==="cookie"||y.hashOn==="none"),c=e.computed(()=>y.slots?i(y.slots,Ce,_e)?"":l("upstreams.form.errors.in_range"):"");return(b,u)=>{const t=e.resolveComponent("KExternalLink"),I=e.resolveComponent("KSelect"),w=e.resolveComponent("KInput"),d=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-load-balancing",title:e.unref(l)("upstreams.form.load_balancing.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(l)("upstreams.form.load_balancing.help"))+" ",1),e.createVNode(t,{"hide-icon":"",href:e.unref(ke).upstreamObject},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(I,{class:"algorithm-select",items:D.value,label:e.unref(l)("upstreams.form.fields.algorithm.label"),"model-value":a.algorithm,readonly:a.readonly,width:"100%","onUpdate:modelValue":u[0]||(u[0]=C=>f("update:algorithm",C))},null,8,["items","label","model-value","readonly"]),a.algorithm==="sticky-sessions"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(w,{autocomplete:"off","data-testid":"upstreams-form-sticky-sessions-cookie",label:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":a.stickySessionsCookie,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[1]||(u[1]=C=>f("update:sticky-sessions-cookie",C))},null,8,["label","label-attributes","model-value","readonly"]),e.createVNode(w,{autocomplete:"off","data-testid":"upstreams-form-sticky-sessions-cookie-path",label:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie_path.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie_path.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":a.stickySessionsCookiePath,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[2]||(u[2]=C=>f("update:sticky-sessions-cookie-path",C))},null,8,["label","label-attributes","model-value","readonly"])],64)):e.createCommentVNode("",!0),a.algorithm!=="sticky-sessions"?(e.openBlock(),e.createBlock(w,{key:1,autocomplete:"off","data-testid":"upstreams-form-slots",error:!!c.value,"error-message":c.value,help:e.unref(l)("upstreams.form.fields.slots.help"),label:e.unref(l)("upstreams.form.fields.slots.label"),max:e.unref(_e),min:e.unref(Ce),"model-value":a.slots,readonly:a.readonly,type:"number","onUpdate:modelValue":u[3]||(u[3]=C=>f("update:slots",C))},null,8,["error","error-message","help","label","max","min","model-value","readonly"])):e.createCommentVNode("",!0),a.algorithm!=="sticky-sessions"?(e.openBlock(),e.createBlock(d,{key:2},{default:e.withCtx(()=>[e.createElementVNode("h5",xt,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_on.label")),1),e.createElementVNode("p",Ht,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_on.help")),1),e.createVNode(I,{class:"hash-on-select",items:H.value,label:e.unref(l)("upstreams.form.fields.hash_on.label"),"model-value":a.hashOn,readonly:a.readonly,width:"100%","onUpdate:modelValue":u[4]||(u[4]=C=>f("update:hash-on",C))},null,8,["items","label","model-value","readonly"]),a.hashOn==="header"?(e.openBlock(),e.createBlock(w,{key:0,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-header",label:e.unref(l)("upstreams.form.fields.header.label"),"model-value":a.hashOnHeader,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[5]||(u[5]=C=>f("update:hash-on-header",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashOn==="cookie"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie",label:e.unref(l)("upstreams.form.fields.cookie.label"),"model-value":a.hashOnCookie,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[6]||(u[6]=C=>f("update:hash-on-cookie",C))},null,8,["label","model-value","readonly"]),e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie-path",label:e.unref(l)("upstreams.form.fields.cookie_path.label"),"model-value":a.hashOnCookiePath,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[7]||(u[7]=C=>f("update:hash-on-cookie-path",C))},null,8,["label","model-value","readonly"])],64)):e.createCommentVNode("",!0),a.hashOn==="query_arg"?(e.openBlock(),e.createBlock(w,{key:2,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-query-argument",label:e.unref(l)("upstreams.form.fields.query_argument.label"),"model-value":a.hashOnQueryArgument,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[8]||(u[8]=C=>f("update:hash-on-query-argument",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashOn==="uri_capture"?(e.openBlock(),e.createBlock(w,{key:3,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-uri-capture",label:e.unref(l)("upstreams.form.fields.uri_capture.label"),"model-value":a.hashOnUriCapture,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[9]||(u[9]=C=>f("update:hash-on-uri-capture",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),a.algorithm!=="sticky-sessions"?(e.openBlock(),e.createBlock(d,{key:3},{default:e.withCtx(()=>[e.createElementVNode("h5",Tt,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.label")),1),e.createElementVNode("p",Ut,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.help")),1),e.createVNode(I,{class:"hash-fallback-select",disabled:s.value,items:H.value,label:e.unref(l)("upstreams.form.fields.hash_fallback.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},"model-value":a.hashFallback,readonly:a.readonly,width:"100%","onUpdate:modelValue":u[10]||(u[10]=C=>f("update:hash-fallback",C))},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(o),{keypath:"upstreams.form.fields.hash_fallback.tooltip",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.hash_on")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.cookie")),1)]),_:1})]),_:1},8,["disabled","items","label","model-value","readonly"]),a.hashFallback==="header"?(e.openBlock(),e.createBlock(w,{key:0,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-fallback-header",label:e.unref(l)("upstreams.form.fields.header.label"),"model-value":a.hashFallbackHeader,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[11]||(u[11]=C=>f("update:hash-fallback-header",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashFallback==="cookie"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie",label:e.unref(l)("upstreams.form.fields.cookie.label"),"model-value":a.hashOnCookie,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[12]||(u[12]=C=>f("update:hash-on-cookie",C))},null,8,["label","model-value","readonly"]),e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie-path",label:e.unref(l)("upstreams.form.fields.cookie_path.label"),"model-value":a.hashOnCookiePath,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[13]||(u[13]=C=>f("update:hash-on-cookie-path",C))},null,8,["label","model-value","readonly"])],64)):e.createCommentVNode("",!0),a.hashFallback==="query_arg"?(e.openBlock(),e.createBlock(w,{key:2,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-fallback-query-argument",label:e.unref(l)("upstreams.form.fields.query_argument.label"),"model-value":a.hashFallbackQueryArgument,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[14]||(u[14]=C=>f("update:hash-fallback-query-argument",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashFallback==="uri_capture"?(e.openBlock(),e.createBlock(w,{key:3,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-fallback-uri-capture",label:e.unref(l)("upstreams.form.fields.uri_capture.label"),"model-value":a.hashFallbackUriCapture,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[15]||(u[15]=C=>f("update:hash-fallback-uri-capture",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["title"])}}}),[["__scopeId","data-v-656aa4f4"]]),qt={class:"fields-group-title"},Ft={class:"fields-group-text"},Et={class:"fields-group-title"},Bt={class:"fields-group-text"},Ot=Y(e.defineComponent({__name:"UpstreamsFormHealthChecks",props:{activeHealthSwitch:{type:Boolean,required:!0},passiveHealthSwitch:{type:Boolean,required:!0},healthchecksThreshold:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:active-health-switch","update:passive-health-switch","update:healthchecks-threshold"],setup(a,{emit:O}){const{i18n:{t:o}}=Z.useI18n(),l=O;return(i,y)=>{const f=e.resolveComponent("KExternalLink"),D=e.resolveComponent("KInputSwitch"),H=e.resolveComponent("KCard"),s=e.resolveComponent("KInput");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-healthchecks",title:e.unref(o)("upstreams.form.health_check.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.health_check.help"))+" ",1),e.createVNode(f,{"hide-icon":"",href:e.unref(ke).loadBalancing},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(H,null,{default:e.withCtx(()=>[e.createElementVNode("h5",qt,e.toDisplayString(e.unref(o)("upstreams.form.fields.active_health_checks.label")),1),e.createElementVNode("p",Ft,e.toDisplayString(e.unref(o)("upstreams.form.fields.active_health_checks.help")),1),e.createVNode(D,{class:"active-health-switch","data-testid":"active-health-switch",disabled:a.readonly,"model-value":a.activeHealthSwitch,onChange:y[0]||(y[0]=c=>l("update:active-health-switch",c))},null,8,["disabled","model-value"])]),_:1}),e.createVNode(H,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Et,e.toDisplayString(e.unref(o)("upstreams.form.fields.passive_health_checks.label")),1),e.createElementVNode("p",Bt,e.toDisplayString(e.unref(o)("upstreams.form.fields.passive_health_checks.help")),1),e.createVNode(D,{class:"passive-health-switch","data-testid":"passive-health-switch",disabled:a.readonly,"model-value":a.passiveHealthSwitch,onChange:y[1]||(y[1]=c=>l("update:passive-health-switch",c))},null,8,["disabled","model-value"])]),_:1}),e.createVNode(s,{autocomplete:"off","data-testid":"upstreams-form-healthchecks-threshold",label:e.unref(o)("upstreams.form.fields.healthchecks_threshold.label"),max:e.unref(at),min:e.unref(tt),"model-value":a.healthchecksThreshold,readonly:a.readonly,type:"number","onUpdate:modelValue":y[2]||(y[2]=c=>l("update:healthchecks-threshold",c))},null,8,["label","max","min","model-value","readonly"])]),_:1},8,["title"])}}}),[["__scopeId","data-v-c2ff95ff"]]),Dt={class:"fields-group-title"},$t={class:"fields-group-text"},Pt={class:"fields-group-title"},At={class:"fields-group-text"},Mt=Y(e.defineComponent({__name:"UpstreamsFormActiveHealthCheck",props:{config:{type:Object,required:!0},type:{type:String,required:!0},httpPath:{type:String,required:!0},timeout:{type:String,required:!0},concurrency:{type:String,required:!0},httpsSni:{type:String,required:!0},verifySsl:{type:Boolean,required:!0},headers:{type:Array,required:!0},healthyInterval:{type:String,required:!0},healthySuccesses:{type:String,required:!0},healthyHttpStatuses:{type:Array,required:!0},unhealthyInterval:{type:String,required:!0},unhealthyHttpFailures:{type:String,required:!0},unhealthyTcpFailures:{type:String,required:!0},unhealthyHttpStatuses:{type:Array,required:!0},unhealthyTimeouts:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:type","update:http-path","update:timeout","update:concurrency","update:https-sni","update:verify-ssl","update:headers","update:healthy-interval","update:healthy-successes","update:healthy-http-statuses","update:unhealthy-interval","update:unhealthy-http-failures","update:unhealthy-tcp-failures","update:unhealthy-http-statuses","update:unhealthy-timeouts"],setup(a,{emit:O}){const{i18n:{t:o}}=Z.useI18n(),{objectsAreEqual:l}=pe(),i=a,y=O,f=e.ref([{label:o("upstreams.form.healthcheck_type_labels.http"),value:"http",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.https"),value:"https",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.tcp"),value:"tcp",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsp"),value:"grpc",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsps"),value:"grpcs",selected:!1}]),D=e.computed(()=>i.type==="https"||i.type==="grpcs"),H=e.computed(()=>i.type==="tcp"),{trackNewItems:s}=ne({replaceId:!0}),{trackNewItems:c}=ne({replaceId:!0});e.watch(()=>i.type,(w,d)=>{d==="tcp"&&w!==d&&y("update:unhealthy-tcp-failures","5"),(d==="https"||d==="grpcs")&&w!==d&&(y("update:https-sni",""),y("update:verify-ssl",!1)),d!=="tcp"&&w==="tcp"&&(y("update:http-path","/"),y("update:healthy-http-statuses",ce),y("update:unhealthy-http-statuses",ue))});const b=e.ref([{key:"",values:""}]);e.watch(()=>i.headers,w=>{l(b.value,w)||(b.value=[...w])},{immediate:!0,deep:!0});const u=()=>{y("update:headers",b.value)},t=()=>{b.value.push({key:"",values:""}),u()},I=w=>{w===0&&b.value.length===1?b.value[0]={key:"",values:""}:b.value.splice(w,1),u()};return(w,d)=>{const C=e.resolveComponent("KExternalLink"),L=e.resolveComponent("KSelect"),q=e.resolveComponent("KInput"),$=e.resolveComponent("KCheckbox"),P=e.resolveComponent("KLabel"),A=e.resolveComponent("KButton"),k=e.resolveComponent("KMultiselect"),N=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-active-healthcheck",title:e.unref(o)("upstreams.form.active_health_check.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.active_health_check.help"))+" ",1),e.createVNode(C,{"hide-icon":"",href:e.unref(ke).upstreamObject},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(L,{class:"active-healthcheck-type-select",items:f.value,label:e.unref(o)("upstreams.form.fields.active_healthcheck_type.label"),"model-value":a.type,readonly:a.readonly,width:"100%","onUpdate:modelValue":d[0]||(d[0]=p=>y("update:type",p))},null,8,["items","label","model-value","readonly"]),H.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(q,{key:0,autocomplete:"off","data-testid":"active-healthcheck-http-path",label:e.unref(o)("upstreams.form.fields.http_path.label"),"model-value":a.httpPath,readonly:a.readonly,type:"text","onUpdate:modelValue":d[1]||(d[1]=p=>y("update:http-path",p))},null,8,["label","model-value","readonly"])),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-timeout",label:e.unref(o)("upstreams.form.fields.timeout.label"),max:e.unref(st),min:e.unref(lt),"model-value":a.timeout,readonly:a.readonly,type:"number","onUpdate:modelValue":d[2]||(d[2]=p=>y("update:timeout",p))},null,8,["label","max","min","model-value","readonly"]),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-concurrency",label:e.unref(o)("upstreams.form.fields.concurrency.label"),max:e.unref(rt),min:e.unref(ot),"model-value":a.concurrency,readonly:a.readonly,type:"number","onUpdate:modelValue":d[3]||(d[3]=p=>y("update:concurrency",p))},null,8,["label","max","min","model-value","readonly"]),D.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-https-sni",label:e.unref(o)("upstreams.form.fields.https_sni.label"),"model-value":a.httpsSni,readonly:a.readonly,type:"text","onUpdate:modelValue":d[4]||(d[4]=p=>y("update:https-sni",p))},null,8,["label","model-value","readonly"]),e.createVNode($,{"data-testid":"active-healthcheck-verify-ssl",disabled:a.readonly,label:e.unref(o)("upstreams.form.fields.verify_ssl.label"),"model-value":a.verifySsl,"onUpdate:modelValue":d[5]||(d[5]=p=>y("update:verify-ssl",p))},null,8,["disabled","label","model-value"])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createVNode(P,{info:e.unref(o)("upstreams.form.fields.headers.tooltip_active"),"tooltip-attributes":{maxWidth:"250px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.fields.headers.label")),1)]),_:1},8,["info"]),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(p,V)=>(e.openBlock(),e.createElementBlock("div",{key:`${p.header}_${V}`,class:e.normalizeClass(["headers-row",{"margin-top-6":V>0}])},[e.createVNode(q,{modelValue:b.value[V].key,"onUpdate:modelValue":E=>b.value[V].key=E,autocomplete:"off","data-testid":`active-healthcheck-headers-header-${V+1}`,readonly:a.readonly,type:"text",onBlur:u},null,8,["modelValue","onUpdate:modelValue","data-testid","readonly"]),e.createVNode(q,{modelValue:b.value[V].values,"onUpdate:modelValue":E=>b.value[V].values=E,autocomplete:"off","data-testid":`active-healthcheck-headers-value-${V+1}`,readonly:a.readonly,type:"text",onBlur:u},null,8,["modelValue","onUpdate:modelValue","data-testid","readonly"]),e.createVNode(A,{appearance:"tertiary",class:"btn-remove","data-testid":"btn-remove-header",disabled:b.value.length===1,icon:"",onClick:E=>I(V)},{default:e.withCtx(()=>[e.createVNode(e.unref(ae.TrashIcon),{class:"delete-item",color:b.value.length>1?e.unref(nt):void 0},null,8,["color"])]),_:2},1032,["disabled","onClick"]),b.value&&V===b.value.length-1?(e.openBlock(),e.createBlock(A,{key:0,appearance:"tertiary",class:"btn-add-header","data-testid":"btn-add-header",icon:"",onClick:t},{default:e.withCtx(()=>[e.createVNode(e.unref(ae.AddIcon))]),_:1})):e.createCommentVNode("",!0)],2))),128))])]),e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Dt,e.toDisplayString(e.unref(o)("upstreams.form.healthy.label")),1),e.createElementVNode("p",$t,e.toDisplayString(e.unref(o)("upstreams.form.healthy.help")),1),e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-healthy-interval",help:e.unref(o)("upstreams.form.fields.interval.help"),label:e.unref(o)("upstreams.form.fields.interval.label"),max:e.unref(Te),min:e.unref(He),"model-value":a.healthyInterval,readonly:a.readonly,type:"number","onUpdate:modelValue":d[6]||(d[6]=p=>y("update:healthy-interval",p))},null,8,["help","label","max","min","model-value","readonly"]),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-healthy-successes",label:e.unref(o)("upstreams.form.fields.successes.label"),max:e.unref(se),min:e.unref(le),"model-value":a.healthySuccesses,readonly:a.readonly,type:"number","onUpdate:modelValue":d[7]||(d[7]=p=>y("update:healthy-successes",p))},null,8,["label","max","min","model-value","readonly"]),H.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:0,autocomplete:"off",class:"margin-top-6 active-healthcheck-healthy-http-statuses","data-testid":"active-healthcheck-healthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.healthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:d[8]||(d[8]=p=>e.unref(s)(p,!0)),onItemRemoved:d[9]||(d[9]=p=>e.unref(s)(p,!1)),"onUpdate:modelValue":d[10]||(d[10]=p=>y("update:healthy-http-statuses",p))},null,8,["items","label","model-value","readonly"]))]),_:1}),e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Pt,e.toDisplayString(e.unref(o)("upstreams.form.unhealthy.label")),1),e.createElementVNode("p",At,e.toDisplayString(e.unref(o)("upstreams.form.unhealthy.help")),1),e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-unhealthy-interval",help:e.unref(o)("upstreams.form.fields.interval.help"),label:e.unref(o)("upstreams.form.fields.interval.label"),max:e.unref(Te),min:e.unref(He),"model-value":a.unhealthyInterval,readonly:a.readonly,type:"number","onUpdate:modelValue":d[11]||(d[11]=p=>y("update:unhealthy-interval",p))},null,8,["help","label","max","min","model-value","readonly"]),e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-unhealthy-tcp-failures",label:e.unref(o)("upstreams.form.fields.tcp_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyTcpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":d[12]||(d[12]=p=>y("update:unhealthy-tcp-failures",p))},null,8,["label","max","min","model-value","readonly"]),H.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(q,{key:0,autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-unhealthy-http-failures",label:e.unref(o)("upstreams.form.fields.http_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyHttpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":d[13]||(d[13]=p=>y("update:unhealthy-http-failures",p))},null,8,["label","max","min","model-value","readonly"])),H.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:1,autocomplete:"off",class:"margin-bottom-6 active-healthcheck-unhealthy-http-statuses","data-testid":"active-healthcheck-unhealthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.unhealthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:d[14]||(d[14]=p=>e.unref(c)(p,!0)),onItemRemoved:d[15]||(d[15]=p=>e.unref(c)(p,!1)),"onUpdate:modelValue":d[16]||(d[16]=p=>y("update:unhealthy-http-statuses",p))},null,8,["items","label","model-value","readonly"])),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-unhealthy-timeouts",label:e.unref(o)("upstreams.form.fields.timeouts.label"),max:e.unref(xe),min:e.unref(Ne),"model-value":a.unhealthyTimeouts,readonly:a.readonly,type:"number","onUpdate:modelValue":d[17]||(d[17]=p=>y("update:unhealthy-timeouts",p))},null,8,["label","max","min","model-value","readonly"])]),_:1})]),_:1},8,["title"])}}}),[["__scopeId","data-v-cfc70316"]]),Kt={class:"fields-group-title"},Rt={class:"fields-group-text"},Lt={class:"fields-group-title"},jt={class:"fields-group-text"},Qt=Y(e.defineComponent({__name:"UpstreamsFormPassiveHealthCheck",props:{type:{type:String,required:!0},healthySuccesses:{type:String,required:!0},healthyHttpStatuses:{type:Array,required:!0},unhealthyTimeouts:{type:String,required:!0},unhealthyHttpFailures:{type:String,required:!0},unhealthyHttpStatuses:{type:Array,required:!0},unhealthyTcpFailures:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:type","update:healthy-successes","update:healthy-http-statuses","update:unhealthy-timeouts","update:unhealthy-http-failures","update:unhealthy-http-statuses","update:unhealthy-tcp-failures"],setup(a,{emit:O}){const{i18n:{t:o}}=Z.useI18n(),l=a,i=O,y=e.ref([{label:o("upstreams.form.healthcheck_type_labels.http"),value:"http",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.https"),value:"https",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.tcp"),value:"tcp",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsp"),value:"grpc",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsps"),value:"grpcs",selected:!1}]),f=e.computed(()=>l.type==="tcp"),{trackNewItems:D}=ne({replaceId:!0}),{trackNewItems:H}=ne({replaceId:!0});return e.watch(()=>l.type,(s,c)=>{c==="tcp"&&s!==c&&i("update:unhealthy-tcp-failures","5"),c!=="tcp"&&s==="tcp"&&(i("update:healthy-http-statuses",de),i("update:unhealthy-http-statuses",fe))}),(s,c)=>{const b=e.resolveComponent("KExternalLink"),u=e.resolveComponent("KSelect"),t=e.resolveComponent("KInput"),I=e.resolveComponent("KMultiselect"),w=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-passive-healthcheck",title:e.unref(o)("upstreams.form.passive_health_check.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.passive_health_check.help"))+" ",1),e.createVNode(b,{"hide-icon":"",href:e.unref(ke).upstreamObject},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(u,{class:"passive-healthcheck-type-select",items:y.value,label:e.unref(o)("upstreams.form.fields.passive_health_check_type.label"),"model-value":a.type,readonly:a.readonly,width:"100%","onUpdate:modelValue":c[0]||(c[0]=d=>i("update:type",d))},null,8,["items","label","model-value","readonly"]),e.createVNode(w,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Kt,e.toDisplayString(e.unref(o)("upstreams.form.passive_healthy.label")),1),e.createElementVNode("p",Rt,e.toDisplayString(e.unref(o)("upstreams.form.passive_healthy.help")),1),e.createVNode(t,{autocomplete:"off","data-testid":"passive-healthcheck-healthy-successes",label:e.unref(o)("upstreams.form.fields.successes.label"),max:e.unref(se),min:e.unref(le),"model-value":a.healthySuccesses,readonly:a.readonly,type:"number","onUpdate:modelValue":c[1]||(c[1]=d=>i("update:healthy-successes",d))},null,8,["label","max","min","model-value","readonly"]),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(I,{key:0,class:"margin-top-6 passive-healthcheck-healthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.healthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:c[2]||(c[2]=d=>e.unref(D)(d,!0)),onItemRemoved:c[3]||(c[3]=d=>e.unref(D)(d,!1)),"onUpdate:modelValue":c[4]||(c[4]=d=>i("update:healthy-http-statuses",d))},null,8,["items","label","model-value","readonly"]))]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Lt,e.toDisplayString(e.unref(o)("upstreams.form.passive_unhealthy.label")),1),e.createElementVNode("p",jt,e.toDisplayString(e.unref(o)("upstreams.form.passive_unhealthy.help")),1),e.createVNode(t,{autocomplete:"off","data-testid":"passive-healthcheck-unhealthy-timeouts",label:e.unref(o)("upstreams.form.fields.timeouts.label"),max:e.unref(xe),min:e.unref(Ne),"model-value":a.unhealthyTimeouts,readonly:a.readonly,type:"number","onUpdate:modelValue":c[5]||(c[5]=d=>i("update:unhealthy-timeouts",d))},null,8,["label","max","min","model-value","readonly"]),e.createVNode(t,{autocomplete:"off",class:"margin-top-6","data-testid":"passive-healthcheck-unhealthy-tcp-failures",label:e.unref(o)("upstreams.form.fields.tcp_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyTcpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":c[6]||(c[6]=d=>i("update:unhealthy-tcp-failures",d))},null,8,["label","max","min","model-value","readonly"]),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(t,{key:0,autocomplete:"off",class:"margin-top-6","data-testid":"passive-healthcheck-unhealthy-http-failures",label:e.unref(o)("upstreams.form.fields.http_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyHttpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":c[7]||(c[7]=d=>i("update:unhealthy-http-failures",d))},null,8,["label","max","min","model-value","readonly"])),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(I,{key:1,autocomplete:"off",class:"margin-top-6 passive-healthcheck-unhealthy-http-statuses","data-testid":"passive-healthcheck-unhealthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.unhealthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:c[8]||(c[8]=d=>e.unref(H)(d,!0)),onItemRemoved:c[9]||(c[9]=d=>e.unref(H)(d,!1)),"onUpdate:modelValue":c[10]||(c[10]=d=>i("update:unhealthy-http-statuses",d))},null,8,["items","label","model-value","readonly"]))]),_:1})]),_:1},8,["title"])}}}),[["__scopeId","data-v-7c20c5c5"]]),Wt={class:"kong-ui-entities-upstreams-form"},vt=Y(e.defineComponent({__name:"UpstreamsForm",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||(a==null?void 0:a.app)==="konnect"&&!(a!=null&&a.controlPlaneId)||(a==null?void 0:a.app)==="kongManager"&&typeof(a==null?void 0:a.workspace)!="string"||!(a!=null&&a.cancelRoute))},upstreamId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(a,{emit:O}){var X;const o=a,l=O,{inRange:i,stringToNumberArray:y,upstreamsResponseToFields:f,getDefaultUpstreamFields:D,objectsAreEqual:H,cloneDeep:s}=pe(),{axiosInstance:c}=m.useAxios((X=o.config)==null?void 0:X.axiosRequestConfig),{getMessageFromError:b}=m.useErrors(),u=Ve.useRouter(),t=e.reactive({fields:D(),readonly:!1,errorMessage:""}),I=e.reactive(D()),w=e.computed(()=>!H(t.fields,I)),d=n=>{t.fields.activeHealthCheck.healthy.interval=n?"5":"0",t.fields.activeHealthCheck.healthy.successes=n?"5":"0",t.fields.activeHealthCheck.healthy.httpStatuses=n?ce:[],t.fields.activeHealthCheck.unhealthy.httpStatuses=n?ue:[],t.fields.activeHealthCheck.unhealthy.httpFailures=n?"5":"0",t.fields.activeHealthCheck.unhealthy.interval=n?"5":"0",t.fields.activeHealthCheck.unhealthy.tcpFailures=n?"5":"0",t.fields.activeHealthCheck.unhealthy.timeouts=n?"5":"0",t.fields.activeHealthCheck.timeout=n?"1":"0",t.fields.activeHealthCheck.concurrency=n?"10":"0",t.fields.activeHealthCheck.httpPath=n?"/":"",t.fields.activeHealthCheck.httpsSni="",t.fields.activeHealthCheck.type="http"},C=n=>{t.fields.passiveHealthCheck.healthy.successes=n?"80":"0",t.fields.passiveHealthCheck.healthy.httpStatuses=n?de:[],t.fields.passiveHealthCheck.unhealthy.timeouts=n?"5":"0",t.fields.passiveHealthCheck.unhealthy.tcpFailures=n?"5":"0",t.fields.passiveHealthCheck.unhealthy.httpFailures=n?"5":"0",t.fields.passiveHealthCheck.unhealthy.httpStatuses=n?fe:[],t.fields.passiveHealthCheck.type="http"},L=e.computed(()=>t.fields.algorithm!=="sticky-sessions"?!0:!!t.fields.stickySessionsCookie&&!!t.fields.stickySessionsCookiePath),q=e.computed(()=>t.fields.slots?i(t.fields.slots,Ce,_e):!0),$=e.computed(()=>t.fields.hashOn==="header"?!!t.fields.hashOnHeader:!0),P=e.computed(()=>t.fields.hashOn==="cookie"||t.fields.hashFallback==="cookie"?!!t.fields.hashOnCookie:!0),A=e.computed(()=>t.fields.hashOn==="cookie"||t.fields.hashFallback==="cookie"?!!t.fields.hashOnCookiePath:!0),k=e.computed(()=>t.fields.hashOn==="query_arg"?!!t.fields.hashOnQueryArgument:!0),N=e.computed(()=>t.fields.hashOn==="uri_capture"?!!t.fields.hashOnUriCapture:!0),p=e.computed(()=>t.fields.hashFallback==="header"?!!t.fields.hashFallbackHeader:!0),V=e.computed(()=>t.fields.hashFallback==="query_arg"?!!t.fields.hashFallbackQueryArgument:!0),E=e.computed(()=>t.fields.hashFallback==="uri_capture"?!!t.fields.hashFallbackUriCapture:!0),B=e.computed(()=>!!t.fields.name&&L.value&&q.value&&$.value&&P.value&&A.value&&k.value&&N.value&&p.value&&V.value&&E.value),M=e.computed(()=>o.upstreamId?m.EntityBaseFormType.Edit:m.EntityBaseFormType.Create),G=e.computed(()=>{var n,r;return(r=ie.form[(n=o.config)==null?void 0:n.app])==null?void 0:r.edit}),T=n=>{Object.assign(t.fields,f(n)),Object.assign(I,s(t.fields))},U=()=>{var n;u.push(((n=o.config)==null?void 0:n.cancelRoute)||{name:"upstreams-list"})},K=n=>{l("loading",n)},J=n=>{l("error",n)},W=e.computed(()=>{const n=o.config.stickySessionsAvailable?{sticky_sessions_cookie:null,sticky_sessions_cookie_path:null}:{};return t.fields.algorithm==="sticky-sessions"&&(n.sticky_sessions_cookie=t.fields.stickySessionsCookie||null,n.sticky_sessions_cookie_path=t.fields.stickySessionsCookiePath||null),n}),R=e.computed(()=>{const n={};return t.fields.hashOn==="header"&&(n.hash_on_header=t.fields.hashOnHeader),(t.fields.hashOn==="cookie"||t.fields.hashFallback==="cookie")&&(n.hash_on_cookie=t.fields.hashOnCookie,n.hash_on_cookie_path=t.fields.hashOnCookiePath),t.fields.hashOn==="query_arg"&&(n.hash_on_query_arg=t.fields.hashOnQueryArgument),t.fields.hashOn==="uri_capture"&&(n.hash_on_uri_capture=t.fields.hashOnUriCapture),t.fields.hashFallback==="header"&&(n.hash_fallback_header=t.fields.hashFallbackHeader),t.fields.hashFallback==="query_arg"&&(n.hash_fallback_query_arg=t.fields.hashFallbackQueryArgument),t.fields.hashFallback==="uri_capture"&&(n.hash_fallback_uri_capture=t.fields.hashFallbackUriCapture),n}),S=e.computed(()=>{var r,h,v;if(!t.fields.activeHealthSwitch)return((r=o.config)==null?void 0:r.app)==="kongManager"&&M.value===m.EntityBaseFormType.Edit?{type:t.fields.activeHealthCheck.type,headers:{},healthy:{interval:0,successes:0},unhealthy:{interval:0,http_failures:0,tcp_failures:0,timeouts:0}}:void 0;const n={type:t.fields.activeHealthCheck.type,healthy:{interval:Number(t.fields.activeHealthCheck.healthy.interval||"0"),successes:Number(t.fields.activeHealthCheck.healthy.successes||"0")},unhealthy:{interval:Number(t.fields.activeHealthCheck.unhealthy.interval||"0"),timeouts:Number(t.fields.activeHealthCheck.unhealthy.timeouts||"0"),tcp_failures:Number(t.fields.activeHealthCheck.unhealthy.tcpFailures||"0")},timeout:Number(t.fields.activeHealthCheck.timeout||"1"),concurrency:Number(t.fields.activeHealthCheck.concurrency||"10")};if(t.fields.activeHealthCheck.type!=="tcp"){n.http_path=t.fields.activeHealthCheck.httpPath||"/",n.unhealthy.http_failures=Number(t.fields.activeHealthCheck.unhealthy.httpFailures||"5");const j=(h=t.fields.activeHealthCheck.unhealthy.httpStatuses)!=null&&h.length?t.fields.activeHealthCheck.unhealthy.httpStatuses:ue;n.unhealthy.http_statuses=y(j);const z=(v=t.fields.activeHealthCheck.healthy.httpStatuses)!=null&&v.length?t.fields.activeHealthCheck.healthy.httpStatuses:ce;n.healthy.http_statuses=y(z)}return["https","grpcs"].includes(t.fields.activeHealthCheck.type)&&(n.https_sni=t.fields.activeHealthCheck.httpsSni||null,n.https_verify_certificate=t.fields.activeHealthCheck.verifySsl),n.headers=t.fields.activeHealthCheck.headers.reduce((j,z)=>{var ee,te;return z.key?{...j,[z.key]:(te=(ee=z.values.split(","))==null?void 0:ee.map(be=>be.trim()))==null?void 0:te.filter(Boolean)}:j},{}),n}),g=e.computed(()=>{var r,h,v;if(!t.fields.passiveHealthSwitch)return((r=o.config)==null?void 0:r.app)==="kongManager"&&M.value===m.EntityBaseFormType.Edit?{type:t.fields.passiveHealthCheck.type,healthy:{successes:0},unhealthy:{timeouts:0,tcp_failures:0,http_failures:0}}:void 0;const n={type:t.fields.passiveHealthCheck.type,healthy:{successes:Number(t.fields.passiveHealthCheck.healthy.successes||"0")},unhealthy:{timeouts:Number(t.fields.passiveHealthCheck.unhealthy.timeouts||"0"),tcp_failures:Number(t.fields.passiveHealthCheck.unhealthy.tcpFailures||"5")}};if(t.fields.passiveHealthCheck.type!=="tcp"){n.unhealthy.http_failures=Number(t.fields.passiveHealthCheck.unhealthy.httpFailures||"5");const j=(h=t.fields.passiveHealthCheck.healthy.httpStatuses)!=null&&h.length?t.fields.passiveHealthCheck.healthy.httpStatuses:de;n.healthy.http_statuses=y(j);const z=(v=t.fields.passiveHealthCheck.unhealthy.httpStatuses)!=null&&v.length?t.fields.passiveHealthCheck.unhealthy.httpStatuses:fe;n.unhealthy.http_statuses=y(z)}return n}),_=e.computed(()=>{const n={name:t.fields.name,slots:Number(t.fields.slots),algorithm:t.fields.algorithm,hash_on:t.fields.hashOn,hash_fallback:t.fields.hashFallback,healthchecks:{threshold:Number(t.fields.healthchecksThreshold||"0")},host_header:t.fields.hostHeader||null,client_certificate:t.fields.clientCertificate?{id:t.fields.clientCertificate}:null},r=S.value,h=g.value,v={...n,...W.value,healthchecks:{...n.healthchecks,active:r||void 0,passive:h||void 0}};return v.tags=t.fields.tags?t.fields.tags.split(",").map(j=>String(j||"").trim()).filter(j=>j!==""):[],Object.assign(v,R.value),v}),x=n=>{var h,v,j,z,ee,te;let r=`${(h=o.config)==null?void 0:h.apiBaseUrl}${ie.form[(v=o.config)==null?void 0:v.app][n]}`;return((j=o.config)==null?void 0:j.app)==="konnect"?r=r.replace(/{controlPlaneId}/gi,((z=o.config)==null?void 0:z.controlPlaneId)||""):((ee=o.config)==null?void 0:ee.app)==="kongManager"&&(r=r.replace(/\/{workspace}/gi,(te=o.config)!=null&&te.workspace?`/${o.config.workspace}`:"")),r=r.replace(/{id}/gi,o.upstreamId),r},F=async()=>{var n;try{t.readonly=!0,await c.post(x("validate"),_.value);let r;M.value===m.EntityBaseFormType.Create?r=await c.post(x("create"),_.value):M.value===m.EntityBaseFormType.Edit&&(r=((n=o.config)==null?void 0:n.app)==="konnect"?await c.put(x("edit"),_.value):await c.patch(x("edit"),_.value)),l("update",r==null?void 0:r.data)}catch(r){t.errorMessage=b(r),l("error",r)}finally{t.readonly=!1}};return(n,r)=>(e.openBlock(),e.createElementBlock("div",Wt,[e.createVNode(e.unref(m.EntityBaseForm),{"can-submit":B.value&&w.value,config:a.config,"edit-id":a.upstreamId,"entity-type":e.unref(m.SupportedEntityType).Upstream,"error-message":t.errorMessage,"fetch-url":G.value,"form-fields":_.value,"is-readonly":t.readonly,onCancel:U,"onFetch:error":J,"onFetch:success":T,onLoading:K,onSubmit:F},{default:e.withCtx(()=>[e.createVNode(Nt,{"client-certificate":t.fields.clientCertificate,"onUpdate:clientCertificate":r[0]||(r[0]=h=>t.fields.clientCertificate=h),"host-header":t.fields.hostHeader,"onUpdate:hostHeader":r[1]||(r[1]=h=>t.fields.hostHeader=h),name:t.fields.name,"onUpdate:name":r[2]||(r[2]=h=>t.fields.name=h),tags:t.fields.tags,"onUpdate:tags":r[3]||(r[3]=h=>t.fields.tags=h),config:a.config,readonly:t.readonly},null,8,["client-certificate","host-header","name","tags","config","readonly"]),e.createVNode(It,{algorithm:t.fields.algorithm,"onUpdate:algorithm":r[4]||(r[4]=h=>t.fields.algorithm=h),"hash-fallback":t.fields.hashFallback,"onUpdate:hashFallback":r[5]||(r[5]=h=>t.fields.hashFallback=h),"hash-fallback-header":t.fields.hashFallbackHeader,"onUpdate:hashFallbackHeader":r[6]||(r[6]=h=>t.fields.hashFallbackHeader=h),"hash-fallback-query-argument":t.fields.hashFallbackQueryArgument,"onUpdate:hashFallbackQueryArgument":r[7]||(r[7]=h=>t.fields.hashFallbackQueryArgument=h),"hash-fallback-uri-capture":t.fields.hashFallbackUriCapture,"onUpdate:hashFallbackUriCapture":r[8]||(r[8]=h=>t.fields.hashFallbackUriCapture=h),"hash-on":t.fields.hashOn,"onUpdate:hashOn":r[9]||(r[9]=h=>t.fields.hashOn=h),"hash-on-cookie":t.fields.hashOnCookie,"onUpdate:hashOnCookie":r[10]||(r[10]=h=>t.fields.hashOnCookie=h),"hash-on-cookie-path":t.fields.hashOnCookiePath,"onUpdate:hashOnCookiePath":r[11]||(r[11]=h=>t.fields.hashOnCookiePath=h),"hash-on-header":t.fields.hashOnHeader,"onUpdate:hashOnHeader":r[12]||(r[12]=h=>t.fields.hashOnHeader=h),"hash-on-query-argument":t.fields.hashOnQueryArgument,"onUpdate:hashOnQueryArgument":r[13]||(r[13]=h=>t.fields.hashOnQueryArgument=h),"hash-on-uri-capture":t.fields.hashOnUriCapture,"onUpdate:hashOnUriCapture":r[14]||(r[14]=h=>t.fields.hashOnUriCapture=h),slots:t.fields.slots,"onUpdate:slots":r[15]||(r[15]=h=>t.fields.slots=h),"sticky-sessions-cookie":t.fields.stickySessionsCookie,"onUpdate:stickySessionsCookie":r[16]||(r[16]=h=>t.fields.stickySessionsCookie=h),"sticky-sessions-cookie-path":t.fields.stickySessionsCookiePath,"onUpdate:stickySessionsCookiePath":r[17]||(r[17]=h=>t.fields.stickySessionsCookiePath=h),readonly:t.readonly,"sticky-sessions-available":a.config.stickySessionsAvailable},null,8,["algorithm","hash-fallback","hash-fallback-header","hash-fallback-query-argument","hash-fallback-uri-capture","hash-on","hash-on-cookie","hash-on-cookie-path","hash-on-header","hash-on-query-argument","hash-on-uri-capture","slots","sticky-sessions-cookie","sticky-sessions-cookie-path","readonly","sticky-sessions-available"]),e.createVNode(Ot,{"active-health-switch":t.fields.activeHealthSwitch,"onUpdate:activeHealthSwitch":[r[18]||(r[18]=h=>t.fields.activeHealthSwitch=h),d],"healthchecks-threshold":t.fields.healthchecksThreshold,"onUpdate:healthchecksThreshold":r[19]||(r[19]=h=>t.fields.healthchecksThreshold=h),"passive-health-switch":t.fields.passiveHealthSwitch,"onUpdate:passiveHealthSwitch":[r[20]||(r[20]=h=>t.fields.passiveHealthSwitch=h),C],readonly:t.readonly},null,8,["active-health-switch","healthchecks-threshold","passive-health-switch","readonly"]),t.fields.activeHealthSwitch?(e.openBlock(),e.createBlock(Mt,{key:0,concurrency:t.fields.activeHealthCheck.concurrency,"onUpdate:concurrency":r[21]||(r[21]=h=>t.fields.activeHealthCheck.concurrency=h),headers:t.fields.activeHealthCheck.headers,"onUpdate:headers":r[22]||(r[22]=h=>t.fields.activeHealthCheck.headers=h),"healthy-http-statuses":t.fields.activeHealthCheck.healthy.httpStatuses,"onUpdate:healthyHttpStatuses":r[23]||(r[23]=h=>t.fields.activeHealthCheck.healthy.httpStatuses=h),"healthy-interval":t.fields.activeHealthCheck.healthy.interval,"onUpdate:healthyInterval":r[24]||(r[24]=h=>t.fields.activeHealthCheck.healthy.interval=h),"healthy-successes":t.fields.activeHealthCheck.healthy.successes,"onUpdate:healthySuccesses":r[25]||(r[25]=h=>t.fields.activeHealthCheck.healthy.successes=h),"http-path":t.fields.activeHealthCheck.httpPath,"onUpdate:httpPath":r[26]||(r[26]=h=>t.fields.activeHealthCheck.httpPath=h),"https-sni":t.fields.activeHealthCheck.httpsSni,"onUpdate:httpsSni":r[27]||(r[27]=h=>t.fields.activeHealthCheck.httpsSni=h),timeout:t.fields.activeHealthCheck.timeout,"onUpdate:timeout":r[28]||(r[28]=h=>t.fields.activeHealthCheck.timeout=h),type:t.fields.activeHealthCheck.type,"onUpdate:type":r[29]||(r[29]=h=>t.fields.activeHealthCheck.type=h),"unhealthy-http-failures":t.fields.activeHealthCheck.unhealthy.httpFailures,"onUpdate:unhealthyHttpFailures":r[30]||(r[30]=h=>t.fields.activeHealthCheck.unhealthy.httpFailures=h),"unhealthy-http-statuses":t.fields.activeHealthCheck.unhealthy.httpStatuses,"onUpdate:unhealthyHttpStatuses":r[31]||(r[31]=h=>t.fields.activeHealthCheck.unhealthy.httpStatuses=h),"unhealthy-interval":t.fields.activeHealthCheck.unhealthy.interval,"onUpdate:unhealthyInterval":r[32]||(r[32]=h=>t.fields.activeHealthCheck.unhealthy.interval=h),"unhealthy-tcp-failures":t.fields.activeHealthCheck.unhealthy.tcpFailures,"onUpdate:unhealthyTcpFailures":r[33]||(r[33]=h=>t.fields.activeHealthCheck.unhealthy.tcpFailures=h),"unhealthy-timeouts":t.fields.activeHealthCheck.unhealthy.timeouts,"onUpdate:unhealthyTimeouts":r[34]||(r[34]=h=>t.fields.activeHealthCheck.unhealthy.timeouts=h),"verify-ssl":t.fields.activeHealthCheck.verifySsl,"onUpdate:verifySsl":r[35]||(r[35]=h=>t.fields.activeHealthCheck.verifySsl=h),config:a.config,readonly:t.readonly},null,8,["concurrency","headers","healthy-http-statuses","healthy-interval","healthy-successes","http-path","https-sni","timeout","type","unhealthy-http-failures","unhealthy-http-statuses","unhealthy-interval","unhealthy-tcp-failures","unhealthy-timeouts","verify-ssl","config","readonly"])):e.createCommentVNode("",!0),t.fields.passiveHealthSwitch?(e.openBlock(),e.createBlock(Qt,{key:1,"healthy-http-statuses":t.fields.passiveHealthCheck.healthy.httpStatuses,"onUpdate:healthyHttpStatuses":r[36]||(r[36]=h=>t.fields.passiveHealthCheck.healthy.httpStatuses=h),"healthy-successes":t.fields.passiveHealthCheck.healthy.successes,"onUpdate:healthySuccesses":r[37]||(r[37]=h=>t.fields.passiveHealthCheck.healthy.successes=h),type:t.fields.passiveHealthCheck.type,"onUpdate:type":r[38]||(r[38]=h=>t.fields.passiveHealthCheck.type=h),"unhealthy-http-failures":t.fields.passiveHealthCheck.unhealthy.httpFailures,"onUpdate:unhealthyHttpFailures":r[39]||(r[39]=h=>t.fields.passiveHealthCheck.unhealthy.httpFailures=h),"unhealthy-http-statuses":t.fields.passiveHealthCheck.unhealthy.httpStatuses,"onUpdate:unhealthyHttpStatuses":r[40]||(r[40]=h=>t.fields.passiveHealthCheck.unhealthy.httpStatuses=h),"unhealthy-tcp-failures":t.fields.passiveHealthCheck.unhealthy.tcpFailures,"onUpdate:unhealthyTcpFailures":r[41]||(r[41]=h=>t.fields.passiveHealthCheck.unhealthy.tcpFailures=h),"unhealthy-timeouts":t.fields.passiveHealthCheck.unhealthy.timeouts,"onUpdate:unhealthyTimeouts":r[42]||(r[42]=h=>t.fields.passiveHealthCheck.unhealthy.timeouts=h),readonly:t.readonly},null,8,["healthy-http-statuses","healthy-successes","type","unhealthy-http-failures","unhealthy-http-statuses","unhealthy-tcp-failures","unhealthy-timeouts","readonly"])):e.createCommentVNode("",!0)]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])]))}}),[["__scopeId","data-v-0d494630"]]),Jt={"data-testid":"client_certificate-plain-text"},zt=e.defineComponent({__name:"UpstreamsConfigCard",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||a.app==="konnect"&&!a.controlPlaneId||a.app==="kongManager"&&typeof a.workspace!="string"||!a.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(a){const O=a,{i18n:{t:o},i18nT:l}=Z.useI18n(),{getPropValue:i}=m.useHelpers(),y=e.computed(()=>ie.form[O.config.app].edit),f=e.ref({id:{},name:{},created_at:{},updated_at:{},algorithm:{order:5,section:m.ConfigurationSchemaSection.Basic,tooltip:o("upstreams.form.fields.algorithm.tooltip")},slots:{order:6,section:m.ConfigurationSchemaSection.Basic},hash_on:{order:7,section:m.ConfigurationSchemaSection.Basic},hash_on_header:{order:8,section:m.ConfigurationSchemaSection.Basic},hash_on_uri_capture:{order:9,section:m.ConfigurationSchemaSection.Basic},hash_on_query_arg:{order:10,section:m.ConfigurationSchemaSection.Basic,label:`${o("upstreams.form.fields.hash_on.label")} ${o("upstreams.form.hash_labels.query_argument")}`},hash_on_cookie:{order:11,section:m.ConfigurationSchemaSection.Basic},hash_on_cookie_path:{order:12,section:m.ConfigurationSchemaSection.Basic},healthchecks:{order:13,section:m.ConfigurationSchemaSection.Basic,type:m.ConfigurationSchemaType.Json},tags:{order:14,tooltip:o("upstreams.form.hash_tooltips.tags")},hash_fallback:{order:1},hash_fallback_header:{order:2},hash_fallback_query_arg:{order:3,label:`${o("upstreams.form.fields.hash_fallback.label")} ${o("upstreams.form.hash_labels.query_argument")}`},hash_fallback_uri_capture:{order:4},host_header:{order:5},use_srv_name:{order:6},client_certificate:{order:7,tooltip:o("upstreams.form.hash_tooltips.client_certificate")}});return(D,H)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(m.EntityBaseConfigCard),{config:a.config,"config-card-doc":a.configCardDoc,"config-schema":f.value,"entity-type":e.unref(m.SupportedEntityType).Upstream,"fetch-url":y.value,"hide-title":a.hideTitle,"onFetch:error":H[0]||(H[0]=s=>D.$emit("fetch:error",s)),"onFetch:success":H[1]||(H[1]=s=>D.$emit("fetch:success",s)),onLoading:H[2]||(H[2]=s=>D.$emit("loading",s))},{"name-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.fields.name.tooltip",scope:"global"},{host:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.fields.name.host")),1)]),_:1})]),"hash_on-label-tooltip":e.withCtx(({row:s})=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.fields.hash_on.tooltip",scope:"global"},{result:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(s.value),1)]),_:2},1024)]),"hash_on_header-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_header.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_header.hash_on")),1)]),header:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_header.header")),1)]),_:1})]),"hash_on_uri_capture-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_uri_capture.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_uri_capture.hash_on")),1)]),uri_capture:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_uri_capture.uri_capture")),1)]),_:1})]),"hash_on_query_arg-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_query_arg.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_query_arg.hash_on")),1)]),query_arg:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_query_arg.query_arg")),1)]),_:1})]),"hash_on_cookie-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_cookie.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie.hash_on")),1)]),hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie.hash_fallback")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie.cookie")),1)]),_:1})]),"hash_on_cookie_path-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_cookie_path.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie_path.hash_on")),1)]),hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie_path.hash_fallback")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie_path.cookie")),1)]),_:1})]),"slots-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.slots.text",scope:"global"},{algorithm:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.slots.algorithm")),1)]),round_robin:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.slots.round_robin")),1)]),consistent_hashing:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.slots.consistent_hashing")),1)]),min:e.withCtx(()=>H[3]||(H[3]=[e.createElementVNode("code",null,"10",-1)])),max:e.withCtx(()=>H[4]||(H[4]=[e.createElementVNode("code",null,"65536",-1)])),_:1})]),"hash_fallback-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback.hash_on")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback.cookie")),1)]),_:1})]),"hash_fallback_header-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback_header.text",scope:"global"},{hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_header.hash_fallback")),1)]),header:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_header.header")),1)]),_:1})]),"hash_fallback_query_arg-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback_query_arg.text",scope:"global"},{hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_query_arg.hash_fallback")),1)]),query_arg:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_query_arg.query_arg")),1)]),_:1})]),"hash_fallback_uri_capture-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback_uri_capture.text",scope:"global"},{hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_uri_capture.hash_fallback")),1)]),uri_capture:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_uri_capture.uri_capture")),1)]),_:1})]),"host_header-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.host_header.text",scope:"global"},{host:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.host_header.host")),1)]),_:1})]),client_certificate:e.withCtx(s=>{var c;return[e.createElementVNode("div",null,[e.createElementVNode("div",Jt,[e.createElementVNode("span",null,e.toDisplayString((c=e.unref(i)("rowValue",s))==null?void 0:c.id),1)])])]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});Q.TargetForm=Ue,Q.TargetsList=Vt,Q.UpstreamsConfigCard=zt,Q.UpstreamsForm=vt,Q.UpstreamsList=yt,Object.defineProperty(Q,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(v,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","vue-router","@kong/icons","@kong-ui-public/i18n"],e):(v=typeof globalThis<"u"?globalThis:v||self,e(v["kong-ui-entities-upstreams-targets"]={},v.Vue,v["kong-ui-public-entities-shared"],v.VueRouter,v.KongIcons,v["kong-ui-public-i18n"]))})(this,function(v,e,m,Ve,ee,we){"use strict";const Ze={upstreams:{list:{table_headers:{id:"ID",name:"Name",slots:"Slots",tags:"Tags"},empty_state:{title:"Configure a New Upstream",description:"Upstreams are used to load balance incoming requests."},empty_state_v2:{title:"Configure your first upstream",description:"Upstreams route traffic to multiple backend services, handling load balancing, health checks, and circuit breaking for reliability.",create_cta:"New upstream",group:"Upstreams created in gateways within this group will automatically appear here.",learn_more:"Learn more"},toolbar_actions:{new_upstream:"New upstream"}},title:"Upstreams",search:{placeholder:"Filter by exact name or ID"},actions:{create:"New upstream",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details"},delete:{title:"Delete an Upstream",description:"This action cannot be reversed so make sure to check upstream usage before deleting."},errors:{general:"Upstreams could not be retrieved",delete:"The upstream could not be deleted at this time.",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{errors:{name_required:"Name is required",should_be_integer:"Field should contain an integer",in_range:"Accepts an integer in the range of 10 - 65536"},general_info:{title:"General Information",help:"General information will help identify and manage this Upstream."},load_balancing:{title:"Load Balancing",help:"Active health checks actively probe targets for their health. Currently only support HTTP/HTTPS targets."},health_check:{title:"Health Checks & Circuit Breakers",help:"Active health checks actively probe targets for their health. Currently only support HTTP/HTTPS targets."},active_health_check:{title:"Active Health Checks",help:"Active health checks actively probe targets for their health. Currently only support HTTP/HTTPS targets."},passive_health_check:{title:"Passive Health Checks",help:"Passive health checks, also known as circuit breakers, are checks performed based on the requests being proxied by Kong (HTTP/HTTPS/TCP), with no additional traffic being generated."},buttons:{view_documentation:"View documentation"},algorithms:{round_robin_label:"Round Robin",least_connections_label:"Least Connections",consistent_hashing_label:"Consistent Hashing",latency_label:"Latency",sticky_sessions_label:"Sticky Sessions"},hash_labels:{none:"None",consumer:"Consumer",ip:"IP",header:"Header",cookie:"Cookie",path:"Path",query_argument:"Query Argument",uri_capture:"URI Capture"},hash_tooltips:{hash_on_header:{text:"The header name to take the value from as hash input. Only required when {hash_on} is set to {header}",hash_on:"hash_on",header:"header"},hash_on_uri_capture:{text:"The name of the route URI capture to take the value from as hash input. Only required when {hash_on} is set to {uri_capture}",hash_on:"hash_on",uri_capture:"uri_capture"},hash_on_query_arg:{text:"The name of the query string argument to take the value from as hash input. Only required when {hash_on} is set to {query_arg}",hash_on:"hash_on",query_arg:"query_arg"},hash_on_cookie:{text:"The cookie name to take the value from as hash input. Only required when {hash_on} or {hash_fallback} is set to {cookie}. If the specified cookie is not in the request, Kong will generate a value and set the cookie in the response.",hash_on:"hash_on",hash_fallback:"hash_fallback",cookie:"cookie"},hash_on_cookie_path:{text:"The cookie path to set in the response headers. Only required when {hash_on} or {hash_fallback} is set to {cookie}.",hash_on:"hash_on",hash_fallback:"hash_fallback",cookie:"cookie"},slots:{text:"The number of slots in the load balancer algorithm. If {algorithm} is set to {round_robin}, this setting determines the maximum number of slots. If {algorithm} is set to {consistent_hashing}, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range {min}-{max}",algorithm:"algorithm",round_robin:"round-robin",consistent_hashing:"consistent-hashing"},tags:"An optional set of strings associated with the Upstream for grouping and filtering.",hash_fallback:{text:"What to use as hashing input if the primary {hash_on} does not return a hash (eg. header is missing, or no Consumer identified). Not available if {hash_on} is set to {cookie}",hash_on:"hash_on",cookie:"cookie"},hash_fallback_header:{text:"The header name to take the value from as hash input. Only required when {hash_fallback} is set to {header}",hash_fallback:"hash_fallback",header:"header"},hash_fallback_query_arg:{text:"The name of the query string argument to take the value from as hash input. Only required when {hash_fallback} is set to {query_arg}",hash_fallback:"hash_fallback",query_arg:"query_arg"},hash_fallback_uri_capture:{text:"The name of the route URI capture to take the value from as hash input. Only required when {hash_fallback} is set to {uri_capture}",hash_fallback:"hash_fallback",uri_capture:"uri_capture"},host_header:{text:"The hostname to be used as {host} header when proxying requests through Kong.",host:"Host"},client_certificate:"If set, the certificate to be used as client certificate while TLS handshaking to the upstream server."},healthcheck_type_labels:{http:"HTTP",https:"HTTPS",tcp:"TCP",grsp:"gRPC",grsps:"gRPCs"},healthy:{label:"Healthy",help:"The counter thresholds to determine whether targets are healthy."},unhealthy:{label:"Unhealthy",help:"The counter thresholds to determine whether targets are unhealthy."},passive_healthy:{label:"Healthy",help:"The counter thresholds to determine whether targets are healthy."},passive_unhealthy:{label:"Unhealthy",help:"The counter thresholds to determine whether targets are unhealthy."},fields:{name:{label:"Name",placeholder:"Enter or select a host",tooltip:"This is a hostname, which must be equal to the {host} of a Service.",host:"host"},host_header:{label:"Host Header"},client_certificate:{label:"Client Certificate",placeholder:"Select or enter a Certificate ID",tooltip:"If set, the certificate to be used as client certificate while TLS handshaking to the upstream server."},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings associated with the Upstream for grouping and filtering."},algorithm:{label:"Algorithm",tooltip:"Which load balancing algorithm to use."},sticky_sessions_cookie:{label:"Sticky Sessions Cookie",tooltip:"The cookie name to keep sticky sessions."},sticky_sessions_cookie_path:{label:"Sticky Sessions Cookie Path",tooltip:"A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes)."},slots:{label:"Slots",help:"Accepts an integer in the range of 10 - 65536"},hash_on:{label:"Hash on",help:"What to use as hashing input.",tooltip:"What to use as hashing input. Using {result} results in a weighted-round-robin scheme with no hashing."},hash_fallback:{label:"Hash Fallback",help:"What to use as hashing input if the primary hash_on does not return a hash",tooltip:"What to use as hashing input if the primary {hash_on} does not return a hash (eg. header is missing, or no Consumer identified). Not available if {hash_on} is set to {cookie}.",hash_on:"hash_on",cookie:"cookie"},active_health_checks:{label:"Active Health Checks",help:"Actively probe the targets for their health."},passive_health_checks:{label:"Passive Health Checks / Circuit Breakers",help:"Checks performed based on the requests being proxied by Kong (HTTP/HTTPS/TCP), with no additional traffic being generated."},healthchecks_threshold:{label:"Healthchecks Threshold"},header:{label:"Header"},headers:{label:"Headers",tooltip_active:"Header values can be separated by commas (value1, value2, value3)."},cookie:{label:"Cookie"},cookie_path:{label:"Cookie Path"},query_argument:{label:"Query Argument"},uri_capture:{label:"URI Capture"},active_healthcheck_type:{label:"Active Health Check Type"},http_path:{label:"HTTP Path"},timeout:{label:"Timeout"},concurrency:{label:"Concurrency"},https_sni:{label:"HTTPS SNI"},verify_ssl:{label:"Verify the SSL certificate when performing active health checks using HTTPS"},interval:{label:"Interval",help:"A value of zero indicates that active probes for healthy targets are disabled."},successes:{label:"Successes"},http_statuses:{label:"HTTP Statuses"},http_failures:{label:"HTTP Failures"},tcp_failures:{label:"TCP Failures"},timeouts:{label:"Timeouts"},passive_health_check_type:{label:"Passive Health Check Type"}}},labels:{created_at:"Created at"}},targets:{list:{table_headers:{id:"ID",target_address:"Target Address",weight:"Weight",tags:"Tags",target_type:"Target Type"},empty_state:{title:"Configure a New Target",description:"A target is an IP address/hostname with a port that identifies an instance of a backend service."},toolbar_actions:{new_target:"New Target"}},title:"Targets",actions:{create:"New Target",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",mark_healthy:"Mark Healthy",mark_unhealthy:"Mark Unhealthy"},delete:{title:"Delete a Target",description:"This action cannot be reversed so make sure to check target usage before deleting."},errors:{general:"Targets could not be retrieved",delete:"The target could not be deleted at this time.",copy:"Failed to copy to clipboard",weight:"Value must be in range 0 to 65535"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{create:{title:"New Target"},edit:{title:"Edit Target"},buttons:{save:"Save",cancel:"Cancel"},fields:{target:{label:"Target Address",placeholder:"Enter IP/hostname and port",tooltip:"The target address (IP or hostname) and port. If omitted the port defaults to 8000."},weight:{label:"Weight",tooltip:"The weight of this target in relation to other targets in the upstream. Value must be in range 0 to 65535, defaults to 100."},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},failover:{label:"Failover Target",load_balance_target:"Load balance",failover_target:"Failover",help:"Whether to use this target only as backup.",unsupported:"The current load balance algorithm does not support failover."}}}}};function et(){const a=we.createI18n("en-us",Ze);return{i18n:a,i18nT:we.i18nTComponent(a)}}function ne(a){const{replaceId:E=!1}=a,o=e.ref([]);return{addedItems:o,trackNewItems:(n,g)=>{if(g){const f={...n};E&&(f.value=n.label),o.value.push(f)}else o.value=o.value.filter(f=>f.value!==n.value)}}}const he=[{label:"100",value:"100"},{label:"101",value:"101"},{label:"102",value:"102"},{label:"103",value:"103"},{label:"200",value:"200"},{label:"201",value:"201"},{label:"202",value:"202"},{label:"203",value:"203"},{label:"204",value:"204"},{label:"205",value:"205"},{label:"206",value:"206"},{label:"207",value:"207"},{label:"208",value:"208"},{label:"226",value:"226"},{label:"300",value:"300"},{label:"301",value:"301"},{label:"302",value:"302"},{label:"303",value:"303"},{label:"304",value:"304"},{label:"305",value:"305"},{label:"306",value:"306"},{label:"307",value:"307"},{label:"308",value:"308"},{label:"400",value:"400"},{label:"401",value:"401"},{label:"402",value:"402"},{label:"403",value:"403"},{label:"404",value:"404"},{label:"405",value:"405"},{label:"406",value:"406"},{label:"407",value:"407"},{label:"408",value:"408"},{label:"409",value:"409"},{label:"410",value:"410"},{label:"411",value:"411"},{label:"412",value:"412"},{label:"413",value:"413"},{label:"414",value:"414"},{label:"415",value:"415"},{label:"416",value:"416"},{label:"417",value:"417"},{label:"418",value:"418"},{label:"419",value:"419"},{label:"420",value:"420"},{label:"421",value:"421"},{label:"422",value:"422"},{label:"423",value:"423"},{label:"424",value:"424"},{label:"425",value:"425"},{label:"426",value:"426"},{label:"428",value:"428"},{label:"429",value:"429"},{label:"430",value:"430"},{label:"431",value:"431"},{label:"440",value:"440"},{label:"444",value:"444"},{label:"449",value:"449"},{label:"450",value:"450"},{label:"451",value:"451"},{label:"460",value:"460"},{label:"463",value:"463"},{label:"494",value:"494"},{label:"495",value:"495"},{label:"496",value:"496"},{label:"497",value:"497"},{label:"498",value:"498"},{label:"499",value:"499"},{label:"500",value:"500"},{label:"501",value:"501"},{label:"502",value:"502"},{label:"503",value:"503"},{label:"504",value:"504"},{label:"505",value:"505"},{label:"506",value:"506"},{label:"507",value:"507"},{label:"508",value:"508"},{label:"509",value:"509"},{label:"510",value:"510"},{label:"511",value:"511"},{label:"520",value:"520"},{label:"521",value:"521"},{label:"522",value:"522"},{label:"523",value:"523"},{label:"524",value:"524"},{label:"525",value:"525"},{label:"526",value:"526"},{label:"527",value:"527"},{label:"529",value:"529"},{label:"530",value:"530"},{label:"561",value:"561"},{label:"598",value:"598"},{label:"599",value:"599"}],Ce=10,_e=65536,tt=0,at=65535,le=0,se=255,Ne=0,xe=255,lt=0,st=65535,He=0,Te=65535,ot=0,rt=2**31,ce=["200","302"],de=["200","201","202","203","204","205","206","207","208","226","300","301","302","303","304","305","306","307","308"],ue=["429","404","500","501","502","503","504","505"],fe=["429","500","503"],it=["latency","least-connections","round-robin"];function pe(){const a=s=>/^\d+$/.test(s),E=(s,h,b)=>{if(a(s)){const u=Number(s);return u>=h&&u<=b}else return!1},o=s=>s.map(h=>Number(h)),l=s=>s.map(h=>h.toString()),n=s=>{var b,u,t,I,w,d,C,W,q,$,A,M,k,N,p,V,F,B,K,X,T,U,j,G,J,Q,_,O,y,S,H,R,c,r,i,P,L,z,te,ae,be,Ie,qe,Fe,Be,Ee,Oe,De,$e,Pe,Ae,Me,Ke,Re,Le,je,Qe,We,ve,Je,Ge,ze,Xe,Ye;return{name:(s==null?void 0:s.name)||"",hostHeader:(s==null?void 0:s.host_header)||"",clientCertificate:((b=s==null?void 0:s.client_certificate)==null?void 0:b.id)||"",tags:((u=s==null?void 0:s.tags)==null?void 0:u.join(", "))||"",algorithm:(s==null?void 0:s.algorithm)||"round-robin",stickySessionsCookie:(s==null?void 0:s.sticky_sessions_cookie)||"",stickySessionsCookiePath:(s==null?void 0:s.sticky_sessions_cookie_path)||"/",slots:((t=s==null?void 0:s.slots)==null?void 0:t.toString())||"10000",hashOn:(s==null?void 0:s.hash_on)||"none",hashFallback:(s==null?void 0:s.hash_fallback)||"none",hashOnHeader:(s==null?void 0:s.hash_on_header)||"",hashOnCookie:(s==null?void 0:s.hash_on_cookie)||"",hashOnCookiePath:(s==null?void 0:s.hash_on_cookie_path)||"/",hashOnQueryArgument:(s==null?void 0:s.hash_on_query_arg)||"",hashOnUriCapture:(s==null?void 0:s.hash_on_uri_capture)||"",hashFallbackHeader:(s==null?void 0:s.hash_fallback_header)||"",hashFallbackQueryArgument:(s==null?void 0:s.hash_fallback_query_arg)||"",hashFallbackUriCapture:(s==null?void 0:s.hash_fallback_uri_capture)||"",activeHealthSwitch:s?((w=(I=s.healthchecks.active)==null?void 0:I.healthy)==null?void 0:w.interval)!==0||((C=(d=s.healthchecks.active)==null?void 0:d.unhealthy)==null?void 0:C.interval)!==0:!1,passiveHealthSwitch:s?((q=(W=s.healthchecks.passive)==null?void 0:W.healthy)==null?void 0:q.successes)!==0||((A=($=s.healthchecks.passive)==null?void 0:$.unhealthy)==null?void 0:A.timeouts)!==0||((k=(M=s.healthchecks.passive)==null?void 0:M.unhealthy)==null?void 0:k.tcp_failures)!==0||((p=(N=s.healthchecks.passive)==null?void 0:N.unhealthy)==null?void 0:p.http_failures)!==0:!1,healthchecksThreshold:((V=s==null?void 0:s.healthchecks.threshold)==null?void 0:V.toString())||"0",activeHealthCheck:{type:((F=s==null?void 0:s.healthchecks.active)==null?void 0:F.type)||"http",httpPath:((B=s==null?void 0:s.healthchecks.active)==null?void 0:B.http_path)||"/",timeout:((X=(K=s==null?void 0:s.healthchecks.active)==null?void 0:K.timeout)==null?void 0:X.toString())||"1",concurrency:((U=(T=s==null?void 0:s.healthchecks.active)==null?void 0:T.concurrency)==null?void 0:U.toString())||"10",httpsSni:((j=s==null?void 0:s.healthchecks.active)==null?void 0:j.https_sni)||"",verifySsl:((G=s==null?void 0:s.healthchecks.active)==null?void 0:G.https_verify_certificate)||!1,headers:(J=s==null?void 0:s.healthchecks.active)!=null&&J.headers&&Object.entries(s.healthchecks.active.headers).length>0?Object.entries(s.healthchecks.active.headers).map(([vt,Se])=>({key:vt,values:Se==null?void 0:Se.join(", ")})):[{key:"",values:""}],healthy:{interval:((O=(_=(Q=s==null?void 0:s.healthchecks.active)==null?void 0:Q.healthy)==null?void 0:_.interval)==null?void 0:O.toString())||"0",successes:((H=(S=(y=s==null?void 0:s.healthchecks.active)==null?void 0:y.healthy)==null?void 0:S.successes)==null?void 0:H.toString())||"5",httpStatuses:(c=(R=s==null?void 0:s.healthchecks.active)==null?void 0:R.healthy)!=null&&c.http_statuses?l(s.healthchecks.active.healthy.http_statuses):ce},unhealthy:{interval:((P=(i=(r=s==null?void 0:s.healthchecks.active)==null?void 0:r.unhealthy)==null?void 0:i.interval)==null?void 0:P.toString())||"0",httpFailures:((te=(z=(L=s==null?void 0:s.healthchecks.active)==null?void 0:L.unhealthy)==null?void 0:z.http_failures)==null?void 0:te.toString())||"5",tcpFailures:((Ie=(be=(ae=s==null?void 0:s.healthchecks.active)==null?void 0:ae.unhealthy)==null?void 0:be.tcp_failures)==null?void 0:Ie.toString())||"5",httpStatuses:(Fe=(qe=s==null?void 0:s.healthchecks.active)==null?void 0:qe.unhealthy)!=null&&Fe.http_statuses?l(s.healthchecks.active.unhealthy.http_statuses):ue,timeouts:((Oe=(Ee=(Be=s==null?void 0:s.healthchecks.active)==null?void 0:Be.unhealthy)==null?void 0:Ee.timeouts)==null?void 0:Oe.toString())||"0"}},passiveHealthCheck:{type:((De=s==null?void 0:s.healthchecks.passive)==null?void 0:De.type)||"http",healthy:{successes:((Ae=(Pe=($e=s==null?void 0:s.healthchecks.passive)==null?void 0:$e.healthy)==null?void 0:Pe.successes)==null?void 0:Ae.toString())||"5",httpStatuses:(Ke=(Me=s==null?void 0:s.healthchecks.passive)==null?void 0:Me.healthy)!=null&&Ke.http_statuses?l(s.healthchecks.passive.healthy.http_statuses):de},unhealthy:{timeouts:((je=(Le=(Re=s==null?void 0:s.healthchecks.passive)==null?void 0:Re.unhealthy)==null?void 0:Le.timeouts)==null?void 0:je.toString())||"0",httpFailures:((ve=(We=(Qe=s==null?void 0:s.healthchecks.passive)==null?void 0:Qe.unhealthy)==null?void 0:We.http_failures)==null?void 0:ve.toString())||"5",tcpFailures:((ze=(Ge=(Je=s==null?void 0:s.healthchecks.passive)==null?void 0:Je.unhealthy)==null?void 0:Ge.tcp_failures)==null?void 0:ze.toString())||"5",httpStatuses:(Ye=(Xe=s==null?void 0:s.healthchecks.passive)==null?void 0:Xe.unhealthy)!=null&&Ye.http_statuses?l(s.healthchecks.passive.unhealthy.http_statuses):fe}}}};return{isInteger:a,inRange:E,stringToNumberArray:o,numberToStringArray:l,upstreamsResponseToFields:s=>n(s),getDefaultUpstreamFields:()=>n(),objectsAreEqual:(s,h)=>{try{return JSON.stringify(s)===JSON.stringify(h)}catch{return!1}},cloneDeep:s=>JSON.parse(JSON.stringify(s))}}const Y={useI18n:et,useMultiselectCreation:ne,useHelpers:pe},oe="/v2/control-planes/{controlPlaneId}/core-entities",re="/{workspace}",ie={list:{konnect:`${oe}/upstreams`,kongManager:`${re}/upstreams`},form:{konnect:{getServices:`${oe}/services`,getCertificates:`${oe}/certificates`,validate:`${oe}/schemas/upstreams/validate`,create:`${oe}/upstreams`,edit:`${oe}/upstreams/{id}`},kongManager:{getServices:`${re}/services`,getCertificates:`${re}/certificates`,validate:`${re}/schemas/upstreams/validate`,create:`${re}/upstreams`,edit:`${re}/upstreams/{id}`}}},nt={class:"kong-ui-entities-upstreams-list"},ht={class:"button-row"},ct={class:"upstream-name"},dt=e.defineComponent({__name:"UpstreamsList",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||!a.createRoute||!a.getViewRoute||!a.getEditRoute||a.app==="kongManager"&&!a.isExactMatch&&!a.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(a,{emit:E}){var O;const o=E,l=a,{i18n:{t:n}}=Y.useI18n(),g=Ve.useRouter(),{axiosInstance:f}=m.useAxios((O=l.config)==null?void 0:O.axiosRequestConfig),{hasRecords:D,handleStateChange:x}=m.useTableState(()=>I.value),s=e.computed(()=>D.value&&l.config.app==="konnect"),h=e.computed(()=>l.config.app!=="kongManager"||!!l.config.disableSorting),b={name:{label:n("upstreams.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},slots:{label:n("upstreams.list.table_headers.slots"),searchable:!0,sortable:!0},tags:{label:n("upstreams.list.table_headers.tags"),sortable:!1}},u=b,t=e.computed(()=>{var S,H;let y=`${l.config.apiBaseUrl}${ie.list[l.config.app]}`;return l.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,((S=l.config)==null?void 0:S.controlPlaneId)||""):l.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,(H=l.config)!=null&&H.workspace?`/${l.config.workspace}`:"")),y}),I=e.ref(""),w=e.computed(()=>{const y=l.config.app==="konnect"||l.config.isExactMatch;if(y)return{isExactMatch:y,placeholder:n("upstreams.search.placeholder")};const{name:S,slots:H}=b;return{isExactMatch:y,fields:{name:S,slots:H},schema:l.config.filterSchema}}),{fetcher:d,fetcherState:C,fetcherCacheKey:W}=m.useFetcher(e.computed(()=>({...l.config,cacheIdentifier:l.cacheIdentifier})),t),q=()=>{I.value=""},$=()=>{W.value++},A=e.ref(null),M=async(y,S)=>{const H=y.id;if(!await S(H)){o("copy:error",{entity:y,field:"id",message:n("upstreams.errors.copy")});return}o("copy:success",{entity:y,field:"id",message:n("upstreams.copy.success",{val:H})})},k=async(y,S)=>{const H=JSON.stringify(y);if(!await S(H)){o("copy:error",{entity:y,message:n("upstreams.errors.copy")});return}o("copy:success",{entity:y,message:n("upstreams.copy.success_brief")})},N=async y=>{var H;await((H=l.canRetrieve)==null?void 0:H.call(l,y))&&g.push(l.config.getViewRoute(y.id))},p=y=>({label:n("upstreams.actions.view"),to:l.config.getViewRoute(y)}),V=y=>({label:n("upstreams.actions.edit"),to:l.config.getEditRoute(y)}),F=e.ref(void 0),B=e.ref(!1),K=e.ref(!1),X=e.ref(""),T=m.useDeleteUrlBuilder(l.config,t.value),U=y=>{F.value=y,B.value=!0},j=()=>{B.value=!1},G=async()=>{var y,S,H;if((y=F.value)!=null&&y.id){K.value=!0;try{await f.delete(T(F.value.id)),K.value=!1,B.value=!1,W.value++,o("delete:success",F.value)}catch(R){X.value=((H=(S=R.response)==null?void 0:S.data)==null?void 0:H.message)||R.message||n("upstreams.errors.delete"),o("error",R)}finally{K.value=!1}}},J=()=>{g.push(l.config.createRoute)};e.watch(C,y=>{var S,H,R;if(y.status===m.FetcherStatus.Error){A.value={title:n("upstreams.errors.general")},(R=(H=(S=y.error)==null?void 0:S.response)==null?void 0:H.data)!=null&&R.message&&(A.value.message=y.error.response.data.message),o("error",y.error);return}A.value=null});const Q=e.ref({ctaPath:l.config.createRoute,ctaText:void 0,message:`${n("upstreams.list.empty_state.description")}${l.config.additionMessageForEmptyState?` ${l.config.additionMessageForEmptyState}`:""}`,title:n("upstreams.title")}),_=e.ref(!1);return e.onBeforeMount(async()=>{_.value=await l.canCreate(),_.value&&(Q.value.title=n("upstreams.list.empty_state.title"),Q.value.ctaText=n("upstreams.actions.create"))}),(y,S)=>{const H=e.resolveComponent("KButton"),R=e.resolveComponent("KEmptyState"),c=e.resolveComponent("KDropdownItem"),r=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",nt,[e.createVNode(e.unref(m.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"disable-sorting":h.value,"empty-state-options":Q.value,"enable-entity-actions":"","error-message":A.value,fetcher:e.unref(d),"fetcher-cache-key":e.unref(W),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-upstreams-list",query:I.value,"table-headers":e.unref(u),onClearSearchInput:q,"onClick:row":S[3]||(S[3]=i=>N(i)),onSort:$,onState:e.unref(x)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(m.EntityFilter),{modelValue:I.value,"onUpdate:modelValue":S[0]||(S[0]=i=>I.value=i),config:w.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!a.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",ht,[s.value?(e.openBlock(),e.createBlock(H,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"upstream-learn-more-button",icon:"",onClick:S[1]||(S[1]=i=>y.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canCreate()},{default:e.withCtx(()=>[e.createVNode(H,{appearance:"primary","data-testid":"toolbar-add-upstream",size:a.useActionOutside?"medium":"large",to:a.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(n)("upstreams.list.toolbar_actions.new_upstream")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:i})=>[e.createElementVNode("span",ct,e.toDisplayString(i),1)]),tags:e.withCtx(({rowValue:i})=>[e.createVNode(e.unref(m.TableTags),{"tag-max-width":"auto",tags:i},null,8,["tags"])]),actions:e.withCtx(({row:i})=>[e.createVNode(r,null,{default:e.withCtx(({copyToClipboard:P})=>[e.createVNode(c,{"data-testid":"action-entity-copy-id",onClick:L=>M(i,P)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("upstreams.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(r,null,{default:e.withCtx(({copyToClipboard:P})=>[e.createVNode(c,{"data-testid":"action-entity-copy-json",onClick:L=>k(i,P)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("upstreams.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canRetrieve(i)},{default:e.withCtx(()=>[e.createVNode(c,{"data-testid":"action-entity-view","has-divider":"",item:p(i.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canEdit(i)},{default:e.withCtx(()=>[e.createVNode(c,{"data-testid":"action-entity-edit",item:V(i.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canDelete(i)},{default:e.withCtx(()=>[e.createVNode(c,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:P=>U(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("upstreams.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!I.value&&a.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var i;return[e.createVNode(R,{"data-testid":"upstreams-entity-empty-state","icon-background":"",message:e.unref(n)("upstreams.list.empty_state_v2.description"),title:e.unref(n)("upstreams.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(ee.CloudUploadIcon),{decorative:""})]),action:e.withCtx(()=>[_.value?(e.openBlock(),e.createBlock(H,{key:0,"data-testid":"entity-create-button",onClick:J},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(n)("upstreams.list.empty_state_v2.create_cta")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(H,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:S[2]||(S[2]=P=>y.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(n)("upstreams.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(i=a.config)!=null&&i.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("upstreams.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(m.EntityDeleteModal),{"action-pending":K.value,description:e.unref(n)("upstreams.delete.description"),"entity-name":F.value&&(F.value.name||F.value.id),"entity-type":e.unref(m.EntityTypes).Upstream,error:X.value,title:e.unref(n)("upstreams.delete.title"),visible:B.value,onCancel:j,onProceed:G},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),Z=(a,E)=>{const o=a.__vccOpts||a;for(const[l,n]of E)o[l]=n;return o},ut=Z(dt,[["__scopeId","data-v-fd5b2677"]]),me="/v2/control-planes/{controlPlaneId}/core-entities",ye="/{workspace}",ge={list:{konnect:`${me}/upstreams/{upstreamId}/targets`,kongManager:`${ye}/upstreams/{upstreamId}/targets`},form:{konnect:{create:`${me}/upstreams/{upstreamId}/targets`,edit:`${me}/upstreams/{upstreamId}/targets/{id}`,validate:`${me}/v1/schemas/json/target/validate`},kongManager:{create:`${ye}/upstreams/{upstreamId}/targets`,edit:`${ye}/upstreams/{upstreamId}/targets/{id}`,validate:`${ye}/schemas/targets/validate`}}},ft={class:"kong-ui-entities-target-form"},pt={class:"target-form-container"},mt={key:0,class:"target-form-info"},yt={key:1,class:"failover-target"},Ue=Z(e.defineComponent({__name:"TargetForm",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||a.app==="konnect"&&!a.controlPlaneId||a.app==="kongManager"&&typeof a.workspace!="string"||!a.upstreamId)},isVisible:{type:Boolean,required:!0,default:!1},targetId:{type:String,required:!1,default:""},failoverEnabled:{type:Boolean,required:!1,default:!1},failoverUnsupported:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading","cancel"],setup(a,{emit:E}){var M;const o=E,l=a,{i18n:{t:n}}=Y.useI18n(),{getMessageFromError:g}=m.useErrors(),{axiosInstance:f}=m.useAxios((M=l.config)==null?void 0:M.axiosRequestConfig),D=e.computed(()=>{var k;return ge.form[l.config.app].edit.replace(/{upstreamId}/gi,((k=l.config)==null?void 0:k.upstreamId)||"")}),x=e.computed(()=>l.targetId?m.EntityBaseFormType.Edit:m.EntityBaseFormType.Create),s=e.computed(()=>x.value===m.EntityBaseFormType.Edit?n("targets.form.edit.title"):n("targets.form.create.title")),h=e.reactive({fields:{target:"",weight:100,tags:""},isReadonly:!1,errorMessage:""}),b=e.ref(!1),u=e.reactive({target:"",weight:100,tags:""}),t={target:"",weight:100,tags:""},I=e.computed(()=>{const k=parseInt(h.fields.weight.toString(),10);return k<0||k>65535}),w=e.computed(()=>JSON.stringify(h.fields)!==JSON.stringify(u)&&!!h.fields.target&&!!h.fields.weight&&!I.value),d=k=>{var N;h.fields.target=(k==null?void 0:k.target)||"",h.fields.weight=(k==null?void 0:k.weight)??"",h.fields.tags=((N=k==null?void 0:k.tags)==null?void 0:N.join(", "))||"",Object.assign(u,h.fields)},C=()=>{h.errorMessage="",o("cancel")},W=e.computed(()=>{var N,p;let k=`${l.config.apiBaseUrl}${ge.form[l.config.app].validate}`;return l.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((N=l.config)==null?void 0:N.controlPlaneId)||""):l.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(p=l.config)!=null&&p.workspace?`/${l.config.workspace}`:"")),k=k.replace(/{id}/gi,l.targetId),k}),q=e.computed(()=>{var N,p,V,F;let k=`${l.config.apiBaseUrl}${ge.form[l.config.app][x.value]}`;return l.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((N=l.config)==null?void 0:N.controlPlaneId)||"").replace(/{upstreamId}/gi,((p=l.config)==null?void 0:p.upstreamId)||""):l.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(V=l.config)!=null&&V.workspace?`/${l.config.workspace}`:"").replace(/{upstreamId}/gi,((F=l.config)==null?void 0:F.upstreamId)||"")),k=k.replace(/{id}/gi,l.targetId),k}),$=e.computed(()=>{var k,N,p;return{target:h.fields.target,weight:parseInt(h.fields.weight),tags:(p=(N=(k=h.fields.tags)==null?void 0:k.split(","))==null?void 0:N.map(V=>String(V||"").trim()))==null?void 0:p.filter(V=>V!==""),upstream:{id:l.config.upstreamId},...l.failoverEnabled?{failover:b.value}:{}}}),A=async()=>{var k,N;try{h.isReadonly=!0,h.errorMessage="";let p;if(await f.post(W.value,$.value),x.value==="create"?p=await f.post(q.value,$.value):x.value==="edit"&&(p=((k=l.config)==null?void 0:k.app)==="konnect"?await f.put(q.value,$.value):await f.patch(q.value,$.value)),p){const{data:V}=p;h.fields.target=(V==null?void 0:V.name)||"",h.fields.weight=(V==null?void 0:V.weight)??100,h.fields.tags=((N=V==null?void 0:V.tags)==null?void 0:N.join(", "))||"",o("update",V),Object.assign(h.fields,t)}}catch(p){h.errorMessage=g(p),o("error",p)}finally{h.isReadonly=!1}};return e.watch(()=>l.targetId,()=>{Object.assign(h.fields,t)}),(k,N)=>{const p=e.resolveComponent("KInput"),V=e.resolveComponent("KCheckbox"),F=e.resolveComponent("KPrompt");return e.openBlock(),e.createBlock(F,{"action-button-disabled":!w.value||h.isReadonly,"action-button-text":e.unref(n)("targets.form.buttons.save"),"cancel-button-text":e.unref(n)("targets.form.buttons.cancel"),title:s.value,visible:a.isVisible,onCancel:C,onProceed:A},{default:e.withCtx(()=>[e.createElementVNode("div",ft,[e.createVNode(e.unref(m.EntityBaseForm),{config:a.config,"edit-id":a.targetId,"entity-type":e.unref(m.SupportedEntityType).Target,"error-message":h.errorMessage,"fetch-url":D.value,"form-fields":$.value,"is-readonly":h.isReadonly,onCancel:C,"onFetch:error":N[4]||(N[4]=B=>k.$emit("error",B)),"onFetch:success":d,onLoading:N[5]||(N[5]=B=>k.$emit("loading",B))},{default:e.withCtx(()=>[e.createElementVNode("div",pt,[k.$slots.info?(e.openBlock(),e.createElementBlock("div",mt,[e.renderSlot(k.$slots,"info",{},void 0,!0)])):e.createCommentVNode("",!0),e.createVNode(p,{modelValue:h.fields.target,"onUpdate:modelValue":N[0]||(N[0]=B=>h.fields.target=B),modelModifiers:{trim:!0},autocomplete:"off",class:"target-form-input","data-testid":"target-form-target",label:e.unref(n)("targets.form.fields.target.label"),"label-attributes":{info:e.unref(n)("targets.form.fields.target.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(n)("targets.form.fields.target.placeholder"),readonly:h.isReadonly,required:"",type:"text"},null,8,["modelValue","label","label-attributes","placeholder","readonly"]),e.createVNode(p,{modelValue:h.fields.weight,"onUpdate:modelValue":N[1]||(N[1]=B=>h.fields.weight=B),autocomplete:"off",class:"target-form-input","data-testid":"target-form-weight",error:I.value,"error-message":e.unref(n)("targets.errors.weight"),label:e.unref(n)("targets.form.fields.weight.label"),"label-attributes":{info:e.unref(n)("targets.form.fields.weight.tooltip"),tooltipAttributes:{maxWidth:"400"}},max:"65535",min:"0",readonly:h.isReadonly,required:"",type:"number"},null,8,["modelValue","error","error-message","label","label-attributes","readonly"]),a.failoverEnabled?(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(V,{modelValue:b.value,"onUpdate:modelValue":N[2]||(N[2]=B=>b.value=B),disabled:a.failoverUnsupported,label:e.unref(n)("targets.form.fields.failover.label"),"label-attributes":{info:a.failoverUnsupported?e.unref(n)("targets.form.fields.failover.unsupported"):e.unref(n)("targets.form.fields.failover.help")}},null,8,["modelValue","disabled","label","label-attributes"])])):e.createCommentVNode("",!0),e.createVNode(p,{modelValue:h.fields.tags,"onUpdate:modelValue":N[3]||(N[3]=B=>h.fields.tags=B),modelModifiers:{trim:!0},autocomplete:"off",class:"target-form-input","data-testid":"target-form-tags",help:e.unref(n)("targets.form.fields.tags.help"),label:e.unref(n)("targets.form.fields.tags.label"),placeholder:e.unref(n)("targets.form.fields.tags.placeholder"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])])]),_:3},8,["config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])]),_:3},8,["action-button-disabled","action-button-text","cancel-button-text","title","visible"])}}}),[["__scopeId","data-v-660b6d65"]]),gt={class:"kong-ui-entities-targets-list"},kt={class:"target-address"},bt=Z(e.defineComponent({__name:"TargetsList",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||!a.upstreamId||a.app==="kongManager"&&(typeof a.canMarkHealthy>"u"||typeof a.canMarkUnhealthy>"u"))},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},failoverEnabled:{type:Boolean,default:!1},algorithm:{type:String,required:!1,default:""}},emits:["error","copy:success","copy:error","delete:success","health-actions:healthy","health-actions:unhealthy","create:target","update:target"],setup(a,{emit:E}){var Q;const o=E,l=a,{i18n:{t:n}}=Y.useI18n(),{axiosInstance:g}=m.useAxios((Q=l.config)==null?void 0:Q.axiosRequestConfig),f=e.computed(()=>l.config.app!=="kongManager"||!!l.config.disableSorting),x={target:{label:n("targets.list.table_headers.target_address"),sortable:!0,hidable:!1},weight:{label:n("targets.list.table_headers.weight"),sortable:!0},...l.failoverEnabled?{failover:{label:n("targets.list.table_headers.target_type"),sortable:!1}}:{},tags:{label:n("targets.list.table_headers.tags"),sortable:!1}},s=e.computed(()=>{var O,y,S,H;let _=`${l.config.apiBaseUrl}${ge.list[l.config.app]}`;return l.config.app==="konnect"?_=_.replace(/{controlPlaneId}/gi,((O=l.config)==null?void 0:O.controlPlaneId)||"").replace(/{upstreamId}/gi,((y=l.config)==null?void 0:y.upstreamId)||""):l.config.app==="kongManager"&&(_=_.replace(/\/{workspace}/gi,(S=l.config)!=null&&S.workspace?`/${l.config.workspace}`:"").replace(/{upstreamId}/gi,((H=l.config)==null?void 0:H.upstreamId)||"")),_}),{fetcher:h,fetcherState:b,fetcherCacheKey:u}=m.useFetcher(e.computed(()=>({...l.config,cacheIdentifier:l.cacheIdentifier})),s),t=()=>{u.value++},I=e.ref(null),w=()=>{U.value=!0},d=async(_,O)=>{const y=_.id;if(!await O(y)){o("copy:error",{entity:_,field:"id",message:n("targets.errors.copy")});return}o("copy:success",{entity:_,field:"id",message:n("targets.copy.success",{val:y})})},C=async(_,O)=>{const y=JSON.stringify(_);if(!await O(y)){o("copy:error",{entity:_,message:n("targets.errors.copy")});return}o("copy:success",{entity:_,message:n("targets.copy.success_brief")})},W=_=>{T.value=_,U.value=!0},q=_=>l.config.app==="konnect"?!1:l.config.canMarkHealthy(_),$=_=>l.config.app==="konnect"?!1:l.config.canMarkUnhealthy(_),A=e.ref(void 0),M=e.ref(!1),k=e.ref(!1),N=e.ref(""),p=m.useDeleteUrlBuilder(l.config,s.value),V=_=>{A.value=_,M.value=!0},F=()=>{M.value=!1},B=async()=>{var _,O,y;if((_=A.value)!=null&&_.id){k.value=!0;try{await g.delete(p(A.value.id)),k.value=!1,M.value=!1,u.value++,o("delete:success",A.value)}catch(S){N.value=((y=(O=S.response)==null?void 0:O.data)==null?void 0:y.message)||S.message||n("targets.errors.delete"),o("error",S)}finally{k.value=!1}}};e.watch(b,_=>{var O,y,S;if(_.status===m.FetcherStatus.Error){I.value={title:n("targets.errors.general")},(S=(y=(O=_.error)==null?void 0:O.response)==null?void 0:y.data)!=null&&S.message&&(I.value.message=_.error.response.data.message),o("error",_.error);return}I.value=null});const K=e.ref({ctaText:void 0,message:`${n("targets.list.empty_state.description")}${l.config.additionMessageForEmptyState?` ${l.config.additionMessageForEmptyState}`:""}`,title:n("targets.title"),...l.config.createRoute&&{ctaPath:l.config.createRoute}});e.onBeforeMount(async()=>{await l.canCreate()&&(K.value.title=n("targets.list.empty_state.title"),K.value.ctaText=n("targets.actions.create"))});const X=e.computed(()=>({app:l.config.app,apiBaseUrl:l.config.apiBaseUrl,upstreamId:l.config.upstreamId,axiosRequestConfig:l.config.axiosRequestConfig,...l.config.app==="konnect"&&{controlPlaneId:l.config.controlPlaneId},...l.config.app==="kongManager"&&{workspace:l.config.workspace}})),T=e.ref(""),U=e.ref(!1),j=_=>{T.value?o("update:target",_):o("create:target",_),G()},G=()=>{J(),u.value++},J=()=>{U.value=!1,T.value=""};return(_,O)=>{const y=e.resolveComponent("KButton"),S=e.resolveComponent("KBadge"),H=e.resolveComponent("KDropdownItem"),R=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",gt,[e.createVNode(e.unref(m.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"disable-sorting":f.value,"empty-state-options":K.value,"enable-entity-actions":"","error-message":I.value,fetcher:e.unref(h),"fetcher-cache-key":e.unref(u),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-targets-list","table-headers":e.unref(x),onEmptyStateCtaClicked:O[1]||(O[1]=()=>l.config.createRoute?void 0:w()),onSort:t},e.createSlots({"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!a.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-new-target",size:a.useActionOutside?"medium":"large",to:l.config.createRoute?l.config.createRoute:void 0,onClick:O[0]||(O[0]=()=>l.config.createRoute?void 0:w())},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(n)("targets.list.toolbar_actions.new_target")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])],8,["disabled"]))]),target:e.withCtx(({rowValue:c})=>[e.createElementVNode("span",kt,e.toDisplayString(c),1)]),tags:e.withCtx(({rowValue:c})=>[e.createVNode(e.unref(m.TableTags),{"tag-max-width":"auto",tags:c},null,8,["tags"])]),actions:e.withCtx(({row:c})=>[e.createVNode(R,null,{default:e.withCtx(({copyToClipboard:r})=>[e.createVNode(H,{"data-testid":"action-entity-copy-id",onClick:i=>d(c,r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("targets.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(R,null,{default:e.withCtx(({copyToClipboard:r})=>[e.createVNode(H,{"data-testid":"action-entity-copy-json",onClick:i=>C(c,r)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("targets.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canEdit(c)},{default:e.withCtx(()=>[e.createVNode(H,{"data-testid":"action-entity-edit","has-divider":"",onClick:r=>W(c.id)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("targets.actions.edit")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>q(c)},{default:e.withCtx(()=>[e.createVNode(H,{"data-testid":"action-target-mark-healthy",onClick:r=>o("health-actions:healthy",c)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("targets.actions.mark_healthy")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>$(c)},{default:e.withCtx(()=>[e.createVNode(H,{"data-testid":"action-target-mark-unhealthy",onClick:r=>o("health-actions:unhealthy",c)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("targets.actions.mark_unhealthy")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(m.PermissionsWrapper),{"auth-function":()=>a.canDelete(c)},{default:e.withCtx(()=>[e.createVNode(H,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:r=>V(c)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("targets.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[a.failoverEnabled?{name:"failover",fn:e.withCtx(({rowValue:c})=>[e.createVNode(S,{appearance:"info",class:"upstream-failover"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c?e.unref(n)("targets.form.fields.failover.failover_target"):e.unref(n)("targets.form.fields.failover.load_balance_target")),1)]),_:2},1024)]),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","table-headers"]),e.createVNode(e.unref(m.EntityDeleteModal),{"action-pending":k.value,description:e.unref(n)("targets.delete.description"),"entity-type":e.unref(m.EntityTypes).Target,error:N.value,"need-confirm":!1,title:e.unref(n)("targets.delete.title"),visible:M.value,onCancel:F,onProceed:B},null,8,["action-pending","description","entity-type","error","title","visible"]),e.createVNode(Ue,{config:X.value,"failover-enabled":a.failoverEnabled,"failover-unsupported":a.failoverEnabled&&!e.unref(it).includes(a.algorithm),"is-visible":U.value,"target-id":T.value,onCancel:J,onUpdate:j},e.createSlots({_:2},[_.$slots["form-info"]?{name:"info",fn:e.withCtx(()=>[e.renderSlot(_.$slots,"form-info",{},void 0,!0)]),key:"0"}:void 0]),1032,["config","failover-enabled","failover-unsupported","is-visible","target-id"])])}}}),[["__scopeId","data-v-9fdfe77a"]]),Ct={key:1},_t=Z(e.defineComponent({__name:"UpstreamsFormGeneralInfo",props:{config:{type:Object,required:!0},name:{type:String,required:!0},hostHeader:{type:String,required:!0},clientCertificate:{type:String,required:!0},tags:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:name","update:host-header","update:client-certificate","update:tags"],setup(a,{emit:E}){var F,B,K,X;const{i18nT:o,i18n:{t:l}}=Y.useI18n(),n=a,g=E,{debouncedQueryChange:f,loading:D,loadItems:x,results:s,allRecords:h}=m.useDebouncedFilter(n.config,(B=ie.form[(F=n.config)==null?void 0:F.app])==null?void 0:B.getServices,"",{fetchedItemsKey:"data",searchKeys:["host"]}),{debouncedQueryChange:b,loading:u,loadItems:t,results:I}=m.useDebouncedFilter(n.config,(X=ie.form[(K=n.config)==null?void 0:K.app])==null?void 0:X.getCertificates),w=e.ref(""),d=e.computed(()=>{var T;return!!n.name&&!((T=h.value)!=null&&T.some(U=>U.host===n.name))}),C=e.computed(()=>{var U,j,G;const T=d.value&&n.name.includes((U=w.value)==null?void 0:U.toLowerCase());return(G=s.value)==null?void 0:G.map(J=>({label:J.host,value:J.id})).concat(T?[{label:n.name,value:((j=$.value)==null?void 0:j.value)||n.name}]:[])}),W=e.computed(()=>{var T;return(T=I.value)==null?void 0:T.map(U=>({label:U.id,value:U.id}))}),q=e.ref(""),$=e.ref({value:"",label:""}),A=e.computed(()=>{var T,U;return((T=C.value.find(j=>j.value===q.value))==null?void 0:T.label)||((U=$.value)==null?void 0:U.label)}),M=T=>{w.value=T,f(T)},k=T=>{$.value=T},N=()=>{$.value={value:"",label:""}},p=T=>{q.value=T,g("update:name",A.value)},V=e.ref(!1);return e.onBeforeMount(async()=>{var T,U;try{V.value=!0,await x(),n.name&&(q.value=((U=(T=C.value.find(j=>j.label===n.name))==null?void 0:T.value)==null?void 0:U.toString())||n.name),await t()}finally{V.value=!1}}),(T,U)=>{const j=e.resolveComponent("KSkeleton"),G=e.resolveComponent("KSelect"),J=e.resolveComponent("KInput");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-general-info",description:e.unref(l)("upstreams.form.general_info.help"),title:e.unref(l)("upstreams.form.general_info.title")},{default:e.withCtx(()=>[V.value?(e.openBlock(),e.createBlock(j,{key:0,type:"form"})):(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(G,{class:"name-select margin-bottom-6",clearable:"","data-testid":"upstreams-form-name","enable-filtering":"","enable-item-creation":"","filter-function":()=>!0,items:C.value,label:e.unref(l)("upstreams.form.fields.name.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},loading:e.unref(D),"model-value":q.value,placeholder:e.unref(l)("upstreams.form.fields.name.placeholder"),readonly:a.readonly,required:"",width:"100%",onItemAdded:k,onItemRemoved:N,onQueryChange:M,"onUpdate:modelValue":p},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(o),{keypath:"upstreams.form.fields.name.tooltip",scope:"global"},{host:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("upstreams.form.fields.name.host")),1)]),_:1})]),_:1},8,["items","label","loading","model-value","placeholder","readonly","onUpdate:modelValue"]),e.createVNode(J,{autocomplete:"off",class:"margin-bottom-6","data-testid":"upstreams-form-host-header",label:e.unref(l)("upstreams.form.fields.host_header.label"),"model-value":a.hostHeader,readonly:a.readonly,type:"text","onUpdate:modelValue":U[0]||(U[0]=Q=>g("update:host-header",Q))},null,8,["label","model-value","readonly"]),e.createVNode(G,{class:"certificate-select margin-bottom-6",clearable:"","data-testid":"upstreams-form-client-certificate","enable-filtering":"","filter-function":()=>!0,items:W.value,label:e.unref(l)("upstreams.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},loading:e.unref(u),"model-value":a.clientCertificate,placeholder:e.unref(l)("upstreams.form.fields.client_certificate.placeholder"),readonly:a.readonly,width:"100%",onQueryChange:e.unref(b),"onUpdate:modelValue":U[1]||(U[1]=Q=>g("update:client-certificate",Q))},null,8,["items","label","label-attributes","loading","model-value","placeholder","readonly","onQueryChange"]),e.createVNode(J,{autocomplete:"off","data-testid":"upstreams-form-tags",help:e.unref(l)("upstreams.form.fields.tags.help"),label:e.unref(l)("upstreams.form.fields.tags.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":a.tags,placeholder:e.unref(l)("upstreams.form.fields.tags.placeholder"),readonly:a.readonly,type:"text","onUpdate:modelValue":U[2]||(U[2]=Q=>g("update:tags",Q))},null,8,["help","label","label-attributes","model-value","placeholder","readonly"])]))]),_:1},8,["description","title"])}}}),[["__scopeId","data-v-1a71740c"]]),ke={upstreamObject:"https://developer.konghq.com/gateway/entities/upstream/",loadBalancing:"https://developer.konghq.com/gateway/traffic-control/load-balancing-reference/"},St={class:"fields-group-title"},Vt={class:"fields-group-text"},wt={class:"fields-group-title"},Nt={class:"fields-group-text"},xt=Z(e.defineComponent({__name:"UpstreamsFormLoadBalancing",props:{stickySessionsAvailable:{type:Boolean,required:!1,default:!1},algorithm:{type:String,required:!0},stickySessionsCookie:{type:String,required:!0},stickySessionsCookiePath:{type:String,required:!0},slots:{type:String,required:!0},hashOn:{type:String,required:!0},hashFallback:{type:String,required:!0},hashOnHeader:{type:String,required:!0},hashOnCookie:{type:String,required:!0},hashOnCookiePath:{type:String,required:!0},hashOnQueryArgument:{type:String,required:!0},hashOnUriCapture:{type:String,required:!0},hashFallbackHeader:{type:String,required:!0},hashFallbackQueryArgument:{type:String,required:!0},hashFallbackUriCapture:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:algorithm","update:sticky-sessions-cookie","update:sticky-sessions-cookie-path","update:slots","update:hash-on","update:hash-fallback","update:hash-on-header","update:hash-on-cookie","update:hash-on-cookie-path","update:hash-on-query-argument","update:hash-on-uri-capture","update:hash-fallback-header","update:hash-fallback-query-argument","update:hash-fallback-uri-capture"],setup(a,{emit:E}){const{i18nT:o,i18n:{t:l}}=Y.useI18n(),{inRange:n}=pe(),g=a,f=E,D=e.ref([{label:l("upstreams.form.algorithms.round_robin_label"),value:"round-robin",selected:!1},{label:l("upstreams.form.algorithms.least_connections_label"),value:"least-connections",selected:!1},{label:l("upstreams.form.algorithms.consistent_hashing_label"),value:"consistent-hashing",selected:!1},{label:l("upstreams.form.algorithms.latency_label"),value:"latency",selected:!1},...g.stickySessionsAvailable?[{label:l("upstreams.form.algorithms.sticky_sessions_label"),value:"sticky-sessions",selected:!1}]:[]]),x=e.ref([{label:l("upstreams.form.hash_labels.none"),value:"none",selected:!1},{label:l("upstreams.form.hash_labels.consumer"),value:"consumer",selected:!1},{label:l("upstreams.form.hash_labels.ip"),value:"ip",selected:!1},{label:l("upstreams.form.hash_labels.header"),value:"header",selected:!1},{label:l("upstreams.form.hash_labels.cookie"),value:"cookie",selected:!1},{label:l("upstreams.form.hash_labels.path"),value:"path",selected:!1},{label:l("upstreams.form.hash_labels.query_argument"),value:"query_arg",selected:!1},{label:l("upstreams.form.hash_labels.uri_capture"),value:"uri_capture",selected:!1}]);e.watch(()=>g.hashOn,(b,u)=>{u==="header"&&b!==u&&f("update:hash-on-header",""),u==="cookie"&&b!==u&&(f("update:hash-on-cookie",""),f("update:hash-on-cookie-path","/")),u==="query_arg"&&b!==u&&f("update:hash-on-query-argument",""),u==="uri_capture"&&b!==u&&f("update:hash-on-uri-capture",""),(b==="cookie"||b==="none")&&(f("update:hash-fallback","none"),f("update:hash-fallback-header",""),f("update:hash-fallback-query-argument",""),f("update:hash-fallback-uri-capture",""))}),e.watch(()=>g.hashFallback,(b,u)=>{u==="header"&&b!==u&&f("update:hash-fallback-header",""),u==="cookie"&&b!==u&&(f("update:hash-on-cookie",""),f("update:hash-on-cookie-path","/")),u==="query_arg"&&b!==u&&f("update:hash-fallback-query-argument",""),u==="uri_capture"&&b!==u&&f("update:hash-fallback-uri-capture","")}),e.watch(()=>g.algorithm,b=>{b==="sticky-sessions"&&(f("update:slots","10000"),f("update:hash-on","none"),f("update:hash-fallback","none"),f("update:hash-on-header",""),f("update:hash-on-cookie",""),f("update:hash-on-cookie-path","/"),f("update:hash-on-query-argument",""),f("update:hash-on-uri-capture",""),f("update:hash-fallback-header",""),f("update:hash-fallback-query-argument",""),f("update:hash-fallback-uri-capture",""))},{immediate:!0});const s=e.computed(()=>g.hashOn==="cookie"||g.hashOn==="none"),h=e.computed(()=>g.slots?n(g.slots,Ce,_e)?"":l("upstreams.form.errors.in_range"):"");return(b,u)=>{const t=e.resolveComponent("KExternalLink"),I=e.resolveComponent("KSelect"),w=e.resolveComponent("KInput"),d=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-load-balancing",title:e.unref(l)("upstreams.form.load_balancing.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(l)("upstreams.form.load_balancing.help"))+" ",1),e.createVNode(t,{"hide-icon":"",href:e.unref(ke).upstreamObject},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(I,{class:"algorithm-select",items:D.value,label:e.unref(l)("upstreams.form.fields.algorithm.label"),"model-value":a.algorithm,readonly:a.readonly,width:"100%","onUpdate:modelValue":u[0]||(u[0]=C=>f("update:algorithm",C))},null,8,["items","label","model-value","readonly"]),a.algorithm==="sticky-sessions"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(w,{autocomplete:"off","data-testid":"upstreams-form-sticky-sessions-cookie",label:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":a.stickySessionsCookie,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[1]||(u[1]=C=>f("update:sticky-sessions-cookie",C))},null,8,["label","label-attributes","model-value","readonly"]),e.createVNode(w,{autocomplete:"off","data-testid":"upstreams-form-sticky-sessions-cookie-path",label:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie_path.label"),"label-attributes":{info:e.unref(l)("upstreams.form.fields.sticky_sessions_cookie_path.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":a.stickySessionsCookiePath,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[2]||(u[2]=C=>f("update:sticky-sessions-cookie-path",C))},null,8,["label","label-attributes","model-value","readonly"])],64)):e.createCommentVNode("",!0),a.algorithm!=="sticky-sessions"?(e.openBlock(),e.createBlock(w,{key:1,autocomplete:"off","data-testid":"upstreams-form-slots",error:!!h.value,"error-message":h.value,help:e.unref(l)("upstreams.form.fields.slots.help"),label:e.unref(l)("upstreams.form.fields.slots.label"),max:e.unref(_e),min:e.unref(Ce),"model-value":a.slots,readonly:a.readonly,type:"number","onUpdate:modelValue":u[3]||(u[3]=C=>f("update:slots",C))},null,8,["error","error-message","help","label","max","min","model-value","readonly"])):e.createCommentVNode("",!0),a.algorithm!=="sticky-sessions"?(e.openBlock(),e.createBlock(d,{key:2},{default:e.withCtx(()=>[e.createElementVNode("h5",St,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_on.label")),1),e.createElementVNode("p",Vt,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_on.help")),1),e.createVNode(I,{class:"hash-on-select",items:x.value,label:e.unref(l)("upstreams.form.fields.hash_on.label"),"model-value":a.hashOn,readonly:a.readonly,width:"100%","onUpdate:modelValue":u[4]||(u[4]=C=>f("update:hash-on",C))},null,8,["items","label","model-value","readonly"]),a.hashOn==="header"?(e.openBlock(),e.createBlock(w,{key:0,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-header",label:e.unref(l)("upstreams.form.fields.header.label"),"model-value":a.hashOnHeader,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[5]||(u[5]=C=>f("update:hash-on-header",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashOn==="cookie"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie",label:e.unref(l)("upstreams.form.fields.cookie.label"),"model-value":a.hashOnCookie,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[6]||(u[6]=C=>f("update:hash-on-cookie",C))},null,8,["label","model-value","readonly"]),e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie-path",label:e.unref(l)("upstreams.form.fields.cookie_path.label"),"model-value":a.hashOnCookiePath,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[7]||(u[7]=C=>f("update:hash-on-cookie-path",C))},null,8,["label","model-value","readonly"])],64)):e.createCommentVNode("",!0),a.hashOn==="query_arg"?(e.openBlock(),e.createBlock(w,{key:2,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-query-argument",label:e.unref(l)("upstreams.form.fields.query_argument.label"),"model-value":a.hashOnQueryArgument,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[8]||(u[8]=C=>f("update:hash-on-query-argument",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashOn==="uri_capture"?(e.openBlock(),e.createBlock(w,{key:3,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-uri-capture",label:e.unref(l)("upstreams.form.fields.uri_capture.label"),"model-value":a.hashOnUriCapture,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[9]||(u[9]=C=>f("update:hash-on-uri-capture",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),a.algorithm!=="sticky-sessions"?(e.openBlock(),e.createBlock(d,{key:3},{default:e.withCtx(()=>[e.createElementVNode("h5",wt,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.label")),1),e.createElementVNode("p",Nt,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.help")),1),e.createVNode(I,{class:"hash-fallback-select",disabled:s.value,items:x.value,label:e.unref(l)("upstreams.form.fields.hash_fallback.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},"model-value":a.hashFallback,readonly:a.readonly,width:"100%","onUpdate:modelValue":u[10]||(u[10]=C=>f("update:hash-fallback",C))},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(o),{keypath:"upstreams.form.fields.hash_fallback.tooltip",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.hash_on")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("upstreams.form.fields.hash_fallback.cookie")),1)]),_:1})]),_:1},8,["disabled","items","label","model-value","readonly"]),a.hashFallback==="header"?(e.openBlock(),e.createBlock(w,{key:0,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-fallback-header",label:e.unref(l)("upstreams.form.fields.header.label"),"model-value":a.hashFallbackHeader,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[11]||(u[11]=C=>f("update:hash-fallback-header",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashFallback==="cookie"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie",label:e.unref(l)("upstreams.form.fields.cookie.label"),"model-value":a.hashOnCookie,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[12]||(u[12]=C=>f("update:hash-on-cookie",C))},null,8,["label","model-value","readonly"]),e.createVNode(w,{autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-on-cookie-path",label:e.unref(l)("upstreams.form.fields.cookie_path.label"),"model-value":a.hashOnCookiePath,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[13]||(u[13]=C=>f("update:hash-on-cookie-path",C))},null,8,["label","model-value","readonly"])],64)):e.createCommentVNode("",!0),a.hashFallback==="query_arg"?(e.openBlock(),e.createBlock(w,{key:2,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-fallback-query-argument",label:e.unref(l)("upstreams.form.fields.query_argument.label"),"model-value":a.hashFallbackQueryArgument,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[14]||(u[14]=C=>f("update:hash-fallback-query-argument",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0),a.hashFallback==="uri_capture"?(e.openBlock(),e.createBlock(w,{key:3,autocomplete:"off",class:"margin-top-6","data-testid":"upstreams-form-hash-fallback-uri-capture",label:e.unref(l)("upstreams.form.fields.uri_capture.label"),"model-value":a.hashFallbackUriCapture,readonly:a.readonly,required:"",type:"text","onUpdate:modelValue":u[15]||(u[15]=C=>f("update:hash-fallback-uri-capture",C))},null,8,["label","model-value","readonly"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["title"])}}}),[["__scopeId","data-v-656aa4f4"]]),Ht={class:"fields-group-title"},Tt={class:"fields-group-text"},Ut={class:"fields-group-title"},It={class:"fields-group-text"},qt=Z(e.defineComponent({__name:"UpstreamsFormHealthChecks",props:{activeHealthSwitch:{type:Boolean,required:!0},passiveHealthSwitch:{type:Boolean,required:!0},healthchecksThreshold:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:active-health-switch","update:passive-health-switch","update:healthchecks-threshold"],setup(a,{emit:E}){const{i18n:{t:o}}=Y.useI18n(),l=E;return(n,g)=>{const f=e.resolveComponent("KExternalLink"),D=e.resolveComponent("KInputSwitch"),x=e.resolveComponent("KCard"),s=e.resolveComponent("KInput");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-healthchecks",title:e.unref(o)("upstreams.form.health_check.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.health_check.help"))+" ",1),e.createVNode(f,{"hide-icon":"",href:e.unref(ke).loadBalancing},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Ht,e.toDisplayString(e.unref(o)("upstreams.form.fields.active_health_checks.label")),1),e.createElementVNode("p",Tt,e.toDisplayString(e.unref(o)("upstreams.form.fields.active_health_checks.help")),1),e.createVNode(D,{class:"active-health-switch","data-testid":"active-health-switch",disabled:a.readonly,"model-value":a.activeHealthSwitch,onChange:g[0]||(g[0]=h=>l("update:active-health-switch",h))},null,8,["disabled","model-value"])]),_:1}),e.createVNode(x,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Ut,e.toDisplayString(e.unref(o)("upstreams.form.fields.passive_health_checks.label")),1),e.createElementVNode("p",It,e.toDisplayString(e.unref(o)("upstreams.form.fields.passive_health_checks.help")),1),e.createVNode(D,{class:"passive-health-switch","data-testid":"passive-health-switch",disabled:a.readonly,"model-value":a.passiveHealthSwitch,onChange:g[1]||(g[1]=h=>l("update:passive-health-switch",h))},null,8,["disabled","model-value"])]),_:1}),e.createVNode(s,{autocomplete:"off","data-testid":"upstreams-form-healthchecks-threshold",label:e.unref(o)("upstreams.form.fields.healthchecks_threshold.label"),max:e.unref(at),min:e.unref(tt),"model-value":a.healthchecksThreshold,readonly:a.readonly,type:"number","onUpdate:modelValue":g[2]||(g[2]=h=>l("update:healthchecks-threshold",h))},null,8,["label","max","min","model-value","readonly"])]),_:1},8,["title"])}}}),[["__scopeId","data-v-c2ff95ff"]]),Ft="#d60027",Bt={class:"fields-group-title"},Et={class:"fields-group-text"},Ot={class:"fields-group-title"},Dt={class:"fields-group-text"},$t=Z(e.defineComponent({__name:"UpstreamsFormActiveHealthCheck",props:{config:{type:Object,required:!0},type:{type:String,required:!0},httpPath:{type:String,required:!0},timeout:{type:String,required:!0},concurrency:{type:String,required:!0},httpsSni:{type:String,required:!0},verifySsl:{type:Boolean,required:!0},headers:{type:Array,required:!0},healthyInterval:{type:String,required:!0},healthySuccesses:{type:String,required:!0},healthyHttpStatuses:{type:Array,required:!0},unhealthyInterval:{type:String,required:!0},unhealthyHttpFailures:{type:String,required:!0},unhealthyTcpFailures:{type:String,required:!0},unhealthyHttpStatuses:{type:Array,required:!0},unhealthyTimeouts:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:type","update:http-path","update:timeout","update:concurrency","update:https-sni","update:verify-ssl","update:headers","update:healthy-interval","update:healthy-successes","update:healthy-http-statuses","update:unhealthy-interval","update:unhealthy-http-failures","update:unhealthy-tcp-failures","update:unhealthy-http-statuses","update:unhealthy-timeouts"],setup(a,{emit:E}){const{i18n:{t:o}}=Y.useI18n(),{objectsAreEqual:l}=pe(),n=a,g=E,f=e.ref([{label:o("upstreams.form.healthcheck_type_labels.http"),value:"http",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.https"),value:"https",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.tcp"),value:"tcp",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsp"),value:"grpc",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsps"),value:"grpcs",selected:!1}]),D=e.computed(()=>n.type==="https"||n.type==="grpcs"),x=e.computed(()=>n.type==="tcp"),{trackNewItems:s}=ne({replaceId:!0}),{trackNewItems:h}=ne({replaceId:!0});e.watch(()=>n.type,(w,d)=>{d==="tcp"&&w!==d&&g("update:unhealthy-tcp-failures","5"),(d==="https"||d==="grpcs")&&w!==d&&(g("update:https-sni",""),g("update:verify-ssl",!1)),d!=="tcp"&&w==="tcp"&&(g("update:http-path","/"),g("update:healthy-http-statuses",ce),g("update:unhealthy-http-statuses",ue))});const b=e.ref([{key:"",values:""}]);e.watch(()=>n.headers,w=>{l(b.value,w)||(b.value=[...w])},{immediate:!0,deep:!0});const u=()=>{g("update:headers",b.value)},t=()=>{b.value.push({key:"",values:""}),u()},I=w=>{w===0&&b.value.length===1?b.value[0]={key:"",values:""}:b.value.splice(w,1),u()};return(w,d)=>{const C=e.resolveComponent("KExternalLink"),W=e.resolveComponent("KSelect"),q=e.resolveComponent("KInput"),$=e.resolveComponent("KCheckbox"),A=e.resolveComponent("KLabel"),M=e.resolveComponent("KButton"),k=e.resolveComponent("KMultiselect"),N=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-active-healthcheck",title:e.unref(o)("upstreams.form.active_health_check.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.active_health_check.help"))+" ",1),e.createVNode(C,{"hide-icon":"",href:e.unref(ke).upstreamObject},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(W,{class:"active-healthcheck-type-select",items:f.value,label:e.unref(o)("upstreams.form.fields.active_healthcheck_type.label"),"model-value":a.type,readonly:a.readonly,width:"100%","onUpdate:modelValue":d[0]||(d[0]=p=>g("update:type",p))},null,8,["items","label","model-value","readonly"]),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(q,{key:0,autocomplete:"off","data-testid":"active-healthcheck-http-path",label:e.unref(o)("upstreams.form.fields.http_path.label"),"model-value":a.httpPath,readonly:a.readonly,type:"text","onUpdate:modelValue":d[1]||(d[1]=p=>g("update:http-path",p))},null,8,["label","model-value","readonly"])),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-timeout",label:e.unref(o)("upstreams.form.fields.timeout.label"),max:e.unref(st),min:e.unref(lt),"model-value":a.timeout,readonly:a.readonly,type:"number","onUpdate:modelValue":d[2]||(d[2]=p=>g("update:timeout",p))},null,8,["label","max","min","model-value","readonly"]),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-concurrency",label:e.unref(o)("upstreams.form.fields.concurrency.label"),max:e.unref(rt),min:e.unref(ot),"model-value":a.concurrency,readonly:a.readonly,type:"number","onUpdate:modelValue":d[3]||(d[3]=p=>g("update:concurrency",p))},null,8,["label","max","min","model-value","readonly"]),D.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-https-sni",label:e.unref(o)("upstreams.form.fields.https_sni.label"),"model-value":a.httpsSni,readonly:a.readonly,type:"text","onUpdate:modelValue":d[4]||(d[4]=p=>g("update:https-sni",p))},null,8,["label","model-value","readonly"]),e.createVNode($,{"data-testid":"active-healthcheck-verify-ssl",disabled:a.readonly,label:e.unref(o)("upstreams.form.fields.verify_ssl.label"),"model-value":a.verifySsl,"onUpdate:modelValue":d[5]||(d[5]=p=>g("update:verify-ssl",p))},null,8,["disabled","label","model-value"])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createVNode(A,{info:e.unref(o)("upstreams.form.fields.headers.tooltip_active"),"tooltip-attributes":{maxWidth:"250px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.fields.headers.label")),1)]),_:1},8,["info"]),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(p,V)=>(e.openBlock(),e.createElementBlock("div",{key:`${p.header}_${V}`,class:e.normalizeClass(["headers-row",{"margin-top-6":V>0}])},[e.createVNode(q,{modelValue:b.value[V].key,"onUpdate:modelValue":F=>b.value[V].key=F,autocomplete:"off","data-testid":`active-healthcheck-headers-header-${V+1}`,readonly:a.readonly,type:"text",onBlur:u},null,8,["modelValue","onUpdate:modelValue","data-testid","readonly"]),e.createVNode(q,{modelValue:b.value[V].values,"onUpdate:modelValue":F=>b.value[V].values=F,autocomplete:"off","data-testid":`active-healthcheck-headers-value-${V+1}`,readonly:a.readonly,type:"text",onBlur:u},null,8,["modelValue","onUpdate:modelValue","data-testid","readonly"]),e.createVNode(M,{appearance:"tertiary",class:"btn-remove","data-testid":"btn-remove-header",disabled:b.value.length===1,icon:"",onClick:F=>I(V)},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.TrashIcon),{class:"delete-item",color:b.value.length>1?e.unref(Ft):void 0},null,8,["color"])]),_:2},1032,["disabled","onClick"]),b.value&&V===b.value.length-1?(e.openBlock(),e.createBlock(M,{key:0,appearance:"tertiary",class:"btn-add-header","data-testid":"btn-add-header",icon:"",onClick:t},{default:e.withCtx(()=>[e.createVNode(e.unref(ee.AddIcon))]),_:1})):e.createCommentVNode("",!0)],2))),128))])]),e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Bt,e.toDisplayString(e.unref(o)("upstreams.form.healthy.label")),1),e.createElementVNode("p",Et,e.toDisplayString(e.unref(o)("upstreams.form.healthy.help")),1),e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-healthy-interval",help:e.unref(o)("upstreams.form.fields.interval.help"),label:e.unref(o)("upstreams.form.fields.interval.label"),max:e.unref(Te),min:e.unref(He),"model-value":a.healthyInterval,readonly:a.readonly,type:"number","onUpdate:modelValue":d[6]||(d[6]=p=>g("update:healthy-interval",p))},null,8,["help","label","max","min","model-value","readonly"]),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-healthy-successes",label:e.unref(o)("upstreams.form.fields.successes.label"),max:e.unref(se),min:e.unref(le),"model-value":a.healthySuccesses,readonly:a.readonly,type:"number","onUpdate:modelValue":d[7]||(d[7]=p=>g("update:healthy-successes",p))},null,8,["label","max","min","model-value","readonly"]),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:0,autocomplete:"off",class:"margin-top-6 active-healthcheck-healthy-http-statuses","data-testid":"active-healthcheck-healthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.healthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:d[8]||(d[8]=p=>e.unref(s)(p,!0)),onItemRemoved:d[9]||(d[9]=p=>e.unref(s)(p,!1)),"onUpdate:modelValue":d[10]||(d[10]=p=>g("update:healthy-http-statuses",p))},null,8,["items","label","model-value","readonly"]))]),_:1}),e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Ot,e.toDisplayString(e.unref(o)("upstreams.form.unhealthy.label")),1),e.createElementVNode("p",Dt,e.toDisplayString(e.unref(o)("upstreams.form.unhealthy.help")),1),e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-unhealthy-interval",help:e.unref(o)("upstreams.form.fields.interval.help"),label:e.unref(o)("upstreams.form.fields.interval.label"),max:e.unref(Te),min:e.unref(He),"model-value":a.unhealthyInterval,readonly:a.readonly,type:"number","onUpdate:modelValue":d[11]||(d[11]=p=>g("update:unhealthy-interval",p))},null,8,["help","label","max","min","model-value","readonly"]),e.createVNode(q,{autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-unhealthy-tcp-failures",label:e.unref(o)("upstreams.form.fields.tcp_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyTcpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":d[12]||(d[12]=p=>g("update:unhealthy-tcp-failures",p))},null,8,["label","max","min","model-value","readonly"]),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(q,{key:0,autocomplete:"off",class:"margin-bottom-6","data-testid":"active-healthcheck-unhealthy-http-failures",label:e.unref(o)("upstreams.form.fields.http_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyHttpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":d[13]||(d[13]=p=>g("update:unhealthy-http-failures",p))},null,8,["label","max","min","model-value","readonly"])),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:1,autocomplete:"off",class:"margin-bottom-6 active-healthcheck-unhealthy-http-statuses","data-testid":"active-healthcheck-unhealthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.unhealthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:d[14]||(d[14]=p=>e.unref(h)(p,!0)),onItemRemoved:d[15]||(d[15]=p=>e.unref(h)(p,!1)),"onUpdate:modelValue":d[16]||(d[16]=p=>g("update:unhealthy-http-statuses",p))},null,8,["items","label","model-value","readonly"])),e.createVNode(q,{autocomplete:"off","data-testid":"active-healthcheck-unhealthy-timeouts",label:e.unref(o)("upstreams.form.fields.timeouts.label"),max:e.unref(xe),min:e.unref(Ne),"model-value":a.unhealthyTimeouts,readonly:a.readonly,type:"number","onUpdate:modelValue":d[17]||(d[17]=p=>g("update:unhealthy-timeouts",p))},null,8,["label","max","min","model-value","readonly"])]),_:1})]),_:1},8,["title"])}}}),[["__scopeId","data-v-cfc70316"]]),Pt={class:"fields-group-title"},At={class:"fields-group-text"},Mt={class:"fields-group-title"},Kt={class:"fields-group-text"},Rt=Z(e.defineComponent({__name:"UpstreamsFormPassiveHealthCheck",props:{type:{type:String,required:!0},healthySuccesses:{type:String,required:!0},healthyHttpStatuses:{type:Array,required:!0},unhealthyTimeouts:{type:String,required:!0},unhealthyHttpFailures:{type:String,required:!0},unhealthyHttpStatuses:{type:Array,required:!0},unhealthyTcpFailures:{type:String,required:!0},readonly:{type:Boolean,required:!1,default:!1}},emits:["update:type","update:healthy-successes","update:healthy-http-statuses","update:unhealthy-timeouts","update:unhealthy-http-failures","update:unhealthy-http-statuses","update:unhealthy-tcp-failures"],setup(a,{emit:E}){const{i18n:{t:o}}=Y.useI18n(),l=a,n=E,g=e.ref([{label:o("upstreams.form.healthcheck_type_labels.http"),value:"http",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.https"),value:"https",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.tcp"),value:"tcp",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsp"),value:"grpc",selected:!1},{label:o("upstreams.form.healthcheck_type_labels.grsps"),value:"grpcs",selected:!1}]),f=e.computed(()=>l.type==="tcp"),{trackNewItems:D}=ne({replaceId:!0}),{trackNewItems:x}=ne({replaceId:!0});return e.watch(()=>l.type,(s,h)=>{h==="tcp"&&s!==h&&n("update:unhealthy-tcp-failures","5"),h!=="tcp"&&s==="tcp"&&(n("update:healthy-http-statuses",de),n("update:unhealthy-http-statuses",fe))}),(s,h)=>{const b=e.resolveComponent("KExternalLink"),u=e.resolveComponent("KSelect"),t=e.resolveComponent("KInput"),I=e.resolveComponent("KMultiselect"),w=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(e.unref(m.EntityFormSection),{class:"kong-ui-entities-upstreams-passive-healthcheck",title:e.unref(o)("upstreams.form.passive_health_check.title")},{description:e.withCtx(()=>[e.createElementVNode("p",null,[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.passive_health_check.help"))+" ",1),e.createVNode(b,{"hide-icon":"",href:e.unref(ke).upstreamObject},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("upstreams.form.buttons.view_documentation")),1)]),_:1},8,["href"])])]),default:e.withCtx(()=>[e.createVNode(u,{class:"passive-healthcheck-type-select",items:g.value,label:e.unref(o)("upstreams.form.fields.passive_health_check_type.label"),"model-value":a.type,readonly:a.readonly,width:"100%","onUpdate:modelValue":h[0]||(h[0]=d=>n("update:type",d))},null,8,["items","label","model-value","readonly"]),e.createVNode(w,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Pt,e.toDisplayString(e.unref(o)("upstreams.form.passive_healthy.label")),1),e.createElementVNode("p",At,e.toDisplayString(e.unref(o)("upstreams.form.passive_healthy.help")),1),e.createVNode(t,{autocomplete:"off","data-testid":"passive-healthcheck-healthy-successes",label:e.unref(o)("upstreams.form.fields.successes.label"),max:e.unref(se),min:e.unref(le),"model-value":a.healthySuccesses,readonly:a.readonly,type:"number","onUpdate:modelValue":h[1]||(h[1]=d=>n("update:healthy-successes",d))},null,8,["label","max","min","model-value","readonly"]),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(I,{key:0,class:"margin-top-6 passive-healthcheck-healthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.healthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:h[2]||(h[2]=d=>e.unref(D)(d,!0)),onItemRemoved:h[3]||(h[3]=d=>e.unref(D)(d,!1)),"onUpdate:modelValue":h[4]||(h[4]=d=>n("update:healthy-http-statuses",d))},null,8,["items","label","model-value","readonly"]))]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createElementVNode("h5",Mt,e.toDisplayString(e.unref(o)("upstreams.form.passive_unhealthy.label")),1),e.createElementVNode("p",Kt,e.toDisplayString(e.unref(o)("upstreams.form.passive_unhealthy.help")),1),e.createVNode(t,{autocomplete:"off","data-testid":"passive-healthcheck-unhealthy-timeouts",label:e.unref(o)("upstreams.form.fields.timeouts.label"),max:e.unref(xe),min:e.unref(Ne),"model-value":a.unhealthyTimeouts,readonly:a.readonly,type:"number","onUpdate:modelValue":h[5]||(h[5]=d=>n("update:unhealthy-timeouts",d))},null,8,["label","max","min","model-value","readonly"]),e.createVNode(t,{autocomplete:"off",class:"margin-top-6","data-testid":"passive-healthcheck-unhealthy-tcp-failures",label:e.unref(o)("upstreams.form.fields.tcp_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyTcpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":h[6]||(h[6]=d=>n("update:unhealthy-tcp-failures",d))},null,8,["label","max","min","model-value","readonly"]),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(t,{key:0,autocomplete:"off",class:"margin-top-6","data-testid":"passive-healthcheck-unhealthy-http-failures",label:e.unref(o)("upstreams.form.fields.http_failures.label"),max:e.unref(se),min:e.unref(le),"model-value":a.unhealthyHttpFailures,readonly:a.readonly,type:"number","onUpdate:modelValue":h[7]||(h[7]=d=>n("update:unhealthy-http-failures",d))},null,8,["label","max","min","model-value","readonly"])),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(I,{key:1,autocomplete:"off",class:"margin-top-6 passive-healthcheck-unhealthy-http-statuses","data-testid":"passive-healthcheck-unhealthy-http-statuses","enable-item-creation":"",items:e.unref(he),label:e.unref(o)("upstreams.form.fields.http_statuses.label"),"model-value":a.unhealthyHttpStatuses,readonly:a.readonly,width:"100%",onItemAdded:h[8]||(h[8]=d=>e.unref(x)(d,!0)),onItemRemoved:h[9]||(h[9]=d=>e.unref(x)(d,!1)),"onUpdate:modelValue":h[10]||(h[10]=d=>n("update:unhealthy-http-statuses",d))},null,8,["items","label","model-value","readonly"]))]),_:1})]),_:1},8,["title"])}}}),[["__scopeId","data-v-7c20c5c5"]]),Lt={class:"kong-ui-entities-upstreams-form"},jt=Z(e.defineComponent({__name:"UpstreamsForm",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||(a==null?void 0:a.app)==="konnect"&&!(a!=null&&a.controlPlaneId)||(a==null?void 0:a.app)==="kongManager"&&typeof(a==null?void 0:a.workspace)!="string"||!(a!=null&&a.cancelRoute))},upstreamId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(a,{emit:E}){var R;const o=a,l=E,{inRange:n,stringToNumberArray:g,upstreamsResponseToFields:f,getDefaultUpstreamFields:D,objectsAreEqual:x,cloneDeep:s}=pe(),{axiosInstance:h}=m.useAxios((R=o.config)==null?void 0:R.axiosRequestConfig),{getMessageFromError:b}=m.useErrors(),u=Ve.useRouter(),t=e.reactive({fields:D(),readonly:!1,errorMessage:""}),I=e.reactive(D()),w=e.computed(()=>!x(t.fields,I)),d=c=>{t.fields.activeHealthCheck.healthy.interval=c?"5":"0",t.fields.activeHealthCheck.healthy.successes=c?"5":"0",t.fields.activeHealthCheck.healthy.httpStatuses=c?ce:[],t.fields.activeHealthCheck.unhealthy.httpStatuses=c?ue:[],t.fields.activeHealthCheck.unhealthy.httpFailures=c?"5":"0",t.fields.activeHealthCheck.unhealthy.interval=c?"5":"0",t.fields.activeHealthCheck.unhealthy.tcpFailures=c?"5":"0",t.fields.activeHealthCheck.unhealthy.timeouts=c?"5":"0",t.fields.activeHealthCheck.timeout=c?"1":"0",t.fields.activeHealthCheck.concurrency=c?"10":"0",t.fields.activeHealthCheck.httpPath=c?"/":"",t.fields.activeHealthCheck.httpsSni="",t.fields.activeHealthCheck.type="http"},C=c=>{t.fields.passiveHealthCheck.healthy.successes=c?"80":"0",t.fields.passiveHealthCheck.healthy.httpStatuses=c?de:[],t.fields.passiveHealthCheck.unhealthy.timeouts=c?"5":"0",t.fields.passiveHealthCheck.unhealthy.tcpFailures=c?"5":"0",t.fields.passiveHealthCheck.unhealthy.httpFailures=c?"5":"0",t.fields.passiveHealthCheck.unhealthy.httpStatuses=c?fe:[],t.fields.passiveHealthCheck.type="http"},W=e.computed(()=>t.fields.algorithm!=="sticky-sessions"?!0:!!t.fields.stickySessionsCookie&&!!t.fields.stickySessionsCookiePath),q=e.computed(()=>t.fields.slots?n(t.fields.slots,Ce,_e):!0),$=e.computed(()=>t.fields.hashOn==="header"?!!t.fields.hashOnHeader:!0),A=e.computed(()=>t.fields.hashOn==="cookie"||t.fields.hashFallback==="cookie"?!!t.fields.hashOnCookie:!0),M=e.computed(()=>t.fields.hashOn==="cookie"||t.fields.hashFallback==="cookie"?!!t.fields.hashOnCookiePath:!0),k=e.computed(()=>t.fields.hashOn==="query_arg"?!!t.fields.hashOnQueryArgument:!0),N=e.computed(()=>t.fields.hashOn==="uri_capture"?!!t.fields.hashOnUriCapture:!0),p=e.computed(()=>t.fields.hashFallback==="header"?!!t.fields.hashFallbackHeader:!0),V=e.computed(()=>t.fields.hashFallback==="query_arg"?!!t.fields.hashFallbackQueryArgument:!0),F=e.computed(()=>t.fields.hashFallback==="uri_capture"?!!t.fields.hashFallbackUriCapture:!0),B=e.computed(()=>!!t.fields.name&&W.value&&q.value&&$.value&&A.value&&M.value&&k.value&&N.value&&p.value&&V.value&&F.value),K=e.computed(()=>o.upstreamId?m.EntityBaseFormType.Edit:m.EntityBaseFormType.Create),X=e.computed(()=>{var c,r;return(r=ie.form[(c=o.config)==null?void 0:c.app])==null?void 0:r.edit}),T=c=>{Object.assign(t.fields,f(c)),Object.assign(I,s(t.fields))},U=()=>{var c;u.push(((c=o.config)==null?void 0:c.cancelRoute)||{name:"upstreams-list"})},j=c=>{l("loading",c)},G=c=>{l("error",c)},J=e.computed(()=>{const c=o.config.stickySessionsAvailable?{sticky_sessions_cookie:null,sticky_sessions_cookie_path:null}:{};return t.fields.algorithm==="sticky-sessions"&&(c.sticky_sessions_cookie=t.fields.stickySessionsCookie||null,c.sticky_sessions_cookie_path=t.fields.stickySessionsCookiePath||null),c}),Q=e.computed(()=>{const c={};return t.fields.hashOn==="header"&&(c.hash_on_header=t.fields.hashOnHeader),(t.fields.hashOn==="cookie"||t.fields.hashFallback==="cookie")&&(c.hash_on_cookie=t.fields.hashOnCookie,c.hash_on_cookie_path=t.fields.hashOnCookiePath),t.fields.hashOn==="query_arg"&&(c.hash_on_query_arg=t.fields.hashOnQueryArgument),t.fields.hashOn==="uri_capture"&&(c.hash_on_uri_capture=t.fields.hashOnUriCapture),t.fields.hashFallback==="header"&&(c.hash_fallback_header=t.fields.hashFallbackHeader),t.fields.hashFallback==="query_arg"&&(c.hash_fallback_query_arg=t.fields.hashFallbackQueryArgument),t.fields.hashFallback==="uri_capture"&&(c.hash_fallback_uri_capture=t.fields.hashFallbackUriCapture),c}),_=e.computed(()=>{var r,i,P;if(!t.fields.activeHealthSwitch)return((r=o.config)==null?void 0:r.app)==="kongManager"&&K.value===m.EntityBaseFormType.Edit?{type:t.fields.activeHealthCheck.type,headers:{},healthy:{interval:0,successes:0},unhealthy:{interval:0,http_failures:0,tcp_failures:0,timeouts:0}}:void 0;const c={type:t.fields.activeHealthCheck.type,healthy:{interval:Number(t.fields.activeHealthCheck.healthy.interval||"0"),successes:Number(t.fields.activeHealthCheck.healthy.successes||"0")},unhealthy:{interval:Number(t.fields.activeHealthCheck.unhealthy.interval||"0"),timeouts:Number(t.fields.activeHealthCheck.unhealthy.timeouts||"0"),tcp_failures:Number(t.fields.activeHealthCheck.unhealthy.tcpFailures||"0")},timeout:Number(t.fields.activeHealthCheck.timeout||"1"),concurrency:Number(t.fields.activeHealthCheck.concurrency||"10")};if(t.fields.activeHealthCheck.type!=="tcp"){c.http_path=t.fields.activeHealthCheck.httpPath||"/",c.unhealthy.http_failures=Number(t.fields.activeHealthCheck.unhealthy.httpFailures||"5");const L=(i=t.fields.activeHealthCheck.unhealthy.httpStatuses)!=null&&i.length?t.fields.activeHealthCheck.unhealthy.httpStatuses:ue;c.unhealthy.http_statuses=g(L);const z=(P=t.fields.activeHealthCheck.healthy.httpStatuses)!=null&&P.length?t.fields.activeHealthCheck.healthy.httpStatuses:ce;c.healthy.http_statuses=g(z)}return["https","grpcs"].includes(t.fields.activeHealthCheck.type)&&(c.https_sni=t.fields.activeHealthCheck.httpsSni||null,c.https_verify_certificate=t.fields.activeHealthCheck.verifySsl),c.headers=t.fields.activeHealthCheck.headers.reduce((L,z)=>{var te,ae;return z.key?{...L,[z.key]:(ae=(te=z.values.split(","))==null?void 0:te.map(be=>be.trim()))==null?void 0:ae.filter(Boolean)}:L},{}),c}),O=e.computed(()=>{var r,i,P;if(!t.fields.passiveHealthSwitch)return((r=o.config)==null?void 0:r.app)==="kongManager"&&K.value===m.EntityBaseFormType.Edit?{type:t.fields.passiveHealthCheck.type,healthy:{successes:0},unhealthy:{timeouts:0,tcp_failures:0,http_failures:0}}:void 0;const c={type:t.fields.passiveHealthCheck.type,healthy:{successes:Number(t.fields.passiveHealthCheck.healthy.successes||"0")},unhealthy:{timeouts:Number(t.fields.passiveHealthCheck.unhealthy.timeouts||"0"),tcp_failures:Number(t.fields.passiveHealthCheck.unhealthy.tcpFailures||"5")}};if(t.fields.passiveHealthCheck.type!=="tcp"){c.unhealthy.http_failures=Number(t.fields.passiveHealthCheck.unhealthy.httpFailures||"5");const L=(i=t.fields.passiveHealthCheck.healthy.httpStatuses)!=null&&i.length?t.fields.passiveHealthCheck.healthy.httpStatuses:de;c.healthy.http_statuses=g(L);const z=(P=t.fields.passiveHealthCheck.unhealthy.httpStatuses)!=null&&P.length?t.fields.passiveHealthCheck.unhealthy.httpStatuses:fe;c.unhealthy.http_statuses=g(z)}return c}),y=e.computed(()=>{const c={name:t.fields.name,slots:Number(t.fields.slots),algorithm:t.fields.algorithm,hash_on:t.fields.hashOn,hash_fallback:t.fields.hashFallback,healthchecks:{threshold:Number(t.fields.healthchecksThreshold||"0")},host_header:t.fields.hostHeader||null,client_certificate:t.fields.clientCertificate?{id:t.fields.clientCertificate}:null},r=_.value,i=O.value,P={...c,...J.value,healthchecks:{...c.healthchecks,active:r||void 0,passive:i||void 0}};return P.tags=t.fields.tags?t.fields.tags.split(",").map(L=>String(L||"").trim()).filter(L=>L!==""):[],Object.assign(P,Q.value),P}),S=c=>{var i,P,L,z,te,ae;let r=`${(i=o.config)==null?void 0:i.apiBaseUrl}${ie.form[(P=o.config)==null?void 0:P.app][c]}`;return((L=o.config)==null?void 0:L.app)==="konnect"?r=r.replace(/{controlPlaneId}/gi,((z=o.config)==null?void 0:z.controlPlaneId)||""):((te=o.config)==null?void 0:te.app)==="kongManager"&&(r=r.replace(/\/{workspace}/gi,(ae=o.config)!=null&&ae.workspace?`/${o.config.workspace}`:"")),r=r.replace(/{id}/gi,o.upstreamId),r},H=async()=>{var c;try{t.readonly=!0,await h.post(S("validate"),y.value);let r;K.value===m.EntityBaseFormType.Create?r=await h.post(S("create"),y.value):K.value===m.EntityBaseFormType.Edit&&(r=((c=o.config)==null?void 0:c.app)==="konnect"?await h.put(S("edit"),y.value):await h.patch(S("edit"),y.value)),l("update",r==null?void 0:r.data)}catch(r){t.errorMessage=b(r),l("error",r)}finally{t.readonly=!1}};return(c,r)=>(e.openBlock(),e.createElementBlock("div",Lt,[e.createVNode(e.unref(m.EntityBaseForm),{"can-submit":B.value&&w.value,config:a.config,"edit-id":a.upstreamId,"entity-type":e.unref(m.SupportedEntityType).Upstream,"error-message":t.errorMessage,"fetch-url":X.value,"form-fields":y.value,"is-readonly":t.readonly,onCancel:U,"onFetch:error":G,"onFetch:success":T,onLoading:j,onSubmit:H},{default:e.withCtx(()=>[e.createVNode(_t,{"client-certificate":t.fields.clientCertificate,"onUpdate:clientCertificate":r[0]||(r[0]=i=>t.fields.clientCertificate=i),"host-header":t.fields.hostHeader,"onUpdate:hostHeader":r[1]||(r[1]=i=>t.fields.hostHeader=i),name:t.fields.name,"onUpdate:name":r[2]||(r[2]=i=>t.fields.name=i),tags:t.fields.tags,"onUpdate:tags":r[3]||(r[3]=i=>t.fields.tags=i),config:a.config,readonly:t.readonly},null,8,["client-certificate","host-header","name","tags","config","readonly"]),e.createVNode(xt,{algorithm:t.fields.algorithm,"onUpdate:algorithm":r[4]||(r[4]=i=>t.fields.algorithm=i),"hash-fallback":t.fields.hashFallback,"onUpdate:hashFallback":r[5]||(r[5]=i=>t.fields.hashFallback=i),"hash-fallback-header":t.fields.hashFallbackHeader,"onUpdate:hashFallbackHeader":r[6]||(r[6]=i=>t.fields.hashFallbackHeader=i),"hash-fallback-query-argument":t.fields.hashFallbackQueryArgument,"onUpdate:hashFallbackQueryArgument":r[7]||(r[7]=i=>t.fields.hashFallbackQueryArgument=i),"hash-fallback-uri-capture":t.fields.hashFallbackUriCapture,"onUpdate:hashFallbackUriCapture":r[8]||(r[8]=i=>t.fields.hashFallbackUriCapture=i),"hash-on":t.fields.hashOn,"onUpdate:hashOn":r[9]||(r[9]=i=>t.fields.hashOn=i),"hash-on-cookie":t.fields.hashOnCookie,"onUpdate:hashOnCookie":r[10]||(r[10]=i=>t.fields.hashOnCookie=i),"hash-on-cookie-path":t.fields.hashOnCookiePath,"onUpdate:hashOnCookiePath":r[11]||(r[11]=i=>t.fields.hashOnCookiePath=i),"hash-on-header":t.fields.hashOnHeader,"onUpdate:hashOnHeader":r[12]||(r[12]=i=>t.fields.hashOnHeader=i),"hash-on-query-argument":t.fields.hashOnQueryArgument,"onUpdate:hashOnQueryArgument":r[13]||(r[13]=i=>t.fields.hashOnQueryArgument=i),"hash-on-uri-capture":t.fields.hashOnUriCapture,"onUpdate:hashOnUriCapture":r[14]||(r[14]=i=>t.fields.hashOnUriCapture=i),slots:t.fields.slots,"onUpdate:slots":r[15]||(r[15]=i=>t.fields.slots=i),"sticky-sessions-cookie":t.fields.stickySessionsCookie,"onUpdate:stickySessionsCookie":r[16]||(r[16]=i=>t.fields.stickySessionsCookie=i),"sticky-sessions-cookie-path":t.fields.stickySessionsCookiePath,"onUpdate:stickySessionsCookiePath":r[17]||(r[17]=i=>t.fields.stickySessionsCookiePath=i),readonly:t.readonly,"sticky-sessions-available":a.config.stickySessionsAvailable},null,8,["algorithm","hash-fallback","hash-fallback-header","hash-fallback-query-argument","hash-fallback-uri-capture","hash-on","hash-on-cookie","hash-on-cookie-path","hash-on-header","hash-on-query-argument","hash-on-uri-capture","slots","sticky-sessions-cookie","sticky-sessions-cookie-path","readonly","sticky-sessions-available"]),e.createVNode(qt,{"active-health-switch":t.fields.activeHealthSwitch,"onUpdate:activeHealthSwitch":[r[18]||(r[18]=i=>t.fields.activeHealthSwitch=i),d],"healthchecks-threshold":t.fields.healthchecksThreshold,"onUpdate:healthchecksThreshold":r[19]||(r[19]=i=>t.fields.healthchecksThreshold=i),"passive-health-switch":t.fields.passiveHealthSwitch,"onUpdate:passiveHealthSwitch":[r[20]||(r[20]=i=>t.fields.passiveHealthSwitch=i),C],readonly:t.readonly},null,8,["active-health-switch","healthchecks-threshold","passive-health-switch","readonly"]),t.fields.activeHealthSwitch?(e.openBlock(),e.createBlock($t,{key:0,concurrency:t.fields.activeHealthCheck.concurrency,"onUpdate:concurrency":r[21]||(r[21]=i=>t.fields.activeHealthCheck.concurrency=i),headers:t.fields.activeHealthCheck.headers,"onUpdate:headers":r[22]||(r[22]=i=>t.fields.activeHealthCheck.headers=i),"healthy-http-statuses":t.fields.activeHealthCheck.healthy.httpStatuses,"onUpdate:healthyHttpStatuses":r[23]||(r[23]=i=>t.fields.activeHealthCheck.healthy.httpStatuses=i),"healthy-interval":t.fields.activeHealthCheck.healthy.interval,"onUpdate:healthyInterval":r[24]||(r[24]=i=>t.fields.activeHealthCheck.healthy.interval=i),"healthy-successes":t.fields.activeHealthCheck.healthy.successes,"onUpdate:healthySuccesses":r[25]||(r[25]=i=>t.fields.activeHealthCheck.healthy.successes=i),"http-path":t.fields.activeHealthCheck.httpPath,"onUpdate:httpPath":r[26]||(r[26]=i=>t.fields.activeHealthCheck.httpPath=i),"https-sni":t.fields.activeHealthCheck.httpsSni,"onUpdate:httpsSni":r[27]||(r[27]=i=>t.fields.activeHealthCheck.httpsSni=i),timeout:t.fields.activeHealthCheck.timeout,"onUpdate:timeout":r[28]||(r[28]=i=>t.fields.activeHealthCheck.timeout=i),type:t.fields.activeHealthCheck.type,"onUpdate:type":r[29]||(r[29]=i=>t.fields.activeHealthCheck.type=i),"unhealthy-http-failures":t.fields.activeHealthCheck.unhealthy.httpFailures,"onUpdate:unhealthyHttpFailures":r[30]||(r[30]=i=>t.fields.activeHealthCheck.unhealthy.httpFailures=i),"unhealthy-http-statuses":t.fields.activeHealthCheck.unhealthy.httpStatuses,"onUpdate:unhealthyHttpStatuses":r[31]||(r[31]=i=>t.fields.activeHealthCheck.unhealthy.httpStatuses=i),"unhealthy-interval":t.fields.activeHealthCheck.unhealthy.interval,"onUpdate:unhealthyInterval":r[32]||(r[32]=i=>t.fields.activeHealthCheck.unhealthy.interval=i),"unhealthy-tcp-failures":t.fields.activeHealthCheck.unhealthy.tcpFailures,"onUpdate:unhealthyTcpFailures":r[33]||(r[33]=i=>t.fields.activeHealthCheck.unhealthy.tcpFailures=i),"unhealthy-timeouts":t.fields.activeHealthCheck.unhealthy.timeouts,"onUpdate:unhealthyTimeouts":r[34]||(r[34]=i=>t.fields.activeHealthCheck.unhealthy.timeouts=i),"verify-ssl":t.fields.activeHealthCheck.verifySsl,"onUpdate:verifySsl":r[35]||(r[35]=i=>t.fields.activeHealthCheck.verifySsl=i),config:a.config,readonly:t.readonly},null,8,["concurrency","headers","healthy-http-statuses","healthy-interval","healthy-successes","http-path","https-sni","timeout","type","unhealthy-http-failures","unhealthy-http-statuses","unhealthy-interval","unhealthy-tcp-failures","unhealthy-timeouts","verify-ssl","config","readonly"])):e.createCommentVNode("",!0),t.fields.passiveHealthSwitch?(e.openBlock(),e.createBlock(Rt,{key:1,"healthy-http-statuses":t.fields.passiveHealthCheck.healthy.httpStatuses,"onUpdate:healthyHttpStatuses":r[36]||(r[36]=i=>t.fields.passiveHealthCheck.healthy.httpStatuses=i),"healthy-successes":t.fields.passiveHealthCheck.healthy.successes,"onUpdate:healthySuccesses":r[37]||(r[37]=i=>t.fields.passiveHealthCheck.healthy.successes=i),type:t.fields.passiveHealthCheck.type,"onUpdate:type":r[38]||(r[38]=i=>t.fields.passiveHealthCheck.type=i),"unhealthy-http-failures":t.fields.passiveHealthCheck.unhealthy.httpFailures,"onUpdate:unhealthyHttpFailures":r[39]||(r[39]=i=>t.fields.passiveHealthCheck.unhealthy.httpFailures=i),"unhealthy-http-statuses":t.fields.passiveHealthCheck.unhealthy.httpStatuses,"onUpdate:unhealthyHttpStatuses":r[40]||(r[40]=i=>t.fields.passiveHealthCheck.unhealthy.httpStatuses=i),"unhealthy-tcp-failures":t.fields.passiveHealthCheck.unhealthy.tcpFailures,"onUpdate:unhealthyTcpFailures":r[41]||(r[41]=i=>t.fields.passiveHealthCheck.unhealthy.tcpFailures=i),"unhealthy-timeouts":t.fields.passiveHealthCheck.unhealthy.timeouts,"onUpdate:unhealthyTimeouts":r[42]||(r[42]=i=>t.fields.passiveHealthCheck.unhealthy.timeouts=i),readonly:t.readonly},null,8,["healthy-http-statuses","healthy-successes","type","unhealthy-http-failures","unhealthy-http-statuses","unhealthy-tcp-failures","unhealthy-timeouts","readonly"])):e.createCommentVNode("",!0)]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])]))}}),[["__scopeId","data-v-0d494630"]]),Qt={"data-testid":"client_certificate-plain-text"},Wt=e.defineComponent({__name:"UpstreamsConfigCard",props:{config:{type:Object,required:!0,validator:a=>!(!a||!["konnect","kongManager"].includes(a==null?void 0:a.app)||a.app==="konnect"&&!a.controlPlaneId||a.app==="kongManager"&&typeof a.workspace!="string"||!a.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(a){const E=a,{i18n:{t:o},i18nT:l}=Y.useI18n(),{getPropValue:n}=m.useHelpers(),g=e.computed(()=>ie.form[E.config.app].edit),f=e.ref({id:{},name:{},created_at:{},updated_at:{},algorithm:{order:5,section:m.ConfigurationSchemaSection.Basic,tooltip:o("upstreams.form.fields.algorithm.tooltip")},slots:{order:6,section:m.ConfigurationSchemaSection.Basic},hash_on:{order:7,section:m.ConfigurationSchemaSection.Basic},hash_on_header:{order:8,section:m.ConfigurationSchemaSection.Basic},hash_on_uri_capture:{order:9,section:m.ConfigurationSchemaSection.Basic},hash_on_query_arg:{order:10,section:m.ConfigurationSchemaSection.Basic,label:`${o("upstreams.form.fields.hash_on.label")} ${o("upstreams.form.hash_labels.query_argument")}`},hash_on_cookie:{order:11,section:m.ConfigurationSchemaSection.Basic},hash_on_cookie_path:{order:12,section:m.ConfigurationSchemaSection.Basic},healthchecks:{order:13,section:m.ConfigurationSchemaSection.Basic,type:m.ConfigurationSchemaType.Json},tags:{order:14,tooltip:o("upstreams.form.hash_tooltips.tags")},hash_fallback:{order:1},hash_fallback_header:{order:2},hash_fallback_query_arg:{order:3,label:`${o("upstreams.form.fields.hash_fallback.label")} ${o("upstreams.form.hash_labels.query_argument")}`},hash_fallback_uri_capture:{order:4},host_header:{order:5},use_srv_name:{order:6},client_certificate:{order:7,tooltip:o("upstreams.form.hash_tooltips.client_certificate")}});return(D,x)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(m.EntityBaseConfigCard),{config:a.config,"config-card-doc":a.configCardDoc,"config-schema":f.value,"entity-type":e.unref(m.SupportedEntityType).Upstream,"fetch-url":g.value,"hide-title":a.hideTitle,"onFetch:error":x[0]||(x[0]=s=>D.$emit("fetch:error",s)),"onFetch:success":x[1]||(x[1]=s=>D.$emit("fetch:success",s)),onLoading:x[2]||(x[2]=s=>D.$emit("loading",s))},{"name-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.fields.name.tooltip",scope:"global"},{host:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.fields.name.host")),1)]),_:1})]),"hash_on-label-tooltip":e.withCtx(({row:s})=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.fields.hash_on.tooltip",scope:"global"},{result:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(s.value),1)]),_:2},1024)]),"hash_on_header-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_header.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_header.hash_on")),1)]),header:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_header.header")),1)]),_:1})]),"hash_on_uri_capture-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_uri_capture.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_uri_capture.hash_on")),1)]),uri_capture:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_uri_capture.uri_capture")),1)]),_:1})]),"hash_on_query_arg-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_query_arg.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_query_arg.hash_on")),1)]),query_arg:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_query_arg.query_arg")),1)]),_:1})]),"hash_on_cookie-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_cookie.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie.hash_on")),1)]),hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie.hash_fallback")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie.cookie")),1)]),_:1})]),"hash_on_cookie_path-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_on_cookie_path.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie_path.hash_on")),1)]),hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie_path.hash_fallback")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_on_cookie_path.cookie")),1)]),_:1})]),"slots-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.slots.text",scope:"global"},{algorithm:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.slots.algorithm")),1)]),round_robin:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.slots.round_robin")),1)]),consistent_hashing:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.slots.consistent_hashing")),1)]),min:e.withCtx(()=>x[3]||(x[3]=[e.createElementVNode("code",null,"10",-1)])),max:e.withCtx(()=>x[4]||(x[4]=[e.createElementVNode("code",null,"65536",-1)])),_:1})]),"hash_fallback-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback.text",scope:"global"},{hash_on:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback.hash_on")),1)]),cookie:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback.cookie")),1)]),_:1})]),"hash_fallback_header-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback_header.text",scope:"global"},{hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_header.hash_fallback")),1)]),header:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_header.header")),1)]),_:1})]),"hash_fallback_query_arg-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback_query_arg.text",scope:"global"},{hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_query_arg.hash_fallback")),1)]),query_arg:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_query_arg.query_arg")),1)]),_:1})]),"hash_fallback_uri_capture-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.hash_fallback_uri_capture.text",scope:"global"},{hash_fallback:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_uri_capture.hash_fallback")),1)]),uri_capture:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.hash_fallback_uri_capture.uri_capture")),1)]),_:1})]),"host_header-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(l),{keypath:"upstreams.form.hash_tooltips.host_header.text",scope:"global"},{host:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(o)("upstreams.form.hash_tooltips.host_header.host")),1)]),_:1})]),client_certificate:e.withCtx(s=>{var h;return[e.createElementVNode("div",null,[e.createElementVNode("div",Qt,[e.createElementVNode("span",null,e.toDisplayString((h=e.unref(n)("rowValue",s))==null?void 0:h.id),1)])])]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});v.TargetForm=Ue,v.TargetsList=bt,v.UpstreamsConfigCard=Wt,v.UpstreamsForm=jt,v.UpstreamsList=ut,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
|