@homeflare/distilled-opnsense 0.2.0 → 0.3.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.
Files changed (37) hide show
  1. package/README.md +18 -12
  2. package/dist/services/firewall_alias.d.ts +118 -18
  3. package/dist/services/firewall_alias.d.ts.map +1 -1
  4. package/dist/services/firewall_alias.js +70 -19
  5. package/dist/services/firewall_alias.js.map +1 -1
  6. package/dist/services/firewall_category.d.ts +28 -11
  7. package/dist/services/firewall_category.d.ts.map +1 -1
  8. package/dist/services/firewall_category.js +27 -10
  9. package/dist/services/firewall_category.js.map +1 -1
  10. package/dist/services/firewall_filter.d.ts +89 -4
  11. package/dist/services/firewall_filter.d.ts.map +1 -1
  12. package/dist/services/firewall_filter.js +46 -3
  13. package/dist/services/firewall_filter.js.map +1 -1
  14. package/dist/services/firewall_group.d.ts +62 -10
  15. package/dist/services/firewall_group.d.ts.map +1 -1
  16. package/dist/services/firewall_group.js +42 -8
  17. package/dist/services/firewall_group.js.map +1 -1
  18. package/dist/services/quagga_bgp.d.ts +879 -151
  19. package/dist/services/quagga_bgp.d.ts.map +1 -1
  20. package/dist/services/quagga_bgp.js +508 -113
  21. package/dist/services/quagga_bgp.js.map +1 -1
  22. package/dist/services/quagga_general.d.ts +42 -4
  23. package/dist/services/quagga_general.d.ts.map +1 -1
  24. package/dist/services/quagga_general.js +21 -3
  25. package/dist/services/quagga_general.js.map +1 -1
  26. package/dist/services/routing_settings.d.ts +80 -4
  27. package/dist/services/routing_settings.d.ts.map +1 -1
  28. package/dist/services/routing_settings.js +43 -3
  29. package/dist/services/routing_settings.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/services/firewall_alias.ts +226 -46
  32. package/src/services/firewall_category.ts +63 -21
  33. package/src/services/firewall_filter.ts +166 -9
  34. package/src/services/firewall_group.ts +120 -18
  35. package/src/services/quagga_bgp.ts +1930 -550
  36. package/src/services/quagga_general.ts +72 -9
  37. package/src/services/routing_settings.ts +140 -9
@@ -824,53 +824,124 @@ export const GetRequest = /*@__PURE__*/ S.suspend(() =>
824
824
  ),
825
825
  ).annotate({ identifier: "GetRequest" }) as any as S.Schema<GetRequest>;
826
826
 
827
- export type ModelBestpath =
828
- | "as_path_confed"
829
- | "as_path_multipath_relax"
830
- | "compare_routerid"
831
- | "peer_type_multipath_relax"
832
- | "aigp"
833
- | "med_missing_as_worst";
834
- export const ModelBestpath = S.String;
827
+ export interface OptionEntry {
828
+ value: string;
829
+ selected: number;
830
+ }
831
+ export const OptionEntry = /*@__PURE__*/ S.suspend(() =>
832
+ S.Struct({
833
+ value: S.String,
834
+ selected: S.Number,
835
+ }),
836
+ ).annotate({ identifier: "OptionEntry" }) as any as S.Schema<OptionEntry>;
835
837
 
836
- export type ModelNeighborItemRemoteAsMode = "internal" | "external";
837
- export const ModelNeighborItemRemoteAsMode = S.String;
838
+ export type ModelBestpathMap = { [key: string]: OptionEntry | undefined };
839
+ export const ModelBestpathMap = /*@__PURE__*/ S.Record(
840
+ S.String,
841
+ OptionEntry,
842
+ ) as any as S.Schema<ModelBestpathMap>;
838
843
 
839
- export type ModelNeighborItemRemoveprivateas =
840
- | "removeprivateas"
841
- | "removeallas"
842
- | "replaceprivateas"
843
- | "replaceallas";
844
- export const ModelNeighborItemRemoveprivateas = S.String;
844
+ export type ModelNeighborReadItemRemoteAsModeMap = {
845
+ [key: string]: OptionEntry | undefined;
846
+ };
847
+ export const ModelNeighborReadItemRemoteAsModeMap = /*@__PURE__*/ S.Record(
848
+ S.String,
849
+ OptionEntry,
850
+ ) as any as S.Schema<ModelNeighborReadItemRemoteAsModeMap>;
845
851
 
846
- export type ModelNeighborItemAllowasIn =
847
- | "val1"
848
- | "val2"
849
- | "val3"
850
- | "val4"
851
- | "val5"
852
- | "val6"
853
- | "val7"
854
- | "val8"
855
- | "val9"
856
- | "val10"
857
- | "origin";
858
- export const ModelNeighborItemAllowasIn = S.String;
852
+ export type ModelNeighborReadItemUpdatesourceMap = {
853
+ [key: string]: OptionEntry | undefined;
854
+ };
855
+ export const ModelNeighborReadItemUpdatesourceMap = /*@__PURE__*/ S.Record(
856
+ S.String,
857
+ OptionEntry,
858
+ ) as any as S.Schema<ModelNeighborReadItemUpdatesourceMap>;
859
859
 
860
- export type ModelNeighborItemAttributeunchanged =
861
- | "as-path"
862
- | "next-hop"
863
- | "med";
864
- export const ModelNeighborItemAttributeunchanged = S.String;
860
+ export type ModelNeighborReadItemLinklocalinterfaceMap = {
861
+ [key: string]: OptionEntry | undefined;
862
+ };
863
+ export const ModelNeighborReadItemLinklocalinterfaceMap =
864
+ /*@__PURE__*/ S.Record(
865
+ S.String,
866
+ OptionEntry,
867
+ ) as any as S.Schema<ModelNeighborReadItemLinklocalinterfaceMap>;
868
+
869
+ export type ModelNeighborReadItemRemoveprivateasMap = {
870
+ [key: string]: OptionEntry | undefined;
871
+ };
872
+ export const ModelNeighborReadItemRemoveprivateasMap = /*@__PURE__*/ S.Record(
873
+ S.String,
874
+ OptionEntry,
875
+ ) as any as S.Schema<ModelNeighborReadItemRemoveprivateasMap>;
865
876
 
866
- export type ModelNeighborItemCapabilities =
867
- | "extended-nexthop"
868
- | "dynamic"
869
- | "fqdn"
870
- | "link-local";
871
- export const ModelNeighborItemCapabilities = S.String;
877
+ export type ModelNeighborReadItemAllowasInMap = {
878
+ [key: string]: OptionEntry | undefined;
879
+ };
880
+ export const ModelNeighborReadItemAllowasInMap = /*@__PURE__*/ S.Record(
881
+ S.String,
882
+ OptionEntry,
883
+ ) as any as S.Schema<ModelNeighborReadItemAllowasInMap>;
872
884
 
873
- export interface ModelNeighborItem {
885
+ export type ModelNeighborReadItemAttributeunchangedMap = {
886
+ [key: string]: OptionEntry | undefined;
887
+ };
888
+ export const ModelNeighborReadItemAttributeunchangedMap =
889
+ /*@__PURE__*/ S.Record(
890
+ S.String,
891
+ OptionEntry,
892
+ ) as any as S.Schema<ModelNeighborReadItemAttributeunchangedMap>;
893
+
894
+ export type ModelNeighborReadItemCapabilitiesMap = {
895
+ [key: string]: OptionEntry | undefined;
896
+ };
897
+ export const ModelNeighborReadItemCapabilitiesMap = /*@__PURE__*/ S.Record(
898
+ S.String,
899
+ OptionEntry,
900
+ ) as any as S.Schema<ModelNeighborReadItemCapabilitiesMap>;
901
+
902
+ export type ModelNeighborReadItemLinkedPrefixlistInMap = {
903
+ [key: string]: OptionEntry | undefined;
904
+ };
905
+ export const ModelNeighborReadItemLinkedPrefixlistInMap =
906
+ /*@__PURE__*/ S.Record(
907
+ S.String,
908
+ OptionEntry,
909
+ ) as any as S.Schema<ModelNeighborReadItemLinkedPrefixlistInMap>;
910
+
911
+ export type ModelNeighborReadItemLinkedPrefixlistOutMap = {
912
+ [key: string]: OptionEntry | undefined;
913
+ };
914
+ export const ModelNeighborReadItemLinkedPrefixlistOutMap =
915
+ /*@__PURE__*/ S.Record(
916
+ S.String,
917
+ OptionEntry,
918
+ ) as any as S.Schema<ModelNeighborReadItemLinkedPrefixlistOutMap>;
919
+
920
+ export type ModelNeighborReadItemLinkedRoutemapInMap = {
921
+ [key: string]: OptionEntry | undefined;
922
+ };
923
+ export const ModelNeighborReadItemLinkedRoutemapInMap = /*@__PURE__*/ S.Record(
924
+ S.String,
925
+ OptionEntry,
926
+ ) as any as S.Schema<ModelNeighborReadItemLinkedRoutemapInMap>;
927
+
928
+ export type ModelNeighborReadItemLinkedRoutemapOutMap = {
929
+ [key: string]: OptionEntry | undefined;
930
+ };
931
+ export const ModelNeighborReadItemLinkedRoutemapOutMap = /*@__PURE__*/ S.Record(
932
+ S.String,
933
+ OptionEntry,
934
+ ) as any as S.Schema<ModelNeighborReadItemLinkedRoutemapOutMap>;
935
+
936
+ export type ModelNeighborReadItemPeergroupMap = {
937
+ [key: string]: OptionEntry | undefined;
938
+ };
939
+ export const ModelNeighborReadItemPeergroupMap = /*@__PURE__*/ S.Record(
940
+ S.String,
941
+ OptionEntry,
942
+ ) as any as S.Schema<ModelNeighborReadItemPeergroupMap>;
943
+
944
+ export interface ModelNeighborReadItem {
874
945
  /** Item id, assigned by OPNsense on creation. */
875
946
  uuid?: string;
876
947
  /** OPNsense FieldType: BooleanField */
@@ -880,7 +951,7 @@ export interface ModelNeighborItem {
880
951
  /** OPNsense FieldType: NetworkField */
881
952
  address: string;
882
953
  /** OPNsense FieldType: OptionField */
883
- remote_as_mode?: ModelNeighborItemRemoteAsMode | (string & {});
954
+ remote_as_mode?: ModelNeighborReadItemRemoteAsModeMap;
884
955
  /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
885
956
  remoteas?: string;
886
957
  /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
@@ -892,9 +963,9 @@ export interface ModelNeighborItem {
892
963
  /** OPNsense FieldType: NetworkField */
893
964
  localip?: string;
894
965
  /** OPNsense FieldType: InterfaceField */
895
- updatesource?: string;
966
+ updatesource?: ModelNeighborReadItemUpdatesourceMap;
896
967
  /** OPNsense FieldType: InterfaceField */
897
- linklocalinterface?: string;
968
+ linklocalinterface?: ModelNeighborReadItemLinklocalinterfaceMap;
898
969
  /** OPNsense FieldType: BooleanField */
899
970
  nexthopself?: string;
900
971
  /** OPNsense FieldType: BooleanField */
@@ -922,40 +993,40 @@ export interface ModelNeighborItem {
922
993
  /** OPNsense FieldType: BooleanField */
923
994
  asoverride?: string;
924
995
  /** OPNsense FieldType: OptionField */
925
- removeprivateas?: ModelNeighborItemRemoveprivateas | (string & {});
996
+ removeprivateas?: ModelNeighborReadItemRemoveprivateasMap;
926
997
  /** OPNsense FieldType: OptionField */
927
- allowas_in?: ModelNeighborItemAllowasIn | (string & {});
998
+ allowas_in?: ModelNeighborReadItemAllowasInMap;
928
999
  /** OPNsense FieldType: BooleanField */
929
1000
  disable_connected_check?: string;
930
1001
  /** OPNsense FieldType: OptionField */
931
- attributeunchanged?: ModelNeighborItemAttributeunchanged | (string & {});
1002
+ attributeunchanged?: ModelNeighborReadItemAttributeunchangedMap;
932
1003
  /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
933
- capabilities?: ModelNeighborItemCapabilities | (string & {});
1004
+ capabilities?: ModelNeighborReadItemCapabilitiesMap;
934
1005
  /** OPNsense FieldType: ModelRelationField */
935
- linkedPrefixlistIn?: string;
1006
+ linkedPrefixlistIn?: ModelNeighborReadItemLinkedPrefixlistInMap;
936
1007
  /** OPNsense FieldType: ModelRelationField */
937
- linkedPrefixlistOut?: string;
1008
+ linkedPrefixlistOut?: ModelNeighborReadItemLinkedPrefixlistOutMap;
938
1009
  /** OPNsense FieldType: ModelRelationField */
939
- linkedRoutemapIn?: string;
1010
+ linkedRoutemapIn?: ModelNeighborReadItemLinkedRoutemapInMap;
940
1011
  /** OPNsense FieldType: ModelRelationField */
941
- linkedRoutemapOut?: string;
1012
+ linkedRoutemapOut?: ModelNeighborReadItemLinkedRoutemapOutMap;
942
1013
  /** OPNsense FieldType: ModelRelationField */
943
- peergroup?: string;
1014
+ peergroup?: ModelNeighborReadItemPeergroupMap;
944
1015
  }
945
- export const ModelNeighborItem = /*@__PURE__*/ S.suspend(() =>
1016
+ export const ModelNeighborReadItem = /*@__PURE__*/ S.suspend(() =>
946
1017
  S.Struct({
947
1018
  uuid: S.optional(S.String),
948
1019
  enabled: S.String,
949
1020
  description: S.optional(S.String),
950
1021
  address: S.String,
951
- remote_as_mode: S.optional(ModelNeighborItemRemoteAsMode),
1022
+ remote_as_mode: S.optional(ModelNeighborReadItemRemoteAsModeMap),
952
1023
  remoteas: S.optional(S.String),
953
1024
  localas: S.optional(S.String),
954
1025
  password: S.optional(S.String),
955
1026
  weight: S.optional(S.String),
956
1027
  localip: S.optional(S.String),
957
- updatesource: S.optional(S.String),
958
- linklocalinterface: S.optional(S.String),
1028
+ updatesource: S.optional(ModelNeighborReadItemUpdatesourceMap),
1029
+ linklocalinterface: S.optional(ModelNeighborReadItemLinklocalinterfaceMap),
959
1030
  nexthopself: S.optional(S.String),
960
1031
  nexthopselfall: S.optional(S.String),
961
1032
  multihop: S.optional(S.String),
@@ -969,42 +1040,51 @@ export const ModelNeighborItem = /*@__PURE__*/ S.suspend(() =>
969
1040
  connecttimer: S.optional(S.String),
970
1041
  defaultoriginate: S.optional(S.String),
971
1042
  asoverride: S.optional(S.String),
972
- removeprivateas: S.optional(ModelNeighborItemRemoveprivateas),
973
- allowas_in: S.optional(ModelNeighborItemAllowasIn),
1043
+ removeprivateas: S.optional(ModelNeighborReadItemRemoveprivateasMap),
1044
+ allowas_in: S.optional(ModelNeighborReadItemAllowasInMap),
974
1045
  disable_connected_check: S.optional(S.String),
975
- attributeunchanged: S.optional(ModelNeighborItemAttributeunchanged),
976
- capabilities: S.optional(ModelNeighborItemCapabilities),
977
- linkedPrefixlistIn: S.optional(S.String),
978
- linkedPrefixlistOut: S.optional(S.String),
979
- linkedRoutemapIn: S.optional(S.String),
980
- linkedRoutemapOut: S.optional(S.String),
981
- peergroup: S.optional(S.String),
1046
+ attributeunchanged: S.optional(ModelNeighborReadItemAttributeunchangedMap),
1047
+ capabilities: S.optional(ModelNeighborReadItemCapabilitiesMap),
1048
+ linkedPrefixlistIn: S.optional(ModelNeighborReadItemLinkedPrefixlistInMap),
1049
+ linkedPrefixlistOut: S.optional(
1050
+ ModelNeighborReadItemLinkedPrefixlistOutMap,
1051
+ ),
1052
+ linkedRoutemapIn: S.optional(ModelNeighborReadItemLinkedRoutemapInMap),
1053
+ linkedRoutemapOut: S.optional(ModelNeighborReadItemLinkedRoutemapOutMap),
1054
+ peergroup: S.optional(ModelNeighborReadItemPeergroupMap),
982
1055
  }),
983
1056
  ).annotate({
984
- identifier: "ModelNeighborItem",
985
- }) as any as S.Schema<ModelNeighborItem>;
1057
+ identifier: "ModelNeighborReadItem",
1058
+ }) as any as S.Schema<ModelNeighborReadItem>;
986
1059
 
987
- export type ModelNeighborItemMap = {
988
- [key: string]: ModelNeighborItem | undefined;
1060
+ export type ModelNeighborReadItemMap = {
1061
+ [key: string]: ModelNeighborReadItem | undefined;
989
1062
  };
990
- export const ModelNeighborItemMap = /*@__PURE__*/ S.Record(
1063
+ export const ModelNeighborReadItemMap = /*@__PURE__*/ S.Record(
991
1064
  S.String,
992
- ModelNeighborItem,
993
- ) as any as S.Schema<ModelNeighborItemMap>;
1065
+ ModelNeighborReadItem,
1066
+ ) as any as S.Schema<ModelNeighborReadItemMap>;
994
1067
 
995
- export interface ModelNeighbors {
996
- neighbor?: ModelNeighborItemMap;
1068
+ export interface ModelNeighborsRead {
1069
+ neighbor?: ModelNeighborReadItemMap;
997
1070
  }
998
- export const ModelNeighbors = /*@__PURE__*/ S.suspend(() =>
1071
+ export const ModelNeighborsRead = /*@__PURE__*/ S.suspend(() =>
999
1072
  S.Struct({
1000
- neighbor: S.optional(ModelNeighborItemMap),
1073
+ neighbor: S.optional(ModelNeighborReadItemMap),
1001
1074
  }),
1002
- ).annotate({ identifier: "ModelNeighbors" }) as any as S.Schema<ModelNeighbors>;
1075
+ ).annotate({
1076
+ identifier: "ModelNeighborsRead",
1077
+ }) as any as S.Schema<ModelNeighborsRead>;
1003
1078
 
1004
- export type ModelAspathItemAction = "permit" | "deny";
1005
- export const ModelAspathItemAction = S.String;
1079
+ export type ModelAspathReadItemActionMap = {
1080
+ [key: string]: OptionEntry | undefined;
1081
+ };
1082
+ export const ModelAspathReadItemActionMap = /*@__PURE__*/ S.Record(
1083
+ S.String,
1084
+ OptionEntry,
1085
+ ) as any as S.Schema<ModelAspathReadItemActionMap>;
1006
1086
 
1007
- export interface ModelAspathItem {
1087
+ export interface ModelAspathReadItem {
1008
1088
  /** Item id, assigned by OPNsense on creation. */
1009
1089
  uuid?: string;
1010
1090
  /** OPNsense FieldType: BooleanField */
@@ -1014,45 +1094,59 @@ export interface ModelAspathItem {
1014
1094
  /** OPNsense FieldType: IntegerField; range 0..4294967295 (as text) */
1015
1095
  number: string;
1016
1096
  /** OPNsense FieldType: OptionField */
1017
- action: ModelAspathItemAction | (string & {});
1097
+ action: ModelAspathReadItemActionMap;
1018
1098
  /** OPNsense FieldType: TextField */
1019
1099
  as: string;
1020
1100
  }
1021
- export const ModelAspathItem = /*@__PURE__*/ S.suspend(() =>
1101
+ export const ModelAspathReadItem = /*@__PURE__*/ S.suspend(() =>
1022
1102
  S.Struct({
1023
1103
  uuid: S.optional(S.String),
1024
1104
  enabled: S.String,
1025
1105
  description: S.optional(S.String),
1026
1106
  number: S.String,
1027
- action: ModelAspathItemAction,
1107
+ action: ModelAspathReadItemActionMap,
1028
1108
  as: S.String,
1029
1109
  }),
1030
1110
  ).annotate({
1031
- identifier: "ModelAspathItem",
1032
- }) as any as S.Schema<ModelAspathItem>;
1111
+ identifier: "ModelAspathReadItem",
1112
+ }) as any as S.Schema<ModelAspathReadItem>;
1033
1113
 
1034
- export type ModelAspathItemMap = { [key: string]: ModelAspathItem | undefined };
1035
- export const ModelAspathItemMap = /*@__PURE__*/ S.Record(
1114
+ export type ModelAspathReadItemMap = {
1115
+ [key: string]: ModelAspathReadItem | undefined;
1116
+ };
1117
+ export const ModelAspathReadItemMap = /*@__PURE__*/ S.Record(
1036
1118
  S.String,
1037
- ModelAspathItem,
1038
- ) as any as S.Schema<ModelAspathItemMap>;
1119
+ ModelAspathReadItem,
1120
+ ) as any as S.Schema<ModelAspathReadItemMap>;
1039
1121
 
1040
- export interface ModelAspaths {
1041
- aspath?: ModelAspathItemMap;
1122
+ export interface ModelAspathsRead {
1123
+ aspath?: ModelAspathReadItemMap;
1042
1124
  }
1043
- export const ModelAspaths = /*@__PURE__*/ S.suspend(() =>
1125
+ export const ModelAspathsRead = /*@__PURE__*/ S.suspend(() =>
1044
1126
  S.Struct({
1045
- aspath: S.optional(ModelAspathItemMap),
1127
+ aspath: S.optional(ModelAspathReadItemMap),
1046
1128
  }),
1047
- ).annotate({ identifier: "ModelAspaths" }) as any as S.Schema<ModelAspaths>;
1129
+ ).annotate({
1130
+ identifier: "ModelAspathsRead",
1131
+ }) as any as S.Schema<ModelAspathsRead>;
1048
1132
 
1049
- export type ModelPrefixlistItemVersion = "IPv4" | "IPv6";
1050
- export const ModelPrefixlistItemVersion = S.String;
1133
+ export type ModelPrefixlistReadItemVersionMap = {
1134
+ [key: string]: OptionEntry | undefined;
1135
+ };
1136
+ export const ModelPrefixlistReadItemVersionMap = /*@__PURE__*/ S.Record(
1137
+ S.String,
1138
+ OptionEntry,
1139
+ ) as any as S.Schema<ModelPrefixlistReadItemVersionMap>;
1051
1140
 
1052
- export type ModelPrefixlistItemAction = "permit" | "deny";
1053
- export const ModelPrefixlistItemAction = S.String;
1141
+ export type ModelPrefixlistReadItemActionMap = {
1142
+ [key: string]: OptionEntry | undefined;
1143
+ };
1144
+ export const ModelPrefixlistReadItemActionMap = /*@__PURE__*/ S.Record(
1145
+ S.String,
1146
+ OptionEntry,
1147
+ ) as any as S.Schema<ModelPrefixlistReadItemActionMap>;
1054
1148
 
1055
- export interface ModelPrefixlistItem {
1149
+ export interface ModelPrefixlistReadItem {
1056
1150
  /** Item id, assigned by OPNsense on creation. */
1057
1151
  uuid?: string;
1058
1152
  /** OPNsense FieldType: BooleanField */
@@ -1062,52 +1156,57 @@ export interface ModelPrefixlistItem {
1062
1156
  /** OPNsense FieldType: TextField; pattern /^[a-zA-Z0-9._-]{1,64}$/ */
1063
1157
  name: string;
1064
1158
  /** OPNsense FieldType: OptionField */
1065
- version: ModelPrefixlistItemVersion | (string & {});
1159
+ version: ModelPrefixlistReadItemVersionMap;
1066
1160
  /** OPNsense FieldType: IntegerField; range 1..4294967294 (as text) */
1067
1161
  seqnumber: string;
1068
1162
  /** OPNsense FieldType: OptionField */
1069
- action: ModelPrefixlistItemAction | (string & {});
1163
+ action: ModelPrefixlistReadItemActionMap;
1070
1164
  /** OPNsense FieldType: TextField */
1071
1165
  network: string;
1072
1166
  }
1073
- export const ModelPrefixlistItem = /*@__PURE__*/ S.suspend(() =>
1167
+ export const ModelPrefixlistReadItem = /*@__PURE__*/ S.suspend(() =>
1074
1168
  S.Struct({
1075
1169
  uuid: S.optional(S.String),
1076
1170
  enabled: S.String,
1077
1171
  description: S.optional(S.String),
1078
1172
  name: S.String,
1079
- version: ModelPrefixlistItemVersion,
1173
+ version: ModelPrefixlistReadItemVersionMap,
1080
1174
  seqnumber: S.String,
1081
- action: ModelPrefixlistItemAction,
1175
+ action: ModelPrefixlistReadItemActionMap,
1082
1176
  network: S.String,
1083
1177
  }),
1084
1178
  ).annotate({
1085
- identifier: "ModelPrefixlistItem",
1086
- }) as any as S.Schema<ModelPrefixlistItem>;
1179
+ identifier: "ModelPrefixlistReadItem",
1180
+ }) as any as S.Schema<ModelPrefixlistReadItem>;
1087
1181
 
1088
- export type ModelPrefixlistItemMap = {
1089
- [key: string]: ModelPrefixlistItem | undefined;
1182
+ export type ModelPrefixlistReadItemMap = {
1183
+ [key: string]: ModelPrefixlistReadItem | undefined;
1090
1184
  };
1091
- export const ModelPrefixlistItemMap = /*@__PURE__*/ S.Record(
1185
+ export const ModelPrefixlistReadItemMap = /*@__PURE__*/ S.Record(
1092
1186
  S.String,
1093
- ModelPrefixlistItem,
1094
- ) as any as S.Schema<ModelPrefixlistItemMap>;
1187
+ ModelPrefixlistReadItem,
1188
+ ) as any as S.Schema<ModelPrefixlistReadItemMap>;
1095
1189
 
1096
- export interface ModelPrefixlists {
1097
- prefixlist?: ModelPrefixlistItemMap;
1190
+ export interface ModelPrefixlistsRead {
1191
+ prefixlist?: ModelPrefixlistReadItemMap;
1098
1192
  }
1099
- export const ModelPrefixlists = /*@__PURE__*/ S.suspend(() =>
1193
+ export const ModelPrefixlistsRead = /*@__PURE__*/ S.suspend(() =>
1100
1194
  S.Struct({
1101
- prefixlist: S.optional(ModelPrefixlistItemMap),
1195
+ prefixlist: S.optional(ModelPrefixlistReadItemMap),
1102
1196
  }),
1103
1197
  ).annotate({
1104
- identifier: "ModelPrefixlists",
1105
- }) as any as S.Schema<ModelPrefixlists>;
1198
+ identifier: "ModelPrefixlistsRead",
1199
+ }) as any as S.Schema<ModelPrefixlistsRead>;
1106
1200
 
1107
- export type ModelCommunitylistItemAction = "permit" | "deny";
1108
- export const ModelCommunitylistItemAction = S.String;
1201
+ export type ModelCommunitylistReadItemActionMap = {
1202
+ [key: string]: OptionEntry | undefined;
1203
+ };
1204
+ export const ModelCommunitylistReadItemActionMap = /*@__PURE__*/ S.Record(
1205
+ S.String,
1206
+ OptionEntry,
1207
+ ) as any as S.Schema<ModelCommunitylistReadItemActionMap>;
1109
1208
 
1110
- export interface ModelCommunitylistItem {
1209
+ export interface ModelCommunitylistReadItem {
1111
1210
  /** Item id, assigned by OPNsense on creation. */
1112
1211
  uuid?: string;
1113
1212
  /** OPNsense FieldType: BooleanField */
@@ -1119,47 +1218,76 @@ export interface ModelCommunitylistItem {
1119
1218
  /** OPNsense FieldType: IntegerField; range 10..99 (as text) */
1120
1219
  seqnumber: string;
1121
1220
  /** OPNsense FieldType: OptionField */
1122
- action: ModelCommunitylistItemAction | (string & {});
1221
+ action: ModelCommunitylistReadItemActionMap;
1123
1222
  /** OPNsense FieldType: TextField */
1124
1223
  community: string;
1125
1224
  }
1126
- export const ModelCommunitylistItem = /*@__PURE__*/ S.suspend(() =>
1225
+ export const ModelCommunitylistReadItem = /*@__PURE__*/ S.suspend(() =>
1127
1226
  S.Struct({
1128
1227
  uuid: S.optional(S.String),
1129
1228
  enabled: S.String,
1130
1229
  description: S.optional(S.String),
1131
1230
  number: S.String,
1132
1231
  seqnumber: S.String,
1133
- action: ModelCommunitylistItemAction,
1232
+ action: ModelCommunitylistReadItemActionMap,
1134
1233
  community: S.String,
1135
1234
  }),
1136
1235
  ).annotate({
1137
- identifier: "ModelCommunitylistItem",
1138
- }) as any as S.Schema<ModelCommunitylistItem>;
1236
+ identifier: "ModelCommunitylistReadItem",
1237
+ }) as any as S.Schema<ModelCommunitylistReadItem>;
1139
1238
 
1140
- export type ModelCommunitylistItemMap = {
1141
- [key: string]: ModelCommunitylistItem | undefined;
1239
+ export type ModelCommunitylistReadItemMap = {
1240
+ [key: string]: ModelCommunitylistReadItem | undefined;
1142
1241
  };
1143
- export const ModelCommunitylistItemMap = /*@__PURE__*/ S.Record(
1242
+ export const ModelCommunitylistReadItemMap = /*@__PURE__*/ S.Record(
1144
1243
  S.String,
1145
- ModelCommunitylistItem,
1146
- ) as any as S.Schema<ModelCommunitylistItemMap>;
1244
+ ModelCommunitylistReadItem,
1245
+ ) as any as S.Schema<ModelCommunitylistReadItemMap>;
1147
1246
 
1148
- export interface ModelCommunitylists {
1149
- communitylist?: ModelCommunitylistItemMap;
1247
+ export interface ModelCommunitylistsRead {
1248
+ communitylist?: ModelCommunitylistReadItemMap;
1150
1249
  }
1151
- export const ModelCommunitylists = /*@__PURE__*/ S.suspend(() =>
1250
+ export const ModelCommunitylistsRead = /*@__PURE__*/ S.suspend(() =>
1152
1251
  S.Struct({
1153
- communitylist: S.optional(ModelCommunitylistItemMap),
1252
+ communitylist: S.optional(ModelCommunitylistReadItemMap),
1154
1253
  }),
1155
1254
  ).annotate({
1156
- identifier: "ModelCommunitylists",
1157
- }) as any as S.Schema<ModelCommunitylists>;
1255
+ identifier: "ModelCommunitylistsRead",
1256
+ }) as any as S.Schema<ModelCommunitylistsRead>;
1158
1257
 
1159
- export type ModelRoutemapItemAction = "permit" | "deny";
1160
- export const ModelRoutemapItemAction = S.String;
1258
+ export type ModelRoutemapReadItemActionMap = {
1259
+ [key: string]: OptionEntry | undefined;
1260
+ };
1261
+ export const ModelRoutemapReadItemActionMap = /*@__PURE__*/ S.Record(
1262
+ S.String,
1263
+ OptionEntry,
1264
+ ) as any as S.Schema<ModelRoutemapReadItemActionMap>;
1161
1265
 
1162
- export interface ModelRoutemapItem {
1266
+ export type ModelRoutemapReadItemMatchMap = {
1267
+ [key: string]: OptionEntry | undefined;
1268
+ };
1269
+ export const ModelRoutemapReadItemMatchMap = /*@__PURE__*/ S.Record(
1270
+ S.String,
1271
+ OptionEntry,
1272
+ ) as any as S.Schema<ModelRoutemapReadItemMatchMap>;
1273
+
1274
+ export type ModelRoutemapReadItemMatch2Map = {
1275
+ [key: string]: OptionEntry | undefined;
1276
+ };
1277
+ export const ModelRoutemapReadItemMatch2Map = /*@__PURE__*/ S.Record(
1278
+ S.String,
1279
+ OptionEntry,
1280
+ ) as any as S.Schema<ModelRoutemapReadItemMatch2Map>;
1281
+
1282
+ export type ModelRoutemapReadItemMatch3Map = {
1283
+ [key: string]: OptionEntry | undefined;
1284
+ };
1285
+ export const ModelRoutemapReadItemMatch3Map = /*@__PURE__*/ S.Record(
1286
+ S.String,
1287
+ OptionEntry,
1288
+ ) as any as S.Schema<ModelRoutemapReadItemMatch3Map>;
1289
+
1290
+ export interface ModelRoutemapReadItem {
1163
1291
  /** Item id, assigned by OPNsense on creation. */
1164
1292
  uuid?: string;
1165
1293
  /** OPNsense FieldType: BooleanField */
@@ -1169,59 +1297,122 @@ export interface ModelRoutemapItem {
1169
1297
  /** OPNsense FieldType: TextField; pattern /^[a-zA-Z0-9._-]{1,64}$/ */
1170
1298
  name: string;
1171
1299
  /** OPNsense FieldType: OptionField */
1172
- action: ModelRoutemapItemAction | (string & {});
1300
+ action: ModelRoutemapReadItemActionMap;
1173
1301
  /** OPNsense FieldType: IntegerField; range 1..65535 (as text) */
1174
1302
  id: string;
1175
1303
  /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
1176
- match?: string;
1304
+ match?: ModelRoutemapReadItemMatchMap;
1177
1305
  /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
1178
- match2?: string;
1306
+ match2?: ModelRoutemapReadItemMatch2Map;
1179
1307
  /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
1180
- match3?: string;
1308
+ match3?: ModelRoutemapReadItemMatch3Map;
1181
1309
  /** OPNsense FieldType: TextField */
1182
1310
  set?: string;
1183
1311
  }
1184
- export const ModelRoutemapItem = /*@__PURE__*/ S.suspend(() =>
1312
+ export const ModelRoutemapReadItem = /*@__PURE__*/ S.suspend(() =>
1185
1313
  S.Struct({
1186
1314
  uuid: S.optional(S.String),
1187
1315
  enabled: S.String,
1188
1316
  description: S.optional(S.String),
1189
1317
  name: S.String,
1190
- action: ModelRoutemapItemAction,
1318
+ action: ModelRoutemapReadItemActionMap,
1191
1319
  id: S.String,
1192
- match: S.optional(S.String),
1193
- match2: S.optional(S.String),
1194
- match3: S.optional(S.String),
1320
+ match: S.optional(ModelRoutemapReadItemMatchMap),
1321
+ match2: S.optional(ModelRoutemapReadItemMatch2Map),
1322
+ match3: S.optional(ModelRoutemapReadItemMatch3Map),
1195
1323
  set: S.optional(S.String),
1196
1324
  }),
1197
1325
  ).annotate({
1198
- identifier: "ModelRoutemapItem",
1199
- }) as any as S.Schema<ModelRoutemapItem>;
1326
+ identifier: "ModelRoutemapReadItem",
1327
+ }) as any as S.Schema<ModelRoutemapReadItem>;
1200
1328
 
1201
- export type ModelRoutemapItemMap = {
1202
- [key: string]: ModelRoutemapItem | undefined;
1329
+ export type ModelRoutemapReadItemMap = {
1330
+ [key: string]: ModelRoutemapReadItem | undefined;
1203
1331
  };
1204
- export const ModelRoutemapItemMap = /*@__PURE__*/ S.Record(
1332
+ export const ModelRoutemapReadItemMap = /*@__PURE__*/ S.Record(
1205
1333
  S.String,
1206
- ModelRoutemapItem,
1207
- ) as any as S.Schema<ModelRoutemapItemMap>;
1334
+ ModelRoutemapReadItem,
1335
+ ) as any as S.Schema<ModelRoutemapReadItemMap>;
1208
1336
 
1209
- export interface ModelRoutemaps {
1210
- routemap?: ModelRoutemapItemMap;
1337
+ export interface ModelRoutemapsRead {
1338
+ routemap?: ModelRoutemapReadItemMap;
1211
1339
  }
1212
- export const ModelRoutemaps = /*@__PURE__*/ S.suspend(() =>
1340
+ export const ModelRoutemapsRead = /*@__PURE__*/ S.suspend(() =>
1213
1341
  S.Struct({
1214
- routemap: S.optional(ModelRoutemapItemMap),
1342
+ routemap: S.optional(ModelRoutemapReadItemMap),
1215
1343
  }),
1216
- ).annotate({ identifier: "ModelRoutemaps" }) as any as S.Schema<ModelRoutemaps>;
1344
+ ).annotate({
1345
+ identifier: "ModelRoutemapsRead",
1346
+ }) as any as S.Schema<ModelRoutemapsRead>;
1217
1347
 
1218
- export type ModelPeergroupItemRemoteAsMode = "internal" | "external";
1219
- export const ModelPeergroupItemRemoteAsMode = S.String;
1348
+ export type ModelPeergroupReadItemRemoteAsModeMap = {
1349
+ [key: string]: OptionEntry | undefined;
1350
+ };
1351
+ export const ModelPeergroupReadItemRemoteAsModeMap = /*@__PURE__*/ S.Record(
1352
+ S.String,
1353
+ OptionEntry,
1354
+ ) as any as S.Schema<ModelPeergroupReadItemRemoteAsModeMap>;
1220
1355
 
1221
- export type ModelPeergroupItemFamily = "ipv4" | "ipv6";
1222
- export const ModelPeergroupItemFamily = S.String;
1356
+ export type ModelPeergroupReadItemFamilyMap = {
1357
+ [key: string]: OptionEntry | undefined;
1358
+ };
1359
+ export const ModelPeergroupReadItemFamilyMap = /*@__PURE__*/ S.Record(
1360
+ S.String,
1361
+ OptionEntry,
1362
+ ) as any as S.Schema<ModelPeergroupReadItemFamilyMap>;
1223
1363
 
1224
- export interface ModelPeergroupItem {
1364
+ export type ModelPeergroupReadItemListenrangesMap = {
1365
+ [key: string]: OptionEntry | undefined;
1366
+ };
1367
+ export const ModelPeergroupReadItemListenrangesMap = /*@__PURE__*/ S.Record(
1368
+ S.String,
1369
+ OptionEntry,
1370
+ ) as any as S.Schema<ModelPeergroupReadItemListenrangesMap>;
1371
+
1372
+ export type ModelPeergroupReadItemUpdatesourceMap = {
1373
+ [key: string]: OptionEntry | undefined;
1374
+ };
1375
+ export const ModelPeergroupReadItemUpdatesourceMap = /*@__PURE__*/ S.Record(
1376
+ S.String,
1377
+ OptionEntry,
1378
+ ) as any as S.Schema<ModelPeergroupReadItemUpdatesourceMap>;
1379
+
1380
+ export type ModelPeergroupReadItemLinkedPrefixlistInMap = {
1381
+ [key: string]: OptionEntry | undefined;
1382
+ };
1383
+ export const ModelPeergroupReadItemLinkedPrefixlistInMap =
1384
+ /*@__PURE__*/ S.Record(
1385
+ S.String,
1386
+ OptionEntry,
1387
+ ) as any as S.Schema<ModelPeergroupReadItemLinkedPrefixlistInMap>;
1388
+
1389
+ export type ModelPeergroupReadItemLinkedPrefixlistOutMap = {
1390
+ [key: string]: OptionEntry | undefined;
1391
+ };
1392
+ export const ModelPeergroupReadItemLinkedPrefixlistOutMap =
1393
+ /*@__PURE__*/ S.Record(
1394
+ S.String,
1395
+ OptionEntry,
1396
+ ) as any as S.Schema<ModelPeergroupReadItemLinkedPrefixlistOutMap>;
1397
+
1398
+ export type ModelPeergroupReadItemLinkedRoutemapInMap = {
1399
+ [key: string]: OptionEntry | undefined;
1400
+ };
1401
+ export const ModelPeergroupReadItemLinkedRoutemapInMap = /*@__PURE__*/ S.Record(
1402
+ S.String,
1403
+ OptionEntry,
1404
+ ) as any as S.Schema<ModelPeergroupReadItemLinkedRoutemapInMap>;
1405
+
1406
+ export type ModelPeergroupReadItemLinkedRoutemapOutMap = {
1407
+ [key: string]: OptionEntry | undefined;
1408
+ };
1409
+ export const ModelPeergroupReadItemLinkedRoutemapOutMap =
1410
+ /*@__PURE__*/ S.Record(
1411
+ S.String,
1412
+ OptionEntry,
1413
+ ) as any as S.Schema<ModelPeergroupReadItemLinkedRoutemapOutMap>;
1414
+
1415
+ export interface ModelPeergroupReadItem {
1225
1416
  /** Item id, assigned by OPNsense on creation. */
1226
1417
  uuid?: string;
1227
1418
  /** OPNsense FieldType: BooleanField */
@@ -1229,77 +1420,89 @@ export interface ModelPeergroupItem {
1229
1420
  /** OPNsense FieldType: TextField */
1230
1421
  name: string;
1231
1422
  /** OPNsense FieldType: OptionField */
1232
- remote_as_mode?: ModelPeergroupItemRemoteAsMode | (string & {});
1423
+ remote_as_mode?: ModelPeergroupReadItemRemoteAsModeMap;
1233
1424
  /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
1234
1425
  remoteas?: string;
1235
1426
  /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
1236
- family: ModelPeergroupItemFamily | (string & {});
1427
+ family: ModelPeergroupReadItemFamilyMap;
1237
1428
  /** OPNsense FieldType: NetworkField */
1238
- listenranges?: string;
1429
+ listenranges?: ModelPeergroupReadItemListenrangesMap;
1239
1430
  /** OPNsense FieldType: InterfaceField */
1240
- updatesource?: string;
1431
+ updatesource?: ModelPeergroupReadItemUpdatesourceMap;
1241
1432
  /** OPNsense FieldType: BooleanField */
1242
1433
  nexthopself?: string;
1243
1434
  /** OPNsense FieldType: BooleanField */
1244
1435
  defaultoriginate?: string;
1245
1436
  /** OPNsense FieldType: ModelRelationField */
1246
- linkedPrefixlistIn?: string;
1437
+ linkedPrefixlistIn?: ModelPeergroupReadItemLinkedPrefixlistInMap;
1247
1438
  /** OPNsense FieldType: ModelRelationField */
1248
- linkedPrefixlistOut?: string;
1439
+ linkedPrefixlistOut?: ModelPeergroupReadItemLinkedPrefixlistOutMap;
1249
1440
  /** OPNsense FieldType: ModelRelationField */
1250
- linkedRoutemapIn?: string;
1441
+ linkedRoutemapIn?: ModelPeergroupReadItemLinkedRoutemapInMap;
1251
1442
  /** OPNsense FieldType: ModelRelationField */
1252
- linkedRoutemapOut?: string;
1443
+ linkedRoutemapOut?: ModelPeergroupReadItemLinkedRoutemapOutMap;
1253
1444
  }
1254
- export const ModelPeergroupItem = /*@__PURE__*/ S.suspend(() =>
1445
+ export const ModelPeergroupReadItem = /*@__PURE__*/ S.suspend(() =>
1255
1446
  S.Struct({
1256
1447
  uuid: S.optional(S.String),
1257
1448
  enabled: S.String,
1258
1449
  name: S.String,
1259
- remote_as_mode: S.optional(ModelPeergroupItemRemoteAsMode),
1450
+ remote_as_mode: S.optional(ModelPeergroupReadItemRemoteAsModeMap),
1260
1451
  remoteas: S.optional(S.String),
1261
- family: ModelPeergroupItemFamily,
1262
- listenranges: S.optional(S.String),
1263
- updatesource: S.optional(S.String),
1452
+ family: ModelPeergroupReadItemFamilyMap,
1453
+ listenranges: S.optional(ModelPeergroupReadItemListenrangesMap),
1454
+ updatesource: S.optional(ModelPeergroupReadItemUpdatesourceMap),
1264
1455
  nexthopself: S.optional(S.String),
1265
1456
  defaultoriginate: S.optional(S.String),
1266
- linkedPrefixlistIn: S.optional(S.String),
1267
- linkedPrefixlistOut: S.optional(S.String),
1268
- linkedRoutemapIn: S.optional(S.String),
1269
- linkedRoutemapOut: S.optional(S.String),
1457
+ linkedPrefixlistIn: S.optional(ModelPeergroupReadItemLinkedPrefixlistInMap),
1458
+ linkedPrefixlistOut: S.optional(
1459
+ ModelPeergroupReadItemLinkedPrefixlistOutMap,
1460
+ ),
1461
+ linkedRoutemapIn: S.optional(ModelPeergroupReadItemLinkedRoutemapInMap),
1462
+ linkedRoutemapOut: S.optional(ModelPeergroupReadItemLinkedRoutemapOutMap),
1270
1463
  }),
1271
1464
  ).annotate({
1272
- identifier: "ModelPeergroupItem",
1273
- }) as any as S.Schema<ModelPeergroupItem>;
1465
+ identifier: "ModelPeergroupReadItem",
1466
+ }) as any as S.Schema<ModelPeergroupReadItem>;
1274
1467
 
1275
- export type ModelPeergroupItemMap = {
1276
- [key: string]: ModelPeergroupItem | undefined;
1468
+ export type ModelPeergroupReadItemMap = {
1469
+ [key: string]: ModelPeergroupReadItem | undefined;
1277
1470
  };
1278
- export const ModelPeergroupItemMap = /*@__PURE__*/ S.Record(
1471
+ export const ModelPeergroupReadItemMap = /*@__PURE__*/ S.Record(
1279
1472
  S.String,
1280
- ModelPeergroupItem,
1281
- ) as any as S.Schema<ModelPeergroupItemMap>;
1473
+ ModelPeergroupReadItem,
1474
+ ) as any as S.Schema<ModelPeergroupReadItemMap>;
1282
1475
 
1283
- export interface ModelPeergroups {
1284
- peergroup?: ModelPeergroupItemMap;
1476
+ export interface ModelPeergroupsRead {
1477
+ peergroup?: ModelPeergroupReadItemMap;
1285
1478
  }
1286
- export const ModelPeergroups = /*@__PURE__*/ S.suspend(() =>
1479
+ export const ModelPeergroupsRead = /*@__PURE__*/ S.suspend(() =>
1287
1480
  S.Struct({
1288
- peergroup: S.optional(ModelPeergroupItemMap),
1481
+ peergroup: S.optional(ModelPeergroupReadItemMap),
1289
1482
  }),
1290
1483
  ).annotate({
1291
- identifier: "ModelPeergroups",
1292
- }) as any as S.Schema<ModelPeergroups>;
1484
+ identifier: "ModelPeergroupsRead",
1485
+ }) as any as S.Schema<ModelPeergroupsRead>;
1293
1486
 
1294
- export type ModelRedistributionItemRedistribute =
1295
- | "ospf"
1296
- | "connected"
1297
- | "kernel"
1298
- | "rip"
1299
- | "static";
1300
- export const ModelRedistributionItemRedistribute = S.String;
1487
+ export type ModelRedistributionReadItemRedistributeMap = {
1488
+ [key: string]: OptionEntry | undefined;
1489
+ };
1490
+ export const ModelRedistributionReadItemRedistributeMap =
1491
+ /*@__PURE__*/ S.Record(
1492
+ S.String,
1493
+ OptionEntry,
1494
+ ) as any as S.Schema<ModelRedistributionReadItemRedistributeMap>;
1495
+
1496
+ export type ModelRedistributionReadItemLinkedRoutemapMap = {
1497
+ [key: string]: OptionEntry | undefined;
1498
+ };
1499
+ export const ModelRedistributionReadItemLinkedRoutemapMap =
1500
+ /*@__PURE__*/ S.Record(
1501
+ S.String,
1502
+ OptionEntry,
1503
+ ) as any as S.Schema<ModelRedistributionReadItemLinkedRoutemapMap>;
1301
1504
 
1302
- export interface ModelRedistributionItem {
1505
+ export interface ModelRedistributionReadItem {
1303
1506
  /** Item id, assigned by OPNsense on creation. */
1304
1507
  uuid?: string;
1305
1508
  /** OPNsense FieldType: BooleanField */
@@ -1307,42 +1510,42 @@ export interface ModelRedistributionItem {
1307
1510
  /** OPNsense FieldType: DescriptionField */
1308
1511
  description?: string;
1309
1512
  /** OPNsense FieldType: OptionField */
1310
- redistribute: ModelRedistributionItemRedistribute | (string & {});
1513
+ redistribute: ModelRedistributionReadItemRedistributeMap;
1311
1514
  /** OPNsense FieldType: ModelRelationField */
1312
- linkedRoutemap?: string;
1515
+ linkedRoutemap?: ModelRedistributionReadItemLinkedRoutemapMap;
1313
1516
  }
1314
- export const ModelRedistributionItem = /*@__PURE__*/ S.suspend(() =>
1517
+ export const ModelRedistributionReadItem = /*@__PURE__*/ S.suspend(() =>
1315
1518
  S.Struct({
1316
1519
  uuid: S.optional(S.String),
1317
1520
  enabled: S.String,
1318
1521
  description: S.optional(S.String),
1319
- redistribute: ModelRedistributionItemRedistribute,
1320
- linkedRoutemap: S.optional(S.String),
1522
+ redistribute: ModelRedistributionReadItemRedistributeMap,
1523
+ linkedRoutemap: S.optional(ModelRedistributionReadItemLinkedRoutemapMap),
1321
1524
  }),
1322
1525
  ).annotate({
1323
- identifier: "ModelRedistributionItem",
1324
- }) as any as S.Schema<ModelRedistributionItem>;
1526
+ identifier: "ModelRedistributionReadItem",
1527
+ }) as any as S.Schema<ModelRedistributionReadItem>;
1325
1528
 
1326
- export type ModelRedistributionItemMap = {
1327
- [key: string]: ModelRedistributionItem | undefined;
1529
+ export type ModelRedistributionReadItemMap = {
1530
+ [key: string]: ModelRedistributionReadItem | undefined;
1328
1531
  };
1329
- export const ModelRedistributionItemMap = /*@__PURE__*/ S.Record(
1532
+ export const ModelRedistributionReadItemMap = /*@__PURE__*/ S.Record(
1330
1533
  S.String,
1331
- ModelRedistributionItem,
1332
- ) as any as S.Schema<ModelRedistributionItemMap>;
1534
+ ModelRedistributionReadItem,
1535
+ ) as any as S.Schema<ModelRedistributionReadItemMap>;
1333
1536
 
1334
- export interface ModelRedistributions {
1335
- redistribution?: ModelRedistributionItemMap;
1537
+ export interface ModelRedistributionsRead {
1538
+ redistribution?: ModelRedistributionReadItemMap;
1336
1539
  }
1337
- export const ModelRedistributions = /*@__PURE__*/ S.suspend(() =>
1540
+ export const ModelRedistributionsRead = /*@__PURE__*/ S.suspend(() =>
1338
1541
  S.Struct({
1339
- redistribution: S.optional(ModelRedistributionItemMap),
1542
+ redistribution: S.optional(ModelRedistributionReadItemMap),
1340
1543
  }),
1341
1544
  ).annotate({
1342
- identifier: "ModelRedistributions",
1343
- }) as any as S.Schema<ModelRedistributions>;
1545
+ identifier: "ModelRedistributionsRead",
1546
+ }) as any as S.Schema<ModelRedistributionsRead>;
1344
1547
 
1345
- export interface Model {
1548
+ export interface ModelRead {
1346
1549
  /** OPNsense FieldType: BooleanField */
1347
1550
  enabled: string;
1348
1551
  /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
@@ -1362,20 +1565,20 @@ export interface Model {
1362
1565
  /** OPNsense FieldType: CSVListField */
1363
1566
  networks?: string;
1364
1567
  /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
1365
- bestpath?: ModelBestpath | (string & {});
1568
+ bestpath?: ModelBestpathMap;
1366
1569
  /** OPNsense FieldType: IntegerField; range 1..128 (as text) */
1367
1570
  maximumpaths?: string;
1368
1571
  /** OPNsense FieldType: IntegerField; range 1..128 (as text) */
1369
1572
  maximumpathsibgp?: string;
1370
- neighbors?: ModelNeighbors;
1371
- aspaths?: ModelAspaths;
1372
- prefixlists?: ModelPrefixlists;
1373
- communitylists?: ModelCommunitylists;
1374
- routemaps?: ModelRoutemaps;
1375
- peergroups?: ModelPeergroups;
1376
- redistributions?: ModelRedistributions;
1573
+ neighbors?: ModelNeighborsRead;
1574
+ aspaths?: ModelAspathsRead;
1575
+ prefixlists?: ModelPrefixlistsRead;
1576
+ communitylists?: ModelCommunitylistsRead;
1577
+ routemaps?: ModelRoutemapsRead;
1578
+ peergroups?: ModelPeergroupsRead;
1579
+ redistributions?: ModelRedistributionsRead;
1377
1580
  }
1378
- export const Model = /*@__PURE__*/ S.suspend(() =>
1581
+ export const ModelRead = /*@__PURE__*/ S.suspend(() =>
1379
1582
  S.Struct({
1380
1583
  enabled: S.String,
1381
1584
  asnumber: S.String,
@@ -1386,54 +1589,97 @@ export const Model = /*@__PURE__*/ S.suspend(() =>
1386
1589
  enforce_first_as: S.String,
1387
1590
  logneighborchanges: S.String,
1388
1591
  networks: S.optional(S.String),
1389
- bestpath: S.optional(ModelBestpath),
1592
+ bestpath: S.optional(ModelBestpathMap),
1390
1593
  maximumpaths: S.optional(S.String),
1391
1594
  maximumpathsibgp: S.optional(S.String),
1392
- neighbors: S.optional(ModelNeighbors),
1393
- aspaths: S.optional(ModelAspaths),
1394
- prefixlists: S.optional(ModelPrefixlists),
1395
- communitylists: S.optional(ModelCommunitylists),
1396
- routemaps: S.optional(ModelRoutemaps),
1397
- peergroups: S.optional(ModelPeergroups),
1398
- redistributions: S.optional(ModelRedistributions),
1595
+ neighbors: S.optional(ModelNeighborsRead),
1596
+ aspaths: S.optional(ModelAspathsRead),
1597
+ prefixlists: S.optional(ModelPrefixlistsRead),
1598
+ communitylists: S.optional(ModelCommunitylistsRead),
1599
+ routemaps: S.optional(ModelRoutemapsRead),
1600
+ peergroups: S.optional(ModelPeergroupsRead),
1601
+ redistributions: S.optional(ModelRedistributionsRead),
1399
1602
  }),
1400
- ).annotate({ identifier: "Model" }) as any as S.Schema<Model>;
1603
+ ).annotate({ identifier: "ModelRead" }) as any as S.Schema<ModelRead>;
1401
1604
 
1402
1605
  export interface GetResponse {
1403
- bgp?: Model;
1606
+ bgp?: ModelRead;
1404
1607
  }
1405
1608
  export const GetResponse = /*@__PURE__*/ S.suspend(() =>
1406
1609
  S.Struct({
1407
- bgp: S.optional(Model),
1610
+ bgp: S.optional(ModelRead),
1408
1611
  }),
1409
1612
  ).annotate({ identifier: "GetResponse" }) as any as S.Schema<GetResponse>;
1410
1613
 
1411
- export interface GetAspathRequest {}
1614
+ export interface GetAspathRequest {
1615
+ uuid: string;
1616
+ }
1412
1617
  export const GetAspathRequest = /*@__PURE__*/ S.suspend(() =>
1413
- S.Struct({}).pipe(
1414
- T.Http({ method: "GET", uri: "/api/quagga/bgp/getAspath", code: 200 }),
1618
+ S.Struct({
1619
+ uuid: S.String.pipe(T.Label()),
1620
+ }).pipe(
1621
+ T.Http({
1622
+ method: "GET",
1623
+ uri: "/api/quagga/bgp/getAspath/{uuid}",
1624
+ code: 200,
1625
+ }),
1415
1626
  ),
1416
1627
  ).annotate({
1417
1628
  identifier: "GetAspathRequest",
1418
1629
  }) as any as S.Schema<GetAspathRequest>;
1419
1630
 
1631
+ export type GetAspathItemActionMap = { [key: string]: OptionEntry | undefined };
1632
+ export const GetAspathItemActionMap = /*@__PURE__*/ S.Record(
1633
+ S.String,
1634
+ OptionEntry,
1635
+ ) as any as S.Schema<GetAspathItemActionMap>;
1636
+
1637
+ export interface GetAspathItem {
1638
+ /** Item id, assigned by OPNsense on creation. */
1639
+ uuid?: string;
1640
+ /** OPNsense FieldType: BooleanField */
1641
+ enabled: string;
1642
+ /** OPNsense FieldType: TextField */
1643
+ description?: string;
1644
+ /** OPNsense FieldType: IntegerField; range 0..4294967295 (as text) */
1645
+ number: string;
1646
+ /** OPNsense FieldType: OptionField */
1647
+ action: GetAspathItemActionMap;
1648
+ /** OPNsense FieldType: TextField */
1649
+ as: string;
1650
+ }
1651
+ export const GetAspathItem = /*@__PURE__*/ S.suspend(() =>
1652
+ S.Struct({
1653
+ uuid: S.optional(S.String),
1654
+ enabled: S.String,
1655
+ description: S.optional(S.String),
1656
+ number: S.String,
1657
+ action: GetAspathItemActionMap,
1658
+ as: S.String,
1659
+ }),
1660
+ ).annotate({ identifier: "GetAspathItem" }) as any as S.Schema<GetAspathItem>;
1661
+
1420
1662
  export interface GetAspathResponse {
1421
- aspath?: AspathItem;
1663
+ aspath?: GetAspathItem;
1422
1664
  }
1423
1665
  export const GetAspathResponse = /*@__PURE__*/ S.suspend(() =>
1424
1666
  S.Struct({
1425
- aspath: S.optional(AspathItem),
1667
+ aspath: S.optional(GetAspathItem),
1426
1668
  }),
1427
1669
  ).annotate({
1428
1670
  identifier: "GetAspathResponse",
1429
1671
  }) as any as S.Schema<GetAspathResponse>;
1430
1672
 
1431
- export interface GetCommunitylistRequest {}
1673
+ export interface GetCommunitylistRequest {
1674
+ uuid: string;
1675
+ }
1432
1676
  export const GetCommunitylistRequest = /*@__PURE__*/ S.suspend(() =>
1433
- S.Struct({}).pipe(
1677
+ S.Struct({
1678
+ uuid: S.String.pipe(T.Label()),
1679
+ }).pipe(
1434
1680
  T.Http({
1435
1681
  method: "GET",
1436
- uri: "/api/quagga/bgp/getCommunitylist",
1682
+ uri: "/api/quagga/bgp/getCommunitylist/{uuid}",
1437
1683
  code: 200,
1438
1684
  }),
1439
1685
  ),
@@ -1441,375 +1687,1509 @@ export const GetCommunitylistRequest = /*@__PURE__*/ S.suspend(() =>
1441
1687
  identifier: "GetCommunitylistRequest",
1442
1688
  }) as any as S.Schema<GetCommunitylistRequest>;
1443
1689
 
1444
- export interface GetCommunitylistResponse {
1445
- communitylist?: CommunitylistItem;
1446
- }
1447
- export const GetCommunitylistResponse = /*@__PURE__*/ S.suspend(() =>
1448
- S.Struct({
1449
- communitylist: S.optional(CommunitylistItem),
1450
- }),
1451
- ).annotate({
1452
- identifier: "GetCommunitylistResponse",
1453
- }) as any as S.Schema<GetCommunitylistResponse>;
1454
-
1455
- export interface GetNeighborRequest {}
1456
- export const GetNeighborRequest = /*@__PURE__*/ S.suspend(() =>
1457
- S.Struct({}).pipe(
1458
- T.Http({ method: "GET", uri: "/api/quagga/bgp/getNeighbor", code: 200 }),
1459
- ),
1460
- ).annotate({
1461
- identifier: "GetNeighborRequest",
1462
- }) as any as S.Schema<GetNeighborRequest>;
1690
+ export type GetCommunitylistItemActionMap = {
1691
+ [key: string]: OptionEntry | undefined;
1692
+ };
1693
+ export const GetCommunitylistItemActionMap = /*@__PURE__*/ S.Record(
1694
+ S.String,
1695
+ OptionEntry,
1696
+ ) as any as S.Schema<GetCommunitylistItemActionMap>;
1463
1697
 
1464
- export interface GetNeighborResponse {
1465
- neighbor?: NeighborItem;
1698
+ export interface GetCommunitylistItem {
1699
+ /** Item id, assigned by OPNsense on creation. */
1700
+ uuid?: string;
1701
+ /** OPNsense FieldType: BooleanField */
1702
+ enabled: string;
1703
+ /** OPNsense FieldType: TextField */
1704
+ description?: string;
1705
+ /** OPNsense FieldType: IntegerField; range 1..500 (as text) */
1706
+ number: string;
1707
+ /** OPNsense FieldType: IntegerField; range 10..99 (as text) */
1708
+ seqnumber: string;
1709
+ /** OPNsense FieldType: OptionField */
1710
+ action: GetCommunitylistItemActionMap;
1711
+ /** OPNsense FieldType: TextField */
1712
+ community: string;
1466
1713
  }
1467
- export const GetNeighborResponse = /*@__PURE__*/ S.suspend(() =>
1714
+ export const GetCommunitylistItem = /*@__PURE__*/ S.suspend(() =>
1468
1715
  S.Struct({
1469
- neighbor: S.optional(NeighborItem),
1716
+ uuid: S.optional(S.String),
1717
+ enabled: S.String,
1718
+ description: S.optional(S.String),
1719
+ number: S.String,
1720
+ seqnumber: S.String,
1721
+ action: GetCommunitylistItemActionMap,
1722
+ community: S.String,
1470
1723
  }),
1471
1724
  ).annotate({
1472
- identifier: "GetNeighborResponse",
1473
- }) as any as S.Schema<GetNeighborResponse>;
1474
-
1475
- export interface GetPeergroupRequest {}
1476
- export const GetPeergroupRequest = /*@__PURE__*/ S.suspend(() =>
1477
- S.Struct({}).pipe(
1478
- T.Http({ method: "GET", uri: "/api/quagga/bgp/getPeergroup", code: 200 }),
1479
- ),
1480
- ).annotate({
1481
- identifier: "GetPeergroupRequest",
1482
- }) as any as S.Schema<GetPeergroupRequest>;
1725
+ identifier: "GetCommunitylistItem",
1726
+ }) as any as S.Schema<GetCommunitylistItem>;
1483
1727
 
1484
- export interface GetPeergroupResponse {
1485
- peergroup?: PeergroupItem;
1728
+ export interface GetCommunitylistResponse {
1729
+ communitylist?: GetCommunitylistItem;
1486
1730
  }
1487
- export const GetPeergroupResponse = /*@__PURE__*/ S.suspend(() =>
1731
+ export const GetCommunitylistResponse = /*@__PURE__*/ S.suspend(() =>
1488
1732
  S.Struct({
1489
- peergroup: S.optional(PeergroupItem),
1733
+ communitylist: S.optional(GetCommunitylistItem),
1490
1734
  }),
1491
1735
  ).annotate({
1492
- identifier: "GetPeergroupResponse",
1493
- }) as any as S.Schema<GetPeergroupResponse>;
1494
-
1495
- export interface GetPrefixlistRequest {}
1496
- export const GetPrefixlistRequest = /*@__PURE__*/ S.suspend(() =>
1497
- S.Struct({}).pipe(
1498
- T.Http({ method: "GET", uri: "/api/quagga/bgp/getPrefixlist", code: 200 }),
1499
- ),
1500
- ).annotate({
1501
- identifier: "GetPrefixlistRequest",
1502
- }) as any as S.Schema<GetPrefixlistRequest>;
1736
+ identifier: "GetCommunitylistResponse",
1737
+ }) as any as S.Schema<GetCommunitylistResponse>;
1503
1738
 
1504
- export interface GetPrefixlistResponse {
1505
- prefixlist?: PrefixlistItem;
1739
+ export interface GetNeighborRequest {
1740
+ uuid: string;
1506
1741
  }
1507
- export const GetPrefixlistResponse = /*@__PURE__*/ S.suspend(() =>
1742
+ export const GetNeighborRequest = /*@__PURE__*/ S.suspend(() =>
1508
1743
  S.Struct({
1509
- prefixlist: S.optional(PrefixlistItem),
1510
- }),
1511
- ).annotate({
1512
- identifier: "GetPrefixlistResponse",
1513
- }) as any as S.Schema<GetPrefixlistResponse>;
1514
-
1515
- export interface GetRedistributionRequest {}
1516
- export const GetRedistributionRequest = /*@__PURE__*/ S.suspend(() =>
1517
- S.Struct({}).pipe(
1744
+ uuid: S.String.pipe(T.Label()),
1745
+ }).pipe(
1518
1746
  T.Http({
1519
1747
  method: "GET",
1520
- uri: "/api/quagga/bgp/getRedistribution",
1748
+ uri: "/api/quagga/bgp/getNeighbor/{uuid}",
1521
1749
  code: 200,
1522
1750
  }),
1523
1751
  ),
1524
1752
  ).annotate({
1525
- identifier: "GetRedistributionRequest",
1526
- }) as any as S.Schema<GetRedistributionRequest>;
1753
+ identifier: "GetNeighborRequest",
1754
+ }) as any as S.Schema<GetNeighborRequest>;
1527
1755
 
1528
- export interface GetRedistributionResponse {
1529
- redistribution?: RedistributionItem;
1530
- }
1531
- export const GetRedistributionResponse = /*@__PURE__*/ S.suspend(() =>
1532
- S.Struct({
1533
- redistribution: S.optional(RedistributionItem),
1534
- }),
1535
- ).annotate({
1536
- identifier: "GetRedistributionResponse",
1537
- }) as any as S.Schema<GetRedistributionResponse>;
1756
+ export type GetNeighborItemRemoteAsModeMap = {
1757
+ [key: string]: OptionEntry | undefined;
1758
+ };
1759
+ export const GetNeighborItemRemoteAsModeMap = /*@__PURE__*/ S.Record(
1760
+ S.String,
1761
+ OptionEntry,
1762
+ ) as any as S.Schema<GetNeighborItemRemoteAsModeMap>;
1538
1763
 
1539
- export interface GetRoutemapRequest {}
1540
- export const GetRoutemapRequest = /*@__PURE__*/ S.suspend(() =>
1541
- S.Struct({}).pipe(
1542
- T.Http({ method: "GET", uri: "/api/quagga/bgp/getRoutemap", code: 200 }),
1543
- ),
1544
- ).annotate({
1545
- identifier: "GetRoutemapRequest",
1546
- }) as any as S.Schema<GetRoutemapRequest>;
1764
+ export type GetNeighborItemUpdatesourceMap = {
1765
+ [key: string]: OptionEntry | undefined;
1766
+ };
1767
+ export const GetNeighborItemUpdatesourceMap = /*@__PURE__*/ S.Record(
1768
+ S.String,
1769
+ OptionEntry,
1770
+ ) as any as S.Schema<GetNeighborItemUpdatesourceMap>;
1547
1771
 
1548
- export interface GetRoutemapResponse {
1549
- routemap?: RoutemapItem;
1550
- }
1551
- export const GetRoutemapResponse = /*@__PURE__*/ S.suspend(() =>
1552
- S.Struct({
1553
- routemap: S.optional(RoutemapItem),
1554
- }),
1555
- ).annotate({
1556
- identifier: "GetRoutemapResponse",
1557
- }) as any as S.Schema<GetRoutemapResponse>;
1772
+ export type GetNeighborItemLinklocalinterfaceMap = {
1773
+ [key: string]: OptionEntry | undefined;
1774
+ };
1775
+ export const GetNeighborItemLinklocalinterfaceMap = /*@__PURE__*/ S.Record(
1776
+ S.String,
1777
+ OptionEntry,
1778
+ ) as any as S.Schema<GetNeighborItemLinklocalinterfaceMap>;
1558
1779
 
1559
- export interface SearchAspathRequest {}
1560
- export const SearchAspathRequest = /*@__PURE__*/ S.suspend(() =>
1561
- S.Struct({}).pipe(
1562
- T.Http({ method: "POST", uri: "/api/quagga/bgp/searchAspath", code: 200 }),
1563
- ),
1564
- ).annotate({
1565
- identifier: "SearchAspathRequest",
1566
- }) as any as S.Schema<SearchAspathRequest>;
1780
+ export type GetNeighborItemRemoveprivateasMap = {
1781
+ [key: string]: OptionEntry | undefined;
1782
+ };
1783
+ export const GetNeighborItemRemoveprivateasMap = /*@__PURE__*/ S.Record(
1784
+ S.String,
1785
+ OptionEntry,
1786
+ ) as any as S.Schema<GetNeighborItemRemoveprivateasMap>;
1567
1787
 
1568
- export type AspathList = Array<AspathItem>;
1569
- export const AspathList = /*@__PURE__*/ S.Array(
1570
- AspathItem,
1571
- ) as any as S.Schema<AspathList>;
1788
+ export type GetNeighborItemAllowasInMap = {
1789
+ [key: string]: OptionEntry | undefined;
1790
+ };
1791
+ export const GetNeighborItemAllowasInMap = /*@__PURE__*/ S.Record(
1792
+ S.String,
1793
+ OptionEntry,
1794
+ ) as any as S.Schema<GetNeighborItemAllowasInMap>;
1572
1795
 
1573
- export interface SearchAspathResponse {
1574
- /** Total matching items before pagination. */
1575
- total?: number;
1576
- rowCount?: number;
1577
- /** Current page number. */
1578
- current?: number;
1579
- rows?: AspathList;
1580
- }
1581
- export const SearchAspathResponse = /*@__PURE__*/ S.suspend(() =>
1582
- S.Struct({
1583
- total: S.optional(S.Number),
1584
- rowCount: S.optional(S.Number),
1585
- current: S.optional(S.Number),
1586
- rows: S.optional(AspathList),
1587
- }),
1588
- ).annotate({
1589
- identifier: "SearchAspathResponse",
1590
- }) as any as S.Schema<SearchAspathResponse>;
1796
+ export type GetNeighborItemAttributeunchangedMap = {
1797
+ [key: string]: OptionEntry | undefined;
1798
+ };
1799
+ export const GetNeighborItemAttributeunchangedMap = /*@__PURE__*/ S.Record(
1800
+ S.String,
1801
+ OptionEntry,
1802
+ ) as any as S.Schema<GetNeighborItemAttributeunchangedMap>;
1591
1803
 
1592
- export interface SearchCommunitylistRequest {}
1593
- export const SearchCommunitylistRequest = /*@__PURE__*/ S.suspend(() =>
1594
- S.Struct({}).pipe(
1595
- T.Http({
1596
- method: "POST",
1597
- uri: "/api/quagga/bgp/searchCommunitylist",
1804
+ export type GetNeighborItemCapabilitiesMap = {
1805
+ [key: string]: OptionEntry | undefined;
1806
+ };
1807
+ export const GetNeighborItemCapabilitiesMap = /*@__PURE__*/ S.Record(
1808
+ S.String,
1809
+ OptionEntry,
1810
+ ) as any as S.Schema<GetNeighborItemCapabilitiesMap>;
1811
+
1812
+ export type GetNeighborItemLinkedPrefixlistInMap = {
1813
+ [key: string]: OptionEntry | undefined;
1814
+ };
1815
+ export const GetNeighborItemLinkedPrefixlistInMap = /*@__PURE__*/ S.Record(
1816
+ S.String,
1817
+ OptionEntry,
1818
+ ) as any as S.Schema<GetNeighborItemLinkedPrefixlistInMap>;
1819
+
1820
+ export type GetNeighborItemLinkedPrefixlistOutMap = {
1821
+ [key: string]: OptionEntry | undefined;
1822
+ };
1823
+ export const GetNeighborItemLinkedPrefixlistOutMap = /*@__PURE__*/ S.Record(
1824
+ S.String,
1825
+ OptionEntry,
1826
+ ) as any as S.Schema<GetNeighborItemLinkedPrefixlistOutMap>;
1827
+
1828
+ export type GetNeighborItemLinkedRoutemapInMap = {
1829
+ [key: string]: OptionEntry | undefined;
1830
+ };
1831
+ export const GetNeighborItemLinkedRoutemapInMap = /*@__PURE__*/ S.Record(
1832
+ S.String,
1833
+ OptionEntry,
1834
+ ) as any as S.Schema<GetNeighborItemLinkedRoutemapInMap>;
1835
+
1836
+ export type GetNeighborItemLinkedRoutemapOutMap = {
1837
+ [key: string]: OptionEntry | undefined;
1838
+ };
1839
+ export const GetNeighborItemLinkedRoutemapOutMap = /*@__PURE__*/ S.Record(
1840
+ S.String,
1841
+ OptionEntry,
1842
+ ) as any as S.Schema<GetNeighborItemLinkedRoutemapOutMap>;
1843
+
1844
+ export type GetNeighborItemPeergroupMap = {
1845
+ [key: string]: OptionEntry | undefined;
1846
+ };
1847
+ export const GetNeighborItemPeergroupMap = /*@__PURE__*/ S.Record(
1848
+ S.String,
1849
+ OptionEntry,
1850
+ ) as any as S.Schema<GetNeighborItemPeergroupMap>;
1851
+
1852
+ export interface GetNeighborItem {
1853
+ /** Item id, assigned by OPNsense on creation. */
1854
+ uuid?: string;
1855
+ /** OPNsense FieldType: BooleanField */
1856
+ enabled: string;
1857
+ /** OPNsense FieldType: TextField */
1858
+ description?: string;
1859
+ /** OPNsense FieldType: NetworkField */
1860
+ address: string;
1861
+ /** OPNsense FieldType: OptionField */
1862
+ remote_as_mode?: GetNeighborItemRemoteAsModeMap;
1863
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
1864
+ remoteas?: string;
1865
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
1866
+ localas?: string;
1867
+ /** OPNsense FieldType: TextField */
1868
+ password?: string;
1869
+ /** OPNsense FieldType: IntegerField; range 0..65535 (as text) */
1870
+ weight?: string;
1871
+ /** OPNsense FieldType: NetworkField */
1872
+ localip?: string;
1873
+ /** OPNsense FieldType: InterfaceField */
1874
+ updatesource?: GetNeighborItemUpdatesourceMap;
1875
+ /** OPNsense FieldType: InterfaceField */
1876
+ linklocalinterface?: GetNeighborItemLinklocalinterfaceMap;
1877
+ /** OPNsense FieldType: BooleanField */
1878
+ nexthopself?: string;
1879
+ /** OPNsense FieldType: BooleanField */
1880
+ nexthopselfall?: string;
1881
+ /** OPNsense FieldType: BooleanField */
1882
+ multihop?: string;
1883
+ /** OPNsense FieldType: BooleanField */
1884
+ multiprotocol?: string;
1885
+ /** OPNsense FieldType: BooleanField */
1886
+ rrclient?: string;
1887
+ /** OPNsense FieldType: BooleanField */
1888
+ soft_reconfiguration_inbound?: string;
1889
+ /** OPNsense FieldType: BooleanField */
1890
+ bfd?: string;
1891
+ /** OPNsense FieldType: BooleanField */
1892
+ bfd_strict?: string;
1893
+ /** OPNsense FieldType: IntegerField; range 1..1000 (as text) */
1894
+ keepalive?: string;
1895
+ /** OPNsense FieldType: IntegerField; range 3..3000 (as text) */
1896
+ holddown?: string;
1897
+ /** OPNsense FieldType: IntegerField; range 1..65000 (as text) */
1898
+ connecttimer?: string;
1899
+ /** OPNsense FieldType: BooleanField */
1900
+ defaultoriginate?: string;
1901
+ /** OPNsense FieldType: BooleanField */
1902
+ asoverride?: string;
1903
+ /** OPNsense FieldType: OptionField */
1904
+ removeprivateas?: GetNeighborItemRemoveprivateasMap;
1905
+ /** OPNsense FieldType: OptionField */
1906
+ allowas_in?: GetNeighborItemAllowasInMap;
1907
+ /** OPNsense FieldType: BooleanField */
1908
+ disable_connected_check?: string;
1909
+ /** OPNsense FieldType: OptionField */
1910
+ attributeunchanged?: GetNeighborItemAttributeunchangedMap;
1911
+ /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
1912
+ capabilities?: GetNeighborItemCapabilitiesMap;
1913
+ /** OPNsense FieldType: ModelRelationField */
1914
+ linkedPrefixlistIn?: GetNeighborItemLinkedPrefixlistInMap;
1915
+ /** OPNsense FieldType: ModelRelationField */
1916
+ linkedPrefixlistOut?: GetNeighborItemLinkedPrefixlistOutMap;
1917
+ /** OPNsense FieldType: ModelRelationField */
1918
+ linkedRoutemapIn?: GetNeighborItemLinkedRoutemapInMap;
1919
+ /** OPNsense FieldType: ModelRelationField */
1920
+ linkedRoutemapOut?: GetNeighborItemLinkedRoutemapOutMap;
1921
+ /** OPNsense FieldType: ModelRelationField */
1922
+ peergroup?: GetNeighborItemPeergroupMap;
1923
+ }
1924
+ export const GetNeighborItem = /*@__PURE__*/ S.suspend(() =>
1925
+ S.Struct({
1926
+ uuid: S.optional(S.String),
1927
+ enabled: S.String,
1928
+ description: S.optional(S.String),
1929
+ address: S.String,
1930
+ remote_as_mode: S.optional(GetNeighborItemRemoteAsModeMap),
1931
+ remoteas: S.optional(S.String),
1932
+ localas: S.optional(S.String),
1933
+ password: S.optional(S.String),
1934
+ weight: S.optional(S.String),
1935
+ localip: S.optional(S.String),
1936
+ updatesource: S.optional(GetNeighborItemUpdatesourceMap),
1937
+ linklocalinterface: S.optional(GetNeighborItemLinklocalinterfaceMap),
1938
+ nexthopself: S.optional(S.String),
1939
+ nexthopselfall: S.optional(S.String),
1940
+ multihop: S.optional(S.String),
1941
+ multiprotocol: S.optional(S.String),
1942
+ rrclient: S.optional(S.String),
1943
+ soft_reconfiguration_inbound: S.optional(S.String),
1944
+ bfd: S.optional(S.String),
1945
+ bfd_strict: S.optional(S.String),
1946
+ keepalive: S.optional(S.String),
1947
+ holddown: S.optional(S.String),
1948
+ connecttimer: S.optional(S.String),
1949
+ defaultoriginate: S.optional(S.String),
1950
+ asoverride: S.optional(S.String),
1951
+ removeprivateas: S.optional(GetNeighborItemRemoveprivateasMap),
1952
+ allowas_in: S.optional(GetNeighborItemAllowasInMap),
1953
+ disable_connected_check: S.optional(S.String),
1954
+ attributeunchanged: S.optional(GetNeighborItemAttributeunchangedMap),
1955
+ capabilities: S.optional(GetNeighborItemCapabilitiesMap),
1956
+ linkedPrefixlistIn: S.optional(GetNeighborItemLinkedPrefixlistInMap),
1957
+ linkedPrefixlistOut: S.optional(GetNeighborItemLinkedPrefixlistOutMap),
1958
+ linkedRoutemapIn: S.optional(GetNeighborItemLinkedRoutemapInMap),
1959
+ linkedRoutemapOut: S.optional(GetNeighborItemLinkedRoutemapOutMap),
1960
+ peergroup: S.optional(GetNeighborItemPeergroupMap),
1961
+ }),
1962
+ ).annotate({
1963
+ identifier: "GetNeighborItem",
1964
+ }) as any as S.Schema<GetNeighborItem>;
1965
+
1966
+ export interface GetNeighborResponse {
1967
+ neighbor?: GetNeighborItem;
1968
+ }
1969
+ export const GetNeighborResponse = /*@__PURE__*/ S.suspend(() =>
1970
+ S.Struct({
1971
+ neighbor: S.optional(GetNeighborItem),
1972
+ }),
1973
+ ).annotate({
1974
+ identifier: "GetNeighborResponse",
1975
+ }) as any as S.Schema<GetNeighborResponse>;
1976
+
1977
+ export interface GetPeergroupRequest {
1978
+ uuid: string;
1979
+ }
1980
+ export const GetPeergroupRequest = /*@__PURE__*/ S.suspend(() =>
1981
+ S.Struct({
1982
+ uuid: S.String.pipe(T.Label()),
1983
+ }).pipe(
1984
+ T.Http({
1985
+ method: "GET",
1986
+ uri: "/api/quagga/bgp/getPeergroup/{uuid}",
1598
1987
  code: 200,
1599
1988
  }),
1600
1989
  ),
1601
1990
  ).annotate({
1602
- identifier: "SearchCommunitylistRequest",
1603
- }) as any as S.Schema<SearchCommunitylistRequest>;
1991
+ identifier: "GetPeergroupRequest",
1992
+ }) as any as S.Schema<GetPeergroupRequest>;
1604
1993
 
1605
- export type CommunitylistList = Array<CommunitylistItem>;
1606
- export const CommunitylistList = /*@__PURE__*/ S.Array(
1607
- CommunitylistItem,
1608
- ) as any as S.Schema<CommunitylistList>;
1994
+ export type GetPeergroupItemRemoteAsModeMap = {
1995
+ [key: string]: OptionEntry | undefined;
1996
+ };
1997
+ export const GetPeergroupItemRemoteAsModeMap = /*@__PURE__*/ S.Record(
1998
+ S.String,
1999
+ OptionEntry,
2000
+ ) as any as S.Schema<GetPeergroupItemRemoteAsModeMap>;
1609
2001
 
1610
- export interface SearchCommunitylistResponse {
1611
- /** Total matching items before pagination. */
1612
- total?: number;
1613
- rowCount?: number;
1614
- /** Current page number. */
1615
- current?: number;
1616
- rows?: CommunitylistList;
2002
+ export type GetPeergroupItemFamilyMap = {
2003
+ [key: string]: OptionEntry | undefined;
2004
+ };
2005
+ export const GetPeergroupItemFamilyMap = /*@__PURE__*/ S.Record(
2006
+ S.String,
2007
+ OptionEntry,
2008
+ ) as any as S.Schema<GetPeergroupItemFamilyMap>;
2009
+
2010
+ export type GetPeergroupItemListenrangesMap = {
2011
+ [key: string]: OptionEntry | undefined;
2012
+ };
2013
+ export const GetPeergroupItemListenrangesMap = /*@__PURE__*/ S.Record(
2014
+ S.String,
2015
+ OptionEntry,
2016
+ ) as any as S.Schema<GetPeergroupItemListenrangesMap>;
2017
+
2018
+ export type GetPeergroupItemUpdatesourceMap = {
2019
+ [key: string]: OptionEntry | undefined;
2020
+ };
2021
+ export const GetPeergroupItemUpdatesourceMap = /*@__PURE__*/ S.Record(
2022
+ S.String,
2023
+ OptionEntry,
2024
+ ) as any as S.Schema<GetPeergroupItemUpdatesourceMap>;
2025
+
2026
+ export type GetPeergroupItemLinkedPrefixlistInMap = {
2027
+ [key: string]: OptionEntry | undefined;
2028
+ };
2029
+ export const GetPeergroupItemLinkedPrefixlistInMap = /*@__PURE__*/ S.Record(
2030
+ S.String,
2031
+ OptionEntry,
2032
+ ) as any as S.Schema<GetPeergroupItemLinkedPrefixlistInMap>;
2033
+
2034
+ export type GetPeergroupItemLinkedPrefixlistOutMap = {
2035
+ [key: string]: OptionEntry | undefined;
2036
+ };
2037
+ export const GetPeergroupItemLinkedPrefixlistOutMap = /*@__PURE__*/ S.Record(
2038
+ S.String,
2039
+ OptionEntry,
2040
+ ) as any as S.Schema<GetPeergroupItemLinkedPrefixlistOutMap>;
2041
+
2042
+ export type GetPeergroupItemLinkedRoutemapInMap = {
2043
+ [key: string]: OptionEntry | undefined;
2044
+ };
2045
+ export const GetPeergroupItemLinkedRoutemapInMap = /*@__PURE__*/ S.Record(
2046
+ S.String,
2047
+ OptionEntry,
2048
+ ) as any as S.Schema<GetPeergroupItemLinkedRoutemapInMap>;
2049
+
2050
+ export type GetPeergroupItemLinkedRoutemapOutMap = {
2051
+ [key: string]: OptionEntry | undefined;
2052
+ };
2053
+ export const GetPeergroupItemLinkedRoutemapOutMap = /*@__PURE__*/ S.Record(
2054
+ S.String,
2055
+ OptionEntry,
2056
+ ) as any as S.Schema<GetPeergroupItemLinkedRoutemapOutMap>;
2057
+
2058
+ export interface GetPeergroupItem {
2059
+ /** Item id, assigned by OPNsense on creation. */
2060
+ uuid?: string;
2061
+ /** OPNsense FieldType: BooleanField */
2062
+ enabled: string;
2063
+ /** OPNsense FieldType: TextField */
2064
+ name: string;
2065
+ /** OPNsense FieldType: OptionField */
2066
+ remote_as_mode?: GetPeergroupItemRemoteAsModeMap;
2067
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
2068
+ remoteas?: string;
2069
+ /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
2070
+ family: GetPeergroupItemFamilyMap;
2071
+ /** OPNsense FieldType: NetworkField */
2072
+ listenranges?: GetPeergroupItemListenrangesMap;
2073
+ /** OPNsense FieldType: InterfaceField */
2074
+ updatesource?: GetPeergroupItemUpdatesourceMap;
2075
+ /** OPNsense FieldType: BooleanField */
2076
+ nexthopself?: string;
2077
+ /** OPNsense FieldType: BooleanField */
2078
+ defaultoriginate?: string;
2079
+ /** OPNsense FieldType: ModelRelationField */
2080
+ linkedPrefixlistIn?: GetPeergroupItemLinkedPrefixlistInMap;
2081
+ /** OPNsense FieldType: ModelRelationField */
2082
+ linkedPrefixlistOut?: GetPeergroupItemLinkedPrefixlistOutMap;
2083
+ /** OPNsense FieldType: ModelRelationField */
2084
+ linkedRoutemapIn?: GetPeergroupItemLinkedRoutemapInMap;
2085
+ /** OPNsense FieldType: ModelRelationField */
2086
+ linkedRoutemapOut?: GetPeergroupItemLinkedRoutemapOutMap;
1617
2087
  }
1618
- export const SearchCommunitylistResponse = /*@__PURE__*/ S.suspend(() =>
2088
+ export const GetPeergroupItem = /*@__PURE__*/ S.suspend(() =>
1619
2089
  S.Struct({
1620
- total: S.optional(S.Number),
1621
- rowCount: S.optional(S.Number),
1622
- current: S.optional(S.Number),
1623
- rows: S.optional(CommunitylistList),
2090
+ uuid: S.optional(S.String),
2091
+ enabled: S.String,
2092
+ name: S.String,
2093
+ remote_as_mode: S.optional(GetPeergroupItemRemoteAsModeMap),
2094
+ remoteas: S.optional(S.String),
2095
+ family: GetPeergroupItemFamilyMap,
2096
+ listenranges: S.optional(GetPeergroupItemListenrangesMap),
2097
+ updatesource: S.optional(GetPeergroupItemUpdatesourceMap),
2098
+ nexthopself: S.optional(S.String),
2099
+ defaultoriginate: S.optional(S.String),
2100
+ linkedPrefixlistIn: S.optional(GetPeergroupItemLinkedPrefixlistInMap),
2101
+ linkedPrefixlistOut: S.optional(GetPeergroupItemLinkedPrefixlistOutMap),
2102
+ linkedRoutemapIn: S.optional(GetPeergroupItemLinkedRoutemapInMap),
2103
+ linkedRoutemapOut: S.optional(GetPeergroupItemLinkedRoutemapOutMap),
1624
2104
  }),
1625
2105
  ).annotate({
1626
- identifier: "SearchCommunitylistResponse",
1627
- }) as any as S.Schema<SearchCommunitylistResponse>;
2106
+ identifier: "GetPeergroupItem",
2107
+ }) as any as S.Schema<GetPeergroupItem>;
1628
2108
 
1629
- export interface SearchNeighborRequest {}
1630
- export const SearchNeighborRequest = /*@__PURE__*/ S.suspend(() =>
1631
- S.Struct({}).pipe(
2109
+ export interface GetPeergroupResponse {
2110
+ peergroup?: GetPeergroupItem;
2111
+ }
2112
+ export const GetPeergroupResponse = /*@__PURE__*/ S.suspend(() =>
2113
+ S.Struct({
2114
+ peergroup: S.optional(GetPeergroupItem),
2115
+ }),
2116
+ ).annotate({
2117
+ identifier: "GetPeergroupResponse",
2118
+ }) as any as S.Schema<GetPeergroupResponse>;
2119
+
2120
+ export interface GetPrefixlistRequest {
2121
+ uuid: string;
2122
+ }
2123
+ export const GetPrefixlistRequest = /*@__PURE__*/ S.suspend(() =>
2124
+ S.Struct({
2125
+ uuid: S.String.pipe(T.Label()),
2126
+ }).pipe(
1632
2127
  T.Http({
1633
- method: "POST",
1634
- uri: "/api/quagga/bgp/searchNeighbor",
2128
+ method: "GET",
2129
+ uri: "/api/quagga/bgp/getPrefixlist/{uuid}",
1635
2130
  code: 200,
1636
2131
  }),
1637
2132
  ),
1638
2133
  ).annotate({
1639
- identifier: "SearchNeighborRequest",
1640
- }) as any as S.Schema<SearchNeighborRequest>;
2134
+ identifier: "GetPrefixlistRequest",
2135
+ }) as any as S.Schema<GetPrefixlistRequest>;
1641
2136
 
1642
- export type NeighborList = Array<NeighborItem>;
1643
- export const NeighborList = /*@__PURE__*/ S.Array(
1644
- NeighborItem,
1645
- ) as any as S.Schema<NeighborList>;
2137
+ export type GetPrefixlistItemVersionMap = {
2138
+ [key: string]: OptionEntry | undefined;
2139
+ };
2140
+ export const GetPrefixlistItemVersionMap = /*@__PURE__*/ S.Record(
2141
+ S.String,
2142
+ OptionEntry,
2143
+ ) as any as S.Schema<GetPrefixlistItemVersionMap>;
1646
2144
 
1647
- export interface SearchNeighborResponse {
1648
- /** Total matching items before pagination. */
1649
- total?: number;
1650
- rowCount?: number;
1651
- /** Current page number. */
1652
- current?: number;
1653
- rows?: NeighborList;
2145
+ export type GetPrefixlistItemActionMap = {
2146
+ [key: string]: OptionEntry | undefined;
2147
+ };
2148
+ export const GetPrefixlistItemActionMap = /*@__PURE__*/ S.Record(
2149
+ S.String,
2150
+ OptionEntry,
2151
+ ) as any as S.Schema<GetPrefixlistItemActionMap>;
2152
+
2153
+ export interface GetPrefixlistItem {
2154
+ /** Item id, assigned by OPNsense on creation. */
2155
+ uuid?: string;
2156
+ /** OPNsense FieldType: BooleanField */
2157
+ enabled: string;
2158
+ /** OPNsense FieldType: TextField */
2159
+ description?: string;
2160
+ /** OPNsense FieldType: TextField; pattern /^[a-zA-Z0-9._-]{1,64}$/ */
2161
+ name: string;
2162
+ /** OPNsense FieldType: OptionField */
2163
+ version: GetPrefixlistItemVersionMap;
2164
+ /** OPNsense FieldType: IntegerField; range 1..4294967294 (as text) */
2165
+ seqnumber: string;
2166
+ /** OPNsense FieldType: OptionField */
2167
+ action: GetPrefixlistItemActionMap;
2168
+ /** OPNsense FieldType: TextField */
2169
+ network: string;
2170
+ }
2171
+ export const GetPrefixlistItem = /*@__PURE__*/ S.suspend(() =>
2172
+ S.Struct({
2173
+ uuid: S.optional(S.String),
2174
+ enabled: S.String,
2175
+ description: S.optional(S.String),
2176
+ name: S.String,
2177
+ version: GetPrefixlistItemVersionMap,
2178
+ seqnumber: S.String,
2179
+ action: GetPrefixlistItemActionMap,
2180
+ network: S.String,
2181
+ }),
2182
+ ).annotate({
2183
+ identifier: "GetPrefixlistItem",
2184
+ }) as any as S.Schema<GetPrefixlistItem>;
2185
+
2186
+ export interface GetPrefixlistResponse {
2187
+ prefixlist?: GetPrefixlistItem;
2188
+ }
2189
+ export const GetPrefixlistResponse = /*@__PURE__*/ S.suspend(() =>
2190
+ S.Struct({
2191
+ prefixlist: S.optional(GetPrefixlistItem),
2192
+ }),
2193
+ ).annotate({
2194
+ identifier: "GetPrefixlistResponse",
2195
+ }) as any as S.Schema<GetPrefixlistResponse>;
2196
+
2197
+ export interface GetRedistributionRequest {
2198
+ uuid: string;
2199
+ }
2200
+ export const GetRedistributionRequest = /*@__PURE__*/ S.suspend(() =>
2201
+ S.Struct({
2202
+ uuid: S.String.pipe(T.Label()),
2203
+ }).pipe(
2204
+ T.Http({
2205
+ method: "GET",
2206
+ uri: "/api/quagga/bgp/getRedistribution/{uuid}",
2207
+ code: 200,
2208
+ }),
2209
+ ),
2210
+ ).annotate({
2211
+ identifier: "GetRedistributionRequest",
2212
+ }) as any as S.Schema<GetRedistributionRequest>;
2213
+
2214
+ export type GetRedistributionItemRedistributeMap = {
2215
+ [key: string]: OptionEntry | undefined;
2216
+ };
2217
+ export const GetRedistributionItemRedistributeMap = /*@__PURE__*/ S.Record(
2218
+ S.String,
2219
+ OptionEntry,
2220
+ ) as any as S.Schema<GetRedistributionItemRedistributeMap>;
2221
+
2222
+ export type GetRedistributionItemLinkedRoutemapMap = {
2223
+ [key: string]: OptionEntry | undefined;
2224
+ };
2225
+ export const GetRedistributionItemLinkedRoutemapMap = /*@__PURE__*/ S.Record(
2226
+ S.String,
2227
+ OptionEntry,
2228
+ ) as any as S.Schema<GetRedistributionItemLinkedRoutemapMap>;
2229
+
2230
+ export interface GetRedistributionItem {
2231
+ /** Item id, assigned by OPNsense on creation. */
2232
+ uuid?: string;
2233
+ /** OPNsense FieldType: BooleanField */
2234
+ enabled: string;
2235
+ /** OPNsense FieldType: DescriptionField */
2236
+ description?: string;
2237
+ /** OPNsense FieldType: OptionField */
2238
+ redistribute: GetRedistributionItemRedistributeMap;
2239
+ /** OPNsense FieldType: ModelRelationField */
2240
+ linkedRoutemap?: GetRedistributionItemLinkedRoutemapMap;
2241
+ }
2242
+ export const GetRedistributionItem = /*@__PURE__*/ S.suspend(() =>
2243
+ S.Struct({
2244
+ uuid: S.optional(S.String),
2245
+ enabled: S.String,
2246
+ description: S.optional(S.String),
2247
+ redistribute: GetRedistributionItemRedistributeMap,
2248
+ linkedRoutemap: S.optional(GetRedistributionItemLinkedRoutemapMap),
2249
+ }),
2250
+ ).annotate({
2251
+ identifier: "GetRedistributionItem",
2252
+ }) as any as S.Schema<GetRedistributionItem>;
2253
+
2254
+ export interface GetRedistributionResponse {
2255
+ redistribution?: GetRedistributionItem;
2256
+ }
2257
+ export const GetRedistributionResponse = /*@__PURE__*/ S.suspend(() =>
2258
+ S.Struct({
2259
+ redistribution: S.optional(GetRedistributionItem),
2260
+ }),
2261
+ ).annotate({
2262
+ identifier: "GetRedistributionResponse",
2263
+ }) as any as S.Schema<GetRedistributionResponse>;
2264
+
2265
+ export interface GetRoutemapRequest {
2266
+ uuid: string;
2267
+ }
2268
+ export const GetRoutemapRequest = /*@__PURE__*/ S.suspend(() =>
2269
+ S.Struct({
2270
+ uuid: S.String.pipe(T.Label()),
2271
+ }).pipe(
2272
+ T.Http({
2273
+ method: "GET",
2274
+ uri: "/api/quagga/bgp/getRoutemap/{uuid}",
2275
+ code: 200,
2276
+ }),
2277
+ ),
2278
+ ).annotate({
2279
+ identifier: "GetRoutemapRequest",
2280
+ }) as any as S.Schema<GetRoutemapRequest>;
2281
+
2282
+ export type GetRoutemapItemActionMap = {
2283
+ [key: string]: OptionEntry | undefined;
2284
+ };
2285
+ export const GetRoutemapItemActionMap = /*@__PURE__*/ S.Record(
2286
+ S.String,
2287
+ OptionEntry,
2288
+ ) as any as S.Schema<GetRoutemapItemActionMap>;
2289
+
2290
+ export type GetRoutemapItemMatchMap = {
2291
+ [key: string]: OptionEntry | undefined;
2292
+ };
2293
+ export const GetRoutemapItemMatchMap = /*@__PURE__*/ S.Record(
2294
+ S.String,
2295
+ OptionEntry,
2296
+ ) as any as S.Schema<GetRoutemapItemMatchMap>;
2297
+
2298
+ export type GetRoutemapItemMatch2Map = {
2299
+ [key: string]: OptionEntry | undefined;
2300
+ };
2301
+ export const GetRoutemapItemMatch2Map = /*@__PURE__*/ S.Record(
2302
+ S.String,
2303
+ OptionEntry,
2304
+ ) as any as S.Schema<GetRoutemapItemMatch2Map>;
2305
+
2306
+ export type GetRoutemapItemMatch3Map = {
2307
+ [key: string]: OptionEntry | undefined;
2308
+ };
2309
+ export const GetRoutemapItemMatch3Map = /*@__PURE__*/ S.Record(
2310
+ S.String,
2311
+ OptionEntry,
2312
+ ) as any as S.Schema<GetRoutemapItemMatch3Map>;
2313
+
2314
+ export interface GetRoutemapItem {
2315
+ /** Item id, assigned by OPNsense on creation. */
2316
+ uuid?: string;
2317
+ /** OPNsense FieldType: BooleanField */
2318
+ enabled: string;
2319
+ /** OPNsense FieldType: TextField */
2320
+ description?: string;
2321
+ /** OPNsense FieldType: TextField; pattern /^[a-zA-Z0-9._-]{1,64}$/ */
2322
+ name: string;
2323
+ /** OPNsense FieldType: OptionField */
2324
+ action: GetRoutemapItemActionMap;
2325
+ /** OPNsense FieldType: IntegerField; range 1..65535 (as text) */
2326
+ id: string;
2327
+ /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
2328
+ match?: GetRoutemapItemMatchMap;
2329
+ /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
2330
+ match2?: GetRoutemapItemMatch2Map;
2331
+ /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
2332
+ match3?: GetRoutemapItemMatch3Map;
2333
+ /** OPNsense FieldType: TextField */
2334
+ set?: string;
2335
+ }
2336
+ export const GetRoutemapItem = /*@__PURE__*/ S.suspend(() =>
2337
+ S.Struct({
2338
+ uuid: S.optional(S.String),
2339
+ enabled: S.String,
2340
+ description: S.optional(S.String),
2341
+ name: S.String,
2342
+ action: GetRoutemapItemActionMap,
2343
+ id: S.String,
2344
+ match: S.optional(GetRoutemapItemMatchMap),
2345
+ match2: S.optional(GetRoutemapItemMatch2Map),
2346
+ match3: S.optional(GetRoutemapItemMatch3Map),
2347
+ set: S.optional(S.String),
2348
+ }),
2349
+ ).annotate({
2350
+ identifier: "GetRoutemapItem",
2351
+ }) as any as S.Schema<GetRoutemapItem>;
2352
+
2353
+ export interface GetRoutemapResponse {
2354
+ routemap?: GetRoutemapItem;
2355
+ }
2356
+ export const GetRoutemapResponse = /*@__PURE__*/ S.suspend(() =>
2357
+ S.Struct({
2358
+ routemap: S.optional(GetRoutemapItem),
2359
+ }),
2360
+ ).annotate({
2361
+ identifier: "GetRoutemapResponse",
2362
+ }) as any as S.Schema<GetRoutemapResponse>;
2363
+
2364
+ export interface SearchAspathRequest {}
2365
+ export const SearchAspathRequest = /*@__PURE__*/ S.suspend(() =>
2366
+ S.Struct({}).pipe(
2367
+ T.Http({ method: "POST", uri: "/api/quagga/bgp/searchAspath", code: 200 }),
2368
+ ),
2369
+ ).annotate({
2370
+ identifier: "SearchAspathRequest",
2371
+ }) as any as S.Schema<SearchAspathRequest>;
2372
+
2373
+ export type AspathList = Array<AspathItem>;
2374
+ export const AspathList = /*@__PURE__*/ S.Array(
2375
+ AspathItem,
2376
+ ) as any as S.Schema<AspathList>;
2377
+
2378
+ export interface SearchAspathResponse {
2379
+ /** Total matching items before pagination. */
2380
+ total?: number;
2381
+ rowCount?: number;
2382
+ /** Current page number. */
2383
+ current?: number;
2384
+ rows?: AspathList;
2385
+ }
2386
+ export const SearchAspathResponse = /*@__PURE__*/ S.suspend(() =>
2387
+ S.Struct({
2388
+ total: S.optional(S.Number),
2389
+ rowCount: S.optional(S.Number),
2390
+ current: S.optional(S.Number),
2391
+ rows: S.optional(AspathList),
2392
+ }),
2393
+ ).annotate({
2394
+ identifier: "SearchAspathResponse",
2395
+ }) as any as S.Schema<SearchAspathResponse>;
2396
+
2397
+ export interface SearchCommunitylistRequest {}
2398
+ export const SearchCommunitylistRequest = /*@__PURE__*/ S.suspend(() =>
2399
+ S.Struct({}).pipe(
2400
+ T.Http({
2401
+ method: "POST",
2402
+ uri: "/api/quagga/bgp/searchCommunitylist",
2403
+ code: 200,
2404
+ }),
2405
+ ),
2406
+ ).annotate({
2407
+ identifier: "SearchCommunitylistRequest",
2408
+ }) as any as S.Schema<SearchCommunitylistRequest>;
2409
+
2410
+ export type CommunitylistList = Array<CommunitylistItem>;
2411
+ export const CommunitylistList = /*@__PURE__*/ S.Array(
2412
+ CommunitylistItem,
2413
+ ) as any as S.Schema<CommunitylistList>;
2414
+
2415
+ export interface SearchCommunitylistResponse {
2416
+ /** Total matching items before pagination. */
2417
+ total?: number;
2418
+ rowCount?: number;
2419
+ /** Current page number. */
2420
+ current?: number;
2421
+ rows?: CommunitylistList;
2422
+ }
2423
+ export const SearchCommunitylistResponse = /*@__PURE__*/ S.suspend(() =>
2424
+ S.Struct({
2425
+ total: S.optional(S.Number),
2426
+ rowCount: S.optional(S.Number),
2427
+ current: S.optional(S.Number),
2428
+ rows: S.optional(CommunitylistList),
2429
+ }),
2430
+ ).annotate({
2431
+ identifier: "SearchCommunitylistResponse",
2432
+ }) as any as S.Schema<SearchCommunitylistResponse>;
2433
+
2434
+ export interface SearchNeighborRequest {}
2435
+ export const SearchNeighborRequest = /*@__PURE__*/ S.suspend(() =>
2436
+ S.Struct({}).pipe(
2437
+ T.Http({
2438
+ method: "POST",
2439
+ uri: "/api/quagga/bgp/searchNeighbor",
2440
+ code: 200,
2441
+ }),
2442
+ ),
2443
+ ).annotate({
2444
+ identifier: "SearchNeighborRequest",
2445
+ }) as any as S.Schema<SearchNeighborRequest>;
2446
+
2447
+ export type NeighborList = Array<NeighborItem>;
2448
+ export const NeighborList = /*@__PURE__*/ S.Array(
2449
+ NeighborItem,
2450
+ ) as any as S.Schema<NeighborList>;
2451
+
2452
+ export interface SearchNeighborResponse {
2453
+ /** Total matching items before pagination. */
2454
+ total?: number;
2455
+ rowCount?: number;
2456
+ /** Current page number. */
2457
+ current?: number;
2458
+ rows?: NeighborList;
2459
+ }
2460
+ export const SearchNeighborResponse = /*@__PURE__*/ S.suspend(() =>
2461
+ S.Struct({
2462
+ total: S.optional(S.Number),
2463
+ rowCount: S.optional(S.Number),
2464
+ current: S.optional(S.Number),
2465
+ rows: S.optional(NeighborList),
2466
+ }),
2467
+ ).annotate({
2468
+ identifier: "SearchNeighborResponse",
2469
+ }) as any as S.Schema<SearchNeighborResponse>;
2470
+
2471
+ export interface SearchPeergroupRequest {}
2472
+ export const SearchPeergroupRequest = /*@__PURE__*/ S.suspend(() =>
2473
+ S.Struct({}).pipe(
2474
+ T.Http({
2475
+ method: "POST",
2476
+ uri: "/api/quagga/bgp/searchPeergroup",
2477
+ code: 200,
2478
+ }),
2479
+ ),
2480
+ ).annotate({
2481
+ identifier: "SearchPeergroupRequest",
2482
+ }) as any as S.Schema<SearchPeergroupRequest>;
2483
+
2484
+ export type PeergroupList = Array<PeergroupItem>;
2485
+ export const PeergroupList = /*@__PURE__*/ S.Array(
2486
+ PeergroupItem,
2487
+ ) as any as S.Schema<PeergroupList>;
2488
+
2489
+ export interface SearchPeergroupResponse {
2490
+ /** Total matching items before pagination. */
2491
+ total?: number;
2492
+ rowCount?: number;
2493
+ /** Current page number. */
2494
+ current?: number;
2495
+ rows?: PeergroupList;
2496
+ }
2497
+ export const SearchPeergroupResponse = /*@__PURE__*/ S.suspend(() =>
2498
+ S.Struct({
2499
+ total: S.optional(S.Number),
2500
+ rowCount: S.optional(S.Number),
2501
+ current: S.optional(S.Number),
2502
+ rows: S.optional(PeergroupList),
2503
+ }),
2504
+ ).annotate({
2505
+ identifier: "SearchPeergroupResponse",
2506
+ }) as any as S.Schema<SearchPeergroupResponse>;
2507
+
2508
+ export interface SearchPrefixlistRequest {}
2509
+ export const SearchPrefixlistRequest = /*@__PURE__*/ S.suspend(() =>
2510
+ S.Struct({}).pipe(
2511
+ T.Http({
2512
+ method: "POST",
2513
+ uri: "/api/quagga/bgp/searchPrefixlist",
2514
+ code: 200,
2515
+ }),
2516
+ ),
2517
+ ).annotate({
2518
+ identifier: "SearchPrefixlistRequest",
2519
+ }) as any as S.Schema<SearchPrefixlistRequest>;
2520
+
2521
+ export type PrefixlistList = Array<PrefixlistItem>;
2522
+ export const PrefixlistList = /*@__PURE__*/ S.Array(
2523
+ PrefixlistItem,
2524
+ ) as any as S.Schema<PrefixlistList>;
2525
+
2526
+ export interface SearchPrefixlistResponse {
2527
+ /** Total matching items before pagination. */
2528
+ total?: number;
2529
+ rowCount?: number;
2530
+ /** Current page number. */
2531
+ current?: number;
2532
+ rows?: PrefixlistList;
2533
+ }
2534
+ export const SearchPrefixlistResponse = /*@__PURE__*/ S.suspend(() =>
2535
+ S.Struct({
2536
+ total: S.optional(S.Number),
2537
+ rowCount: S.optional(S.Number),
2538
+ current: S.optional(S.Number),
2539
+ rows: S.optional(PrefixlistList),
2540
+ }),
2541
+ ).annotate({
2542
+ identifier: "SearchPrefixlistResponse",
2543
+ }) as any as S.Schema<SearchPrefixlistResponse>;
2544
+
2545
+ export interface SearchRedistributionRequest {}
2546
+ export const SearchRedistributionRequest = /*@__PURE__*/ S.suspend(() =>
2547
+ S.Struct({}).pipe(
2548
+ T.Http({
2549
+ method: "POST",
2550
+ uri: "/api/quagga/bgp/searchRedistribution",
2551
+ code: 200,
2552
+ }),
2553
+ ),
2554
+ ).annotate({
2555
+ identifier: "SearchRedistributionRequest",
2556
+ }) as any as S.Schema<SearchRedistributionRequest>;
2557
+
2558
+ export type RedistributionList = Array<RedistributionItem>;
2559
+ export const RedistributionList = /*@__PURE__*/ S.Array(
2560
+ RedistributionItem,
2561
+ ) as any as S.Schema<RedistributionList>;
2562
+
2563
+ export interface SearchRedistributionResponse {
2564
+ /** Total matching items before pagination. */
2565
+ total?: number;
2566
+ rowCount?: number;
2567
+ /** Current page number. */
2568
+ current?: number;
2569
+ rows?: RedistributionList;
2570
+ }
2571
+ export const SearchRedistributionResponse = /*@__PURE__*/ S.suspend(() =>
2572
+ S.Struct({
2573
+ total: S.optional(S.Number),
2574
+ rowCount: S.optional(S.Number),
2575
+ current: S.optional(S.Number),
2576
+ rows: S.optional(RedistributionList),
2577
+ }),
2578
+ ).annotate({
2579
+ identifier: "SearchRedistributionResponse",
2580
+ }) as any as S.Schema<SearchRedistributionResponse>;
2581
+
2582
+ export interface SearchRoutemapRequest {}
2583
+ export const SearchRoutemapRequest = /*@__PURE__*/ S.suspend(() =>
2584
+ S.Struct({}).pipe(
2585
+ T.Http({
2586
+ method: "POST",
2587
+ uri: "/api/quagga/bgp/searchRoutemap",
2588
+ code: 200,
2589
+ }),
2590
+ ),
2591
+ ).annotate({
2592
+ identifier: "SearchRoutemapRequest",
2593
+ }) as any as S.Schema<SearchRoutemapRequest>;
2594
+
2595
+ export type RoutemapList = Array<RoutemapItem>;
2596
+ export const RoutemapList = /*@__PURE__*/ S.Array(
2597
+ RoutemapItem,
2598
+ ) as any as S.Schema<RoutemapList>;
2599
+
2600
+ export interface SearchRoutemapResponse {
2601
+ /** Total matching items before pagination. */
2602
+ total?: number;
2603
+ rowCount?: number;
2604
+ /** Current page number. */
2605
+ current?: number;
2606
+ rows?: RoutemapList;
2607
+ }
2608
+ export const SearchRoutemapResponse = /*@__PURE__*/ S.suspend(() =>
2609
+ S.Struct({
2610
+ total: S.optional(S.Number),
2611
+ rowCount: S.optional(S.Number),
2612
+ current: S.optional(S.Number),
2613
+ rows: S.optional(RoutemapList),
2614
+ }),
2615
+ ).annotate({
2616
+ identifier: "SearchRoutemapResponse",
2617
+ }) as any as S.Schema<SearchRoutemapResponse>;
2618
+
2619
+ export type ModelBestpath =
2620
+ | "as_path_confed"
2621
+ | "as_path_multipath_relax"
2622
+ | "compare_routerid"
2623
+ | "peer_type_multipath_relax"
2624
+ | "aigp"
2625
+ | "med_missing_as_worst";
2626
+ export const ModelBestpath = S.String;
2627
+
2628
+ export type ModelNeighborItemRemoteAsMode = "internal" | "external";
2629
+ export const ModelNeighborItemRemoteAsMode = S.String;
2630
+
2631
+ export type ModelNeighborItemRemoveprivateas =
2632
+ | "removeprivateas"
2633
+ | "removeallas"
2634
+ | "replaceprivateas"
2635
+ | "replaceallas";
2636
+ export const ModelNeighborItemRemoveprivateas = S.String;
2637
+
2638
+ export type ModelNeighborItemAllowasIn =
2639
+ | "val1"
2640
+ | "val2"
2641
+ | "val3"
2642
+ | "val4"
2643
+ | "val5"
2644
+ | "val6"
2645
+ | "val7"
2646
+ | "val8"
2647
+ | "val9"
2648
+ | "val10"
2649
+ | "origin";
2650
+ export const ModelNeighborItemAllowasIn = S.String;
2651
+
2652
+ export type ModelNeighborItemAttributeunchanged =
2653
+ | "as-path"
2654
+ | "next-hop"
2655
+ | "med";
2656
+ export const ModelNeighborItemAttributeunchanged = S.String;
2657
+
2658
+ export type ModelNeighborItemCapabilities =
2659
+ | "extended-nexthop"
2660
+ | "dynamic"
2661
+ | "fqdn"
2662
+ | "link-local";
2663
+ export const ModelNeighborItemCapabilities = S.String;
2664
+
2665
+ export interface ModelNeighborItem {
2666
+ /** Item id, assigned by OPNsense on creation. */
2667
+ uuid?: string;
2668
+ /** OPNsense FieldType: BooleanField */
2669
+ enabled: string;
2670
+ /** OPNsense FieldType: TextField */
2671
+ description?: string;
2672
+ /** OPNsense FieldType: NetworkField */
2673
+ address: string;
2674
+ /** OPNsense FieldType: OptionField */
2675
+ remote_as_mode?: ModelNeighborItemRemoteAsMode | (string & {});
2676
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
2677
+ remoteas?: string;
2678
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
2679
+ localas?: string;
2680
+ /** OPNsense FieldType: TextField */
2681
+ password?: string;
2682
+ /** OPNsense FieldType: IntegerField; range 0..65535 (as text) */
2683
+ weight?: string;
2684
+ /** OPNsense FieldType: NetworkField */
2685
+ localip?: string;
2686
+ /** OPNsense FieldType: InterfaceField */
2687
+ updatesource?: string;
2688
+ /** OPNsense FieldType: InterfaceField */
2689
+ linklocalinterface?: string;
2690
+ /** OPNsense FieldType: BooleanField */
2691
+ nexthopself?: string;
2692
+ /** OPNsense FieldType: BooleanField */
2693
+ nexthopselfall?: string;
2694
+ /** OPNsense FieldType: BooleanField */
2695
+ multihop?: string;
2696
+ /** OPNsense FieldType: BooleanField */
2697
+ multiprotocol?: string;
2698
+ /** OPNsense FieldType: BooleanField */
2699
+ rrclient?: string;
2700
+ /** OPNsense FieldType: BooleanField */
2701
+ soft_reconfiguration_inbound?: string;
2702
+ /** OPNsense FieldType: BooleanField */
2703
+ bfd?: string;
2704
+ /** OPNsense FieldType: BooleanField */
2705
+ bfd_strict?: string;
2706
+ /** OPNsense FieldType: IntegerField; range 1..1000 (as text) */
2707
+ keepalive?: string;
2708
+ /** OPNsense FieldType: IntegerField; range 3..3000 (as text) */
2709
+ holddown?: string;
2710
+ /** OPNsense FieldType: IntegerField; range 1..65000 (as text) */
2711
+ connecttimer?: string;
2712
+ /** OPNsense FieldType: BooleanField */
2713
+ defaultoriginate?: string;
2714
+ /** OPNsense FieldType: BooleanField */
2715
+ asoverride?: string;
2716
+ /** OPNsense FieldType: OptionField */
2717
+ removeprivateas?: ModelNeighborItemRemoveprivateas | (string & {});
2718
+ /** OPNsense FieldType: OptionField */
2719
+ allowas_in?: ModelNeighborItemAllowasIn | (string & {});
2720
+ /** OPNsense FieldType: BooleanField */
2721
+ disable_connected_check?: string;
2722
+ /** OPNsense FieldType: OptionField */
2723
+ attributeunchanged?: ModelNeighborItemAttributeunchanged | (string & {});
2724
+ /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
2725
+ capabilities?: ModelNeighborItemCapabilities | (string & {});
2726
+ /** OPNsense FieldType: ModelRelationField */
2727
+ linkedPrefixlistIn?: string;
2728
+ /** OPNsense FieldType: ModelRelationField */
2729
+ linkedPrefixlistOut?: string;
2730
+ /** OPNsense FieldType: ModelRelationField */
2731
+ linkedRoutemapIn?: string;
2732
+ /** OPNsense FieldType: ModelRelationField */
2733
+ linkedRoutemapOut?: string;
2734
+ /** OPNsense FieldType: ModelRelationField */
2735
+ peergroup?: string;
2736
+ }
2737
+ export const ModelNeighborItem = /*@__PURE__*/ S.suspend(() =>
2738
+ S.Struct({
2739
+ uuid: S.optional(S.String),
2740
+ enabled: S.String,
2741
+ description: S.optional(S.String),
2742
+ address: S.String,
2743
+ remote_as_mode: S.optional(ModelNeighborItemRemoteAsMode),
2744
+ remoteas: S.optional(S.String),
2745
+ localas: S.optional(S.String),
2746
+ password: S.optional(S.String),
2747
+ weight: S.optional(S.String),
2748
+ localip: S.optional(S.String),
2749
+ updatesource: S.optional(S.String),
2750
+ linklocalinterface: S.optional(S.String),
2751
+ nexthopself: S.optional(S.String),
2752
+ nexthopselfall: S.optional(S.String),
2753
+ multihop: S.optional(S.String),
2754
+ multiprotocol: S.optional(S.String),
2755
+ rrclient: S.optional(S.String),
2756
+ soft_reconfiguration_inbound: S.optional(S.String),
2757
+ bfd: S.optional(S.String),
2758
+ bfd_strict: S.optional(S.String),
2759
+ keepalive: S.optional(S.String),
2760
+ holddown: S.optional(S.String),
2761
+ connecttimer: S.optional(S.String),
2762
+ defaultoriginate: S.optional(S.String),
2763
+ asoverride: S.optional(S.String),
2764
+ removeprivateas: S.optional(ModelNeighborItemRemoveprivateas),
2765
+ allowas_in: S.optional(ModelNeighborItemAllowasIn),
2766
+ disable_connected_check: S.optional(S.String),
2767
+ attributeunchanged: S.optional(ModelNeighborItemAttributeunchanged),
2768
+ capabilities: S.optional(ModelNeighborItemCapabilities),
2769
+ linkedPrefixlistIn: S.optional(S.String),
2770
+ linkedPrefixlistOut: S.optional(S.String),
2771
+ linkedRoutemapIn: S.optional(S.String),
2772
+ linkedRoutemapOut: S.optional(S.String),
2773
+ peergroup: S.optional(S.String),
2774
+ }),
2775
+ ).annotate({
2776
+ identifier: "ModelNeighborItem",
2777
+ }) as any as S.Schema<ModelNeighborItem>;
2778
+
2779
+ export type ModelNeighborItemMap = {
2780
+ [key: string]: ModelNeighborItem | undefined;
2781
+ };
2782
+ export const ModelNeighborItemMap = /*@__PURE__*/ S.Record(
2783
+ S.String,
2784
+ ModelNeighborItem,
2785
+ ) as any as S.Schema<ModelNeighborItemMap>;
2786
+
2787
+ export interface ModelNeighbors {
2788
+ neighbor?: ModelNeighborItemMap;
2789
+ }
2790
+ export const ModelNeighbors = /*@__PURE__*/ S.suspend(() =>
2791
+ S.Struct({
2792
+ neighbor: S.optional(ModelNeighborItemMap),
2793
+ }),
2794
+ ).annotate({ identifier: "ModelNeighbors" }) as any as S.Schema<ModelNeighbors>;
2795
+
2796
+ export type ModelAspathItemAction = "permit" | "deny";
2797
+ export const ModelAspathItemAction = S.String;
2798
+
2799
+ export interface ModelAspathItem {
2800
+ /** Item id, assigned by OPNsense on creation. */
2801
+ uuid?: string;
2802
+ /** OPNsense FieldType: BooleanField */
2803
+ enabled: string;
2804
+ /** OPNsense FieldType: TextField */
2805
+ description?: string;
2806
+ /** OPNsense FieldType: IntegerField; range 0..4294967295 (as text) */
2807
+ number: string;
2808
+ /** OPNsense FieldType: OptionField */
2809
+ action: ModelAspathItemAction | (string & {});
2810
+ /** OPNsense FieldType: TextField */
2811
+ as: string;
2812
+ }
2813
+ export const ModelAspathItem = /*@__PURE__*/ S.suspend(() =>
2814
+ S.Struct({
2815
+ uuid: S.optional(S.String),
2816
+ enabled: S.String,
2817
+ description: S.optional(S.String),
2818
+ number: S.String,
2819
+ action: ModelAspathItemAction,
2820
+ as: S.String,
2821
+ }),
2822
+ ).annotate({
2823
+ identifier: "ModelAspathItem",
2824
+ }) as any as S.Schema<ModelAspathItem>;
2825
+
2826
+ export type ModelAspathItemMap = { [key: string]: ModelAspathItem | undefined };
2827
+ export const ModelAspathItemMap = /*@__PURE__*/ S.Record(
2828
+ S.String,
2829
+ ModelAspathItem,
2830
+ ) as any as S.Schema<ModelAspathItemMap>;
2831
+
2832
+ export interface ModelAspaths {
2833
+ aspath?: ModelAspathItemMap;
2834
+ }
2835
+ export const ModelAspaths = /*@__PURE__*/ S.suspend(() =>
2836
+ S.Struct({
2837
+ aspath: S.optional(ModelAspathItemMap),
2838
+ }),
2839
+ ).annotate({ identifier: "ModelAspaths" }) as any as S.Schema<ModelAspaths>;
2840
+
2841
+ export type ModelPrefixlistItemVersion = "IPv4" | "IPv6";
2842
+ export const ModelPrefixlistItemVersion = S.String;
2843
+
2844
+ export type ModelPrefixlistItemAction = "permit" | "deny";
2845
+ export const ModelPrefixlistItemAction = S.String;
2846
+
2847
+ export interface ModelPrefixlistItem {
2848
+ /** Item id, assigned by OPNsense on creation. */
2849
+ uuid?: string;
2850
+ /** OPNsense FieldType: BooleanField */
2851
+ enabled: string;
2852
+ /** OPNsense FieldType: TextField */
2853
+ description?: string;
2854
+ /** OPNsense FieldType: TextField; pattern /^[a-zA-Z0-9._-]{1,64}$/ */
2855
+ name: string;
2856
+ /** OPNsense FieldType: OptionField */
2857
+ version: ModelPrefixlistItemVersion | (string & {});
2858
+ /** OPNsense FieldType: IntegerField; range 1..4294967294 (as text) */
2859
+ seqnumber: string;
2860
+ /** OPNsense FieldType: OptionField */
2861
+ action: ModelPrefixlistItemAction | (string & {});
2862
+ /** OPNsense FieldType: TextField */
2863
+ network: string;
2864
+ }
2865
+ export const ModelPrefixlistItem = /*@__PURE__*/ S.suspend(() =>
2866
+ S.Struct({
2867
+ uuid: S.optional(S.String),
2868
+ enabled: S.String,
2869
+ description: S.optional(S.String),
2870
+ name: S.String,
2871
+ version: ModelPrefixlistItemVersion,
2872
+ seqnumber: S.String,
2873
+ action: ModelPrefixlistItemAction,
2874
+ network: S.String,
2875
+ }),
2876
+ ).annotate({
2877
+ identifier: "ModelPrefixlistItem",
2878
+ }) as any as S.Schema<ModelPrefixlistItem>;
2879
+
2880
+ export type ModelPrefixlistItemMap = {
2881
+ [key: string]: ModelPrefixlistItem | undefined;
2882
+ };
2883
+ export const ModelPrefixlistItemMap = /*@__PURE__*/ S.Record(
2884
+ S.String,
2885
+ ModelPrefixlistItem,
2886
+ ) as any as S.Schema<ModelPrefixlistItemMap>;
2887
+
2888
+ export interface ModelPrefixlists {
2889
+ prefixlist?: ModelPrefixlistItemMap;
2890
+ }
2891
+ export const ModelPrefixlists = /*@__PURE__*/ S.suspend(() =>
2892
+ S.Struct({
2893
+ prefixlist: S.optional(ModelPrefixlistItemMap),
2894
+ }),
2895
+ ).annotate({
2896
+ identifier: "ModelPrefixlists",
2897
+ }) as any as S.Schema<ModelPrefixlists>;
2898
+
2899
+ export type ModelCommunitylistItemAction = "permit" | "deny";
2900
+ export const ModelCommunitylistItemAction = S.String;
2901
+
2902
+ export interface ModelCommunitylistItem {
2903
+ /** Item id, assigned by OPNsense on creation. */
2904
+ uuid?: string;
2905
+ /** OPNsense FieldType: BooleanField */
2906
+ enabled: string;
2907
+ /** OPNsense FieldType: TextField */
2908
+ description?: string;
2909
+ /** OPNsense FieldType: IntegerField; range 1..500 (as text) */
2910
+ number: string;
2911
+ /** OPNsense FieldType: IntegerField; range 10..99 (as text) */
2912
+ seqnumber: string;
2913
+ /** OPNsense FieldType: OptionField */
2914
+ action: ModelCommunitylistItemAction | (string & {});
2915
+ /** OPNsense FieldType: TextField */
2916
+ community: string;
2917
+ }
2918
+ export const ModelCommunitylistItem = /*@__PURE__*/ S.suspend(() =>
2919
+ S.Struct({
2920
+ uuid: S.optional(S.String),
2921
+ enabled: S.String,
2922
+ description: S.optional(S.String),
2923
+ number: S.String,
2924
+ seqnumber: S.String,
2925
+ action: ModelCommunitylistItemAction,
2926
+ community: S.String,
2927
+ }),
2928
+ ).annotate({
2929
+ identifier: "ModelCommunitylistItem",
2930
+ }) as any as S.Schema<ModelCommunitylistItem>;
2931
+
2932
+ export type ModelCommunitylistItemMap = {
2933
+ [key: string]: ModelCommunitylistItem | undefined;
2934
+ };
2935
+ export const ModelCommunitylistItemMap = /*@__PURE__*/ S.Record(
2936
+ S.String,
2937
+ ModelCommunitylistItem,
2938
+ ) as any as S.Schema<ModelCommunitylistItemMap>;
2939
+
2940
+ export interface ModelCommunitylists {
2941
+ communitylist?: ModelCommunitylistItemMap;
2942
+ }
2943
+ export const ModelCommunitylists = /*@__PURE__*/ S.suspend(() =>
2944
+ S.Struct({
2945
+ communitylist: S.optional(ModelCommunitylistItemMap),
2946
+ }),
2947
+ ).annotate({
2948
+ identifier: "ModelCommunitylists",
2949
+ }) as any as S.Schema<ModelCommunitylists>;
2950
+
2951
+ export type ModelRoutemapItemAction = "permit" | "deny";
2952
+ export const ModelRoutemapItemAction = S.String;
2953
+
2954
+ export interface ModelRoutemapItem {
2955
+ /** Item id, assigned by OPNsense on creation. */
2956
+ uuid?: string;
2957
+ /** OPNsense FieldType: BooleanField */
2958
+ enabled: string;
2959
+ /** OPNsense FieldType: TextField */
2960
+ description?: string;
2961
+ /** OPNsense FieldType: TextField; pattern /^[a-zA-Z0-9._-]{1,64}$/ */
2962
+ name: string;
2963
+ /** OPNsense FieldType: OptionField */
2964
+ action: ModelRoutemapItemAction | (string & {});
2965
+ /** OPNsense FieldType: IntegerField; range 1..65535 (as text) */
2966
+ id: string;
2967
+ /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
2968
+ match?: string;
2969
+ /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
2970
+ match2?: string;
2971
+ /** OPNsense FieldType: ModelRelationField; multi-select: wire value is a single comma-joined string, not a JSON array */
2972
+ match3?: string;
2973
+ /** OPNsense FieldType: TextField */
2974
+ set?: string;
2975
+ }
2976
+ export const ModelRoutemapItem = /*@__PURE__*/ S.suspend(() =>
2977
+ S.Struct({
2978
+ uuid: S.optional(S.String),
2979
+ enabled: S.String,
2980
+ description: S.optional(S.String),
2981
+ name: S.String,
2982
+ action: ModelRoutemapItemAction,
2983
+ id: S.String,
2984
+ match: S.optional(S.String),
2985
+ match2: S.optional(S.String),
2986
+ match3: S.optional(S.String),
2987
+ set: S.optional(S.String),
2988
+ }),
2989
+ ).annotate({
2990
+ identifier: "ModelRoutemapItem",
2991
+ }) as any as S.Schema<ModelRoutemapItem>;
2992
+
2993
+ export type ModelRoutemapItemMap = {
2994
+ [key: string]: ModelRoutemapItem | undefined;
2995
+ };
2996
+ export const ModelRoutemapItemMap = /*@__PURE__*/ S.Record(
2997
+ S.String,
2998
+ ModelRoutemapItem,
2999
+ ) as any as S.Schema<ModelRoutemapItemMap>;
3000
+
3001
+ export interface ModelRoutemaps {
3002
+ routemap?: ModelRoutemapItemMap;
3003
+ }
3004
+ export const ModelRoutemaps = /*@__PURE__*/ S.suspend(() =>
3005
+ S.Struct({
3006
+ routemap: S.optional(ModelRoutemapItemMap),
3007
+ }),
3008
+ ).annotate({ identifier: "ModelRoutemaps" }) as any as S.Schema<ModelRoutemaps>;
3009
+
3010
+ export type ModelPeergroupItemRemoteAsMode = "internal" | "external";
3011
+ export const ModelPeergroupItemRemoteAsMode = S.String;
3012
+
3013
+ export type ModelPeergroupItemFamily = "ipv4" | "ipv6";
3014
+ export const ModelPeergroupItemFamily = S.String;
3015
+
3016
+ export interface ModelPeergroupItem {
3017
+ /** Item id, assigned by OPNsense on creation. */
3018
+ uuid?: string;
3019
+ /** OPNsense FieldType: BooleanField */
3020
+ enabled: string;
3021
+ /** OPNsense FieldType: TextField */
3022
+ name: string;
3023
+ /** OPNsense FieldType: OptionField */
3024
+ remote_as_mode?: ModelPeergroupItemRemoteAsMode | (string & {});
3025
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
3026
+ remoteas?: string;
3027
+ /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
3028
+ family: ModelPeergroupItemFamily | (string & {});
3029
+ /** OPNsense FieldType: NetworkField */
3030
+ listenranges?: string;
3031
+ /** OPNsense FieldType: InterfaceField */
3032
+ updatesource?: string;
3033
+ /** OPNsense FieldType: BooleanField */
3034
+ nexthopself?: string;
3035
+ /** OPNsense FieldType: BooleanField */
3036
+ defaultoriginate?: string;
3037
+ /** OPNsense FieldType: ModelRelationField */
3038
+ linkedPrefixlistIn?: string;
3039
+ /** OPNsense FieldType: ModelRelationField */
3040
+ linkedPrefixlistOut?: string;
3041
+ /** OPNsense FieldType: ModelRelationField */
3042
+ linkedRoutemapIn?: string;
3043
+ /** OPNsense FieldType: ModelRelationField */
3044
+ linkedRoutemapOut?: string;
1654
3045
  }
1655
- export const SearchNeighborResponse = /*@__PURE__*/ S.suspend(() =>
3046
+ export const ModelPeergroupItem = /*@__PURE__*/ S.suspend(() =>
1656
3047
  S.Struct({
1657
- total: S.optional(S.Number),
1658
- rowCount: S.optional(S.Number),
1659
- current: S.optional(S.Number),
1660
- rows: S.optional(NeighborList),
3048
+ uuid: S.optional(S.String),
3049
+ enabled: S.String,
3050
+ name: S.String,
3051
+ remote_as_mode: S.optional(ModelPeergroupItemRemoteAsMode),
3052
+ remoteas: S.optional(S.String),
3053
+ family: ModelPeergroupItemFamily,
3054
+ listenranges: S.optional(S.String),
3055
+ updatesource: S.optional(S.String),
3056
+ nexthopself: S.optional(S.String),
3057
+ defaultoriginate: S.optional(S.String),
3058
+ linkedPrefixlistIn: S.optional(S.String),
3059
+ linkedPrefixlistOut: S.optional(S.String),
3060
+ linkedRoutemapIn: S.optional(S.String),
3061
+ linkedRoutemapOut: S.optional(S.String),
1661
3062
  }),
1662
3063
  ).annotate({
1663
- identifier: "SearchNeighborResponse",
1664
- }) as any as S.Schema<SearchNeighborResponse>;
1665
-
1666
- export interface SearchPeergroupRequest {}
1667
- export const SearchPeergroupRequest = /*@__PURE__*/ S.suspend(() =>
1668
- S.Struct({}).pipe(
1669
- T.Http({
1670
- method: "POST",
1671
- uri: "/api/quagga/bgp/searchPeergroup",
1672
- code: 200,
1673
- }),
1674
- ),
1675
- ).annotate({
1676
- identifier: "SearchPeergroupRequest",
1677
- }) as any as S.Schema<SearchPeergroupRequest>;
3064
+ identifier: "ModelPeergroupItem",
3065
+ }) as any as S.Schema<ModelPeergroupItem>;
1678
3066
 
1679
- export type PeergroupList = Array<PeergroupItem>;
1680
- export const PeergroupList = /*@__PURE__*/ S.Array(
1681
- PeergroupItem,
1682
- ) as any as S.Schema<PeergroupList>;
3067
+ export type ModelPeergroupItemMap = {
3068
+ [key: string]: ModelPeergroupItem | undefined;
3069
+ };
3070
+ export const ModelPeergroupItemMap = /*@__PURE__*/ S.Record(
3071
+ S.String,
3072
+ ModelPeergroupItem,
3073
+ ) as any as S.Schema<ModelPeergroupItemMap>;
1683
3074
 
1684
- export interface SearchPeergroupResponse {
1685
- /** Total matching items before pagination. */
1686
- total?: number;
1687
- rowCount?: number;
1688
- /** Current page number. */
1689
- current?: number;
1690
- rows?: PeergroupList;
3075
+ export interface ModelPeergroups {
3076
+ peergroup?: ModelPeergroupItemMap;
1691
3077
  }
1692
- export const SearchPeergroupResponse = /*@__PURE__*/ S.suspend(() =>
3078
+ export const ModelPeergroups = /*@__PURE__*/ S.suspend(() =>
1693
3079
  S.Struct({
1694
- total: S.optional(S.Number),
1695
- rowCount: S.optional(S.Number),
1696
- current: S.optional(S.Number),
1697
- rows: S.optional(PeergroupList),
3080
+ peergroup: S.optional(ModelPeergroupItemMap),
1698
3081
  }),
1699
3082
  ).annotate({
1700
- identifier: "SearchPeergroupResponse",
1701
- }) as any as S.Schema<SearchPeergroupResponse>;
1702
-
1703
- export interface SearchPrefixlistRequest {}
1704
- export const SearchPrefixlistRequest = /*@__PURE__*/ S.suspend(() =>
1705
- S.Struct({}).pipe(
1706
- T.Http({
1707
- method: "POST",
1708
- uri: "/api/quagga/bgp/searchPrefixlist",
1709
- code: 200,
1710
- }),
1711
- ),
1712
- ).annotate({
1713
- identifier: "SearchPrefixlistRequest",
1714
- }) as any as S.Schema<SearchPrefixlistRequest>;
3083
+ identifier: "ModelPeergroups",
3084
+ }) as any as S.Schema<ModelPeergroups>;
1715
3085
 
1716
- export type PrefixlistList = Array<PrefixlistItem>;
1717
- export const PrefixlistList = /*@__PURE__*/ S.Array(
1718
- PrefixlistItem,
1719
- ) as any as S.Schema<PrefixlistList>;
3086
+ export type ModelRedistributionItemRedistribute =
3087
+ | "ospf"
3088
+ | "connected"
3089
+ | "kernel"
3090
+ | "rip"
3091
+ | "static";
3092
+ export const ModelRedistributionItemRedistribute = S.String;
1720
3093
 
1721
- export interface SearchPrefixlistResponse {
1722
- /** Total matching items before pagination. */
1723
- total?: number;
1724
- rowCount?: number;
1725
- /** Current page number. */
1726
- current?: number;
1727
- rows?: PrefixlistList;
3094
+ export interface ModelRedistributionItem {
3095
+ /** Item id, assigned by OPNsense on creation. */
3096
+ uuid?: string;
3097
+ /** OPNsense FieldType: BooleanField */
3098
+ enabled: string;
3099
+ /** OPNsense FieldType: DescriptionField */
3100
+ description?: string;
3101
+ /** OPNsense FieldType: OptionField */
3102
+ redistribute: ModelRedistributionItemRedistribute | (string & {});
3103
+ /** OPNsense FieldType: ModelRelationField */
3104
+ linkedRoutemap?: string;
1728
3105
  }
1729
- export const SearchPrefixlistResponse = /*@__PURE__*/ S.suspend(() =>
3106
+ export const ModelRedistributionItem = /*@__PURE__*/ S.suspend(() =>
1730
3107
  S.Struct({
1731
- total: S.optional(S.Number),
1732
- rowCount: S.optional(S.Number),
1733
- current: S.optional(S.Number),
1734
- rows: S.optional(PrefixlistList),
3108
+ uuid: S.optional(S.String),
3109
+ enabled: S.String,
3110
+ description: S.optional(S.String),
3111
+ redistribute: ModelRedistributionItemRedistribute,
3112
+ linkedRoutemap: S.optional(S.String),
1735
3113
  }),
1736
3114
  ).annotate({
1737
- identifier: "SearchPrefixlistResponse",
1738
- }) as any as S.Schema<SearchPrefixlistResponse>;
1739
-
1740
- export interface SearchRedistributionRequest {}
1741
- export const SearchRedistributionRequest = /*@__PURE__*/ S.suspend(() =>
1742
- S.Struct({}).pipe(
1743
- T.Http({
1744
- method: "POST",
1745
- uri: "/api/quagga/bgp/searchRedistribution",
1746
- code: 200,
1747
- }),
1748
- ),
1749
- ).annotate({
1750
- identifier: "SearchRedistributionRequest",
1751
- }) as any as S.Schema<SearchRedistributionRequest>;
3115
+ identifier: "ModelRedistributionItem",
3116
+ }) as any as S.Schema<ModelRedistributionItem>;
1752
3117
 
1753
- export type RedistributionList = Array<RedistributionItem>;
1754
- export const RedistributionList = /*@__PURE__*/ S.Array(
1755
- RedistributionItem,
1756
- ) as any as S.Schema<RedistributionList>;
3118
+ export type ModelRedistributionItemMap = {
3119
+ [key: string]: ModelRedistributionItem | undefined;
3120
+ };
3121
+ export const ModelRedistributionItemMap = /*@__PURE__*/ S.Record(
3122
+ S.String,
3123
+ ModelRedistributionItem,
3124
+ ) as any as S.Schema<ModelRedistributionItemMap>;
1757
3125
 
1758
- export interface SearchRedistributionResponse {
1759
- /** Total matching items before pagination. */
1760
- total?: number;
1761
- rowCount?: number;
1762
- /** Current page number. */
1763
- current?: number;
1764
- rows?: RedistributionList;
3126
+ export interface ModelRedistributions {
3127
+ redistribution?: ModelRedistributionItemMap;
1765
3128
  }
1766
- export const SearchRedistributionResponse = /*@__PURE__*/ S.suspend(() =>
3129
+ export const ModelRedistributions = /*@__PURE__*/ S.suspend(() =>
1767
3130
  S.Struct({
1768
- total: S.optional(S.Number),
1769
- rowCount: S.optional(S.Number),
1770
- current: S.optional(S.Number),
1771
- rows: S.optional(RedistributionList),
3131
+ redistribution: S.optional(ModelRedistributionItemMap),
1772
3132
  }),
1773
3133
  ).annotate({
1774
- identifier: "SearchRedistributionResponse",
1775
- }) as any as S.Schema<SearchRedistributionResponse>;
1776
-
1777
- export interface SearchRoutemapRequest {}
1778
- export const SearchRoutemapRequest = /*@__PURE__*/ S.suspend(() =>
1779
- S.Struct({}).pipe(
1780
- T.Http({
1781
- method: "POST",
1782
- uri: "/api/quagga/bgp/searchRoutemap",
1783
- code: 200,
1784
- }),
1785
- ),
1786
- ).annotate({
1787
- identifier: "SearchRoutemapRequest",
1788
- }) as any as S.Schema<SearchRoutemapRequest>;
1789
-
1790
- export type RoutemapList = Array<RoutemapItem>;
1791
- export const RoutemapList = /*@__PURE__*/ S.Array(
1792
- RoutemapItem,
1793
- ) as any as S.Schema<RoutemapList>;
3134
+ identifier: "ModelRedistributions",
3135
+ }) as any as S.Schema<ModelRedistributions>;
1794
3136
 
1795
- export interface SearchRoutemapResponse {
1796
- /** Total matching items before pagination. */
1797
- total?: number;
1798
- rowCount?: number;
1799
- /** Current page number. */
1800
- current?: number;
1801
- rows?: RoutemapList;
3137
+ export interface Model {
3138
+ /** OPNsense FieldType: BooleanField */
3139
+ enabled: string;
3140
+ /** OPNsense FieldType: IntegerField; range 1..4294967295 (as text) */
3141
+ asnumber: string;
3142
+ /** OPNsense FieldType: IntegerField; range 1..255 (as text) */
3143
+ distance?: string;
3144
+ /** OPNsense FieldType: TextField; pattern /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ */
3145
+ routerid?: string;
3146
+ /** OPNsense FieldType: BooleanField */
3147
+ graceful: string;
3148
+ /** OPNsense FieldType: BooleanField */
3149
+ networkimportcheck: string;
3150
+ /** OPNsense FieldType: BooleanField */
3151
+ enforce_first_as: string;
3152
+ /** OPNsense FieldType: BooleanField */
3153
+ logneighborchanges: string;
3154
+ /** OPNsense FieldType: CSVListField */
3155
+ networks?: string;
3156
+ /** OPNsense FieldType: OptionField; multi-select: wire value is a single comma-joined string, not a JSON array */
3157
+ bestpath?: ModelBestpath | (string & {});
3158
+ /** OPNsense FieldType: IntegerField; range 1..128 (as text) */
3159
+ maximumpaths?: string;
3160
+ /** OPNsense FieldType: IntegerField; range 1..128 (as text) */
3161
+ maximumpathsibgp?: string;
3162
+ neighbors?: ModelNeighbors;
3163
+ aspaths?: ModelAspaths;
3164
+ prefixlists?: ModelPrefixlists;
3165
+ communitylists?: ModelCommunitylists;
3166
+ routemaps?: ModelRoutemaps;
3167
+ peergroups?: ModelPeergroups;
3168
+ redistributions?: ModelRedistributions;
1802
3169
  }
1803
- export const SearchRoutemapResponse = /*@__PURE__*/ S.suspend(() =>
3170
+ export const Model = /*@__PURE__*/ S.suspend(() =>
1804
3171
  S.Struct({
1805
- total: S.optional(S.Number),
1806
- rowCount: S.optional(S.Number),
1807
- current: S.optional(S.Number),
1808
- rows: S.optional(RoutemapList),
3172
+ enabled: S.String,
3173
+ asnumber: S.String,
3174
+ distance: S.optional(S.String),
3175
+ routerid: S.optional(S.String),
3176
+ graceful: S.String,
3177
+ networkimportcheck: S.String,
3178
+ enforce_first_as: S.String,
3179
+ logneighborchanges: S.String,
3180
+ networks: S.optional(S.String),
3181
+ bestpath: S.optional(ModelBestpath),
3182
+ maximumpaths: S.optional(S.String),
3183
+ maximumpathsibgp: S.optional(S.String),
3184
+ neighbors: S.optional(ModelNeighbors),
3185
+ aspaths: S.optional(ModelAspaths),
3186
+ prefixlists: S.optional(ModelPrefixlists),
3187
+ communitylists: S.optional(ModelCommunitylists),
3188
+ routemaps: S.optional(ModelRoutemaps),
3189
+ peergroups: S.optional(ModelPeergroups),
3190
+ redistributions: S.optional(ModelRedistributions),
1809
3191
  }),
1810
- ).annotate({
1811
- identifier: "SearchRoutemapResponse",
1812
- }) as any as S.Schema<SearchRoutemapResponse>;
3192
+ ).annotate({ identifier: "Model" }) as any as S.Schema<Model>;
1813
3193
 
1814
3194
  export interface SetRequest {
1815
3195
  bgp?: Model;