@kong-ui-public/entities-gateway-services 3.8.16 → 3.8.18-pr.1718.d7d1478f1.0

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,8 +1,8 @@
1
- import { defineComponent as Ve, ref as S, computed as w, watch as Ce, onBeforeMount as xe, resolveComponent as M, openBlock as k, createElementBlock as T, createVNode as u, unref as o, withCtx as p, createBlock as re, Teleport as Re, withDirectives as Ae, createTextVNode as U, toDisplayString as b, vShow as Fe, createElementVNode as V, withModifiers as ae, Fragment as $e, renderList as Be, reactive as Se, onMounted as De, renderSlot as Le, createCommentVNode as D } from "vue";
1
+ import { defineComponent as Ve, ref as S, computed as w, watch as Ce, onBeforeMount as xe, resolveComponent as M, openBlock as k, createElementBlock as I, createVNode as u, unref as o, withCtx as p, createBlock as re, Teleport as Re, withDirectives as Ae, createTextVNode as U, toDisplayString as b, vShow as Fe, createElementVNode as V, withModifiers as ae, Fragment as $e, renderList as De, reactive as Se, onMounted as Be, renderSlot as Le, createCommentVNode as B } from "vue";
2
2
  import { useRouter as Pe } from "vue-router";
3
3
  import { AddIcon as Ge } from "@kong/icons";
4
4
  import { createI18n as Ke, i18nTComponent as qe } from "@kong-ui-public/i18n";
5
- import { useAxios as Ue, useFetcher as Ne, useDeleteUrlBuilder as We, FetcherStatus as Oe, EntityBaseTable as je, EntityFilter as He, PermissionsWrapper as te, EntityToggleModal as Je, EntityDeleteModal as ze, EntityTypes as Qe, useErrors as Xe, useValidators as Ye, EntityBaseFormType as Te, useGatewayFeatureSupported as Ze, EntityBaseForm as et, SupportedEntityType as Ee, EntityFormSection as Ie, useHelpers as tt, ConfigurationSchemaSection as ne, ConfigurationSchemaType as lt, EntityBaseConfigCard as ot } from "@kong-ui-public/entities-shared";
5
+ import { useAxios as Ue, useFetcher as Ne, useDeleteUrlBuilder as We, FetcherStatus as Oe, EntityBaseTable as je, EntityFilter as He, PermissionsWrapper as te, EntityToggleModal as Je, EntityDeleteModal as ze, EntityTypes as Qe, useErrors as Xe, useValidators as Ye, EntityBaseFormType as Ie, useGatewayFeatureSupported as Ze, EntityBaseForm as et, SupportedEntityType as Ee, EntityFormSection as Te, useHelpers as tt, ConfigurationSchemaSection as ne, ConfigurationSchemaType as lt, EntityBaseConfigCard as ot } from "@kong-ui-public/entities-shared";
6
6
  const it = {
7
7
  create: "New Gateway Service",
8
8
  serverless_create: "Add a Service",
@@ -236,7 +236,7 @@ const ue = {
236
236
  edit: `${de}/services/{id}`
237
237
  }
238
238
  }
239
- }, pt = { class: "kong-ui-entities-gateway-services-list" }, mt = { key: 1 }, vt = { key: 1 }, yt = /* @__PURE__ */ Ve({
239
+ }, pt = { class: "kong-ui-entities-gateway-services-list" }, mt = { key: 1 }, vt = { key: 1 }, gt = /* @__PURE__ */ Ve({
240
240
  __name: "GatewayServiceList",
241
241
  props: {
242
242
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
@@ -287,8 +287,8 @@ const ue = {
287
287
  },
288
288
  emits: ["error", "copy:success", "copy:error", "delete:success", "toggle:success"],
289
289
  setup(a, { emit: $ }) {
290
- var g;
291
- const v = $, c = a, { i18n: { t: r, formatUnixTimeStamp: x } } = ue.useI18n(), W = Pe(), { axiosInstance: L } = Ue((g = c.config) == null ? void 0 : g.axiosRequestConfig), s = S(1), P = w(() => c.config.app !== "kongManager" || !!c.config.disableSorting), h = {
290
+ var y;
291
+ const v = $, c = a, { i18n: { t: r, formatUnixTimeStamp: x } } = ue.useI18n(), W = Pe(), { axiosInstance: L } = Ue((y = c.config) == null ? void 0 : y.axiosRequestConfig), s = S(1), P = w(() => c.config.app !== "kongManager" || !!c.config.disableSorting), h = {
292
292
  // the Name column is non-hidable
293
293
  name: { label: r("gateway_services.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
294
294
  ...c.config.showControlPlaneColumn ? { control_plane: { label: r("gateway_services.list.table_headers.control_plane") } } : {},
@@ -308,7 +308,7 @@ const ue = {
308
308
  var f, m;
309
309
  let n = `${c.config.apiBaseUrl}${le.list[c.config.app].all}`;
310
310
  return c.config.app === "konnect" ? n = n.replace(/{controlPlaneId}/gi, ((f = c.config) == null ? void 0 : f.controlPlaneId) || "") : c.config.app === "kongManager" && (n = n.replace(/\/{workspace}/gi, (m = c.config) != null && m.workspace ? `/${c.config.workspace}` : "")), n;
311
- }), me = w(() => c.config.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${F.value}`) : new URL(F.value)), B = S(""), C = w(() => {
311
+ }), me = w(() => c.config.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${F.value}`) : new URL(F.value)), D = S(""), C = w(() => {
312
312
  const n = c.config.app === "konnect" || c.config.isExactMatch;
313
313
  if (n)
314
314
  return {
@@ -322,44 +322,44 @@ const ue = {
322
322
  schema: c.config.filterSchema
323
323
  };
324
324
  }), { fetcher: H, fetcherState: J } = Ne(c.config, F.value), ve = () => {
325
- B.value = "";
325
+ D.value = "";
326
326
  }, e = () => {
327
327
  s.value++;
328
- }, _ = S(null), ye = w(() => ({
328
+ }, _ = S(null), ge = w(() => ({
329
329
  ctaPath: c.config.createRoute,
330
330
  ctaText: i.value ? c.isServerless ? r("actions.serverless_create") : r("actions.create") : void 0,
331
331
  message: `${r("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState ? ` ${c.config.additionMessageForEmptyState}` : ""}`,
332
332
  title: i.value ? c.isServerless ? r("gateway_services.list.empty_state.serverless_title") : r("gateway_services.list.empty_state.title") : r("gateway_services.title")
333
- })), z = S(!1), I = S(null), Q = w(() => {
333
+ })), z = S(!1), T = S(null), Q = w(() => {
334
334
  const n = {
335
335
  action: "disable",
336
336
  id: "",
337
337
  name: ""
338
338
  };
339
- if (I.value) {
340
- const { enabled: f, id: m, name: l } = I.value;
339
+ if (T.value) {
340
+ const { enabled: f, id: m, name: l } = T.value;
341
341
  n.action = f ? "disable" : "enable", n.id = m, n.name = l || m;
342
342
  }
343
343
  return n;
344
344
  }), G = (n) => {
345
- z.value = !0, I.value = n;
345
+ z.value = !0, T.value = n;
346
346
  }, X = () => {
347
- z.value = !1, I.value = null;
347
+ z.value = !1, T.value = null;
348
348
  }, oe = async () => {
349
349
  var l, A;
350
- if (!await ((l = c.canEdit) == null ? void 0 : l.call(c, I.value)) || !I.value)
350
+ if (!await ((l = c.canEdit) == null ? void 0 : l.call(c, T.value)) || !T.value)
351
351
  return;
352
- const f = `${me.value.href}/${I.value.id}`, m = !I.value.enabled;
352
+ const f = `${me.value.href}/${T.value.id}`, m = !T.value.enabled;
353
353
  try {
354
- const { data: d } = ((A = c.config) == null ? void 0 : A.app) === "konnect" ? await L.put(f, { ...I.value, enabled: m }) : await L.patch(f, { ...I.value, enabled: m });
354
+ const { data: d } = ((A = c.config) == null ? void 0 : A.app) === "konnect" ? await L.put(f, { ...T.value, enabled: m }) : await L.patch(f, { ...T.value, enabled: m });
355
355
  v("toggle:success", d);
356
356
  } catch (d) {
357
357
  v("error", d);
358
358
  }
359
- I.value.enabled = m;
359
+ T.value.enabled = m;
360
360
  }, ie = (n) => {
361
361
  c.config.getControlPlaneRoute && W.push(c.config.getControlPlaneRoute(n));
362
- }, ge = (n, f) => {
362
+ }, ye = (n, f) => {
363
363
  const m = n.id;
364
364
  if (!f(m)) {
365
365
  v("copy:error", {
@@ -428,29 +428,29 @@ const ue = {
428
428
  i.value = await c.canCreate();
429
429
  }), (n, f) => {
430
430
  const m = M("KButton"), l = M("KBadge"), A = M("KInputSwitch"), d = M("KTruncate"), N = M("KDropdownItem"), ke = M("KClipboardProvider");
431
- return k(), T("div", pt, [
431
+ return k(), I("div", pt, [
432
432
  u(o(je), {
433
433
  "cache-identifier": a.cacheIdentifier,
434
434
  "default-table-preferences": fe,
435
435
  "disable-pagination-page-jump": "",
436
436
  "disable-sorting": P.value,
437
- "empty-state-options": ye.value,
437
+ "empty-state-options": ge.value,
438
438
  "enable-entity-actions": "",
439
439
  "error-message": _.value,
440
440
  fetcher: o(H),
441
441
  "fetcher-cache-key": s.value,
442
442
  "pagination-type": "offset",
443
443
  "preferences-storage-key": "kong-ui-entities-gateway-services-list",
444
- query: B.value,
444
+ query: D.value,
445
445
  "table-headers": o(pe),
446
446
  onClearSearchInput: ve,
447
- "onClick:row": f[3] || (f[3] = (y) => be(y)),
447
+ "onClick:row": f[3] || (f[3] = (g) => be(g)),
448
448
  onSort: e
449
449
  }, {
450
450
  "toolbar-filter": p(() => [
451
451
  u(o(He), {
452
- modelValue: B.value,
453
- "onUpdate:modelValue": f[0] || (f[0] = (y) => B.value = y),
452
+ modelValue: D.value,
453
+ "onUpdate:modelValue": f[0] || (f[0] = (g) => D.value = g),
454
454
  config: C.value
455
455
  }, null, 8, ["modelValue", "config"])
456
456
  ]),
@@ -482,28 +482,28 @@ const ue = {
482
482
  }, 8, ["auth-function"])
483
483
  ], 8, ["disabled"]))
484
484
  ]),
485
- name: p(({ rowValue: y }) => [
486
- V("b", null, b(y ?? "-"), 1)
485
+ name: p(({ rowValue: g }) => [
486
+ V("b", null, b(g ?? "-"), 1)
487
487
  ]),
488
- control_plane: p(({ row: y }) => {
488
+ control_plane: p(({ row: g }) => {
489
489
  var E;
490
490
  return [
491
- (E = y.x_meta) != null && E.cluster_id ? (k(), re(l, {
491
+ (E = g.x_meta) != null && E.cluster_id ? (k(), re(l, {
492
492
  key: 0,
493
- tooltip: y.x_meta.cluster_id,
493
+ tooltip: g.x_meta.cluster_id,
494
494
  "truncation-tooltip": "",
495
- onClick: ae((ee) => ie(y.x_meta.cluster_id), ["stop"])
495
+ onClick: ae((ee) => ie(g.x_meta.cluster_id), ["stop"])
496
496
  }, {
497
497
  default: p(() => [
498
- U(b(y.x_meta.cluster_id), 1)
498
+ U(b(g.x_meta.cluster_id), 1)
499
499
  ]),
500
500
  _: 2
501
- }, 1032, ["tooltip", "onClick"])) : (k(), T("b", mt, "-"))
501
+ }, 1032, ["tooltip", "onClick"])) : (k(), I("b", mt, "-"))
502
502
  ];
503
503
  }),
504
- enabled: p(({ row: y }) => [
504
+ enabled: p(({ row: g }) => [
505
505
  u(o(te), {
506
- "auth-function": () => a.canEdit(y),
506
+ "auth-function": () => a.canEdit(g),
507
507
  "force-show": ""
508
508
  }, {
509
509
  default: p(({ isAllowed: E }) => [
@@ -512,21 +512,21 @@ const ue = {
512
512
  }, ["stop"]))
513
513
  }, [
514
514
  u(A, {
515
- modelValue: y.enabled,
516
- "onUpdate:modelValue": (ee) => y.enabled = ee,
517
- "data-testid": `row-${y.id}-toggle-input`,
515
+ modelValue: g.enabled,
516
+ "onUpdate:modelValue": (ee) => g.enabled = ee,
517
+ "data-testid": `row-${g.id}-toggle-input`,
518
518
  disabled: !E,
519
- onClick: ae((ee) => G(y), ["prevent"])
519
+ onClick: ae((ee) => G(g), ["prevent"])
520
520
  }, null, 8, ["modelValue", "onUpdate:modelValue", "data-testid", "disabled", "onClick"])
521
521
  ])
522
522
  ]),
523
523
  _: 2
524
524
  }, 1032, ["auth-function"])
525
525
  ]),
526
- tags: p(({ rowValue: y }) => [
527
- (y == null ? void 0 : y.length) > 0 ? (k(), re(d, { key: 0 }, {
526
+ tags: p(({ rowValue: g }) => [
527
+ (g == null ? void 0 : g.length) > 0 ? (k(), re(d, { key: 0 }, {
528
528
  default: p(() => [
529
- (k(!0), T($e, null, Be(y, (E) => (k(), re(l, {
529
+ (k(!0), I($e, null, De(g, (E) => (k(), re(l, {
530
530
  key: E,
531
531
  onClick: f[2] || (f[2] = ae(() => {
532
532
  }, ["stop"]))
@@ -538,20 +538,20 @@ const ue = {
538
538
  }, 1024))), 128))
539
539
  ]),
540
540
  _: 2
541
- }, 1024)) : (k(), T("span", vt, "-"))
541
+ }, 1024)) : (k(), I("span", vt, "-"))
542
542
  ]),
543
- created_at: p(({ rowValue: y }) => [
544
- U(b(o(x)(y)), 1)
543
+ created_at: p(({ rowValue: g }) => [
544
+ U(b(o(x)(g)), 1)
545
545
  ]),
546
- updated_at: p(({ rowValue: y }) => [
547
- U(b(o(x)(y)), 1)
546
+ updated_at: p(({ rowValue: g }) => [
547
+ U(b(o(x)(g)), 1)
548
548
  ]),
549
- actions: p(({ row: y }) => [
549
+ actions: p(({ row: g }) => [
550
550
  u(ke, null, {
551
551
  default: p(({ copyToClipboard: E }) => [
552
552
  u(N, {
553
553
  "data-testid": "action-entity-copy-id",
554
- onClick: (ee) => ge(y, E)
554
+ onClick: (ee) => ye(g, E)
555
555
  }, {
556
556
  default: p(() => [
557
557
  U(b(o(r)("actions.copy_id")), 1)
@@ -565,7 +565,7 @@ const ue = {
565
565
  default: p(({ copyToClipboard: E }) => [
566
566
  u(N, {
567
567
  "data-testid": "action-entity-copy-json",
568
- onClick: (ee) => _e(y, E)
568
+ onClick: (ee) => _e(g, E)
569
569
  }, {
570
570
  default: p(() => [
571
571
  U(b(o(r)("actions.copy_json")), 1)
@@ -576,37 +576,37 @@ const ue = {
576
576
  _: 2
577
577
  }, 1024),
578
578
  u(o(te), {
579
- "auth-function": () => a.canRetrieve(y)
579
+ "auth-function": () => a.canRetrieve(g)
580
580
  }, {
581
581
  default: p(() => [
582
582
  u(N, {
583
583
  "data-testid": "action-entity-view",
584
584
  "has-divider": "",
585
- item: he(y.id)
585
+ item: he(g.id)
586
586
  }, null, 8, ["item"])
587
587
  ]),
588
588
  _: 2
589
589
  }, 1032, ["auth-function"]),
590
590
  u(o(te), {
591
- "auth-function": () => a.canEdit(y)
591
+ "auth-function": () => a.canEdit(g)
592
592
  }, {
593
593
  default: p(() => [
594
594
  u(N, {
595
595
  "data-testid": "action-entity-edit",
596
- item: Y(y.id)
596
+ item: Y(g.id)
597
597
  }, null, 8, ["item"])
598
598
  ]),
599
599
  _: 2
600
600
  }, 1032, ["auth-function"]),
601
601
  u(o(te), {
602
- "auth-function": () => a.canDelete(y)
602
+ "auth-function": () => a.canDelete(g)
603
603
  }, {
604
604
  default: p(() => [
605
605
  u(N, {
606
606
  danger: "",
607
607
  "data-testid": "action-entity-delete",
608
608
  "has-divider": "",
609
- onClick: (E) => q(y)
609
+ onClick: (E) => q(g)
610
610
  }, {
611
611
  default: p(() => [
612
612
  U(b(o(r)("actions.delete.menu_label")), 1)
@@ -648,13 +648,13 @@ const ue = {
648
648
  for (const [c, r] of $)
649
649
  v[c] = r;
650
650
  return v;
651
- }, Kt = /* @__PURE__ */ Me(yt, [["__scopeId", "data-v-822e59d7"]]), gt = { class: "kong-ui-entities-gateway-service-form" }, _t = { key: 0 }, bt = { class: "gateway-service-form-traffic-label" }, ht = { class: "gateway-service-form-margin-bottom" }, wt = {
651
+ }, Kt = /* @__PURE__ */ Me(gt, [["__scopeId", "data-v-822e59d7"]]), yt = { class: "kong-ui-entities-gateway-service-form" }, _t = { key: 0 }, bt = { class: "gateway-service-form-traffic-label" }, ht = { class: "gateway-service-form-margin-bottom" }, wt = {
652
652
  key: 0,
653
653
  class: "gateway-service-form-group-fields"
654
654
  }, kt = {
655
655
  key: 1,
656
656
  class: "gateway-service-form-group-fields"
657
- }, Ct = { key: 0 }, Vt = { class: "gateway-service-form-margin-top" }, St = { class: "gateway-service-form-margin-bottom" }, Tt = { class: "gateway-service-form-margin-bottom" }, It = { class: "gateway-service-form-margin-bottom" }, Pt = { class: "gateway-service-form-margin-bottom" }, Ut = {
657
+ }, Ct = { key: 0 }, Vt = { class: "gateway-service-form-margin-top" }, St = { class: "gateway-service-form-margin-bottom" }, It = { class: "gateway-service-form-margin-bottom" }, Tt = { class: "gateway-service-form-margin-bottom" }, Pt = { class: "gateway-service-form-margin-bottom" }, Ut = {
658
658
  key: 0,
659
659
  class: "gateway-service-form-margin-bottom"
660
660
  }, Et = {
@@ -689,20 +689,12 @@ const ue = {
689
689
  type: Boolean,
690
690
  required: !1,
691
691
  default: !1
692
- },
693
- /**
694
- * Enable display of Terraform code
695
- * Guarded by FF: khcp-12445-terraform-config-details
696
- */
697
- enableTerraform: {
698
- type: Boolean,
699
- default: !1
700
692
  }
701
693
  },
702
694
  emits: ["update", "error", "url-valid:success", "url-valid:error", "loading", "model-updated"],
703
695
  setup(a, { expose: $, emit: v }) {
704
696
  var se;
705
- const c = v, r = a, x = S(!0), W = Pe(), { i18nT: L, i18n: { t: s } } = ue.useI18n(), { getMessageFromError: P } = Xe(), { axiosInstance: h } = Ue((se = r.config) == null ? void 0 : se.axiosRequestConfig), fe = Ye(), pe = w(() => le.form[r.config.app].edit), F = w(() => r.gatewayServiceId ? Te.Edit : Te.Create), me = S(!1), B = w(() => !!r.gatewayServiceId), C = S(B.value ? "protocol" : "url"), H = ue.usePortFromProtocol(), J = S(""), ve = w(() => !!J.value), e = Se({
697
+ const c = v, r = a, x = S(!0), W = Pe(), { i18nT: L, i18n: { t: s } } = ue.useI18n(), { getMessageFromError: P } = Xe(), { axiosInstance: h } = Ue((se = r.config) == null ? void 0 : se.axiosRequestConfig), fe = Ye(), pe = w(() => le.form[r.config.app].edit), F = w(() => r.gatewayServiceId ? Ie.Edit : Ie.Create), me = S(!1), D = w(() => !!r.gatewayServiceId), C = S(D.value ? "protocol" : "url"), H = ue.usePortFromProtocol(), J = S(""), ve = w(() => !!J.value), e = Se({
706
698
  fields: {
707
699
  name: "",
708
700
  protocol: "http",
@@ -738,7 +730,7 @@ const ue = {
738
730
  tls_verify_enabled: !1,
739
731
  tls_verify_value: !1,
740
732
  tags: ""
741
- }), ye = r.config.app === "konnect" || Ze({
733
+ }), ge = r.config.app === "konnect" || Ze({
742
734
  gatewayInfo: r.config.gatewayInfo,
743
735
  // 'ws' and 'wss' are not valid values for the protocol field in Gateway Community Edition or before Gateway Enterprise Edition 3.0
744
736
  supportedRange: {
@@ -780,7 +772,7 @@ const ue = {
780
772
  value: "grpcs",
781
773
  group: "grpc"
782
774
  },
783
- ...ye ? [
775
+ ...ge ? [
784
776
  {
785
777
  label: s("gateway_services.form.fields.protocol.options.ws"),
786
778
  value: "ws",
@@ -797,7 +789,7 @@ const ue = {
797
789
  value: "udp",
798
790
  group: "udp"
799
791
  }
800
- ], I = { url: "url", protocol: "protocol" }, Q = (t, i) => {
792
+ ], T = { url: "url", protocol: "protocol" }, Q = (t, i) => {
801
793
  i.value;
802
794
  }, G = (t) => t ? parseFloat(t) : 0, X = () => {
803
795
  x.value = !0, e.errorMessage = "", e.fields.host = _.host, e.fields.path = _.path, e.fields.port = _.port, e.fields.protocol = _.protocol, e.fields.url = _.url, e.fields.retries = _.retries, e.fields.connect_timeout = _.connect_timeout, e.fields.write_timeout = _.write_timeout, e.fields.read_timeout = _.read_timeout, e.fields.client_certificate = _.client_certificate, e.fields.ca_certificates = _.ca_certificates, e.fields.tls_verify_enabled = _.tls_verify_enabled, e.fields.tls_verify_value = _.tls_verify_value;
@@ -813,7 +805,7 @@ const ue = {
813
805
  }
814
806
  else
815
807
  c("url-valid:success"), e.errorMessage = "";
816
- }, ie = w(() => !["tcp", "tls", "tls_passthrough", "grpc", "grpcs", "udp"].includes(e.fields.protocol)), ge = w(() => {
808
+ }, ie = w(() => !["tcp", "tls", "tls_passthrough", "grpc", "grpcs", "udp"].includes(e.fields.protocol)), ye = w(() => {
817
809
  if (C.value === "url")
818
810
  return !0;
819
811
  const t = ["https", "wss", "tls"].includes(e.fields.protocol);
@@ -830,27 +822,27 @@ const ue = {
830
822
  return C.value === "protocol" && t;
831
823
  }), he = (t) => {
832
824
  J.value = fe.utf8Name(t);
833
- }, Y = w(() => B.value && JSON.stringify(e.fields) !== JSON.stringify(_) || C.value === "url" && !!e.fields.url || C.value === "protocol" && !!e.fields.host), R = (t) => {
834
- var i, g, n;
835
- e.fields.name = (t == null ? void 0 : t.name) || "", e.fields.tags = ((i = t == null ? void 0 : t.tags) == null ? void 0 : i.join(", ")) || "", e.fields.protocol = (t == null ? void 0 : t.protocol) || "http", e.fields.path = (t == null ? void 0 : t.path) || "", e.fields.read_timeout = t != null && t.read_timeout || (t == null ? void 0 : t.read_timeout) === 0 ? t == null ? void 0 : t.read_timeout : 6e4, e.fields.retries = t != null && t.retries || (t == null ? void 0 : t.retries) === 0 ? t == null ? void 0 : t.retries : 5, e.fields.host = (t == null ? void 0 : t.host) || "", e.fields.connect_timeout = t != null && t.connect_timeout || (t == null ? void 0 : t.connect_timeout) === 0 ? t == null ? void 0 : t.connect_timeout : 6e4, e.fields.tls_verify_enabled = (t == null ? void 0 : t.tls_verify) !== "" && (t == null ? void 0 : t.tls_verify) !== null && (t == null ? void 0 : t.tls_verify) !== void 0, e.fields.tls_verify_value = t != null && t.tls_verify ? t == null ? void 0 : t.tls_verify : !1, e.fields.ca_certificates = ((g = t == null ? void 0 : t.ca_certificates) == null ? void 0 : g.join(",")) || "", e.fields.client_certificate = ((n = t == null ? void 0 : t.client_certificate) == null ? void 0 : n.id) || "", e.fields.write_timeout = t != null && t.write_timeout || (t == null ? void 0 : t.write_timeout) === 0 ? t == null ? void 0 : t.write_timeout : 6e4, e.fields.port = t != null && t.port || (t == null ? void 0 : t.port) === 0 ? t == null ? void 0 : t.port : 80, Object.assign(_, e.fields);
825
+ }, Y = w(() => D.value && JSON.stringify(e.fields) !== JSON.stringify(_) || C.value === "url" && !!e.fields.url || C.value === "protocol" && !!e.fields.host), R = (t) => {
826
+ var i, y, n;
827
+ e.fields.name = (t == null ? void 0 : t.name) || "", e.fields.tags = ((i = t == null ? void 0 : t.tags) == null ? void 0 : i.join(", ")) || "", e.fields.protocol = (t == null ? void 0 : t.protocol) || "http", e.fields.path = (t == null ? void 0 : t.path) || "", e.fields.read_timeout = t != null && t.read_timeout || (t == null ? void 0 : t.read_timeout) === 0 ? t == null ? void 0 : t.read_timeout : 6e4, e.fields.retries = t != null && t.retries || (t == null ? void 0 : t.retries) === 0 ? t == null ? void 0 : t.retries : 5, e.fields.host = (t == null ? void 0 : t.host) || "", e.fields.connect_timeout = t != null && t.connect_timeout || (t == null ? void 0 : t.connect_timeout) === 0 ? t == null ? void 0 : t.connect_timeout : 6e4, e.fields.tls_verify_enabled = (t == null ? void 0 : t.tls_verify) !== "" && (t == null ? void 0 : t.tls_verify) !== null && (t == null ? void 0 : t.tls_verify) !== void 0, e.fields.tls_verify_value = t != null && t.tls_verify ? t == null ? void 0 : t.tls_verify : !1, e.fields.ca_certificates = ((y = t == null ? void 0 : t.ca_certificates) == null ? void 0 : y.join(",")) || "", e.fields.client_certificate = ((n = t == null ? void 0 : t.client_certificate) == null ? void 0 : n.id) || "", e.fields.write_timeout = t != null && t.write_timeout || (t == null ? void 0 : t.write_timeout) === 0 ? t == null ? void 0 : t.write_timeout : 6e4, e.fields.port = t != null && t.port || (t == null ? void 0 : t.port) === 0 ? t == null ? void 0 : t.port : 80, Object.assign(_, e.fields);
836
828
  }, O = () => {
837
829
  W.push(r.config.cancelRoute);
838
830
  }, Z = w(() => {
839
- var i, g;
831
+ var i, y;
840
832
  let t = `${r.config.apiBaseUrl}${le.form[r.config.app].validate}`;
841
- return r.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((i = r.config) == null ? void 0 : i.controlPlaneId) || "") : r.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (g = r.config) != null && g.workspace ? `/${r.config.workspace}` : "")), t = t.replace(/{id}/gi, r.gatewayServiceId), t;
833
+ return r.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((i = r.config) == null ? void 0 : i.controlPlaneId) || "") : r.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (y = r.config) != null && y.workspace ? `/${r.config.workspace}` : "")), t = t.replace(/{id}/gi, r.gatewayServiceId), t;
842
834
  }), K = w(() => {
843
- var i, g;
835
+ var i, y;
844
836
  let t = `${r.config.apiBaseUrl}${le.form[r.config.app][F.value]}`;
845
- return r.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((i = r.config) == null ? void 0 : i.controlPlaneId) || "") : r.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (g = r.config) != null && g.workspace ? `/${r.config.workspace}` : "")), t = t.replace(/{id}/gi, r.gatewayServiceId), t;
837
+ return r.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((i = r.config) == null ? void 0 : i.controlPlaneId) || "") : r.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (y = r.config) != null && y.workspace ? `/${r.config.workspace}` : "")), t = t.replace(/{id}/gi, r.gatewayServiceId), t;
846
838
  }), we = (t) => {
847
839
  let i = "";
848
840
  t.url && (i = new URL(t.url).protocol), (["https", "wss", "tls"].includes(t.protocol) || ["https", "wss", "tls"].includes(i)) && (t.tls_verify = t.tls_verify_enabled ? t.tls_verify_value : null), delete t.tls_verify_enabled, delete t.tls_verify_value;
849
841
  }, q = w(() => {
850
- var i, g, n, f;
842
+ var i, y, n, f;
851
843
  const t = {
852
844
  name: e.fields.name || null,
853
- tags: e.fields.tags ? (n = (g = (i = e.fields.tags) == null ? void 0 : i.split(",")) == null ? void 0 : g.map((m) => String(m || "").trim())) == null ? void 0 : n.filter((m) => m !== "") : null,
845
+ tags: e.fields.tags ? (n = (y = (i = e.fields.tags) == null ? void 0 : i.split(",")) == null ? void 0 : y.map((m) => String(m || "").trim())) == null ? void 0 : n.filter((m) => m !== "") : null,
854
846
  protocol: e.fields.protocol,
855
847
  path: e.fields.path || null,
856
848
  read_timeout: e.fields.read_timeout,
@@ -867,7 +859,7 @@ const ue = {
867
859
  };
868
860
  return e.fields.client_certificate && ["https", "wss", "tls"].includes(e.fields.protocol) && (t.client_certificate = { id: e.fields.client_certificate }), e.fields.tls_verify_enabled && ["https", "wss", "tls"].includes(e.fields.protocol) && (t.tls_verify = e.fields.tls_verify_value), ie.value || (t.path = null), F.value === "create" ? C.value === "url" ? (delete t.protocol, delete t.host, delete t.path, r.config.app === "konnect" && delete t.port) : delete t.url : F.value === "edit" && delete t.url, t;
869
861
  }), j = async () => {
870
- var t, i, g, n;
862
+ var t, i, y, n;
871
863
  try {
872
864
  e.isReadonly = !0, oe();
873
865
  const f = q.value;
@@ -875,7 +867,7 @@ const ue = {
875
867
  let m;
876
868
  if (await h.post(Z.value, f), F.value === "create" ? m = await h.post(K.value, f) : F.value === "edit" && (m = ((t = r.config) == null ? void 0 : t.app) === "konnect" ? await h.put(K.value, f) : await h.patch(K.value, f)), m) {
877
869
  const { data: l } = m;
878
- e.fields.name = (l == null ? void 0 : l.name) || "", e.fields.port = l.port || H.getPortFromProtocol(l.protocol), e.fields.protocol = (l == null ? void 0 : l.protocol) || "http", e.fields.host = (l == null ? void 0 : l.host) || "", e.fields.path = (l == null ? void 0 : l.path) || "", e.fields.url = (l == null ? void 0 : l.url) || "", e.fields.retries = l != null && l.retries || (l == null ? void 0 : l.retries) === 0 ? l == null ? void 0 : l.retries : 5, e.fields.connect_timeout = l != null && l.connect_timeout || (l == null ? void 0 : l.connect_timeout) === 0 ? l == null ? void 0 : l.connect_timeout : 6e4, e.fields.write_timeout = l != null && l.write_timeout || (l == null ? void 0 : l.write_timeout) === 0 ? l == null ? void 0 : l.write_timeout : 6e4, e.fields.read_timeout = l != null && l.read_timeout || (l == null ? void 0 : l.read_timeout) === 0 ? l == null ? void 0 : l.read_timeout : 6e4, e.fields.client_certificate = ((i = l == null ? void 0 : l.client_certificate) == null ? void 0 : i.id) || "", e.fields.ca_certificates = (g = l == null ? void 0 : l.ca_certificates) != null && g.length ? l == null ? void 0 : l.ca_certificates.join(",") : "", e.fields.tls_verify_enabled = (l == null ? void 0 : l.tls_verify) !== "" && (l == null ? void 0 : l.tls_verify) !== null && (l == null ? void 0 : l.tls_verify) !== void 0, e.fields.tls_verify_value = e.fields.tls_verify_enabled && (l == null ? void 0 : l.tls_verify), e.fields.tags = (n = l == null ? void 0 : l.tags) != null && n.length ? l.tags.join(", ") : "", Object.assign(_, e.fields), c("update", m == null ? void 0 : m.data);
870
+ e.fields.name = (l == null ? void 0 : l.name) || "", e.fields.port = l.port || H.getPortFromProtocol(l.protocol), e.fields.protocol = (l == null ? void 0 : l.protocol) || "http", e.fields.host = (l == null ? void 0 : l.host) || "", e.fields.path = (l == null ? void 0 : l.path) || "", e.fields.url = (l == null ? void 0 : l.url) || "", e.fields.retries = l != null && l.retries || (l == null ? void 0 : l.retries) === 0 ? l == null ? void 0 : l.retries : 5, e.fields.connect_timeout = l != null && l.connect_timeout || (l == null ? void 0 : l.connect_timeout) === 0 ? l == null ? void 0 : l.connect_timeout : 6e4, e.fields.write_timeout = l != null && l.write_timeout || (l == null ? void 0 : l.write_timeout) === 0 ? l == null ? void 0 : l.write_timeout : 6e4, e.fields.read_timeout = l != null && l.read_timeout || (l == null ? void 0 : l.read_timeout) === 0 ? l == null ? void 0 : l.read_timeout : 6e4, e.fields.client_certificate = ((i = l == null ? void 0 : l.client_certificate) == null ? void 0 : i.id) || "", e.fields.ca_certificates = (y = l == null ? void 0 : l.ca_certificates) != null && y.length ? l == null ? void 0 : l.ca_certificates.join(",") : "", e.fields.tls_verify_enabled = (l == null ? void 0 : l.tls_verify) !== "" && (l == null ? void 0 : l.tls_verify) !== null && (l == null ? void 0 : l.tls_verify) !== void 0, e.fields.tls_verify_value = e.fields.tls_verify_enabled && (l == null ? void 0 : l.tls_verify), e.fields.tags = (n = l == null ? void 0 : l.tags) != null && n.length ? l.tags.join(", ") : "", Object.assign(_, e.fields), c("update", m == null ? void 0 : m.data);
879
871
  }
880
872
  return m;
881
873
  } catch (f) {
@@ -888,7 +880,7 @@ const ue = {
888
880
  Object.assign(e.fields, _);
889
881
  }), Ce(e.fields, (t) => {
890
882
  e.fields.port = H.getPortFromProtocol(t.protocol, String(t.port)), c("model-updated", q.value);
891
- }), De(() => {
883
+ }), Be(() => {
892
884
  c("model-updated", q.value);
893
885
  }), $({
894
886
  validateUrl: oe,
@@ -897,13 +889,12 @@ const ue = {
897
889
  canSubmit: Y,
898
890
  initForm: R
899
891
  }), (t, i) => {
900
- const g = M("KInput"), n = M("KLabel"), f = M("KRadio"), m = M("KSelect"), l = M("KCheckbox"), A = M("KCollapse");
901
- return k(), T("div", gt, [
892
+ const y = M("KInput"), n = M("KLabel"), f = M("KRadio"), m = M("KSelect"), l = M("KCheckbox"), A = M("KCollapse");
893
+ return k(), I("div", yt, [
902
894
  u(o(et), {
903
895
  "can-submit": Y.value,
904
896
  config: a.config,
905
897
  "edit-id": a.gatewayServiceId,
906
- "enable-terraform": a.enableTerraform,
907
898
  "entity-type": o(Ee).GatewayService,
908
899
  "error-message": e.errorMessage,
909
900
  "fetch-url": pe.value,
@@ -923,13 +914,13 @@ const ue = {
923
914
  }, void 0, !0)
924
915
  ]),
925
916
  default: p(() => [
926
- u(o(Ie), {
917
+ u(o(Te), {
927
918
  description: o(s)("gateway_services.form.sections.general.description"),
928
919
  "hide-info-header": a.hideSectionsInfo,
929
920
  title: o(s)("gateway_services.form.sections.general.title")
930
921
  }, {
931
922
  default: p(() => [
932
- u(g, {
923
+ u(y, {
933
924
  modelValue: e.fields.name,
934
925
  "onUpdate:modelValue": i[0] || (i[0] = (d) => e.fields.name = d),
935
926
  modelModifiers: { trim: !0 },
@@ -948,7 +939,7 @@ const ue = {
948
939
  type: "text",
949
940
  onInput: he
950
941
  }, null, 8, ["modelValue", "error", "error-message", "label", "label-attributes", "placeholder", "readonly"]),
951
- u(g, {
942
+ u(y, {
952
943
  modelValue: e.fields.tags,
953
944
  "onUpdate:modelValue": i[1] || (i[1] = (d) => e.fields.tags = d),
954
945
  modelModifiers: { trim: !0 },
@@ -968,13 +959,13 @@ const ue = {
968
959
  ]),
969
960
  _: 1
970
961
  }, 8, ["description", "hide-info-header", "title"]),
971
- u(o(Ie), {
962
+ u(o(Te), {
972
963
  description: o(s)("gateway_services.form.sections.keys.description"),
973
964
  "hide-info-header": a.hideSectionsInfo,
974
965
  title: o(s)("gateway_services.form.sections.keys.title")
975
966
  }, {
976
967
  default: p(() => [
977
- B.value ? D("", !0) : (k(), T("div", _t, [
968
+ D.value ? B("", !0) : (k(), I("div", _t, [
978
969
  V("div", bt, [
979
970
  u(n, { required: "" }, {
980
971
  default: p(() => [
@@ -988,7 +979,7 @@ const ue = {
988
979
  modelValue: C.value,
989
980
  "onUpdate:modelValue": i[2] || (i[2] = (d) => C.value = d),
990
981
  "data-testid": "gateway-service-url-radio",
991
- "selected-value": I.url,
982
+ "selected-value": T.url,
992
983
  onChange: X
993
984
  }, {
994
985
  default: p(() => [
@@ -997,8 +988,8 @@ const ue = {
997
988
  _: 1
998
989
  }, 8, ["modelValue", "selected-value"])
999
990
  ]),
1000
- C.value === "url" ? (k(), T("div", wt, [
1001
- u(g, {
991
+ C.value === "url" ? (k(), I("div", wt, [
992
+ u(y, {
1002
993
  modelValue: e.fields.url,
1003
994
  "onUpdate:modelValue": i[3] || (i[3] = (d) => e.fields.url = d),
1004
995
  modelModifiers: { trim: !0 },
@@ -1013,13 +1004,13 @@ const ue = {
1013
1004
  placeholder: o(s)("gateway_services.form.fields.upstream_url.placeholder"),
1014
1005
  required: ""
1015
1006
  }, null, 8, ["modelValue", "label", "label-attributes", "placeholder"])
1016
- ])) : D("", !0),
1007
+ ])) : B("", !0),
1017
1008
  u(f, {
1018
1009
  modelValue: C.value,
1019
1010
  "onUpdate:modelValue": i[4] || (i[4] = (d) => C.value = d),
1020
1011
  "checked-group": "protocol",
1021
1012
  "data-testid": "gateway-service-protocol-radio",
1022
- "selected-value": I.protocol,
1013
+ "selected-value": T.protocol,
1023
1014
  onChange: X
1024
1015
  }, {
1025
1016
  default: p(() => [
@@ -1028,7 +1019,7 @@ const ue = {
1028
1019
  _: 1
1029
1020
  }, 8, ["modelValue", "selected-value"])
1030
1021
  ])),
1031
- C.value === "protocol" || B.value ? (k(), T("div", kt, [
1022
+ C.value === "protocol" || D.value ? (k(), I("div", kt, [
1032
1023
  u(m, {
1033
1024
  modelValue: e.fields.protocol,
1034
1025
  "onUpdate:modelValue": i[5] || (i[5] = (d) => e.fields.protocol = d),
@@ -1044,7 +1035,7 @@ const ue = {
1044
1035
  width: "100%",
1045
1036
  onSelected: i[6] || (i[6] = (d) => Q(e.fields.protocol, d))
1046
1037
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"]),
1047
- u(g, {
1038
+ u(y, {
1048
1039
  modelValue: e.fields.host,
1049
1040
  "onUpdate:modelValue": i[7] || (i[7] = (d) => e.fields.host = d),
1050
1041
  modelModifiers: { trim: !0 },
@@ -1059,8 +1050,8 @@ const ue = {
1059
1050
  placeholder: o(s)("gateway_services.form.fields.host.placeholder"),
1060
1051
  required: ""
1061
1052
  }, null, 8, ["modelValue", "label", "label-attributes", "placeholder"]),
1062
- ie.value ? (k(), T("div", Ct, [
1063
- u(g, {
1053
+ ie.value ? (k(), I("div", Ct, [
1054
+ u(y, {
1064
1055
  modelValue: e.fields.path,
1065
1056
  "onUpdate:modelValue": i[8] || (i[8] = (d) => e.fields.path = d),
1066
1057
  modelModifiers: { trim: !0 },
@@ -1074,8 +1065,8 @@ const ue = {
1074
1065
  name: "path",
1075
1066
  placeholder: o(s)("gateway_services.form.fields.path.placeholder")
1076
1067
  }, null, 8, ["modelValue", "label", "label-attributes", "placeholder"])
1077
- ])) : D("", !0),
1078
- u(g, {
1068
+ ])) : B("", !0),
1069
+ u(y, {
1079
1070
  modelValue: e.fields.port,
1080
1071
  "onUpdate:modelValue": [
1081
1072
  i[9] || (i[9] = (d) => e.fields.port = d),
@@ -1093,7 +1084,7 @@ const ue = {
1093
1084
  name: "port",
1094
1085
  type: "number"
1095
1086
  }, null, 8, ["modelValue", "label", "label-attributes"])
1096
- ])) : D("", !0),
1087
+ ])) : B("", !0),
1097
1088
  u(A, {
1098
1089
  modelValue: x.value,
1099
1090
  "onUpdate:modelValue": i[24] || (i[24] = (d) => x.value = d),
@@ -1104,7 +1095,7 @@ const ue = {
1104
1095
  default: p(() => [
1105
1096
  V("div", Vt, [
1106
1097
  V("div", St, [
1107
- u(g, {
1098
+ u(y, {
1108
1099
  modelValue: e.fields.retries,
1109
1100
  "onUpdate:modelValue": [
1110
1101
  i[11] || (i[11] = (d) => e.fields.retries = d),
@@ -1124,8 +1115,8 @@ const ue = {
1124
1115
  type: "number"
1125
1116
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1126
1117
  ]),
1127
- V("div", Tt, [
1128
- u(g, {
1118
+ V("div", It, [
1119
+ u(y, {
1129
1120
  modelValue: e.fields.connect_timeout,
1130
1121
  "onUpdate:modelValue": [
1131
1122
  i[13] || (i[13] = (d) => e.fields.connect_timeout = d),
@@ -1145,8 +1136,8 @@ const ue = {
1145
1136
  type: "number"
1146
1137
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1147
1138
  ]),
1148
- V("div", It, [
1149
- u(g, {
1139
+ V("div", Tt, [
1140
+ u(y, {
1150
1141
  modelValue: e.fields.write_timeout,
1151
1142
  "onUpdate:modelValue": [
1152
1143
  i[15] || (i[15] = (d) => e.fields.write_timeout = d),
@@ -1167,7 +1158,7 @@ const ue = {
1167
1158
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1168
1159
  ]),
1169
1160
  V("div", Pt, [
1170
- u(g, {
1161
+ u(y, {
1171
1162
  modelValue: e.fields.read_timeout,
1172
1163
  "onUpdate:modelValue": [
1173
1164
  i[17] || (i[17] = (d) => e.fields.read_timeout = d),
@@ -1187,8 +1178,8 @@ const ue = {
1187
1178
  type: "number"
1188
1179
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1189
1180
  ]),
1190
- ge.value ? (k(), T("div", Ut, [
1191
- u(g, {
1181
+ ye.value ? (k(), I("div", Ut, [
1182
+ u(y, {
1192
1183
  modelValue: e.fields.client_certificate,
1193
1184
  "onUpdate:modelValue": i[19] || (i[19] = (d) => e.fields.client_certificate = d),
1194
1185
  modelModifiers: { trim: !0 },
@@ -1204,9 +1195,9 @@ const ue = {
1204
1195
  readonly: e.isReadonly,
1205
1196
  type: "text"
1206
1197
  }, null, 8, ["modelValue", "label", "label-attributes", "placeholder", "readonly"])
1207
- ])) : D("", !0),
1208
- _e.value ? (k(), T("div", Et, [
1209
- u(g, {
1198
+ ])) : B("", !0),
1199
+ _e.value ? (k(), I("div", Et, [
1200
+ u(y, {
1210
1201
  modelValue: e.fields.ca_certificates,
1211
1202
  "onUpdate:modelValue": i[20] || (i[20] = (d) => e.fields.ca_certificates = d),
1212
1203
  modelModifiers: { trim: !0 },
@@ -1234,8 +1225,8 @@ const ue = {
1234
1225
  ]),
1235
1226
  _: 1
1236
1227
  }, 8, ["modelValue", "label", "placeholder", "readonly"])
1237
- ])) : D("", !0),
1238
- be.value ? (k(), T("div", Mt, [
1228
+ ])) : B("", !0),
1229
+ be.value ? (k(), I("div", Mt, [
1239
1230
  u(l, {
1240
1231
  modelValue: e.fields.tls_verify_enabled,
1241
1232
  "onUpdate:modelValue": i[21] || (i[21] = (d) => e.fields.tls_verify_enabled = d),
@@ -1257,7 +1248,7 @@ const ue = {
1257
1248
  ]),
1258
1249
  _: 1
1259
1250
  }, 8, ["modelValue", "description", "label"]),
1260
- e.fields.tls_verify_enabled ? (k(), T("div", xt, [
1251
+ e.fields.tls_verify_enabled ? (k(), I("div", xt, [
1261
1252
  u(f, {
1262
1253
  modelValue: e.fields.tls_verify_value,
1263
1254
  "onUpdate:modelValue": i[22] || (i[22] = (d) => e.fields.tls_verify_value = d),
@@ -1265,8 +1256,8 @@ const ue = {
1265
1256
  label: o(s)("gateway_services.form.fields.tls_verify_option.true.label"),
1266
1257
  "selected-value": !0
1267
1258
  }, null, 8, ["modelValue", "label"])
1268
- ])) : D("", !0),
1269
- e.fields.tls_verify_enabled ? (k(), T("div", Rt, [
1259
+ ])) : B("", !0),
1260
+ e.fields.tls_verify_enabled ? (k(), I("div", Rt, [
1270
1261
  u(f, {
1271
1262
  modelValue: e.fields.tls_verify_value,
1272
1263
  "onUpdate:modelValue": i[23] || (i[23] = (d) => e.fields.tls_verify_value = d),
@@ -1274,8 +1265,8 @@ const ue = {
1274
1265
  label: o(s)("gateway_services.form.fields.tls_verify_option.false.label"),
1275
1266
  "selected-value": !1
1276
1267
  }, null, 8, ["modelValue", "label"])
1277
- ])) : D("", !0)
1278
- ])) : D("", !0)
1268
+ ])) : B("", !0)
1269
+ ])) : B("", !0)
1279
1270
  ])
1280
1271
  ]),
1281
1272
  _: 1
@@ -1285,11 +1276,11 @@ const ue = {
1285
1276
  }, 8, ["description", "hide-info-header", "title"])
1286
1277
  ]),
1287
1278
  _: 3
1288
- }, 8, ["can-submit", "config", "edit-id", "enable-terraform", "entity-type", "error-message", "fetch-url", "form-fields", "is-readonly"])
1279
+ }, 8, ["can-submit", "config", "edit-id", "entity-type", "error-message", "fetch-url", "form-fields", "is-readonly"])
1289
1280
  ]);
1290
1281
  };
1291
1282
  }
1292
- }), qt = /* @__PURE__ */ Me(At, [["__scopeId", "data-v-b3bd262f"]]), Ft = { class: "kong-ui-gateway-service-entity-config-card" }, Nt = /* @__PURE__ */ Ve({
1283
+ }), qt = /* @__PURE__ */ Me(At, [["__scopeId", "data-v-35e0db56"]]), Ft = { class: "kong-ui-gateway-service-entity-config-card" }, Nt = /* @__PURE__ */ Ve({
1293
1284
  __name: "GatewayServiceConfigCard",
1294
1285
  props: {
1295
1286
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
@@ -1312,14 +1303,6 @@ const ue = {
1312
1303
  hideTitle: {
1313
1304
  type: Boolean,
1314
1305
  default: !1
1315
- },
1316
- /**
1317
- * Enable display of Terraform code
1318
- * Guarded by FF: khcp-12445-terraform-config-details
1319
- */
1320
- enableTerraform: {
1321
- type: Boolean,
1322
- default: !1
1323
1306
  }
1324
1307
  },
1325
1308
  emits: ["loading", "fetch:error", "fetch:success"],
@@ -1384,12 +1367,11 @@ const ue = {
1384
1367
  hidden: !0
1385
1368
  }
1386
1369
  });
1387
- return (s, P) => (k(), T("div", Ft, [
1370
+ return (s, P) => (k(), I("div", Ft, [
1388
1371
  u(o(ot), {
1389
1372
  config: a.config,
1390
1373
  "config-card-doc": a.configCardDoc,
1391
1374
  "config-schema": L.value,
1392
- "enable-terraform": a.enableTerraform,
1393
1375
  "entity-type": o(Ee).GatewayService,
1394
1376
  "fetch-url": r.value,
1395
1377
  "hide-title": a.hideTitle,
@@ -1443,7 +1425,7 @@ const ue = {
1443
1425
  U(b(o(x)("rowValue", h) ? o(x)("rowValue", h).id : "–"), 1)
1444
1426
  ]),
1445
1427
  _: 1
1446
- }, 8, ["config", "config-card-doc", "config-schema", "enable-terraform", "entity-type", "fetch-url", "hide-title"])
1428
+ }, 8, ["config", "config-card-doc", "config-schema", "entity-type", "fetch-url", "hide-title"])
1447
1429
  ]));
1448
1430
  }
1449
1431
  });
@@ -1 +1 @@
1
- (function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V["kong-ui-public-entities-gateway-services"]={},V.Vue,V.VueRouter,V.KongIcons,V["kong-ui-public-i18n"],V["kong-ui-public-entities-shared"]))})(this,function(V,e,de,ue,fe,y){"use strict";const me={actions:{create:"New Gateway Service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New Gateway Service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function ye(){const a=fe.createI18n("en-us",me);return{i18n:a,i18nT:fe.i18nTComponent(a)}}function ge(){return{getPortFromProtocol:(S,u)=>{const c=[80,443],s=Number(u);if((s||s===0)&&!c.includes(s))return s;switch(S){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const H={useI18n:ye,usePortFromProtocol:ge},J="/v2/control-planes/{controlPlaneId}/core-entities",z="/{workspace}",A={list:{konnect:{all:`${J}/services`},kongManager:{all:`${z}/services`}},form:{konnect:{create:`${J}/services`,validate:`${J}/v1/schemas/json/service/validate`,edit:`${J}/services/{id}`},kongManager:{create:`${z}/services`,validate:`${z}/schemas/services/validate`,edit:`${z}/services/{id}`}}},_e={class:"kong-ui-entities-gateway-services-list"},be={key:1},he={key:1},we=e.defineComponent({__name:"GatewayServiceList",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},isServerless:{type:Boolean,default:!1}},emits:["error","copy:success","copy:error","delete:success","toggle:success"],setup(a,{emit:S}){var g;const u=S,c=a,{i18n:{t:s,formatUnixTimeStamp:C}}=H.useI18n(),D=de.useRouter(),{axiosInstance:B}=y.useAxios((g=c.config)==null?void 0:g.axiosRequestConfig),r=e.ref(1),v=e.computed(()=>c.config.app!=="kongManager"||!!c.config.disableSorting),b={name:{label:s("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...c.config.showControlPlaneColumn?{control_plane:{label:s("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:s("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:s("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:s("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:s("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:s("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:s("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:s("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:s("gateway_services.list.table_headers.created_at"),sortable:!0}},Z={columnVisibility:{created_at:!1}},ee=b,E=e.computed(()=>{var f,p;let n=`${c.config.apiBaseUrl}${A.list[c.config.app].all}`;return c.config.app==="konnect"?n=n.replace(/{controlPlaneId}/gi,((f=c.config)==null?void 0:f.controlPlaneId)||""):c.config.app==="kongManager"&&(n=n.replace(/\/{workspace}/gi,(p=c.config)!=null&&p.workspace?`/${c.config.workspace}`:"")),n}),te=e.computed(()=>c.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${E.value}`):new URL(E.value)),T=e.ref(""),h=e.computed(()=>{const n=c.config.app==="konnect"||c.config.isExactMatch;if(n)return{isExactMatch:n,placeholder:s(`search.placeholder.${c.config.app}`)};const{name:f,enabled:p,protocol:l,host:N,port:d,path:U}=b;return{isExactMatch:n,fields:{name:f,enabled:p,protocol:l,host:N,port:d,path:U},schema:c.config.filterSchema}}),{fetcher:$,fetcherState:G}=y.useFetcher(c.config,E.value),oe=()=>{T.value=""},t=()=>{r.value++},_=e.ref(null),le=e.computed(()=>({ctaPath:c.config.createRoute,ctaText:i.value?c.isServerless?s("actions.serverless_create"):s("actions.create"):void 0,message:`${s("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState?` ${c.config.additionMessageForEmptyState}`:""}`,title:i.value?c.isServerless?s("gateway_services.list.empty_state.serverless_title"):s("gateway_services.list.empty_state.title"):s("gateway_services.title")})),L=e.ref(!1),w=e.ref(null),q=e.computed(()=>{const n={action:"disable",id:"",name:""};if(w.value){const{enabled:f,id:p,name:l}=w.value;n.action=f?"disable":"enable",n.id=p,n.name=l||p}return n}),I=n=>{L.value=!0,w.value=n},K=()=>{L.value=!1,w.value=null},Q=async()=>{var l,N;if(!await((l=c.canEdit)==null?void 0:l.call(c,w.value))||!w.value)return;const f=`${te.value.href}/${w.value.id}`,p=!w.value.enabled;try{const{data:d}=((N=c.config)==null?void 0:N.app)==="konnect"?await B.put(f,{...w.value,enabled:p}):await B.patch(f,{...w.value,enabled:p});u("toggle:success",d)}catch(d){u("error",d)}w.value.enabled=p},X=n=>{c.config.getControlPlaneRoute&&D.push(c.config.getControlPlaneRoute(n))},ie=(n,f)=>{const p=n.id;if(!f(p)){u("copy:error",{entity:n,field:"id",message:s("errors.copy")});return}u("copy:success",{entity:n,field:"id",message:s("copy.success",{val:p})})},re=(n,f)=>{const p=JSON.stringify(n);if(!f(p)){u("copy:error",{entity:n,message:s("errors.copy")});return}u("copy:success",{entity:n,message:s("copy.success_brief")})},se=async n=>{var p;await((p=c.canRetrieve)==null?void 0:p.call(c,n))&&D.push(c.config.getViewRoute(n.id))},ae=n=>({label:s("actions.view"),to:c.config.getViewRoute(n)}),W=n=>({label:s("actions.edit"),to:c.config.getEditRoute(n)}),x=e.ref(void 0),R=e.ref(!1),O=e.ref(!1),P=e.ref(""),ne=y.useDeleteUrlBuilder(c.config,E.value),M=n=>{x.value=n,R.value=!0,P.value=""},F=()=>{R.value=!1,x.value=void 0},Y=async()=>{var n,f,p;if((n=x.value)!=null&&n.id){O.value=!0;try{await B.delete(ne(x.value.id)),u("delete:success",x.value),F(),r.value++}catch(l){P.value=((p=(f=l.response)==null?void 0:f.data)==null?void 0:p.message)||l.message||s("errors.delete"),u("error",l)}finally{O.value=!1}}},o=e.ref(!1);e.watch(G,n=>{var f,p,l,N;if(Array.isArray((f=n==null?void 0:n.response)==null?void 0:f.data)&&(o.value=n.response.data.length>0),n.status===y.FetcherStatus.Error){_.value={title:s("errors.general")},(N=(l=(p=n.error)==null?void 0:p.response)==null?void 0:l.data)!=null&&N.message&&(_.value.message=n.error.response.data.message),u("error",n.error);return}_.value=null});const i=e.ref(!1);return e.onBeforeMount(async()=>{i.value=await c.canCreate()}),(n,f)=>{const p=e.resolveComponent("KButton"),l=e.resolveComponent("KBadge"),N=e.resolveComponent("KInputSwitch"),d=e.resolveComponent("KTruncate"),U=e.resolveComponent("KDropdownItem"),ce=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(e.unref(y.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"default-table-preferences":Z,"disable-pagination-page-jump":"","disable-sorting":v.value,"empty-state-options":le.value,"enable-entity-actions":"","error-message":_.value,fetcher:e.unref($),"fetcher-cache-key":r.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:T.value,"table-headers":e.unref(ee),onClearSearchInput:oe,"onClick:row":f[3]||(f[3]=m=>se(m)),onSort:t},{"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(y.EntityFilter),{modelValue:T.value,"onUpdate:modelValue":f[0]||(f[0]=m=>T.value=m),config:h.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.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canCreate()},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(p,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:a.useActionOutside?"medium":"large",to:a.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"]),[[e.vShow,o.value]])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:e.withCtx(({rowValue:m})=>[e.createElementVNode("b",null,e.toDisplayString(m??"-"),1)]),control_plane:e.withCtx(({row:m})=>{var k;return[(k=m.x_meta)!=null&&k.cluster_id?(e.openBlock(),e.createBlock(l,{key:0,tooltip:m.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(j=>X(m.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",be,"-"))]}),enabled:e.withCtx(({row:m})=>[e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canEdit(m),"force-show":""},{default:e.withCtx(({isAllowed:k})=>[e.createElementVNode("div",{onClick:f[1]||(f[1]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(N,{modelValue:m.enabled,"onUpdate:modelValue":j=>m.enabled=j,"data-testid":`row-${m.id}-toggle-input`,disabled:!k,onClick:e.withModifiers(j=>I(m),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:m})=>[(m==null?void 0:m.length)>0?(e.openBlock(),e.createBlock(d,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m,k=>(e.openBlock(),e.createBlock(l,{key:k,onClick:f[2]||(f[2]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k),1)]),_:2},1024))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",he,"-"))]),created_at:e.withCtx(({rowValue:m})=>[e.createTextVNode(e.toDisplayString(e.unref(C)(m)),1)]),updated_at:e.withCtx(({rowValue:m})=>[e.createTextVNode(e.toDisplayString(e.unref(C)(m)),1)]),actions:e.withCtx(({row:m})=>[e.createVNode(ce,null,{default:e.withCtx(({copyToClipboard:k})=>[e.createVNode(U,{"data-testid":"action-entity-copy-id",onClick:j=>ie(m,k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(ce,null,{default:e.withCtx(({copyToClipboard:k})=>[e.createVNode(U,{"data-testid":"action-entity-copy-json",onClick:j=>re(m,k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canRetrieve(m)},{default:e.withCtx(()=>[e.createVNode(U,{"data-testid":"action-entity-view","has-divider":"",item:ae(m.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canEdit(m)},{default:e.withCtx(()=>[e.createVNode(U,{"data-testid":"action-entity-edit",item:W(m.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canDelete(m)},{default:e.withCtx(()=>[e.createVNode(U,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:k=>M(m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:1},8,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers"]),e.createVNode(e.unref(y.EntityToggleModal),{action:q.value.action,"entity-id":q.value.id,"entity-name":q.value.name,"entity-type":e.unref(s)("glossary.gateway_services"),"on-confirm":Q,visible:L.value,onCancel:K,onProceed:K},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(y.EntityDeleteModal),{"action-pending":O.value,description:e.unref(s)("actions.delete.description"),"entity-name":x.value&&(x.value.name||x.value.id),"entity-type":e.unref(y.EntityTypes).GatewayService,error:P.value,title:e.unref(s)("actions.delete.title"),visible:R.value,onCancel:F,onProceed:Y},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),pe=(a,S)=>{const u=a.__vccOpts||a;for(const[c,s]of S)u[c]=s;return u},Ve=pe(we,[["__scopeId","data-v-822e59d7"]]),ve={class:"kong-ui-entities-gateway-service-form"},ke={key:0},Ce={class:"gateway-service-form-traffic-label"},xe={class:"gateway-service-form-margin-bottom"},Ne={key:0,class:"gateway-service-form-group-fields"},Ee={key:1,class:"gateway-service-form-group-fields"},Se={key:0},Te={class:"gateway-service-form-margin-top"},Be={class:"gateway-service-form-margin-bottom"},Ie={class:"gateway-service-form-margin-bottom"},Pe={class:"gateway-service-form-margin-bottom"},Me={class:"gateway-service-form-margin-bottom"},Ue={key:0,class:"gateway-service-form-margin-bottom"},De={key:1,class:"gateway-service-form-margin-bottom"},Re={key:2,class:"gateway-service-form-margin-bottom"},Fe={key:0,class:"checkbox-aligned-radio"},Ae={key:1,class:"checkbox-aligned-radio"},$e=pe(e.defineComponent({__name:"GatewayServiceForm",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.cancelRoute)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1},enableTerraform:{type:Boolean,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated"],setup(a,{expose:S,emit:u}){var Y;const c=u,s=a,C=e.ref(!0),D=de.useRouter(),{i18nT:B,i18n:{t:r}}=H.useI18n(),{getMessageFromError:v}=y.useErrors(),{axiosInstance:b}=y.useAxios((Y=s.config)==null?void 0:Y.axiosRequestConfig),Z=y.useValidators(),ee=e.computed(()=>A.form[s.config.app].edit),E=e.computed(()=>s.gatewayServiceId?y.EntityBaseFormType.Edit:y.EntityBaseFormType.Create),te=e.ref(!1),T=e.computed(()=>!!s.gatewayServiceId),h=e.ref(T.value?"protocol":"url"),$=H.usePortFromProtocol(),G=e.ref(""),oe=e.computed(()=>!!G.value),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""},isReadonly:!1,errorMessage:""}),_=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""}),le=s.config.app==="konnect"||y.useGatewayFeatureSupported({gatewayInfo:s.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),L=[{label:r("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:r("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:r("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:r("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:r("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:r("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:r("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...le?[{label:r("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:r("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:r("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],w={url:"url",protocol:"protocol"},q=(o,i)=>{i.value},I=o=>o?parseFloat(o):0,K=()=>{C.value=!0,t.errorMessage="",t.fields.host=_.host,t.fields.path=_.path,t.fields.port=_.port,t.fields.protocol=_.protocol,t.fields.url=_.url,t.fields.retries=_.retries,t.fields.connect_timeout=_.connect_timeout,t.fields.write_timeout=_.write_timeout,t.fields.read_timeout=_.read_timeout,t.fields.client_certificate=_.client_certificate,t.fields.ca_certificates=_.ca_certificates,t.fields.tls_verify_enabled=_.tls_verify_enabled,t.fields.tls_verify_value=_.tls_verify_value},Q=()=>{if(t.fields.url&&h.value==="url")try{const o=new URL(t.fields.url);t.errorMessage="",t.fields.protocol=o.protocol.slice(0,-1),t.fields.host=o.hostname,t.fields.path=o.pathname;const i=Number(o.port);te.value=!!i,t.fields.port=i||$.getPortFromProtocol(t.fields.protocol),t.errorMessage="",c("url-valid:success")}catch(o){t.errorMessage=r("errors.urlErrorMessage"),c("url-valid:error",v(o))}else c("url-valid:success"),t.errorMessage=""},X=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),ie=e.computed(()=>{if(h.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return h.value==="protocol"&&o}),re=e.computed(()=>{if(h.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return h.value==="protocol"&&o}),se=e.computed(()=>{if(h.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return h.value==="protocol"&&o}),ae=o=>{G.value=Z.utf8Name(o)},W=e.computed(()=>T.value&&JSON.stringify(t.fields)!==JSON.stringify(_)||h.value==="url"&&!!t.fields.url||h.value==="protocol"&&!!t.fields.host),x=o=>{var i,g,n;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((i=o==null?void 0:o.tags)==null?void 0:i.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((g=o==null?void 0:o.ca_certificates)==null?void 0:g.join(","))||"",t.fields.client_certificate=((n=o==null?void 0:o.client_certificate)==null?void 0:n.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,Object.assign(_,t.fields)},R=()=>{D.push(s.config.cancelRoute)},O=e.computed(()=>{var i,g;let o=`${s.config.apiBaseUrl}${A.form[s.config.app].validate}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(g=s.config)!=null&&g.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),P=e.computed(()=>{var i,g;let o=`${s.config.apiBaseUrl}${A.form[s.config.app][E.value]}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(g=s.config)!=null&&g.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),ne=o=>{let i="";o.url&&(i=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(i))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},M=e.computed(()=>{var i,g,n,f;const o={name:t.fields.name||null,tags:t.fields.tags?(n=(g=(i=t.fields.tags)==null?void 0:i.split(","))==null?void 0:g.map(p=>String(p||"").trim()))==null?void 0:n.filter(p=>p!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(f=t.fields.ca_certificates)==null?void 0:f.split(",").filter(p=>p!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),X.value||(o.path=null),E.value==="create"?h.value==="url"?(delete o.protocol,delete o.host,delete o.path,s.config.app==="konnect"&&delete o.port):delete o.url:E.value==="edit"&&delete o.url,o}),F=async()=>{var o,i,g,n;try{t.isReadonly=!0,Q();const f=M.value;ne(f);let p;if(await b.post(O.value,f),E.value==="create"?p=await b.post(P.value,f):E.value==="edit"&&(p=((o=s.config)==null?void 0:o.app)==="konnect"?await b.put(P.value,f):await b.patch(P.value,f)),p){const{data:l}=p;t.fields.name=(l==null?void 0:l.name)||"",t.fields.port=l.port||$.getPortFromProtocol(l.protocol),t.fields.protocol=(l==null?void 0:l.protocol)||"http",t.fields.host=(l==null?void 0:l.host)||"",t.fields.path=(l==null?void 0:l.path)||"",t.fields.url=(l==null?void 0:l.url)||"",t.fields.retries=l!=null&&l.retries||(l==null?void 0:l.retries)===0?l==null?void 0:l.retries:5,t.fields.connect_timeout=l!=null&&l.connect_timeout||(l==null?void 0:l.connect_timeout)===0?l==null?void 0:l.connect_timeout:6e4,t.fields.write_timeout=l!=null&&l.write_timeout||(l==null?void 0:l.write_timeout)===0?l==null?void 0:l.write_timeout:6e4,t.fields.read_timeout=l!=null&&l.read_timeout||(l==null?void 0:l.read_timeout)===0?l==null?void 0:l.read_timeout:6e4,t.fields.client_certificate=((i=l==null?void 0:l.client_certificate)==null?void 0:i.id)||"",t.fields.ca_certificates=(g=l==null?void 0:l.ca_certificates)!=null&&g.length?l==null?void 0:l.ca_certificates.join(","):"",t.fields.tls_verify_enabled=(l==null?void 0:l.tls_verify)!==""&&(l==null?void 0:l.tls_verify)!==null&&(l==null?void 0:l.tls_verify)!==void 0,t.fields.tls_verify_value=t.fields.tls_verify_enabled&&(l==null?void 0:l.tls_verify),t.fields.tags=(n=l==null?void 0:l.tags)!=null&&n.length?l.tags.join(", "):"",Object.assign(_,t.fields),c("update",p==null?void 0:p.data)}return p}catch(f){t.errorMessage=v(f),c("error",f)}finally{t.isReadonly=!1}};return e.watch(()=>s.gatewayServiceId,()=>{Object.assign(t.fields,_)}),e.watch(t.fields,o=>{t.fields.port=$.getPortFromProtocol(o.protocol,String(o.port)),c("model-updated",M.value)}),e.onMounted(()=>{c("model-updated",M.value)}),S({validateUrl:Q,getPayload:M,saveFormData:F,canSubmit:W,initForm:x}),(o,i)=>{const g=e.resolveComponent("KInput"),n=e.resolveComponent("KLabel"),f=e.resolveComponent("KRadio"),p=e.resolveComponent("KSelect"),l=e.resolveComponent("KCheckbox"),N=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(e.unref(y.EntityBaseForm),{"can-submit":W.value,config:a.config,"edit-id":a.gatewayServiceId,"enable-terraform":a.enableTerraform,"entity-type":e.unref(y.SupportedEntityType).GatewayService,"error-message":t.errorMessage,"fetch-url":ee.value,"form-fields":M.value,"is-readonly":t.isReadonly,onCancel:R,"onFetch:error":i[25]||(i[25]=d=>o.$emit("error",d)),"onFetch:success":x,onLoading:i[26]||(i[26]=d=>o.$emit("loading",d)),onSubmit:F},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:W.value,cancel:R,submit:F},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(y.EntityFormSection),{description:e.unref(r)("gateway_services.form.sections.general.description"),"hide-info-header":a.hideSectionsInfo,title:e.unref(r)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:t.fields.name,"onUpdate:modelValue":i[0]||(i[0]=d=>t.fields.name=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:oe.value,"error-message":G.value,label:e.unref(r)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(r)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:ae},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(g,{modelValue:t.fields.tags,"onUpdate:modelValue":i[1]||(i[1]=d=>t.fields.tags=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(r)("gateway_services.form.fields.tags.help"),label:e.unref(r)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(r)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(y.EntityFormSection),{description:e.unref(r)("gateway_services.form.sections.keys.description"),"hide-info-header":a.hideSectionsInfo,title:e.unref(r)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[T.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",Ce,[e.createVNode(n,{required:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("gateway_services.form.sections.keys.checkedGroupLabel")),1)]),_:1})]),e.createElementVNode("div",xe,[e.createVNode(f,{modelValue:h.value,"onUpdate:modelValue":i[2]||(i[2]=d=>h.value=d),"data-testid":"gateway-service-url-radio","selected-value":w.url,onChange:K},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("gateway_services.form.sections.keys.urlLabel")),1)]),_:1},8,["modelValue","selected-value"])]),h.value==="url"?(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(g,{modelValue:t.fields.url,"onUpdate:modelValue":i[3]||(i[3]=d=>t.fields.url=d),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",label:e.unref(r)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:a.config.app==="konnect"?e.unref(r)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(r)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(r)("gateway_services.form.fields.upstream_url.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(f,{modelValue:h.value,"onUpdate:modelValue":i[4]||(i[4]=d=>h.value=d),"checked-group":"protocol","data-testid":"gateway-service-protocol-radio","selected-value":w.protocol,onChange:K},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("gateway_services.form.sections.keys.checkedGroupAltLabel")),1)]),_:1},8,["modelValue","selected-value"])])),h.value==="protocol"||T.value?(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(p,{modelValue:t.fields.protocol,"onUpdate:modelValue":i[5]||(i[5]=d=>t.fields.protocol=d),"data-testid":"gateway-service-protocol-select",items:L,label:e.unref(r)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:i[6]||(i[6]=d=>q(t.fields.protocol,d))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(g,{modelValue:t.fields.host,"onUpdate:modelValue":i[7]||(i[7]=d=>t.fields.host=d),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",label:e.unref(r)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(r)("gateway_services.form.fields.host.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"]),X.value?(e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(g,{modelValue:t.fields.path,"onUpdate:modelValue":i[8]||(i[8]=d=>t.fields.path=d),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",label:e.unref(r)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(r)("gateway_services.form.fields.path.placeholder")},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(g,{modelValue:t.fields.port,"onUpdate:modelValue":[i[9]||(i[9]=d=>t.fields.port=d),i[10]||(i[10]=()=>{t.fields.port=I(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",label:e.unref(r)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number"},null,8,["modelValue","label","label-attributes"])])):e.createCommentVNode("",!0),e.createVNode(N,{modelValue:C.value,"onUpdate:modelValue":i[24]||(i[24]=d=>C.value=d),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(r)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createElementVNode("div",Te,[e.createElementVNode("div",Be,[e.createVNode(g,{modelValue:t.fields.retries,"onUpdate:modelValue":[i[11]||(i[11]=d=>t.fields.retries=d),i[12]||(i[12]=()=>{t.fields.retries=I(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(r)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ie,[e.createVNode(g,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[i[13]||(i[13]=d=>t.fields.connect_timeout=d),i[14]||(i[14]=()=>{t.fields.connect_timeout=I(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(r)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Pe,[e.createVNode(g,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[i[15]||(i[15]=d=>t.fields.write_timeout=d),i[16]||(i[16]=()=>{t.fields.write_timeout=I(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(r)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Me,[e.createVNode(g,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[i[17]||(i[17]=d=>t.fields.read_timeout=d),i[18]||(i[18]=()=>{t.fields.read_timeout=I(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(r)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),ie.value?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(g,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":i[19]||(i[19]=d=>t.fields.client_certificate=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",label:e.unref(r)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(r)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),re.value?(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(g,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":i[20]||(i[20]=d=>t.fields.ca_certificates=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",label:e.unref(r)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(r)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text"},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(B),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(r)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(r)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","label","placeholder","readonly"])])):e.createCommentVNode("",!0),se.value?(e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(l,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":i[21]||(i[21]=d=>t.fields.tls_verify_enabled=d),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(r)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(r)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(B),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(r)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Fe,[e.createVNode(f,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[22]||(i[22]=d=>t.fields.tls_verify_value=d),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(r)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Ae,[e.createVNode(f,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[23]||(i[23]=d=>t.fields.tls_verify_value=d),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(r)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"])]),_:3},8,["can-submit","config","edit-id","enable-terraform","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-b3bd262f"]]),Ge={class:"kong-ui-gateway-service-entity-config-card"},Le=e.defineComponent({__name:"GatewayServiceConfigCard",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},enableTerraform:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(a){const S=a,{i18n:{t:u},i18nT:c}=H.useI18n(),s=e.computed(()=>A.form[S.config.app].edit),{getPropValue:C}=y.useHelpers(),D=(r,v)=>C(r,v)===!0?u("gateway_services.form.fields.tls_verify_option.true.display"):u("gateway_services.form.fields.tls_verify_option.false.display"),B=e.ref({id:{},name:{tooltip:u("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.protocol.tooltip")},host:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.host.tooltip")},path:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.path.tooltip")},port:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.port.tooltip")},tags:{tooltip:u("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:u("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:u("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:u("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:u("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:u("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:y.ConfigurationSchemaType.BadgeTag,label:u("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:u("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(r,v)=>(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(e.unref(y.EntityBaseConfigCard),{config:a.config,"config-card-doc":a.configCardDoc,"config-schema":B.value,"enable-terraform":a.enableTerraform,"entity-type":e.unref(y.SupportedEntityType).GatewayService,"fetch-url":s.value,"hide-title":a.hideTitle,"onFetch:error":v[0]||(v[0]=b=>r.$emit("fetch:error",b)),"onFetch:success":v[1]||(v[1]=b=>r.$emit("fetch:success",b)),onLoading:v[2]||(v[2]=b=>r.$emit("loading",b))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(b=>[e.createTextVNode(e.toDisplayString(typeof e.unref(C)("rowValue",b)=="boolean"?D("rowValue",b):e.unref(u)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(b=>[e.createTextVNode(e.toDisplayString(e.unref(C)("rowValue",b)?e.unref(C)("rowValue",b).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","enable-terraform","entity-type","fetch-url","hide-title"])]))}});V.GatewayServiceConfigCard=Le,V.GatewayServiceForm=$e,V.GatewayServiceList=Ve,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
1
+ (function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V["kong-ui-public-entities-gateway-services"]={},V.Vue,V.VueRouter,V.KongIcons,V["kong-ui-public-i18n"],V["kong-ui-public-entities-shared"]))})(this,function(V,e,de,ue,fe,y){"use strict";const me={actions:{create:"New Gateway Service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New Gateway Service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function ye(){const a=fe.createI18n("en-us",me);return{i18n:a,i18nT:fe.i18nTComponent(a)}}function ge(){return{getPortFromProtocol:(S,u)=>{const c=[80,443],s=Number(u);if((s||s===0)&&!c.includes(s))return s;switch(S){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const H={useI18n:ye,usePortFromProtocol:ge},J="/v2/control-planes/{controlPlaneId}/core-entities",z="/{workspace}",A={list:{konnect:{all:`${J}/services`},kongManager:{all:`${z}/services`}},form:{konnect:{create:`${J}/services`,validate:`${J}/v1/schemas/json/service/validate`,edit:`${J}/services/{id}`},kongManager:{create:`${z}/services`,validate:`${z}/schemas/services/validate`,edit:`${z}/services/{id}`}}},_e={class:"kong-ui-entities-gateway-services-list"},be={key:1},he={key:1},we=e.defineComponent({__name:"GatewayServiceList",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},isServerless:{type:Boolean,default:!1}},emits:["error","copy:success","copy:error","delete:success","toggle:success"],setup(a,{emit:S}){var g;const u=S,c=a,{i18n:{t:s,formatUnixTimeStamp:C}}=H.useI18n(),D=de.useRouter(),{axiosInstance:B}=y.useAxios((g=c.config)==null?void 0:g.axiosRequestConfig),r=e.ref(1),v=e.computed(()=>c.config.app!=="kongManager"||!!c.config.disableSorting),b={name:{label:s("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...c.config.showControlPlaneColumn?{control_plane:{label:s("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:s("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:s("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:s("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:s("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:s("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:s("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:s("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:s("gateway_services.list.table_headers.created_at"),sortable:!0}},Z={columnVisibility:{created_at:!1}},ee=b,E=e.computed(()=>{var f,p;let n=`${c.config.apiBaseUrl}${A.list[c.config.app].all}`;return c.config.app==="konnect"?n=n.replace(/{controlPlaneId}/gi,((f=c.config)==null?void 0:f.controlPlaneId)||""):c.config.app==="kongManager"&&(n=n.replace(/\/{workspace}/gi,(p=c.config)!=null&&p.workspace?`/${c.config.workspace}`:"")),n}),te=e.computed(()=>c.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${E.value}`):new URL(E.value)),T=e.ref(""),h=e.computed(()=>{const n=c.config.app==="konnect"||c.config.isExactMatch;if(n)return{isExactMatch:n,placeholder:s(`search.placeholder.${c.config.app}`)};const{name:f,enabled:p,protocol:l,host:N,port:d,path:U}=b;return{isExactMatch:n,fields:{name:f,enabled:p,protocol:l,host:N,port:d,path:U},schema:c.config.filterSchema}}),{fetcher:$,fetcherState:G}=y.useFetcher(c.config,E.value),oe=()=>{T.value=""},t=()=>{r.value++},_=e.ref(null),le=e.computed(()=>({ctaPath:c.config.createRoute,ctaText:i.value?c.isServerless?s("actions.serverless_create"):s("actions.create"):void 0,message:`${s("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState?` ${c.config.additionMessageForEmptyState}`:""}`,title:i.value?c.isServerless?s("gateway_services.list.empty_state.serverless_title"):s("gateway_services.list.empty_state.title"):s("gateway_services.title")})),L=e.ref(!1),w=e.ref(null),q=e.computed(()=>{const n={action:"disable",id:"",name:""};if(w.value){const{enabled:f,id:p,name:l}=w.value;n.action=f?"disable":"enable",n.id=p,n.name=l||p}return n}),I=n=>{L.value=!0,w.value=n},K=()=>{L.value=!1,w.value=null},Q=async()=>{var l,N;if(!await((l=c.canEdit)==null?void 0:l.call(c,w.value))||!w.value)return;const f=`${te.value.href}/${w.value.id}`,p=!w.value.enabled;try{const{data:d}=((N=c.config)==null?void 0:N.app)==="konnect"?await B.put(f,{...w.value,enabled:p}):await B.patch(f,{...w.value,enabled:p});u("toggle:success",d)}catch(d){u("error",d)}w.value.enabled=p},X=n=>{c.config.getControlPlaneRoute&&D.push(c.config.getControlPlaneRoute(n))},ie=(n,f)=>{const p=n.id;if(!f(p)){u("copy:error",{entity:n,field:"id",message:s("errors.copy")});return}u("copy:success",{entity:n,field:"id",message:s("copy.success",{val:p})})},re=(n,f)=>{const p=JSON.stringify(n);if(!f(p)){u("copy:error",{entity:n,message:s("errors.copy")});return}u("copy:success",{entity:n,message:s("copy.success_brief")})},se=async n=>{var p;await((p=c.canRetrieve)==null?void 0:p.call(c,n))&&D.push(c.config.getViewRoute(n.id))},ae=n=>({label:s("actions.view"),to:c.config.getViewRoute(n)}),W=n=>({label:s("actions.edit"),to:c.config.getEditRoute(n)}),x=e.ref(void 0),R=e.ref(!1),O=e.ref(!1),P=e.ref(""),ne=y.useDeleteUrlBuilder(c.config,E.value),M=n=>{x.value=n,R.value=!0,P.value=""},F=()=>{R.value=!1,x.value=void 0},Y=async()=>{var n,f,p;if((n=x.value)!=null&&n.id){O.value=!0;try{await B.delete(ne(x.value.id)),u("delete:success",x.value),F(),r.value++}catch(l){P.value=((p=(f=l.response)==null?void 0:f.data)==null?void 0:p.message)||l.message||s("errors.delete"),u("error",l)}finally{O.value=!1}}},o=e.ref(!1);e.watch(G,n=>{var f,p,l,N;if(Array.isArray((f=n==null?void 0:n.response)==null?void 0:f.data)&&(o.value=n.response.data.length>0),n.status===y.FetcherStatus.Error){_.value={title:s("errors.general")},(N=(l=(p=n.error)==null?void 0:p.response)==null?void 0:l.data)!=null&&N.message&&(_.value.message=n.error.response.data.message),u("error",n.error);return}_.value=null});const i=e.ref(!1);return e.onBeforeMount(async()=>{i.value=await c.canCreate()}),(n,f)=>{const p=e.resolveComponent("KButton"),l=e.resolveComponent("KBadge"),N=e.resolveComponent("KInputSwitch"),d=e.resolveComponent("KTruncate"),U=e.resolveComponent("KDropdownItem"),ce=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(e.unref(y.EntityBaseTable),{"cache-identifier":a.cacheIdentifier,"default-table-preferences":Z,"disable-pagination-page-jump":"","disable-sorting":v.value,"empty-state-options":le.value,"enable-entity-actions":"","error-message":_.value,fetcher:e.unref($),"fetcher-cache-key":r.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:T.value,"table-headers":e.unref(ee),onClearSearchInput:oe,"onClick:row":f[3]||(f[3]=m=>se(m)),onSort:t},{"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(y.EntityFilter),{modelValue:T.value,"onUpdate:modelValue":f[0]||(f[0]=m=>T.value=m),config:h.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.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canCreate()},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(p,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:a.useActionOutside?"medium":"large",to:a.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"]),[[e.vShow,o.value]])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:e.withCtx(({rowValue:m})=>[e.createElementVNode("b",null,e.toDisplayString(m??"-"),1)]),control_plane:e.withCtx(({row:m})=>{var k;return[(k=m.x_meta)!=null&&k.cluster_id?(e.openBlock(),e.createBlock(l,{key:0,tooltip:m.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(j=>X(m.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",be,"-"))]}),enabled:e.withCtx(({row:m})=>[e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canEdit(m),"force-show":""},{default:e.withCtx(({isAllowed:k})=>[e.createElementVNode("div",{onClick:f[1]||(f[1]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(N,{modelValue:m.enabled,"onUpdate:modelValue":j=>m.enabled=j,"data-testid":`row-${m.id}-toggle-input`,disabled:!k,onClick:e.withModifiers(j=>I(m),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:m})=>[(m==null?void 0:m.length)>0?(e.openBlock(),e.createBlock(d,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m,k=>(e.openBlock(),e.createBlock(l,{key:k,onClick:f[2]||(f[2]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k),1)]),_:2},1024))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",he,"-"))]),created_at:e.withCtx(({rowValue:m})=>[e.createTextVNode(e.toDisplayString(e.unref(C)(m)),1)]),updated_at:e.withCtx(({rowValue:m})=>[e.createTextVNode(e.toDisplayString(e.unref(C)(m)),1)]),actions:e.withCtx(({row:m})=>[e.createVNode(ce,null,{default:e.withCtx(({copyToClipboard:k})=>[e.createVNode(U,{"data-testid":"action-entity-copy-id",onClick:j=>ie(m,k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(ce,null,{default:e.withCtx(({copyToClipboard:k})=>[e.createVNode(U,{"data-testid":"action-entity-copy-json",onClick:j=>re(m,k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canRetrieve(m)},{default:e.withCtx(()=>[e.createVNode(U,{"data-testid":"action-entity-view","has-divider":"",item:ae(m.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canEdit(m)},{default:e.withCtx(()=>[e.createVNode(U,{"data-testid":"action-entity-edit",item:W(m.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(y.PermissionsWrapper),{"auth-function":()=>a.canDelete(m)},{default:e.withCtx(()=>[e.createVNode(U,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:k=>M(m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:1},8,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers"]),e.createVNode(e.unref(y.EntityToggleModal),{action:q.value.action,"entity-id":q.value.id,"entity-name":q.value.name,"entity-type":e.unref(s)("glossary.gateway_services"),"on-confirm":Q,visible:L.value,onCancel:K,onProceed:K},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(y.EntityDeleteModal),{"action-pending":O.value,description:e.unref(s)("actions.delete.description"),"entity-name":x.value&&(x.value.name||x.value.id),"entity-type":e.unref(y.EntityTypes).GatewayService,error:P.value,title:e.unref(s)("actions.delete.title"),visible:R.value,onCancel:F,onProceed:Y},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),pe=(a,S)=>{const u=a.__vccOpts||a;for(const[c,s]of S)u[c]=s;return u},Ve=pe(we,[["__scopeId","data-v-822e59d7"]]),ve={class:"kong-ui-entities-gateway-service-form"},ke={key:0},Ce={class:"gateway-service-form-traffic-label"},xe={class:"gateway-service-form-margin-bottom"},Ne={key:0,class:"gateway-service-form-group-fields"},Ee={key:1,class:"gateway-service-form-group-fields"},Se={key:0},Te={class:"gateway-service-form-margin-top"},Be={class:"gateway-service-form-margin-bottom"},Ie={class:"gateway-service-form-margin-bottom"},Pe={class:"gateway-service-form-margin-bottom"},Me={class:"gateway-service-form-margin-bottom"},Ue={key:0,class:"gateway-service-form-margin-bottom"},De={key:1,class:"gateway-service-form-margin-bottom"},Re={key:2,class:"gateway-service-form-margin-bottom"},Fe={key:0,class:"checkbox-aligned-radio"},Ae={key:1,class:"checkbox-aligned-radio"},$e=pe(e.defineComponent({__name:"GatewayServiceForm",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.cancelRoute)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated"],setup(a,{expose:S,emit:u}){var Y;const c=u,s=a,C=e.ref(!0),D=de.useRouter(),{i18nT:B,i18n:{t:r}}=H.useI18n(),{getMessageFromError:v}=y.useErrors(),{axiosInstance:b}=y.useAxios((Y=s.config)==null?void 0:Y.axiosRequestConfig),Z=y.useValidators(),ee=e.computed(()=>A.form[s.config.app].edit),E=e.computed(()=>s.gatewayServiceId?y.EntityBaseFormType.Edit:y.EntityBaseFormType.Create),te=e.ref(!1),T=e.computed(()=>!!s.gatewayServiceId),h=e.ref(T.value?"protocol":"url"),$=H.usePortFromProtocol(),G=e.ref(""),oe=e.computed(()=>!!G.value),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""},isReadonly:!1,errorMessage:""}),_=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""}),le=s.config.app==="konnect"||y.useGatewayFeatureSupported({gatewayInfo:s.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),L=[{label:r("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:r("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:r("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:r("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:r("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:r("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:r("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...le?[{label:r("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:r("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:r("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],w={url:"url",protocol:"protocol"},q=(o,i)=>{i.value},I=o=>o?parseFloat(o):0,K=()=>{C.value=!0,t.errorMessage="",t.fields.host=_.host,t.fields.path=_.path,t.fields.port=_.port,t.fields.protocol=_.protocol,t.fields.url=_.url,t.fields.retries=_.retries,t.fields.connect_timeout=_.connect_timeout,t.fields.write_timeout=_.write_timeout,t.fields.read_timeout=_.read_timeout,t.fields.client_certificate=_.client_certificate,t.fields.ca_certificates=_.ca_certificates,t.fields.tls_verify_enabled=_.tls_verify_enabled,t.fields.tls_verify_value=_.tls_verify_value},Q=()=>{if(t.fields.url&&h.value==="url")try{const o=new URL(t.fields.url);t.errorMessage="",t.fields.protocol=o.protocol.slice(0,-1),t.fields.host=o.hostname,t.fields.path=o.pathname;const i=Number(o.port);te.value=!!i,t.fields.port=i||$.getPortFromProtocol(t.fields.protocol),t.errorMessage="",c("url-valid:success")}catch(o){t.errorMessage=r("errors.urlErrorMessage"),c("url-valid:error",v(o))}else c("url-valid:success"),t.errorMessage=""},X=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),ie=e.computed(()=>{if(h.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return h.value==="protocol"&&o}),re=e.computed(()=>{if(h.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return h.value==="protocol"&&o}),se=e.computed(()=>{if(h.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return h.value==="protocol"&&o}),ae=o=>{G.value=Z.utf8Name(o)},W=e.computed(()=>T.value&&JSON.stringify(t.fields)!==JSON.stringify(_)||h.value==="url"&&!!t.fields.url||h.value==="protocol"&&!!t.fields.host),x=o=>{var i,g,n;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((i=o==null?void 0:o.tags)==null?void 0:i.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((g=o==null?void 0:o.ca_certificates)==null?void 0:g.join(","))||"",t.fields.client_certificate=((n=o==null?void 0:o.client_certificate)==null?void 0:n.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,Object.assign(_,t.fields)},R=()=>{D.push(s.config.cancelRoute)},O=e.computed(()=>{var i,g;let o=`${s.config.apiBaseUrl}${A.form[s.config.app].validate}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(g=s.config)!=null&&g.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),P=e.computed(()=>{var i,g;let o=`${s.config.apiBaseUrl}${A.form[s.config.app][E.value]}`;return s.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((i=s.config)==null?void 0:i.controlPlaneId)||""):s.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(g=s.config)!=null&&g.workspace?`/${s.config.workspace}`:"")),o=o.replace(/{id}/gi,s.gatewayServiceId),o}),ne=o=>{let i="";o.url&&(i=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(i))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},M=e.computed(()=>{var i,g,n,f;const o={name:t.fields.name||null,tags:t.fields.tags?(n=(g=(i=t.fields.tags)==null?void 0:i.split(","))==null?void 0:g.map(p=>String(p||"").trim()))==null?void 0:n.filter(p=>p!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(f=t.fields.ca_certificates)==null?void 0:f.split(",").filter(p=>p!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),X.value||(o.path=null),E.value==="create"?h.value==="url"?(delete o.protocol,delete o.host,delete o.path,s.config.app==="konnect"&&delete o.port):delete o.url:E.value==="edit"&&delete o.url,o}),F=async()=>{var o,i,g,n;try{t.isReadonly=!0,Q();const f=M.value;ne(f);let p;if(await b.post(O.value,f),E.value==="create"?p=await b.post(P.value,f):E.value==="edit"&&(p=((o=s.config)==null?void 0:o.app)==="konnect"?await b.put(P.value,f):await b.patch(P.value,f)),p){const{data:l}=p;t.fields.name=(l==null?void 0:l.name)||"",t.fields.port=l.port||$.getPortFromProtocol(l.protocol),t.fields.protocol=(l==null?void 0:l.protocol)||"http",t.fields.host=(l==null?void 0:l.host)||"",t.fields.path=(l==null?void 0:l.path)||"",t.fields.url=(l==null?void 0:l.url)||"",t.fields.retries=l!=null&&l.retries||(l==null?void 0:l.retries)===0?l==null?void 0:l.retries:5,t.fields.connect_timeout=l!=null&&l.connect_timeout||(l==null?void 0:l.connect_timeout)===0?l==null?void 0:l.connect_timeout:6e4,t.fields.write_timeout=l!=null&&l.write_timeout||(l==null?void 0:l.write_timeout)===0?l==null?void 0:l.write_timeout:6e4,t.fields.read_timeout=l!=null&&l.read_timeout||(l==null?void 0:l.read_timeout)===0?l==null?void 0:l.read_timeout:6e4,t.fields.client_certificate=((i=l==null?void 0:l.client_certificate)==null?void 0:i.id)||"",t.fields.ca_certificates=(g=l==null?void 0:l.ca_certificates)!=null&&g.length?l==null?void 0:l.ca_certificates.join(","):"",t.fields.tls_verify_enabled=(l==null?void 0:l.tls_verify)!==""&&(l==null?void 0:l.tls_verify)!==null&&(l==null?void 0:l.tls_verify)!==void 0,t.fields.tls_verify_value=t.fields.tls_verify_enabled&&(l==null?void 0:l.tls_verify),t.fields.tags=(n=l==null?void 0:l.tags)!=null&&n.length?l.tags.join(", "):"",Object.assign(_,t.fields),c("update",p==null?void 0:p.data)}return p}catch(f){t.errorMessage=v(f),c("error",f)}finally{t.isReadonly=!1}};return e.watch(()=>s.gatewayServiceId,()=>{Object.assign(t.fields,_)}),e.watch(t.fields,o=>{t.fields.port=$.getPortFromProtocol(o.protocol,String(o.port)),c("model-updated",M.value)}),e.onMounted(()=>{c("model-updated",M.value)}),S({validateUrl:Q,getPayload:M,saveFormData:F,canSubmit:W,initForm:x}),(o,i)=>{const g=e.resolveComponent("KInput"),n=e.resolveComponent("KLabel"),f=e.resolveComponent("KRadio"),p=e.resolveComponent("KSelect"),l=e.resolveComponent("KCheckbox"),N=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(e.unref(y.EntityBaseForm),{"can-submit":W.value,config:a.config,"edit-id":a.gatewayServiceId,"entity-type":e.unref(y.SupportedEntityType).GatewayService,"error-message":t.errorMessage,"fetch-url":ee.value,"form-fields":M.value,"is-readonly":t.isReadonly,onCancel:R,"onFetch:error":i[25]||(i[25]=d=>o.$emit("error",d)),"onFetch:success":x,onLoading:i[26]||(i[26]=d=>o.$emit("loading",d)),onSubmit:F},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:W.value,cancel:R,submit:F},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(y.EntityFormSection),{description:e.unref(r)("gateway_services.form.sections.general.description"),"hide-info-header":a.hideSectionsInfo,title:e.unref(r)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:t.fields.name,"onUpdate:modelValue":i[0]||(i[0]=d=>t.fields.name=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:oe.value,"error-message":G.value,label:e.unref(r)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(r)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:ae},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(g,{modelValue:t.fields.tags,"onUpdate:modelValue":i[1]||(i[1]=d=>t.fields.tags=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(r)("gateway_services.form.fields.tags.help"),label:e.unref(r)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(r)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(y.EntityFormSection),{description:e.unref(r)("gateway_services.form.sections.keys.description"),"hide-info-header":a.hideSectionsInfo,title:e.unref(r)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[T.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",Ce,[e.createVNode(n,{required:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("gateway_services.form.sections.keys.checkedGroupLabel")),1)]),_:1})]),e.createElementVNode("div",xe,[e.createVNode(f,{modelValue:h.value,"onUpdate:modelValue":i[2]||(i[2]=d=>h.value=d),"data-testid":"gateway-service-url-radio","selected-value":w.url,onChange:K},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("gateway_services.form.sections.keys.urlLabel")),1)]),_:1},8,["modelValue","selected-value"])]),h.value==="url"?(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(g,{modelValue:t.fields.url,"onUpdate:modelValue":i[3]||(i[3]=d=>t.fields.url=d),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",label:e.unref(r)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:a.config.app==="konnect"?e.unref(r)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(r)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(r)("gateway_services.form.fields.upstream_url.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(f,{modelValue:h.value,"onUpdate:modelValue":i[4]||(i[4]=d=>h.value=d),"checked-group":"protocol","data-testid":"gateway-service-protocol-radio","selected-value":w.protocol,onChange:K},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("gateway_services.form.sections.keys.checkedGroupAltLabel")),1)]),_:1},8,["modelValue","selected-value"])])),h.value==="protocol"||T.value?(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(p,{modelValue:t.fields.protocol,"onUpdate:modelValue":i[5]||(i[5]=d=>t.fields.protocol=d),"data-testid":"gateway-service-protocol-select",items:L,label:e.unref(r)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:i[6]||(i[6]=d=>q(t.fields.protocol,d))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(g,{modelValue:t.fields.host,"onUpdate:modelValue":i[7]||(i[7]=d=>t.fields.host=d),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",label:e.unref(r)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(r)("gateway_services.form.fields.host.placeholder"),required:""},null,8,["modelValue","label","label-attributes","placeholder"]),X.value?(e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(g,{modelValue:t.fields.path,"onUpdate:modelValue":i[8]||(i[8]=d=>t.fields.path=d),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",label:e.unref(r)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(r)("gateway_services.form.fields.path.placeholder")},null,8,["modelValue","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(g,{modelValue:t.fields.port,"onUpdate:modelValue":[i[9]||(i[9]=d=>t.fields.port=d),i[10]||(i[10]=()=>{t.fields.port=I(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",label:e.unref(r)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number"},null,8,["modelValue","label","label-attributes"])])):e.createCommentVNode("",!0),e.createVNode(N,{modelValue:C.value,"onUpdate:modelValue":i[24]||(i[24]=d=>C.value=d),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(r)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createElementVNode("div",Te,[e.createElementVNode("div",Be,[e.createVNode(g,{modelValue:t.fields.retries,"onUpdate:modelValue":[i[11]||(i[11]=d=>t.fields.retries=d),i[12]||(i[12]=()=>{t.fields.retries=I(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(r)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ie,[e.createVNode(g,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[i[13]||(i[13]=d=>t.fields.connect_timeout=d),i[14]||(i[14]=()=>{t.fields.connect_timeout=I(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(r)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Pe,[e.createVNode(g,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[i[15]||(i[15]=d=>t.fields.write_timeout=d),i[16]||(i[16]=()=>{t.fields.write_timeout=I(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(r)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Me,[e.createVNode(g,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[i[17]||(i[17]=d=>t.fields.read_timeout=d),i[18]||(i[18]=()=>{t.fields.read_timeout=I(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(r)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),ie.value?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(g,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":i[19]||(i[19]=d=>t.fields.client_certificate=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",label:e.unref(r)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(r)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(r)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),re.value?(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(g,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":i[20]||(i[20]=d=>t.fields.ca_certificates=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",label:e.unref(r)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(r)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text"},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(B),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(r)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(r)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","label","placeholder","readonly"])])):e.createCommentVNode("",!0),se.value?(e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(l,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":i[21]||(i[21]=d=>t.fields.tls_verify_enabled=d),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(r)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(r)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(B),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(r)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Fe,[e.createVNode(f,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[22]||(i[22]=d=>t.fields.tls_verify_value=d),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(r)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",Ae,[e.createVNode(f,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":i[23]||(i[23]=d=>t.fields.tls_verify_value=d),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(r)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"])]),_:3},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-35e0db56"]]),Ge={class:"kong-ui-gateway-service-entity-config-card"},Le=e.defineComponent({__name:"GatewayServiceConfigCard",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 S=a,{i18n:{t:u},i18nT:c}=H.useI18n(),s=e.computed(()=>A.form[S.config.app].edit),{getPropValue:C}=y.useHelpers(),D=(r,v)=>C(r,v)===!0?u("gateway_services.form.fields.tls_verify_option.true.display"):u("gateway_services.form.fields.tls_verify_option.false.display"),B=e.ref({id:{},name:{tooltip:u("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.protocol.tooltip")},host:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.host.tooltip")},path:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.path.tooltip")},port:{section:y.ConfigurationSchemaSection.Basic,tooltip:u("gateway_services.form.fields.port.tooltip")},tags:{tooltip:u("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:u("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:u("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:u("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:u("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:u("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:y.ConfigurationSchemaType.BadgeTag,label:u("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:u("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(r,v)=>(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(e.unref(y.EntityBaseConfigCard),{config:a.config,"config-card-doc":a.configCardDoc,"config-schema":B.value,"entity-type":e.unref(y.SupportedEntityType).GatewayService,"fetch-url":s.value,"hide-title":a.hideTitle,"onFetch:error":v[0]||(v[0]=b=>r.$emit("fetch:error",b)),"onFetch:success":v[1]||(v[1]=b=>r.$emit("fetch:success",b)),onLoading:v[2]||(v[2]=b=>r.$emit("loading",b))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(c),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(u)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(b=>[e.createTextVNode(e.toDisplayString(typeof e.unref(C)("rowValue",b)=="boolean"?D("rowValue",b):e.unref(u)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(b=>[e.createTextVNode(e.toDisplayString(e.unref(C)("rowValue",b)?e.unref(C)("rowValue",b).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});V.GatewayServiceConfigCard=Le,V.GatewayServiceForm=$e,V.GatewayServiceList=Ve,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .config-card-fieldset[data-v-68ca83ec]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-68ca83ec]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-c96811e5] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-711ebcf2]{align-items:center;border-bottom:var(--2f5b0492);display:var(--5d59c22c);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-711ebcf2]{width:var(--aa41a894)}.config-card-details-row .config-card-details-label label[data-v-711ebcf2]{color:#3a3f51}.config-card-details-row .config-card-details-value[data-v-711ebcf2]{width:var(--aa3d1cde)}.config-card-details-row .config-card-details-value .truncated[data-v-711ebcf2]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-711ebcf2]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-711ebcf2] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-711ebcf2]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-711ebcf2]{margin-right:4px}.config-card-details-row[data-v-711ebcf2] .k-label{margin-bottom:0}.config-card-details-row[data-v-711ebcf2] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-711ebcf2] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--454fa8c4);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d15be7fe]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-85381f68]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-85381f68]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-85381f68]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-85381f68] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-85381f68]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-94d27e50]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form .form-actions[data-v-94d27e50]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.kong-ui-entity-base-form .form-actions[data-v-94d27e50] .k-button:last-of-type,.kong-ui-entity-base-form .form-actions[data-v-94d27e50] .k-button:nth-last-of-type(2){margin-left:16px}.kong-ui-entity-base-form[data-v-94d27e50] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-94d27e50] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-94d27e50] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-94d27e50] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.content-wrapper[data-v-b252463e] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-294e35b2]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-294e35b2]{margin-left:auto}.kong-ui-entity-base-table .actions-container[data-v-294e35b2]{float:right}.kong-ui-entity-base-table .actions-container[data-v-294e35b2] .k-dropdown-item-trigger{margin-bottom:0;margin-top:0}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-10fa27a5]{width:100%}.kong-ui-entity-filter-clear[data-v-10fa27a5]{cursor:pointer}.kong-ui-entity-filter[data-v-10fa27a5]{display:flex;position:relative}.kong-ui-entity-filter[data-v-10fa27a5] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-10fa27a5] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-10fa27a5]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-10fa27a5]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-10fa27a5]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-10fa27a5]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-10fa27a5]{color:#232633}.menu-item-expand-icon[data-v-10fa27a5]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-10fa27a5]{transform:rotate(180deg)}.menu-item-indicator[data-v-10fa27a5]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-10fa27a5]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-10fa27a5] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-10fa27a5] .k-input{width:100%}.menu-item-body[data-v-10fa27a5] .k-select-input .input{font-size:12px}.menu-item-body[data-v-10fa27a5] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-10fa27a5]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-10fa27a5]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-10fa27a5]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-60e3ef7c]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-60e3ef7c]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c]{display:flex}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-60e3ef7c]{display:inline-block;font-weight:400;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-60e3ef7c]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-60e3ef7c]{margin-left:2px}.kong-ui-entities-gateway-services-list[data-v-822e59d7]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-822e59d7]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-b3bd262f]{width:100%}.kong-ui-entities-gateway-service-form[data-v-b3bd262f] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-b3bd262f]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-b3bd262f]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-b3bd262f],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-b3bd262f] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-group-fields[data-v-b3bd262f]{margin-left:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-bottom[data-v-b3bd262f]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-b3bd262f]{margin:4px;padding-left:24px}
1
+ .config-card-fieldset[data-v-68ca83ec]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-68ca83ec]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-c96811e5] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-711ebcf2]{align-items:center;border-bottom:var(--2f5b0492);display:var(--5d59c22c);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-711ebcf2]{width:var(--aa41a894)}.config-card-details-row .config-card-details-label label[data-v-711ebcf2]{color:#3a3f51}.config-card-details-row .config-card-details-value[data-v-711ebcf2]{width:var(--aa3d1cde)}.config-card-details-row .config-card-details-value .truncated[data-v-711ebcf2]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-711ebcf2]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-711ebcf2] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-711ebcf2]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-711ebcf2]{margin-right:4px}.config-card-details-row[data-v-711ebcf2] .k-label{margin-bottom:0}.config-card-details-row[data-v-711ebcf2] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-711ebcf2] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--454fa8c4);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d15be7fe]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-7e2d1184]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-7e2d1184]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-7e2d1184]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-7e2d1184] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-7e2d1184]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-df0f8022]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form .form-actions[data-v-df0f8022]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.kong-ui-entity-base-form .form-actions[data-v-df0f8022] .k-button:last-of-type,.kong-ui-entity-base-form .form-actions[data-v-df0f8022] .k-button:nth-last-of-type(2){margin-left:16px}.kong-ui-entity-base-form[data-v-df0f8022] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-df0f8022] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-df0f8022] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-df0f8022] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.content-wrapper[data-v-b252463e] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-294e35b2]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-294e35b2]{margin-left:auto}.kong-ui-entity-base-table .actions-container[data-v-294e35b2]{float:right}.kong-ui-entity-base-table .actions-container[data-v-294e35b2] .k-dropdown-item-trigger{margin-bottom:0;margin-top:0}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-10fa27a5]{width:100%}.kong-ui-entity-filter-clear[data-v-10fa27a5]{cursor:pointer}.kong-ui-entity-filter[data-v-10fa27a5]{display:flex;position:relative}.kong-ui-entity-filter[data-v-10fa27a5] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-10fa27a5] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-10fa27a5]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-10fa27a5]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-10fa27a5]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-10fa27a5]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-10fa27a5]{color:#232633}.menu-item-expand-icon[data-v-10fa27a5]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-10fa27a5]{transform:rotate(180deg)}.menu-item-indicator[data-v-10fa27a5]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-10fa27a5]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-10fa27a5] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-10fa27a5] .k-input{width:100%}.menu-item-body[data-v-10fa27a5] .k-select-input .input{font-size:12px}.menu-item-body[data-v-10fa27a5] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-10fa27a5]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-10fa27a5]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-10fa27a5]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-60e3ef7c]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-60e3ef7c]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c]{display:flex}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-60e3ef7c]{display:inline-block;font-weight:400;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-60e3ef7c]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-60e3ef7c]{margin-left:2px}.kong-ui-entities-gateway-services-list[data-v-822e59d7]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-822e59d7]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-35e0db56]{width:100%}.kong-ui-entities-gateway-service-form[data-v-35e0db56] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-35e0db56]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-35e0db56]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-35e0db56],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-35e0db56] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-group-fields[data-v-35e0db56]{margin-left:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-bottom[data-v-35e0db56]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-35e0db56]{margin:4px;padding-left:24px}
@@ -24,14 +24,6 @@ declare const _default: import("vue").DefineComponent<{
24
24
  type: BooleanConstructor;
25
25
  default: boolean;
26
26
  };
27
- /**
28
- * Enable display of Terraform code
29
- * Guarded by FF: khcp-12445-terraform-config-details
30
- */
31
- enableTerraform: {
32
- type: BooleanConstructor;
33
- default: boolean;
34
- };
35
27
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
28
  loading: (isLoading: boolean) => void;
37
29
  "fetch:error": (error: AxiosError<unknown, any>) => void;
@@ -58,20 +50,11 @@ declare const _default: import("vue").DefineComponent<{
58
50
  type: BooleanConstructor;
59
51
  default: boolean;
60
52
  };
61
- /**
62
- * Enable display of Terraform code
63
- * Guarded by FF: khcp-12445-terraform-config-details
64
- */
65
- enableTerraform: {
66
- type: BooleanConstructor;
67
- default: boolean;
68
- };
69
53
  }>> & {
70
54
  onLoading?: ((isLoading: boolean) => any) | undefined;
71
55
  "onFetch:success"?: ((data: Record<string, any>) => any) | undefined;
72
56
  "onFetch:error"?: ((error: AxiosError<unknown, any>) => any) | undefined;
73
57
  }, {
74
- enableTerraform: boolean;
75
58
  configCardDoc: string;
76
59
  hideTitle: boolean;
77
60
  }, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayServiceConfigCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceConfigCard.vue"],"names":[],"mappings":"AA4MA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,qCAAqC,EAAE,iCAAiC,EAAqC,MAAM,UAAU,CAAA;AAU3I,OAAO,gDAAgD,CAAA;;IA4XrD,oHAAoH;;cAElG,QAAQ,CAAC,iCAAiC,GAAG,qCAAqC,CAAC;;4BAE/E,iCAAiC,GAAG,qCAAqC,KAAG,OAAO;;IAQzG;;OAEG;;;;;;IAMH;;OAEG;;;;;IAKH;;;OAGG;;;;;;;;;;IA9BH,oHAAoH;;cAElG,QAAQ,CAAC,iCAAiC,GAAG,qCAAqC,CAAC;;4BAE/E,iCAAiC,GAAG,qCAAqC,KAAG,OAAO;;IAQzG;;OAEG;;;;;;IAMH;;OAEG;;;;;IAKH;;;OAGG;;;;;;;;;;;;;;AArCL,wBA2CG"}
1
+ {"version":3,"file":"GatewayServiceConfigCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceConfigCard.vue"],"names":[],"mappings":"AAmMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,qCAAqC,EAAE,iCAAiC,EAAqC,MAAM,UAAU,CAAA;AAU3I,OAAO,gDAAgD,CAAA;;IAoWrD,oHAAoH;;cAElG,QAAQ,CAAC,iCAAiC,GAAG,qCAAqC,CAAC;;4BAE/E,iCAAiC,GAAG,qCAAqC,KAAG,OAAO;;IAQzG;;OAEG;;;;;;IAMH;;OAEG;;;;;;;;;;IAtBH,oHAAoH;;cAElG,QAAQ,CAAC,iCAAiC,GAAG,qCAAqC,CAAC;;4BAE/E,iCAAiC,GAAG,qCAAqC,KAAG,OAAO;;IAQzG;;OAEG;;;;;;IAMH;;OAEG;;;;;;;;;;;;;AA7BL,wBAmCG"}
@@ -33,14 +33,6 @@ declare const __VLS_component: import("vue").DefineComponent<{
33
33
  required: false;
34
34
  default: boolean;
35
35
  };
36
- /**
37
- * Enable display of Terraform code
38
- * Guarded by FF: khcp-12445-terraform-config-details
39
- */
40
- enableTerraform: {
41
- type: BooleanConstructor;
42
- default: boolean;
43
- };
44
36
  }, {
45
37
  validateUrl: () => void;
46
38
  getPayload: import("vue").ComputedRef<Record<string, any>>;
@@ -73,14 +65,6 @@ declare const __VLS_component: import("vue").DefineComponent<{
73
65
  required: false;
74
66
  default: boolean;
75
67
  };
76
- /**
77
- * Enable display of Terraform code
78
- * Guarded by FF: khcp-12445-terraform-config-details
79
- */
80
- enableTerraform: {
81
- type: BooleanConstructor;
82
- default: boolean;
83
- };
84
68
  }>> & {
85
69
  onError?: ((error: any) => any) | undefined;
86
70
  onUpdate?: ((data: Record<string, any>) => any) | undefined;
@@ -91,7 +75,6 @@ declare const __VLS_component: import("vue").DefineComponent<{
91
75
  }, {
92
76
  gatewayServiceId: string;
93
77
  hideSectionsInfo: boolean;
94
- enableTerraform: boolean;
95
78
  }, {}>;
96
79
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
97
80
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayServiceForm.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceForm.vue"],"names":[],"mappings":"AAg5BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EACV,+BAA+B,EAC/B,mCAAmC,EAGpC,MAAM,UAAU,CAAA;AAajB,OAAO,gDAAgD,CAAA;AA2gBvD,iBAAS,cAAc;;;;0BAhOO,IAAI;0BAmGH,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;YA4rB3B,GAAG;;;WAS3B,OAAO,IAA6B;EAEjD;AAqED,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;IAQnB,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;IAQrG,qGAAqG;;;;;;IAMrG,yDAAyD;;;;;;IAMzD;;;OAGG;;;;;;uBAl/BmB,IAAI;;wBAkMG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;;qBAtHzC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI;;;;;;;;;IA24BhD,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;IAQrG,qGAAqG;;;;;;IAMrG,yDAAyD;;;;;;IAMzD;;;OAGG;;;;;;;;;;;;;;;;MAMH,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAKpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"GatewayServiceForm.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceForm.vue"],"names":[],"mappings":"AAu4BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EACV,+BAA+B,EAC/B,mCAAmC,EAGpC,MAAM,UAAU,CAAA;AAajB,OAAO,gDAAgD,CAAA;AA2fvD,iBAAS,cAAc;;;;0BAxNO,IAAI;0BAmGH,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;YAorB3B,GAAG;;;WAS3B,OAAO,IAA6B;EAEjD;AA6DD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;IAQnB,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;IAQrG,qGAAqG;;;;;;IAMrG,yDAAyD;;;;;;;uBAz9BnC,IAAI;;wBAkMG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;;qBAtHzC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI;;;;;;;;;IA23BhD,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;IAQrG,qGAAqG;;;;;;IAMrG,yDAAyD;;;;;;;;;;;;;;;;MAOzD,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAKpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-gateway-services",
3
- "version": "3.8.16",
3
+ "version": "3.8.18-pr.1718.d7d1478f1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-gateway-services.umd.js",
6
6
  "module": "./dist/entities-gateway-services.es.js",
@@ -22,21 +22,21 @@
22
22
  },
23
23
  "peerDependencies": {
24
24
  "@kong/icons": "^1.18.1",
25
- "@kong/kongponents": "^9.10.4",
25
+ "@kong/kongponents": "^9.11.2",
26
26
  "axios": "^1.6.8",
27
27
  "vue": ">= 3.3.13 < 4",
28
28
  "vue-router": "^4.3.3",
29
29
  "@kong-ui-public/i18n": "^2.2.3",
30
- "@kong-ui-public/entities-shared": "^3.9.16"
30
+ "@kong-ui-public/entities-shared": "^3.9.18-pr.1718.d7d1478f1.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@kong/design-tokens": "1.17.2",
34
34
  "@kong/icons": "^1.18.1",
35
- "@kong/kongponents": "9.10.4",
35
+ "@kong/kongponents": "9.11.2",
36
36
  "axios": "^1.7.7",
37
37
  "vue": "^3.4.38",
38
38
  "vue-router": "^4.4.5",
39
- "@kong-ui-public/entities-shared": "^3.9.16",
39
+ "@kong-ui-public/entities-shared": "^3.9.18-pr.1718.d7d1478f1.0",
40
40
  "@kong-ui-public/i18n": "^2.2.3"
41
41
  },
42
42
  "repository": {